* lisp/org: Fix some compiler warnings
[emacs.git] / ChangeLog.2
bloba407c3b84edaa1d6ec625b6c6326d2c90578be61
1 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
3         Improve user name completion in Tramp
5         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
6         Call also "getent passwd" or "getent group", if possible.
7         (tramp-parse-putty): Cache the result.
9 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
11         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
13 2016-01-20  Glenn Morris  <rgm@gnu.org>
15         Remove handling of non-string time-stamp formats, obsolete for 20 years.
17         * lisp/time-stamp.el (time-stamp-format): Doc fix.
18         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
19         (time-stamp-string): Ignore non-string formats.
21 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
23         Anoter fix for problematic merge from emacs-25
25         * src/w32fns.c (globals_of_w32fns): Move initialization of
26         resetstkoflw to a non-Cygwin part.
28 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
30         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
32 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
34         Fix MS-Windows build broken by a botched merge from emacs-25
36         * src/w32.c (w32_crypto_hprov): New static variable.
37         (globals_of_w32): Initialize w32_crypto_hprov.
38         (w32_init_crypt_random, w32_init_random): New functions.
39         Include wincrypt.h.
40         * src/w32.h (w32_init_random): Add prototype.
42 2016-01-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
44         Correct a whole bunch of bugs coming with renamed cell relocation.
46         * lisp/ses.el (ses-localvars): rename variable
47         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
48         and adjust the comment about it.
49         (ses-plist-delq): new defun.
50         (ses--ses-buffer-list): new defvar.
51         (ses--unbind-cell-name): new defun.
52         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
53         (ses-relocate-formula): Undo change of
54         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
55         preventing relocation for named cell --- now doing this is delegated
56         to function `ses-relocate-symbol'.
57         (ses-relocate-range): In docstring, undo change of
58         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
59         lower case as it is not a variable.
60         (ses-relocate-all): Cell name relocation : 1) check that cell is a
61         renamed cell by testing `ses-cell' property to :ses-named, rather than
62         comparing name to corresponding standard name. Set rowcol of renamed
63         cell into the hashmap --- `ses-cell' property must not be used for
64         that as the same name can be used for different locations in different
65         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
66         `local-variable-p' to check if cell name is already in use in this
67         sheet or needs initialisation.
68         (ses-relocate-all): Cell value relocation : 1) like for name
69         relocation use the `ses-cell' property rather than comparing actual
70         name to corresponding standard name. 2) Correct bug introduced in
71         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
72         made the other way round than the intention --- ie value relocation
73         was disabled for standard cell, not for renamed cell as was the
74         intention.
75         (ses-relocate-all): Add loop for unbinding deleted renamed cells
76         names.
77         (ses-killbuffer-hook): new defun.
78         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
79         kill buffer hook, plus pushing current buffer if new in list.
80         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
81         into `ses--in-killing-named-cell-list'.
82         (ses-rename-cell): Remove update of variable
83         `ses--renamed-cell-symb-list', this variable is renamed to
84         `ses--in-killing-named-cell-list', and its setting is done in
85         functions `ses-delete-row' and , `ses-delete-column' now.
86         (ses-rename-cell): Change correction of
87         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
88         computation of the range over which `cursor-intangible' property was
89         to be updated. This correction was ok for non spilling cells, but not
90         for cells spilling over following blank cells. Simply use
91         `next-single-property-change' rather than computing the end column
92         from column widths.
94 2016-01-19  John Wiegley  <johnw@newartisans.com>
96         -
98 2016-01-19  John Wiegley  <johnw@newartisans.com>
100         Merge from origin/emacs-25
102         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
103         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
104         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
105         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
106         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
107         86e4513 Fix incompatbilities with MS-Windows 2000 and older
108         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
109         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
110         39afa42 Fix tests for active region in hideif.el
111         05df666 Fix interactive specs in some hideif.el commands
113 2016-01-19  John Wiegley  <johnw@newartisans.com>
115         -
117 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
119         Avoid stdio in SIGINT handler
121         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
122         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
123         * lib/ignore-value.h: New file, from gnulib.
124         * src/keyboard.c: Include it.
125         (write_stdout, read_stdin): New functions.
126         (handle_interrupt): Use them instead of printf and getchar,
127         and avoid fflush when handling signals.
129 2016-01-19  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
131         Refactor mml-smime.el, mml1991.el, mml2015.el
133         (Maybe this is the last merge from Gnus git to Emacs git)
135         Cf. discussion on ding mailing list, messages in
136         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
137         Common code from the three files mml-smime.el, mml1991.el, and
138         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
139         to gnus-util.el.
141         The code is supported by test cases with necessary test keys.
143         Documentation in message.texi is updated.
145         * doc/misc/message.texi (Security, Using S/MIME):
146         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
147         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
148         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
150         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
151         New functions.
153         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
154         (epa--select-keys): Autoload.
155         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
156         (mml-secure-openpgp-signers): New user option;
157         make mml1991-signers and mml2015-signers obsolete aliases to it.
158         (mml-secure-smime-signers): New user option;
159         make mml-smime-signers an obsolete alias to it.
160         (mml-secure-openpgp-encrypt-to-self): New user option;
161         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
162         aliases to it.
163         (mml-secure-smime-encrypt-to-self): New user option;
164         make mml-smime-encrypt-to-self an obsolete alias to it.
165         (mml-secure-openpgp-sign-with-sender): New user option;
166         make mml2015-sign-with-sender an obsolete alias to it.
167         (mml-secure-smime-sign-with-sender): New user option;
168         make mml-smime-sign-with-sender an obsolete alias to it.
169         (mml-secure-openpgp-always-trust): New user option;
170         make mml2015-always-trust an obsolete alias to it.
171         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
172         New user options.
173         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
174         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
175         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
176         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
177         (mml-secure-passphrase-callback, mml-secure-check-user-id)
178         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
179         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
180         (mml-secure-fingerprint, mml-secure-filter-keys)
181         (mml-secure-normalize-cust-name, mml-secure-select-keys)
182         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
183         (mml-secure-self-recipients, mml-secure-recipients)
184         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
186         * lisp/gnus/mml-smime.el: Require epg;
187         refactor declaration and autoloading of epg functions.
188         (mml-smime-use): Doc fix.
189         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
190         Obsolete.
191         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
192         Use format instead of gnus-format-message.
193         (mml-smime-epg-secret-key-id-list): Remove variable.
194         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
195         (mml-smime-epg-find-usable-secret-key): Remove functions.
196         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
198         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
199         (mml1991-passphrase-cache-expiry): Obsolete.
200         (mml1991-epg-secret-key-id-list): Remove variable.
201         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
202         (mml1991-epg-find-usable-secret-key): Remove functions.
203         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
205         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
206         (mml2015-passphrase-cache-expiry): Obsolete.
207         (mml2015-epg-secret-key-id-list): Remove variable.
208         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
209         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
210         (mml2015-epg-find-usable-secret-key): Remove functions.
211         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
212         (mml2015-epg-encrypt): Refactor.
214 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
216         Merge from gnulib
218         This mostly just updates copyright dates of gnulib files.
219         It also updates to the latest version of texinfo.tex.
221 2016-01-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
223         Move variables to inner loop, preparing for Mac port merge
225         * src/keyboard.c (command_loop_1): Move variables `cmd',
226         `keybuf', and `i' to inner loop.
228 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
230         Minor improvements to (random t) documentation
232         * doc/lispref/numbers.texi (Random Numbers):
233         * src/fns.c (Frandom):
234         Omit unnecessary details about randomness fallback.
235         Say that it is a fallback.
237 2016-01-19  Dmitry Gutov  <dgutov@yandex.ru>
239         Rename methods in Ruby etags example file
241         * test/etags/ruby-src/test.rb: Rename the example methods to
242         correspond to the common terminology used in Ruby.
243         * test/etags/CTAGS.good:
244         * test/etags/ETAGS.good_1:
245         * test/etags/ETAGS.good_2:
246         * test/etags/ETAGS.good_3:
247         * test/etags/ETAGS.good_4:
248         * test/etags/ETAGS.good_5:
249         * test/etags/ETAGS.good_6: Adjust accordingly.
251 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
253         Propertize backtick in 'def `(abc)' as symbol constituent
255         * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
256         Propertize backtick in 'def `(abc)' as symbol constituent.
257         (ruby-syntax-propertize-function):
258         Rename to ruby-syntax-propertize.
260 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
262         Fix scrolling under scroll-preserve-screen-position on TTY
264         * src/window.c (window_scroll_line_based): When setting point to
265         preserve screen coordinates, don't let cursor enter either of the
266         two scroll margins.  (Bug#22395)
268 2016-01-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
270         Fix shr table rendering of nested tables
272         * shr.el (shr-table-body): Don't include all tbodies in nested
273         tables in the levels above.
275 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
277         * lisp/progmodes/project.el (project--read-regexp): Quote the identifier.
279 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
281         Add xref-based replacements for Dired search commands
283         * lisp/dired-aux.el (dired-do-find-regexp)
284         (dired-do-find-regexp-and-replace): New commands.
285         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00864.html
287         * lisp/dired.el (dired-mode-map): Change bindings for `A' and
288         `Q' to the new commands.
290         * lisp/progmodes/xref.el (xref-query-replace)
291         (xref-collect-matches): Add progress reporters.
292         (xref--find-ignores-arguments): Return nil for zero ignores.
293         (xref--show-xrefs): Add an optional argument.
294         (xref-collect-matches): Drop the assert.  'find' accepts a
295         regular file in place of directory argument, too.
297 2016-01-18  Alan Mackenzie  <acm@muc.de>
299         * doc/lispref/frames.texi (Position Parameters): Say they don't exist on TTYs.
301 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
303         Improve user documentation of Xref
305         * doc/emacs/maintaining.texi (Xref, Find Identifiers)
306         (Looking Up Identifiers, Identifier Search, List Identifiers):
307         Adjudicate comments by Dmitry Gutov <dgutov@yandex.ru>.  See
308         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00650.html
309         for the details.
311 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
313         Fix scrolling under scroll-preserve-screen-position and margins
315         * src/window.c (window_scroll_pixel_based): When setting point to
316         preserve screen coordinates, don't let cursor enter either of the
317         two scroll margins.  Fix incorrect usage of
318         WINDOW_WANTS_HEADER_LINE_P and use WINDOW_HEADER_LINE_HEIGHT
319         instead of CURRENT_HEADER_LINE_HEIGHT.  (Bug#22395)
321 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
323         Unbreak the MS-Windows build
325         * src/sysdep.c (emacs_gnutls_global_init, gnutls_rnd): Disable for
326         WINDOWSNT, to avoid link failure.  (Bug#22202)
328 2016-01-18  Alan Mackenzie  <acm@muc.de>
330         Desktop: protect users against inadvertant upgrading of desktop file.
332         An upgraded (version 208) desktop file cannot be read in Emacs < 25.
334         * etc/NEWS: Add an entry about upgrading a desktop file.
336         * lisp/desktop.el (desktop-file-version): Amend doc string.
337         (desktop-native-file-version, desktop-io-file-version): new variables.
338         (desktop-clear): Set desktop-io-file-version to nil.
339         (desktop-buffer-info): make the presence of the last item on the list
340         conditional on (>= desktop-io-file-version 208).
341         (desktop-save): Add extra parameter VERSION to take user's C-u or C-u C-u.
342         Amend the doc string.  Add code to determine the output file version.
343         (desktop-create-buffer): Set desktop-io-file-version to the input file's
344         version.
346 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
348         Initialize GnuTLS before calling gnutls_rnd
350         * src/gnutls.c (emacs_gnutls_global_init): Now extern.
351         Don’t set gnutls_global_initialized if gnutls_global_init fails.
352         * src/sysdep.c: Include "gnutls.h", and <gnutls/crypto.h>
353         if 2.12 or later, which has gnutls_rnd.
354         (emacs_gnutls_global_init, gnutls_rnd): New fallback
355         placeholder macros if before 2.12.
356         (init_random): Initialize gnutls globals before trying to
357         use gnutls_rnd.
359 2016-01-17  Andreas Schwab  <schwab@linux-m68k.org>
361         Don't use GnuTLS before it is initialized
363                 * src/sysdep.c (init_random): Don't use gnutls_rnd.
365 2016-01-17  Bill Wohler  <wohler@newt.com>
367         * mh-e.el (mh-version): Add +git to version.
369 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
371         Port cleanup attribute to OpenBSD
373         The OpenBSD C compiler issues false alarms about strcpy, strcat, and
374         sprintf, and this messes up 'configure' when it tests for the cleanup
375         attribute.  Work around the problem by using __has_attribute directly.
376         Problem reported by Joakim Jalap (Bug#22385).
377         * configure.ac: Don’t use AX_GCC_VAR_ATTRIBUTE.
378         * m4/ax_gcc_var_attribute.m4: Remove.
379         * src/conf_post.h (__has_attribute): Provide a substitute, for
380         non-GCC or older GCC compilers.  All uses changed to assume
381         the substitute.  Check for the cleanup attribute.
382         * src/emacs-module.c (module_has_cleanup): Just use __has_attribute.
384 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
386         Prefer GnuTLS when acquiring random seed
388         This attempts to improve on the fix for Bug#22202.
389         * configure.ac (HAVE_DEV_URANDOM): Remove.
390         Check /dev/urandom existence at run time, not at build time,
391         since the device could exist in the former but not the latter.
392         * src/sysdep.c [HAVE_GNUTLS]: Include gnutls/gnutls.h.
393         (gnutls_rnd) [GNUTLS_VERSION_NUMBER < 0x020c00]: New fallback macro.
394         (random_seed): New typedef.
395         (set_random_seed): New static function.
396         (seed_random): Use them.
397         (init_random): Use random_seed instead of uintmax_t, so as to
398         not consume more entropy than needed.  Prefer gnutls_rnd if it
399         works; this avoids a redundant open of /dev/urandom on
400         GNU/Linux with modern GnuTLS.
402 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
404         Improve documentation of dynamic modules
406         * doc/lispref/loading.texi (How Programs Do Loading): Update the
407         description of searching for files in 'load' when Emacs was built
408         with support for dynamic modules.
410 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
412         * INSTALL: Document --with-modules.
414 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
416         Document 'function-put'
418         * doc/lispref/symbols.texi (Symbol Plists): Document
419         'function-put'.  Update documentation of 'function-get'.
421 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
423         Document 'funcall-interactively'
425         * doc/lispref/commands.texi (Interactive Call): Document
426         'funcall-interactively'.
427         * doc/lispref/functions.texi (Calling Functions): Mention
428         'funcall-interactively' and provide a cross-reference.
430 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
432         * doc/lispref/lists.texi (Association Lists): Document 'alist-get'.
434         * doc/lispref/strings.texi (Text Comparison): Document 'string-greaterp'.
436 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
438         Document renaming of selection-related functions
440         * doc/lispref/frames.texi (Window System Selections): Rename "x-*"
441         functions into the corresponding "gui-*" functions.  Make the
442         description slightly less X-centric.
444 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
446         * doc/lispref/macros.texi (Expansion): Document 'macroexpand-1'.
448 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
450         Document 'define-inline'
452         * doc/lispref/functions.texi (Defining Functions): Document
453         'define-inline' and related macros.
455         * lisp/emacs-lisp/inline.el (inline-letevals): Doc fix.
457 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
459         * lisp/files.el (dir-locals--all-files): Respect absolute file-names
461         * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
463 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
465         * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
467         instead of manually writing a dir-locals file.
469 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
471         * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
473         (dir-locals-file)
474         * lisp/files-x.el (modify-dir-local-variable)
475         * lisp/dos-fns.el (dosified-file-name)
476         * lisp/help-fns.el (describe-variable): Change accordingly.
478 2016-01-16  Jussi Lahdenniemi  <jussi@aprikoodi.fi>  (tiny change)
480         Fix incompatbilities with MS-Windows 2000 and older
482         * src/w32.c <multiByteToWideCharFlags>: New global variable.
483         (filename_to_utf16, filename_from_ansi, check_windows_init_file):
484         Use it instead of the literal MB_ERR_INVALID_CHARS.
485         (maybe_load_unicows_dll): Initialize multiByteToWideCharFlags as
486         appropriate for the underlying OS version.  For details, see
487         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
488         * src/w32.h: Declare multiByteToWideCharFlags.
489         * src/w32fns.c (Fx_file_dialog, Fw32_shell_execute)
490         (add_tray_notification): Use multiByteToWideCharFlags instead of
491         the literal MB_ERR_INVALID_CHARS.
492         (_resetstkoflw_proc): New typedef.
493         (w32_reset_stack_overflow_guard): Call _resetstkoflw via a
494         pointer, as this function is absent in msvcrt.dll shipped with W2K
495         and older systems.
497 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
499         Mention in PROBLEMS an issue with MS-Windows NT4
501         * etc/PROBLEMS (MS-Windows): Mention the problem with Shell32.dll
502         on Windows NT4.  For the details, see
503         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
505 2016-01-16  Jussi Lahdenniemi  <jussi@aprikoodi.fi>  (tiny change)
507         Ensure 8-byte aligned memory allocation on MS-Windows 9X
509         * src/w32heap.c (init_heap): Redirect malloc, realloc, and free to
510         special functions on Windows 9X.  Refuse to dump Emacs on Windows 9X.
511         (malloc_after_dump_9x, realloc_after_dump_9x)
512         (free_after_dump_9x): New functions.  (Bug#22379)  See also
513         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00852.html
514         for more details about the original problem.
516         * nt/inc/ms-w32.h (malloc_after_dump_9x, realloc_after_dump_9x)
517         (free_after_dump_9x): Add prototypes.
519 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
521         Fix tests for active region in hideif.el
523         * lisp/progmodes/hideif.el (hif-evaluate-macro, hide-ifdef-block): Use
524         'use-region-p' to test whether to operate on region, instead of
525         testing 'mark-active'.
527 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
529         Fix interactive specs in some hideif.el commands
531         * lisp/progmodes/hideif.el (hif-evaluate-macro)
532         (hide-ifdef-undef, show-ifdef-block): Don't use '(interactive "r")'
533         in commands that should only act on the region if it's active.
535 2016-01-15  Phillip Lord  <phillip.lord@russet.org.uk>
537         Enable test selector from command line
539         * test/automated/Makefile.in: Change variable manipulation to avoid
540           over-writing selector.
542 2016-01-15  Alan Mackenzie  <acm@muc.de>
544         Don't confuse "::" with ":" when trying to parse member initializers.
546         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
547         more robustly for ":" token when searching backwards for it.
549         * lisp/progmodes/cc-langs (c-:$-multichar-token-regexp): New language
550         variable.
552 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
554         Ensure positive number of glyphs for margins of positive width
556         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
557         positive value when a non-zero width of the marginal area was
558         requested.  (Bug#22356)
560 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
562         Fix crashes when mini-window has non-zero margins
564         * src/window.c (resize_frame_windows): Use 'new_size' to set
565         minibuffer window's 'total_cols' value, as 'size' might be in
566         pixels.  (Bug#22356)
568 2016-01-15  Alan Mackenzie  <acm@muc.de>
570         In comment-dwim with style `extra-line', respect indent-tabs-mode.
572         This fixes bug #22369.
574         * lisp/newcomment.el (comment-make-bol-ws): New function.
575         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
577 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
579         Make 'random' seeds cryptographically secure if possible
581         * configure.ac: Check for "/dev/urandom".
583         * src/sysdep.c (init_random) [HAVE_DEV_URANDOM]: Read the stream
584         for the seed from "/dev/urandom".
585         [WINDOWSNT]: Obtain the stream for the seed from w32 APIs.
586         * src/fns.c (Frandom): Update the doc string to indicate that
587         system entropy is used when available.
588         * src/w32.c: Include wincrypt.h.
589         (w32_init_crypt_random, w32_init_random): New functions, use the
590         CryptGenRandom API.
591         (globals_of_w32): Initialize w32_crypto_hprov handle to zero.
592         * src/w32.h (w32_init_random): Add prototype.
594         * doc/lispref/numbers.texi (Random Numbers): Document more details
595         about 't' as the argument to 'random'.
597         * etc/NEWS: Mention that '(random t)' now uses a cryptographically
598         strong seed if possible.
600         (Bug#22202)
602 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
604         Unhide the --no-line-directive option to 'etags'
606         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
607         option.  (Bug#22306)
609         * doc/man/etags.1: Document the --no-line-directive option.
611 2016-01-15  Alan J Third  <alan@idiocy.org>  (tiny change)
613         Fix picture-mode wrt double-width characters
615         * lisp/textmodes/picture.el (picture-insert): Check the width of
616         the character being replaced, not just that of the replacement.
617         (Bug#1808)
619 2016-01-15  Eric Abrahamsen  <eric@ericabrahamsen.net>
621         Honor docstring of gnus-group-get-new-news
623         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg is t,
624         but non-numeric, unconditionally consider all groups to need updating.
626 2016-01-14  Simen Heggestøyl  <simenheg@gmail.com>
628         Disallow parenthesis in non-pseudo CSS selectors
630         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Disallow
631         parenthesis in selectors except for in the function notation that
632         might appear right after a pseudo-class.
633         * test/indent/scss-mode.scss: Add a test for it.
635 2016-01-14  Katsumi Yamaoka  <yamaoka@jpl.org>
637         * lisp/gnus/nntp.el (nntp-request-newgroups): Simplify
639 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
641         check-maybe shall run only default tests
643         * test/automated/Makefile.in (check, check-expensive): Depend on
644         mostlyclean.
645         (check-maybe): Re-run only default tests.
646         (check-doit): Use code of check-maybe.
647         (mostlyclean): Move *.log files away.
649 2016-01-13  Mark Oteiza  <mvoteiza@udel.edu>
651         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "magnet:"
653 2016-01-13  Dmitry Gutov  <dgutov@yandex.ru>
655         Un-obsolete tags-loop-continue
657         * lisp/progmodes/etags.el (tags-loop-continue): Un-obsolete.
658         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00682.html
660 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
662         Document obsoletion of 'intangible' and 'point-entered/left'
664         * doc/lispref/text.texi (Special Properties): Document the new
665         properties 'cursor-intangible' and 'cursor-sensor-functions'.
666         Document the obsolete status of 'intangible', 'pointer-left',
667         and 'point-entered' properties, and of 'inhibit-point-motion-hooks'.
668         * doc/lispref/display.texi (Overlay Properties): Document that
669         'intangible' overlay property is obsolete.
671         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor-mode): Doc fix.
673 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
675         Updater documentation of 'looking-back'
677         * doc/lispref/searching.texi (Regexp Search): Update documentation
678         of 'looking-back'.  Fix markup.
680 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
682         Document 'pre-redisplay-functions'
684         * doc/lispref/hooks.texi (Standard Hooks):
685         * doc/lispref/display.texi (Forcing Redisplay): Document
686         'pre-redisplay-functions'.
688 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
690         Document the new deafault value of 'load-read-function'
692         * doc/lispref/loading.texi (How Programs Do Loading): Document the
693         change in the default value of 'load-read-function'.
695 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
697         Document 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
699         * doc/lispref/nonascii.texi (Text Representations): Document
700         'bufferpos-to-filepos' and 'filepos-to-bufferpos'.
702 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
704         Document the new prefix-command hooks
706         * doc/lispref/hooks.texi (Standard Hooks): Document
707         `prefix-command-echo-keystrokes-functions' and
708         `prefix-command-preserve-state-hook'.
710 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
712         Fix one more misuse of time-stamp-time-zone
714         * test/etags/html-src/softwarelibero.html: Use "UTC0" rather
715         than the unportable "GMT" for time zone.
717 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
719         Fix NNTP NEWGROUPS off-by-a-few-hours bug
721         * lisp/gnus/nntp.el (nntp-request-newgroups): Format string
722         in Universal Time, since we’re telling the server “GMT”.
724 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
726         Update publicsuffix.txt from upstream
728         * etc/publicsuffix.txt: Update from
729         https://publicsuffix.org/list/effective_tld_names.dat
730         dated 2016-01-12 11:52:01 UTC.
732 2016-01-12  Glenn Morris  <rgm@gnu.org>
734         Fix some declarations.
736         * lisp/descr-text.el (internal-char-font):
737         * lisp/cedet/mode-local.el (xref-item-location):
738         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
739         (epg-sub-key-capability, epg-sub-key-validity):
740         * lisp/international/mule-util.el (internal-char-font):
741         Fix declarations.
743 2016-01-12  Glenn Morris  <rgm@gnu.org>
745         Fix some custom types.
747         * lisp/gnus/gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files):
748         * lisp/gnus/gnus.el (gnus-valid-select-methods):
749         * lisp/mail/rmail.el (rmail-get-coding-function):
750         * lisp/net/newst-treeview.el (newsticker-groups-filename):
751         * lisp/progmodes/hideif.el (hide-ifdef-exclude-define-regexp):
752         * lisp/textmodes/tildify.el (tildify-space-predicates):
753         * lisp/url/url-tramp.el (url-tramp-protocols):
754         Fix custom types.
756 2016-01-12  Glenn Morris  <rgm@gnu.org>
758         Add some missing version tags.
760         * lisp/electric.el (electric-quote-comment)
761         (electric-quote-string, electric-quote-paragraph):
762         * lisp/epg-config.el (epg-gpgconf-program):
763         * lisp/rect.el (rectangle-preview):
764         * lisp/emacs-lisp/check-declare.el (check-declare-ext-errors):
765         * lisp/emacs-lisp/package.el (package-selected-packages)
766         (package-hidden-regexps):
767         * lisp/erc/erc.el (erc-network-hide-list, erc-channel-hide-list):
768         * lisp/eshell/em-term.el (eshell-destroy-buffer-when-process-dies):
769         * lisp/gnus/mml-sec.el (mml1991-signers, mml2015-signers)
770         (mml-smime-signers, mml1991-encrypt-to-self, mml2015-encrypt-to-self)
771         (mml-smime-encrypt-to-self, mml2015-sign-with-sender)
772         (mml-smime-sign-with-sender, mml2015-always-trust)
773         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
774         * lisp/net/browse-url.el (browse-url-conkeror-new-window-is-buffer)
775         (browse-url-conkeror-arguments):
776         * lisp/net/newst-reader.el (newsticker-download-logos):
777         * lisp/progmodes/gud.el (gud-guiler-command-name):
778         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
779         * lisp/progmodes/project.el (project-vc):
780         * lisp/progmodes/python.el (python-indent-guess-indent-offset-verbose)
781         (python-shell-remote-exec-path, python-shell-first-prompt-hook)
782         (python-shell-completion-native-disabled-interpreters)
783         (python-shell-completion-native-enable)
784         (python-shell-completion-native-output-timeout)
785         (python-shell-completion-native-try-output-timeout):
786         * lisp/progmodes/xref.el (xref):
787         * lisp/term/screen.el (xterm-screen-extra-capabilities):
788         * lisp/term/xterm.el (xterm-max-cut-length):
789         Add missing version tags.
791 2016-01-12  Glenn Morris  <rgm@gnu.org>
793         * test/automated/core-elisp-tests.el
794         (core-elisp-tests-1-defvar-in-let): Add a custom type.
796 2016-01-12  Glenn Morris  <rgm@gnu.org>
798         * src/buffer.c (syms_of_buffer) <major-mode>: Doc fix.
800         Remove comments that do not apply since 2005-08-09.  (Bug#22349)
802 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
804         Merge from gnulib
806         This mostly just changes "UTC" to "UTC0" for POSIX conformance.
807         It also updates to the latest version of texinfo.tex.
808         * build-aux/gitlog-to-changelog, build-aux/move-if-change:
809         * build-aux/update-copyright, doc/misc/texinfo.tex:
810         Update from gnulib.
812 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
814         Update documentation of 'process-running-child-p'
816         * doc/lispref/processes.texi (Input to Processes): Document the
817         changes in return value of 'process-running-child-p'.
819 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
821         Update documentation of 'deactivate-mark'.
823         * doc/lispref/markers.texi (The Mark): Document that
824         'deactivate-mark' is now buffer-local when set.
826 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
828         Update documentation of 'completion-table-dynamic'
830         * doc/lispref/minibuf.texi (Programmed Completion): Document the
831         new optional argument to 'completion-table-dynamic'.
833 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
835         Document changes in 'read-buffer' and 'read-buffer-function'
837         * doc/lispref/minibuf.texi (High-Level Completion): Document the
838         4th argument to 'read-buffer' and 'read-buffer-function'.
840 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
842         Fix time-stamp-time-zone bugs introduced in July
844         This fixes a bug introduced when the July changes to
845         format-time-string installed, as the changes were not
846         correctly handled in this module (Bug#22302).
847         Also, document time stamp time zones.
848         * lisp/time-stamp.el (time-stamp-time-zone): Document values better.
849         (time-stamp--format): New private function.
850         (time-stamp-string, time-stamp-string-preprocess)
851         (time-stamp-do-number): Use it.
852         * doc/emacs/files.texi (Time Stamps): Mention time zones.
853         * doc/misc/autotype.texi (Timestamps): Document time-stamp-time-zone.
855 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
857         Make piping to subprocesses more robust on MS-Windows
859         * src/w32.c (sys_write): Don't write to a pipe more stuff than its
860         buffer can hold.  Don't return -1 if something has been written to
861         the pipe.  Zero out 'errno' before calling '_write', to avoid
862         returning a stale value.  (Bug#22344)
863         * src/w32proc.c (syms_of_ntproc) <w32-pipe-buffer-size>: New variable.
864         * src/w32.c (pipe2): Use it to request a user-defined size for the
865         pipe being created.
867         * etc/NEWS: Mention 'w32-pipe-buffer-size'.
869         * doc/emacs/msdos.texi (Windows Processes): Document
870         'w32-pipe-buffer-size'.
872 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
874         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
876         (syntax-ppss):
877         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
879 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
881         lisp/nxml: Use syntax-tables for comments
883         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
884         (nxml-mode): Set syntax-ppss-table.
885         Use sgml-syntax-propertize-function for syntax-propertize-function.
886         Let font-lock highlight strings and comments.
887         (nxml-degrade): Don't touch "nxml-inside" property any more.
888         (nxml-after-change, nxml-after-change1): Remove functions.
889         (comment): Don't set fontify rule any more.
890         (nxml-fontify-attribute): Don't highlight the value any more.
891         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
892         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
894         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
895         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
896         (nxml-clear-inside, nxml-set-inside): Remove.
897         (nxml-scan-after-change): Remove function.
898         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
899         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
900         (nxml-move-outside-backwards):
901         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
902         nxml-inside-start behavior.
904         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
905         (nxml-debug-clear-inside): Remove macros.
907         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
908         (xmltok-scan-after-comment-open): Simplify.
910 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
912         * elisp-mode.el (elisp--font-lock-flush-elisp-buffers): Fix comment
914 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
916         * lisp/nxml: Use standard completion; it also works for company-mode
918         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
919         (nxml-completion-at-point-function): Remove.
920         (nxml-mode): Don't set completion-at-point-functions.
921         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
922         (rng-completion-at-point): Rename from rng-complete and mark it
923         non-interactive.  It is now to be used as completion-at-point-function.
924         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
925         (rng-complete-attribute-value): Don't perform completion, but return
926         completion data instead.
927         (rng-complete-qname-function, rng-generate-qname-list): Add a few
928         arguments, previously passed via dynamic coping.
929         (rng-strings-to-completion-table): Rename from
930         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
931         sorting and uniquifying.
933         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
934         (rng-completion-exact-p, rng-quote-string): Delete functions.
936         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
937         (rng-missing-attributes-message, rng-missing-element-message)
938         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
939         calling rng-quote-string everywhere.
941 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
943         Use sgml-electric-tag-pair-mode also in nxml-mode
945         * lisp/nxml/rng-nxml.el: Require sgml-mode.
946         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
947         (rng-complete-qname-function): Use complete-with-action.
949         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
950         Let-bind forward-sexp-function, since nxml-mode binds it to
951         something incompatible.
953         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
955 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
957         * xmltok.el: Mark the "sole --" rather than the comment opener
959         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
960         marker on the "sole --" rather than on the comment opener.
962 2016-01-15  Sam Steingold  <sds@gnu.org>
964         replace `tramp-compat-split-string' (removed) with `split-string'
966         (python-shell-tramp-refresh-process-environment)
967         (python-shell-calculate-pythonpath): use `split-string'
968         instead of defunct `tramp-compat-split-string'
970 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
972         Update nXML to use Emacs's Unicode support, and lexical-binding
974         * etc/nxml/*.el: Remove obsolete char-name files.
975         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
976         var `next'.
977         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
978         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
979         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
980         (nxml-target-section-pos, nxml-depth-in-target-section)
981         (nxml-outline-state-transform-alist)
982         (nxml-outline-display-section-tag-function): Move decl before first use.
983         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
984         (nxml-char-name-alist, nxml-char-name-table)
985         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
986         (nxml-enable-char-name-set, nxml-disable-char-name-set)
987         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
988         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
989         (nxml-insert-named-char): Use read-char-by-name instead.
990         (nxml-char-ref-display-extra): Use get-char-code-property.
991         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
992         Remove function.
993         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
995 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
997         Add "sg" method to Tramp
999         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
1000         (Customizing Completion): Add function `tramp-parse-etc-group'.
1002         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
1003         (tramp-completion-function-alist-sg): New defconst.
1004         (top): Completion function for "sg" is
1005         `tramp-completion-function-alist-sg'.
1007         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
1008         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
1010 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
1012         Remove XEmacs compatibility in Tramp
1014         * doc/misc/tramp.texi: Replace flags by their hard coded name.
1015         Remove unused flags and the enclosed alternative text for XEmacs.
1017         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
1018         and "xemacs" flags to "unified" and "separate".  Remove flags
1019         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
1020         "emacsothername", "emacsotherdir" and "emacsotherfilename".
1021         (trampver):
1022         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
1024         * lisp/net/tramp.el (bkup-backup-directory-info)
1025         (directory-sep-char, ls-lisp-use-insert-directory-program)
1026         (outline-regexp, tramp-backup-directory-alist)
1027         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
1028         (tramp-file-name-regexp-unified)
1029         (tramp-file-name-regexp-separate)
1030         (tramp-completion-file-name-regexp-unified)
1031         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
1032         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
1033         (tramp-debug-message, tramp-progress-reporter-update)
1034         (with-tramp-progress-reporter)
1035         (tramp-rfn-eshadow-setup-minibuffer)
1036         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
1037         (tramp-rfn-eshadow-update-overlay)
1038         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
1039         (tramp-file-name-for-operation)
1040         (tramp-completion-file-name-handler)
1041         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
1042         (tramp-handle-directory-files)
1043         (tramp-handle-directory-files-and-attributes)
1044         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
1045         (tramp-handle-insert-file-contents, tramp-handle-load)
1046         (tramp-handle-shell-command)
1047         (tramp-handle-verify-visited-file-modtime)
1048         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
1049         (tramp-check-for-regexp, tramp-wait-for-regexp)
1050         (tramp-send-string, tramp-mode-string-to-int)
1051         (tramp-get-local-gid, tramp-check-cached-permissions)
1052         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
1053         (auto-save-file-name-transforms)
1054         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
1055         (tramp-clear-passwd, tramp-time-diff):
1056         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
1057         (directory-sep-char, tramp-adb-file-name-handler-alist)
1058         (tramp-adb-parse-device-names)
1059         (tramp-adb-handle-expand-file-name)
1060         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
1061         (tramp-adb-handle-file-local-copy)
1062         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
1063         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
1064         (tramp-adb-handle-shell-command)
1065         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
1066         (tramp-adb-maybe-open-connection):
1067         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
1068         (tramp-cache-print):
1069         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
1070         (tramp-bug, tramp-reporter-dump-variable)
1071         (tramp-load-report-modules, tramp-append-tramp-buffers):
1072         * lisp/net/tramp-compat.el (tramp-compat-funcall)
1073         (tramp-advice-file-expand-wildcards)
1074         (tramp-compat-temporary-file-directory)
1075         (tramp-compat-make-temp-file, tramp-compat-copy-file)
1076         (tramp-compat-delete-directory, )
1077         (tramp-compat-process-running-p):
1078         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
1079         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
1080         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
1081         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
1082         (tramp-gvfs-handle-file-local-copy)
1083         (tramp-gvfs-handle-file-name-all-completions)
1084         (tramp-gvfs-handle-file-notify-add-watch)
1085         (tramp-gvfs-monitor-file-process-filter)
1086         (tramp-gvfs-handle-file-readable-p)
1087         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
1088         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
1089         (tramp-gvfs-maybe-open-connection)
1090         (tramp-gvfs-parse-device-names):
1091         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
1092         (tramp-gw-open-connection, tramp-gw-open-network-stream):
1093         * lisp/net/tramp-sh.el (directory-sep-char)
1094         (tramp-sh-file-name-handler-alist)
1095         (tramp-sh-handle-file-truename)
1096         (tramp-sh-handle-set-visited-file-modtime)
1097         (tramp-sh-handle-verify-visited-file-modtime)
1098         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
1099         (tramp-sh-handle-file-acl)
1100         (tramp-sh-handle-file-name-all-completions)
1101         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
1102         (tramp-do-copy-or-rename-file-directly)
1103         (tramp-do-copy-or-rename-file-out-of-band)
1104         (dired-compress-file-suffixes, dired-remove-file)
1105         (tramp-sh-handle-dired-compress-file)
1106         (tramp-sh-handle-insert-directory)
1107         (tramp-sh-handle-expand-file-name)
1108         (tramp-sh-handle-start-file-process)
1109         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
1110         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
1111         (tramp-sh-handle-file-notify-add-watch)
1112         (tramp-sh-gvfs-monitor-dir-process-filter)
1113         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
1114         (tramp-find-executable)
1115         (tramp-open-connection-setup-interactive-shell)
1116         (tramp-find-inline-encoding, tramp-compute-multi-hops)
1117         (tramp-maybe-open-connection, tramp-convert-file-attributes)
1118         (tramp-get-remote-path, tramp-get-remote-touch):
1119         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
1120         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
1121         (tramp-smb-handle-delete-directory)
1122         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
1123         (tramp-smb-handle-make-directory-internal)
1124         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
1125         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
1126         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
1127         (tramp-smb-get-cifs-capabilities)
1128         (tramp-smb-maybe-open-connection):
1129         * lisp/net/trampver.el (tramp-repository-get-version):
1130         Remove XEmacs compat code.
1132         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
1133         (reporter-dump-variable): Declare functions.
1135         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
1136         (tramp-advice-minibuffer-electric-separator)
1137         (tramp-advice-minibuffer-electric-tilde)
1138         (tramp-handle-unhandled-file-name-directory):
1139         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
1140         (tramp-compat-font-lock-add-keywords)
1141         (tramp-compat-load, tramp-compat-number-sequence)
1142         (tramp-compat-split-string, tramp-compat-delete-dups):
1143         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
1144         Remove.
1146         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
1147         recursively.
1149 2016-01-14  K. Handa  <handa@gnu.org>
1151         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
1153         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
1154         second glyph only when there are enough glyphs.
1156 2016-01-13  Glenn Morris  <rgm@gnu.org>
1158         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
1160         or its hook, to move point.  (Bug#22348)
1162 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
1164         Merge missing commit from emacs-25 branch
1166         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
1167         New variables.
1168         (check-expensive, check-doit): New targets.
1170         * Makefile.in (check-expensive): New target.
1172         * test/lisp/autorevert-tests.el
1173         (auto-revert-test01-auto-revert-several-files):
1174         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
1175         (file-notify-test06-many-events):
1176         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
1177         (tramp-test27-start-file-process, tramp-test28-shell-command)
1178         (tramp-test29-vc-registered)
1179         (tramp-test31-special-characters-with-stat)
1180         (tramp-test31-special-characters-with-perl)
1181         (tramp-test31-special-characters-with-ls)
1182         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
1183         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
1184         (tramp-test35-unload): Tag the tests as :expensive-test.
1186 2016-01-12  John Wiegley  <johnw@newartisans.com>
1188         Merge from origin/emacs-25
1190         1f6898d test/automated/vc-hg.el: Support out-of-tree build
1191         3adb56e Minor change in tramp-tests.el
1192         2b535ba ; * etc/NEWS: Update the js.el entry.
1193         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
1194         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
1195         36b9539 Avoid an infloop when we run out of memory
1196         2006752 Avoid unnecessary failures of auto-saving after fatal error
1197         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
1198         552694a Revert attempt to use 'noexcept' in typedef
1199         6ad0d39 Update documentation of 'indirect-function'
1200         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
1201         303141a Update documentation for obsoleting 'syntax-begin-function'
1202         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
1203         e667bbb Document new features if Eshell
1204         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
1205         1089dc9 Handle too long commands in Tramp
1206         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
1207         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
1208         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
1209         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
1210         cca0f93 ; Account for spaces before the filename
1211         c71e1e8 Use short date for 'hg annotate', and output the author
1212         f50027b Spelling fix
1213         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
1214         cc140bc Document user-level functions in project.el
1215         f8208b6 Document the user-level features of the Xref package
1216         b131fb8 * loading.texi: Add `define-type' entry for load-history
1217         db3c2a8 Improve doc strings and prompts in xref.el
1218         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
1219         90fd798 Fix coding system for Tramp on OS X.
1220         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
1221         9dfcbf0 Update 'load-history' docs
1222         207e191 Fix (error ...) error
1223         457738f Correctly analyze brace arguments in templated C++ function declarations.
1224         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
1225         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
1226         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
1227         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
1228         4b37cba Improve documentation of Delete Selection mode
1229         a034dd3 Fix two project-find-file issues
1230         30abf29 Clarify doc string of 'dired-current-directory'
1231         e990bb2 Use the face of preceding text for displaying the ellipsis
1232         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
1233         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
1234         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
1235         648de81 ; Add NEWS entry for project.el
1236         671862f apropos-library: Skip obvious duplicates; don't error on generics
1237         51668a5 ; Grammar fix
1238         ed41d11 Add project-find-file and project-or-external-find-file
1239         056da45 ; Improve commentary in 'setup_for_ellipsis'
1240         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
1242 2016-01-12  John Wiegley  <johnw@newartisans.com>
1244         Merge from origin/emacs-25
1246         ce4a052 Add defvar-local to lisp-imenu-generic-expression
1247         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
1248         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
1249         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
1250         b6b47af Properly encode/decode base64Binary data in SOAP
1251         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
1252         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
1253                 Update the URI of MELPA and marmalade-repo.
1254                 Reported by CHENG Goa <chenggao@royau.me> in
1255                 https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
1256         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
1257         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
1258         7380990 Remove function wrongly on AWK Mode value of context
1259         fontification hook.
1260         d400753 * src/buffer.c: Stick with ASCII in doc string.
1261         221240c Reword transient-mark-mode doc string
1262         977d3ea Update doc string of 'selective-display'
1263         229c3fa Make C++ buffers writeable when writing their initial text
1264                 properties.
1265         f5c762c Additional changes for "make check-expensive"
1266         1729cf3 ; * admin/MAINTAINERS: Remove myself.
1267         33219d3 Apply text properties for <, > in new after-change function
1268                 (C++ Java Modes).
1270 2016-01-12  John Wiegley  <johnw@newartisans.com>
1272         Merge from origin/emacs-25
1274         9fb185a shr-tag-video bug fix
1275         6300655 Minor fixes in tramp-tests.el
1276         50575b1 Ensure redisplay when 'truncate-lines' is set
1277         0d9e80d Fix a doc string of 'transient-mark-mode'
1278         0000ae5 MS-Windows followup to latest gnulib update
1279         4bc5e02 Spelling fix
1280         f1093f7 Do secure signed Bcc handling
1282 2016-01-12  John Wiegley  <johnw@newartisans.com>
1284         Merge from origin/emacs-25
1286         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
1287         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
1288         71ea138 * lisp/align.el (align): Simplify a lambda
1289         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
1290         1f680db Fix compilation next-error in buffers with selective-display
1291         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
1292         1da116f Add SHA1 warnings for high network security settings
1293         e48bacd ; * etc/NEWS: Typo fix.
1295 2016-01-12  John Wiegley  <johnw@newartisans.com>
1297         Merge from origin/emacs-25
1299         43662a2 ; Clarify that xref is still experimental
1300         0a6e6ca ; * admin/release-process: Remove some obsolete records.
1301         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
1302         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
1303         0a7ad07 ; Re-arrange xref-related entries in NEWS.
1304         fe903ef Fix xref-find-references on MS-Windows
1305         55a28d8 ; Fixed visual bell artifact problem on NextStep.
1306         d064034 Document new features of tildify-mode
1307         964bea7 Document new features of Whitespace mode
1308         cd68f47 Improve documentation of new Hide-IfDef features
1309         723b8bf Fix regression in font-locking cl-assert and cl-check-type
1311 2016-01-12  John Wiegley  <johnw@newartisans.com>
1313         Merge from origin/emacs-25
1315         ef33bc7 Spelling and grammar fixes
1316         9c3dbab Fix copyright years by hand
1317         0e96320 Update copyright year to 2016
1319 2016-01-12  John Wiegley  <johnw@newartisans.com>
1321         Merge from origin/emacs-25
1323         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
1324         526d80c Port chart.el methods to cl-generic.
1325         410bb69 Add nt/INSTALL.W64 build instructions
1326         8f5b524 Add new input method 'programmer-dvorak'
1327         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
1328         bb83bb1 Fix EWW rendering of long RTL lines
1329         b1a8509 fix  bug#21054
1330         ce5ad12 Clean up cairo printing code
1332 2016-01-12  John Wiegley  <johnw@newartisans.com>
1334         Merge from origin/emacs-25
1336         6ee327d Add handle_user_signal_hook
1337         47580e0 Avoid writing to purespace
1338         0588be7 Remove unused variable
1339         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
1340         3b95e9c Use posix_openpt instead of openpty on Darwin
1341         86312ff Document support for ':documentation' in Lisp mode
1342         c930e75b Document new features of TeX mode
1343         7c83d84 Clarify docs of hscroll in RTL text
1344         4c8f8db Fix rendering of HTML pages that use character composition
1345         a8d37ca Avoid some compiler warnings in w32.c
1346         ce106f3de Undo ill-advised change
1347         be0bba4 Unbreak completion in python-mode buffers
1349 2016-01-11  Dmitry Gutov  <dgutov@yandex.ru>
1351         test/automated/vc-hg.el: Support out-of-tree build
1353         * test/automated/vc-hg.el
1354         (vc-hg-annotate-extract-revision-at-line-with-filename)
1355         (vc-hg-annotate-extract-revision-at-line-with-both):
1356         Don't refer to source-directory.
1357         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00755.html
1359 2016-01-11  Michael Albinus  <michael.albinus@gmx.de>
1361         Minor change in tramp-tests.el
1363         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
1364         Use `dired-uncache' instead of a Tramp internal function.
1366 2016-01-11  Peter Feigl  <peter.feigl@nexoid.at>
1368         * etc/HELLO: Add Armenian and Mongolian greetings.
1370         (Bug#22346)
1372 2016-01-11  Alan Mackenzie  <acm@muc.de>
1374         Java Mode: Fontify identifiers in the presence of annotations.
1376         * lisp/progmodes/cc-engine.el (c-forward-annotation): Tidy up the coding:
1377         Don't move point when the defun fails.
1378         (c-forward-decl-or-cast-1): Correct a usage of match data.
1380         * lisp/progmodes/cc-fonts.el (c-font-lock-maybe-decl-faces): Remove.
1381         (c-font-lock-declarations): Use the new c-maybe-decl-faces in place of the
1382         removed variable.
1384         * lisp/progmodes/cc-langs.el (c-maybe-decl-faces): New language variable.
1386 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
1388         Avoid an infloop when we run out of memory
1390         * src/alloc.c (garbage_collect_1): Don't bother saving and
1391         restoring the echo-area message if we are GC'ing after running out
1392         of memory.  This avoids an infloop due to repeated attempts to
1393         allocate memory for the cons cell needed to save the message,
1394         which signals the memory-full error, which attempts to save the
1395         echo-area message, which signals memory-full again, etc.
1397 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
1399         Avoid unnecessary failures of auto-saving after fatal error
1401         * src/w32.c (map_w32_filename): Avoid non-trivial system calls for
1402         the benefit of FAT volumes if we are called as part of shutting
1403         down due to a fatal error, which probably means we are trying to
1404         auto-save the session.
1405         * src/lread.c (check_obarray): Don't bother making the obarray
1406         valid if we are shutting down due to a fatal error.  This avoids
1407         interfering with auto-saving the crashed session.
1409 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
1411         Simplify HAVE_MODULES use in mark_maybe_pointer
1413         * src/alloc.c (HAVE_MODULES): Now a constant 0 if not defined,
1414         so that later code can use 'if' rather than '#ifdef'.
1415         (mark_maybe_pointer): Simplify based on HAVE_MODULES now
1416         always working.
1418 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
1420         Revert attempt to use 'noexcept' in typedef
1422         This use of 'noexcept' runs afoul of the C++11 standard.
1423         Problem reported by Philipp Stephani in:
1424         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00706.html
1425         * src/emacs-module.c (emacs_finalizer_function):
1426         Move this typedef here ...
1427         * src/emacs-module.h: ... from here, and use only the C
1428         version of the typedef.  The typedef is now private since it
1429         is never used in the .h file now and anyway it seemed to be
1430         causing more confusion than it cured.
1431         (make_user_ptr, get_user_finalizer, set_user_finalizer):
1432         Open-code the type instead.
1434 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
1436         Update documentation of 'indirect-function'
1438         * doc/lispref/eval.texi (Function Indirection): Update the
1439         documentation of 'indirect-function'.
1441 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
1443         Update documentation for obsoleting 'syntax-begin-function'
1445         * doc/lispref/syntax.texi (Position Parse): Undocument
1446         'syntax-begin-function' that is now obsolete.
1448 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
1450         Document new features if Eshell
1452         * doc/misc/eshell.texi (Input/Output): Document the new
1453         '#<bufname>' syntax.
1454         (Input/Output): Document 'eshell-destroy-buffer-when-process-dies'.
1455         Disable "Key Index" generation, as there are no @kindex entries in
1456         this manual.
1458 2016-01-10  Michael Albinus  <michael.albinus@gmx.de>
1460         Handle too long commands in Tramp
1462         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
1463         (tramp-do-file-attributes-with-ls): Send sequence of commands, in
1464         order to not exceed shell command line limit.
1466         * test/automated/tramp-tests.el (tramp--test-darwin-p): Remove.
1467         (tramp--test-utf8): Include Arabic file name, again.
1469 2016-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1471         * .gitattributes: *.cur and *.pif are binary files too.
1473 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1475         * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
1477 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1479         * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
1481         * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation
1482         within $(...).
1483         * test/indent/shell.sh: Add corresponding test.
1485 2016-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>
1487         * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
1489         (mark_memory): Simplify loop.  Don't assume a pointer-sized word can be
1490         cast to Lisp_Object.
1492 2016-01-09  Dmitry Gutov  <dgutov@yandex.ru>
1494         Use short date for 'hg annotate', and output the author
1496         * lisp/vc/vc-hg.el (vc-hg-annotate-command):
1497         Change '-d' to '-dq'.  (Bug#21805)
1498         (vc-hg-annotate-switches): Default to "-u" "--follow".
1499         (vc-hg-annotate-re): Update to recognize the short date format
1500         and the optional username.
1501         (vc-hg-annotate-time)
1502         (vc-hg-annotate-extract-revision-at-line): Update accordingly.
1504         * test/automated/vc-hg.el: New file.
1506 2016-01-09  Paul Eggert  <eggert@cs.ucla.edu>
1508         Spelling fix
1510 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
1512         Document user-level functions in project.el
1514         * lisp/progmodes/project.el (project-find-file)
1515         (project-or-external-find-file): Add doc strings.
1517 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
1519         Document the user-level features of the Xref package
1521         * doc/emacs/maintaining.texi (Maintaining): Add a list of
1522         described features.
1523         (Xref): New section, made out of thoroughly rewritten "Tags"
1524         section.
1525         (Find Identifiers, Looking Up Identifiers, Xref Commands)
1526         (Identifier Search, List Identifiers): New subsections,
1527         incorporating the old tags commands and the new xref commands.
1528         (Tags Tables, Tag Syntax, Create Tags Table, Etags Regexps):
1529         Section and subsections demoted to a lower level.
1530         * doc/emacs/search.texi (Search):
1531         * doc/emacs/windows.texi (Pop Up Window):
1532         * doc/emacs/frames.texi (Creating Frames):
1533         * doc/emacs/programs.texi (Imenu, Symbol Completion):
1534         * doc/emacs/building.texi (Grep Searching):
1535         * doc/emacs/dired.texi (Operating on Files):
1536         * doc/emacs/glossary.texi (Glossary): All references to tags changed.
1538 2016-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>
1540         * loading.texi: Add `define-type' entry for load-history
1542         * doc/lispref/loading.texi (Where Defined): Remove incorrect
1543         cl-defmethod description, and add missing define-type entry.
1545 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
1547         Improve doc strings and prompts in xref.el
1549         * lisp/progmodes/xref.el (xref-backend-functions)
1550         (xref-find-definitions): Doc fixes.
1551         (xref-query-replace): Doc fix.  Improve prompts for arguments.
1553 2016-01-09  Alan Mackenzie  <acm@muc.de>
1555         Allow the use of `font-lock-extend-region-multiline' in CC Mode.
1557         * lisp/progmodes/cc-mode.el (c-font-lock-init): Remove
1558         `font-lock-extend-regions-wholelines' from
1559         `font-lock-extend-region-functions' rather than setting the latter to
1560         nil.
1562 2016-01-09  Michael Albinus  <michael.albinus@gmx.de>
1564         Fix coding system for Tramp on OS X.
1566         * lisp/net/tramp-compat.el: Require ucs-normalize.
1568         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1569         Set coding system to `utf-8-hfs' for Mac OS X.
1571         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
1572         Flush directory properties when needed.
1573         (tramp--test-utf8): Include Chinese file name, again.
1575 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
1577         Update 'load-history' docs
1579         * doc/lispref/loading.texi (Where Defined): Update the list of
1580         forms in 'load-history' by adding the forms created for the
1581         'cl-generic' generics.  (Bug#21422)
1583 2016-01-08  Paul Eggert  <eggert@cs.ucla.edu>
1585         Fix (error ...) error
1587         Problem reported by Glenn Morris in:
1588         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00561.html
1589         * lisp/vc/add-log.el (change-log-goto-source): Fix typos
1590         introduced in my Aug 28 change, where I got confused by the
1591         two meanings of (error ...).
1593 2016-01-08  Alan Mackenzie  <acm@muc.de>
1595         Correctly analyze brace arguments in templated C++ function declarations.
1597         * lisp/progmodes/cc-defs.el (c-go-list-forward, c-go-list-backward): add
1598         POS and LIMIT parameters, like the other c-go-list-* functions have.
1600         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): Check backwards
1601         for a ?\( rather than a ?<.  (c-looking-at-inexpr-block): Handle names
1602         followed by template specifiers.
1604 2016-01-08  Glenn Morris  <rgm@gnu.org>
1606         * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
1608         * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
1610 2016-01-08  Mark Oteiza  <mvoteiza@udel.edu>
1612         * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
1614 2016-01-08  Alan Mackenzie  <acm@muc.de>
1616         Respect fontification region calculated by major mode.  Fixes bug #22316.
1618         * lisp/font-lock.el (font-lock-extend-jit-lock-region-after-change): when a
1619         fontification region has been calculated by a function on
1620         font-lock-extend-after-change-region-function use this region rather than
1621         changing the end position to somewhere else.
1623 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
1625         Improve documentation of Delete Selection mode
1627         * lisp/delsel.el (delete-selection-mode)
1628         (delete-selection-helper): Update and expand the doc strings.
1629         (Bug#22296)
1631         * doc/emacs/mark.texi (Using Region): Document the behavior of
1632         delete commands in Delete Selection mode.  (Bug#22296)
1634         * doc/lispref/markers.texi (The Mark): Document how to add the
1635         support for Delete Selection mode to Lisp programs. (Bug#22296)
1637 2016-01-08  Dmitry Gutov  <dgutov@yandex.ru>
1639         Fix two project-find-file issues
1641         * lisp/progmodes/project.el (project--value-in-dir):
1642         Temporarily set enable-local-variables to :all.
1643         (project-find-file, project-or-external-find-file):
1644         All autoloads.
1645         (project--find-file-in): Require xref.
1647 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
1649         Clarify doc string of 'dired-current-directory'
1651         * lisp/dired.el (dired-current-directory): Doc fix: clarify that
1652         the return value might not end in a slash when called with the
1653         optional argument non-nil.  (Bug#6273)
1655 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
1657         Use the face of preceding text for displaying the ellipsis
1659         * src/xdisp.c (setup_for_ellipsis): Use the face of the preceding
1660         text in it->saved_face_id for displaying the ellipsis, and ignore
1661         the face, if any, of the invisible text.  (Bug#22320)
1663 2016-01-08  Michael Albinus  <michael.albinus@gmx.de>
1665         Suppress Chinese file name test for OSX in tramp-tests.el
1667         * test/automated/tramp-tests.el (tramp--test-utf8):
1668         Remove instrumentation.  Suppress Chinese file name test for OSX.
1670 2016-01-07  Glenn Morris  <rgm@gnu.org>
1672         * admin/admin.el (set-version): Also handle the NEWS file.
1674 2016-01-07  Dmitry Gutov  <dgutov@yandex.ru>
1676         apropos-library: Skip obvious duplicates; don't error on generics
1678         * lisp/apropos.el (apropos-library): Skip "was an autoload"
1679         entries, to avoid obvious duplicates.  For each cl-defmethod
1680         entry, take just its function symbol (bug#21422).
1682 2016-01-07  Dmitry Gutov  <dgutov@yandex.ru>
1684         Add project-find-file and project-or-external-find-file
1686         * lisp/minibuffer.el (completion-category-defaults):
1687         Add `project-file' category.
1689         * lisp/progmodes/project.el (project-find-file)
1690         (project-or-external-find-file): New commands.
1691         (project--find-file-in): New private function.
1693         * lisp/progmodes/xref.el (xref-collect-matches): Use
1694         `expand-file-name' on DIR, to expand the tildes.
1695         (xref--find-ignores-arguments): Extract from
1696         `xref--rgrep-command'.
1698 2016-01-06  Leo Liu  <sdl.web@gmail.com>
1700         Add defvar-local to lisp-imenu-generic-expression
1702         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add
1703           defvar-local.
1705 2016-01-06  Leo Liu  <sdl.web@gmail.com>
1707         Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
1709         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
1710           Don't declare (indent 1).
1712 2016-01-06  Glenn Morris  <rgm@gnu.org>
1714         * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
1716 2016-01-06  Glenn Morris  <rgm@gnu.org>
1718         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
1720         Avoid specifying the length of a time object (it has not been "2"
1721         for some time).
1723 2016-01-06  Andreas Schwab  <schwab@linux-m68k.org>
1725         Properly encode/decode base64Binary data in SOAP
1727                 * lisp/net/soap-client.el (soap-encode-xs-basic-type): Encode
1728                 base64Binary value as utf-8.
1729                 (soap-decode-xs-basic-type): Decode base64Binary value as utf-8.
1731 2016-01-06  Eli Zaretskii  <eliz@gnu.org>
1733         Obey coding-system-for-write when writing stdout/stderr in batch
1735         * src/print.c (printchar_to_stream):
1736         * src/xdisp.c (message_to_stderr): If coding-system-for-write has
1737         a non-nil value, use it to encode output in preference to
1738         locale-coding-system.  See the discussions in
1739         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00048.html
1740         for the details.
1742         * doc/lispref/os.texi (Terminal Output): Document how to send
1743         non-ASCII text via 'send-string-to-terminal'.
1744         (Batch Mode): Document how text written to standard streams is
1745         encoded.  Fix inaccuracy regarding which output streams are used
1746         by output functions in batch mode.
1748 2016-01-06  Xue Fuqiao  <xfq.free@gmail.com>
1750         * doc/misc/efaq.texi (Packages that do not come with Emacs):
1751         Update the URI of MELPA and marmalade-repo.  Reported by CHENG Gao
1752         <chenggao@royau.me> in
1753         https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
1755 2016-01-05  Maksim Golubev  <maksim.golubev72@gmail.com>  (tiny change)
1757         * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
1759         Fix backslash.  (Bug#22224)
1761 2016-01-05  Federico Beffa  <beffa@ieee.org>  (tiny change)
1763         * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
1765         Make it actually work.  (Bug#22265)
1767 2016-01-05  Alan Mackenzie  <acm@muc.de>
1769         Remove function wrongly on AWK Mode value of context fontification hook.
1771         * lisp/progmodes/cc-langs.el (c-before-context-fontification-functions):
1772         swap order of entries so that awk's entry isn't superseded by the default.
1774         * lisp/progmodes/cc-mode.el (c-before-context-fl-expand-region): Correct
1775         to handle nil value of c-before-context-fontification-functions.
1777 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1779         * src/buffer.c: Stick with ASCII in doc string.
1781 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1783         Reword transient-mark-mode doc string
1785         * src/buffer.c (syms_of_buffer): Reword doc string to avoid confusion.
1786         The value 'lambda (literally) can be interpreted as (quote lambda),
1787         which is not intended here; we want just the lambda symbol.
1789 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
1791         Update doc string of 'selective-display'
1793         * src/buffer.c (syms_of_buffer) <selective-display>: Say that
1794         using it with the value of 't' is obsolete.  (Bug#1092)
1796 2016-01-05  Alan Mackenzie  <acm@muc.de>
1798         Make C++ buffers writeable when writing their initial text properties.
1800         This is a correction to yesterday's CC Mode patch.
1802         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Put
1803         c-save-buffer-state around the function rather than a mere `let'.
1805 2016-01-05  Michael Albinus  <michael.albinus@gmx.de>
1807         Additional changes for "make check-expensive"
1809         * CONTRIBUTE : Encourage use of ":tags '(:expensive-test)".
1810         Explain make target `check-expensive'.
1812         * etc/NEWS: Mention new make target `check-expensive'.
1814         * test/automated/Makefile.in (check-doit): New target.
1815         (check, check-expensive): Use it.
1817 2016-01-04  Alan Mackenzie  <acm@muc.de>
1819         Apply text properties for <, > in new after-change function (C++ Java Modes).
1821         These are category/syntax-table properties to give < and > paren syntax.
1822         Also apply certain `c-type' text properties to the insides of <..> constructs
1823         to ensure that identifiers contained by them get fontified.  This patch fixes
1824         bug #681.
1826         * lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Reformulate due to new
1827         after-change action.
1829         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Expand
1830         change region to include <s and >s which might not be already marked as
1831         parens, rather than just when paren text properties are removed.
1832         (c-restore-<>-properties): New after-change function, which applies text
1833         properties marking < and > with paren syntax.
1835         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Ensure `c-type'
1836         properties are applied to the interiors of <...> constructs, to ensure
1837         fontification of identifiers there.
1839         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
1840         c-restore-<>-properties to this list for C++ and Java.
1842         * lisp/progmodes/cc-mode.el (c-common-init): When invoking
1843         c-before-font-lock-functions, exclude c-restore-<>-properties from the
1844         functions invoked.
1845         (c-before-change): Initialize c-new-BEG/END here (rather than c-after-change)
1846         to allow modification by before-change functions.
1847         (c-after-change): Amend c-new-END here, rather than initializing it and
1848         c-new-BEG.
1850 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
1852         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
1854 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
1856         Introduce check-expensive tests.
1858         * Makefile.in (check-expensive):
1859         * test/automated/Makefile.in (check-expensive): New target.
1861         * test/automated/auto-revert-tests.el
1862         (auto-revert-test01-auto-revert-several-files):
1863         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
1864         * test/automated/tramp-tests.el (tramp-test26-process-file)
1865         (tramp-test27-start-file-process, tramp-test28-shell-command)
1866         (tramp-test29-vc-registered)
1867         (tramp-test31-special-characters-with-stat)
1868         (tramp-test31-special-characters-with-perl)
1869         (tramp-test31-special-characters-with-ls)
1870         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
1871         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
1872         (tramp-test35-unload): Tag the tests as :expensive-test.
1874 2016-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1876         shr-tag-video bug fix
1878         * shr.el (shr-tag-video): Protect against the `poster' being
1879         empty.
1881 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
1883         Minor fixes in tramp-tests.el
1885         * test/automated/tramp-tests.el (tramp-test26-process-file):
1886         Move point properly.
1887         (tramp-test29-vc-registered): Work with relative file names.
1889 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
1891         Ensure redisplay when 'truncate-lines' is set
1893         * lisp/frame.el (redisplay--variables): Add 'truncate-lines'.
1894         (Bug#22303)
1896 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
1898         Fix a doc string of 'transient-mark-mode'
1900         * src/buffer.c (syms_of_buffer) <transient-mark-mode>: Prevent
1901         "lambda" in doc string from becoming a link to lambda expressions.
1903 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
1905         MS-Windows followup to latest gnulib update
1907         * nt/gnulib.mk (EXTRA_DIST): Add ignore-value.h.
1909 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1911         Spelling fix
1913 2016-01-03  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
1915         Do secure signed Bcc handling
1917         * lisp/gnus/message.el (message-send): Do secure signed Bcc handling
1918         (bug#18718).
1920 2016-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1922         Avoid stdio in SIGINT handler
1924         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
1925         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
1926         * lib/ignore-value.h: New file, from gnulib.
1927         * src/keyboard.c: Include it.
1928         (write_stdout, read_stdin): New functions.
1929         (handle_interrupt): Use them instead of printf and getchar,
1930         and avoid fflush when handling signals.
1932 2016-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1934         * doc/misc/texinfo.tex: Revert unwanted copyright change.
1936 2016-01-03  Artur Malabarba  <bruce.connor.am@gmail.com>
1938         * lisp/align.el (align): Simplify a lambda
1940         * lisp/align.el (align): Fix arg order in call to `align-region'
1942 2016-01-03  Eli Zaretskii  <eliz@gnu.org>
1944         Fix compilation next-error in buffers with selective-display
1946         * lisp/progmodes/compile.el (compilation-beginning-of-line): New
1947         function.
1948         (compilation-internal-error-properties)
1949         (compilation-next-error-function, compilation-set-window): Use
1950         it.  (Bug#1092)
1952 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1954         * nsm.el (nsm-check-protocol): Fix typo in the message.
1956 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1958         Add SHA1 warnings for high network security settings
1960         * nsm.el (nsm-check-protocol): When using high security, warn
1961         about SHA1 certificates, which are now believed to be open to
1962         spoofing.
1964 2016-01-02  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
1966         Refactor mml-smime.el, mml1991.el, mml2015.el
1968         (Maybe this is the last merge from Gnus git to Emacs git)
1970         Cf. discussion on ding mailing list, messages in
1971         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
1972         Common code from the three files mml-smime.el, mml1991.el, and
1973         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
1974         to gnus-util.el.
1976         The code is supported by test cases with necessary test keys.
1978         Documentation in message.texi is updated.
1980         * doc/misc/message.texi (Security, Using S/MIME):
1981         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
1982         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
1983         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
1985         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
1986         New functions.
1988         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
1989         (epa--select-keys): Autoload.
1990         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
1991         (mml-secure-openpgp-signers): New user option;
1992         make mml1991-signers and mml2015-signers obsolete aliases to it.
1993         (mml-secure-smime-signers): New user option;
1994         make mml-smime-signers an obsolete alias to it.
1995         (mml-secure-openpgp-encrypt-to-self): New user option;
1996         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
1997         aliases to it.
1998         (mml-secure-smime-encrypt-to-self): New user option;
1999         make mml-smime-encrypt-to-self an obsolete alias to it.
2000         (mml-secure-openpgp-sign-with-sender): New user option;
2001         make mml2015-sign-with-sender an obsolete alias to it.
2002         (mml-secure-smime-sign-with-sender): New user option;
2003         make mml-smime-sign-with-sender an obsolete alias to it.
2004         (mml-secure-openpgp-always-trust): New user option;
2005         make mml2015-always-trust an obsolete alias to it.
2006         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
2007         New user options.
2008         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
2009         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
2010         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
2011         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
2012         (mml-secure-passphrase-callback, mml-secure-check-user-id)
2013         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
2014         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
2015         (mml-secure-fingerprint, mml-secure-filter-keys)
2016         (mml-secure-normalize-cust-name, mml-secure-select-keys)
2017         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
2018         (mml-secure-self-recipients, mml-secure-recipients)
2019         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
2021         * lisp/gnus/mml-smime.el: Require epg;
2022         refactor declaration and autoloading of epg functions.
2023         (mml-smime-use): Doc fix.
2024         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
2025         Obsolete.
2026         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
2027         Use format instead of gnus-format-message.
2028         (mml-smime-epg-secret-key-id-list): Remove variable.
2029         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
2030         (mml-smime-epg-find-usable-secret-key): Remove functions.
2031         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
2033         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
2034         (mml1991-passphrase-cache-expiry): Obsolete.
2035         (mml1991-epg-secret-key-id-list): Remove variable.
2036         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
2037         (mml1991-epg-find-usable-secret-key): Remove functions.
2038         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
2040         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
2041         (mml2015-passphrase-cache-expiry): Obsolete.
2042         (mml2015-epg-secret-key-id-list): Remove variable.
2043         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
2044         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
2045         (mml2015-epg-find-usable-secret-key): Remove functions.
2046         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
2047         (mml2015-epg-encrypt): Refactor.
2049 2016-01-02  Glenn Morris  <rgm@gnu.org>
2051         * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
2053         Explicitly ignore case.  (Bug#22262)
2055 2016-01-02  Stefan Monnier  <monnier@iro.umontreal.ca>
2057         (semantic-symref-derive-find-filepatterns): Return a list
2059         * lisp/cedet/semantic/symref/grep.el
2060         (semantic-symref-derive-find-filepatterns): Return a list.
2061         (semantic-symref-perform-search): Quote the result here once and for all.
2063 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
2065         Fix xref-find-references on MS-Windows
2067         * lisp/cedet/semantic/symref/grep.el
2068         (semantic-symref-derive-find-filepatterns): Use
2069         'shell-quote-argument' instead of manually quoting in a way that
2070         only works with Posix shells.  (Bug#22289)
2072 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
2074         Document new features of tildify-mode
2076         * lisp/textmodes/tildify.el (tildify-foreach-ignore-environments)
2077         (tildify-mode): Spelling fixes in doc strings.
2079         * etc/NEWS: Reformat the tildify-mode entry.
2081 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
2083         Document new features of Whitespace mode
2085         * doc/emacs/display.texi (Useless Whitespace): Document
2086         'whitespace-toggle-options' and the new 'big-indent' style.
2087         Document 'whitespace-big-indent-regexp'.  Document the Global
2088         Whitespace mode.
2090 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
2092         Improve documentation of new Hide-IfDef features
2094         * etc/NEWS: Expand and reword Hide-IfDef section.
2096 2016-01-02  Leo Liu  <sdl.web@gmail.com>
2098         Fix regression in font-locking cl-assert and cl-check-type
2100         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Fix
2101           el-errs-re.
2103 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
2105         Spelling and grammar fixes
2107 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
2109         Fix copyright years by hand
2111         These are dates that admin/update-copyright did not update, or
2112         updated incorrectly.
2114 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
2116         Update copyright year to 2016
2118         Run admin/update-copyright.
2120 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
2122         Merge from gnulib
2124         This mostly just updates copyright dates of gnulib files.
2125         It also updates to the latest version of texinfo.tex.
2127 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
2129         lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
2131 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
2133         Port chart.el methods to cl-generic.
2135         cl-call-next-method cannot be used inside EIEIO's defmethod.
2136         * lisp/emacs-lisp/chart.el: Require cl-generic at compile time.
2137         * lisp/emacs-lisp/chart.el (initialize-instance, chart-draw):
2138         (chart-draw-title, chart-size-in-dir, chart-draw-axis):
2139         (chart-axis-draw, chart-translate-xpos, chart-translate-ypos):
2140         (chart-translate-namezone, chart-draw-data, chart-add-sequence):
2141         (chart-trim, chart-sort): Use cl-defmethod instead of defmethod.
2143 2015-12-31  Brian Burns  <bburns.km@gmail.com>
2145         Add nt/INSTALL.W64 build instructions
2147         * nt/INSTALL.W64: New file.
2148         * nt/INSTALL: Point to INSTALL.W64 for 64-bit build instructions.
2150 2015-12-31  Joakim Jalap  <joakim.jalap@fastmail.com>
2152         Add new input method 'programmer-dvorak'
2154         * lisp/leim/quail/programmer-dvorak.el ("programmer-dvorak"): New
2155         input method.
2157         * etc/NEWS: Mention it.
2159 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
2161         Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
2163         * lisp/textmodes/flyspell.el (flyspell-prog-mode): Record the
2164         original M-TAB binding in a buffer-local variable.
2165         (flyspell-auto-correct-word): Invoke the original binding of M-TAB
2166         if that is recorded, when point is in a place where flyspell
2167         should not be active (e.g., because the user turned on
2168         'flyspell-prog-mode').  (Bug#18533)
2170 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
2172         Fix EWW rendering of long RTL lines
2174         * lisp/net/shr.el (shr-insert-document): Undo any previous hscroll
2175         of the selected window before filling its lines.  (Bug#22250)
2177 2015-12-31  Vincent Belaïche  <vincentb1@users.sourceforge.net>
2179         fix  bug#21054
2181         * ses.el (ses-check-curcell): Call `ses-set-curcell' unconditionally
2183 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2185         Clean up cairo printing code
2187         * src/gtkutil.c (xg_get_page_setup): Use listn.
2188         * src/xfns.c (Fx_export_frames, Fx_print_frames_dialog): Doc fix.  Use
2189         decode_window_system_frame and FRAME_VISIBLE_P.
2190         (Fx_print_frames_dialog): Use redisplay_preserve_echo_area instead
2191         of Fdisplay.
2192         * src/xterm.c (x_cr_export_frames): Use redisplay_preserve_echo_area
2193         instead of Fdisplay.  Temporarily unblock_input around QUIT.
2195 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2197         Add handle_user_signal_hook
2199         * src/keyboard.h (handle_user_signal_hook): New declaration.
2200         * src/keyboard.c (handle_user_signal_hook): New variable.
2201         (handle_user_signal): Call it.
2203 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2205         Avoid writing to purespace
2207         * src/alloc.c (Fmake_string): Don't write to empty string contents.
2208         (allocate_vector): Don't write to empty vector size.
2209         * src/character.h (CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR):
2210         Don't call unnecessary XSETCAR or XSETCDR.
2211         * src/lisp.h (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE): Don't
2212         write to empty string size_byte.
2214 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2216         Remove unused variable
2218         * lisp/international/mule-cmds.el: Remove unused variable
2219         `mac-system-coding-system'.
2221 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2223         * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
2225 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2227         Use posix_openpt instead of openpty on Darwin
2229         * configure.ac (PTY_ITERATION, FIRST_PTY_LETTER, PTY_OPEN)
2230         (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Remove
2231         Darwin-specific definitions.  Use posix_openpt instead.
2233 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
2235         Document support for ':documentation' in Lisp mode
2237         * lisp/emacs-lisp/lisp-mode.el (lisp-string-in-doc-position-p)
2238         (lisp-string-after-doc-keyword-p)
2239         (lisp-font-lock-syntactic-face-function): Add doc strings.
2241 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
2243         Document new features of TeX mode
2245         * doc/emacs/text.texi (TeX Print): Document
2246         'tex-print-file-extension'.
2247         * doc/emacs/programs.texi (Misc for Programs): Document support
2248         for Prettify Symbols mode in TeX mode.
2250 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
2252         Clarify docs of hscroll in RTL text
2254         * doc/lispref/windows.texi (Horizontal Scrolling): Clarify the
2255         meaning of a window's horizontal scroll amount for RTL paragraphs.
2257 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
2259         Fix rendering of HTML pages that use character composition
2261         * src/indent.c (Fvertical_motion): Fix the case when point starts
2262         in the middle of a composition, as in shr-vertical-motion.
2263         (Bug#22250)
2265 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
2267         Avoid some compiler warnings in w32.c
2269         * src/w32.c (codepage_for_filenames, crlf_to_lf)
2270         (ansi_encode_filename, socket_to_fd, sys_write)
2271         (check_windows_init_file): Avoid compiler warnings about
2272         differences in pointer signedness.
2274 2015-12-29  Dmitry Gutov  <dgutov@yandex.ru>
2276         Undo ill-advised change
2278         * lisp/progmodes/xref.el (xref-collect-matches): Undo
2279         ill-advised change.  The hits come in the order that `find'
2280         produces them in, which isn't alphabetical.
2282 2015-12-29  Dmitry Gutov  <dgutov@yandex.ru>
2284         Unbreak completion in python-mode buffers
2286         * lisp/progmodes/python.el (python-shell-completion-at-point):
2287         Unbreak in python-mode buffers.
2289 2016-01-09  Andrew Hyatt  <ahyatt@gmail.com>
2291         Adding example replies to bug-triage.
2293         * admin/notes/bug-triage: Added example replies. Also, as requested,
2294           making the process notes into more of a checklist.
2296 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
2298         Rename the notes/admin/triage file to bug-triage.
2300         * CONTRIBUTE: Change reference to the triage file name.
2301         * admin/notes/triage: Rename file to admin/notes/bug-triage.
2303 2016-01-07  Glenn Morris  <rgm@gnu.org>
2305         Allow creation of loaddefs files without timestamps.
2307         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
2308         (autoload-generate-file-autoloads, update-directory-autoloads):
2309         If autoload-timestamps is nil, write "t" instead of file timestamp.
2310         (autoload-find-destination, update-directory-autoloads):
2311         If timestamp is "t", use the modtime of the output file instead.
2313 2016-01-06  Glenn Morris  <rgm@gnu.org>
2315         Doc tweaks.
2317         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
2318         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
2319         (calendar-iso-from-absolute):
2320         * lisp/calendar/cal-tex.el (cal-tex-comment):
2321         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
2323 2016-01-06  Glenn Morris  <rgm@gnu.org>
2325         Build tweaks related to tags files.
2327         * lib-src/Makefile.in (tagsfiles): New variable.
2328         (TAGS): Also depend on the source files.  Use our own etags program.
2329         * lisp/Makefile.in (ETAGS): Add EXEEXT.
2330         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
2331         Remove.
2332         (tagsfiles): New, replacing lisptagsfiles1 etc.
2333         Remove irrelevant source files here rather than in the TAGS rule.
2334         (${ETAGS}): New rule.
2335         (TAGS): Also depend on the etags executable.
2336         * lwlib/Makefile.in (EXEEXT): New, set by configure.
2337         (ETAGS): Add EXEEXT.
2338         (${ETAGS}): New rule.
2339         (ctagsfiles): Use "wildcard".
2340         (TAGS): Also depend on the etags executable.
2341         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
2342         (${ETAGS}): New rule.
2343         (TAGS): Fix dependencies.
2344         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
2345         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
2346         Remove "-t" argument.
2347         (${ETAGS}): New rule.
2348         (tagsfiles): New variable.
2349         (TAGS): New rule, with proper dependencies.
2350         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
2351         (ctagsfiles1, ctagsfiles2): Use "wildcard".
2352         (ctagsfiles3): Remove.
2353         (TAGS): Depend on etags.
2354         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
2355         directories decide if updates are needed.
2357 2016-01-06  Glenn Morris  <rgm@gnu.org>
2359         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
2361 2016-01-06  Glenn Morris  <rgm@gnu.org>
2363         * test/lisp/emacs-lisp/package-tests.el
2365         (package-test-macro-compilation): Fixup branch merge.
2367 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
2369         Fix fallout from merging emacs-25 branch in test/
2371         * .gitignore: Update for the new place of biditest.txt.
2372         * test/automated/: Directory removed.  All files moved to their
2373         proper places.
2374         * test/etags/: Directory removed.  All files moved to their proper
2375         places.
2376         * test/automated/url-parse-tests.el: File removed; it was an exact
2377         copy of the same file in test/lisp/url/.
2378         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
2380 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2382         Spelling fixes.
2384 2016-01-04  Daniel Colascione  <dancol@dancol.org>
2386         Let users disable unsafe signal handling code
2388         * src/keyboard.c (syms_of_keyboard): New user variables
2389         `attempt-stack-overflow-recovery' and
2390         `attempt-orderly-shutdown-on-fatal-signal'.
2391         * src/sysdep.c (stack_overflow): Check
2392         `attempt-stack-overflow-recovery'.
2393         * src/emacs.c (terminate_due_to_signal): Check
2394         `attempt-orderly-shutdown-on-fatal-signal'.
2396 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
2398         * configure.ac: Add error message for gfile on Nextstep.
2400 2016-01-03  John Wiegley  <johnw@newartisans.com>
2402         Merge branch 'emacs-25-merge'
2404 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
2406         Align textually on fix done for emacs-25 branch for bug#21054
2408         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
2409         and useless `(if t ...)' in order to align textually on fix done for
2410         emacs-25 branch for bug#21054.
2412 2016-01-02  K. Handa  <handa@gnu.org>
2414         support rendering of wider range of combinging characters by ftfont backend
2416         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
2417         supports rendering of combining characters, call
2418         font-shape-gstring.
2420         * src/font.c (Ffont_get): Handle `combining-capability' property.
2421         (syms_of_font): New symbol ":combining-capability'.
2423         * src/font.h (struct font_driver): New member combining_capability.
2425         * src/ftfont.c: Include "category.h".
2426         (ftfont_driver): Initialize combining_capability to
2427         ftfont_combining_capability.
2428         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
2429         FLT in advance.
2430         (ftfont_combining_capability): New function.
2432 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
2434         Add notes on bug triage procedure
2436         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
2437         * admin/notes/triage: New file explaining triage procedure.
2439 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
2441         Correct ses-rename-cell cursor-intangible text prop updating.
2443         There were two problems:
2445         - First ses-rename-cell has to work when called non interactively
2446           (with non-nil CELL argument), so in this case the start pos of
2447           put-text-property cannot be plainly (point), you need a
2448           ses-goto-print call before
2450         - Second, the range itself was computed erronously, only the first
2451           char was affected instead of the full cell width. This was not
2452           noticeable prior to changes (Deprecate `intangible' and
2453           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
2455         * lisp/ses.el (ses-rename-cell): Correct computation of position range
2456         to which the 'cursor-intangible text property has to be set to cell
2457         new name.
2459 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
2461         Don't fake empty cells value by "" when printing with a lambda.
2463         When using a lambda expression printer function the user should be
2464         free to format differently a really empty cell, ie. containing nil,
2465         from a cell containing an empty string "".
2467         * ses.el (ses-call-printer): Replace `(or value "")' by just `value'
2468         in the case of a lambda expression printer function.
2470         * ses.texi (Printer functions): Add example and description about
2471         lambda expression printer function handling all the possible values,
2472         including unexpected ones.
2474 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
2476         Quick temporary hack to fix curcell refreshing.
2478         The problem was caused by change: 2015-04-13 Deprecate `intangible'
2479         and `point-entered' properties. The problem is that this change has
2480         removed the (setq ses--curcell t) setting in the ses-command-hook
2481         function.
2483         * ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
2484         a condition to call function `ses-set-curcell'. Comment this as a quick
2485         temporary hack to make it work, as I don't know yet whether a definite
2486         correction would be to make the ses-set-curcell at every ses-check-curcell,
2487         or to revert to the previous approach, ie marking ses--curcell as out-of-date
2488         at every potentially cursor motion command.
2490 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2492         Restrictive URL checking tweaks
2494         * lisp/net/eww.el (eww): Check whether the domain is
2495         restrictive instead of the string
2496         (http://македонија.icom.museum is restrictive even if each
2497         part is from a different script).
2499 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2501         New function `puny-highly-restrictive-domain-p'
2503         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
2504         (puny-highly-restrictive-domain-p): New function.
2506 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2508         eww build fix (require puny)
2510 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2512         Transform non-restrictive domains to punycode for display
2514         * lisp/net/eww.el (eww): Check whether the domain is Highly
2515         Restrictive in the Unicode IDNA sense.
2517 2015-12-30  John Wiegley  <johnw@newartisans.com>
2519         Merge emacs-25 into master (using imerge)
2521 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
2523         Fix typos in CC Mode manual
2525         * doc/misc/cc-mode.texi (c-offsets-alist, Style Variables): Fix
2526         typos.  (Bug#22267)
2528 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
2530         Avoid assertion violations in compact_font_cache_entry
2532         * src/alloc.c (compact_font_cache_entry): Don't use VECTORP to
2533         avoid assertion violation in ASIZE.  (Bug#22263)
2535 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
2537         Fix filling text with bidirectional characters in shr.el
2539         * lisp/net/shr.el (shr-insert-document): Bind
2540         bidi-display-reordering to nil while filling lines.  This is
2541         required for when a line includes characters whose bidi
2542         directionality is opposite to the base paragraph direction,
2543         because columns are counted in the logical order.  (Bug#22250)
2545 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
2547         Further Unicode restrictive fixups
2549         * puny.el (puny-highly-restrictive-p): Include the extra
2550         identifier characters from table 3.
2552 2015-12-29  Martin Rudalics  <rudalics@gmx.at>
2554         * src/xfns.c (x_create_tip_frame): Process alpha parameter.
2556 2015-12-29  Michael Albinus  <michael.albinus@gmx.de>
2558         Sync with Tramp 2.2.13
2560         * doc/misc/trampver.texi: Change version to "2.2.13.25.1".
2562         * lisp/net/tramp-compat.el (tramp-compat-delete-dups):
2563         Use `tramp-compat-funcall'.
2565         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names):
2566         Make `split-string' call compatible with older Emacsen.
2568         * lisp/net/trampver.el: Change version to "2.2.13.25.1".
2570 2015-12-29  Lambda Coder  <sjLambda@gmail.com>
2572         * doc/misc/tramp.texi: Editorial revisions to the Tramp manual
2574 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
2576         Mention that tls.el is secure by default, and will fail
2578 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
2580         Make tls.el use trustfiles by default
2582         * lisp/net/tls.el (tls-program): Add a certfile by default (bug#21227).
2583         (open-tls-stream): Insert the trustfile by looking at
2584         `gnutls-trustfiles'.
2586 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
2588         Refactor out gnutls-trustfiles
2590         * lisp/net/gnutls.el (gnutls-trustfiles): Refactor out for reuse by tls.el.
2592 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
2594         Remove --insecure from gnutls-cli invocation
2596         * tls.el (tls-program): Default to using secure TLS
2597         connections (bug#19284).
2599 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
2601         Add a new function to say whether a string is restrictive
2603         * puny.el (puny-highly-restrictive-p): New function.
2605 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
2607         Spelling fix
2609 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
2611         Port report-emacs-bug to deterministic builds
2613         * lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
2614         recent "built on" change to deterministic builds where
2615         emacs-build-system will be nil.  See:
2616         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
2618 2015-12-28  Jose A. Ortega Ruiz  <jao@gnu.org>  (tiny change)
2620         Fix URL auth error message
2622         * lisp/url/url-http.el (url-http-handle-authentication): Make the error
2623         message more correct (bug#20069).
2625 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2627         Mention the new puny.el library
2629 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2631         IDNA-related fixes for the URL library
2633         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
2634         the Host: header.
2636         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
2637         domain names, but leave them as UTF-8, so that they can be
2638         IDNA-encoded later when contacting the host.
2640 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2642         IDNA-encode all domain names in `open-network-stream'
2644         * network-stream.el (open-network-stream)
2645         (network-stream-open-plain, network-stream-open-starttls):
2646         IDNA-encode all domain names, if needed.
2648 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2650         Fix puny-encoding all-non-ASCII domains
2652         * puny.el (puny-encode-string): Fix the all-non-ASCII encoding case.
2654 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2656         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
2658 2015-12-28  Tom Tromey  <tom@tromey.com>
2660         set :safe on css-indent-offset
2662         * lisp/textmodes/css-mode.el (css-indent-offset): Add :safe 'integerp.
2664 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2666         * eww.el (eww-mode): Remove superfluous bidi reset.
2668 2015-12-28  James Stout  <james.wolf.stout@gmail.com>  (tiny change)
2670         Make chunked encoding trailer detection more compliant
2672         * lisp/url/url-http.el
2673         (url-http-chunked-encoding-after-change-function): Make
2674         trailer detection more compliant (bug#16345).
2676 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2678         Reconnect erc even on server errors
2680         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
2681         reconnect even if a server error has occurred (bug#18527).
2683 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2685         Fix punycode short circuit logic
2687         * puny.el (puny-encode-domain): Fix short-circuit logic.
2689 2015-12-28  Martin Rudalics  <rudalics@gmx.at>
2691         Fix Bug#10873 in `report-emacs-bug'
2693         * lisp/mail/emacsbug.el (report-emacs-bug): If
2694         `report-emacs-bug-no-explanations' is nil, make sure we can show
2695         mail and warnings buffer on this frame (Bug#10873).
2697 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2699         IDNA speed up
2701         * puny.el (puny-encode-domain): Make the common non-IDNA case faster
2703 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2705         Add IDNA domain encode/decode functions
2707         * puny.el (puny-decode-domain): New function.
2708         (puny-encode-domain): Ditto.
2709         (puny-decode-digit): Fix digit decoding error.
2711 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2713         Rename idna.el to puny.el
2715         * puny.el: Renamed from idna.el to avoid name collisions with
2716         the external idna.el library.
2718 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2720         Always reset the bidi direction
2722         * eww.el (eww-display-html): Always reset the bidi direction
2723         to `left-to-right' (bug#22257).
2725 2015-12-28  Alan Mackenzie  <acm@muc.de>
2727         Allow line comments ending with escaped NL to be continued to the next line.
2729         Use this in C, C++, and Objective C Modes.  Fixes bug#22246
2731         * src/syntax.c (comment-end-can-be-escaped): New buffer local variable.
2732         (forw-comment, back-comment): On encountering an end of comment character,
2733         test whether it is escaped when `comment-end-can-be-escaped' is non-nil.
2735         * doc/lispref/syntax.texi (Control Parsing): Describe
2736         `comment-end-can-be-escaped'.
2738         * etc/NEWS (Lisp Changes): Describe `comment-end-can-be-escaped'.
2740         * lisp/progmodes/cc-langs.el: New c-lang-setvar `comment-end-can-be-escaped'.
2742 2015-12-28  Katsumi Yamaoka  <yamaoka@jpl.org>
2744         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
2746         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
2747         Don't use split-string with 4th arg for old Emacsen compatibility.
2749 2015-12-27  Dmitry Gutov  <dgutov@yandex.ru>
2751         Rename project-library-roots to project-external-roots
2753         * lisp/progmodes/project.el (project-library-roots): Rename to
2754         project-external-roots.
2755         (project-library-roots-function): Rename to
2756         project-vc-external-roots-function.  Only use it in the VC
2757         backend, for now.  Update project-external-roots accordingly.
2758         (project-vc-library-roots): Remove.
2759         (project-or-libraries-find-regexp):
2760         Rename to project-or-external-find-regexp.
2762         * lisp/progmodes/elisp-mode.el (elisp-library-roots):
2763         Rename to elisp-load-path-roots.
2765         * lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
2766         an anonymous function for the default value of
2767         project-vc-external-roots-function.
2769 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
2771         * idna.el (idna-decode-string-internal): Implement decoding.
2773 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
2775         Further IDNA tweaks
2777         (idna-encode-string): Make idna-encode-string safe for
2778         non-ASCII use.
2780 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
2782         Clean up the code slightly
2784 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
2786         Added basic idna encoding support
2788         * lisp/net/idna.el: New file.
2790 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
2792         Disconnection fixes for erc
2794         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
2795         reconnect if the user has disconnected explicitly (bug#4589).
2797 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
2799         Further erc asynch fixes
2801         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
2802         erc-server-connect to return even if the connection is not
2803         ready.  Then erc-open and erc-server-reconnect do the
2804         same. (bug#5650).
2806 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
2808         Make erc connect asynchronously
2810         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
2811         reconnect asynchronously.
2813         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
2815 2015-12-27  Deniz Dogan  <deniz@dogan.se>
2817         Clear erc user list upon disconnection
2819         * lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
2820         lists upon disconnection.  This prevents invalid channel
2821         user lists when reconnecting (bug#10947).
2823 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
2825         Don't bug out in erc after waking from sleep
2827         * erc-backend.el (erc-server-send-ping): If the server has
2828         closed connection, this may already have been detected and
2829         `erc-server-last-received-time' has been set to nil (bug#13608).
2831 2015-12-27  David Edmondson  <dme@dme.org>
2833         Proxy error in erc with multiple clients
2835         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
2836         generated when multiple IRC clients talk to a single IRC proxy
2837         (bug#19034).
2839 2015-12-27  Dima Kogan  <dima@secretsauce.net>
2841         Ensure that we don't have several timers in erc
2843         * lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
2844         for existing timers in the alist before adding new ones.  If a
2845         timer already exists, it is cancelled and
2846         overwritten. (bug#19292).
2848 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
2850         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
2851         (bug#18718).
2853 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
2855         * lisp/erc/erc-log.el (erc-log-setup-logging): Insert the previous log
2856         at the start of the buffer, not at the end (bug#20496).
2858 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
2860         * lisp/net/eww.el (eww-setup-buffer): Restore left-to-right defaults.
2862 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
2864         Don't join erc channels doubly
2866         * erc-join.el (erc-autojoin-channels): Don't join channels
2867         more than once (if you have several nicks) (bug#20695).
2869 2015-12-27  Eli Zaretskii  <eliz@gnu.org>
2871         Avoid leaving "ghost" of mouse pointer on MS-Windows
2873         * src/w32term.c (frame_set_mouse_pixel_position):
2874         * src/w32fns.c (Fw32_mouse_absolute_pixel_position): Momentarily
2875         disable "mouse trails" when moving the mouse pointer.  (Bug#22247)
2876         * src/w32term.c (frame_set_mouse_pixel_position): Include
2877         w32common.h.
2879 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
2881         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
2883 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
2885         Identify unsafe combinations of Bcc and encryption
2887         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
2888         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
2889         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
2891 2015-12-27  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
2893         Fix auth source lookups from erc with port numbers
2895         * lisp/erc/erc.el (erc-open): `auth-source' wants strings, not port
2896         numbers (bug#20541).
2898 2015-12-27  Fran Litterio  <flitterio@gmail.com>
2900         Run erc-kill-channel-hook always on exit
2902         * lisp/erc/erc.el (erc-kill-buffer-function): Run erc-kill-channel-hook
2903         when erc-kill-queries-on-quit is set (bug#21187).
2905 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
2907         Spelling fix
2909         * test/automated/url-parse-tests.el:
2910         (url-generic-parse-url/same-document-reference):
2911         Rename from url-generic-parse-url/same-decument-reference.
2913 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
2915         Reword initial *scratch* for brevity, appearance
2917         * lisp/startup.el (initial-scratch-message):
2918         Reword to avoid apostrophes, and to make it shorter.
2919         See the thread starting in:
2920         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html
2922 2015-12-26  Leo Liu  <sdl.web@gmail.com>
2924         Add ert-deftest to lisp-mode.el
2926         * lisp-mode.el (lisp-imenu-generic-expression,
2927           lisp-el-font-lock-keywords-1): Add ert-deftest.
2929 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
2931         Mark imap changes as not needing doc changes
2933         * imap.el (imap-ssl-open): Remove
2935 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
2937         Use built-in encryption in imap.el
2939         * lisp/net/imap.el (imap-ssl-program): Remove (bug#21134).
2940         (imap-starttls-open): Use open-network-stream instead of starttls.el.
2941         (imap-tls-open): Use open-network-stream instead of tls.el.
2943 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2945         Don't try using /bin/sh in artist.el on MS-Windows
2947         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
2948         New function.
2949         (artist-figlet-choose-font): Use it on MS-Windows and MS-DOS.
2950         (Bug#20167)
2952 2015-12-26  Wolfgang Jenkner  <wjenkner@inode.at>
2954         Always define gmalloc etc. in src/gmalloc.c
2956         This is a work-around to prevent the compiler from using semantic
2957         knowledge about malloc for optimization purposes.  E.g., gcc 5.2
2958         with -O2 replaces most of calloc's definition by a call to calloc;
2959         see Bug#22085.
2960         * src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
2961         (aligned_alloc, free): Do not undef.  Instead, define these as
2962         functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
2964 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2966         Fix documentation of browse-url browser-related functions
2968         * lisp/net/browse-url.el (browse-url)
2969         (browse-url-default-browser, browse-url-default-windows-browser)
2970         (browse-url-default-macosx-browser, browse-url-chromium)
2971         (browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS
2972         and NEW-WINDOW arguments in these functions.  (Bug#19421)
2974 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
2976         Propagate Bug#14412 fix to backtrace_eval_unrewind
2978         * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
2979         becomes accurate again. This shouldn’t affect behavior.
2980         (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.
2982 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2984         Don't produce non-ASCII characters in *scratch*
2986         * lisp/startup.el (initial-scratch-message): Quote apostrophes to
2987         avoid producing non-ASCII characters in the *scratch* buffer's
2988         commentary.
2990 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2992         Document changes in 'compare-windows'
2994         * lisp/vc/compare-w.el (compare-windows-removed)
2995         (compare-windows-added): Doc fix.
2997         * doc/emacs/files.texi (Comparing Files): Document the changes in
2998         window selection by 'compare-windows'.
3000 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3002         Document 'vc-annotate-background-mode'
3004         * doc/emacs/maintaining.texi (Old Revisions): Document
3005         'vc-annotate-background-mode'.
3007 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3009         Document 'vc-region-history'
3011         * doc/emacs/maintaining.texi (VC Change Log): Document
3012         'vc-region-history'.
3014 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3016         Improve documentation of 'vc-push'
3018         * doc/emacs/maintaining.texi (Pulling / Pushing): Expand and
3019         improve the documentation of 'vc-push'.
3021         * lisp/vc/vc.el (vc-pull, vc-push): Doc fix.
3023 2015-12-26  Alain Schneble  <a.s@realize.ch>
3025         Include the tests for the URL parsing fixes
3027 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3029         Document 'url-user-agent'.
3031         * lisp/url/url-http.el (url-user-agent): Move from here...
3032         * lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
3033         keep all the URL defcustoms in one place, and also have it defined
3034         whenever the URL library is loaded.
3036         * doc/misc/url.texi (Customization): Document 'url-user-agent'.
3038 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3040         Document protocols supported by URL library via Tramp
3042         * doc/misc/url.texi (Tramp): New node, describes the URL schemes
3043         supported via Tramp.
3044         (Supported URL Types, file/ftp, rlogin/telnet/tn3270): Mention
3045         Tramp.
3047 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3049         Document changes in Shell-script mode
3051         * lisp/progmodes/sh-script.el (sh-mode, sh-set-shell): Document
3052         the 'sh-shell' file-local variable.
3053         (top level): Add an auto-load form to avoid byte-compiler warning
3054         about 'comint-send-string'.
3056 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3058         Fix documentation of 'ses-define-local-printer'
3060         * doc/misc/ses.texi (Printer functions): Fix whitespace between
3061         sentences and punctuation.  Add an index entry for
3062         'ses-define-local-printer'.
3064 2015-12-26  Shakthi Kannan  <shakthimaan@gmail.com>
3066         Document 'ert-summarize-tests-batch-and-exit'
3068         * doc/misc/ert.texi (Running Tests in Batch Mode): Document
3069         'ert-summarize-tests-batch-and-exit'.
3071 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3073         Avoid assertion violation in unbind_to
3075         * src/eval.c (unbind_to) <SPECPDL_LET>: Avoid assertion violation
3076         if we get here with an object that is not a symbol.  (Bug#14412)
3078 2015-12-25  Andreas Schwab  <schwab@linux-m68k.org>
3080         Don't treat /foo/bar:mumble as ange-ftp address
3081         * lisp/net/browse-url.el (browse-url-filename-alist): Match colons
3082         only in the first component.  (bug#5362)
3084 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
3086         Make sure *scratch* etc. use forward slashes in its default-directory
3088         * lisp/startup.el (normal-top-level): On MS-Windows, convert
3089         backslashes to forward slashes while decoding default-directory
3090         of the initially-created buffers.
3092 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
3094         Restore info about the build host in bug reports
3096         * lisp/mail/emacsbug.el (report-emacs-bug): Report the system on
3097         which Emacs was built.  This is important information for
3098         investigating bug reports reported by users who don't build their
3099         Emacs.
3101 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
3103         Fix bootstrap broken by changes related to OS X file-name encoding
3105         * lisp/international/ucs-normalize.el (eval-when-compile): Make
3106         sure char-code-property-alist includes elements that allow access
3107         to 'decomposition' and 'canonical-combining-class' Unicode
3108         properties, as compiling ucs-normalize.el requires that.
3109         * lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
3110         only of charprop.el was already loaded.
3112         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
3113         New order-only dependency.
3115 2015-12-25  Leo Liu  <sdl.web@gmail.com>
3117         * ido.el (ido-add-virtual-buffers-to-list): Use bookmark-get-filename.
3119 2015-12-25  Michael Albinus  <michael.albinus@gmx.de>
3121         Make tramp-test29-vc-registered more robust
3123         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
3124         Move `bzr' case down.  Skip test when `vc-create-repo' fails.
3125         Remove instrumentation.
3127 2015-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3129         * lisp/term/x-win.el (x-gtk-stock-map): Fix typo.
3131 2015-12-23  Katsumi Yamaoka  <yamaoka@jpl.org>
3133         Fix `gnus-union' so as to behave like `cl-union'
3135         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat):
3136         Make gnus-union use `equal' to compare items in lists.
3138         * lisp/gnus/gnus-util.el (gnus-union):
3139         Make it behave like cl-union partially.
3141 2015-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3143         Fix dired.c typo with ptrdiff_t vs Lisp_Object
3145         * src/dired.c (file_name_completion): Don't assume Lisp_Object is
3146         an integer type, fixing a problem introduced in the recent fix for
3147         Bug#22169.
3149 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
3151         Document default process sentinel more prominently
3153         * doc/lispref/processes.texi (Asynchronous Processes): Mention the
3154         defaults for process filter and sentinel.  Provide cross-references.
3155         (Process Information): Provide cross-references to where filters
3156         and sentinels are described.
3157         (Filter Functions): Add an index entry for "default filter".
3158         (Sentinels): Add a few status messages not documented previously.
3159         Resolve the "killed" confusion.  Document and describe the default
3160         sentinel.  (Bug#22220)
3162 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
3164         Fix file-name completion on OS X
3166         * src/dired.c (file_name_completion): Reject false matches due to
3167         file-name-coding-systems that decompose characters when encoding
3168         file names, by comparing decoded file names as well.  (Bug#22169)
3169         (syms_of_dired) <Qdecomposed_characters>: New DEFSYM.
3171         * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a
3172         non-nil 'decomposed-characters' property.
3174 2015-12-23  Anders Lindgren  <andlind@gmail.com>
3176         File-name completion of non-ASCII characters on OS X (bug#22169)
3178         The coding system `utf-8-nfd', locally defined in ns-win.el,
3179         didn't provide a :pre-write-conversion method, causing file name
3180         completion of non-ASCII characters to fail.  Solved by using the
3181         `utf-8-hfs' coding system provided by `ucs-normalize'.
3183         * lisp/loadup.el: Load international/ucs-normalize (when building
3184         for ns).
3186         * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for
3187         `utf-8-hfs' and removed the old implementation.  Set `utf-8-hfs'
3188         as the file name coding system.
3190         * src/nsfns.c (ns-convert-utf8-nfd-to-nfc): Removed.
3192 2015-12-22  Tom Tromey  <tom@tromey.com>
3194         Fix bug #18588 by making bug-reference-bug-regexp more lenient
3196         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Accept
3197         "bug NNNN".  (Bug #18588)
3199 2015-12-22  Tom Tromey  <tom@tromey.com>
3201         add some cl-* aliases to lisp-mode imenu
3203         * (lisp-imenu-generic-expression): Add cl-define-compiler-macro,
3204         cl-defgeneric, and cl-defmethod.
3206 2015-12-22  Tom Tromey  <tom@tromey.com>
3208         Make a variable buffer-local
3210         * lisp/generic-x.el (generic-rul-mode-setup-function): Make
3211         font-lock-syntax-table buffer-local.  (Bug #21627)
3213 2015-12-22  Eli Zaretskii  <eliz@gnu.org>
3215         Fix decoding of text in URLs retrieved by EWW
3217         * lisp/net/eww.el (eww-render): Pass 'charset' to
3218         'eww-display-raw'.  Use the value of 'last-coding-system-used', if
3219         non-nil, to set 'buffer-file-coding-system' of the buffer where we
3220         show the URL.
3221         (eww-display-html, eww-display-raw): Decode the text correctly,
3222         using the charset found in the headers, and defaulting to UTF-8.
3223         If the user told us to use a specific encoding, override the
3224         charset from the headers.  (Bug#22222)
3226 2015-12-22  Alan Mackenzie  <acm@muc.de>
3228         Fix a coding error in c-forward-<>-arglist-recur.  Fixes bug#22156
3230         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Remove unused
3231         variable `tmp'.
3232         After a failed search for a matching ">", restore point before continuing.
3234 2015-12-22  Michael Albinus  <michael.albinus@gmx.de>
3236         Instrument Tramp tests
3238         * test/automated/tramp-tests.el (tramp-test29-vc-registered)
3239         (tramp--test-utf8): Instrument tests.
3241 2015-12-22  Martin Rudalics  <rudalics@gmx.at>
3243         Fix `display-buffer' call in `display-message-or-buffer' (Bug#22221)
3245         * lisp/simple.el (display-message-or-buffer): Call
3246         `display-buffer' with ACTION instead of NOT-THIS-WINDOW
3247         (Bug#22221).
3249 2015-12-21  Juri Linkov  <juri@linkov.net>
3251         * lisp/saveplace.el (toggle-save-place, save-place-to-alist)
3253         (save-places-to-alist, save-place-dired-hook):
3254         Check for dired-subdir-alist.  (Bug#19851)
3256 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3258         Add FIXME comment re stack overflow and modules
3260 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
3262         Revert some recent emacs-module commentary
3264         Most of the recently-added commentary was incorrect, due to the
3265         possibility of stack overflow.
3267 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
3269         Spelling fix: prefer "cooperate" to "co-operate"
3271 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
3273         Port undo fixes to -fno-common
3275         Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'.
3276         * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo)
3277         (buffer_before_last_command_or_undo):
3278         Declare in keyboard.h, and define in keyboard.c,
3279         instead of assuming the traditional Unix relaxed ref-def linkage.
3281 2015-12-20  Philipp Stephani  <phst@google.com>
3283         Improve commentary for emacs-module.c
3285         * src/lisp.h: Document emacs-module.c assumptions about EQ and NILP.
3286         * src/emacs-module.c (module_non_local_exit_get): Document that we
3287         cannot use the current implementation.
3288         (module_is_not_nil, module_eq): Document assumptions about EQ and
3289         NILP.
3291 2015-12-20  Michael Albinus  <michael.albinus@gmx.de>
3293         Suppress test on Mac OS X
3295         * test/automated/tramp-tests.el (tramp--test-darwin-p): New defun.
3296         (tramp--test-utf8): Use it.
3298 2015-12-20  Alan Mackenzie  <acm@muc.de>
3300         Merge branch 'scratch/follow' into emacs-25
3302         This allows Isearch, etc., to work well when Follow Mode is active.
3304 2015-12-19  Michael Albinus  <michael.albinus@gmx.de>
3306         * tramp-sh.el (tramp-get-ls-command-with-w-option): Improve check.
3308 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3310         Fix last commit
3312         * doc/emacs/rmail.texi (Rmail Deletion): Document new behavior of 'u'
3313         with numeric argument.
3315 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3317         Document new features of Rmail
3319         * doc/emacs/rmail.texi (Rmail Summary Edit, Rmail Deletion):
3320         Document new behavior of 'd' and 'C-d' with numeric argument.
3321         (Rmail Display): Document the rendering of HTML MIME parts.
3323 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3325         Improve documentation of new cl-lib functions
3327         * doc/misc/cl.texi (Predicates on Numbers, Numerical Functions):
3328         Fix wording.
3330 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3332         Document the new feature of 'minibuffer-with-setup-hook'
3334         * lisp/files.el (minibuffer-with-setup-hook): Clarify how FUN is
3335         added to `minibuffer-setup-hook'.
3337 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3339         Document new features of Font Lock
3341         * doc/lispref/modes.texi (Other Font Lock Variables): Document
3342         'font-lock-flush-function' and 'font-lock-ensure-function'.
3343         (Font Lock Basics): Document the basic fontification functions
3344         referenced in "Other Font Lock Variables".
3346         * lisp/font-lock.el (font-lock-flush, font-lock-ensure): Doc fix.
3348 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3350         Document new features of Rectangle mode
3352         * doc/emacs/killing.texi (Rectangles): Document "C-x C-x" in
3353         rectangle-mark-mode.
3355 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3357         Manual followup to last change
3359         * doc/lispref/display.texi (Displaying Messages): Sync with the
3360         doc string.  (Bug#22210)
3362 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3364         Clarify doc string of 'display-message-or-buffer'
3366         * lisp/simple.el (display-message-or-buffer): Doc fix.  Suggested
3367         by Sebastian Wiesner <swiesner@lunaryorn.com>.  (Bug#22210)
3369 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3371         * doc/emacs/emacs.texi (Top): Update top-level menus.
3373         * doc/lispref/elisp.texi (Top): Update top-level menus.
3375 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3377         Document how to avoid file-local variables that aren't
3379         * doc/emacs/custom.texi (Specifying File Variables): Describe how
3380         to prevent Emacs from interpreting unrelated text as file-local
3381         variables.  (Bug#22166)
3383 2015-12-19  Dave Thomas  <dave@pragprog.org>  (tiny change)
3385         Fix a typo in eterm-color's termcap entry
3387         * lisp/term.el (term-termcap-format): Fix a typo in the "ue="
3388         entry.  (Bug#22184)
3390 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3392         Allow 'browse-url-emacs' visit non-existent URLs
3394         * lisp/url/url-handlers.el (url-insert-file-contents): Don't
3395         signal an error if VISIT is non-nil, to more faithfully emulate
3396         the behavior of 'insert-file-contents'.  (Bug#22160)
3398 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3400         Remove SunOS 4.x cruft
3402         Support for SunOS 4.x was removed in Emacs 23 but some cruft was left behind.
3403         * lib-src/pop.c [sun]: Remove no-longer-needed include.
3404         * lwlib/xlwmenu.c (SUNSO41): Remove.
3406 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3408         Merge from gnulib
3410         This mostly commentary fixes.
3411         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
3412         * lib/gnulib.mk: Regenerate with new gnulib-tool.
3414 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
3416         Minor fixes in Tramp
3418         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
3419         Reorder ls arguments.
3421         * lisp/net/tramp.el (tramp-dissect-file-name): Fix docstring.
3423 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
3425         Make tramp a built-in package
3427         * lisp/finder.el (finder-compile-keywords): Update
3428         `package--builtins' also when Version: keyword is available.
3430         * lisp/net/trampver.el: Add Version: keyword.
3431         (tramp-version): Change it to "2.2.13.25.1", in order to be
3432         compatible with `version-to-list'.
3434 2015-12-18  Lele Gaifax  <lele@metapensiero.it>
3436         * etc/tutorials/TUTORIAL.it: Update and fix typos.  (Bug#22187)
3438 2015-12-18  Alan Mackenzie  <acm@muc.de>
3440         Rename `recenter-group' to `recenter-window-group'
3442         * doc/lispref/windows.texi (Textual Scrolling)
3443         * lisp/window.el (top level, recenter-group)
3444         * lisp/follow.el (follow-mode)
3445         * lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
3446         `recenter-window-group' and `recenter-group-function' to
3447         `recenter-window-group-function'.
3449 2015-12-18  Eli Zaretskii  <eliz@gnu.org>
3451         Fix vertical-motion in tabulated-list mode
3453         * src/indent.c (Fvertical_motion): When moving from line beginning
3454         to point under line truncation, assume overshoot by one line only
3455         if point actually lies beyond the window's right margin.
3456         (Bug#22194)
3458 2015-12-18  Martin Rudalics  <rudalics@gmx.at>
3460         Don't have help functions call x-display-pixel-width/-height on ttys
3462         * lisp/help.el (temp-buffer-max-height, temp-buffer-max-width):
3463         Don't call x-display-pixel-width/-height on ttys.
3465 2015-12-17  Dmitry Gutov  <dgutov@yandex.ru>
3467         Use 'hg id' in vc-hg-previous-revision
3469         * lisp/vc/vc-hg.el (vc-hg-previous-revision):
3470         Use 'hg id' to retrieve it (bug#22032).
3472 2015-12-17  Alan Mackenzie  <acm@muc.de>
3474         * lisp/follow.el (follow-sit-for): Remove (it's redundant).
3476 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
3478         Fix a typo in the Emacs manual
3480         * doc/emacs/trouble.texi (Sending Patches): Fix a typo.  Reported
3481         by Lele Gaifax <lele@metapensiero.it>.  (Bug#22193)
3483 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
3485         Fix parsing netrc entries with ports
3487         * lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't
3488         make a list out of 't'.  (Bug#22188)
3490         * test/automated/auth-source-tests.el
3491         (auth-source-test-netrc-parse-entry): New test.
3493 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
3495         Fix typo in Doug Lea malloc configure log
3497         * configure.ac (emacs_cv_var_doug_lea_malloc):
3498         Fix typo that confused the log output of 'configure'.
3500 2015-12-16  Nicolas Petton  <nicolas@petton.fr>
3502         * etc/NEWS: Mention the new pcase patterns `seq' and `map'.
3504 2015-12-16  Alan Mackenzie  <acm@muc.de>
3506         * etc/NEWS: Move entry on pcase to correct section
3508         (Accidentally omitted from previous commit)
3510 2015-12-16  Alan Mackenzie  <acm@muc.de>
3512         Add documentation for changes to Show Paren mode.
3514         * lisp/paren.el (show-paren-highlight-openparen): Enhance doc string.
3516         * doc/emacs/programs.texi (Matching): Add descriptions of some pertinent user
3517         options, including the new show-paren-when-point-inside-paren and
3518         show-paren-when-point-in-periphery.
3520         * etc/NEWS (.. Specialized Modes ...): Add an entry for Show Paren mode.
3521         Move an entry on pcase to the Lisp Changes section.
3523 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
3525         Document Eldoc changes
3527         * doc/emacs/programs.texi (Lisp Doc): Document Global Eldoc mode.
3529 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
3531         Fix invocation of Python and Guile interpreters from gdb-mi
3533         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
3534         commands for interactive Python and Guile interpreters.
3535         (gdb-send): Recognize various ways of exiting from Python and
3536         Guile interpreters and returning to GDB.  For details, see
3537         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00693.html
3538         and http://stackoverflow.com/questions/31514741.
3540 2015-12-16  Paul Eggert  <eggert@cs.ucla.edu>
3542         Remove attempt to use C11 threads
3544         C11 threads are not needed for Emacs now, and their use is causing
3545         hassles on FreeBSD 10.x.  Problem reported by Ashish SHUKLA in:
3546         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html
3547         * configure.ac: Do not check for C11 threads. Remove unnecessary
3548         fiddling with CPPFLAGS when configuring pthreads.
3549         * src/emacs-module.c (main_thread, check_main_thread)
3550         (module_init): Do not worry about C11 threads.
3552 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
3554         Set utf8 encoding with stty in Tramp
3556         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3557         Move up uname check.  Handle Mac OS X eol encoding.  Set utf8
3558         encoding with stty.
3560 2015-12-15  Alan Mackenzie  <acm@muc.de>
3562         Tidy up documentation associated with window groups.
3564         * doc/lispref/windows.texi (Basic Windows): Add an @anchor for "Window
3565         Groups".  Correct example function to `window-group-start'.
3566         (Window Start and End, Textual scrolling): Point to the new anchor.  State
3567         that (most of) the args in window group functions have the same meaning as for
3568         the corresponding window primitives.
3570         * doc/lispref/positions.texi (Screen Lines).  Same as above.
3572 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
3574         Complete last commit
3576         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3577         Move uname check up.  Handle Mac OS X eol encoding.
3579 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
3581         Handle Mac OS X eol encoding in Tramp
3583         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3584         Handle Mac OS X eol encoding.
3586 2015-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3588         Fix variable name typo in compute_tip_xy
3590         * src/w32fns.c (compute_tip_xy):
3591         * src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y
3592         when `right' is integer.
3594 2015-12-14  foudfou  <foudil.newbie+git@gmail.com>  (tiny change)
3596         * lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region.
3598 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
3600         Revert "Fix rx matcher overflow without limiting"
3602         This reverts commit fe27e037663d36be3e5741c2ce86ab4ee8017db1.
3604 2015-12-14  Alan Mackenzie  <acm@muc.de>
3606         Ispell: Bind isearch-regexp-function to nil around call to isearch..-new-loop
3608         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): bind
3609         isearch-regexp-function to nil around call to isearch-lazy-highligh-new-loop.
3611 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
3613         Fix rx matcher overflow without limiting
3615         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve last
3616         change to the regexp without imposing a limit on the length of the
3617         options.
3619 2015-12-14  Alan Mackenzie  <acm@muc.de>
3621         Enhance ispell-skip-region-alist by generating part of it at runtime.
3623         * lisp/textmodes/ispell.el (ispell--\\w-filter, ispell--make-\\w-expression)
3624         (ispell--make-filename-or-URL-re): New functions which generate a regexp.
3625         (ispell-skip-region-alist): Remove the bit that matches a filename/URL, etc.
3626         (ispell-begin-skip-region-regexp, ispell-skip-region-list, ispell-message):
3627         Include the result of ispell--make-filename-or-URL-re in regexps.
3629 2015-12-14  Glenn Morris  <rgm@gnu.org>
3631         * build-aux/gitlog-to-emacslog: Ignore more pointless merge commits.
3633 2015-12-14  Alan Mackenzie  <acm@muc.de>
3635         Replace GROUP argument in six window primitives by new functions.
3637         * doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
3638         * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
3639         from description of six window functions.  Add in description of new functions
3640         window-group-start, window-group-end, set-window-group-start,
3641         pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
3642         together with the six variables indirecting to the pertinent group
3643         functions.
3645         * src/window.c
3646         * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
3647         applies to these two files, which added the GROUP argument to six window
3648         primitives.
3650         * lisp/follow.el (follow-mode): Use updated variable names for the indirected
3651         functions.
3653         * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
3654         (isearch-back-into-window, isearch-lazy-highlight-new-loop)
3655         (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
3656         to window primitives (e.g. window-start) with a GROUP argument by calls to
3657         new functions (e.g. window-group-start).
3659         * lisp/ispell.el (ispell-command-loop): Replace call to
3660         pos-visible-in-window-p with pos-visible-in-window-group-p.
3662         * lisp/window.el (window-group-start, window-group-end)
3663         (set-window-group-start, recenter-group, pos-visible-in-window-group-p)
3664         (selected-window-group, move-to-window-group-line): New functions.
3665         (window-group-start-function, window-group-end-function)
3666         (set-window-group-start-function, recenter-group-function)
3667         (pos-visible-in-window-group-p-function, selected-window-group-function)
3668         (move-to-window-group-line-function): New variables.
3670 2015-12-14  Vitorio Miguel  <vdrbandeiras@gmail.com>  (tiny change)
3672         * etc/tutorials/TUTORIAL.pt_BR: Fix a typo.  (Bug#22165)
3674 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
3676         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
3678 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
3680         Improve regex to not trigger stack overflow
3682         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve regex in
3683         order not to trigger a stack overflow in regex matcher with unbalanced
3684         brackets (bug#22146).
3686 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
3688         Fix visiting files with raw-text
3690         * src/fileio.c (Finsert_file_contents): Fix setting buffer unibyte
3691         when some stuff was actually read.  (Bug#22162)
3693 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
3695         Fix regex matching keyval labels
3697         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Fix regexp
3698         matching keyval labels.
3700 2015-12-13  Michael Albinus  <michael.albinus@gmx.de>
3702         * lisp/ido.el (ido-file-name-all-completions-1): Do not raise an error
3704         ... in case of Tramp.  (Bug#20821)
3706 2015-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3708         Fix performance regression with gcc -O0
3710         This fixes the smaller performance hit that I noted in:
3711         https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00357.html
3712         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, macro_XPNTR):
3713         * src/puresize.h (puresize_h_PURE_P)
3714         (puresize_h_CHECK_IMPURE):
3715         New macros, with the old contents of the functions.
3716         * src/alloc.c (XPNTR_OR_SYMBOL_OFFSET, XPNTR):
3717         * src/puresize.h (PURE_P, CHECK_IMPURE):
3718         Use the new macros.  Also macros, if DEFINE_KEY_OPS_AS_MACROS.
3719         * src/conf_post.h (ATTRIBUTE_UNUSED):
3720         * src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): New macros.
3722 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
3724         * lisp/emacs-lisp/package.el (package-unpack): Security check
3726         Check that we received the package we were offered.
3728 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
3730         * lisp/emacs-lisp/package.el (package--compile): Don't activate
3732         `package-unpack' takes care of all activations now (other than
3733         `package-initialize).  `package--compile' now only compiles.
3735 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
3737         Document the new bindings of <UP> and <DOWN> in the minibuffer
3739         * doc/emacs/mini.texi (Minibuffer History): Describe the new
3740         bindings of <UP> and <DOWN> in the minibuffer.
3742 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
3744         Document new features of Ido
3746         * doc/misc/ido.texi (Misc): Document 'C-S-b'.
3748 2015-12-12  Martin Rudalics  <rudalics@gmx.at>
3750         Fix frame height calculations with added menu bar on Windows (Bug#22105)
3752         * doc/lispref/frames.texi (Parameter Access): Mention pitfalls
3753         when simultaneously specifying multiple parameters for
3754         `modify-frame-parameters' that all may change the frame's size.
3755         * src/w32fns.c (x_set_menu_bar_lines): Don't set
3756         windows_or_buffers_changed here.
3757         (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect
3758         with third argument false.
3759         * src/w32menu.c (set_frame_menubar): Set
3760         windows_or_buffers_changed here.
3761         * src/w32term.c (x_set_window_size): Determine third argument of
3762         AdjustWindowRect from whether the frame has a menu bar and not
3763         from whether it wants one.
3765 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
3767         Document the change in interactive shell mode
3769         * doc/emacs/misc.texi (Interactive Shell): Document that the
3770         '*shell*' buffer by default displays in a new window.
3772 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
3774         Document new features of package.el
3776         * doc/emacs/package.texi (Package Menu): Document the 'external'
3777         status and the new menu commands.
3778         (Package Installation): Document archive priorities.
3780         * lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
3781         (package-menu-hide-low-priority): Doc fix.
3783 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
3785         Update and document new features of xterm support
3787         * doc/emacs/frames.texi (Text-Only Mouse): Document that
3788         track-mouse is supported by newer xterm versions.
3790 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
3792         Document new features of Prettify Mode
3794         * doc/emacs/programs.texi (Misc for Programs): Document
3795         'prettify-symbols-compose-predicate' and
3796         'prettify-symbols-unprettify-at-point'.
3798         * lisp/progmodes/prog-mode.el (prettify-symbols-alist)
3799         (prettify-symbols-default-compose-p)
3800         (prettify-symbols-compose-predicate)
3801         (prettify-symbols--compose-symbol): Doc fixes.
3803 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
3805         Document multi-mode indentation facilities
3807         * doc/lispref/text.texi (Mode-Specific Indent): Document
3808         'prog-indentation-context', 'prog-first-column', and 'prog-widen'.
3810         * lisp/progmodes/prog-mode.el (prog-indentation-context)
3811         (prog-widen): Doc fixes.
3813 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
3815         Document 'vc-refresh-state'
3817         * doc/emacs/maintaining.texi (Version Control): Document
3818         'vc-refresh-state'.
3820         * lisp/vc/vc-hooks.el (vc-refresh-state): Doc fix.
3822 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
3824         Fix echo for "C-u"
3826         * src/keyboard.c (command_loop_1): Undo last change.  It caused
3827         duplicate echo of C-u.  (Bug#22107)
3829 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3831         Avoid errors when creating files under SVN in new directory
3833         * lisp/vc/vc-svn.el (vc-svn-registered): Use
3834         file-accessible-directory-p, to avoid cd'ing to a non-existing
3835         directory, which signals an error on some systems.  (Bug#21984)
3836         (vc-svn-checkin): Call log-edit-extract-headers with 2 arguments.
3837         Use declare-function to avoid byte-compiler warnings.
3839 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3841         Improve Lua support in etags
3843         * lib-src/etags.c (Lua_functions): Skip spaces before looking for
3844         "function".
3846         * etc/NEWS: Mention improved Lua support by 'etags'.
3848         * test/etags/lua-src/test.lua (test): Add tests for indented
3849         function definitions.
3850         * test/etags/ETAGS.good_1:
3851         * test/etags/ETAGS.good_2:
3852         * test/etags/ETAGS.good_3:
3853         * test/etags/ETAGS.good_4:
3854         * test/etags/ETAGS.good_5:
3855         * test/etags/ETAGS.good_6:
3856         * test/etags/CTAGS.good: Adapt to the modified Lua tests.
3858 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3860         Fix 'this-command-keys' wrt prefix argument
3862         * src/keyboard.c (command_loop_1): Restore the feature whereby C-u
3863         was part of this-command-keys, but not of this-single-command-keys.
3864         (Bug#22107)
3866         * lisp/simple.el (internal-echo-keystrokes-prefix): Add
3867         commentary about the function's return value.
3869 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3871         * lisp/files.el (load-library): Doc fix.  (Bug#22140)
3873 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3875         Improve and document Ruby support in 'etags'
3877         * lib-src/etags.c (Ruby_suffixes): Add ".ruby".
3878         (Ruby_functions): Support "module" and overloaded operators.
3879         (Ruby_help): Mention "module".
3881         * test/etags/ruby-src/test.rb:
3882         * test/etags/ruby-src/test1.ruby: New files.
3883         * test/etags/Makefile (RBSRC): New tests.
3884         (SRCS): Add ${RBSRC}.
3885         * test/etags/ETAGS.good_1:
3886         * test/etags/ETAGS.good_2:
3887         * test/etags/ETAGS.good_3:
3888         * test/etags/ETAGS.good_4:
3889         * test/etags/ETAGS.good_5:
3890         * test/etags/ETAGS.good_6:
3891         * test/etags/CTAGS.good: Adapt to the new Ruby tests.
3893         * doc/man/etags.1: Mention Ruby support.
3894         * etc/NEWS: Mention Ruby support.
3896 2015-12-11  Xi Lu  <lx@shellcodes.org>
3898         Initial support for Ruby in 'etags'
3900         * lib-src/etags.c <Ruby_suffixes>: New variable.
3901         (lang_names): Add an entry for Ruby.
3902         (Ruby_functions): New function.  (Bug#22116)
3904 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3906         Clarify documentation of 'modify-frame-parameters'
3908         * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
3909         PARMs" mean for 'modify-frame-parameters'.
3911         * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
3912         PARMs" mean for this function.  (Bug#22104)
3914 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3916         Fix setting buffer unibyte when reading from a device
3918         * src/fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3919         to make a (possibly non-empty) buffer unibyte.  (Bug#22096)
3921 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3923         Clarify documentation of 'values'
3925         * doc/lispref/eval.texi (Eval): Clarify that 'values' are not
3926         updated by any evaluation commands in 'lisp-interaction-mode'.
3927         (Bug#22056)
3929 2015-12-11  Anders Lindgren  <andlind@gmail.com>
3931         Fixed subversion vc error when opening file in new directory (bug#21984).
3933         * lisp/vc/vc-svn.el (vc-svn-registered): Check if directory exists.
3935 2015-12-09  Eli Zaretskii  <eliz@gnu.org>
3937         Yet another fix for when point ends up in invisible text
3939         * src/xdisp.c (redisplay_window): When someone forced
3940         window-start, and honoring that failed to show the cursor, try
3941         moving out of invisible text, before falling back to the middle of
3942         the window.  (Bug#22098)
3944 2015-12-09  Michael Albinus  <michael.albinus@gmx.de>
3946         Fix error in Tramp perl script for cygwin
3948         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not raise an
3949         error if file doesn't exist.
3951 2015-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3953         Remove font workaround for limited outdated versions
3955         * src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove
3956         workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1.
3958 2015-12-09  Anders Lindgren  <andlind@gmail.com>
3960         Don't add "." to load path (bug#21104)
3962         When configured with --enable-locallisppath=no, which is the
3963         default for OS X, the load-path incorrectly was populated with ".".
3965         * src/lread.c (init_lread): Don't call `decode_env_path' when
3966         PATH_SITELOADSEARCH is empty.
3968 2015-12-08  Artur Malabarba  <bruce.connor.am@gmail.com>
3970         * lisp/emacs-lisp/package.el (package--with-response-buffer):
3972         Search for the blank-line in the right buffer.
3974 2015-12-08  Glenn Morris  <rgm@gnu.org>
3976         * test/automated/simple-test.el (undo-auto-boundary-timer): Update
3977         for recent change.
3979 2015-12-08  Glenn Morris  <rgm@gnu.org>
3981         Fix some display-warning usage.
3983         * lisp/files.el (hack-local-variables, hack-dir-local-variables):
3984         * lisp/calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
3985         * lisp/calendar/holidays.el (calendar-holiday-list):
3986         * lisp/mail/rmailout.el (rmail-output-read-file-name):
3987         Fix display-warning usage.
3989 2015-12-07  Glenn Morris  <rgm@gnu.org>
3991         * lisp/calendar/cal-html.el: Require diary-lib.
3993         (cal-html-list-diary-entries): Handle no diary.  (Bug#21994)
3995 2015-12-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3997         Add Obsolete-since header to eudcb-ph.el
3999         * eudcb-ph.el: Add Obsolete-since header.
4001 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
4003         Spelling fixes
4005         * doc/misc/calc.texi (Predefined Units): Use the bland modern
4006         scientific style for spelling the units “ampere” and
4007         “angstrom” rather than the older style “Ampere” and
4008         “Ångstrom”.  The latter spelling was wrong anyway (it should
4009         have been “Ångström”).
4010         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
4011         Fix misspelling of ‘atom’ in code.
4013 2015-12-07  Eli Zaretskii  <eliz@gnu.org>
4015         Improve documentation of kill commands
4017         * lisp/simple.el (region-extract-function, delete-backward-char)
4018         (delete-forward-char, kill-region, copy-region-as-kill)
4019         (kill-ring-save): Better document the optional argument REGION in
4020         the doc strings.  Mention in the doc strings that text put in the
4021         kill-ring can be filtered by 'filter-buffer-substring'.
4023         * doc/lispref/text.texi (Kill Functions): Mention that functions
4024         described in this subsection can filter text they put in the
4025         kill-ring.  Add a cross-reference to "Buffer Contents" and an
4026         index entry.  Document the optional argument 'region' and its
4027         effect.
4028         (Bug#21315)
4030 2015-12-07  Alan Mackenzie  <acm@muc.de>
4032         Further progress making Isearch, Ispell, Replace work with Follow Mode.
4034         * lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which
4035         no longer exists.  Add follow-post-command-hook to  three special purpose
4036         hooks at setup, and remove them at tear down.
4038         * lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before
4039         isearch-lazy-highlight-new-loop.
4040         (isearch-lazy-highlight-new-loop): Restore this function to what it previously
4041         was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into
4042         it.
4043         (isearch-lazy-highlight-maybe-new-loop): function removed.
4045         * lisp/replace.el: (replace-update-post-hook): New hook variable.
4046         (perform-replace): Add second (nil) argument to looking-back.  Invoke
4047         replace-update-post-hook before calling replace-highlight.
4049         * lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable.
4050         (ispell-command-loop): invoke ispell-update-post-hook.  Add GROUP argument to
4051         call of pos-visible-in-window-p.
4052         (ispell-display-buffer): Place *Choices* window at the top of the last window
4053         in a window group.
4055 2015-12-07  Alan Mackenzie  <acm@muc.de>
4057         Amend doc of `mapconcat': it can take sequences, not merely strings.
4059         * doc/lispref/functions.texi (Mapping Functions): Amend the doc of `mapconcat'
4060         to say that SEPARATOR and the results from FUNCTION may be any character
4061         sequences, not just strings.  Add an @xref to "Sequences Arrays Vectors".
4063 2015-12-07  Michael Albinus  <michael.albinus@gmx.de>
4065         Fix an utf8 problem for Tramp on BSD
4067         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
4068         Make lax check for utf8.
4069         (tramp-get-remote-locale): Add "en_US.UTF-8" as candidate.
4071 2015-12-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4073         Make eudcb-ph.el obsolete
4075         * doc/misc/eudc.texi: Bump version to 1.40.0.
4076         Remove PH/QI sections and mentions.
4077         * lisp/obsolete/eudcb-ph.el: Make obsolete.
4078         * lisp/net/eudc-vars.el (eudc-known-protocols): Remove ph.
4079         (eudc-ph-bbdb-conversion-alist): Make obsolete.
4080         * etc/NEWS: Mention this.  (Bug#21191)
4082 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
4084         Remove overenthusiastic eassert
4086         * src/lisp.h (XSYMBOL): Remove eassert incorrectly added in
4087         previous change.  It breaks on MS-Windows --with-wide-int.
4088         Problem reported by Eli Zaretskii in:
4089         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00275.html
4091 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
4093         Pacify gcc -Wparentheses
4095         * src/xdisp.c (row_containing_pos): Reparenthesize.
4097 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
4099         Port mod-test to 32-bit Emacs --without-wide-int
4101         * modules/mod-test/test.el (mod-test-sum-test):
4102         Bring back the 2**29 tests, but port them to 32-bit Emacs
4103         --without-wide-int.
4105 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
4107         Fix minor Tramp problems found on BSD
4109         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
4110         trailing slash.  Quote apostrophes.
4111         (tramp-sh-handle-file-truename): Do not append trailing slash in
4112         the "ls" case.
4113         (tramp-get-ls-command-with-w-option): New defun.
4114         (tramp-do-file-attributes-with-ls)
4115         (tramp-do-directory-files-and-attributes-with-stat): Use it.
4117         * test/automated/tramp-tests.el
4118         (tramp-test31-special-characters-with-perl)
4119         (tramp-test31-special-characters-with-ls)
4120         (tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
4121         Suppress also readlink.
4123 2015-12-06  Eli Zaretskii  <eliz@gnu.org>
4125         Fix cursor display when invisible text is at line beginning
4127         * src/xdisp.c (redisplay_window): When scrolling fails to show
4128         point, prefer using the desired matrix if possible for finding the
4129         fallback glyph row for displaying the cursor.  (Bug#22098)
4130         (row_containing_pos): Exit the loop as soon as we hit the first
4131         disabled glyph row.  Otherwise we risk accessing garbled data and
4132         departing to the no-no land.
4134 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
4136         Improve module interface when WIDE_EMACS_INT
4138         * src/emacs-module.c (plain_values): New constant.
4139         (module_nil): Now a constant.
4140         (Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits)
4141         (syms_of_module): Use if, not #ifdef, so that both sides are
4142         checked at compile-time, and so that GCC doesn’t complain
4143         about an unused var in the typical case.  Also, depend on
4144         plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume
4145         that WIDE_EMACS_INT implies !USE_LSB_TAG.
4146         (value_to_lisp_bits, lisp_to_value_bits): New functions.
4147         Sign-extend integers rather than zero-extending them, as small
4148         negative integers are more likely.
4149         (value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits
4150         functions.
4151         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined.
4152         (mark_modules): Remove.  All uses removed.
4153         (lisp_to_value): Don’t assume Fcons returns a pointer aligned
4154         to GCALIGNMENT.
4155         (syms_of_module): Check that module_nil converts to Qnil.
4156         * src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since
4157         we prefer signed to unsigned when either will do.
4158         (TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is
4159         a bit better for emacs-module.c.
4161 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
4163         Port mod-test to x86-64 GNU/Linux running 32-bit
4165         * modules/mod-test/test.el (mod-test-sum-test):
4166         Don’t attempt to match descriptions to operating systems.
4167         It didn’t work on Fedora x86-64 running a 32-bit executable,
4168         and it’s not worth the trouble anyway.
4169         Port to 32-bit platforms by removing an assumption about
4170         fixnum widths.
4172 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
4174         Fix auto-revert-tests.el when filenotify isn't used
4176         * test/automated/auto-revert-tests.el (auto-revert--wait-for-revert):
4177         Make it working also when filenotify isn't used.
4179 2015-12-05  Juri Linkov  <juri@linkov.net>
4181         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
4183         Let-bind isearch-regexp-function to nil.  (Bug#22097)
4185 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
4187         * lisp/emacs-lisp/package.el: Don't install bad signatures (bug#22089)
4189         (package--with-response-buffer): NOERROR and ERROR-FORM only
4190         handle connection errors.
4191         (bad-signature): New error type.
4192         (package--check-signature-content): Use it.
4193         (package--check-signature): Properly distinguish connection errors
4194         from bad-signature errors.  Do the check for
4195         `package-check-signature' `allow-unsigned' here instead of forcing
4196         the callbacks to do it.  Add a new argument, UNWIND.
4197         (package--download-one-archive, package-install-from-archive):
4198         Update usage of `package--check-signature'.
4200 2015-12-05  Ulf Jasper  <ulf.jasper@web.de>
4202         Fix Bug#22092.
4204         * lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
4205           Clean up inconsistent line endings. (Bug#22092)
4206           (icalendar--clean-up-line-endings): New.
4207         * test/automated/icalendar-tests.el (icalendar-real-world): Add test
4208           for Bug#22092.
4210 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
4212         Document 'bookmark-set-no-overwrite'
4214         * doc/emacs/regs.texi (Bookmarks): Document the new command
4215         'bookmark-set-no-overwrite' and its keybinding.
4217 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
4219         Document new binding of 'mouse-buffer-menu'
4221         * doc/emacs/buffers.texi (Buffer Menus): 'mouse-buffer-menu' is
4222         now also on C-F10.
4224 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
4226         Initial documentation of dynamic modules
4228         * doc/lispref/loading.texi (Dynamic Modules): New section with
4229         initial documentation for dynamic modules.
4230         * doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the
4231         detailed menu
4233         * etc/NEWS: Fix typos in dynamic modules' entry.
4235 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
4237         Remove copyright statements from trivial test files
4239 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
4241         Add "Preliminaries" section to etc/DEBUG
4243         * etc/DEBUG: Add the "Preliminaries" section for GDB beginners.
4244         Most of the content was suggested by Phillip Lord
4245         <phillip.lord@russet.org.uk>.  Remove the section about debugging
4246         with the Visual Studio, as building Emacs with the Microsoft
4247         compilers is no longer supported.  Minor fixes in some other
4248         sections.
4250 2015-12-05  Alex Dunn  <dunn.alex@gmail.com>  (tiny change)
4252         Improve parsing of version strings
4254         * lisp/subr.el (version-regexp-alist): Allow "." as priority separator
4255         (version-to-list): More helpful error messages.
4256         (version-to-list): ".5" is valid (update docstring).  Make
4257         "22.8X3" invalid, as the doc string says.
4259         * test/automated/subr-tests.el (ert-test-version-parsing): New
4260         tests for version string processing.
4262 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
4264         Fix documentation of 'undo' changes
4266         * doc/lispref/text.texi (Undo): Minor wording changes.  Use US
4267         English conventions for spelling and whitespace between sentences.
4269         * etc/NEWS: Fix wording and spelling of undo-related entries.
4270         Mark them as documented.
4272 2015-12-04  Glenn Morris  <rgm@gnu.org>
4274         * lisp/net/net-utils.el: Small improvements.
4276         (net-utils--executable-find-sbin): New function.
4277         (ifconfig-program): Check sbin directories.
4278         Fallback to "ip".  (Bug#22091)
4279         (ifconfig-program-options): Check the actual program in use.
4280         (arp-program): Check sbin directories.
4282 2015-12-04  Arash Esbati  <esbati@gmx.de>  (tiny change)
4284         Fix wrong-type-argument integer-or-marker-p nil error
4286         * lisp/textmodes/reftex-auc.el (reftex-what-index-tag):
4287         Fix (wrong-type-argument integer-or-marker-p nil) error (bug#22077).
4289 2015-12-04  Alan Mackenzie  <acm@muc.de>
4291         Merge branch 'scratch/follow' of /home/acm/emacs/emacs.git/emacs-25 into scratch/follow
4293         Merge necessitated by a rebase operation.
4295 2015-12-04  Alan Mackenzie  <acm@muc.de>
4297         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
4299 2015-12-04  Alan Mackenzie  <acm@muc.de>
4301         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
4303         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
4304         Windows" and new @defun selected-window-group.
4305         (Window Start and End): Describe new &optional parameter GROUP and
4306         ...-group-function for window-start, window-end, set-window-start, and
4307         pos-visible-in-window-p.
4308         (Textual Scrolling) Describe the same for recenter.
4309         doc/lispref/positions.texi (Screen Lines): Describe the same for
4310         move-to-window-line.
4312         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
4313         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
4314         new optional parameter "group".  At the beginning of each, check whether the
4315         corresponding ...-group-function is set to a function, and if so execute this
4316         function in place of the normal processing.
4317         (syms_of_window): Define symbols for the six new variables below.
4318         (window-start-group-function, window-end-group-function)
4319         (set-window-start-group-function, recenter-group-function)
4320         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
4321         New permanent local buffer local variables.
4322         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
4323         Fpos_visible_in_window_p.
4325         lisp/window.el (selected-window-group-function): New permanent local buffer
4326         local variable.
4327         (selected-window-group): New function.
4329         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
4330         enable, kill them at mode disable.  Add/remove follow-after-change to/from
4331         after-change-functions.
4332         (follow-start-end-invalid): New variable.
4333         (follow-redisplay): Manipulate follow-start-end-invalid.
4334         (follow-after-change, follow-window-start, follow-window-end)
4335         (follow-set-window-start, follow-pos-visible-in-window-p)
4336         (follow-move-to-window-line, follow-sit-for): New functions.
4338         lisp/isearch.el (isearch-call-message): New macro.
4339         (isearch-update, with-isearch-suspended, isearch-del-char)
4340         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
4341         (with-isearch-suspended): Rearrange code such that isearch-call-message is
4342         invoked before point is moved.
4343         (isearch-message): Add comment about where point must be at function call.
4344         (isearch-search): Remove call to isearch-message.
4345         (isearch-lazy-highlight-window-group): New variable.
4346         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
4347         the battery of tests to ...
4348         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
4349         Note: (sit-for 0) is still called.
4350         (isearch-lazy-highlight-update): Check membership of
4351         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
4352         property.
4353         (isearch-update, isearch-done, isearch-string-out-of-window)
4354         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
4355         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
4356         (isearch-lazy-highlight-update): Call the six amended primitives (see
4357         src/window.c above) with the new `group' argument set to t, to cooperate
4358         with Follow Mode.
4360 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
4362         * lisp/emacs-lisp/ert.el: Prefer pcase over cl-typecase
4364         * lisp/emacs-lisp/ert.el (ert--should-error-handle-error)
4365         (ert--explain-format-atom, ert--explain-equal-rec)
4366         (ert--print-backtrace, ert-test-result-type-p, ert-select-tests)
4367         (ert--insert-human-readable-selector): Prefer pcase over cl-typecase.
4369 2015-12-04  Artur Malabarba  <bruce.connor.am@gmail.com>
4371         * lisp/character-fold.el: Remove special case-folding support
4373         (character-fold-to-regexp): Remove special code for
4374         case-folding.  Char-fold search still respects the
4375         `case-fold-search' variable (i.e., f matches F).  This only
4376         removes the code that was added to ensure that f also matched
4377         all chars that F matched.  For instance, after this commit, f
4378         no longer matches 𝔽.
4380         This was necessary because the logic created a regexp with
4381         2^(length of the string) redundant paths.  So, when a very
4382         long string "almost" matched, Emacs took a very long time to
4383         figure out that it didn't.  This became particularly relevant
4384         because isearch's lazy-highlight does a search bounded by (1-
4385         match-end) (which, in most circumstances, is a search that
4386         almost matches).  A recipe for this can be found in bug#22090.
4388 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
4390         * lisp/emacs-lisp/cl-macs.el (character): Can't be negative
4391         Fixes (bug#21701)
4393 2015-12-04  Daiki Ueno  <ueno@gnu.org>
4395         lisp/gnus/qp.el: Don't replace "from " at bol
4397         * lisp/gnus/qp.el (quoted-printable-encode-region): Bind `case-fold-search'
4398         to nil when looking for "^From ".  Problem reported by Simon Josefsson.
4400 2015-12-03  Phillip Lord  <phillip.lord@russet.org.uk>
4402         Externalize some symbols in undo-auto
4404          * doc/lispref/text.texi: Update symbols.
4405          * lisp/simple.el (undo-auto--amalgamate,
4406            undo-auto--current-boundary-timer): Make symbols public.
4407          * src/cmds.c (Fself_insert_command,Fdelete_char): Call
4408            updated symbol.
4410 2015-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
4412         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix BOB "token"
4414 2015-12-03  Michael Albinus  <michael.albinus@gmx.de>
4416         Some error message improvements in tramp-sh.el
4418         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
4419         Suppress error messages for "mesg" and "biff" calls.
4420         (tramp-get-remote-path): Ignore errors when expanding
4421         `tramp-own-remote-path'.  Raise a warning instead.
4423 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
4425         Document 'nacl' value for 'system-type'
4427         * doc/lispref/os.texi (System Environment): Document the 'nacl'
4428         value of 'system-type'.
4430 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
4432         Document 'window-max-chars-per-line'
4434         * doc/lispref/windows.texi (Window Sizes): Document
4435         'window-max-chars-per-line'.
4437 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
4439         Fix some file headers for the purpose of `package--builtins'
4441         * lisp/emacs-lisp/cl-preloaded.el
4442         * lisp/emacs-lisp/eieio-compat.el
4443         * lisp/net/sasl-scram-rfc.el: Add a "Package:" header
4445         * lisp/ielm.el: Fix summary line.
4447 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
4449         * lisp/emacs-lisp/package.el (package-unpack): Load before compiling
4451         Reload any previously loaded package files before compiling
4452         the package (also reload the same files after compiling).
4453         This ensures that we have the most recent definitions during
4454         compilation, and avoids generating bad elc files when a macro
4455         changes and it is used in a different file from the one it's
4456         defined in.
4458 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
4460         * lisp/emacs-lisp/package.el: Refactor package activation code
4462         (package-activate): Move code that activates dependencies into
4463         package-activate-1.
4464         (package--load-files-for-activation): New function.
4465         (package-activate-1): Add code for (optionally) activating
4466         dependencies, and move file-loading code into
4467         `package--load-files-for-activation'.
4469 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
4471         Document new font-related functionality
4473         * doc/lispref/display.texi (Low-Level Font): Document
4474         'default-font-width', 'default-font-height', 'window-font-width',
4475         and 'window-font-height'.
4477         * etc/NEWS: Move entries for 'default-font-width',
4478         'default-font-height', 'window-font-width', and 'window-font-height'
4479         to their place and mark them documented.
4481 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
4483         Fix documentation and implementation of 'directory-name-p'
4485         * lisp/files.el (directory-name-p): Modify to recognize
4486         backslashes on MS-Windows and MS-DOS.  Adjust the doc string
4487         accordingly.  Use '=', not char-equal, for comparison, as
4488         letter-case cannot possibly be an issue here.
4490         * doc/lispref/files.texi (Directory Names): Move the documentation
4491         of directory-name-p here from "Relative File Names".  Update the
4492         description per the changes in implementation.
4494         * etc/NEWS: Move the entry for 'directory-name-p' to its proper
4495         place and mark it documented.
4497 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
4499         Minor copyedit in Emacs manual
4501         * doc/emacs/search.texi (Lax Search): Make wording about character
4502         folding by default less definitive.  (Bug#22043)
4504 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
4506         More emacs-module.c fixes for wide ints
4508         * src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
4509         unsigned data types to manipulate pointers, to avoid sign
4510         extension coming after us with a vengeance.
4512         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
4513         Emacs with wide ints that verify integer values near the critical
4514         value that requires us to switch to a cons cell.
4516 2015-12-02  Stephen Leake  <stephen_leake@stephe-leake.org>
4518         Fix bug#22069 in cl-generic.el
4520         * lisp/emacs-lisp/cl-generic.el (cl-no-method): Remove %S; this string is
4521         not run thru `format'.
4523 2015-12-01  Dmitry Gutov  <dgutov@yandex.ru>
4525         APPEND etags--xref-backend to xref-backend-functions
4527         * lisp/progmodes/xref.el (xref-backend-functions):
4528         Use APPEND when adding the default element
4529         (http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00061.html).
4531 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
4533         More accurate documentation of lax whitespace matching
4535         * lisp/isearch.el (isearch-forward-word, isearch-forward-symbol)
4536         (word-search-backward, word-search-forward)
4537         (word-search-backward-lax, word-search-forward-lax): Mention in
4538         doc strings that toggling lax whitespace matching has no effect on
4539         these commands.
4541         * doc/emacs/search.texi (Word Search, Symbol Search): Clarify that
4542         lax whitespace matching has no effect on these commands.
4544 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
4546         Fix emacs-module.c for wide ints
4548         * src/emacs-module.c (lisp_to_value): Compare the produced value
4549         with the original Lisp object, not with the one potentially
4550         converted into a Lisp_Cons.  Fixes assertion violations when
4551         working with integers larger than fit into a 32-bit value.
4553         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
4554         large integers, to test --with-wide-int.
4556 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
4558         Document 'directory-files-recursively'
4560         * lisp/files.el (directory-files-recursively): Doc fix.  Rename
4561         the argument MATCH to REGEXP, to be more explicit about its form.
4563         * doc/lispref/files.texi (Contents of Directories): Improve the
4564         documentation of 'directory-files-recursively'.  Add
4565         cross-references.
4567         * etc/NEWS: Move the entry for 'directory-files-recursively' to
4568         its place and mark it documented.
4570 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
4572         Document 'inhibit-read-only' property
4574         * doc/lispref/text.texi (Special Properties): Describe the new
4575         'inhibit-read-only' text property.  Add cross-reference to where
4576         read-only buffers are described.
4577         * doc/lispref/buffers.texi (Read Only Buffers): Mention that
4578         'inhibit-read-only' property exempts text from being read-only.
4579         Add cross-reference to "Special Properties".
4581         * etc/NEWS: Move the entry about 'inhibit-read-only' property to
4582         its place and mark it documented.
4584 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
4586         * lisp/emacs-lisp/package.el: Update header comments
4588 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
4590         * lisp/character-fold.el: Add back multi-char matching
4592         (character-fold-to-regexp): Uncomment recently commented code
4593         and make the algorithm "dummer" by not checking every possible
4594         combination.  This will miss some possible matches, but it
4595         greatly reduces regexp size.
4597         * test/automated/character-fold-tests.el
4598         (character-fold--test-fold-to-regexp): Comment out test of
4599         functionality no longer supported.
4601 2015-12-01  Xue Fuqiao  <xfq.free@gmail.com>
4603         * doc/emacs/ack.texi (Acknowledgments): Update.
4605 2015-12-01  Michael Albinus  <michael.albinus@gmx.de>
4607         Check `file-remote-p' over absolute files names in files.el
4609         * lisp/files.el (directory-files-recursively)
4610         (get-free-disk-space): Check `file-remote-p' over absolute files names.
4612 2015-12-01  Andreas Schwab  <schwab@linux-m68k.org>
4614                 * src/lread.c (syms_of_lread): Doc fix.
4616 2015-11-30  Dmitry Gutov  <dgutov@yandex.ru>
4618         Don't mistake certain JS method calls for keywords
4620         * lisp/progmodes/js.el (js--ctrl-statement-indentation):
4621         Braceless keyword can't come after a period (bug#22063).
4623 2015-11-30  David Reitter  <david.reitter@gmail.com>
4625         Read frame_title_format from buffer-local variable for NS port
4627         * nsfns.m (x_implicitly_set_name): Read frame-title-format and
4628         icon-title-format variables from buffer in appropriate window.
4629         (Bug#22048)
4631 2015-11-30  Juri Linkov  <juri@linkov.net>
4633         * lisp/replace.el (occur-engine): Count matches in empty lines.
4635         (Bug#22062)
4637 2015-11-30  Aurélien Aptel  <aurelien.aptel@gmail.com>
4639         * src/emacs-module.h: Fix finalizer typedef for C++11
4641         C++11 standard doesn't allow exception-specification in typedef.
4642         The workaround is to declare a dummy function prototype and use
4643         decltype on it.
4645 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
4647         Fix last change
4649         * src/emacs-module.c (lisp_to_value, value_to_lisp)
4650         [WIDE_EMACS_INT]: Avoid compiler warnings.
4652 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
4654         Rely on conservative stack scanning to find "emacs_value"s
4656         * src/emacs-module.c (struct emacs_value_tag)
4657         (struct emacs_value_frame, struct emacs_value_storage): Remove.
4658         (value_frame_size): Remove constant.
4659         (struct emacs_env_private): Use Lisp_Object for non_local_exit info.
4660         (lisp_to_value): Remove first arg.
4661         (module_nil): New constant.
4662         Use it instead of NULL when returning an emacs_value.
4663         (module_make_function): Adjust to new calling convention of
4664         Qinternal_module_call.
4665         (DEFUN): Receive args in an array rather than a list.
4666         Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
4667         we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
4668         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
4669         Adjust to new type of non_local_exit info.
4670         (ltv_mark) [WIDE_EMACS_INT]: New constant.
4671         (value_to_lisp, lisp_to_value): Rewrite.
4672         (initialize_frame, initialize_storage, finalize_storage): Remove functions.
4673         (allocate_emacs_value): Remove function.
4674         (mark_modules): Gut it.
4675         (initialize_environment): Don't initialize storage any more.
4676         Keep the actual env object on Vmodule_environments.
4677         (finalize_environment): Don't finalize storage any more.
4678         (syms_of_module): Initialize ltv_mark and module_nil.
4680         * src/emacs-module.h (emacs_value): Make it more clear that this type
4681         is really opaque, including the fact that NULL may not be valid.
4683         * modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
4684         Don't assume that NULL is a valid emacs_value.
4686 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
4688         Yet another doc improvement for search commands
4690         * doc/emacs/search.texi (Word Search, Symbol Search)
4691         (Regexp Search): Document commands that don't support lax
4692         whitespace matching or character folding.
4693         (Nonincremental Search): Mention the search commands that can be
4694         invoked from the menu bar.
4696         * lisp/isearch.el (isearch-define-mode-toggle-word)
4697         (isearch-define-mode-toggle-symbol)
4698         (isearch-define-mode-toggle-character-fold): Note in the doc
4699         string that turning these on exits the regexp mode.
4700         (isearch-forward-regexp, isearch-forward-word)
4701         (isearch-forward-symbol, isearch-backward-regexp)
4702         (word-search-backward, word-search-forward)
4703         (word-search-backward-lax, word-search-forward-lax): State in the
4704         doc string which commands don't support character folding and/or
4705         lax-whitespace matching.
4707 2015-11-30  Martin Rudalics  <rudalics@gmx.at>
4709         Run `window-size-change-functions' also when reading from minibuffer
4711         * src/xdisp.c (redisplay_internal): Run `window-size-change-functions'
4712         also when reading from minibuffer.
4714 2015-11-30  Ulf Jasper  <ulf.jasper@web.de>
4716         Fix scrambling of html-rendered item buffers
4718         * net/newst-treeview.el (newsticker--treeview-render-text): Fix
4719           scrambling of contents by wrapping call to html-renderer in
4720           save-selected-window.
4722 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
4724         Fix font typo in previous doc fix.
4726 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
4728         A bit more security doc, esp. file local vars
4730         * doc/emacs/emacs.texi (Top):
4731         * doc/emacs/misc.texi (Miscellaneous Commands):
4732         Refer to new Host Security section.
4733         (Host Security): New section.
4734         * doc/lispref/os.texi (Security Considerations):
4735         Mention file local variables.
4737 2015-11-30  Artur Malabarba  <bruce.connor.am@gmail.com>
4739         * lisp/character-fold.el: Comment out branching code
4741         (character-fold-to-regexp): Comment out code that uses multi-char
4742         table.  The branching caused by this induces absurdly long regexps,
4743         up to 10k chars for as little as 25 input characters.
4745 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
4747         Spelling and grammar fixes
4749 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
4751         Make lisp-completion-at-point a wrapper instead of an alias
4753         * lisp/progmodes/elisp-mode.el (lisp-completion-at-point):
4754         Turn into an obsolete wrapper around elisp-completion-at-point
4755         (bug#20455).
4757 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4759         * lisp/isearch.el (isearch-search-fun-default): Nicer error
4761         message when the search fails.
4763 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
4765         Update menu-bar-goto-uses-etags-p for the current xref API
4767         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult
4768         xref-backend-functions, instead of now-nonexistent
4769         xref-find-function.
4771 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4773         * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding
4775 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4777         * lisp/menu-bar.el: Use folding in searches
4779         (nonincremental-search-forward): Use `isearch-search-fun-default'
4780         to determine the search function.
4781         (nonincremental-search-backward)
4782         (nonincremental-repeat-search-forward)
4783         (nonincremental-repeat-search-backward): Use it.
4785 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4787         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning
4789 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4791         * lisp/character-fold.el (character-fold-to-regexp): Be careful
4793         not to return huge regexps.
4795 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
4797         Improve documentation of string-collate-* functions
4799         * doc/lispref/strings.texi (Text Comparison): Improve wording and
4800         indexing of 'string-collate-equalp' and 'string-collate-lessp'.
4802         * etc/NEWS: Move the entry of 'string-collate-equalp' and
4803         'string-collate-lessp' to "Lisp Changes" section and mark it as
4804         documented.
4806 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
4808         Document truncate-string-ellipsis
4810         * doc/lispref/display.texi (Size of Displayed Text): Document
4811         'truncate-string-ellipsis'.
4813         * lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix.
4814         (truncate-string-to-width): Mention in the doc string that the
4815         default for ELLIPSIS comes from 'truncate-string-ellipsis'.
4817         * etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp
4818         Changes" section.
4820 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
4822         Fix confusion wrt character folding in the Emacs manual
4824         * doc/emacs/search.texi (Nonincremental Search, Regexp Search):
4825         Document that invoking search-forward/backward and
4826         re-search-forward/backward supports only case folding, but not the
4827         rest of the lax-search features.  Reported by Mike Kupfer
4828         <m.kupfer@acm.org>.
4830 2015-11-29  Ken Brown  <kbrown@cornell.edu>
4832         Update mod-test-sum-test
4834         * modules/mod-test/test.el (mod-test-sum-test): Update to
4835         accommodate the lack of dladdr on Cygwin.
4837 2015-11-29  Alan Mackenzie  <acm@muc.de>
4839         Byte compiler: Catch missing argument to `funcall'.  Fixes bug#22051.
4841         * lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
4842         to `funcall', (i) Output an error message; (ii) Generate code to signal a
4843         `wrong-number-of-arguments' error.
4845 2015-11-29  Martin Rudalics  <rudalics@gmx.at>
4847         * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil.
4849 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4851         * lisp/character-fold.el (character-fold-to-regexp)
4853         Warn about using long strings.
4855         * test/automated/character-fold-tests.el
4856         (character-fold--test-lax-whitespace)
4857         (character-fold--test-consistency): Reduce string size for tests.
4859 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4861         Document renaming of x-select-enable-* variables
4863         * doc/emacs/killing.texi (Clipboard): Rename
4864         x-select-enable-clipboard to select-enable-clipboard and
4865         x-select-enable-primary to select-enable-primary.  Update index
4866         entries.
4868         * etc/NEWS: Mark entry as documented.
4870 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4872         Document the shorthand hints displayed by M-x
4874         * doc/emacs/m-x.texi (M-x): Document the numeric meaning of
4875         suggest-key-bindings.  Document the shorthand hints for commands
4876         that have no key bindings.  Document that M-x completion ignores
4877         obsolete commands.
4879         * etc/NEWS: Move the M-x entry to "Editing Changes" and mark it as
4880         documented.
4882 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4884         Update docs of character folding
4886         * doc/emacs/search.texi (Lax Search): Update the description of
4887         character folding for the latest changes.
4889 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4891         * lisp/character-fold.el: Also play nice with case-folding
4893         (character-fold-to-regexp): Take `case-fold-search' into account.
4895 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4897         * lisp/character-fold.el: Add support for multi-char matches
4899         (character-fold-table): Now has an extra-slot. This is a second
4900         char-table that holds multi-character matches.  See docstring for
4901         details.
4902         (character-fold-to-regexp): Can build branching regexps when a
4903         character's entry the extra slot of `character-fold-table' matches the
4904         characters that succeed it.
4906 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4908         * lisp/character-fold.el: Code simplifications
4910         (character-fold-table): Reduce the scope of a variable.
4911         (character-fold-to-regexp): Change logic to work directly on the
4912         input string.  It's a little easier to understand, probably
4913         faster, and sets us up for implementing multi-char matches.
4915         * test/automated/character-fold-tests.el
4916         (character-fold--test-fold-to-regexp): New test.
4918 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4920         Document changes in "C-h l"
4922         * doc/emacs/help.texi (Misc Help): Document the changes in "C-h l".
4924         * etc/NEWS: mark "C-h l" changes as documented.
4926 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4928         Finalize documentation of 'custom-prompt-customize-unsaved-options'
4930         * doc/emacs/custom.texi (Saving Customizations): Index the new
4931         function 'custom-prompt-customize-unsaved-options'.
4933         * etc/NEWS: Mention when 'custom-prompt-customize-unsaved-options'
4934         is useful.
4936 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4938         Document 'comment-line'
4940         * doc/emacs/programs.texi (Comment Commands): Document
4941         'comment-line'.
4943         * etc/NEWS: Move the entry for 'comment-line' into "Editing Changes".
4945 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4947         Document new checkdoc features
4949         * doc/lispref/tips.texi (Tips, Library Headers): Document the
4950         keyword-checking features of checkdoc and the commands
4951         'checkdoc-file' and 'checkdoc-current-buffer'.
4953         * etc/NEWS: Move the checkdoc-related entries to their own
4954         section.
4956 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
4958         Simplify the prologue of emacs-module.c functions
4960         * emacs-module.c (MODULE_FUNCTION_BEGIN): New macro.
4961         (module_make_global_ref)
4962         (module_free_global_ref, module_make_function, module_funcall)
4963         (module_intern, module_type_of, module_extract_integer)
4964         (module_make_integer, module_extract_float, module_make_float)
4965         (module_copy_string_contents, module_make_string)
4966         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
4967         (module_get_user_finalizer, module_set_user_finalizer)
4968         (module_vec_set, module_vec_get, module_vec_size): Use new helper
4969         macro MODULE_FUNCTION_BEGIN.
4971 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4973         Don't reject module calls with no arguments
4975         * src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil.
4977 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
4979         Make module-call be visible from Lisp
4981         * src/emacs-module.c (module_make_function): Use internal--module-call.
4982         (Finternal_module_call): Renamed from Fmodule_call.  Add safety
4983         checks.
4984         (syms_of_module): DEFSYM save-value-p and save-pointer-p.  Do
4985         defsubr internal--module-call.
4987 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4989         Add etags tests for the recent Lua-related bugfix
4991         * test/etags/lua-src/test.lua: New file, tests the issues raised
4992         by bug#21934.
4993         * test/etags/Makefile (LUASRC): Add test.lua.
4994         * test/etags/ETAGS.good_1:
4995         * test/etags/ETAGS.good_2:
4996         * test/etags/ETAGS.good_3:
4997         * test/etags/ETAGS.good_4:
4998         * test/etags/ETAGS.good_5:
4999         * test/etags/ETAGS.good_6:
5000         * test/etags/CTAGS.good: Adapt to the new Lua test.  Also, an old
5001         regression fix, resolved around 25 May 2015, required changes to
5002         the "good" ETAGS files.
5004 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5006         Fix Lua tags when a function name includes '.' or ':'
5008         * lib-src/etags.c (Lua_functions): Add a tag for the last element
5009         of a function name after a dot or a colon.  (Bug#21934)
5011 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5013         Improve documentation of search and replace commands
5015         * doc/emacs/search.texi (Replacement and Lax Matches): Document
5016         which commands are affected by 'replace-character-fold'.
5017         (Lax Search): Add a cross reference to "Replacement and Lax
5018         Matches".  Improve wording.  Fix lost extra whitespace.
5019         (Search Customizations): Improve wording.  (Bug#22036)
5020         See also comments in
5021         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.
5023         * lisp/replace.el (query-replace, query-replace-regexp)
5024         (query-replace-regexp-eval, replace-string, replace-regexp):
5025         Mention 'replace-character-fold' in the doc strings.
5027 2015-11-28  Paul Eggert  <eggert@cs.ucla.edu>
5029         Fix minor problems found by static checking
5031         * src/undo.c (prepare_record): Add proper prototype for C.
5033 2015-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5035         * src/emacs-module.c (struct env_storage): Delete
5037         (struct emacs_runtime_private): Keep an emacs_env instead.
5038         (Fmodule_load, Fmodule_call): Declare emacs_env_private separately.
5039         (initialize_environment): Split the arg in two.  Adjust all callers.
5040         Only store the private part in Vmodule_environments.
5041         (finalize_environment): Change the arg to only be the private env.
5042         Adjust all callers.
5044 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5046         Improve documentation of 'replace-character-fold'
5048         * lisp/replace.el (replace-character-fold): Clarify which commands
5049         are affected by this variable.
5051 2015-11-27  Dmitry Gutov  <dgutov@yandex.ru>
5053         Autoload etags when using its xref backend
5055         * lisp/progmodes/xref.el (xref--etags-backend):
5056         Rename to etags--xref-backend.  Move to etags.el.  Autoload.
5057         (Bug#22026)
5059 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5061         * lisp/character-fold.el: Allow complex chars to match their decomposition
5063         (character-fold-table): When a character's decomposition does not
5064         involve a formatting tag (i.e., if it has an "exact" description via
5065         other characters), then this character is allowed to match the
5066         decomposition.
5068 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5070         * lisp/character-fold.el: More descriptive variable names
5072         (character-fold-table): Rename a lot of the lexical variables to
5073         make the code easier to read.
5075 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5077         * lisp/isearch.el: Ensure we still support `isearch-new-word'
5079         (isearch-new-regexp-function): Define variable.
5080         (isearch-new-word): Define as an obsolete alias. (Bug#22018)
5082 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5084         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
5086 2015-11-27  Lee Bochicchio  <lboc.home@gmail.com>
5088         * test/lisp/abbrev-tests.el: Define more tests
5090         (abbrev-table-name-test, kill-all-abbrevs-test)
5091         (clear-abbrev-table-test): New tests.
5093 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5095         Add module tests for wrong-type-argument
5097         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
5098         wrong-type-argument.
5100 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5102         Improve handling of signals and 'throw' in modules
5104         * src/emacs-module.c: Add commentary explaining how to write
5105         functions in this file.
5106         (module_make_global_ref, module_free_global_ref)
5107         (module_non_local_exit_signal, module_non_local_exit_throw)
5108         (module_make_function, module_funcall, module_intern)
5109         (module_type_of, module_is_not_nil, module_eq)
5110         (module_extract_integer, module_make_integer)
5111         (module_extract_float, module_make_float)
5112         (module_copy_string_contents, module_make_string)
5113         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
5114         (module_get_user_finalizer, module_set_user_finalizer)
5115         (module_vec_set, module_vec_get, module_vec_size)
5116         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
5117         Do nothing and return with failure indication immediately, if some
5118         previous module call signaled an error or wants to throw.  See
5119         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html
5120         for the relevant discussions.
5122 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5124         Add ':version' tag to 'checkdoc-package-keywords-flag'
5126         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
5127         Add a ':version' tag.
5129 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5131         Improve documentation of 'eval-buffer' and 'eval-region'
5133         * src/lread.c (Feval_buffer, Feval_region): Doc fixes.  (Bug#22023)
5135         * doc/lispref/eval.texi (Eval): Mention narrowing to clarify
5136         "accessible portion of buffer".
5138 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5140         Unbreak the Cygwin w32 build
5142         * src/emacs.c (main): Call w32_init_main_thread in the Cygwin w32
5143         build as well.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
5145 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5147         Improve commentary in character-fold.el
5149         * lisp/character-fold.el (character-fold-to-regexp): Move detailed
5150         description from commit log message to comments.  (Bug#22019)
5152 2015-11-26  Alan Mackenzie  <acm@muc.de>
5154         Byte Compiler: generate code to adjust stack count after call to `signal'.
5156         Corrects change from earlier today.
5158         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
5159         `byte-compile--for-effect' as argument to `byte-compile-form'.
5161 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
5163         Improve commentary of prepare_to_modify_buffer_1
5165         * src/insdel.c (prepare_to_modify_buffer_1): Mention in commentary
5166         that this function runs Lisp.  Suggested by Richard Stallman
5167         <rms@gnu.org>.
5169 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
5171         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
5173 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
5175         Fix regression after merge.
5177          * undo.c (prepare_record): Remove call to run_undoable_change.
5179 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
5181         After delete, record point location in undo.
5183         Addresses Bug #21968.
5185                 * lisp/simple.el (undo-auto--add-boundary): Clean up code to
5186                 better support intercalating calls.
5187                 * src/keyboard.c,src/keyboard.h (command_loop_1): Store value of
5188                 point and current buffer before each command.
5189                 * src/undo.c (record_point): Now only record the point.
5190                 * src/undo.c (prepare_record): Functionality removed form
5191                 record_point.
5192                 * src/undo.c (record_delete): Check if point needs recording.
5193                 * src/undo.c (undo-boundary): Record value of point before each
5194                 boundary.
5195                 * test/automated/simple-test.el: New tests.
5197         Conflicts:
5198                 src/undo.c
5200 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
5202         Fix compiler warnings in w32.c
5204         * src/w32.c (sys_socket): In case of error, use -1 as return
5205         value, not INVALID_SOCKET, which causes compiler warnings.
5206         (maybe_load_unicows_dll): Cast the return value of GetProcAddress
5207         to the appropriate function signature, to avoid compiler errors.
5208         Reported by Andy Moreton <andrewjmoreton@gmail.com>.  (Bug#21953)
5210 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
5212         Check if the file exists on disk before producing the revert diff
5214         * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file
5215         exists on disk (bug#20558).
5217 2015-11-26  Alan Mackenzie  <acm@muc.de>
5219         Byte compiler: on setq with an odd number of arguments, generate a `signal'
5221         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
5222         it has an odd number of arguments, to allow bytecomp to handle the error.
5224         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
5225         odd number of arguments, generate a `signal' instead of the normal code.
5227 2015-11-25  Dmitry Gutov  <dgutov@yandex.ru>
5229         Use find-tag-default for xref-backend-identifier-at-point
5231         * lisp/progmodes/etags.el (find-tag-tag)
5232         (tags-completion-at-point-function): Extract common code as
5233         find-tag--default.
5234         (xref-backend-identifier-at-point): Define in terms of the new
5235         function.
5237 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
5239         * src/undo.c (record_property_change): Remove now-unused local.
5241 2015-11-25  Phillip Lord  <phillip.lord@russet.org.uk>
5243         run_undoable_changes now called from insdel.
5245         The original calls from inside undo.c are not always at a safe position
5246         to call lisp, as they originate in varied positions within insdel.c.
5247         Calling them directly from prepare_to_modify_buffer_1 ensures that they
5248         are always run at the same point.
5250          * undo.c (run_undoable_changes,syms_of_undo): Remove function
5251          and symbol used.
5252          * insdel.c (run_undoable_changes): Add function and symbol.
5254 2015-11-25  Eli Zaretskii  <eliz@gnu.org>
5256         Improve and update documentation of search commands
5258         * doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
5259         all references changed.  Move the description of lax-whitespace
5260         here.  Add description of the new character folding features and
5261         additional customizable options.
5262         (Isearch Yank): Move before "Error in Search".
5263         (Basic Isearch): Improve wording.  Add index entries.  Add short
5264         description of how to abandon search, making this subsection a
5265         complete introduction to search basics.
5266         (Repeat Isearch): Add index entries.  Describe additional
5267         customizable options.  Describe mouse clicks.
5268         (Isearch Yank): Add index entries.  Describe mouse-2 click in echo
5269         area.  Describe more customizable options.
5270         (Error in Isearch): Add index entries.
5271         (Special Isearch): Move actual description of some isearch
5272         commands to other sections, leaving here just the summary of the
5273         commands.  Add command that toggles character folding.  Describe
5274         commands, like "C-h C-h", that were previously omitted for some
5275         reason.
5276         (Not Exiting Isearch): Describe search-exit-option.  Add index
5277         entries.
5278         (Word Search): Describe eww-search-word and eww-search-prefix.
5279         (Symbol Search): Add index entries.
5280         (Regexp Search): Describe regexp-search-ring-max.
5281         (Replacement and Lax Matches): Renamed from "Replacement and
5282         Case"; all references changed.  Describe lax-whitespace matching
5283         in replace commands and related options.  Describe character
5284         folding in replace commands and related options.
5285         (Query Replace): Describe query-replace-from-to-separator and the
5286         new history features.  Add index entries for highlighted text.
5287         Describe query-replace-skip-read-only.  Describe more keys
5288         accepted by query-replace.
5289         (Other Repeating Search): More index entries for Occur.  Describe
5290         list-matching-lines-default-context-lines.
5291         (Search Customizations): New section, documents customizable
5292         options that were not documented until now.
5293         * doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
5294         "Character Folding".
5296         * etc/NEWS: Move search- and replace-related entries to a single
5297         parent section.
5299         * lisp/replace.el (query-replace-show-replacement): Doc fix.
5300         * lisp/isearch.el (search-nonincremental-instead)
5301         (isearch-hide-immediately): Doc fixes.
5303 2015-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
5305         Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
5307         * lisp/gnus/nnml.el (nnml-retrieve-groups): Remove.  See:
5308         <http://thread.gmane.org/gmane.emacs.gnus.general/86308> and
5309         <http://thread.gmane.org/gmane.emacs.gnus.general/86321>
5311 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
5313         Fix module_format_fun_env when dynlib_addr fails
5315         * src/emacs-module.c (module_format_fun_env):
5316         exprintf doesn’t support %p, so use %x.  Reported by Eli Zaretskii in:
5317         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html
5319 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
5321         Disambiguate variable help a bit better
5323         * lisp/help-fns.el (describe-variable): Quote the
5324         variable’s value if it is a symbol other than t or nil.
5325         See: T.V Raman in:
5326         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
5328 2015-11-24  Dmitry Gutov  <dgutov@yandex.ru>
5330         Pass SVN commit message through log-edit-extract-headers
5332         * lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through
5333         log-edit-extract-headers (bug#18954).
5335 2015-11-24  Alan Mackenzie  <acm@muc.de>
5337         CC Mode: Eliminate compiler warning messages.
5339         * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
5340         `font-lock-syntactic-keywords' (which CC Mode doesn't use).
5341         * lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
5342         (c-awk-set-syntax-table-properties): Clarify comments about
5343         `font-lock-syntactic-keywords'.
5345         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
5346         of this before the real (interpreted) one, to satisfy the byte compiler.
5348 2015-11-24  Simen Heggestøyl  <simenheg@gmail.com>
5350         Extend the test suite for json.el
5352         * lisp/json.el (json-plist-p): Clarify docstring.
5354         * test/automated/json-tests.el (json-tests--with-temp-buffer): New
5355         macro.
5356         (test-json-join, test-json-alist-p)
5357         (test-json-plist-p, test-json-advance, test-json-peek)
5358         (test-json-pop, test-json-skip-whitespace)
5359         (test-json-read-keyword, test-json-encode-keyword)
5360         (test-json-read-number, test-json-encode-number)
5361         (test-json-read-escaped-char, test-json-read-string)
5362         (test-json-encode-string, test-json-encode-key)
5363         (test-json-new-object, test-json-add-to-object)
5364         (test-json-read-object, test-json-encode-list)
5365         (test-json-read-array, test-json-encode-array)
5366         (test-json-read, test-json-read-from-string)
5367         (test-json-encode): New tests.
5368         (json-read-simple-alist): Merged into `test-json-read-object'.
5369         (json-encode-string-with-special-chars): Merged into
5370         `test-json-encode-string'.
5371         (json-read-string-with-special-chars): Split into
5372         `test-json-encode-string' and `test-json-read-from-string'.
5374 2015-11-24  Anders Lindgren  <andlind@gmail.com>
5376         Fixed bug#18283: Enable applescript in NextStep.
5378         * nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES.
5380 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
5382         Allow completion on dynamic module files in load-library
5384         * lisp/files.el (load-library): Bind completion-ignored-extensions
5385         to nil, to allow completion on dynamic modules typed as file
5386         names.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
5388 2015-11-24  Alan Mackenzie  <acm@muc.de>
5390         CC Mode: eliminate almost all byte compilation warnings
5392         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
5393         (cc-require): Remove the crude hack that saved and restored
5394         byte-compile-noruntime-functions.
5395         (cc-conditional-require, cc-conditional-require-after-load): New macros.
5397         * lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
5398         cc-fix.el using the new macros in cc-bytecomp.el.
5400         * lisp/progmodes/cc-langs.el (c++-template-syntax-table)
5401         (c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
5402         forms to remove the superflous quotes.
5404 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
5406         Add one more mod-test test
5408         * modules/mod-test/test.el (mod-test-sum-test): Test the error
5409         signaled when the function is invoked with a wrong number of
5410         arguments.
5412 2015-11-24  Philipp Stephani  <phst@google.com>
5414         * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args.
5416 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
5418         Implement dynlib_addr for MS-Windows
5420         * src/dynlib.c [WINDOWSNT]: Include w32common.h.
5421         <g_b_init_get_module_handle_ex> [WINDOWSNT]: New static variable.
5422         (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
5423         (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define
5424         if undefined.
5425         (dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to
5426         zero.
5427         (dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report
5428         the full file name of the module for a given address.
5430 2015-11-24  Alan Mackenzie  <acm@muc.de>
5432         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
5434 2015-11-24  Alan Mackenzie  <acm@muc.de>
5436         Squashed commit of the following:
5438         commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
5439         Author: Alan Mackenzie <acm@muc.de>
5440         Date:   Tue Nov 24 16:50:09 2015 +0000
5442             Byte compile: minor amendments.
5444             * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
5445             add a comment to explain the binding of variables around a subsidiary
5446             compilation.
5447             (byte-compile-new-defuns): Amend the doc string.
5449         commit c537bfed1dda1593d218956ff00c6105a3ff0316
5450         Author: Alan Mackenzie <acm@muc.de>
5451         Date:   Sat Nov 21 18:43:57 2015 +0000
5453             Byte compiler: fix spurious warnings "might not be defined at runtime".
5455             Also initialize byte-compile-noruntime-functions between runs.
5457             * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
5458             (byte-compile-initial-macro-environment): For eval-when-compile: bind
5459             byte-compile-unresolved-functions and byte-compile-new-defuns around
5460             byte-compile-top-level, to prevent spurious entries being made.
5461             (byte-compile-warn-about-unresolved-functions): Check whether function is
5462             in byte-compile-new-defuns before emitting a warning about it.
5463             (byte-compile-from-buffer): Initialize new variable and
5464             byte-compile-noruntime-functions to nil.
5465             (byte-compile-file-form-require): record all new functions defined by a
5466             `require' in byte-compile-new-defuns.
5467             (byte-compile-file-form-defmumble): record the new alias in
5468             byte-compile-new-defuns.
5470 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
5472         Fix crash at startup related to GC of font entities
5474         * src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P)
5475         (GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY)
5476         (GC_XFONT_OBJECT): New macros, for use in garbage collector.
5477         * src/alloc.c (compact_font_cache_entry, compact_font_caches):
5478         Don't ifdef away font cache compaction on NT_GUI, as the problems
5479         which led to that seem to have been solved.
5480         (compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC,
5481         GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_
5482         cousins.  (Bug#21999)
5484 2015-11-24  Alan Mackenzie  <acm@muc.de>
5486         Byte compile: Output an error, not a warning, for odd number of args to setq
5488         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend.
5490 2015-11-24  Ken Raeburn  <raeburn@raeburn.org>
5492         Fix kbd_buffer iteration loop in readable_events
5494         * src/keyboard.c (readable_events): Wrap the event pointer back to the
5495         start of the kbd_buffer array inside the top of the loop instead of
5496         right before checking the loop condition, since kbd_fetch_ptr and
5497         kbd_store_ptr point past the end of the array to mean that element 0
5498         is next. (bug#21935)
5500 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
5502         Improve text-quoting-style doc again
5504         * doc/lispref/help.texi (Keys in Documentation):
5505         Omit overkill discussion of ‘setq’.  Mention Emacs versions
5506         where ‘grave’ style was standard.
5508 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
5510         Improve text-quoting-style doc
5512 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
5514         Simplify module_make_function
5516         * src/emacs-module.c (module_make_function):
5517         Simplify by calling build_unibyte_string.
5519 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
5521         Port better to FreeBSD’s dlfunc vs dlsym
5523         This avoids warnings when converting between void * and
5524         function pointers, which strict C11 does not allow.
5525         * configure.ac (dlfunc): Check for existence.
5526         * src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
5527         (dynlib_func): New function.
5528         * src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
5529         * src/emacs-module.c (Fmodule_load): Use dynlib_func, not
5530         dynlib_sym, for function pointers.
5532 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
5534         Simplify use of emacs_finalizer_function type
5536         * src/emacs-module.h (emacs_finalizer_function):
5537         Now EMACS_NOEXCEPT.  All users simplified to omit EMACS_NOEXCEPT.
5538         (struct emacs_env_25): Use emacs_finalizer_function where applicable.
5540 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
5542         module_format_fun_env fixes
5544         * src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case.
5545         * src/emacs-module.c (module_format_fun_env):
5546         Convert path and sym to UTF-8.
5547         Don’t use VLAs, as the C11 standard says they’re optional,
5548         and anyway they can cause core dumps with large allocations.
5549         Use exprintf rather than snprintf, as exprintf handles arbitrarily
5550         long strings.  Simplify the code a bit.
5552 2015-11-23  Dmitry Gutov  <dgutov@yandex.ru>
5554         Don't use package-user-dir in elisp-library-roots if it's not bound
5556         * lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
5557         use package-user-dir if it's not bound (bug#19759).
5559 2015-11-23  Anders Lindgren  <andlind@gmail.com>
5561         New visible-bell for NextStep (OS X El Capitan compatible).
5563         Instead of inverting a rectangle in the middle of the frame, use
5564         the standard NextStep image "caution", represented using an
5565         warning sign with an exclamation mark.  (Bug#21662)
5567         Implemented based on a suggestion drafted by Mustafa Kocaturk.
5569         * src/nsterm.m (EmacsBell): New class for managing the caution
5570         image.  Support multiple active bells, the image is removed once
5571         all bells have timed out.
5572         (ns_timeout): Removed, no longer used.
5573         (ns_ring_bell): Reimplemented to use EmacsBell.
5575 2015-11-23  Johan Bockgård  <bojohan@gnu.org>
5577         * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec.
5579         (remove-function): Ditto. (Bug#20376)
5581 2015-11-23  Mark Oteiza  <mvoteiza@udel.edu>
5583         * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes.
5585 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
5587         Improve how non-ASCII strings are accepted from modules
5589         * src/emacs-module.c (module_make_function, module_make_string):
5590         Build a unibyte Lisp string and then decode it by UTF-8, instead
5591         of building a multibyte string without decoding.  This is more
5592         tolerant to deviations from UTF-8.
5594 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
5596         Port recent module changes to pickier compilers
5598         * src/emacs-module.c (module_make_function)
5599         (module_make_string): Add casts to fix pointer signedness issues.
5601 2015-11-23  Philipp Stephani  <phst@google.com>
5603         Fix how strings are accepted from modules
5605         * emacs-module.c (module_make_function, module_make_string): Use
5606         make_multibyte_string.
5607         (module_copy_string_contents): Encode before reading the byte
5608         size.  Return false if and only if an error occurred.
5610 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
5612         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
5614 2015-11-23  Shakthi Kannan  <shakthimaan@gmail.com>
5616         Add the tamil-dvorak input method
5618         * lisp/leim/quail/tamil-dvorak.el: New file.  (Bug#21768)
5620         * etc/NEWS: Mention the new input method.
5622 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
5624         Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows.
5626         * src/frame.c (adjust_frame_size): Don't set
5627         FRAME_WINDOW_SIZES_CHANGED here ...
5628         * src/window.c (resize_frame_windows): ... but here, as suggested
5629         by Stefan Monnier.  Also remove some dead code along the way.
5631 2015-11-23  Alan Mackenzie  <acm@muc.de>
5633         * /etc/NEWS (Incompatible Lisp Changes): Also `setf' needs an even # of args.
5635 2015-11-23  Alan Mackenzie  <acm@muc.de>
5637         Signal an error when `setf' gets an odd number of arguments.
5639         * lisp/emacs-lisp/gv.el (setf): Amend.
5641 2015-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
5643         * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
5645 2015-11-23  Alan Mackenzie  <acm@muc.de>
5647         * etc/NEWS (Incompatible Lisp Changes): Document new restriction on `setq'.
5649 2015-11-23  Alan Mackenzie  <acm@muc.de>
5651         Expunge occurrences of `setq' with an odd number of arguments.
5653         * lisp/apropos.el (apropos-documentation):
5654         * lisp/obsolete/complete.el (PC-include-file-all-completions):
5655         * lisp/progmodes/compile.el (compilation-goto-locus):
5656         * lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
5657         Insert missing nil at end of `setq' forms.
5659         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
5660         erroneous trailing variable name from a setq, thus allowing a compilation
5661         properly to track functions not defined at runtime.
5663 2015-11-23  John Wiegley  <johnw@newartisans.com>
5665         Add a note about a questionable use of bool in xdisp.c
5667 2015-11-23  Alan Mackenzie  <acm@muc.de>
5669         Issue a warning from the byte compiler on a malformed `setq' form.
5671         Partly fixes bug#20241.
5672         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
5673         `setq' form with an odd number of arguments is compiled.
5675 2015-11-23  Alan Mackenzie  <acm@muc.de>
5677         Don't let cconv_convert insert a nil argument into a `setq' form.
5679         Fixes bug#21983.
5680         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
5681         argument into a `setq' when there're an odd number of args.  This enables the
5682         byte compiler to issue a message in this case.
5684 2015-11-23  Alan Mackenzie  <acm@muc.de>
5686         Signal an error when `setq' has an odd number of arguments.  Fixes bug#20241.
5688         * src/eval.c (Fsetq): Signal an error on an odd number of arguments.
5689         (syms_of_eval): Add a DEFSYM for Qsetq.
5691 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
5693         * doc/lispref/windows.texi (Window Sizes): Fix indices and references.
5695         * src/frame.c (adjust_frame_size): Set FRAME_WINDOW_SIZES_CHANGED (Bug#21975).
5697 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5699         Add EUDC BBDB 3 entry in NEWS
5701         * NEWS: Mention EUDC BBDB backend support for BBDB 3.
5703 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5705         Improve EUDC to BBDB 3 export
5707         * eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
5708         entry to single item.  Add company conversion.
5709         * eudc-export.el (eudc-bbdbify-company): New function.
5710         (bbdb-parse-phone): Declare function.
5711         (eudc-bbdbify-phone): Add BBDB 3 support.
5712         (Bug#21971)
5714 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5716         Add BBDB 3 support for EUDC export
5718         * eudc.el: Add bbdb-version defvar.
5719         (eudc--using-bbdb-3-or-newer-p): New function.
5720         * eudc-export.el (eudc-create-bbdb-record): Add support for
5721         bbdb-create-internal argument list changes introduced in BBDB 3.
5722         * eudcb-bbdb.el: Remove bbdb-version defvar.
5723         (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
5724         (Bug#21971)
5726 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
5728         Allow loading modules by 'load-file'
5730         * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
5731         2nd arg, to avoid the "binding stack not balanced" error.
5732         (syms_of_lread) <module-file-suffix>: New Lisp variable.
5734         * lisp/files.el (module-file-suffix): Declare.
5735         (load-file): Remove 'module-file-suffix' from
5736         'completion-ignored-extensions', to allow completion on modules.
5738         * etc/NEWS: Mention 'module-file-suffix'.
5740 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
5742         Fix unoptimized builds
5744         * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized
5745         builds.
5747 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
5749         Work around the asynchronous-empty-diff problem
5751         * lisp/vc/vc-rcs.el (vc-rcs-diff):
5752         * lisp/vc/vc-mtn.el (vc-mtn-diff):
5753         * lisp/vc/vc-hg.el (vc-hg-diff):
5754         * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument,
5755         do a synchronous process call (bug#21969).
5757 2015-11-21  Karl Fogel  <kfogel@red-bean.com>
5759         Finish excising electric indent from `open-line'
5761         * lisp/simple.el (open-line): Remove INTERACTIVE argument.
5763         * test/automated/simple-test.el (open-line-indent, open-line-hook):
5764           Adjust accordingly.
5766         This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
5767         (git commit c59353896) started.  It turns out that having INTERACTIVE
5768         cause `post-self-insert-hook' to run (via `newline') meant `open-line'
5769         still had the electric indent behavior, as `post-self-insert-hook'
5770         normally contains `electric-indent-post-self-insert-function' ever
5771         since `electric-indent-mode' has been on by default.  Tracing the code
5772         change in `open-line' is mildly twisty, because Artur Malabarba's
5773         earliest two commits of 24 Oct 2015 first removed the `interactive'
5774         form entirely (git commit 6939896e2) and then restored it with the new
5775         extra "p" already added (git commit bd4f04f86), such that there is no
5776         single-commit diff in which one sees the second "p" appear.  Thus this
5777         change is effectively a reversion of parts of each of those commits.
5779         This could close bug#21884, at least until further discussion.
5781 2015-11-21  Dmitry Gutov  <dgutov@yandex.ru>
5783         Adhere closer to the "implicit tag name" definition
5785         * lisp/progmodes/etags.el (etags-tags-completion-table):
5786         Adhere closer to the "implicit tag name" definition.  Simplify
5787         the regexp.  Search for the explicit tag name first, and when
5788         not found, search locally for the implicit one.  (Bug#21934)
5790 2015-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
5792         Unrevert most of regexp reentrancy abort patch
5794         The problem was in:
5795           * src/syntax.c (update_syntax_table_forward): Propertize even when truncated
5796         which is hence not unreverted.
5797         The rest is:
5798         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
5799         (UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
5800         All callers in regex.c changed back to the _FAST versions.
5802         * test/automated/message-mode-tests.el: Tweak the test to rely on auto
5803         propertization in backward-sexp.
5805 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
5807         Revert regexp reentrancy abort patch
5809         Although the patch does fix Bug#21688 and prevents a core dump,
5810         it also makes the message-mode-propertize test fail; see:
5811         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html
5812         Perhaps someone else can come up with a better fix some day.
5813         * src/syntax.c (update_syntax_table_forward):
5814         Propertize even when truncated.
5815         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
5816         (UPDATE_SYNTAX_TABLE_FAST): Remove.
5817         All callers changed back to the non-_FAST versions.
5819 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
5821         Add a few safety checks when ENABLE_CHECKING
5823         This was motivated by the recent addition of module code,
5824         which added some ENABLE_CHECKING-enabled checks that are
5825         useful elsewhere too.
5826         * src/alloc.c (compact_font_cache_entry):
5827         * src/fns.c (sweep_weak_table):
5828         * src/lread.c (oblookup):
5829         Use gc_asize rather than doing it by hand.
5830         * src/emacs-module.c (module_make_global_ref)
5831         (module_free_global_ref, module_vec_size):
5832         Omit assertions that lisp.h now checks.
5833         * src/lisp.h (XFASTINT, ASIZE): In functional implementations,
5834         check that the result is nonnegative.  Use eassume, as this
5835         info can help a bit when optimizing production code.
5836         (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
5837         to be consistent with the USE_LSB_TAG case.
5838         (gc_asize): New function, when ASIZE is needed in the gc.
5839         (gc_aset): Use it.
5840         (HASH_TABLE_P): Move definition up, so that it can be used ...
5841         (XHASH_TABLE): ... here, to assert that the arg is a hash table.
5843 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
5845         Simplify recording of main thread's ID on MS-Windows
5847         * src/w32term.c (w32_initialize):
5848         * src/w32console.c (initialize_w32_display):
5849         * src/w32fns.c (globals_of_w32fns): Don't record the main thread
5850         ID independently for each type of session (GUI, TTY, batch).
5851         * src/w32term.c (w32_init_main_thread): New function, records the
5852         main thread's thread ID.
5853         * src/w32term.h: Add prototype for w32_init_main_thread.
5854         * src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread.
5856         * src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to
5857         main_thread, for consistency with other threading libraries.  All
5858         users changed.  Include w32term.h.
5859         (check_main_thread) [WINDOWSNT]: Simplify the test: no need to
5860         make sure the main thread is alive, as we hold a handle on it
5861         opened by w32_init_main_thread.
5862         (module_init) [WINDOWSNT]: Reuse the thread ID recorded by
5863         w32_init_main_thread, instead of calling the requisite APIs once
5864         more.
5866 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
5868         Call 'window-size-change-functions' for mini-windows
5870         * src/window.c (grow_mini_window, shrink_mini_window): Set the
5871         frame's 'window_sizes_changed' flag.
5872         * src/xdisp.c (redisplay_internal): Call the hooks on
5873         'window-size-change-functions' if the call to 'echo_area_display'
5874         sets the frame's 'window_sizes_changed' flag.
5875         (syms_of_xdisp) <window-size-change-functions>:
5876         Update doc string to indicate the mini-window resizes trigger a
5877         call to the hooks, and don't promise that will happen "before
5878         redisplay".  (Bug#19576, Bug#21333)
5880         * doc/lispref/windows.texi (Window Hooks): Update the description
5881         of 'window-size-change-functions'.
5883 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
5885         Improve documentation of dynamic modules
5887         * src/fns.c (Frequire): Doc fix to include the dynamic module
5888         support.
5889         * src/lread.c (Fload, Vload_suffixes): Doc fixes to include the
5890         dynamic module support.
5891         (Fload): Treat the module suffix the same as '*.el' and '*.elc'
5892         wrt the MUST-SUFFIX argument.
5894         * etc/NEWS: Expand documentation of dynamically loaded modules.
5896 2015-11-21  Philipp Stephani  <phst@google.com>  (tiny change)
5898         Initial documentation for dynamic modules
5900         * etc/NEWS: Mention the new support for dynamically loaded modules.
5902 2015-11-20  Dmitry Gutov  <dgutov@yandex.ru>
5904         Add xref--etags-backend to xref-backing-functions using add-hook
5906         * lisp/progmodes/xref.el (xref-backend-functions): Move the
5907         default value into a separate `add-hook' call (bug#21964).
5909         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
5910         Don't declare the xref-backend-functions variable.
5911         It doesn't make any difference.
5913 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5915         Fix double-decrement bug when freeing global refs
5917         * src/emacs-module.c (module_free_global_ref): Add a FIXME
5918         comment about error reporting.  Fix a recently-introduced typo
5919         that double-decremented the refcount.
5921 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5923         Declare emacs_module_init in the module API
5925         * src/emacs-module.h (emacs_module_init): New decl.
5926         Without it, GCC might complain about a module that defines
5927         emacs_module_init without using it.  This also checks the
5928         API better.
5930 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5932         Fix module test to use ptrdiff_t nargs too
5934         * modules/mod-test/mod-test.c (Fmod_test_return_t)
5935         (Fmod_test_sum, Fmod_test_signal, Fmod_test_throw)
5936         (Fmod_test_non_local_exit_funcall, Fmod_test_globref_make)
5937         (Fmod_test_string_a_to_b, Fmod_test_userptr_make)
5938         (Fmod_test_userptr_get, Fmod_test_vector_fill)
5939         (Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int.
5940         (finalizer): Remove; no longer used.
5942 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5944         Fix reindent-introduced typo in module code
5946         * src/emacs-module.c (MODULE_SETJMP_1): Fix typo that I
5947         introduced while reindenting the code earlier, and add a
5948         comment explaining the unusual use of do-while here.
5950 2015-11-20  Anders Lindgren  <andlind@gmail.com>
5952         Fixed bug#19576: `write-file' saves wrong buffer.
5954         If a function on the hook `window-size-change-functions' doesn't
5955         restore the current buffer, functions that save and restore the
5956         current window configuration (like `y-or-no-p') could silently
5957         change the current buffer.  When `write-file' asked the user
5958         confirmation to overwrite a file, `y-or-no-p' changed the current
5959         buffer, and the wrong buffer was saved to the file.
5961         * lisp/follow.el (follow-windows-start-end): Call `select-frame'
5962         using the `norecord' parameter.
5963         (follow-window-size-change): Restore current buffer. Call
5964         `select-frame' using the `norecord' parameter. Cleanup.
5966 2015-11-20  John Wiegley  <johnw@newartisans.com>
5968         Correct a documentation error in frames.texi
5970 2015-11-20  Stephen Leake  <stephen_leake@stephe-leake.org>
5972         * lisp/cedet/mode-local.el: Delete obsolete comment
5974 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5976         Module function arg counts are ptrdiff_t, not int
5978         * src/emacs-module.c (struct module_fun_env)
5979         (module_make_function, module_funcall, Fmodule_call):
5980         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
5981         Use ptrdiff_t, not int, for arg counts.
5982         * src/emacs-module.c (module_make_function): Don’t bother
5983         checking arity against MOST_POSITIVE_FIXNUM, as that’s
5984         unnecessary here.  Make the checking clearer by negating it.
5985         (module_make_function, Fmodule_call): No need to use xzalloc
5986         since the storage doesn’t need to be cleared.
5987         (module_funcall): Don’t use VLA, since C11 doesn’t guarantee support
5988         for it, and many implementations are buggy with large VLAs anyway.
5989         Use SAFE_ALLOCA_LISP instead.
5990         (module_vec_set): Don’t crash if i < 0.
5991         (module_vec_get): Don’t crash if i < MOST_NEGATIVE_FIXNUM.
5992         (module_vec_set, module_vec_get): Do fixnum checks only when
5993         i is out of array bounds, for efficiency in the usual case.
5994         (Fmodule_load): Simplify fixnum range check.
5995         (Fmodule_call): Simplify arity check.  Use xnmalloc to detect
5996         integer overflow in array allocation size.
5998 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
6000         Minor improvements in module test
6002         * modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings
6003         about missing prototype of malloc.
6004         * modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid
6005         compiler warnings.
6007 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
6009         Improve MS-Windows implementation in dynlib.c
6011         * src/dynlib.c [WINDOWSNT]: Include errno.h, lisp.h, and w32.h.
6012         No need to include windows.h, as w32.h already does that.
6013         <dynlib_last_err>: New static variable.
6014         (dynlib_reset_last_error): New function.
6015         (dynlib_open): Convert forward slashes to backslashes.  Convert
6016         file names from UTF-8 to either UTF-16 or the current ANSI
6017         codepage, and call either LoadLibraryW or LoadLibraryA.  If the
6018         argument is NULL, return a handle to the main module, like
6019         'dlopen' does.  Record the error, if any, for use by dynlib_error.
6020         (dynlib_sym): Check the handle for validity. Record the error, if
6021         any, for use by dynlib_error.
6022         (dynlib_error): Call w32_strerror to produce the error string, and
6023         zero out the last error code, like dlerror does.
6024         (dynlib_close): Check the handle for validity.  Record the error,
6025         if any, for use by dynlib_error.  Don't call FreeLibrary with a
6026         handle for the main module.
6027         * src/w32.c (globals_of_w32): Call dynlib_reset_last_error.
6029 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6031         Include-file tweaks for modules
6033         * src/dynlib.c, src/emacs-module.c: Include <config.h> first.
6034         * src/dynlib.h: Do not include config.h.
6035         It’s every .c file’s responsibility to include config.h first.
6036         * src/emacs-module.c: Include emacs-module.h immediately after
6037         config.h, to test that emacs-module.h doesn’t depend on
6038         include files other than config.h.
6040 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6042         Simplify push_handler and profile its malloc
6044         * src/lisp.h (PUSH_HANDLER): Remove.
6045         All callers changed to use push_handler directly.
6046         * src/eval.c (internal_condition_case)
6047         (internal_condition_case_1, internal_condition_case_2)
6048         (internal_condition_case_n):
6049         Use same pattern as for other invokers of push_handler.
6050         (push_handler, push_handler_nosignal): Use call-by-value
6051         instead of call-by-reference.  All uses changed.
6052         (push_handler): Simplify by rewriting in terms of
6053         push_handler_nosignal.
6054         (push_handler_nosignal): Profile any newly allocated memory.
6056 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6058         * src/emacs-module.h: Include stddef.h, not stdlib.h.
6060 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
6062         Discover repository version in linked worktrees (bug#21930)
6064         * lisp/version.el (emacs-repository--version-git-1): Do not assume
6065         HEAD is at .git/HEAD, it can also be at .git/worktrees/<branch>/HEAD.
6066         (emacs-repository-get-version): Grok linked worktrees when EXTERNAL
6067         is nil too.
6069 2015-11-19  Juri Linkov  <juri@linkov.net>
6071         * lisp/replace.el (occur-regexp-descr): New function.
6072         (occur-1, occur-engine): Use it.
6074         * lisp/isearch.el (isearch-occur): Propertize regexp with
6075         isearch-string and isearch-regexp-function-descr for
6076         occur-regexp-descr to display the correct description
6077         message in the header (bug#21176, bug#21180).
6079 2015-11-19  Karl Fogel  <kfogel@red-bean.com>
6081         Revert `open-line' electric-indent sensitivity
6083         * lisp/simple.el (open-line): Remove electric indent code.
6084           (electric-indent-just-newline): Don't declare.
6086         * test/automated/simple-test.el (open-line-indent): Adjust test.
6088         This partly reverts Artur Malabarba's change that added electric
6089         indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git
6090         commit bd4f04f86), and adjusts a new test he added right afterwards
6091         (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly.
6092         However, the new INTERACTIVE argument to `open-line', which he also
6093         added in the first commit, is not reverted here.
6095         See the thread "Questioning the new behavior of `open-line'." on the
6096         Emacs Devel mailing list, and in particular this message:
6098           From: Artur Malabarba
6099           Subject: Re: Questioning the new behavior of `open-line'.
6100           To: Karl Fogel
6101           Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel
6102           Date: Wed, 18 Nov 2015 21:03:58 +0000
6103           Message-ID: \
6104             <CAAdUY-KN06pvCMy5bt3+Buk3yeKjf6n9iB2FaSTTOPpCqPwyhA@mail.gmail.com>
6106           https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html
6108 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6110         Omit unnecessary clear in Fmodule_load
6112         * src/emacs-module.c (Fmodule_load):
6113         Simplify and avoid unnecessary initialization of priv member to 0.
6115         * src/emacs-module.c: (module_vec_set, module_vec_get, module_vec_size)
6117 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6119         Prefer signed integer types in module code
6121         Generally speaking, at the C level the Emacs source code prefers
6122         signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’,
6123         partly to avoid the usual signedness confusion when comparing values.
6124         Change the module API to follow this convention.
6125         Use ‘int’ for small values that can’t exceed INT_MAX.
6126         * modules/mod-test/mod-test.c (Fmod_test_globref_make)
6127         (Fmod_test_string_a_to_b, Fmod_test_vector_fill)
6128         (Fmod_test_vector_eq):
6129         * src/emacs-module.c (struct emacs_value_frame)
6130         (module_make_global_ref, module_free_global_ref)
6131         (module_copy_string_contents, module_make_string)
6132         (module_vec_set, module_vec_get, module_vec_size):
6133         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
6134         * src/lread.c (suffix_p):
6135         Prefer signed to unsigned integer types.
6137 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6139         Omit ‘const’ on locals
6141         Remove ‘const’ qualifier from locals that were newly added.
6142         We don’t normally bother declaring locals with ‘const’ even
6143         though they are not modified, for the same reason we don’t
6144         bother declaring them with ‘register’ even though their
6145         addresses are not taken; the advantage in compile-time
6146         checking isn’t worth the loss of readability.
6147         * modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall)
6148         (Fmod_test_vector_fill, Fmod_test_vector_eq):
6149         * src/emacs-module.c (MODULE_SETJMP_1)
6150         (module_make_global_ref, module_free_global_ref)
6151         (module_non_local_exit_get, module_make_function)
6152         (module_extract_integer, module_extract_float)
6153         (module_get_user_ptr, module_set_user_ptr)
6154         (module_get_user_finalizer, module_set_user_finalizer)
6155         (module_vec_get, Fmodule_call)
6156         (module_non_local_exit_signal_1)
6157         (module_non_local_exit_throw_1, lisp_to_value)
6158         (finalize_storage, allocate_emacs_value, mark_modules)
6159         (module_handle_signal, module_handle_throw)
6160         (module_format_fun_env):
6161         * src/eval.c (push_handler, push_handler_nosignal)
6162         (init_handler):
6163         * src/lread.c (suffix_p):
6164         Omit unnecessary ‘const’.
6166 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6168         Prefer intmax_t to int64_t in module code
6170         * modules/mod-test/mod-test.c (sum, Fmod_test_sum):
6171         * src/emacs-module.c (module_extract_integer)
6172         (module_make_integer):
6173         * src/emacs-module.h (struct emacs_env_25):
6174         Prefer intmax_t to int64_t.  This doesn’t change the generated
6175         code on any of the machines Emacs currently ports to, but it’s
6176         at least in theory more future-proof as C99 doesn’t guarantee
6177         that int64_t exists.
6179 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6181         Rename module.c to emacs-module.c, etc.
6183         * src/emacs-module.c: Rename from src/module.c.
6184         * src/emacs-module.h: Rename from src/module.h.
6185         All uses changed.
6187 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6189         Fix minor module problems found by static checking
6191         * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used.
6192         * src/eval.c, src/lisp.h (lisp_eval_depth): Now static.
6193         * src/module.c (Fmodule_load): Fix pointer signedness bug.
6194         (Fmodule_call): Tell GCC that the default case is unreachable.
6196 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6198         Style fixes for indenting etc. in module code
6200         This is mostly indenting and spacing changes.  Also, remove
6201         some unnecessary static decls instead of bothering to reindent them.
6202         * src/module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
6203         as most other Emacs files do for this sort of thing.
6205 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
6207         Minor improvements in modules testing Makefile
6209         * modules/mod-test/Makefile (EMACS, SO): New variables.
6210         (CFLAGS): When SO = dll, don't use -fPIC.
6211         (check): New target, runs the test.
6213 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
6215         * .gitignore: Add "*.dll".
6217 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6219         Migrate modules/.gitignore into .gitignore
6221         * .gitignore: Add former contents of modules/.gitignore.
6222         * modules/.gitignore: Remove.
6224 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6226         Add copyright notices to module code
6228         Put them in the usual format for GNU Emacs copyright notices.
6230 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6232         Rename emacs_module.h to module.h
6234         * src/module.h: Rename from src/emacs_module.h.
6235         All uses changed.
6237 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
6239         * src/module.c (Fmodule_load): Remove unused vars `doc_name', `args'
6241         * src/lread.c (Fload): Remove unused variable `size'
6243 2015-11-19  Alan Mackenzie  <acm@muc.de>
6245         src/keyboard.c (pre-command-hook): Fix typo in doc string: "pre" -> "post".
6247 2015-11-18  Dmitry Gutov  <dgutov@yandex.ru>
6249         Prioritize looking inside vc-parent-buffer over log-view-mode fallback
6251         * lisp/vc/vc.el (vc-deduce-fileset): Prioritize looking inside
6252         vc-parent-buffer over log-view-mode fallback (bug#21955).
6254 2015-11-18  Alan Mackenzie  <acm@muc.de>
6256         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
6258 2015-11-18  Ken Brown  <kbrown@cornell.edu>
6260         * configure.ac (LIBMODULES): Don’t define on Cygwin
6262 2015-11-18  Eli Zaretskii  <eliz@gnu.org>
6264         Fix MS-Windows build --with-modules
6266         * src/module.c: Reformat copyright commentary.
6267         (module_vec_get): Use explicit cast to size_t to avoid compiler
6268         warning in 32-bit builds.
6269         (check_main_thread) [WINDOWSNT]: Fix letter-case in Windows APIs.
6270         Compare thread IDs directly, as GetThreadId is not available
6271         before Windows Vista.
6272         (check_main_thread) [WINDOWSNT]: Duplicate the thread handle
6273         without using APIs and constants not available on XP and older
6274         systems.  Obtain and store the thread ID as well.
6276 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
6277             Philipp Stephani  <phst@google.com>
6279         Add dynamic module test and helper script
6281         Add 'modhelp.py' script (python2) to automate module testing and
6282         module generation.
6284         To build and test all modules in the modules/ dir
6285           $ ./modhelp.py test
6287         To generate a module from template code (good starting point)
6288           $ ./modhelp init mynewtestmodule
6290         See the script -h option for more documentation.
6292         * modules/modhelp.py: New module helper script.
6293         * modules/mod-test/Makefile: New file. Makefile for the test module.
6294         * modules/mod-test/mod-test.c: New file. Test module source file.
6295         * modules/mod-test/test.el: New file. ert test suite for the test module.
6296         * modules/.gitignore: New file. Local .gitignore file.
6298 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
6300         Make 'Fload' look for modules
6302         'Fload' can now load dynamic modules. This also makes 'require' work.
6304         * src/lread.c:
6305           (suffix_p): New function.
6306           (Fload): Use 'suffix_p'.  Call 'Fmodule_load' when we try to load a file
6307           with a module suffix.
6308           (syms_of_lread): Append module suffix to 'Vload_suffixes'.
6310 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
6311             Philipp Stephani  <phst@google.com>
6313         Add dynamic module module support
6315         * configure.ac: Add '--with-modules' option.  Conditionally add
6316           dynlib.o and module.o to the list of objects.  Add any system
6317           specific flags to the linker flags to support dynamic libraries.
6318         * m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
6319           attributes.
6320         * src/Makefile.in: Conditionally add module objects and linker flags.
6321         * src/alloc.c (garbage_collect_1): protect module local values from
6322           GC.
6323         * src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
6324         * src/emacs_module.h: New header file included by modules.  Public
6325           module API.
6326         * src/module.c: New module implementation file.
6328 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
6330         Add new User Pointer (User_Ptr) type
6332         * src/lisp.h: Add new Lisp_Misc_User_Ptr type.
6333         (XUSER_PTR): New User_Ptr accessor.
6334         * src/alloc.c (make_user_ptr): New function.
6335         (mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr.
6336         * src/data.c (Ftype_of): Return 'user-ptr' for user pointer.
6337         (Fuser-ptrp): New user pointer type predicate function.
6338         (syms_of_data): New 'user-ptrp', 'user-ptr' symbol.  New 'user-ptrp'
6339         subr.
6340         * src/print.c (print_object): Add printer for User_Ptr type.
6342 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
6343             Philipp Stephani  <phst@google.com>
6345         Add portable layer for dynamic loading
6347         * src/dynlib.h: New file.
6348         * src/dynlib.c: New file.
6350 2015-11-18  Philipp Stephani  <phst@google.com>
6352         Add catch-all & no-signal version of PUSH_HANDLER
6354         Ground work for modules. Add a non-signaling version of PUSH_HANDLER and
6355         a new "catch-all" handler type.
6357         * src/eval.c (init_handler, push_handler, push_handler_nosignal): New
6358           functions.
6359         * src/fns.c (hash_remove_from_table): Expose function public.
6360         * src/lisp.h: New handler type, define macro to push_handler call.
6362 2015-11-18  Ken Brown  <kbrown@cornell.edu>
6364         Silence byte-compiler warning
6366         * lisp/server.el (server-process-filter): Silence byte-compiler
6367         warning.
6369 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6371         Quote symbols in docstrings using `'
6373         Be more systematic about quoting symbols `like-this' rather than
6374         `like-this or 'like-this' in docstrings.  This follows up Artur
6375         Malabarba's email in:
6376         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html
6378 2015-11-18  Peder O. Klingenberg  <peder@klingenberg.no>
6380         Fix savegames in dunnet
6382         * lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead
6383           of separate implementation.
6385 2015-11-18  Artur Malabarba  <bruce.connor.am@gmail.com>
6387         * lisp/emacs-lisp/package.el (package--with-response-buffer):
6389         Ensure we're at the start of the buffer before searching for
6390         the end of headers.
6392 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
6394         * admin/release-process: Improve wording.
6396 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6398         Fix docstring quoting problems with ‘ '’
6400         Problem reported by Artur Malabarba in:
6401         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
6402         Most of these fixes are to documentation; many involve fixing
6403         longstanding quoting glitches that are independent of the
6404         recent substitute-command-keys changes.  The changes to code are:
6405         * lisp/cedet/mode-local.el (mode-local-augment-function-help)
6406         (describe-mode-local-overload):
6407         Substitute docstrings before displaying them.
6408         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
6409         Quote the generated docstring for later substitution.
6411 2015-11-17  Eli Zaretskii  <eliz@gnu.org>
6413         Improve configure --help text for wide ints
6415         * configure.ac (wide-int): Clarify user-level advantages and
6416         disadvantages.
6418 2015-11-17  Stephen Leake  <stephen_leake@stephe-leake.org>
6420         Improve doc string
6422         * lisp/progmodes/xref.el (xref-backend-references): Improve doc string.
6424 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6426         eval_sub followed dangling pointer when debugging
6428         Problem reported by Pip Cet (Bug#21245).
6429         This bug could occur in eval_sub if the C compiler reused
6430         storage associated with the ‘argvals’ local after ‘argvals’
6431         went out of scope, and if the Elisp debugger stopped on Elisp
6432         function exit and accessed ‘argvals’.  It could also occur if
6433         a variadic function was called with so many arguments (over
6434         2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then
6435         SAFE_FREE freed the arguments, then the memory manager used
6436         the storage for other purposes, then the debugger accessed the
6437         arguments.
6438         * src/eval.c (eval_sub): Declare ‘argvals’ at top level of
6439         function body.  Simplify local decls.
6440         When allocating args via SAFE_ALLOCA, call
6441         debugger before invoking SAFE_FREE, as the debugger needs
6442         access to the args.
6443         (eval_sub, apply_lambda): Rework to avoid need for
6444         set_backtrace_debug_on_exit hack.  This is cleaner,
6445         and should work better with buggy custom debuggers.
6447 2015-11-16  Daiki Ueno  <ueno@gnu.org>
6449         * lisp/image-mode.el: Support encrypted file
6451         (image-toggle-display-image): Read content from the buffer instead
6452         of the file, if the buffer holds a decrypted data.  (Bug#21870)
6454 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
6456         ELF unexec: align section header
6458         This ports the recent unexelf.c changes to Fedora x86-64
6459         when configured with GCC’s -fsanitize=undefined option.
6460         * src/unexelf.c (unexec): Align new_data2_size to a multiple
6461         of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a
6462         pointer aligned appropriately for its type.
6464 2015-11-16  Andreas Schwab  <schwab@linux-m68k.org>
6466         Do more checks on bytecode objects (Bug#21929)
6468         * src/eval.c (funcall_lambda): Check size of compiled function
6469         object.
6470         (Ffetch_bytecode): Likewise.
6472 2015-11-16  Johan Bockgård  <bojohan@gnu.org>
6474         pcase.el: Fix edebugging of backquoted cons patterns
6476         * lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
6477         cons patterns. (Bug#21920)
6479 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
6481         Improve fix for regex reentrancy abort
6483         Suggested by Stefan Monnier (Bug#21688).
6484         * src/syntax.c (update_syntax_table_forward):
6485         Remove recently-added PROPERTIZE arg, and assume it is true.
6486         All callers changed.
6487         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
6488         Invoke update_syntax_table directly.
6490 2015-11-16  Artur Malabarba  <bruce.connor.am@gmail.com>
6492         * lisp/faces.el (faces--attribute-at-point): Use `face-list-p'
6494         * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require
6496         * lisp/emacs-lisp/nadvice.el (add-function): Escape quote
6498 2015-11-15  Vasily Korytov  <vasily.korytov@yahoo.com>
6500         Recognize .rbw and .pyw files (bug#18753)
6502         * lisp/progmodes/python.el (auto-mode-alist):
6503         Recognize .pyw files.
6505         * lisp/progmodes/ruby-mode.el (auto-mode-alist):
6506         Recognize .rbw files.
6508 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
6510         Fix ruby-mode auto-mode-alist entry
6512         * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
6513         around the extensions (bug#21257).
6515 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
6517         Fix etags completion near eob
6519         * lisp/progmodes/etags.el (tags-completion-at-point-function):
6520         Use `goto-char', to avoid the end-of-buffer error (bug#20061).
6522 2015-11-15  Alan Mackenzie  <acm@muc.de>
6524         De-pessimize detection of C++ member initialization lists.
6526         list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
6527         (c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
6528         is only called when a construct "looks right" rather than continually.
6529         (c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
6531 2015-11-15  Stephen Leake  <stephen_leake@stephe-leake.org>
6533         Improve a few doc strings, comments
6535         * lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
6536         * lisp/cedet/ede/locate.el (ede-locate-base):
6537         * lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
6538         * src/fns.c (Fdelq): Improve doc string.
6540         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
6542 2015-11-15  Anders Lindgren  <andlind@gmail.com>
6544         Enhance NSTRACE (trace output for NextStep).
6546         Trace can be disabled for groups of functions. By default, event
6547         functions and functions that generate lots of output are disabled.
6549         Trace output of Objective-C functions now use the "[ClassName
6550         parameter:]" form.
6552         * src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
6553         (NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
6554         (NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
6555         controlling in which function groups trace should be active.
6556         (NSTRACE_WHEN): Support for silencing a function, this also
6557         silencing all called functions.
6558         (NSTRACE_UNSILENCE): New macro, used to re-enable trace.
6559         (NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
6560         print the full screen state in NSTRACE functions.
6562         * src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
6563         can be accessed from multiple threads.
6564         (nstrace_enabled_global): New variable, when FALSE, trace is
6565         silenced.
6566         (nstrace_restore_global_trace_state): New function, used to
6567         restore `nstrace_enabled_global' at end of block.
6568         ([EmacsView setFrame:], [EmacsWindow setFrame:display:])
6569         ([EmacsWindow setFrame:display:animation:])
6570         ([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
6571         and call corresponding super function.
6572         (Many functions): Add or enhance trace output.
6574         * src/nsimage.m (ns_image_from_file): Enhanced trace output.
6576         * src/nsfns.m (x_set_tool_bar_lines): Add trace output.
6578         * src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
6579         and call corresponding super function.
6581 2015-11-15  Anders Lindgren  <andlind@gmail.com>
6583         Fixed a toolbar related issue on OS X.
6585         Earlier, when toggling the tool-bar in a maximized frame, the
6586         frame size didn't match the number of text lines, leaving an
6587         unused area at the bottom of the frame.
6589         * nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
6590         fullscreen modes when tool bar is disabled.
6592 2015-11-15  Anders Lindgren  <andlind@gmail.com>
6594         Fixed OS X 10.6.8 build issue (bug#21862).
6596         * src/nsterm.h (EmacsView): Add missing declarations.
6597         * src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
6598         the standard method but without the notification parameter.
6599         Intended to be used for direct calls.
6600         ([EmacsView windowDidEnterFullScreen]): Call the non-notification
6601         version of `windowDidBecomeKey'. Made the notification method call
6602         the non-notification method instead of the vice versa.
6603         (NSWindowDidEnterFullScreenNotification): Deleted, no longer
6604         needed.
6606 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6608         * lisp/faces.el (faces--attribute-at-point): Fix an issue
6610         Previous code would signal an error when the face at point was
6611         a manually built list of attributes such as '(:foregroud "white").
6613         * test/automated/faces-tests.el (faces--test-color-at-point): Add a test
6615 2015-11-15  Paul Eggert  <eggert@cs.ucla.edu>
6617         Fix regex abort when it tries to reenter itself
6619         Problem reported by Ken Raeburn.
6620         Solution suggested by Stefan Monnier (Bug#21688).
6621         * src/regex.c (re_match_2_internal):
6622         Use new _FAST functions to avoid regex code reentering itself.
6623         * src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
6624         All callers changed.
6625         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
6626         (UPDATE_SYNTAX_TABLE_FAST): New inline functions.
6628 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
6630         Improve Ruby 1.9-style keyword keys highlighting
6632         * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
6633         Handle required keyword arguments (bug#21367).
6634         And highlight the colon together with the name.
6636 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
6638         Unify the absolutely equal xref-backend-references implementations
6640         * lisp/progmodes/elisp-mode.el (xref-backend-references):
6641         Remove.
6643         * lisp/progmodes/etags.el (xref-backend-references):
6644         Remove.
6646         * lisp/progmodes/xref.el (xref-backend-references):
6647         Define the default implementation.
6649 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
6651         Update project-find-regexp for the new xref API
6653         * lisp/progmodes/project.el (project--read-regexp):
6654         Update to use the new xref API methods.
6656         * lisp/progmodes/xref.el (xref-find-backend): Autoload.
6658 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
6660         Fix replacing a match with a shorter string
6662         In effect, partially reverting fe973fc.
6664         * lisp/progmodes/xref.el (xref-query-replace): Store the end
6665         of each match as a marker again, instead of length.
6666         (xref--query-replace-1): Update accordingly.
6668 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
6670         * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
6672         Signal user-errors instead.
6674 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
6676         Document 'describe-symbol'
6678         * doc/emacs/help.texi (Help Summary): Mention "C-h o".
6679         (Name Help): Document "C-h o" and describe-symbol.
6681         * lisp/help-fns.el (describe-symbol): Doc fix.
6683 2015-11-14  Paul Eggert  <eggert@cs.ucla.edu>
6685         Change test name to avoid spellcheck issue.
6687 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
6689         Avoid signaling an error in 'describe-symbol'
6691         * lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
6692         exists as a function/variable/face/etc., but is undocumented.
6694         * test/automated/help-fns.el (help-fns-test-describe-symbol): New
6695         test.
6697 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
6699         * INSTALL (--with-cairo): Document this new configure option.
6701 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
6703         Document that GNU Make >= 3.81 is required to build Emacs
6705         * doc/lispref/internals.texi (Building Emacs): Document that GNU
6706         Make 3.81 or later is now required.
6708 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
6710         * CONTRIBUTE (Branches): Improve wording for back-ported commits.
6712 2015-11-13  l3thal  <kwhite@gnu.org>
6714         Merge branch 'erc-async-reconnect' into emacs-25
6716         Reconnect asynchronously.
6718 2015-11-11  Alan Mackenzie  <acm@muc.de>
6720         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
6722         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
6723         Windows" and new @defun selected-window-group.
6724         (Window Start and End): Describe new &optional parameter GROUP and
6725         ...-group-function for window-start, window-end, set-window-start, and
6726         pos-visible-in-window-p.
6727         (Textual Scrolling) Describe the same for recenter.
6728         doc/lispref/positions.texi (Screen Lines): Describe the same for
6729         move-to-window-line.
6731         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
6732         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
6733         new optional parameter "group".  At the beginning of each, check whether the
6734         corresponding ...-group-function is set to a function, and if so execute this
6735         function in place of the normal processing.
6736         (syms_of_window): Define symbols for the six new variables below.
6737         (window-start-group-function, window-end-group-function)
6738         (set-window-start-group-function, recenter-group-function)
6739         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
6740         New permanent local buffer local variables.
6741         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
6742         Fpos_visible_in_window_p.
6744         lisp/window.el (selected-window-group-function): New permanent local buffer
6745         local variable.
6746         (selected-window-group): New function.
6748         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
6749         enable, kill them at mode disable.  Add/remove follow-after-change to/from
6750         after-change-functions.
6751         (follow-start-end-invalid): New variable.
6752         (follow-redisplay): Manipulate follow-start-end-invalid.
6753         (follow-after-change, follow-window-start, follow-window-end)
6754         (follow-set-window-start, follow-pos-visible-in-window-p)
6755         (follow-move-to-window-line, follow-sit-for): New functions.
6757         lisp/isearch.el (isearch-call-message): New macro.
6758         (isearch-update, with-isearch-suspended, isearch-del-char)
6759         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
6760         (with-isearch-suspended): Rearrange code such that isearch-call-message is
6761         invoked before point is moved.
6762         (isearch-message): Add comment about where point must be at function call.
6763         (isearch-search): Remove call to isearch-message.
6764         (isearch-lazy-highlight-window-group): New variable.
6765         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
6766         the battery of tests to ...
6767         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
6768         Note: (sit-for 0) is still called.
6769         (isearch-lazy-highlight-update): Check membership of
6770         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
6771         property.
6772         (isearch-update, isearch-done, isearch-string-out-of-window)
6773         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
6774         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
6775         (isearch-lazy-highlight-update): Call the six amended primitives (see
6776         src/window.c above) with the new `group' argument set to t, to cooperate
6777         with Follow Mode.
6779 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
6781         * shr.el (shr-descend): Allow using lambdas in external functions.
6783 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
6785         * admin/gitmerge.el: Tweaks that seemed necessary
6787         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
6788         (gitmerge-maybe-resume): Provide explicit empty commit message.
6790 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
6792         Use a different port for TLS erc
6794         * lisp/erc/erc.el (erc-default-port-tls): New variable
6795         (bug#19497).
6796         * lisp/erc/erc.el (erc-tls): Use it.
6798 2015-12-25  Alain Schneble  <a.s@realize.ch>
6800         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
6802         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
6803         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
6804         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
6805         information in URL-struct.
6806         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
6807         path and query into nil path and query, respectively.
6808         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
6809         empty path into an absolute ("/") path.
6810         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
6811         fragment-only URIs. Do not just return them unchanged.
6812         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
6813         reference URI should not drop the last segment.
6815 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6817         Let url use default file modes when copying files
6819         * lisp/url/url-handlers.el (url-copy-file): Use default file
6820         modes when copying files (bug#11400).
6822 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
6824         Doc fix for url-http
6826         * lisp/url/url-http.el (url-http): Document better return values
6827           (bug#13187) (tiny change)
6829 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6831         * eww.el (eww-display-html): Support <button> tags (bug#20485).
6833 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6835         Made ffap-url-p a defun instead of a defsubst
6837         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
6838         since there doesn't seem to be much of a reason for it to be a
6839         defsubst (bug#18203).
6841 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6843         Add a command to view files in the browser to dired
6845         * lisp/dired.el (dired-mode-map): Add the `W' command
6846         (bug#18810).
6848 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6850         Allow http://user:pass@foo/ URLs again
6852         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
6853         user/passwords in URLs (bug#19046).
6855 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6857         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
6859 2015-12-25  Samer Masterson  <samer@samertm.com>
6861         Autoload url-insert-buffer-contents
6863         * lisp/url/url-handlers.el: Add autoload cookie so that
6864         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
6866 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6868         Allow toggling colors in eww
6870         * doc/misc/eww.texi (Basics): Mention "C".
6872         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
6874         * lisp/net/shr.el (shr-use-colors): New variable.
6875         (shr-colorize-region): Use it.
6877 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6879         Follow meta refresh tags in eww
6881         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
6883 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6885         More eww file name coding fixes
6887         * eww.el (eww-decode-url-file-name): Use the base coding
6888         system to check for encodability.
6890 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6892         Always save eww history
6894         * eww.el (eww-setup-buffer): Always save history, even when
6895         called from outside the eww buffer (bug#19638).
6897 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6899         Default web pages to right-to-left
6901         * eww.el (eww-mode): Most web pages are left-to-right, so make
6902         that the default (bug#19801).
6904         * shr.el (shr-tag-html): Respect "dir" attributes
6905         (left-to-right, right-to-left).
6907 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6909         Make toggling checkboxes work again
6911         * eww.el (eww-update-field): Make toggling checkboxes work
6912         again (bug#21881).
6914 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6916         Don't store cookies with empty names
6918         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
6919         cookies with empty names (bug#21936).
6921 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6923         * shr.el (shr-descend): Stop rendering before we run out of
6924         specpdl room (bug#22117).
6926 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6928         Use cl-reduce, not reduce.
6930 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6932         Allow several <tbody> tags in shr
6934         * shr.el (shr-table-body): New function to find the real body
6935         of a table.
6936         (shr-tag-table): Use it to render several <tbody> tags in a
6937         table (bug#22170).
6939 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
6941         Make prettier unique file names in eww
6943         (eww-make-unique-file-name): Make unique file names by making
6944         files like foo(2).jpg instead of foo(1)(2).jpg.
6946 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
6948         Decode hex-encoded URLs before using them as file names
6950         * eww.el (eww-decode-url-file-name): New function.
6951         (eww-download-callback): Use it to decode file names before
6952         saving them.
6954 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>  (tiny change)
6956         * doc/misc/emacs-gnutls.texi (Help For Users): Document FreeBSD bundle.
6957         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
6959 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
6961         Allow overriding shr functions from eww
6963         * eww.el (eww-display-html): Allow overriding elements in
6964         `shr-external-rendering-functions'.
6966 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
6968         Ignore invalid SVG images
6970         * shr.el (shr-tag-svg): Ignore SVG images that have no width
6971         or height, because these can't be displayed by ImageMagick,
6972         anyway.
6974 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
6976         shr table rendering fix
6978         * shr.el (shr-tag-table): Allow rendering body-less tables
6979         that have headers.
6981 2015-12-22  Sam Steingold  <sds@gnu.org>
6983         clipboard should still work even if interprogram-* is disabled
6985         (clipboard-yank): When `interprogram-cut-function' is nil,
6986         bind it to `gui-selection-value' - the default value.
6987         (clipboard-kill-region, clipboard-kill-ring-save): When
6988         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
6989         the default value.
6991 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
6993         Fix bootstrap issue with dired-loaddefs
6995         * lisp/dired.el: Autoloads for secondary files loaded optionally.
6997 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
6999         dired generate autoloads to non-versioned file.
7001         * lisp/dired.el: Remove autoloads.
7002         * lisp/Makefile.in: Add dired to autogenel.
7003         * lisp/dired-aux.el,lisp/dired-x.el: Update file local.
7004         * test/lisp/dired-tests.el: Add new test.
7006 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
7008         eieio generate autoloads to non-versioned file.
7010         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
7011         * lisp/emacs-lisp/eieio.el,lisp/emacs-lisp/eieio-core.el:
7012           Remove autoloads.
7013         * lisp/emacs-lisp/eieio-compat.el,lisp/emacs-lisp/eieio-custom.el,
7014           lisp/emacs-lisp/eieio-opt.el: Update file local.
7015         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
7017 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
7019         htmlfontify generate autoload to non-versioned file.
7021         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
7022         * lisp/hfy-cmap.el: Update file local.
7023         * lisp/htmlfontify.el: Remove autoloads, add require.
7024         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
7026 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
7028         ibuffer generate autoloads to non-versioned file.
7030         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
7031         * lisp/ibuf-ext.el: Update file local.
7032         * lisp/ibuffer.el: Remove autoloads and add a require.
7033         * test/lisp/ibuffer-tests.el: Test that autoload is working.
7035 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
7037         rmail generate autoloads to non-versioned file.
7039         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
7040         * lisp/mail/rmail.el: Remove autoloads, add require.
7041         * lisp/mail/rmailedit.el,lisp/mail/rmailkwd.el,
7042           lisp/mail/rmailmm.el,lisp/mail/rmailmsc.el,
7043           lisp/mail/rmailsort.el,lisp/mail/rmailsum.el,
7044           lisp/mail/undigest.el: Update file-local.
7045         * test/lisp/mail/rmail-tests.el:
7047 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
7049         Add autoload-force target.
7051         * lisp/Makefile.in (autoload-force): New target.
7053 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
7055         ps-print generate autoloads to non versioned file.
7057         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
7058         * lisp/ps-print.el: Remove autoloads.
7059         * lisp/ps-mule.el: Update file-local.
7060         * test/lisp/ps-print-tests.el: Test autoload functionality.
7062 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
7064         reftex generate autoloads to non versioned file.
7066         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
7067         * lisp/textmodes/reftex.el: Remove autoloads.
7068         * lisp/textmodes/reftex-auc.el,lisp/textmodes/reftex-cite.el,
7069           lisp/textmodes/reftex-dcr.el,lisp/textmodes/reftex-global.el,
7070           lisp/textmodes/reftex-index.el,lisp/textmodes/reftex-parse.el,
7071           lisp/textmodes/reftex-ref.el,lisp/textmodes/reftex-sel.el,
7072           lisp/textmodes/reftex-toc.el: Update autoload file-local.
7073         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
7074           function.
7076 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
7078         * lisp/calculator.el (calculator-define-key): Undo last change
7080         Make map argument mandatory instead (bug#22106).
7081         (calculator-add-operators): Pass the argument that's not optional any more.
7083 2015-12-03  Glenn Morris  <rgm@gnu.org>
7085         * Makefile.in: Avoid duplication.
7087         (have-tests): New rule.
7088         (check, check-maybe): Use it.
7090 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
7092         make check unconditional, check-maybe top-level.
7094          * Makefile.in: Add check-maybe target.
7095          * test/Makefile.in: Restore unconditional behaviour to make check.
7097 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
7099         Tests now support out-of-source-build.
7101          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
7102            about current working directory.
7104 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
7106         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
7108 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
7110         Improve documentation and clean up.
7112          * test/Makefile.in: Improve documentation, use EMACS variable
7113            correctly, and clean up makefile rules.
7115 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
7117         Update file headers for name change.
7119          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
7121 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
7123         Test files renamed to new scheme.
7125          * (finalizer-tests.el): Now renamed alloc-tests.el
7126          * (zlib-tests.el): Now renamed decompress-tests.el.
7128 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
7130         Tests now depend on source files
7132          * test/Makefile.in: Include dependences from tests to source files.
7133          * test/make-test-deps.emacs-lisp: New file
7134          * .gitignore: Ignore generated make include file
7136 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
7138         * lisp/progmodes/which-func.el: Improve disabling the mode
7140         Use lexical-binding.
7141         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
7142         (which-func, which-func-format): Remove redundant :group arg.
7143         (which-func-try-to-enable): New function.
7144         (which-func-ff-hook, which-function-mode): Use it.
7145         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
7146         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
7148 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
7150         * lisp/calculator.el (calculator-define-key): Silence warning
7152         ...about unknown calculator-mode-map.
7154 2015-11-29  Eli Barzilay  <eli@barzilay.org>
7156         * lisp/calculator.el: more improvements and bugfixes.
7158         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
7159           effect anyway.)
7161         - Simplify `calculator-number-to-string' by throwing most of the work
7162           onto `number-to-string', leaving just some tweaks for decimal inputs.
7163           This leads to some minor changes, for example, pasting "1x1" in hex
7164           mode would warn that "x" is ignored and result in "11" (and it wasn't
7165           done in decimal mode), whereas now it just ignores everything from the
7166           "x" and on and result in a "1" just like in decimal input mode.  Also,
7167           overflows are left for `number-to-string' to deal with.
7169         - `calculator-paste' is very simple as a result.
7171         - Extend the simplified `calculator-paste': with a prefix argument it
7172           pastes a string as if the characters were entered.  This can be used
7173           to reduce expressions, but note that it's a simple literal operation,
7174           so precedence can be messed, a number can be paster while entering a
7175           number, spaces and newlines matter, etc.
7177         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
7178           operator.
7180         - Fix a bug in `calculator-put-value': avoid grouping in the display
7181           that is used to construct `calculator-curnum'.  This would trigger
7182           when pasting or getting a value from a register in some radix mode
7183           with a large enough value.  Another fix: make the output radix equal
7184           the input one, otherwise numbers could be converted twice.
7186 2015-11-29  Eli Barzilay  <eli@barzilay.org>
7188         * lisp/calculator.el: Re-do key bindings.
7190         Use a helper function that arranges a parent keymap that binds alternate
7191         case keys so if some letter key is unbound and it's un/shifted version
7192         is, it will get used.  This makes the global-map trickery unnecessary.
7194         Also switch to passing strings that name keys through `kbd'.
7196 2015-11-29  Eli Barzilay  <eli@barzilay.org>
7198         * lisp/calculator.el: improve radix modes
7200         Fix prompt for some input radix with decimal output (eg, "BD" instead of
7201         the incorrect "B="); also, some minor docstring tweaks for these.
7203 2015-11-29  Eli Barzilay  <eli@barzilay.org>
7205         * lisp/calculator.el: better reading of register names
7207         Use `register-read-with-preview' with a dynamically bound
7208         `register-alist' and a proper preview function to read register names.
7210 2015-11-29  Eli Barzilay  <eli@barzilay.org>
7212         * lisp/calculator.el: General improvements
7214         Use things like `when', `unless', and `push'.
7216         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
7217         non-electric mode.
7219 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
7221         Fix a problem with gfilenotify in filenotify-tests.el
7223         * test/lisp/filenotify-tests.el
7224         (file-notify--test-expected-events): Remove.
7225         (file-notify--test-cleanup): Do not set that variable.
7226         (file-notify--test-with-events): EVENTS can also be a list of lists.
7227         (file-notify-test02-events, file-notify-test04-file-validity):
7228         Adapt expected result.
7230 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7232         * .gitignore: Adjust to changes in 'test' directory structure.
7234 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7236         Fix test/manual/etags/Makefile
7238         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
7239         changes in 'test' directory structure.
7241 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
7243         Exclude resource dirs from search for tests.
7245         * test/Makefile.in: Test file locations are now found with find
7246           rather than using finds native functions.
7248 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
7250         Add test targets without directory names.
7252          * (test/Makefile.in): Extend test_template to add two targets for each
7253            file.
7255 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7257         * lisp/emacs-lisp/package.el: Require url-handlers
7259 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
7261         Move elisp-mode-tests to new function names.
7263          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
7264          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
7266 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
7268         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
7270 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
7272         Merge branch 'feature/standard-test-location'
7274 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
7276         * lisp/emacs-lisp/eieio.el: Add some default implementations
7278         (standard-class): Mark it obsolete.
7279         (slot-missing): Give it a default implementation.
7280         (destructor): Simplify and mark it obsolete.
7281         (object-print): Give it a default implementation.
7282         (eieio-change-class): Rename from change-class.
7283         (change-class): Redefine as obsolete alias.
7285 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7287         Some final fixes in file notification before merging with master
7289         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
7290         (file-notify-callback): Improve check for `stopped' event.  Call
7291         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
7292         (file-notify-add-watch): In case FILE is not a directory, call the
7293         file monitor for the kqueue backend.  Otherwise, call the
7294         directory monitor for the upper directory.
7296         * src/inotify.c (inotifyevent_to_event): Extract file name from
7297         watch_object if the event doesn't provide it.
7298         (Finotify_add_watch): Add file name to watch_object.
7300         * test/automated/file-notify-tests.el (file-notify--test-timeout):
7301         Use different timeouts for different libraries.
7302         (file-notify--test-with-events): Suppress lock files.  Flush
7303         outstanding events before running the body.
7304         (file-notify-test02-events, file-notify-test04-file-validity): Do
7305         not skip cygwin tests.  Add additional test for file creation.
7306         Adapt expected result for different backends.
7307         (file-notify-test03-autorevert): Some of the tests don't work for
7308         w32notify.
7309         (file-notify-test06-many-events): Rename into both directions.
7311 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7313         Rework file notifications, kqueue has problems with directory monitors
7315         * lisp/filenotify.el (file-notify-add-watch): Call the native
7316         add-watch function on the file, not on the dir.
7318         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
7319         about already deleted entries.
7321         * test/automated/auto-revert-tests.el
7322         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
7323         since this deletes the target file first.
7325         * test/automated/file-notify-tests.el (file-notify--test-event-test):
7326         Make stronger checks.
7327         (file-notify-test01-add-watch, file-notify-test02-events)
7328         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
7329         Rewrite in order to call file monitors but directory monitors.
7330         (file-notify-test06-many-events): Ler rename work in both directions.
7332 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7334         Continue with pending events
7336         * src/kqueue.c (pending_events): Remove global variable.
7337         (kqueue_compare_dir_list): Create `write' event for not used
7338         pending events.
7339         (globals_of_kqueue): Remove initialization of pending_events.
7341 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7343         Improve loops in file-notify-test06-many-events
7345         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
7346         Use `read-event' pauses for the `write-file' loops; otherwise
7347         events are lost in inotify and gfilenotify cases.
7349 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7351         Handle more complex rename operation in kqueue
7353         * src/kqueue.c (pending_events): New variable.
7354         (kqueue_compare_dir_list): Handle more complex rename operation.
7355         (globals_of_kqueue): Initialize pending_events.
7357         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
7358         Adapt expected events in the `rename-file' case.
7359         (file-notify-test06-many-events-remote): Declare.
7361 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
7363         New test with a larger number of events
7365         * test/automated/file-notify-tests.el (file-notify--test-with-events):
7366         Make timeout heuristically depend on the number of events.
7368         (file-notify-test06-many-events): Use it for new test.
7370 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7372         Further fixes for kqueue
7374         * lisp/filenotify.el (file-notify-callback): Raise also event if
7375         directory name matches.
7376         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
7378         * src/kqueue.c (kqueue_generate_event): Use watch_object as
7379         argument instead of ident.  Remove callback argument.  Adapt
7380         callees.  Check actions whether they are monitored flags.
7382         * test/automated/file-notify-tests.el (file-notify--test-library):
7383         New defun.
7384         (file-notify-test00-availability, file-notify-test02-events)
7385         (file-notify-test04-file-validity)
7386         (file-notify-test05-dir-validity): Use it.
7387         (file-notify-test02-events, file-notify-test04-file-validity): Add
7388         `read-event' calls between different file actions, in order to
7389         give the backends a chance to rais an event.  Needed especially
7390         for kqueue.  In case of deleting a directory, there are two
7391         `deleted' events.
7393 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7395         Code cleanup of kqueue.c
7397         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
7398         (kqueue_compare_dir_list): Do not loop when calling
7399         directory_files_internal.  Remove checks for "." and "..", this is
7400         done in kqueue_directory_listing now.
7401         (Fkqueue_add_watch): Check for proper emacs_open flags.
7403 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7405         Doc changes for kqueue
7407         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
7408         Fix some glitches in the example.
7410 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7412         Finish implementation in kqueue.c
7414         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
7415         Simplify access to list.
7416         (kqueue_compare_dir_list): Simplify access to list.  Raise
7417         `delete' event if directory does not exist any longer.  Otherwise,
7418         wait until directory contents has changed.  Fix error in check.
7420 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7422         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
7424 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7426         More work on kqueue
7428         * lisp/filenotify.el (file-notify-callback): Handle also the
7429         `rename' event from kqueue.
7430         (file-notify-add-watch): Do not register an entry twice.
7432         * src/kqueue.c (kqueue_directory_listing): New function.
7433         (kqueue_generate_event): New argument FILE1.  Adapt callees.
7434         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
7436 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7438         Implement directory events
7440         * lisp/filenotify.el (file-notify-handle-event)
7441         (file-notify-callback): Remove traces.
7443         * src/kqueue.c: Include <sys/time.h>.
7444         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
7445         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
7446         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
7447         Compute initial directory listing.  Close file descriptor in case
7448         of errors.
7449         (syms_of_kqueue): Declare Qcreate.
7451 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
7453         Build fixes for kqueue support
7455         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
7456         flag.
7458         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
7459         kqueue on *BSD.
7461 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7463         Continue kqueue implementation
7465         * lisp/filenotify.el (file-notify-handle-event)
7466         (file-notify-callback): Enable trace messages.
7468         * src/kqueue.c: Include also <sys/types.h>.
7469         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
7470         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
7471         (syms_of_kqueue): Add them.
7473 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7475         Work on kqueue
7477         * lisp/filenotify.el (file-notify--library)
7478         (file-notify-descriptors, file-notify-callback)
7479         (file-notify-add-watch, file-notify-rm-watch)
7480         (file-notify-valid-p): Add kqueue support.
7482         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
7484 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
7486         Add kqueue support
7488         * configure.ac (--with-file-notification): Add kqueue.
7489         (top): Remove special test for "${HAVE_NS}" and
7490         ${with_file_notification}, this is handled inside gfilenotify
7491         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
7492         instead of library specific variables.
7494         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
7496         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
7498         * src/kqueue.c: New file.
7500         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
7502 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
7504         Update elisp-mode-tests for changed file location.
7506          * test/lisp/progmodes/elisp-mode-tests.el:
7508 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
7510         Exclude manual tests from Makefile
7512          * test/Makefile.in:
7514 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
7516         Move package test files to new directory.
7518          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
7519          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
7521 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
7523         Restore delete Makefiles and fix .gitignore.
7525          * .gitignore: Update Makefiles to changed locations
7526          * test/lisp/progmodes/flymake-resources/Makefile,
7527            test/manual/etags/Makefile,
7528            test/manual/etags/make-src/Makefile,
7529            test/manual/indent/Makefile: Restored and moved to new location.
7531 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
7533         Test infrastructure: updates after directory move
7535          * (test/Makefile.in): Support directories several levels deep.
7536          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
7537          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
7539 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
7541         Rename all test files to reflect source layout.
7543          * CONTRIBUTE,Makefile.in,configure.ac: Update to reflect
7544            test directory moves.
7545          * test/file-organisation.org: New file.
7546          * test/automated/Makefile.in
7547            test/automated/data/decompress/foo.gz
7548            test/automated/data/epg/pubkey.asc
7549            test/automated/data/epg/seckey.asc
7550            test/automated/data/files-bug18141.el.gz
7551            test/automated/data/flymake/test.c
7552            test/automated/data/flymake/test.pl
7553            test/automated/data/package/archive-contents
7554            test/automated/data/package/key.pub
7555            test/automated/data/package/key.sec
7556            test/automated/data/package/multi-file-0.2.3.tar
7557            test/automated/data/package/multi-file-readme.txt
7558            test/automated/data/package/newer-versions/archive-contents
7559            test/automated/data/package/newer-versions/new-pkg-1.0.el
7560            test/automated/data/package/newer-versions/simple-single-1.4.el
7561            test/automated/data/package/package-test-server.py
7562            test/automated/data/package/signed/archive-contents
7563            test/automated/data/package/signed/archive-contents.sig
7564            test/automated/data/package/signed/signed-bad-1.0.el
7565            test/automated/data/package/signed/signed-bad-1.0.el.sig
7566            test/automated/data/package/signed/signed-good-1.0.el
7567            test/automated/data/package/signed/signed-good-1.0.el.sig
7568            test/automated/data/package/simple-depend-1.0.el
7569            test/automated/data/package/simple-single-1.3.el
7570            test/automated/data/package/simple-single-readme.txt
7571            test/automated/data/package/simple-two-depend-1.1.el
7572            test/automated/abbrev-tests.el
7573            test/automated/auto-revert-tests.el
7574            test/automated/calc-tests.el
7575            test/automated/icalendar-tests.el
7576            test/automated/character-fold-tests.el
7577            test/automated/comint-testsuite.el
7578            test/automated/descr-text-test.el
7579            test/automated/electric-tests.el
7580            test/automated/cl-generic-tests.el
7581            test/automated/cl-lib-tests.el
7582            test/automated/eieio-test-methodinvoke.el
7583            test/automated/eieio-test-persist.el
7584            test/automated/eieio-tests.el
7585            test/automated/ert-tests.el
7586            test/automated/ert-x-tests.el
7587            test/automated/generator-tests.el
7588            test/automated/let-alist.el
7589            test/automated/map-tests.el
7590            test/automated/advice-tests.el
7591            test/automated/package-test.el
7592            test/automated/pcase-tests.el
7593            test/automated/regexp-tests.el
7594            test/automated/seq-tests.el
7595            test/automated/subr-x-tests.el
7596            test/automated/tabulated-list-test.el
7597            test/automated/thunk-tests.el
7598            test/automated/timer-tests.el
7599            test/automated/epg-tests.el
7600            test/automated/eshell.el
7601            test/automated/faces-tests.el
7602            test/automated/file-notify-tests.el
7603            test/automated/auth-source-tests.el
7604            test/automated/gnus-tests.el
7605            test/automated/message-mode-tests.el
7606            test/automated/help-fns.el
7607            test/automated/imenu-test.el
7608            test/automated/info-xref.el
7609            test/automated/mule-util.el
7610            test/automated/isearch-tests.el
7611            test/automated/json-tests.el
7612            test/automated/bytecomp-tests.el
7613            test/automated/coding-tests.el
7614            test/automated/core-elisp-tests.el
7615            test/automated/decoder-tests.el
7616            test/automated/files.el
7617            test/automated/font-parse-tests.el
7618            test/automated/lexbind-tests.el
7619            test/automated/occur-tests.el
7620            test/automated/process-tests.el
7621            test/automated/syntax-tests.el
7622            test/automated/textprop-tests.el
7623            test/automated/undo-tests.el
7624            test/automated/man-tests.el
7625            test/automated/completion-tests.el
7626            test/automated/dbus-tests.el
7627            test/automated/newsticker-tests.el
7628            test/automated/sasl-scram-rfc-tests.el
7629            test/automated/tramp-tests.el
7630            test/automated/obarray-tests.el
7631            test/automated/compile-tests.el
7632            test/automated/elisp-mode-tests.el
7633            test/automated/f90.el
7634            test/automated/flymake-tests.el
7635            test/automated/python-tests.el
7636            test/automated/ruby-mode-tests.el
7637            test/automated/subword-tests.el
7638            test/automated/replace-tests.el
7639            test/automated/simple-test.el
7640            test/automated/sort-tests.el
7641            test/automated/subr-tests.el
7642            test/automated/reftex-tests.el
7643            test/automated/sgml-mode-tests.el
7644            test/automated/tildify-tests.el
7645            test/automated/thingatpt.el
7646            test/automated/url-future-tests.el
7647            test/automated/url-util-tests.el
7648            test/automated/add-log-tests.el
7649            test/automated/vc-bzr.el
7650            test/automated/vc-tests.el
7651            test/automated/xml-parse-tests.el
7652            test/BidiCharacterTest.txt
7653            test/biditest.el
7654            test/cedet/cedet-utests.el
7655            test/cedet/ede-tests.el
7656            test/cedet/semantic-ia-utest.el
7657            test/cedet/semantic-tests.el
7658            test/cedet/semantic-utest-c.el
7659            test/cedet/semantic-utest.el
7660            test/cedet/srecode-tests.el
7661            test/cedet/tests/test.c
7662            test/cedet/tests/test.el
7663            test/cedet/tests/test.make
7664            test/cedet/tests/testdoublens.cpp
7665            test/cedet/tests/testdoublens.hpp
7666            test/cedet/tests/testfriends.cpp
7667            test/cedet/tests/testjavacomp.java
7668            test/cedet/tests/testnsp.cpp
7669            test/cedet/tests/testpolymorph.cpp
7670            test/cedet/tests/testspp.c
7671            test/cedet/tests/testsppcomplete.c
7672            test/cedet/tests/testsppreplace.c
7673            test/cedet/tests/testsppreplaced.c
7674            test/cedet/tests/testsubclass.cpp
7675            test/cedet/tests/testsubclass.hh
7676            test/cedet/tests/testtypedefs.cpp
7677            test/cedet/tests/testvarnames.c
7678            test/etags/CTAGS.good
7679            test/etags/ETAGS.good_1
7680            test/etags/ETAGS.good_2
7681            test/etags/ETAGS.good_3
7682            test/etags/ETAGS.good_4
7683            test/etags/ETAGS.good_5
7684            test/etags/ETAGS.good_6
7685            test/etags/a-src/empty.zz
7686            test/etags/a-src/empty.zz.gz
7687            test/etags/ada-src/2ataspri.adb
7688            test/etags/ada-src/2ataspri.ads
7689            test/etags/ada-src/etags-test-for.ada
7690            test/etags/ada-src/waroquiers.ada
7691            test/etags/c-src/a/b/b.c
7692            test/etags/c-src/abbrev.c
7693            test/etags/c-src/c.c
7694            test/etags/c-src/dostorture.c
7695            test/etags/c-src/emacs/src/gmalloc.c
7696            test/etags/c-src/emacs/src/keyboard.c
7697            test/etags/c-src/emacs/src/lisp.h
7698            test/etags/c-src/emacs/src/regex.h
7699            test/etags/c-src/etags.c
7700            test/etags/c-src/exit.c
7701            test/etags/c-src/exit.strange_suffix
7702            test/etags/c-src/fail.c
7703            test/etags/c-src/getopt.h
7704            test/etags/c-src/h.h
7705            test/etags/c-src/machsyscalls.c
7706            test/etags/c-src/machsyscalls.h
7707            test/etags/c-src/sysdep.h
7708            test/etags/c-src/tab.c
7709            test/etags/c-src/torture.c
7710            test/etags/cp-src/MDiagArray2.h
7711            test/etags/cp-src/Range.h
7712            test/etags/cp-src/burton.cpp
7713            test/etags/cp-src/c.C
7714            test/etags/cp-src/clheir.cpp.gz
7715            test/etags/cp-src/clheir.hpp
7716            test/etags/cp-src/conway.cpp
7717            test/etags/cp-src/conway.hpp
7718            test/etags/cp-src/fail.C
7719            test/etags/cp-src/functions.cpp
7720            test/etags/cp-src/screen.cpp
7721            test/etags/cp-src/screen.hpp
7722            test/etags/cp-src/x.cc
7723            test/etags/el-src/TAGTEST.EL
7724            test/etags/el-src/emacs/lisp/progmodes/etags.el
7725            test/etags/erl-src/gs_dialog.erl
7726            test/etags/f-src/entry.for
7727            test/etags/f-src/entry.strange.gz
7728            test/etags/f-src/entry.strange_suffix
7729            test/etags/forth-src/test-forth.fth
7730            test/etags/html-src/algrthms.html
7731            test/etags/html-src/index.shtml
7732            test/etags/html-src/software.html
7733            test/etags/html-src/softwarelibero.html
7734            test/etags/lua-src/allegro.lua
7735            test/etags/objc-src/PackInsp.h
7736            test/etags/objc-src/PackInsp.m
7737            test/etags/objc-src/Subprocess.h
7738            test/etags/objc-src/Subprocess.m
7739            test/etags/objcpp-src/SimpleCalc.H
7740            test/etags/objcpp-src/SimpleCalc.M
7741            test/etags/pas-src/common.pas
7742            test/etags/perl-src/htlmify-cystic
7743            test/etags/perl-src/kai-test.pl
7744            test/etags/perl-src/yagrip.pl
7745            test/etags/php-src/lce_functions.php
7746            test/etags/php-src/ptest.php
7747            test/etags/php-src/sendmail.php
7748            test/etags/prol-src/natded.prolog
7749            test/etags/prol-src/ordsets.prolog
7750            test/etags/ps-src/rfc1245.ps
7751            test/etags/pyt-src/server.py
7752            test/etags/tex-src/gzip.texi
7753            test/etags/tex-src/nonewline.tex
7754            test/etags/tex-src/testenv.tex
7755            test/etags/tex-src/texinfo.tex
7756            test/etags/y-src/atest.y
7757            test/etags/y-src/cccp.c
7758            test/etags/y-src/cccp.y
7759            test/etags/y-src/parse.c
7760            test/etags/y-src/parse.y
7761            test/indent/css-mode.css
7762            test/indent/js-indent-init-dynamic.js
7763            test/indent/js-indent-init-t.js
7764            test/indent/js-jsx.js
7765            test/indent/js.js
7766            test/indent/latex-mode.tex
7767            test/indent/modula2.mod
7768            test/indent/nxml.xml
7769            test/indent/octave.m
7770            test/indent/pascal.pas
7771            test/indent/perl.perl
7772            test/indent/prolog.prolog
7773            test/indent/ps-mode.ps
7774            test/indent/ruby.rb
7775            test/indent/scheme.scm
7776            test/indent/scss-mode.scss
7777            test/indent/sgml-mode-attribute.html
7778            test/indent/shell.rc
7779            test/indent/shell.sh
7780            test/redisplay-testsuite.el
7781            test/rmailmm.el
7782            test/automated/buffer-tests.el
7783            test/automated/cmds-tests.el
7784            test/automated/data-tests.el
7785            test/automated/finalizer-tests.el
7786            test/automated/fns-tests.el
7787            test/automated/inotify-test.el
7788            test/automated/keymap-tests.el
7789            test/automated/print-tests.el
7790            test/automated/libxml-tests.el
7791            test/automated/zlib-tests.el: Files Moved.
7793 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
7795         Rework file notifications, kqueue has problems with directory monitors
7797         * lisp/filenotify.el (file-notify-add-watch): Call the native
7798         add-watch function on the file, not on the dir.
7800         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
7801         about already deleted entries.
7803         * test/automated/auto-revert-tests.el
7804         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
7805         since this deletes the target file first.
7807         * test/automated/file-notify-tests.el (file-notify--test-event-test):
7808         Make stronger checks.
7809         (file-notify-test01-add-watch, file-notify-test02-events)
7810         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
7811         Rewrite in order to call file monitors but directory monitors.
7812         (file-notify-test06-many-events): Ler rename work in both directions.
7814 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
7816         Continie with pending events
7818         * src/kqueue.c (pending_events): Remove global variable.
7819         (kqueue_compare_dir_list): Create `write' event for not used
7820         pending events.
7821         (globals_of_kqueue): Remove initialization of pending_events.
7823 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
7825         Improve loops in file-notify-test06-many-events
7827         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
7828         Use `read-event' pauses for the `write-file' loops; otherwise
7829         events are lost in inotify and gfilenotify cases.
7831 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
7833         Handle more complex rename operation in kqueue
7835         * src/kqueue.c (pending_events): New variable.
7836         (kqueue_compare_dir_list): Handle more complex rename operation.
7837         (globals_of_kqueue): Initialize pending_events.
7839         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
7840         Adapt expected events in the `rename-file' case.
7841         (file-notify-test06-many-events-remote): Declare.
7843 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
7845         New test with a larger number of events.
7847         * test/automated/file-notify-tests.el (file-notify--test-with-events):
7848         Make timeout heuristically depend on the number of events.
7850         (file-notify-test06-many-events): Use it for new test.
7852 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
7854         Further fixes for kqueue.
7856         * lisp/filenotify.el (file-notify-callback): Raise also event if
7857         directory name matches.
7858         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
7860         * src/kqueue.c (kqueue_generate_event): Use watch_object as
7861         argument instead of ident.  Remove callback argument.  Adapt
7862         callees.  Check actions whether they are monitored flags.
7864         * test/automated/file-notify-tests.el (file-notify--test-library):
7865         New defun.
7866         (file-notify-test00-availability, file-notify-test02-events)
7867         (file-notify-test04-file-validity)
7868         (file-notify-test05-dir-validity): Use it.
7869         (file-notify-test02-events, file-notify-test04-file-validity): Add
7870         `read-event' calls between different file actions, in order to
7871         give the backends a chance to rais an event.  Needed especially
7872         for kqueue.  In case of deleting a directory, there are two
7873         `deleted' events.
7875 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
7877         Code cleanup of kqueue.c
7879         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
7880         (kqueue_compare_dir_list): Do not loop when calling
7881         directory_files_internal.  Remove checks for "." and "..", this is
7882         done in kqueue_directory_listing now.
7883         (Fkqueue_add_watch): Check for proper emacs_open flags.
7885 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
7887         Doc changes for kqueue
7889         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
7890         Fix some glitches in the example.
7892 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
7894         Finish implementation in kqueue.c
7896         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
7897         Simplify access to list.
7898         (kqueue_compare_dir_list): Simplify access to list.  Raise
7899         `delete' event if directory does not exist any longer.  Otherwise,
7900         wait until directory contents has changed.  Fix error in check.
7902 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
7904         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
7906 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
7908         More work on kqueue
7910         * lisp/filenotify.el (file-notify-callback): Handle also the
7911         `rename' event from kqueue.
7912         (file-notify-add-watch): Do not register an entry twice.
7914         * src/kqueue.c (kqueue_directory_listing): New function.
7915         (kqueue_generate_event): New argument FILE1.  Adapt callees.
7916         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
7918 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
7920         Implement directory events
7922         * lisp/filenotify.el (file-notify-handle-event)
7923         (file-notify-callback): Remove traces.
7925         * src/kqueue.c: Include <sys/time.h>.
7926         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
7927         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
7928         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
7929         Compute initial directory listing.  Close file descriptor in case
7930         of errors.
7931         (syms_of_kqueue): Declare Qcreate.
7933 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
7935         Build fixes for kqueue support.
7937         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
7938         flag.
7940         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
7941         kqueue on *BSD.
7943 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
7945         Continue kqueue implementation
7947         * lisp/filenotify.el (file-notify-handle-event)
7948         (file-notify-callback): Enable trace messages.
7950         * src/kqueue.c: Include also <sys/types.h>.
7951         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
7952         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
7953         (syms_of_kqueue): Add them.
7955 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
7957         Work on kqueue
7959         * lisp/filenotify.el (file-notify--library)
7960         (file-notify-descriptors, file-notify-callback)
7961         (file-notify-add-watch, file-notify-rm-watch)
7962         (file-notify-valid-p): Add kqueue support.
7964         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
7966 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
7968         Add kqueue support
7970         * configure.ac (--with-file-notification): Add kqueue.
7971         (top): Remove special test for "${HAVE_NS}" and
7972         ${with_file_notification}, this is handled inside gfilenotify
7973         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
7974         instead of library specific variables.
7976         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
7978         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
7980         * src/kqueue.c: New file.
7982         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
7984 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
7986         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
7988         * verilog-mode.el (verilog-save-font-no-change-functions):
7989         Commentary and fix pre-Emacs 21 behavior.
7991 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
7993         Use obarray functions from obarray.
7995         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
7996           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
7997           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
7998           delegate to obarray.el functions.
7999         * lisp/loadup.el: load obarray before abbrev
8000         * test/automated/abbrev-tests.el: new tests
8002 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
8004         epa.el: Add option to replace original text
8006         * lisp/epa.el (epa-replace-original-text): New user option.
8007         (Bug#21947)
8009 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
8011         Add interactive seek command.
8013         * lisp/mpc.el (mpc-cmd-seekcur): New function.
8014         (mpc-seek-current): New command.
8015         (mpc-mode-menu): Add entry for mpc-seek-current
8016         (mpc-mode-map): Bind mpc-seek-current to "g"
8018 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
8020         Fix issue where a new tempfile was created every refresh
8022         * lisp/mpc.el (mpc-format): Leave dir as relative path
8024 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
8026         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
8028         (c-save-buffer-state): Use with-silent-modifications when available.
8029         (c--macroexpand-all): Check macroexpand-all directly rather than
8030         c--mapcan-status.
8032 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
8034         * lisp/loadup.el: Set max-lisp-eval-depth here
8036         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
8037         (BYTE_COMPILE_FLAGS): Adjust accordingly.
8039 2015-11-17  João Távora  <joaotavora@gmail.com>
8041         Minor fix to comment indentation and typo in last commit
8043         * linum.el (linum-update-window): Fix comment indentation and a
8044         typo.
8046 2015-11-17  João Távora  <joaotavora@gmail.com>
8048         linum-mode plays more nicely with other margin-setting extensions
8050         linum.el will only modify the left margin if it needs to, and will
8051         only reset the it back to 0 if it guesses that no-one has touched that
8052         margin in the meantime.
8054         As such, this is a more of a workaround than an actual fix, but fixes
8055         the problems described in bug#20674 regarding the interaction with
8056         modes such as darkroom-mode and olivetti-mode.
8058         A similar fix was commited to nlinum.el in ELPA.git's
8059         e7f5f549fbfb740b911fb7f33b42381ecece56d8
8061         * linum.el (linum-delete-overlays): Restore margins more
8062         criteriously.
8063         (linum-update-window): Set margins more criteriously.
8065 2015-11-16  Daiki Ueno  <ueno@gnu.org>
8067         * lisp/image-mode.el: Support encrypted file
8069         (image-toggle-display-image): Read content from the buffer instead
8070         of the file, if the buffer holds a decrypted data.  (Bug#21870)
8072 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
8074         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
8076 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
8078         * lisp/emacs-lisp/package.el: Fix a decoding issue
8080         (package--with-response-buffer): Use `url-insert-buffer-contents'.
8081         The previous code had some issues with decoding. Refactoring that
8082         function allows us to use the decoding from url-handlers while still
8083         treating both sync and async requests the same.
8085         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
8086         `url-insert-buffer-contents'.
8087         (url-insert-buffer-contents): New function
8089 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
8091         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
8093         (package--with-work-buffer-async): Reimplement as
8094         `package--with-response-buffer'.
8095         (package--with-work-buffer): Mark obsolete.
8096         (package--with-response-buffer): New macro. This is a more self
8097         contained and less contrived version of
8098         `package--with-work-buffer-async'.  It uses keyword arguments,
8099         doesn't have async on the name, doesn't fallback on
8100         `package--with-work-buffer', and has _much_ simpler error
8101         handling.
8103         (package--check-signature, package--download-one-archive)
8104         (package-install-from-archive, describe-package-1): Use it.
8106         (package--download-and-read-archives): Let
8107         `package--download-one-archive' take care of calling
8108         `package--update-downloads-in-progress'.
8110 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8112         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
8114         (verilog-save-buffer-state): Use with-silent-modifications when available.
8115         (verilog-save-font-no-change-functions): Don't bind
8116         before/after-change-functions if it's not needed.
8118 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
8120         * CONTRIBUTE: Remove information about feature freeze.
8122         Merge branch 'release-process-lowercase'
8124 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
8126         Document the release process
8128         * admin/notes/versioning: Add information about RC releases.
8129         * admin/release-process: Document the release process.
8130         * admin/authors.el (authors-ignored-files):
8131         * admin/README: Change FOR-RELEASE to release-process.
8132         * CONTRIBUTE:
8133         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
8135 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
8137         * admin/release-process: Rename from admin/FOR-RELEASE.
8139 2015-11-14  David Engster  <deng@randomsample.de>
8141         gitmerge: Fix git log command
8143         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
8144         only want commits from the branch that is to be merged.
8145         (gitmerge-setup-log-buffer): Use the same symmetric range as in
8146         `gitmerge-missing'.
8148 2015-11-14  David Engster  <deng@randomsample.de>
8150         gitmerge: Try to detect cherry-picks
8152         * admin/gitmerge.el (gitmerge-default-branch): Change to
8153         origin/emacs-25.
8154         (gitmerge-missing): Use symmetric difference ('...') between
8155         branch and master so that cherry-picks can be detected.
8157 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
8159         Increment Emacs version on master branch
8161         * lisp/cus-edit.el (customize-changed-options-previous-release):
8162         Increase previous version to 24.5.
8164         * configure.ac:
8165         * msdos/sed2v2.inp: Bump version to 25.1.50.
8167 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
8169         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
8170         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
8171         * README: Mention CONTRIBUTE.
8173 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
8175         Update verilog-mode.el to 2015-11-09-b121d60-vpo
8177         * verilog-mode.el (verilog-auto, verilog-delete-auto)
8178         (verilog-modi-cache-results, verilog-save-buffer-state)
8179         (verilog-save-font-no-change-functions): When internally suppressing
8180         change functions, use `inhibit-modification-hooks' and call
8181         `after-change-funtions' to more nicely work with user hooks.
8182         Reported by Stefan Monnier.
8183         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
8184         Create `verilog-delete-auto-buffer' to avoid double-calling
8185         fontification hooks.
8186         (verilog-restore-buffer-modified-p, verilog-auto)
8187         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
8188         set-buffer-modified-p.  Reported by Stefan Monnier.
8189         (verilog-diff-auto, verilog-diff-buffers-p)
8190         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
8191         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
8192         AUTOINST with unpacked dimensional parameters, bug981.  Reported by
8193         by Amol Nagapurkar.
8194         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
8195         properties inside internal structures.  No functional change
8196         intended.
8198 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
8200         Use generic dispatch for xref backends
8202         * lisp/progmodes/xref.el (xref-backend-functions):
8203         New variable.
8204         (xref-find-function): Remove.
8205         (xref-find-backend)
8206         (xref--etags-backend): New functions.
8207         (xref-identifier-at-point-function)
8208         (xref-identifier-completion-table-function): Remove.
8209         (xref-backend-definitions, xref-backend-references)
8210         (xref-backend-apropos, xref-backend-identifier-at-point)
8211         (xref-backend-identifier-completion-table):
8212         New generic functions.
8214         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
8215         Add `elisp--xref-backend' to the beginning of
8216         `xref-backend-functions', locally.  Delete references to
8217         removed functions and vars.
8218         (elisp-xref-find): Remove.
8219         (elisp--xref-backend): New function.
8220         (elisp--xref-find-references, elisp--xref-find-apropos)
8221         (elisp--xref-identifier-completion-table):
8222         Turn into appropriately named generic methods.
8224         * lisp/progmodes/etags.el (etags-xref-find): Remove.
8225         (xref-backend-identifier-completion-table)
8226         (xref-backend-references, xref-backend-definitions)
8227         (xref-backend-apropos): New generic methods.
8229 2015-11-13  Juri Linkov  <juri@linkov.net>
8231         Support rectangular regions for more commands
8233         * lisp/simple.el (region-extract-function): Handle the arg
8234         value ‘bounds’.
8235         (region-insert-function): New function.
8236         (shell-command-on-region): Add arg ‘region-noncontiguous-p’.
8237         If non-nil, operate on multiple chunks.
8238         (region-noncontiguous-p): New function.
8240         * lisp/rect.el: Add function rectangle--insert-region
8241         around region-insert-function.
8242         (extract-rectangle-bounds): New function.
8243         (rectangle--extract-region): Handle the arg value ‘bounds’.
8244         (rectangle--insert-region): New function.
8246         * lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
8247         around region-insert-function.
8248         (cua--extract-rectangle-bounds): New function.
8249         (cua--rectangle-region-extract): Handle the arg value ‘bounds’.
8251         * lisp/replace.el (query-replace, query-replace-regexp): Add arg
8252         ‘region-noncontiguous-p’.  Use ‘use-region-p’.
8253         (query-replace-regexp-eval, map-query-replace-regexp)
8254         (replace-string, replace-regexp): Use ‘use-region-p’.
8255         (keep-lines, flush-lines, how-many): Use ‘use-region-p’.
8256         (perform-replace): Add arg ‘region-noncontiguous-p’.
8257         If non-nil, operate on multiple chunks.
8259         * src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
8260         If non-nil, operate on multiple chunks.  (Bug#19829)
8262 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
8264         Handle multiple matches on the same line; add highlighting
8266         * lisp/progmodes/xref.el (xref-location-marker): Interpret the
8267         column value in characters.
8268         (xref--collect-matches): Rename from `xref--collect-match'.
8269         Search for all matches in the hit line.  Add `highlight' face to
8270         the matched region in the summary.  Update both callers.
8272 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
8274         Replace xref-match-bounds with xref-match-length
8276         Relying on xref-location-marker to point to the beginning of the match
8278         * lisp/progmodes/xref.el (xref-match-bounds): Remove.
8279         (xref-match-length): Add.
8280         (xref-make-match): Change the arguments.
8281         (xref--match-buffer-bounds): Remove.
8282         (xref-match-item): Store length, instead of end-column.
8283         (xref-pulse-momentarily)
8284         (xref--collect-match)
8285         (xref--query-replace-1): Update accordingly.
8286         (xref-query-replace): Ditto.  And check that the search results
8287         are up-to-date.
8289 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8291         Merge from gnulib
8293         This incorporates:
8294         2015-11-13 xalloc-oversized: improve performance with GCC 5
8295         * lib/xalloc-oversized.h: Copy from gnulib.
8297 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8299         Spruce up ftfont.c memory allocation
8301         * src/ftfont.c (setup_otf_gstring):
8302         Avoid O(N**2) behavior when reallocating.
8303         (ftfont_shape_by_flt): Prefer xpalloc to xrealloc when
8304         reallocating buffers; this simplifies the code.  Do not trust
8305         mflt_run to leave the output areas unchanged on failure, as
8306         this isn’t part of its interface spec.
8308 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8310         Port recent XCB changes to 64-bit ‘long int’
8312         For historical reasons, libX11 represents 32-bit values like Atoms as
8313         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
8314         do that, so adapt the recent XCB code to behave properly on 64-bit
8315         platforms.  Also, fix what appears to be a bug in the interpretation
8316         of xcb_get_property_value_length, at least on my Fedora platform
8317         which is running libxcb-1.11-5.fc21.
8318         * src/xfns.c (x_real_pos_and_offsets):
8319         * src/xterm.c (get_current_wm_state):
8320         xcb_get_property_value_length returns a byte count, not a word count.
8321         For 32-bit quantities, xcb_get_property_value returns a vector
8322         of 32-bit words, not of (possibly 64-bit) long int.
8324 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8326         * src/undo.c (run_undoable_change): Now static.
8328 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8330         Remove support for ':timeout' from w32 tray notifications
8332         * src/w32fns.c (Fw32_notification_notify): Delete the code that
8333         supports ':timeout'.
8334         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
8335         with dbusbind.c when D-Bus is compiled in.
8337         * doc/lispref/os.texi (Desktop Notifications): Don't mention
8338         ':timeout'.
8340 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
8342         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
8343         (simple-test--transpositions): New macro.
8344         (simple-transpose-subr): New test.
8346 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
8348         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
8350 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
8352         * src/undo.c: Small fixes for previous change
8353         (run_undoable_change): Mark void argument list.
8354         (record_property_change): Remove unused variable `boundary'.
8356 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8358         Add a few more variables to redisplay--variables
8360         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
8361         and bidi-display-reordering to the list.
8363 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8365         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
8367 2015-11-13  Eli Barzilay  <eli@barzilay.org>
8369         Fix point positioning after transposing with negative arg
8371         * lisp/simple.el (transpose-subr): When invoked with a negative
8372         argument, move point to after the transposed text, like we do
8373         when invoked with a positive argument.  (Bug#21885)
8375 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8377         Fix last change in shr.el
8379         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
8380         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
8382 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8384         Fix last change
8386         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
8387         Don't DEFSYM tray notification symbols if D-Bus is being used.
8389 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8391         Another fix for MinGW64 and Cygwin builds due to notifications
8393         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
8394         being compiled into Emacs.
8395         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
8396         Sw32_notification_notify and Sw32_notification_close if the code
8397         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
8399 2015-11-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8401         Remove intern calls and XXX comments from Fx_export_frames
8403         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
8404         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
8405         for consistency with image types.  Remove XXX comments.
8406         (syms_of_xfns) <Qpdf>: DEFSYM it.
8408 2015-11-12  Eric Hanchrow  <eric.hanchrow@gmail.com>
8410         shr: don't invoke unbound function (Bug#21895)
8412         * lisp/net/shr.el (have-fringes-p): New function.
8413         (shr-insert-document, shr-fill-text): Use it.
8415 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
8417         * test/automated/keymaps-test.el: Fix test to make it repeatable
8419         (keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map
8420         entry to its initial value to make the test repeatable in interactive
8421         sessions (assuming it doesn't fail and crashes Emacs, of course).
8423 2015-11-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8425         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
8426         Small fix.
8428 2015-11-12  Phillip Lord  <phillip.lord@newcastle.ac.uk>
8430         The heuristic that Emacs uses to add an `undo-boundary' has been
8431         reworked, as it interacts poorly with functions on `post-command-hook'
8432         or `after-change-functions'.
8434         * lisp/simple.el: New section added.
8435         * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
8436         (self_insert_command): Calls simple.el to amalgamate.
8437         (delete_char): Calls simple.el to amalgamate.
8438         * src/keyboard.c (last_undo_boundary): Removed.
8439         * src/undo.c (run_undoable_change): New function.
8441 2015-11-12  Juri Linkov  <juri@linkov.net>
8443         Bind [?\S-\ ] to previous line command in Dired-like modes
8445         * lisp/arc-mode.el (archive-mode-map):
8446         * lisp/dired.el (dired-mode-map):
8447         * lisp/proced.el (proced-mode-map):
8448         * lisp/vc/vc-dir.el (vc-dir-mode-map):
8449         Bind [?\S-\ ] to previous line command.
8450         (Bug#20790)
8452 2015-11-12  Eli Zaretskii  <eliz@gnu.org>
8454         Fix the MinGW64 and Cygwin-w32 builds
8456         * src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
8457         (MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
8458         use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
8459         which cause trouble with MinGW42 headers.  Ifdef away tray
8460         notifications code for Cygwin.  Reported by Andy Moreton
8461         <andrewjmoreton@gmail.com>.
8463 2015-11-12  Simen Heggestøyl  <simenheg@gmail.com>
8465         Enable sorting of JSON object keys when encoding
8467         * lisp/json.el (json-encoding-object-sort-predicate): New variable
8468         for specifying a sorting predicate for JSON objects during encoding.
8469         (json--plist-to-alist): New utility function.
8470         (json-encode-hash-table): Re-use `json-encode-alist' when object keys
8471         are to be sorted.
8472         (json-encode-alist): Sort output by
8473         `json-encoding-object-sort-predicate, when set.
8474         (json-encode-plist): Re-use `json-encode-alist' when object keys are
8475         to be sorted.
8476         (json-pretty-print-buffer-ordered): New command to pretty print the
8477         buffer with object keys sorted alphabetically.
8478         (json-pretty-print-ordered): New command to pretty print the region
8479         with object keys sorted alphabetically.
8481         * test/automated/json-tests.el (test-json-plist-to-alist)
8482         (test-json-encode-plist, test-json-encode-hash-table)
8483         (test-json-encode-alist-with-sort-predicate)
8484         (test-json-encode-plist-with-sort-predicate): New tests.
8486         * etc/NEWS: Add an entry for the new commands.
8488 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
8490         * test/automated/keymap-tests.el: New test file.
8492 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
8494         Speed up x_real_pos_and_offsets using XCB
8496         * src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of
8497         all X calls, and pipeline requests when possible, collecting results
8498         later.  Eliminate use of x_catch_errors (and thus XSync) in XCB case.
8500 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
8502         Enable use of XCB for checking window manager state
8504         * src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead
8505         of XGetWindowProperty plus error-catching, since we can explicitly
8506         check for errors in the XCB version.  This eliminates 3 XSync calls on
8507         top of the round-trip actually fetching the information.
8509 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
8511         Detect XCB and save a connection handle
8513         * configure.ac: If using X11, check for XCB libraries and header.
8514         * src/Makefile.in (XCB_LIBS): Define.
8515         (LIBX_EXTRA): Include it.
8517         * src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
8518         (struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
8519         * src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
8521 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
8523         Reduce some data dependencies between X calls
8525         Gains nothing in the traditional-Xlib code, but more closely aligns
8526         with how the XCB version will work.
8528         * src/xfns.c (x_real_pos_and_offsets): When translating coordinates,
8529         send coordinates (0,0) to the X server and add in the real coordinates
8530         after getting the response.  Move XGetGeometry for outer window inside
8531         error-trapping block.  Use DPY variable more, since it's available.
8533 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
8535         Use color cache for creating bitmap
8537         * src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]:
8538         Set attributes to use the caching color allocator.  Initialize and
8539         free the cache.
8541 2015-11-12  Eli Barzilay  <eli@barzilay.org>
8543         Add "^" to the interactive specs of `dired-next/previous-line'
8545         * lisp/dired.el (dired-next-line, dired-previous-line): It makes sense
8546         to bind these commands to the arrow keys, and that means that they work
8547         better with a "^" in the `interactive' declaration so selection works
8548         as expected.
8550 2015-11-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8552         Sync with soap-client repository, version 3.0.2
8554         * soap-client.el: Bump version to 3.0.2.
8556         * soap-client.el (soap-warning): Use format, not format-message.
8558         * soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
8559         (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.
8561         * soap-client.el: Support Emacs versions that do not have
8562         define-error.
8564         * soap-inspect.el: Remove version header.
8566         * soap-client.el, soap-inspect.el, jira2.el: Fix first line header
8567         format.
8569 2015-11-11  Alan Mackenzie  <acm@muc.de>
8571         CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start
8573         * lisp/progmodes/cc-engine.el (c-backward-single-comment)
8574         (c-backward-comments, c-invalidate-state-cache-1, c-parse-state-1)
8575         (c-guess-basic-syntax):
8576         Remove bindings of open-paren-in-column-0-is-defun-start to nil.
8577         (c-get-fallback-scan-pos): "New" function (existed several years ago).
8578         (c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using
8579         c-get-fallback-scan-pos.
8580         (c-parse-state-1): Handle 'BOD strategy.
8582         * lisp/progmodes/cc-mode.el (c-before-change, c-after-change)
8583         (c-font-lock-fontify-region): Remove bindings of
8584         open-paren-in-column-0-is-defun-start to nil.
8586         * doc/misc/cc-mode.texi (Performance Issues)
8587         (Limitations and Known Bugs): Fix mix up between @chapter and @appendix.
8589 2015-11-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8591         * lisp/obarray.el: Fix shadowed variables.
8592         (obarray-map, obarray-remove, obarray-put, obarray-get):
8593         Change OBARRAY arg to OB to avoid shadowing ‘obarray’.
8595 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
8597         Avoid error in submitting a form with EWW
8599         * lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument
8600         CHUNK to be nil.  (Bug#21881)
8602 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
8604         Rename seq-p and map-p to seqp and mapp
8606         * lisp/emacs-lisp/seq.el (seqp): New name.
8607         * lisp/emacs-lisp/map.el (mapp): New name.
8608         * doc/lispref/sequences.texi: Update the documentation for seqp.
8609         * test/automated/map-tests.el: Update the tests for mapp.
8611 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
8613         Rename obarray-p to obarrayp
8615         * lisp/obarray.el (obarrayp): New name.
8616         * test/automated/obarray-tests.el: Update the tests.
8618 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
8620         Rename obarray-foreach to obarray-map
8622         * lisp/obarray.el (obarray-map): New name.
8623         * test/automated/obarray-tests.el: Update the corresponding tests.
8625 2015-11-11  Przemysław Wojnowski  <esperanto@cumego.com>
8627         New file with obarray functions
8629         * lisp/obarray.el: Basic obarray functions extracted from abbrev.el.
8630         * test/automated/obarray-tests.el: New file.
8632 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
8634         Implement tray notifications for MS-Windows
8636         * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef.
8637         (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE)
8638         (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO)
8639         (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID)
8640         (EMACS_NOTIFICATION_MSG): New macros.
8641         (NI_Severity): New enumeration.
8642         (get_dll_version, utf8_mbslen_lim, add_tray_notification)
8643         (delete_tray_notification, Fw32_notification_notify)
8644         (Fw32_notification_close): New functions.
8645         (syms_of_w32fns): Defsubr functions exposed to Lisp.  DEFSYM
8646         keywords used by w32-notification-notify.
8648         * doc/lispref/os.texi (Desktop Notifications): Describe the native
8649         w32 tray notifications.
8651 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
8653         Optimize `file-equal-p' and `file-in-directory-p' in Tramp
8655         * lisp/net/tramp.el (tramp-handle-file-equal-p)
8656         (tramp-handle-file-in-directory-p): New defuns.  Suggested by
8657         Harvey Chapman <hchapman@3gfp.com>.
8659         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
8660         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
8661         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
8662         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
8664 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
8666         * CONTRIBUTE: Encourage adding tests.
8668         Based on this post from John Wiegley:
8670           From: "John Wiegley" <johnw@newartisans.com>
8671           Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test
8672           To: Juanma Barranquero <lekktu@gmail.com>
8673           Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com,
8674               emacs-devel <emacs-devel@gnu.org>
8675           Date: Wed, 28 Oct 2015 18:45:29 -0700
8676           Message-ID: <m2y4emqwg6.fsf@newartisans.com>
8678           https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
8680 2015-11-10  David Reitter  <david.reitter@gmail.com>
8682         Avoid creating notification objects when possible
8684         * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:)
8685         (windowDidEnterFullScreen, windowDidExitFullScreen): Provide convenience
8686         functions that do not require a notification object.  When needed,
8687         define NSWindowDidEnterFullScreenNotification to allow for compilation
8688         on OS X 10.6.8.
8690 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
8692         Move INTEGER_TO_CONS body out of .h file
8694         * src/data.c (INTBIG_TO_LISP): New macro, with most
8695         of the contents of the old INTEGER_TO_CONS.
8696         (intbig_to_lisp, uintbig_to_lisp): New functions.
8697         * src/lisp.h (INTEGER_TO_CONS):
8698         Simplify by using EXPR_SIGNED and the new functions.
8699         This shrinks code size a bit, and makes it easier to
8700         put a breakpoint on handling of large integers.
8702 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
8704         Merge from gnulib
8706         This incorporates:
8707         2015-11-10 intprops: new public macro EXPR_SIGNED
8708         2015-11-10 intprops: fix typo in clang port
8709         * lib/intprops.h: Copy from gnulib.
8711 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
8713         Spelling fixes
8715         * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type):
8716         Fix misspelling in output.
8718 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
8720         * doc/lispref/variables.texi (Directory Local Variables):
8721         Document dir-locals wildcards.
8723         * lisp/files.el (dir-locals-file): Point to Info node.
8725         * doc/emacs/custom.texi (Directory Variables):
8726         Document dir-locals wildcards.
8728         * etc/NEWS: Document new functionality.
8730 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
8732         * lisp/files.el: Don't allow customization of dir-locals sorting.
8733         In retrospect, this is not a good idea for the same reason that
8734         `dir-locals-file' is a defconst, because it is important that this
8735         behaviour be "uniform across different environments and users".
8736         Sure, the user can still change the sorting with a hack, but we
8737         shouldn't encourage them to change it.
8738         (dir-locals--all-files): Return list in the order returned by
8739         `file-expand-wildcards'.
8740         (file-expand-wildcards): Document the sorting predicate used.
8741         (dir-locals-sort-predicate): Delete variable.
8743 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
8745         * lisp/files.el (dir-locals-read-from-file): Better handle errors.
8747         * lisp/isearch.el (search-default-regexp-mode): Change default value.
8749 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
8751         * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files.
8752         `locate-dominating-file' will now keep looking if the files it finds in
8753         a given directory are unreadable (or not files).
8755 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
8757         * lisp/files.el (dir-locals-file): Allow wildcards.
8758         (dir-locals-find-file, dir-locals-collect-variables)
8759         (dir-locals-read-from-file): Update accordingly.
8760         (hack-dir-local-variables): Rename a local variable.
8762         * lisp/files-x.el (modify-dir-local-variable): Update accordingly.
8764         * lisp/help-fns.el (describe-variable): Update accordingly.
8766         * .gitignore: Add .dir-locals?.el.
8768 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
8770         * lisp/emacs-lisp/map.el (map-merge-with): New function.
8772         * test/automated/map-tests.el (test-map-merge-with): New test.
8774 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
8776         Fix some recently-perturbed bookmark autoloads
8778         * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload.
8779         (bookmark-set): Restore autoload.
8780         (bookmark-set-no-overwrite): Add autoload.
8782         Thanks to Juanma Barranquero for noticing the autoload problems
8783         introduced by my recent commit adding/changing the above functions
8784         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
8786 2015-11-09  Noah Friedman  <friedman@splode.com>
8788         * etc/emacs-buffer.gdb (ydump-buffer): Handle case where gap is at
8789         the start of buffer.  I don't recall if older versions of gdb were
8790         less strict but you cannot dump a 0-length range in gdb 7.9.1.
8792 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
8794         * lisp/progmodes/project.el: Update Commentary.
8796         Merge branch 'project-next'
8798 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
8800         Fold `project-ask-user' into `project-current'
8802         * lisp/progmodes/project.el (project-find-functions):
8803         Remove `project-ask-user'.
8804         (project-ask-user): Remove function and the corresponding
8805         `project-roots' implementation.
8806         (project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
8807         user in case there's no project in the current directory.  Update
8808         all callers.
8810 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
8812         When VC detects a conflict, specify which file
8814         * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function.
8815         * lisp/vc/vc-svn.el (vc-svn-find-file-hook):
8816         * lisp/vc/vc-hg.el (vc-hg-find-file-hook):
8817         * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook):
8818         * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function
8819           to display a standard message that specifies the conflicted file.
8821         Before this change, the message VC used for indicating a conflicted
8822         file was just "There are unresolved conflicts in this file" without
8823         naming the file (and this language was duplicated in several places).
8824         After this change, it's "There are unresolved conflicts in file FOO"
8825         (and this language is now centralized in one function in vc.el).
8827         Justification: It's important for the message to name the conflicted
8828         file because the moment when VC realizes a file is conflicted does not
8829         always come interactively.  For example, some people automatically
8830         find a set of Org Mode files on startup, and may keep those .org files
8831         under version control.  If any of the files are conflicted, the user
8832         just sees some messages fly by, and might later check the "*Messages*"
8833         buffer to find out what files were conflicted.  I'm not saying this
8834         happened to me or anything; it's a purely hypothetical example.
8836 2015-11-09  Eli Zaretskii  <eliz@gnu.org>
8838         Fix assertion violation in define-key
8840         * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character
8841         objects.  Reported by Drew Adams <drew.adams@oracle.com>
8842         and Juanma Barranquero <lekktu@gmail.com>.
8844 2015-11-09  Dima Kogan  <dima@secretsauce.net>
8846         Fix a memory leak in GC of font cache
8848         * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font
8849         entities if some of the fonts it references are marked.  This
8850         plugs a memory leak.  (Bug#21556)
8852 2015-11-09  Paul Eggert  <eggert@cs.ucla.edu>
8854         Use INT_ADD_WRAPV etc. to check integer overflow
8856         * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string):
8857         * src/buffer.c (record_overlay_string, overlay_strings):
8858         * src/casefiddle.c (casify_object):
8859         * src/ccl.c (Fccl_execute_on_string):
8860         * src/character.c (char_width, c_string_width, lisp_string_width)
8861         (count_size_as_multibyte, string_escape_byte8):
8862         * src/coding.c (coding_alloc_by_realloc, produce_chars):
8863         * src/data.c (arith_driver):
8864         * src/dispnew.c (realloc_glyph_pool, init_display):
8865         * src/editfns.c (styled_format):
8866         * src/fns.c (Ffillarray):
8867         * src/ftfont.c (ftfont_shape_by_flt):
8868         * src/gnutls.c (gnutls_hex_string):
8869         * src/gtkutil.c (get_utf8_string):
8870         * src/image.c (x_to_xcolors, x_detect_edges, png_load_body):
8871         * src/keymap.c (Fkey_description):
8872         * src/lisp.h (SAFE_ALLOCA_LISP):
8873         * src/term.c (encode_terminal_code):
8874         * src/tparam.c (tparam1):
8875         * src/xselect.c (x_property_data_to_lisp):
8876         * src/xsmfns.c (smc_save_yourself_CB):
8877         * src/xterm.c (x_term_init):
8878         When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to
8879         more-complicated code involving division and/or
8880         INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and
8881         subtraction and/or INT_ADD_OVERFLOW.
8882         * src/casefiddle.c (casify_object): Simplify multibyte size check.
8883         * src/character.c: Remove some obsolete ‘#ifdef emacs’s.
8884         * src/data.c (arith_driver): Also check for division overflow,
8885         as that’s now possible given that the accumulator can now contain
8886         any Emacs integer.
8887         * src/lisp.h (lisp_word_count): Remove; no longer used.
8889 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
8891         Make sure that the ignore file exists
8893         * lisp/vc/vc.el (vc-default-ignore-completion-table):
8894         Make sure that the ignore file exists.
8896 2015-11-08  Michael Sperber  <mike@xemacs.org>
8898         * gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
8899         `gnus-summary-delete-article` in a way that also works on XEmacs.
8901 2015-11-08  Simen Heggestøyl  <simenheg@gmail.com>
8903         Add support for retrieving paths to JSON elements
8905         Add support for retrieving the path to a JSON element. This can for
8906         instance be useful to retrieve paths in deeply nested JSON
8907         structures.
8909         * lisp/json.el (json-pre-element-read-function)
8910         (json-post-element-read-function): New variables to hold pre- and post
8911         read callback functions for `json-read-array' and `json-read-object'.
8912         (json--path): New variable used internally by `json-path-to-position'.
8913         (json--record-path, json--check-position): New functions used
8914         internally by `json-path-to-position'.
8915         (json-path-to-position): New function for retrieving the path to a
8916         JSON element at a given position.
8917         (json-read-object, json-read-array): Call
8918         `json-pre-element-read-function' and `json-post-element-read-function'
8919         when set.
8921         * test/automated/json-tests.el (test-json-path-to-position-with-objects)
8922         (test-json-path-to-position-with-arrays)
8923         (test-json-path-to-position-no-match): New tests for
8924         `json-path-to-position'.
8926 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
8928         * etc/NEWS: Mention new `bookmark-set-no-overwrite'.
8930         This really should been part of my previous commit
8931         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
8933 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
8935         Offer non-overwrite bookmark setter (Bug#15746)
8937         * lisp/bookmark.el (bookmark-set-internal): New helper function to do
8938         what `bookmark-set' used to do, but with more choices for overwrite
8939         vs push, and with minor changes to the interactive prompt format.
8940         (bookmark-set): Rewrite as wrapper around above.
8941         If overwriting, inform the user of that in the prompt.
8942         (bookmark-set-no-overwrite): New function, also done as wrapper.
8943         Bind to "M" in `ctl-x-r-map' autoloads.
8944         (bookmark-map): Similarly bind "M" here.
8946 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
8948         * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614).
8950 2015-11-08  Alan Modra  <amodra@gmail.com>
8952         ELF unexec: Don't insert a new section
8954         Reuse the .bss section instead, making it SHT_PROGBITS.  This way we
8955         don't need to mess with symbol st_shndx, or section sh_link and
8956         sh_info.
8958         This does lead to eu-elflint complaints about symbols defined in .bss
8959         with a needed version, because normally it is undefined symbols that
8960         have needed versions;  Defined symbols have version definitions.
8961         The exception is symbols defined by the linker in .dynbss for
8962         variables copied from a shared library in order to avoid text
8963         relocations, with copy relocs to copy their initial values from the
8964         shared library.  These symbols are both defined and have needed
8965         versions, and eu-elflink only expects to see them in SHT_NOBITS
8966         sections.  Of course there is no real problem with having such symbols
8967         in SHT_PROGBITS sections.  glibc ld.so handles them fine.
8969         * src/unexelf.c: Delete outdated comments.
8970         (PATCH_INDEX): Delete.
8971         (find_section): Delete.
8972         (unexec): Don't add a new section.  Instead reuse the last bss
8973         section, extending it to cover dumped data.  Make bss sections
8974         SHT_PROGBITS.  Remove all patching of sh_link, sh_info and
8975         st_shndx.  Rename bss sections.
8977 2015-11-08  Alan Modra  <amodra@gmail.com>
8979         ELF unexec: Drive from PT_LOAD header rather than sections
8981         This rewrites bss handling in the ELF unexec code.  Finding bss
8982         sections by name results in complicated code that
8983         - does not account for all names of possible bss sections,
8984         - assumes specific ordering of bss sections,
8985         - can wrongly choose a SHT_NOBITS section not in the bss segment,
8986         - incorrectly calculates bss size (no accounting for alignment gaps),
8987         - assumes .data and .bss are in the same segment.
8989         All of these problems and more are solved by finding the bss segment
8990         in PT_LOAD headers, ie. the address range included in p_memsz but not
8991         p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections
8992         in that address range.
8994         * src/unexelf.c: Delete old ppc comment.
8995         (OLD_PROGRAM_H): Define.
8996         (round_up): Delete.
8997         (unexec): Don't search for bss style sections by name.  Instead,
8998         use the last PT_LOAD header address range covered by p_memsz
8999         but not p_filesz and match any SHT_NOBITS section in that
9000         address range.  Simplify initialisation of section header vars.
9001         Don't assume that section headers are above bss segment.  Move
9002         copying of bss area out of section loop.  Align .data2 section
9003         to 1, since it now covers the entire bss area.  For SHT_NOBITS
9004         sections in the bss segment, leave sh_addr and sh_addralign
9005         unchanged, but correct sh_offset.  Clear memory corresponding
9006         to SHT_NOBITS .plt section.  Delete comment and hacks for
9007         sections partly overlapping bss range now that the full range
9008         is properly calculated.  Delete now dead .sbss code.
9009         (Bug#20614)
9011 2015-11-08  Alan Modra  <amodra@gmail.com>
9013         ELF unexec: R_*_NONE relocs
9015         These should be ignored on all targets.
9017         * src/unexelf.c (unexec): Ignore R_*_NONE relocs for any target,
9018         not just Alpha.  Comment on reloc size assumption.
9020 2015-11-08  Alan Modra  <amodra@gmail.com>
9022         ELF unexec: _OBJC_ symbols in bss sections
9024         This code assumed that there was only one bss section.  Rather than
9025         checking for a particular index, check the section type.  Also, handle
9026         the possibility that the section was SHT_NOBITS originally and is
9027         unchanged, in which case no clearing is needed (and sh_offset isn't
9028         necessarily valid, which can lead to a wild memset).
9030         * src/unexelf.c (unexec): Properly handle _OBJC_ symbols in
9031         bss sections.
9033 2015-11-08  Alan Modra  <amodra@gmail.com>
9035         ELF unexec: Symbol table patching
9037         No st_shndx value larger than SHN_LORESERVE should be changed.
9038         * src/unexelf.c (unexec): Don't adjust any st_shndx larger than
9039         SHN_LORESERVE.  Error on SHN_XINDEX.
9041 2015-11-08  Alan Modra  <amodra@gmail.com>
9043         ELF unexec: Merge Alpha and MIPS COFF debug handling
9045         * src/unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling.
9046         Don't find .mdebug section index, find the section in the loop.
9047         Allow for unlikely possibility that .mdebug is located at sh_offset
9048         before bss segment, by calculating move from difference in
9049         sh_offset rather than just assuming new_data2_size.  Simplify
9050         cbLineOffset handling.
9052 2015-11-08  Alan Modra  <amodra@gmail.com>
9054         ELF unexec: Tidy code
9056         Separate out some of the more mechanical changes so following patches
9057         are smaller.
9059         * src/unexelf.c (unexec): Rearrange initialisation of program
9060         header vars.  Use pointer vars in loops rather than indexing
9061         section header array via macros.  Simplify _OBJC_ sym code
9062         and reloc handling code.
9064 2015-11-08  Alan Modra  <amodra@gmail.com>
9066         ELF unexec: Correct section header index
9068         First a small fix.  The code incorrectly uses "NEW_SECTION_H (n)" when
9069         it should have been using "NEW_SECTION_H (nn)" to find the name of the
9070         section currently being processed.  Of course, before the bss
9071         sections, n and nn have the same value, so this doesn't matter except
9072         in the case of .sbss.  For .sbss this probably meant .bss (most likely
9073         the next section) was copied from memory.  A later patch removes the
9074         bogus .sbss handling anyway.
9076         * src/unexelf.c (unexec): Use correct index to look up names.
9078 2015-11-08  Michael Albinus  <michael.albinus@gmx.de>
9080         Fix Bug#21841
9082         * lisp/filenotify.el (file-notify--rm-descriptor):
9083         Use `descriptor' instead of computing its value.
9084         (file-notify--descriptor): Additional argument FILE.  Adapt all callees.
9085         (file-notify-rm-watch): Use `descriptor' when calling file name handler.
9086         (Bug#21841)
9088 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
9090         Remove dirs in vc project roots from the the vc project library roots
9092         * lisp/progmodes/project.el (project-library-roots):
9093         Remove directories inside the project roots from the result.
9094         (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
9096 2015-11-07  Dmitry Gutov  <dgutov@yandex.ru>
9098         Move and rename xref-find-regexp to the project package
9100         * lisp/progmodes/project.el (project-find-regexp)
9101         (project--read-regexp)
9102         (project--find-regexp-in): New functions.
9104         * lisp/progmodes/xref.el (xref--find-xrefs): Extract from
9105         xref--show-xrefs.  Use in existing callers in place of that
9106         function.
9107         (xref--show-xrefs): Only do the "show" part.
9108         (xref-find-regexp): Rename, more or less, to
9109         project-or-libraries-find-regexp.
9111 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
9113         Abolish temporary buffer management for xref
9115         * lisp/progmodes/xref.el (xref--temporary-buffers)
9116         (xref--current)
9117         (xref--inhibit-mark-current)
9118         (xref--mark-selected): Remove.  Remove all references.
9119         (xref--show-xrefs): Do not construct the
9120         list of the temporary buffers, nor pass it along.
9122 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
9124         Rename "search path" to "library roots"
9126         * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
9127         of the elements from CL-LIST1.
9129         * test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
9130         Update WRT to the above change.
9132         * lisp/progmodes/project.el (project-search-path-function): Rename
9133         to project-library-roots-function, update the documentation and
9134         references.
9135         (project-search-path): Likewise, to project-library-roots.
9136         (project-roots): Clarify documentation.
9137         (project-vc-search-path): Likewise, to project-vc-library-roots.
9138         (project-library-roots): In addition to the renames, thread the
9139         results through file-name-as-directory.
9140         (project-prune-directories): Accept a variable number of
9141         arguments.  Rename to project-combine-directories.
9142         (project-subtract-directories): New function.
9144         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
9145         Append project-roots and project-library-roots together.
9147         * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
9149 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
9151         Prefer xpalloc to doubling buffers by hand
9153         * src/lread.c (grow_read_buffer): New function, which uses xpalloc.
9154         (read1): Use it for simplicity.
9155         * src/macros.c (store_kbd_macro_char):
9156         * src/minibuf.c (read_minibuf_noninteractive):
9157         * src/term.c (encode_terminal_code):
9158         * src/xrdb.c (magic_db):
9159         Prefer xpalloc to growing buffers by hand.
9160         This doesn’t fix any bugs, but simplifies the code a bit.
9162 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
9164         Merge from gnulib
9166         This incorporates:
9167         2015-11-05 timespec-sub: fix overflow bug; add tests
9168         2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW
9169         2015-11-03 intprops: add parentheses
9170         * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c:
9171         Copy from gnulib.
9173 2015-11-07  David Reitter  <david.reitter@gmail.com>
9175         Provide NS notification objects where required to eliminate warnings
9177         * nsterm.m (windowDidResize:, toggleFullScreen:):
9178         Call notification functions with notification objects
9179         as per delegate APIs.
9181 2015-11-07  Noam Postavsky  <npostavs@users.sourceforge.net>
9183         Add test for bug #21824
9185         * test/automated/buffer-tests.el: New file.
9186         (overlay-modification-hooks-message-other-buf): New test.
9188 2015-11-07  Kelvin White  <kwhite@gnu.org>
9190         * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771.
9192 2015-11-07  David Reitter  <david.reitter@gmail.com>
9194         Ignore fullscreen exit notifications on NS when frame is dead
9196         * nsterm.m (windowDidResize:, windowWillExitFullScreen:)
9197         (windowDidExitFullScreen:): Return if frame is dead.
9198         These functions may be called when a fullscreen frame
9199         is closed; they are called before, not after.
9201         May address Bug#21428.
9203 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
9205         Speed up lookup in redisplay--variables
9207         * lisp/frame.el (redisplay--variables): Make it a hash-table.
9209         * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
9210         as a hash-table.  This speeds up this function by an order of
9211         magnitude: where previously a setq was slowed down by 100% by
9212         introducing the maybe_set_redisplay test, it is now only 5%
9213         slower.
9214         (syms_of_xdisp) <redisplay--variables>: Doc fix.
9216 2015-11-07  Artur Malabarba  <bruce.connor.am@gmail.com>
9218         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug.
9220         The defsubst was being created as:
9221             (cl-defsubst name (args) ("DOC") ...)
9223         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
9224         Add test.
9226 2015-11-07  Mihai Olteanu  <mihai_olteanu@fastmail.fm>  (tiny change)
9228         Update doc string of hexl-mode
9230         * lisp/hexl.el (hexl-mode): Doc fix.  (Bug#21800)
9232 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
9234         Fix error in copy-abbrev-table
9236         * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff
9237         property of the abbrev-table.  (Bug#21828)
9239         * test/automated/abbrev-tests.el: New file.
9241 2015-11-07  Michael Albinus  <michael.albinus@gmx.de>
9243         Add test to auto-revert-tests.el for Bug#21841
9245         * test/automated/auto-revert-tests.el
9246         (auto-revert-test01-auto-revert-several-files): New test.
9247         (auto-revert-test02-auto-revert-tail-mode)
9248         (auto-revert-test03-auto-revert-mode-dired): Rename them.
9250 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
9252         * doc/lispref/windows.texi (Coordinates and Windows): Fix typo.
9254 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
9256         In x_consider_frame_title don't set title of tooltip frames
9258         * src/xdisp.c (x_consider_frame_title): Return immediately for
9259         tooltip frames to avoid displaying empty tooltips.
9261 2015-11-06  Anders Lindgren  <andlind@gmail.com>
9263         Fixed NextStep fullscreen problem (bug#21770).
9265         * src/nsterm.m (ns_constrain_all_frames): Don't constrain
9266         fullscreen frames.
9268 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
9270         Ensure redisplay after evaluation
9272         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
9273         Revert last change.
9274         * lisp/frame.el (redisplay--variables): Populate the
9275         redisplay--variables list.
9276         * src/xdisp.c (maybe_set_redisplay): New function.
9277         (syms_of_xdisp) <redisplay--variables>: New variable.
9278         * src/window.h (maybe_set_redisplay): Declare prototype.
9279         * src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
9281 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
9283         * test/automated/subr-tests.el (subr-test-when): Fix again.
9285 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
9287         Don't invoke overlay modification hooks in wrong buffer
9289         * src/buffer.c (report_overlay_modification): When called with
9290         AFTER non-zero, don't invoke overlay modification hooks if the
9291         buffer recorded in last_overlay_modification_hooks is different
9292         from the current buffer.  (Bug#21824)
9294 2015-11-06  Juanma Barranquero  <lekktu@gmail.com>
9296         * admin/notes/repo: Fix a few obsolete references to Bazaar.
9298 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
9300         * test/automated/subr-tests.el (subr-test-when): Fix test.
9302 2015-11-06  Martin Rudalics  <rudalics@gmx.at>
9304         Avoid division by zero crash observed by Yuan MEI
9306         See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html.
9308         * src/dispnew.c (required_matrix_height, required_matrix_width):
9309         Avoid division by zero.
9310         * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and
9311         dpyinfo->smallest_char_width to 1.
9313 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
9315         Ensure redisplay after "C-x C-e"
9317         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure
9318         redisplay happens to account for any side effects of the evaluated
9319         sexp.  (Bug#21835)
9321 2015-11-06  Michael Albinus  <michael.albinus@gmx.de>
9323         Skip some file notification tests for cygwin
9325         * test/automated/file-notify-tests.el (file-notify--test-with-events):
9326         Remove argument TIMEOUT.  Adapt all callees.
9327         (file-notify-test02-events, file-notify-test04-file-validity):
9328         Skip for cygwin.  (Bug#21804)
9330 2015-11-05  Stephen Leake  <stephen_leake@stephe-leake.org>
9332         * lisp/progmodes/xref.el: Require semantic/symref during compilation.
9334 2015-11-05  Daiki Ueno  <ueno@gnu.org>
9336         Suppress redundant Pinentry startup messages
9338         * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument.
9339         * lisp/epg.el: Declare `pinentry-start'.
9340         (epg--start): Call `pinentry-start' with QUIET argument set.
9342 2015-11-05  Xue Fuqiao  <xfq.free@gmail.com>
9344         * doc/emacs/ack.texi (Acknowledgments): Updates.
9346 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
9348         * test/automated/elisp-mode-test.el: Silence some run-time warnings.
9349         (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
9351 2015-11-05  Tassilo Horn  <tsdh@gnu.org>
9353         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
9354         Add prettification support for \times.
9356 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
9358         * test/automated/process-tests.el: Skip tests when bash is unavailable.
9359         (process-test-sentinel-accept-process-output)
9360         (process-test-sentinel-sit-for): skip-unless bash executable found.
9362 2015-11-05  Eli Zaretskii  <eliz@gnu.org>
9364         Add test for bug #21831
9366         * test/automated/process-tests.el
9367         (start-process-should-not-modify-arguments): New test.  (Bug#21831)
9368         Suggested by Nicolas Richard <youngfrog@members.fsf.org>
9370 2015-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
9372         * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests.
9374         (eieio--generic-static-object-generalizer): Fix typo.
9375         * test/automated/eieio-tests.el: Byte-compile it again.  It looks
9376         like the underlying cause of bug#17852 was fixed in the mean time.
9378 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
9380         Revert "* lisp/subr.el (when): Use `macroexp-progn'"
9382         This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8.
9383         It breaks bootstrapping (duh).
9385 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
9387         * lisp/files.el (report-errors): Obsolete.
9389         (normal-mode, hack-local-variables, dir-locals-find-file):
9390         Use `with-demoted-errors' instead.
9392 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
9394         * lisp/subr.el (when): Use `macroexp-progn'.
9396         * test/automated/subr-tests.el (subr-test-when): New test.
9398 2015-11-04  Juanma Barranquero  <lekktu@gmail.com>
9400         * lisp/progmodes/xref.el: Doc fixes.
9401         (xref-make-file-location, xref-make-buffer-location, xref-make)
9402         (xref-make-bogus-location, xref-make-match): Add cross-references.
9403         (xref--insert-xrefs): Fix typo in docstring.
9405 2015-11-04  Anders Lindgren  <andlind@gmail.com>
9407         Render fringe bitmaps correctly on NextStep (bug#21301)
9409         The fringe bitmaps were inverted, the background was not transparent,
9410         the image data was horizontally mirrored, and periodic fringe bitmaps
9411         were not supported.
9413         * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]):
9414         When both background and foreground colors are 0, set the background
9415         alpha channel to 0 (making the background transparent).  When
9416         copying the image data, do this from the most significant bit
9417         (leftmost) to the least (rightmost), to avoid mirroring.
9418         * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits.
9419         Add support for periodic images (e.g. the empty line indicator).
9421 2015-11-03  Michael Heerdegen  <michael_heerdegen@web.de>
9423         * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring.
9425 2015-11-03  Nicolas Petton  <nicolas@petton.fr>
9427         * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el.
9429         * admin/MAINTAINERS: Add thunk.el.
9431 2015-11-03  Jay Belanger  <jay.p.belanger@gmail.com>
9433         * lisp/calc/calc (calc-bug-address): Change maintainer address.
9435 2015-11-03  Michael Albinus  <michael.albinus@gmx.de>
9437         Fix a stupid error in gfilenotify.c
9439         * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only,
9440         if we've got a `deleted' signal AND the file name is the watched one.
9442 2015-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
9444         Fix Bug#21816; case insensitive file system in elisp-mode-tests.el
9446         * test/automated/elisp-mode-tests.el (xref-elisp-test-run):
9447         Use case-insensitive string compare for file names.
9448         (emacs-test-dir): Add 'downcase' to cause case differences (at
9449         least on my system).
9451 2015-11-02  Juanma Barranquero  <lekktu@gmail.com>
9453         flymake-tests.el (warning-predicate-rx-gcc): Fix check
9455         * test/automated/flymake-tests.el (warning-predicate-rx-gcc):
9456         Also check that "make" is available, not just "gcc".
9458 2015-11-02  Ken Brown  <kbrown@cornell.edu>
9460         Document behavior of collation on Cygwin
9462         * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as
9463         expected failure on Cygwin.
9464         * doc/lispref/strings.texi (Text Comparison): Document that
9465         punctuation and whitespace are not ignored for sorting on Cygwin.
9467 2015-11-02  Dani Moncayo  <dmoncayo@gmail.com>
9469         * build-aux/msys-to-w32: Prevent double slashes in w32 path list.
9471 2015-11-01  Glenn Morris  <rgm@gnu.org>
9473         * lisp/progmodes/f90.el (f90-no-block-limit): Add associate.
9474         (Bug#21794)
9475         * test/automated/f90.el (f90-test-bug21794): New test.
9477 2015-11-01  Juanma Barranquero  <lekktu@gmail.com>
9479         Fix incompatibility with TCC in test for bug#18745
9481         * test/automated/process-tests.el (process-test-quoted-batfile):
9482         Remove spaces unrelated to the bug being tested.
9484 2015-11-01  Michael Albinus  <michael.albinus@gmx.de>
9486         Improve completion in tramp-gvfs.el
9488         * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names):
9489         Rename from `tramp-zeroconf-parse-service-device-names'.
9490         (tramp-zeroconf-parse-webdav-device-names): Remove.  Code merged
9491         with `tramp-zeroconf-parse-device-names'.
9492         (tramp-gvfs-parse-device-names): New defun.
9493         (top): Use it when `tramp-zeroconf-parse-device-names' is not
9494         applicable.
9496         * lisp/net/tramp.el (tramp-set-completion-function): The argument
9497         could also be a zeroconf service type.
9499 2015-10-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9501         * lisp/net/ntlm.el: Change version to 2.0.0.
9503 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
9505         Fix bug#21762
9506         * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
9507         `eql' instead of `=' to accommodate the case that (syntax-after (point))
9508         returns nil.
9509         * test/automated/python-tests.el (python-indent-inside-paren-7):
9510         New test.
9512 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
9514         * test/automated/python-tests.el: Avoid warnings.
9515         (python-tests-with-temp-buffer, python-tests-with-temp-file):
9516         Bind `python-indent-guess-indent-offset' to nil.
9518 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
9520         * src/alloc.c: Silence compiler warnings.
9521         (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC.
9523 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
9525         * etc/NEWS: Fix js-jsx-mode entry punctuation.
9527 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
9529         Add JSX indentation via js-jsx-mode  (Bug#21799)
9531         * progmodes/js.el: Add JSX indentation support.
9532         (js--jsx-end-tag-re)
9533         (js--jsx-after-tag-re): New variables.
9534         (js--jsx-find-before-tag)
9535         (js--jsx-indented-element-p)
9536         (js--as-sgml)
9537         (js--expression-in-sgml-indent-line)
9538         (js-jsx-indent-line)
9539         (js-jsx-mode): New functions.
9540         * test/indent/js-jsx.el: New file.
9541         * etc/NEWS: Add information about js-jsx-mode.
9543 2015-10-31  Michael Albinus  <michael.albinus@gmx.de>
9545         Minor fix in filenotify.el
9547         * lisp/filenotify.el (file-notify--event-file-name)
9548         (file-notify--event-file1-name): Normalize result with
9549         `directory-file-name'.
9551 2015-10-31  Eli Zaretskii  <eliz@gnu.org>
9553         Avoid errors in redisplay--pre-redisplay-functions
9555         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
9556         use 'bobp', instead compare window-point with 1.  (Bug#21730)
9558 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
9560         Merge from gnulib
9562         This incorporates:
9563         2015-10-30 intprops: add WRAPV and const flavors for GCC 5
9564         2015-10-25 stdalign: port to Sun C 5.9
9565         * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h:
9566         Copy from gnulib.
9568 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
9570         * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro.
9571         (w32_compare_strings): Adjust for the correction.
9573 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
9575         * test/automated/vc-tests.el (vc-test--state)
9576         (vc-test--working-revision, vc-test--checkout-model):
9577         Add result messages.
9579 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
9581         * test/automated/faces-tests.el: Add another test
9583 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
9585         * lisp/faces.el (faces--attribute-at-point): Fix bug
9586         introduced by previous commit.
9588 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
9590         * test/automated/faces-tests.el: New file.
9592 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
9594         * lisp/faces.el: Refactor common code and fix a bug.
9595         (faces--attribute-at-point): New function.  Fix a bug when the
9596         face at point is a list of faces and the desired attribute is not
9597         on the first one.
9598         (foreground-color-at-point, background-color-at-point): Use it.
9600 2015-10-30  Przemysław Wojnowski  <esperanto@cumego.com>
9602         * etc/tutorials/TUTORIAL.translators: Fix PL names.
9604 2015-10-30  Juanma Barranquero  <lekktu@gmail.com>
9606         * lisp/character-fold.el: Provide `character-fold'.
9608 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
9610         * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces
9611         for Gnus and ivy.
9613 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
9615         Some minor fixes for tramp-gvfs.el
9617         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
9618         An attribute returned by gvfs-info might be empty.  In case of
9619         undetermined uid or gid, return "UNKNOWN" or -1, respectively.
9620         (tramp-zeroconf-parse-service-device-names): New defun.
9621         Derived from `tramp-zeroconf-parse-workstation-device-names'.
9622         (top): Add completion functions for "afp" and "smb" methods.
9624 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
9626         * test/automated/character-fold-tests.el: New file
9628 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
9630         * test/automated/sort-tests.el: New file.
9631         Tests in this file are randomly generated and then tested with
9632         regular, reverse, and case-fold sorting.
9634 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
9636         Describe known problems with pinning Emacs to taskbar
9638         * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar
9639         on Windows 10.  For the details, see the discussion starting at
9640         http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html.
9642 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
9644         * lisp/isearch.el: Avoid an error that blocks isearch.
9645         (isearch-update): Don't error if `isearch--current-buffer' has
9646         been killed.
9648         * test/automated/isearch-tests.el (isearch--test-update):
9649         New file.
9651 2015-10-30  Phil Sainty  <psainty@orcon.net.nz>
9653         Fix documentation of 'beginning/end-of-buffer'
9655         * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify
9656         conditions under which the mark will be pushed at the previous
9657         position.  (Bug#21748)
9659 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
9661         Add RefTeX feature idea: editing RefTeX TOC buffers
9663         More face defs for ivy, swiper, ace-window, eshell
9665 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9667         * lisp/gnus/auth-source.el: Silence lexical-binding warnings.
9668         (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to
9669         just VAR.
9670         (auth-source-backend-parse): Use make-instance.
9671         (auth-source-search): Remove unused key args.
9672         Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
9673         (auth-source-search-backends): Use slot names rather than their initarg.
9674         (auth-source-netrc-create):
9675         (auth-source-delete):
9676         (auth-source-secrets-create, auth-source-plstore-search)
9677         (auth-source-macos-keychain-create, auth-source-macos-keychain-search)
9678         (auth-source-plstore-create, auth-source-netrc-search)
9679         (auth-source-netrc-parse): Remove unused key args.
9680         (auth-source-forget+): Simplify the arglist.
9681         (auth-source-macos-keychain-search-items)
9682         (auth-source-token-passphrase-callback-function): Mark unused args.
9683         (auth-source-epa-extract-gpg-token): Remove unused var `plain'.
9684         (pp-escape-newlines): Declare.
9685         (auto-source--symbol-keyword): New function.
9686         (auth-source-plstore-create, auth-source-netrc-create)
9687         (auth-source-netrc-normalize): Use it.
9688         (auth-source-netrc-search): Don't pass :delete to
9689         auth-source-netrc-parse since it doesn't use it.
9690         (auth-source-plstore-create, auth-source-netrc-create): Use plist-get
9691         symbol-value to index in keyword args.
9692         (auth-source-macos-keychain-result-append): Avoid setq.
9693         (auth-source-netrc-create): Remove unused vars `file' and `add'.
9694         (auth-source-user-or-password): Remove unused var `cname'.
9696 2015-10-29  Juri Linkov  <juri@linkov.net>
9698         * lisp/dired.el (dired-unmark-all-files-query): Declare.
9699         (dired-unmark-all-files): Let-bind it and use instead of ‘query’.
9700         (Bug#21746)
9702 2015-10-29  Juri Linkov  <juri@linkov.net>
9704         * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol
9705         to go to the beginning of text line instead of command line.
9706         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html
9708 2015-10-29  Eli Zaretskii  <eliz@gnu.org>
9710         Fix encoding of saving *Help* buffers
9712         * lisp/help-fns.el (describe-function-1): If we use curved quotes,
9713         set help buffer's buffer-file-coding-system to UTF-8.  (Bug#21780)
9715 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9717         * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context.
9718         (cl--generic-derived-specializers): New function.
9719         (cl--generic-derived-generalizer): New generalizer.
9720         (cl-generic-generalizers): New specializer (derived-mode MODE).
9721         (cl--generic-split-args): Apply the rewriter, if any.
9722         (cl-generic-define-context-rewriter): New macro.
9723         (major-mode): Use it to define a new context-rewriter, so we can write
9724         `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
9726         * lisp/frame.el (window-system): New context-rewriter so we can write
9727         `(window-system VAL)' instead of (window-system (eql VAL)).
9728         (cl--generic-split-args): Apply the rewriter, if any.
9729         (frame-creation-function): Use the new syntax.
9731         * lisp/term/x-win.el (window-system-initialization)
9732         (handle-args-function, frame-creation-function)
9733         (gui-backend-set-selection, gui-backend-selection-owner-p)
9734         (gui-backend-selection-exists-p, gui-backend-get-selection):
9735         * lisp/term/w32-win.el (window-system-initialization)
9736         (handle-args-function, frame-creation-function)
9737         (gui-backend-set-selection, gui-backend-get-selection)
9738         (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
9739         * lisp/term/pc-win.el (gui-backend-get-selection)
9740         (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
9741         (gui-backend-set-selection, window-system-initialization)
9742         (frame-creation-function, handle-args-function):
9743         * lisp/term/ns-win.el (window-system-initialization)
9744         (handle-args-function, frame-creation-function)
9745         (gui-backend-set-selection, gui-backend-selection-exists-p)
9746         (gui-backend-get-selection):
9747         * lisp/startup.el (handle-args-function):
9748         * lisp/term/xterm.el (gui-backend-get-selection)
9749         (gui-backend-set-selection): Use the new syntax.
9751 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9753         * test/indent/css-mode.css: Add tests for url(...) syntax.
9755 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9757         * lisp/emacs-lisp/smie.el: Use `declare' for `pure'.
9758         (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2)
9759         (smie-prec2->grammar): Use `declare'.
9761 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9763         * lisp/emacs-lisp/cl-generic.el: Accommodate future changes.
9764         (cl--generic-generalizer): Add `name' field.
9765         (cl-generic-make-generalizer): Add corresponding `name' argument.
9766         (cl-generic-define-generalizer): New macro.
9767         (cl--generic-head-generalizer, cl--generic-eql-generalizer)
9768         (cl--generic-struct-generalizer, cl--generic-typeof-generalizer)
9769         (cl--generic-t-generalizer): Use it.
9770         (cl-generic-ensure-function): Add `noerror' argument.
9771         (cl-generic-define): Use it so we don't follow aliases.
9772         (cl-generic-define-method): Preserve pre-existing ordering of methods.
9773         (cl--generic-arg-specializer): New function.
9774         (cl--generic-cache-miss): Use it.
9775         (cl-generic-generalizers): Only fset a temporary definition
9776         during bootstrap.
9777         (cl--generic-struct-tag, cl--generic-struct-specializers):
9778         Allow extra arguments.
9780         * lisp/emacs-lisp/eieio-compat.el
9781         (eieio--generic-static-symbol-generalizer)
9782         (eieio--generic-static-object-generalizer):
9783         Use cl-generic-define-generalizer.
9784         (eieio--generic-static-symbol-specializers): Allow extra arguments.
9786         * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
9787         (eieio--generic-subclass-generalizer):
9788         Use cl-generic-define-generalizer.
9789         (eieio--generic-subclass-specializers): Allow extra arguments.
9791 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9793         * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope.
9795 2015-10-29  Michael Albinus  <michael.albinus@gmx.de>
9797         Add "afp" method to Tramp
9799         * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
9801         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
9802         (tramp-gvfs-handle-expand-file-name)
9803         (tramp-gvfs-handler-mounted-unmounted)
9804         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
9805         (tramp-gvfs-maybe-open-connection): Support also "afp".
9806         (tramp-gvfs-handle-file-attributes): Handle the case of empty
9807         "owner::user" and "owner::group" entries.
9809 2015-10-29  Andy Moreton  <andrewjmoreton@gmail.com>
9811         Handle negative coordinates in ‘x_calc_absolute_position’
9813         * src/w32term.c (x_calc_absolute_position): Find display origin to
9814         allow for negative coordinates.
9816 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
9818         (internal--syntax-propertize): Save match-data here (bug#21766)
9820         * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data.
9821         * lisp/simple.el (delete-trailing-whitespace): Undo last change.
9823 2015-10-28  Dmitry Gutov  <dgutov@yandex.ru>
9825         Don't require default-directory to end with a slash
9827         * doc/lispref/files.texi (Magic File Names): Document the change
9828         in unhandled-file-name-directory.
9830         * lisp/url/url-handlers.el
9831         (url-handler-unhandled-file-name-directory): Update accordingly.
9833         * src/buffer.c (default-directory): Update the docsting.
9835         * src/fileio.c (unhandled-file-name-directory): Default to calling
9836         `file-name-as-directory'
9837         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
9839 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9841         * lisp/isearch.el: Delete some outdated comments.
9843 2015-10-28  Vibhav Pant  <vibhavp@gmail.com>
9845         Fix eshell/clear not working if the output has a small line count
9847         * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the
9848         number of newlines to be inserted. This fixes the issue where
9849         eshell/clear wouldn't work if the prompt was not at the bottom of the
9850         window, and the output wasn't too long.
9852 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
9854         * lisp/files.el (write-file): Use vc-refresh-state.
9856         * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state.
9858         * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state.
9860 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
9862         * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations.
9863         (macroexp-unprogn): Make sure we never return an empty list.
9864         (macroexp-if): Remove unused (and unsafe) optimization.
9865         Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does
9866         occur occasionally.
9868 2015-10-28  Juanma Barranquero  <lekktu@gmail.com>
9870         Fix bug#21766 and add test
9871         * lisp/simple.el (delete-trailing-whitespace): Save match data when
9872         calling `skip-syntax-backward'.
9873         * test/automated/simple-test.el (simple-delete-trailing-whitespace):
9874         New test.
9876 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9878         * doc/lispref/sequences.texi (Sequence Functions): Fix typo.
9880 2015-10-28  Paul Eggert  <eggert@cs.ucla.edu>
9882         * src/dispnew.c (init_display): Simplify overflow checking.
9884 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9886         * lisp/character-fold.el (character-fold-to-regexp): Fix case
9887         where string ends in space
9889 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9891         * lisp/emacs-lisp/seq.el (seq-mapn): New function.
9893         * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn.
9895 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9897         * lisp/character-fold.el: Make compatible with lax-whitespace.
9898         (character-fold-to-regexp): Rework internals to play nice with
9899         lax-whitespacing.
9901         When the user types a space, we want to match the table entry for
9902         ?\s, which is generally a regexp like "[ ...]".  However, the
9903         `search-spaces-regexp' variable doesn't "see" spaces inside these
9904         regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to
9905         manually expose a space).
9907         Furthermore, the lax search engine acts on a bunch of spaces, not
9908         on individual spaces, so if the string contains sequential spaces
9909         like "  ", we need to keep them grouped together like this:
9910         "\\(  \\|[ ...][ ...]\\)".
9912 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9914         * lisp/isearch.el: Refactor momentary messages.
9915         (isearch--momentary-message): New function.
9916         (isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
9917         (isearch-toggle-invisible): Use it.
9919 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9921         * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'.
9922         (isearch-define-mode-toggle): New macro.
9923         (isearch-toggle-invisible): Rename to
9924         `isearch-define-mode-toggle'.
9925         (isearch-toggle-case-fold, isearch-toggle-invisible)
9926         (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
9927         with `isearch-define-mode-toggle'.
9929 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
9931         Avoid using `add-to-list' on a let-local var in tramp-smb.el
9933         * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun.
9934         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
9936 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
9938         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
9939         Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups'
9940         does not exist in XEmacs 21.4.
9942 2015-10-28  Anders Lindgren  <andlind@gmail.com>
9944         Fixed OS X startup crash
9946         Input events started to arrive before ns_term_init() was finished.
9947         Solved by blocking input.  This also seems to correct the "You
9948         can't open the application "Emacs" because it may be damaged or
9949         incomplete" error issued when double-clicking on the Emacs
9950         application.
9952         * nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
9953         * nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
9955 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9957         * src/process.c (Fget_buffer_process): Improve docstring.
9958         Document the fact that it doesn't return dead processes.
9960 2015-10-28  Anders Lindgren  <andlind@gmail.com>
9962         Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
9964         * nsterm.h (struct ns_output): New flag, in_animation.
9965         * nsfns.m (Fx_create_frame): Initialize in_animation flag.
9966         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
9967         in_animation flag around call to "setVisible". Set new tool bar
9968         height before call to setVisible.
9969         * nsterm.m (x_set_window_size): Don't call [view setRow:
9970         andColumns:] as this fools the subsequent call to updateFrameSize
9971         from performing the real resize.
9972         (windowDidResize): Don't update anything when in_animation is
9973         non-zero.
9975         Trace output.
9977         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
9978         (EmacsToolbar):
9979         * nsterm.m (x_set_window_size, updateFrameSize)
9980         ([EmacsView setRows: andColumns:])
9982 2015-10-28  Nicolas Petton  <nicolas@petton.fr>
9984         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro.
9986 2015-10-28  Tassilo Horn  <tsdh@gnu.org>
9988         Prettify TeX macros not ending in a word char
9990         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
9991         Prettify macros which don't end in a word character.
9993 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
9995         Pipe Hg commit descriptions through 'tabindent'
9997         * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description
9998         through 'tabindent'.
9999         (vc-hg-log-view-mode): Set tab-width to 2 locally.
10000         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html)
10002 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10004         * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var.
10005         (tramp-smb-handle-directory-files): Use `delete-dups'.
10007         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
10009 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10011         * lisp/international/ccl.el: Use lexical-binding.
10012         (ccl-compile-if): Remove unused var `false-ic'.
10013         (ccl-compile-write-repeat): Remove unused var `i'.
10014         (ccl-compile-map-single): Remove unused var `id'.
10015         (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the
10016         dynamic var `ccl-code'.
10018 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10020         * lisp/json.el (json-new-object): Optimize trivial `list' call.
10022 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10024         * lisp/help.el: Fix bug with incorrect arglist string.
10025         (help-add-fundoc-usage): Don't mistake a mis-formatted string
10026         for a list.
10028 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10030         * lisp/gnus/gnus-topic.el: Silence some warnings.
10031         (gnus-topic-prepare-topic): Remove unused var `topic'.
10032         (gnus-topic-remove-topic): Mark unused arg `hide'.
10033         (gnus-tmp-header): Declare.
10034         (gnus-topic-goto-missing-group): Remove unused var `entry'.
10035         (gnus-topic-unmark-topic): Mark unused arg `dummy'.
10036         (gnus-topic-copy-matching): Mark unused arg `copyp'.
10037         Move initialization of `topic' into its declaration.
10039 2015-10-27  Stephen Leake  <stephen_leake@stephe-leake.org>
10041         Minor CEDET fixes
10043         * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call):
10044         Handle warnings from gtags about invalid options.
10045         (cedet-gnu-global-create/update-database): Do incremental update
10046         properly.
10048         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
10049         Get monotone root right.
10051 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
10053         Fall back to polling in autorevert when needed
10055         * lisp/autorevert.el (auto-revert-notify-handler): When a
10056         `stopped' event arrives from file notification, fall back to polling.
10058         * test/automated/file-notify-tests.el
10059         (file-notify-test03-autorevert): Extend test for polling when file
10060         notification ceases to work.
10062 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
10064         Show full commit messages in 'hg log' when appropriate
10066         * lisp/vc/vc-hg.el (vc-hg-log-format): New variable.
10067         (vc-hg-print-log, vc-hg-expanded-log-entry): Use it.
10068         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html)
10070 2015-10-27  Nicolas Petton  <nicolas@petton.fr>
10072         Use a plain SVG file for the icon
10074         * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG
10075           format instead of the Inkscape SVG format.
10077 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
10079         Fix subtle bug in auto-revert-tests.el
10081         * test/automated/auto-revert-tests.el
10082         (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages*
10083         buffer where it belongs to.  (Bug#21668)
10085 2015-10-26  Nicolas Petton  <nicolas@petton.fr>
10087         * lisp/emacs-lisp/map.el: Better docstrings.
10089         * lisp/emacs-lisp/seq.el: Better docstrings.
10091         * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence.
10093 2015-10-26  Phillip Lord  <phillip.lord@russet.org.uk>
10095         * lisp/emacs-lisp/ert.el: Print results without newline escaping.
10097 2015-10-26  Stephen Leake  <stephen_leake@stephe-leake.org>
10099         Clarify that load-path contents should be directory file names
10101         * doc/lispref/files.texi (Directory Names): Define and use "directory
10102         file name".  Recommend `expand-file-name'.
10104         * src/lread.c (load-path): Fix doc string; elements are directory file
10105         names.
10107 2015-10-26  Eli Zaretskii  <eliz@gnu.org>
10109         Fix simple-test.el test
10111         * test/automated/simple-test.el (simple-test--dummy-buffer):
10112         Make sure indentation doesn't use TABs, otherwise the 6th test
10113         might fail.
10115 2015-10-26  Mark Oteiza  <mvoteiza@udel.edu>
10117         * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width.
10118         `substring' does not account for full width characters.
10120 2015-10-26  Michael Albinus  <michael.albinus@gmx.de>
10122         Further work on `stopped' events in filenotify.el
10124         * doc/lispref/os.texi (File Notifications): Rework examples.
10126         * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter.
10127         (file-notify--rm-descriptor, file-notify-callback): Improve check
10128         for sending `stopped' event.
10129         (file-notify-add-watch): Check for more events for `inotify'.
10131         * test/automated/file-notify-tests.el
10132         (file-notify--test-expected-events): New defvar.
10133         (file-notify--test-with-events): Use it.
10134         (file-notify--test-cleanup): Make it more robust when deleting
10135         directories.
10136         (file-notify--test-event-test): Check also for watched directories.
10137         (file-notify--test-event-handler): Suppress temporary .#files.
10138         (file-notify-test02-events, file-notify-test04-file-validity):
10139         Rework `stopped' events.
10140         (file-notify-test05-dir-validity): Wait for events when appropriate.
10142 2015-10-26  Artur Malabarba  <bruce.connor.am@gmail.com>
10144         * src/keyboard.c (post-command-hook): Shorten docstring.
10146 2015-10-26  Tassilo Horn  <tsdh@gnu.org>
10148         Fix infinite loop in sh-script's SMIE code
10150         * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite
10151         loop (bug#21747).
10153 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10155         * lisp/isearch.el (search-default-regexp-mode): Revert to nil.
10156         Character-fold search _still_ doesn't play well with
10157         lax-whitespace.  So disable it by default (again) for now.
10159 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10161         * lisp/isearch.el: No visual feedback for default search mode.
10162         During an isearch where character-folding is the default, we don't
10163         want to take up minibuffer space just to tell the user that
10164         "Char-fold " is on.  The same goes for other modes, if the user
10165         changes the default.  In contrast, if the user toggles OFF the
10166         default mode, they should see "Literal", to distinguish it from
10167         the default mode.
10168         (isearch--describe-regexp-mode): Return "" if describing the
10169         default mode, and return "literal " if describing a plain search
10170         and it is not default.
10172 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10174         * test/automated/simple-test.el: New file.
10175         Define tests for `newline' and `open-line'.
10177 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10179         * lisp/simple.el (open-line): Integrate with electric-indent-mode.
10180         Also run `post-self-insert-hook' when called interactively.
10182 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10184         * lisp/simple.el (open-line): Fix docstring.
10185         Also explain apparently redundant line.
10187 2015-10-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10188             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
10190         Sync with soap-client repository, version 3.0.1
10192         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
10193         Bump version to 3.0.1.
10195         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page.
10197 2015-10-25  Eli Zaretskii  <eliz@gnu.org>
10199         * lisp/progmodes/grep.el (grep): Doc fix.  (Bug#21754)
10201 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10203         * src/keyboard.c (post-command-hook): Extend the docstring.
10204         Mainly, explain how to use it without hanging Emacs, or giving the
10205         impression that it is hanging.  Also mention `pre-command-hook'.
10206         (pre-command-hook): Mention `post-command-hook'.
10208 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10210         * lisp/custom.el (custom-declare-variable): Shorten code again.
10211         Without using pcase this time.  We can't use pcase because it is
10212         loaded after custom in loadup.el.  Also add a comment explaining
10213         this to future dummies like me.
10215 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
10217         * doc/lispref/os.texi (File Notifications): Document `stopped event'.
10219 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
10221         Introduce `stopped' event in file notification
10223         * lisp/filenotify.el (file-notify--rm-descriptor): New defun.
10224         (file-notify-rm-watch): Use it.
10225         (file-notify-callback): Implement `stopped' event.
10226         (file-notify-add-watch): Mention `stopped' in the docstring.
10227         Check, that upper directory exists.
10229         * test/automated/file-notify-tests.el (file-notify-test01-add-watch):
10230         Add two test cases.
10231         (file-notify-test02-events): Handle also `stopped' event.
10232         (file-notify-test04-file-validity): Add another test case.
10234 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
10236         Revert commit that broke 'make bootstrap'
10238         * lisp/custom.el (custom-declare-variable): Revert commit
10239         79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
10240         even when pcase has not been defined yet, when doing bootstrapping.
10242 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
10244         Port recent inline functions fix to Standard C
10246         * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove.
10247         All uses rewritten to define the function directly rather than to
10248         use a macro to define the function.  This conforms to Standard C,
10249         which does not allow stray semicolons at the top level.  I hope it
10250         also avoids the problems with TAGS.  Those macros, though clever,
10251         were pretty confusing anyway, and it wasn’t clear they were worth
10252         the aggravation even without the TAGS problem.
10254 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10256         * lisp/isearch.el: Make character-fold search the default again.
10258 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10260         * lisp/character-fold.el: Many improvements.
10261         (character-fold-search-forward, character-fold-search-backward):
10262         New command.
10263         (character-fold-to-regexp): Remove lax-whitespace hack.
10264         (character-fold-search): Remove variable.  Only isearch and
10265         query-replace use char-folding, and they both have their own
10266         variables to configure that.
10268 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10270         * lisp/isearch.el: Generalize definition of regexp-function toggles.
10271         (isearch-specify-regexp-function): New macro for specifying
10272         possible values of `isearch-regexp-function'.
10273         (isearch-toggle-character-fold, isearch-toggle-symbol)
10274         (isearch-toggle-word): Define with `isearch-specify-regexp-function'.
10276 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10278         * lisp/isearch.el (search-default-regexp-mode): New variable.
10279         (isearch-mode): Use it.
10281 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10283         * lisp/isearch.el (search-exit-option, search-slow-window-lines)
10284         (search-slow-speed, search-upper-case)
10285         (search-nonincremental-instead, search-whitespace-regexp)
10286         (search-invisible, isearch-hide-immediately)
10287         (isearch-resume-in-command-history, search-ring-max)
10288         (regexp-search-ring-max, search-ring-update, search-highlight)
10289         (isearch-fail): Delete :group entries.
10291 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10293         * lisp/custom.el (custom-declare-variable): Shorten code a bit.
10295 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10297         addpm.c: Silence some warnings.
10299         * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction
10300         to LPBYTE.
10301         (add_registry): Pass NULL to optional lpClass argument of
10302         RegCreateKeyEx, not an empty string.
10304 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10306         addpm.c: Do not add obsolete GTK libraries to the path.
10308         * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete.
10309         (add_registry): Remove variables `size' and `gtk_key'.
10310         Do not add the GTK DLL directory to the library search path; it is
10311         confusing behavior (in particular, the same Emacs version with and
10312         without invoking addpm will use a different path), and the GTK image
10313         libraries are obsolete anyway.
10315 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10317         addpm.c: Replace existing registry entries, but do not create new ones
10319         * nt/addpm.c (add_registry): If the Emacs registry key exists, replace
10320         existing values from previous versions, but do not add new ones; the
10321         key could exist for other reasons unrelated to old Emacsen, like X-style
10322         resources, or to set some environment variables like HOME or LANG, and
10323         in that case we don't want to populate it with obsolete values.
10325 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10327         * nt/addpm.c (add_registry): Do not compute unused return value.
10329 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10331         addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx
10333         * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of
10334         RegOpenKeyEx, not REG_OPTION_NON_VOLATILE.  This doesn't change
10335         current behavior because REG_OPTION_NON_VOLATILE is defined to
10336         be 0L anyway, but that option is actually documented only for
10337         RegCreateKeyEx.
10339 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10341         * src/w32notify.c (Fw32notify_add_watch): Fix version check.
10343 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
10345         Update frame title when redisplay scrolls selected window
10347         * src/xdisp.c (redisplay_window): Reconsider the frame's title
10348         when the mode-line of the frame's selected window needs to be
10349         updated.
10351 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
10353         Update frame title when scrolling the selected window
10355         * src/window.c (wset_update_mode_line): New function, sets either
10356         the window's update_mode_line flag or the global update_mode_lines
10357         variable.
10358         (Fset_window_start, set_window_buffer, window_scroll_pixel_based)
10359         (window_scroll_line_based): Call it instead of only setting the
10360         window's update_mode_line flag.
10362 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
10364         An even better fix for bug#21739
10366         * src/window.c (set_window_buffer): If the window is the frame's
10367         selected window, set update_mode_lines, not the window's
10368         update_mode_line flag.
10369         * src/buffer.c (Fkill_buffer): Undo last change.
10370         (set_update_modelines_for_buf): Function deleted.
10372 2015-10-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10373             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
10375         Sync with soap-client repository, version 3.0.0
10377         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
10378         Bump version to 3.0.0.
10380         * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch.
10382         * lisp/net/soap-client.el: Merge in changes from Emacs master branch.
10384         * lisp/net/soap-inspect.el: Shorten first line description.
10386         * lisp/net/soap-client.el: Make a small whitespace fix.
10388         * lisp/net/soap-inspect.el: Update copyright years.
10390         * lisp/net/soap-client.el (soap-encoded-namespaces): Move above
10391         first use in soap-encode-xs-element.
10393         * lisp/net/soap-client.el (soap-type-is-array?): new defun
10394         (soap-encode-xs-element): handle array elements in this function
10395         (soap-encode-xs-complex-type): flag error if asked to encode an
10396         array type, this is handled in `soap-encode-xs-element'
10398         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group):
10399         Do not print type for attribute group.
10401         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group)
10402         New function.
10403         (soap-inspect-xs-attribute-group): Likewise.
10405         * lisp/net/soap-inspect.el
10406         (soap-resolve-references-for-xs-attribute-group): Resolve
10407         references of attributes in an attribute group.
10409         * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute
10410         type directly, not through soap-wsdl-get.
10412         * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference
10413         nil if reference attribute is nil.
10415         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
10416         Convert XML schema attributes to xsd:string.
10418         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute):
10419         New function.
10420         (soap-sample-value-for-xs-simple-type): Prepend attributes to result.
10421         (soap-sample-value-for-xs-complex-type): Likewise.
10422         (soap-inspect-xs-attribute): New function.
10423         (soap-inspect-xs-simple-type): Print attributes.
10424         (soap-inspect-xs-complex-type): Likewise.
10426         * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type):
10427         Resolve references for attributes.
10428         (soap-resolve-references-for-xs-complex-type): Likewise.
10430         * lisp/net/soap-client.el (soap-xml-node-find-matching-child):
10431         Rename from soap-xml-node-first-child.
10432         (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child.
10433         (soap-xs-parse-simple-type): Likewise.
10435         * lisp/net/soap-client.el (soap-invoke-async): Add error checking.
10437         * lisp/net/soap-client.el (soap-invoke-internal): New function.
10438         (soap-invoke-async): Call soap-invoke-internal.
10439         (soap-invoke): Likewise.
10441         * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to
10442         url-retrieve callback is killed.
10444         * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node):
10445         Rename function.
10446         (soap-parse-wsdl-phase-fetch-imports): Likewise.
10447         (soap-parse-wsdl-phase-parse-schema): Likewise.
10448         (soap-parse-wsdl-phase-fetch-schema): Likewise.
10449         (soap-parse-wsdl-phase-finish-parsing): Likewise.
10450         (soap-parse-wsdl): Update calls.
10452         * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation.
10454         * lisp/net/soap-client.el (soap-invoke-async): New function.
10455         (soap-invoke): Reimplement using soap-invoke-async.
10457         * lisp/net/soap-client.el (soap-parse-server-response):
10458         Improve docstring.
10459         (soap-invoke): Inline call to soap-parse-server-response.
10461         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
10462         Prevent incorrect warning.
10464         * lisp/net/soap-client.el (soap-parse-server-response):
10465         Rename soap-process-url-response.  Destroy the mime part.
10466         (soap-invoke): Call soap-parse-server-response.
10468         * lisp/net/soap-client.el: Update copyright date.
10470         * lisp/net/soap-client.el: Fix checkdoc issues.
10472         * lisp/net/soap-client.el: Fix indentation and long lines.
10474         * lisp/net/soap-client.el (soap-time-format): Remove variable.
10475         (soap-encode-xs-basic-type): Simplify date-time format detection.
10476         (soap-decode-xs-basic-type): Remove soap-time-format support.
10478         * lisp/net/soap-client.el (soap-process-url-response): New function.
10479         (soap-fetch-xml-from-url): Call soap-process-url-response.
10480         (soap-parse-wsdl-phase-1): New function.
10481         (soap-parse-wsdl-phase-2): Likewise.
10482         (soap-parse-wsdl-phase-3): Likewise.
10483         (soap-parse-wsdl-phase-4): Likewise.
10484         (soap-parse-wsdl-phase-5): Likewise.
10485         (soap-parse-wsdl): Call phase functions.
10487         * lisp/net/soap-client.el (soap-decode-xs-basic-type):
10488         Remove one-argument and call.
10490         * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring.
10492         * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable.
10493         (soap-parse-schema): Add wsdl argument.  Look up XML schema
10494         imports from wsdl.
10495         (soap-load-wsdl): Do not set soap-xmlschema-imports.
10496         (soap-parse-wsdl): Get XML schema imports from wsdl.
10498         * lisp/net/soap-client.el (soap-current-file): Remove variable.
10499         (soap-wsdl): Add current-file slot.
10500         (soap-fetch-xml-from-url): Add wsdl argument.  Look up current
10501         file from wsdl.
10502         (soap-fetch-xml-from-file): Likewise.
10503         (soap-fetch-xml): Likewise.
10504         (soap-load-wsdl): Always create wsdl object first.
10505         (soap-parse-wsdl): Pass wsdl to soap-fetch-xml.
10507         * lisp/net/soap-client.el (soap-xs-element): Add is-group slot.
10508         (soap-xs-parse-element): Set is-group slot.
10509         (soap-resolve-references-for-xs-element): Skip is-group elements.
10510         (soap-xs-complex-type): Add is-group slot.
10511         (soap-xs-parse-complex-type): Set is-group slot.
10512         (soap-xs-parse-sequence): Parse xsd:group elements.
10513         (soap-resolve-references-for-xs-complex-type): Inline elements
10514         from referenced xsd:group nodes.
10515         (soap-parse-schema): Parse xsd:group nodes.
10517         * lisp/net/soap-client.el (soap-invoke):
10518         Don't set url-http-version to 1.0.
10520         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
10521         Allow choice nodes to accept multiple values.
10523         * lisp/net/soap-client.el (soap-encode-body): Check parameters argument
10524         for extra header values.
10526         * lisp/net/soap-client.el (soap-well-known-xmlns):
10527         Add wsa and wsaw tags.
10528         (soap-operation): Add input-action and output-action slots.
10529         (soap-parse-operation): Parse wsaw:Action nodes.
10530         (soap-encode-body): Encode service-url for WS-Addressing.
10531         (soap-create-envelope): Likewise.
10532         (soap-invoke): Update soap-create-envelope call to provide
10533         service-url argument.
10535         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
10536         Support xsi:type override attribute.
10537         (soap-decode-array): Likewise.
10539         * lisp/net/soap-client.el (soap-parse-schema):
10540         Handle location attribute.
10542         * lisp/net/soap-client.el (soap-decode-type): Check that multiRef
10543         matched validation regexp.
10545         * lisp/net/soap-client.el (soap-encode-xs-simple-type):
10546         Encode xsd:list nodes.
10547         (soap-decode-xs-simple-type): Decode xsd:list nodes.
10549         * lisp/net/soap-client.el (soap-get-candidate-elements):
10550         Fix reference handling.
10552         * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot.
10553         (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes.
10554         (soap-xs-add-list): New function.
10556         * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is
10557         expected, interpret nil as "false".
10559         * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth,
10560         gYear, gMonthDay, gDay and gMonth.
10562         * lisp/net/soap-client.el (soap-time-format): New variable.
10563         (soap-encode-xs-basic-type): Handle dateTime, time, date,
10564         gYearMonth, gYear, gMonthDay, gDay and gMonth.
10565         (soap-decode-date-time): New function.
10566         (soap-decode-xs-basic-type): Use soap-decode-date-time.
10568         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value
10569         after encoding.
10570         (soap-decode-xs-basic-type): Validate value before decoding.
10572         * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function.
10573         (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type.
10575         * lisp/net/soap-client.el (soap-xs-add-union): Append result to base
10576         instead of overwriting it.
10577         (soap-validate-xs-simple-type): Add union support.
10579         * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern
10580         to Emacs regexp using xsdre-translate.
10581         (soap-validate-xs-simple-type): Validate value against pattern.
10583         * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of
10584         inline simpleType nodes.
10585         (soap-decode-type): Handle union types.
10587         * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type
10588         attributes.
10590         * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename
10591         from soap-xs-attribute-group-consolidate, all callers updated
10592         (soap-get-xs-attributes): Rename from
10593         soap-xs-attributes-consolidate, all callers updated
10595         * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot.
10596         (soap-xs-attribute-group): New type.
10597         (soap-xs-parse-attribute-group): New function.
10598         (soap-resolve-references-for-xs-attribute-group): Likewise.
10599         (soap-xs-add-extension): Handle attribute groups.
10600         (soap-resolve-references-for-xs-simple-type): Likewise.
10601         (soap-xs-parse-complex-type): Likewise.
10602         (soap-xs-parse-extension-or-restriction): Likewise.
10603         (soap-resolve-references-for-xs-complex-type): Likewise.
10604         (soap-xs-attribute-group-consolidate): New function.
10605         (soap-xs-attributes-consolidate): Handle attribute groups.
10606         (soap-parse-schema): Likewise.
10608         * lisp/net/soap-client.el (soap-encode-xs-basic-type):
10609         Fix boolean encoding.
10611         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref
10612         element names in warnings.
10614         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing.
10616         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
10617         Eliminate invalid warnings for choice types.
10619         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
10620         Also encode base type attributes.
10622         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation
10623         warning.  Print e-name in warnings, or element if e-name is nil.
10625         * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot.
10626         (soap-xs-parse-element): Set substitution-group.
10627         (soap-resolve-references-for-xs-element): Populate alternatives slot.
10628         (soap-get-candidate-elements): New function.
10629         (soap-encode-xs-complex-type): Iterate through all candidate elements.
10630         Handle types with nil type indicator.  Fix warning logic.
10632         * lisp/net/soap-client.el (soap-current-wsdl): Move declaration
10633         earlier in the file to prevent compiler warning.
10635         * lisp/net/soap-client.el (soap-node-optional): New function.
10636         (soap-node-multiple): Likewise.
10637         (soap-xs-parse-element): Call soap-node-optional and
10638         soap-node-multiple.
10639         (soap-xs-complex-type): Add optional? and multiple? slots.
10640         (soap-xml-get-children-fq): New function.
10641         (soap-xs-element-get-fq-name): Likewise.
10642         (soap-xs-complex-type-optional-p): Likewise.
10643         (soap-xs-complex-type-multiple-p): Likewise.
10644         (soap-xs-attributes-consolidate): Likewise.
10645         (soap-decode-xs-attributes): Likewise.
10646         (soap-decode-xs-complex-type): Decode types with nil type indicator.
10647         Support children that use local namespaces.  Decode attributes.
10648         Add type considerations to optional? and multiple? warnings.
10650         * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction):
10651         Store parsed attributes.
10652         (soap-encode-xs-complex-type-attributes): Encode custom attributes.
10654         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
10655         Don't add the xsi:type attribute (Exchange refuses requests which have
10656         this attribute).
10658         * lisp/net/soap-client.el, soap-inspect.el: Convert to lexical binding,
10659         correct compiler warnings about unused function arguments and
10660         local variables.
10662         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil
10663         type indicator.
10664         (soap-parse-envelope): Handle response headers.
10665         (soap-parse-response): Likewise.  Only return non-nil decoded values.
10667         * lisp/net/soap-client.el (soap-validate-xs-simple-type):
10668         Return validated value.
10670         * lisp/net/soap-client.el (soap-xs-parse-element)
10671         (soap-xs-parse-simple-type)
10672         (soap-xs-parse-complex-type)
10673         (soap-parse-message)
10674         (soap-parse-operation): Add the current namespace to the element
10675         being created.
10676         (soap-resolve-references-for-xs-element)
10677         (soap-resolve-references-for-xs-simple-type)
10678         (soap-resolve-references-for-xs-complex-type)
10679         (soap-resolve-references-for-operation): Resolve the namespace to
10680         the namespace tag.
10681         (soap-make-wsdl): specify a namespace tag when creating the xsd
10682         and soapenc namespaces
10683         (soap-wsdl-resolve-references): don't update namespace tags in
10684         elements here
10685         (soap-parse-port-type): bind the urn: to soap-target-xmlns
10686         (soap-encode-body): don't add nil namespace tags to
10687         soap-encoded-namespaces
10689         * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object
10690         for registering the soap-inspect method.  Make debbugs tests pass.
10691         * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the
10692         type name, also skip string only nodes when decoding a structure.
10693         (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice
10694         types too.
10695         (soap-encode-body): Grab the header value from the param table.
10697         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
10698         New function.
10699         (soap-encode-xs-element): Don't encode nil value unless needed.
10701         * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`.
10702         (soap-parse-binding): Parse the message parts required in the body.
10703         (soap-encode-body): Encode only the parts that are declared to be
10704         part of the body.
10706         * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name
10707         when writing out the tag.
10708         (soap-encode-body): Remove hack that inserts the xmlns in the
10709         element attributes list.
10711         * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot.
10712         (soap-xs-parse-attribute): Default slot is set from the XML
10713         "fixed" attribute.
10714         (soap-encode-xs-complex-type-attributes): Encode any attributes
10715         that have a default value.  Also, don't put the xsi:nil attribute
10716         when the complex type has no content anyway.
10718         * lisp/net/soap-client.el (soap-well-known-xmlns):
10719         Add the xml namespace.
10720         (soap-local-xmlns): Start with the xml namespace.
10721         (soap-xml-node-first-child): Skip xsd:annotation nodes too.
10722         (soap-make-xs-basic-types): More xsd types added.
10723         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
10724         Handle "language", "time", "date", "nonNegativeInteger".
10725         (soap-resolve-references-for-xs-element): Don't signal an error if
10726         the element does not have a type.
10727         (soap-xs-parse-simple-type): Subtypes are handled with ecase,
10728         added stum for xsd:list.
10729         (soap-xs-add-union): Call soap-l2fq on all union members.
10730         (soap-xs-add-extension): Call soap-l2fq on the base member.
10731         (soap-resolve-references-for-xs-simple-type): Don't signal an
10732         error if the simple type has no base.
10733         (soap-resolve-references-for-xs-simple-type): Bugfix, call
10734         soap-wsdl-get on each type of the base.
10736         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
10737         Referenced type can be eiher a simple type or a basic type.
10738         (soap-xs-add-restriction)
10739         (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base.
10740         (soap-make-xs-basic-types)
10741         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
10742         Add support for more XMLSchema basic types.
10743         (soap-current-file, soap-xmlschema-imports): New defvars.
10744         (soap-parse-schema): Add locations from xsd:import tags to
10745         `soap-xmlschema-imports'.
10746         (soap-wsdl): Make destructor private.
10747         (soap-make-wsdl): New defun, SOAP-WSDL object constructor.
10748         (soap-wsdl-add-alias): Check if we try to replace aliases.
10749         (soap-fetch-xml-from-url, soap-fetch-xml-from-file)
10750         (soap-fetch-xml): New defuns.
10751         (soap-load-wsdl): Update to load the WSDL from either a file or
10752         an url.
10753         (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'.
10754         (soap-parse-wsdl): Process wsdl:import tags and imports from
10755         `soap-xmlschema-imports'.
10756         * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of
10757         symbol-name.
10758         (soap-l2fq): Make the name part always a string.
10759         (soap-name-p): New defun, used for name tests.
10761         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type):
10762         Supply sample values for choice types with a special tag.
10763         * lisp/net/soap-client.el (soap-encode-xs-complex-type):
10764         Handle anonymous elements correctly.
10765         (soap-encode-value): Accept nodes that have no namespace tag.
10767         * lisp/net/soap-client.el (soap-invoke): Encode the string for
10768         `url-request-data' as UTF-8.  Fixes issue 16.
10770 2015-10-24  Nicolas Petton  <nicolas@petton.fr>
10772         Update the new icon
10774         Move the E slightly to the right in the circle.
10776         * etc/images/icons/hicolor/128x128/apps/emacs.png:
10777         * etc/images/icons/hicolor/16x16/apps/emacs.png:
10778         * etc/images/icons/hicolor/24x24/apps/emacs.png:
10779         * etc/images/icons/hicolor/32x32/apps/emacs.png:
10780         * etc/images/icons/hicolor/48x48/apps/emacs.png:
10781         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
10782         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
10783         * nt/icons/emacs.ico: New icom update.
10785 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
10787         Avoid missing inline functions from lisp.h in TAGS
10789         * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
10790         need to end each invocation with a semi-colon.
10791         Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
10792         and LISP_MACRO_DEFUN_VOID.  This is to avoid missing in TAGS
10793         inline functions defined immediately after each invocation, and
10794         also avoid tagging every invocation of these macros.
10796 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
10798         A better fix for bug#21739
10800         * src/buffer.c (set_update_modelines_for_buf): New function.
10801         (Fkill_buffer): Use it to set the global variable
10802         update_mode_lines if the killed buffer was displayed in some
10803         window.  Don't set windows_or_buffers_changed.  This is a better
10804         fix for bug#21739 than the previous fix, since it will cause only
10805         redisplay of mode lines, not of entire windows, but will still
10806         catch attention of x_consider_frame_title in xdisp.c, which
10807         redraws the frame title.
10809 2015-10-24  Tassilo Horn  <tsdh@gnu.org>
10811         * lisp/dired-aux.el (dired-compress-files-alist): Add support for
10812         tar.bz2 and tar.xz archives.
10814 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
10816         Fix infloop in redisplay introduced by a recent change
10818         * src/xdisp.c (redisplay_internal): Avoid inflooping when
10819         redisplaying the selected window sets the selected frame's
10820         redisplay flag.  (Bug#21745)
10822 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
10824         * lisp/emacs-lisp/thunk.el: Better documentation.
10826 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
10828         Replace the old icon for Windows and Mac OSX
10830         * nt/icons/emacs.ico:
10831         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
10832         Use the new icons.
10834 2015-10-23  Stephen Leake  <stephen_leake@stephe-leake.org>
10836         * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
10837         `load-path' should contain only directory names.
10839 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
10841         New library thunk.el
10843         thunk.el is extracted from stream.el in ELPA, with additional tests.
10845         * lisp/emacs-lisp/thunk.el: New file.
10846         * test/automated/thunk-tests.el: New file.
10847         * etc/NEWS: Add information about thunk.el
10849 2015-10-23  Michael Albinus  <michael.albinus@gmx.de>
10851         Fix bug#21669
10853         * lisp/filenotify.el (file-notify-rm-watch): Improve check for
10854         calling low-level functions.
10856         * test/automated/file-notify-tests.el (file-notify--test-timeout):
10857         Decrase to 6 seconds for remote directories.
10858         (file-notify-test02-events): Expect different number of
10859         `attribute-changed' events for the local and remote cases.  Apply
10860         short delays between the operations, in order to receive all
10861         events in the remote case.  Combine `attribute-change' tests.
10862         (Bug#21669)
10864 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
10866         Decode the HTML source when displaying it in EWW
10868         * lisp/net/eww.el (eww-view-source): Decode the HTML source
10869         according to its headers.
10871 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
10873         New default icon
10875         * etc/images/icons/hicolor/128x128/apps/emacs23.png:
10876         * etc/images/icons/hicolor/16x16/apps/emacs23.png:
10877         * etc/images/icons/hicolor/24x24/apps/emacs23.png:
10878         * etc/images/icons/hicolor/32x32/apps/emacs23.png:
10879         * etc/images/icons/hicolor/48x48/apps/emacs23.png:
10880         * etc/images/icons/hicolor/scalable/apps/emacs23.svg:
10881         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg:
10882         Move the old logo files to emacs23.*.
10883         * etc/images/icons/hicolor/128x128/apps/emacs.png:
10884         * etc/images/icons/hicolor/16x16/apps/emacs.png:
10885         * etc/images/icons/hicolor/24x24/apps/emacs.png:
10886         * etc/images/icons/hicolor/32x32/apps/emacs.png:
10887         * etc/images/icons/hicolor/48x48/apps/emacs.png:
10888         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
10889         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
10890         New files.
10891         * etc/images/icons/README: Update the copyright information.
10893 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
10895         Fix redisplay of frame title when current buffer is killed
10897         * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a
10898         non-zero value, to redisplay more than just the affected windows.
10899         (Bug#21739)
10901 2015-10-23  Anders Lindgren  <andlind@gmail.com>
10903         NextStep maximization and NSTRACE rewrite
10905         Full-height, full-width, and maximized windows now cover the
10906         entire screen (except the menu bar), including the part where the
10907         system dock is placed.  The system zoom animation is no longer
10908         used.
10910         Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
10911         original size.
10913         * src/nsterm.m (ns_menu_bar_height): New function, return height of
10914         the menu bar, or 0 when it's hidden.
10915         (constrain_frame_rect): New function for constraining a frame.
10916         (ns_constrain_all_frames): Set frame size explicitly rather than
10917         relying on the system doing it for us by writing back the current
10918         frame size.
10919         (windowWillUseStandardFrame): Register non-maximized width or
10920         height as new user size.  When entering full width or height,
10921         the other size component is taken from the user size.
10922         (fullscreenState): New method for accessing the fullscreen state.
10923         (constrainFrameRect): Restrict frame to be placed under the menu bar,
10924         if present.  The old version, sometimes, restricted the height of a
10925         frame to the screen, this version never does this.
10926         (zoom): Perform zoom by setting the frame to the full size of the
10927         screen (minus the menu bar).  The default system function, with the
10928         zoom animation, is no longer used, as the final frame size doesn't
10929         cover the entire screen.
10931         Rework how to constrain resizing to the character grid.  The old
10932         system used "resizeIncrements" in NSWindows.  However, once a frame
10933         was resized so that it was not aligned to the text grid, it
10934         remained unaligned even after a resize.  In addition, it conflicted
10935         when resizing a fullheight window.
10937         * src/nsterm.m (windowWillResize): Restrict frame size to text grid,
10938         unless when pixelwise frame resizing is enabled.
10939         (updateFrameSize, initFrameFromEmacs)
10940         (toggleFullScreen, handleFS): Don't set resizeIncrements.
10942         Redesign the NS trace system.  The call structure is represented
10943         using indentations and vertical lines.  The NSTRACE macro accepts
10944         printf-style arguments.  New macros for printing various
10945         information.
10947         * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
10948         (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new
10949         block (typically a function), accept printf-style arguments.
10950         (NSTRACE_MSG): Macro for extra information, accepts
10951         printf-style arguments.
10952         (NSTRACE_what): Macros for printing various types.
10953         (NSTRACE_FMT_what): Macro with printf format string snippets.
10954         (NSTRACE_ARG_what): Macros for passing printf-style arguments,
10955         corresponds to NSTRACE_FMT_what.
10956         (NSTRACE_RETURN): Macro to print return value, accept
10957         printf-style arguments.
10958         (NSTRACE_RETURN_what): Macros to print return value for
10959         various types.
10961         * nsterm.m: Remove old NSTRACE macro
10962         * src/nsterm.m (nstrace_num): Trace counter.
10963         (nstrace_depth): Current call depth.
10964         (nstrace_leave): NSTRACE support function, called when the
10965         local variable "nstrace_enabled" goes out of scope using the
10966         "cleanup" extension.
10967         (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function.
10968         (constrain_frame_rect, ns_constrain_all_frames)
10969         (ns_update_auto_hide_menu_bar, ns_update_begin)
10970         (ns_update_window_begin, update_window_end, ns_update_end)
10971         (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
10972         (ns_frame_rehighlight, x_make_frame_visible)
10973         (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
10974         (x_destroy_window, x_set_offset, x_set_window_size)
10975         (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
10976         (ns_defined_color, frame_set_mouse_pixel_position)
10977         (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
10978         (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
10979         (ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
10980         (ns_after_update_window_line, ns_shift_glyphs_for_insert)
10981         (dumpcursor, ns_draw_vertical_window_border)
10982         (ns_draw_window_divider, ns_draw_relief)
10983         (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
10984         (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
10985         (ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
10986         (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
10987         (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
10988         (ns_create_terminal, ns_term_init, sendEvent)
10989         (applicationDidFinishLaunching, applicationDidBecomeActive)
10990         (timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
10991         (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
10992         (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
10993         (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
10994         (mouse_autoselect_window, in_window, mouseDragged)
10995         (rightMouseDragged, otherMouseDragged, windowShouldClose)
10996         (updateFrameSize, windowWillResize, windowDidResize)
10997         (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
10998         (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
10999         (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
11000         (windowDidEnterFullScreen, windowWillExitFullScreen)
11001         (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
11002         (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
11003         (draggingEntered, performDragOperation, validRequestorForSendType)
11004         (setMiniwindowImage, constrainFrameRect, performZoom, zoom)
11005         (EmacsScroller_initFrame, EmacsScroller_setFrame)
11006         (EmacsScroller_dealloc, condemn, reprieve, judge)
11007         (resetCursorRects, setPosition, EmacsScroller_mouseDown)
11008         (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
11010         * nsfns.m: Remove old NSTRACE macro
11011         * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
11012         (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
11013         (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
11015         * nsimage.m: Remove old NSTRACE macro
11016         * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
11017         (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
11019         * nsmenu.m: Remove old NSTRACE macro
11020         * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
11021         Use new trace system.
11023 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
11025         No need to use eval-and-compile
11027         * lisp/gnus/auth-source.el: Do require epg (when compiling) before
11028         autoload epg functions.
11030 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
11032         Fix auth-source-epa-make-gpg-token compilation (bug#21724)
11034         * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for
11035         epg-context-set-passphrase-callback, epg-decrypt-string, and
11036         epg-encrypt-string; require epg when compiling for the setf-method
11037         for epg-context-armor. (bug#21724)
11039 2015-10-22  Eli Zaretskii  <eliz@gnu.org>
11041         Include file cleanup for w32 files in src directory
11043         * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h,
11044         fontset.h, blockinput.h.
11045         * src/w32uniscribe.c: Don't include dispextern.h, character.h,
11046         charset.h, fontset.h.
11047         * src/w32term.c: Don't include systty.h, systime.h, charset.h,
11048         character.h, ccl.h, dispextern.h, disptab.h, intervals.h,
11049         process.h, atimer.h, keymap.h, w32heap.h.  Include bitmap/gray.xbm
11050         in an ifdef-ed away block.
11051         Include fcntl.h for CYGWIN.
11052         (set_frame_param): Remove unused function.
11053         * src/w32select.c: Don't include charset.h and composite.h.
11054         (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings
11055         due to pointer signedness mismatches.
11056         * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings
11057         due to pointer signedness mismatches.
11058         * src/w32proc.c: Include unistd.h.  Don't include systime.h,
11059         process.h, dispextern.h.
11060         (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name)
11061         (Fw32_application_type): Avoid compiler warnings due to pointer
11062         signedness mismatches.
11063         * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h,
11064         character.h, charset.h, dispextern.h.
11065         (simple_dialog_show, add_menu_item): Avoid compiler warnings due
11066         to pointer signedness mismatches.
11067         * src/w32inevt.c: Don't include dispextern.h, window.h,
11068         termhooks.h, w32heap.h.
11069         * src/w32font.c: Don't include dispextern.h, character.h,
11070         charset.h, fontset.h, font.h.
11071         (intern_font_name, add_font_entity_to_list)
11072         (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont)
11073         (list_all_matching_fonts): Avoid compiler warnings due to pointer
11074         signedness mismatches.
11075         * src/w32fns.c: Don't include character.h, intervals.h,
11076         dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h,
11077         termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h.
11078         (w32_color_map_lookup, add_system_logical_colors_to_map)
11079         (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p)
11080         (Fxw_color_values, x_display_info_for_name, Fset_message_beep)
11081         (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash)
11082         (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid
11083         compiler warnings, mainly due to pointer signedness mismatches.
11084         (unwind_create_frame_1): Remove unused function.
11085         * src/w32console.c: Don't include character.h, disptab.h, frame.h,
11086         window.h, termhooks.h, dispextern.h.
11087         (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer
11088         signedness mismatch.
11089         * src/w32.c: Include c-strcase.h and systty.h.  Don't include
11090         w32heap.h.
11092 2015-10-22  Tassilo Horn  <tsdh@gnu.org>
11094         Improve doc-view wrt. auto-revert-mode
11096         * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file
11097         is corrupted (bug#21729).
11098         (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function.
11100 2015-10-22  Oleh Krehel  <ohwoeowho@gmail.com>
11102         Describe dired-do-compress-to in the manual
11104         * etc/NEWS: Update.
11106         * lisp/dired-aux.el: Fix typo.
11108         * doc/emacs/dired.texi: Add entry.
11110 2015-10-22  Jürgen Hötzel  <juergen@archlinux.org>
11112         Further fix for proper locale handling in tramp-gvfs.el
11114         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
11115         Just suppress LC_MESSAGES locale category settings.
11117 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
11119         New lispref section “Security Considerations”
11121         This attempts to document some of the issues recently discussed
11122         on emacs-devel, and to indicate other such issues.  The section
11123         could be a lot longer.
11124         * doc/lispref/os.texi (Security Considerations):
11125         New node.
11126         * doc/lispref/elisp.texi (Top):
11127         * doc/lispref/processes.texi (Shell Arguments):
11128         * lisp/subr.el (shell-quote-argument):
11129         * src/callproc.c (syms_of_callproc):
11130         Reference it.
11132 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
11134         Merge from gnulib
11136         This incorporates:
11137         2015-10-18 stdalign: work around pre-4.9 GCC x86 bug
11138         2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
11139         * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c:
11140         Copy from gnulib.
11142 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
11144         * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks.
11145         (mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.
11147 2015-10-21  Ken Brown  <kbrown@cornell.edu>
11149         Further include-file cleanup
11151         * src/sheap.c: Include stdlib.h.
11152         * src/unexcw.c: Include string.h.
11154 2015-10-21  Eli Zaretskii  <eliz@gnu.org>
11156         Fix logic in 'server-kill-emacs-query-function'
11158         * lisp/server.el (server-kill-emacs-query-function): Correct the
11159         logic that controls whether the user is asked for confirmation.
11160         (Bug#21723)
11162 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
11164         * lisp/isearch.el (isearch-search-fun-default): Simplify logic.
11165         (isearch--lax-regexp-function-p): New function.
11167 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
11169         * lisp/isearch.el: Support lax-whitespace in regexp-function searches.
11170         (isearch-search-fun-default): Let-bind `search-spaces-regexp'
11171         around `isearch-regexp-function'.
11173 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
11175         * lisp/isearch.el: Rename word search to regexp-function search.
11176         `isearch-word' went well beyond its original purpose, and the name
11177         no longer makes sense.  It is now called
11178         `isearch-regexp-function', and its value should always be a function
11179         that converts a string to a regexp (though setting it to t is still
11180         supported for now).
11181         (isearch-word): Make obsolete.
11182         (isearch-regexp-function): New variable.
11183         (isearch-mode, isearch-done, isearch--state, isearch--set-state)
11184         (with-isearch-suspended, isearch-toggle-regexp)
11185         (isearch-toggle-word, isearch-toggle-symbol)
11186         (isearch-toggle-character-fold, isearch-query-replace)
11187         (isearch-occur, isearch-highlight-regexp)
11188         (isearch-search-and-update, isearch-message-prefix)
11189         (isearch-search-fun-default, isearch-search)
11190         (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
11191         Use it.
11192         (isearch-lazy-highlight-regexp-function): New var.
11193         (isearch-lazy-highlight-word): Make obsolete.
11194         (isearch--describe-regexp-mode): New function.
11195         (isearch--describe-word-mode): Make obsolete.
11197         * lisp/info.el (Info-isearch-search):
11198         * lisp/replace.el (replace-search, replace-highlight):
11199         * lisp/obsolete/longlines.el (longlines-search-function):
11200         * lisp/hexl.el (hexl-isearch-search-function):
11201         * lisp/cedet/semantic/senator.el (senator-isearch-search-fun):
11202         Use the new var.
11204 2015-10-21  Oleh Krehel  <ohwoeowho@gmail.com>
11206         Add dired-do-compress-to command bound to "c"
11208         * lisp/dired-aux.el (dired-shell-command): Use the caller's
11209           `default-directory', return the result of `process-file'.
11210         (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
11211         used by default.
11212         (dired-compress-files-alist): New defvar.
11213         (dired-do-compress-to): New command.
11215         * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
11216         (dired-do-compress-to): Add an autoload entry.
11218         * etc/NEWS: Add two entries.
11220 2015-10-21  Tassilo Horn  <tsdh@gnu.org>
11222         Make RefTeX work with LaTeX subfiles package
11224         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles
11225         document class argument as master file for referencing purposes.
11227 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
11229         * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.
11231 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
11233         Include-file cleanup for src directory
11235         Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
11236         In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
11237         but does not include it directly.  As a general rule, a source
11238         file should include foo.h if it needs the interfaces that foo.h
11239         defines.
11240         * src/alloc.c: Don’t include process.h.  Include dispextern.h,
11241         systime.h.
11242         * src/atimer.c: Don’t include blockinput.h.
11243         * src/buffer.c: Include coding.h, systime.h.  Don’t include
11244         keyboard.h, coding.h.
11245         * src/callint.c: Don’t include commands.h, keymap.h.
11246         * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
11247         systty.h, termhooks.h.
11248         * src/casetab.c: Don’t include character.h.
11249         * src/category.c: Don’t include charset.h, keymap.h.
11250         * src/ccl.h: Don’t include character.h.
11251         * src/character.c: Don’t include charset.h.
11252         * src/charset.c: Don’t include disptab.h.
11253         * src/chartab.c: Don’t include ccl.h.
11254         * src/cm.c: Don’t include frame.h, termhooks.h.
11255         * src/cmds.c: Don’t include window.h, dispextern.h.
11256         * src/coding.c: Don’t include window.h, frame.h.
11257         * src/composite.c: Include composite.h.  Don’t include window.h,
11258         font.h.
11259         * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
11260         * src/dbusbind.c: Don’t include frame.h.
11261         * src/decompress.c: Don’t include character.h.
11262         * src/dired.c: Don’t include character.h, commands.h, charset.h.
11263         * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
11264         process.h, timespec.h.  Include systime.h.
11265         * src/doc.c: Include coding.h.  Don’t include keyboard.h.
11266         * src/editfns.c: Include composite.h.  Don’t include frame.h.
11267         * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
11268         commands.h, systty.h..
11269         * src/fileio.c: Don’t include intervals.h, dispextern.h.
11270         Include composite.h.
11271         * src/filelock.c: Don’t include character.h, systime.h.
11272         * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
11273         keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
11274         * src/font.c: Include termhooks.h.
11275         * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
11276         struct composition_it, struct face, struct glyph_string.
11277         * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
11278         intervals.h, window.h, termhooks.h.
11279         * src/frame.c: Don’t include character.h, commands.h, font.h.
11280         * src/frame.h: Don’t include dispextern.h.
11281         * src/fringe.c: Don’t include character.h.
11282         * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
11283         character.h, charset.h, fontset.h.
11284         * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
11285         fontset.h.
11286         * src/ftxfont.c: Don’t include dispextern.h, character.h,
11287         charset.h, fontset.h.
11288         * src/gfilenotify.c: Don’t include frame.h, process.h.
11289         * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
11290         Don’t include syssignal.h, buffer.h, charset.h, font.h.
11291         * src/gtkutil.h: Don’t include frame.h.
11292         * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
11293         Don’t include character.h.
11294         * src/indent.c: Don’t include keyboard.h, termchar.h.
11295         * src/inotify.c: Don’t include character.h, frame.h.
11296         * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
11297         * src/intervals.c: Don’t include character.h, keyboard.h.
11298         * src/intervals.h: Don’t include dispextern.h, composite.h.
11299         * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
11300         Include coding.h.
11301         * src/keyboard.h: Don’t incldue systime.h.
11302         * src/keymap.c: Don’t include charset.h, frame.h.
11303         * src/lread.c: Include dispextern.h and systime.h.
11304         Don’t include frame.h.  Include systime.h.
11305         * src/macros.c: Don’t include commands.h, character.h, buffer.h.
11306         * src/menu.c: Include character.h, coding.h.  Don’t include
11307         dispextern.h.
11308         * src/menu.h: Don’t include systime.h.
11309         * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
11310         intervals.h, termhooks.h.
11311         * src/print.c: Include coding.h.  Don’t include keyboard.h,
11312         window.h, dispextern.h, termchar.h, termhooks.h, font.h.
11313         Add forward decl of struct terminal.
11314         * src/process.c: Don’t include termhooks.h, commands.h,
11315         dispextern.h, composite.h.
11316         * src/region-cache.c: Don’t include character.h.
11317         * src/scroll.c: Don’t include keyboard.h, window.h.
11318         * src/search.c: Don’t include category.h, commands.h.
11319         * src/sound.c: Don’t include dispextern.h.
11320         * src/syntax.c: Don’t include command.h, keymap.h.
11321         * src/sysdep.c: Don’t include window.h, dispextern.h.
11322         * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
11323         * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
11324         * src/terminal.c: Include character.h.
11325         Don’t include charset.h, coding.h.
11326         * src/textprop.c: Don’t include character.h.
11327         * src/undo.c: Don’t include character.h, commands.h, window.h.
11328         * src/unexsol.c: Don’t include character.h, charset.h.
11329         * src/widget.c: Include widget.h.  Don’t include keyboard.h,
11330         window.h, dispextern.h, blockinput.h, character.h, font.h.
11331         * src/widgetprv.h: Don’t include widget.h.
11332         * src/window.c: Don’t include character.h, menu.h, intervals.h.
11333         * src/xdisp.c: Include composite.h, systime.h.  Don’t include
11334         macros.h, process.h.
11335         * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
11336         intervals.h.
11337         * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
11338         epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
11339         * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
11340         * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
11341         * src/xgselect.c: Don’t include timespec.h, frame.h.
11342         Include systime.h.
11343         * src/xgselect.h: Don’t include time.h.
11344         Use a forward decl to struct timespec instead.
11345         * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
11346         dispextern.h.  Include systime.h.
11347         * src/xml.c: Don’t include character.h.
11348         * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
11349         * src/xselect.c: Don’t include dispextern.h, character.h,
11350         buffer.h, process.h.
11351         * src/xsmfns.c: Don’t include systime.h, sysselect.h.
11352         * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
11353         intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
11355 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
11357         (/ N) now returns the reciprocal of N
11359         This is more compatible with Common Lisp and XEmacs (Bug#21690).  See:
11360         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
11361         * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
11362         (color-xyz-to-srgb, color-xyz-to-lab):
11363         * lisp/emacs-lisp/cl-extra.el (cl-float-limits):
11364         * lisp/net/shr-color.el (shr-color-hue-to-rgb)
11365         (shr-color-hsl-to-rgb-fractions):
11366         Exploit the change to simplify the code a bit.
11367         * lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
11368         Don’t complain about single-argument calls to ‘/’.
11369         * src/data.c (arith_driver, float_arith_driver):
11370         Implement the change.
11372 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
11374         Call vc-dir-refresh after stash operations
11376         * lisp/vc/vc-git.el (vc-git-stash-apply-at-point)
11377         (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960).
11379         * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well,
11380         since it can be abbreviated (as returned by vc-find-root).
11382 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
11384         * lisp/vc/vc-svn.el:
11385         * lisp/vc/vc-mtn.el:
11386         * lisp/vc/vc-hg.el:
11387         * lisp/vc/vc-cvs.el:
11388         * lisp/vc/vc-git.el:
11389         * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore.
11390         Its usages have been replaced with vc-run-delayed.
11392 2015-10-20  Dima Kogan  <dima@secretsauce.net>
11394         Fix memory leak in fontset handling
11396         * src/font.c (copy_font_spec): Make a deep copy of the input
11397         argument FONT.  (Bug#21651)
11399 2015-10-20  Michael Sperber  <mike@xemacs.org>
11401         * lisp/gnus/mailcap.el (mailcap-mime-data):
11402         Conditonalize `doc-view-mode', which does not exist on XEmacs.
11404 2015-10-20  Oleh Krehel  <ohwoeowho@gmail.com>
11406         Update the way directories are compressed
11408         * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
11409         for *.tar.gz decompression to use a pipe.
11410         Add an entry for the default directory compression (to *.tar.g).
11411         (dired-compress-file): Update.
11413         See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html.
11415 2015-10-20  Michael Sperber  <mike@xemacs.org>
11417         Unbreak `group' option for `mail-sources'
11419         * nnml.el (nnml-retrieve-groups, nnml-request-scan):
11420         * nnmail.el (nnmail-get-new-mail-per-group)
11421         (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
11423 2015-10-19  Nicolas Petton  <nicolas@petton.fr>
11425         New function seq-position
11427         * lisp/emacs-lisp/seq.el (seq-position): New function.
11428         * test/automated/seq-tests.el: New tests for seq-position.
11429         * doc/lispref/sequences.texi: Add documentation for `seq-position'.
11431 2015-10-19  Ken Brown  <kbrown@cornell.edu>
11433         Enable --with-wide-int build on 32-bit Cygwin
11435         * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86
11436         and x86_64 to enable --with-wide-int build on 32-bit Cygwin.
11438 2015-10-19  Glenn Morris  <rgm@gnu.org>
11440         * doc/emacs/ack.texi (Acknowledgments): Small, sad, update.
11442 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
11444         Resurrect image loading under auto-image-file-mode
11446         * src/image.c (x_find_image_fd): Handle the case of -2 returned by
11447         'openp' specially.  This special case was lost in the changes on
11448         2015-08-18.  (Bug#21685)
11450 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
11452         Fix return value of 'set-file-extended-attributes'
11454         * lisp/files.el (set-file-extended-attributes): Return non-nil
11455         when setting either ACLs or SELinux context succeeds.  Document
11456         the return value.  (Bug#21699)
11458         * doc/lispref/files.texi (Changing Files): Document the return
11459         value of set-file-extended-attributes.
11461 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
11463         Improve documentation of functions that change files
11465         * doc/lispref/files.texi (Changing Files): Document that these
11466         functions signal an error on failure.
11468 2015-10-18  Eli Zaretskii  <eliz@gnu.org>
11470         Fix doc string of 'shell-quote-argument'
11472         * lisp/subr.el (shell-quote-argument): Doc fix.  (Bug#21702)
11474 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
11476         Some minor Tramp changes
11478         * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning.
11480         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
11481         Expand `tramp-auto-save-directory'.
11483 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
11485         Minor edits in Tramp
11487         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp):
11488         Declare it.
11490         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
11491         Remove declaration.
11493 2015-10-17  Mark Oteiza  <mvoteiza@udel.edu>
11495         * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list.
11497 2015-10-17  Eli Zaretskii  <eliz@gnu.org>
11499         Avoid crashes when redisplayng a window changes faces or fonts
11501         * src/xdisp.c (redisplay_internal): If redisplaying the selected
11502         window or one of the frames turns on the frame's 'redisplay' flag,
11503         redisplay again.  (Bug#21428)
11505         * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag.
11507 2015-10-17  Michael Albinus  <michael.albinus@gmx.de>
11509         Solve timimg issues in file-notify-tests.el
11511         * test/automated/file-notify-tests.el (file-notify-test02-events):
11512         Rectify `attribute-change' tests.  There are timing issues with
11513         gfilenotify.  (Bug#21669)
11515 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
11517         Fix quoting of data within htmlfontify doc
11519         * doc/misc/htmlfontify.texi (Data Structures, Customization):
11520         Fix quoting of data structures.  A Lisp quote is needed only
11521         when data appears within Lisp code.
11523 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
11525         * lisp/emacs-lisp/package.el: Reload archive-contents if
11526         priorities change.
11527         (package--old-archive-priorities): New variable.
11528         (package-read-all-archive-contents, package-menu--refresh): Use it
11529         to decide when the `package-archive-contents' needs to be read
11530         again.
11532 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
11534         Make src headers idempotent and standalone
11536         Redo src/*.h so that each include file is idempotent (that is, can
11537         be included multiple times with the latter inclusions having no
11538         effect) and standalone (that is, can be included by itself,
11539         with no include file other than config.h needed as a prerequisite).
11540         This is standard practice in GNU programs nowadays.
11541         * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h:
11542         * src/charset.h, src/coding.h, src/commands.h, src/disptab.h:
11543         * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h:
11544         * src/regex.h [emacs]:
11545         * src/syntax.h, src/systty.h, src/termhooks.h:
11546         Include lisp.h, for Lisp_Object.
11547         * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h:
11548         * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h:
11549         * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h:
11550         * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h:
11551         * src/termopts.h, src/tparam.h, src/unexec.h:
11552         Protect against multiple inclusion.
11553         * src/buffer.h: Include character.h, for STRING_CHAR.
11554         * src/emacsgtkfixed.h (struct frame):
11555         * src/fontset.h (struct face):
11556         * src/region-cache.h (struct buffer):
11557         * src/termhooks.h (struct glyph):
11558         * src/xsettings.h (struct x_display_info):
11559         Add possibly-forward decl.
11560         * src/syntax.h: Include buffer.h, for BVAR.
11561         * src/sysselect.h: Include lisp.h, for eassume.
11562         * src/termchar.h: Include <stdio.h>, for FILE.
11563         * src/widget.h: Include <X11/IntrinsicP.h>, for Widget.
11564         * src/xsettings.h: Include <X11/Xlib.h>, for XEvent.
11566 2015-10-16  Jürgen Hötzel  <juergen@archlinux.org>
11568         Handle symlink targets containing spaces in tramp-gvfs.el
11570         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
11571         Handle symlink targets containing spaces.
11573 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
11575         * lisp/custom.el (custom-theme-load-path): Demote to defvar.
11577         `custom-theme-load-path' was a defcustom, but it shouldn't be for the
11578         same reason that `load-path' shouldn't.  Setting it via the customize
11579         interface is a trap for the user.
11581         Installed themes commonly add themselves to this variable, which means
11582         its value is not fit for being saved (it will permanently remember dirs
11583         that don't exist anymore).
11585         This is aggravated by the fact that Emacs always applies the `user'
11586         theme on top of any theme that's loaded, since this will apply the old
11587         variable value and remove any new directories that had been recently
11588         added by themes themselves.
11590         Not to mention, we already have `custom-theme-directory', which is safe
11591         to customize.
11593 2015-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
11595         * lisp/mpc.el: Rename the new toggling commands.
11596         (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single)
11597         (mpc-toggle-shuffle): Add "-toggle" in the name.
11599 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
11601         Improve the doc string of 'completion-boundaries'
11603         * lisp/minibuffer.el (completion-boundaries): Rename the argument
11604         TABLE to COLLECTION, for consistency with other high-level
11605         completion functions.  Document how COLLECTION is called if it
11606         is a function.  (Bug#21644)
11608 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
11610         * lisp/dired-aux.el (dired-shell-command): Fix compile warning.
11612 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
11614         Make dired-do-compress work for *.zip files
11616         * lisp/dired-aux.el (dired-check-process): Transform the top-level
11617           comment into a docstring.
11618         (dired-shell-command): New command.  This mirrors
11619         `dired-check-process', but is more user-friendly for passing
11620         arguments.
11621         (dired-compress-file-suffixes): Allow to specify the command switches
11622         along with input (%i) and output (%o) inside the PROGRAM part.
11623         Add an entry for *.zip files, and update the entry for *.tar.gz files
11624         to the new style.  Update the docstring.
11625         (dired-compress-file): When PROGRAM matches %i or %o, use the new
11626         logic.
11627         (dired-update-file-line): Avoid an error when at end of buffer.
11629         Fixes bug#21637.
11631 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
11633         Minor improvement in documentation of internals
11635         * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
11637 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
11639         Improve documentation of COLLECTION in completion functions
11641         * doc/lispref/minibuf.texi (Minibuffer Completion): Add a
11642         cross-reference to "Programmed Completion".
11644         * src/minibuf.c (Fcompleting_read): Improve the doc string.
11645         (Bug#21644)
11647 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
11649         Add more release info to etc/HISTORY
11651         * etc/HISTORY: Add more release information about 19.x and 20.x
11652         versions.
11654 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
11656         New file etc/HISTORY
11658         * admin/FOR-RELEASE: Procedure for etc/HISTORY.
11659         * etc/HISTORY: New file.
11660         * etc/NEWS: Mention it.
11662 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
11664         js-mode: Don't misindent generator methods
11666         * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
11667         generator methods from multiplication operator
11668         (https://github.com/mooz/js2-mode/issues/275).
11670 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
11672         Fix animation timeout delay calculation
11674         * lisp/image.el (image-animate-timeout):
11675         Don’t assume speed is floating-point.
11677 2015-10-15  Mark Oteiza  <mvoteiza@udel.edu>
11679         Add commands for controlling MPD modes
11681         * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat)
11682         (mpc-cmd-single): New functions.
11683         (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands.
11684         (mpc-mode-menu): Add new commands as menu items.
11686 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
11688         Refer to `(elisp)Basic Completion' in completing-read docstring
11690         * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic
11691         Completion' in the docstring (bug#21644).
11693 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
11695         * lisp/mpc.el (mpc-format): Always push form to pred
11697 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11699         Spelling fixes
11701         * configure.ac (bitmapdir): Fix misspelling of bmd_acc.
11702         * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
11703         Fix misspelling of nonexistent file name.
11705 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
11707         * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings
11709 2015-10-14  Michael Albinus  <michael.albinus@gmx.de>
11711         Some editing fixes in Tramp
11713         * lisp/net/tramp-gvfs.el:
11714         * doc/misc/tramp.texi: "customer option" -> "custom option".
11716         * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring.
11718 2015-10-14  Jürgen Hötzel  <juergen@archlinux.org>
11720         Use proper localization in tramp-gvfs.el
11722         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
11723         Suppress localized settings in order to proper parse gfvs output.
11725 2015-10-14  Warren Lynn  <wrn.lynn@gmail.com>  (tiny change)
11727         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
11728         Quote argument in proper order.  (Bug#21562)
11730 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
11732         Fix typos in docstrings
11734         * lisp/emacs-lisp/map.el:
11735         * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
11736           macros.
11738 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
11740         * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live.
11742 2015-10-14  Oleh Krehel  <ohwoeowho@gmail.com>
11744         Make dired-jump work with tar-subfile-mode
11746         * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of
11747           emitting an error, switch to `tar-superior-buffer'.
11749 2015-10-14  Juanma Barranquero  <lekktu@gmail.com>
11751         * .gitignore: Add build-aux/ar-lib.
11753 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
11755         Better docstrings in seq.el and map.el
11757         * lisp/emacs-lisp/map.el:
11758         * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
11760 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11762         Merge from gnulib
11764         This incorporates:
11765         2015-10-13 binary-io, u64, unistd: port to strict C
11766         2015-09-26 c-ctype: do not worry about EBCDIC + char signed
11767         2015-09-25 c-ctype: port better to z/OS EBCDIC
11768         2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
11769         * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
11770         * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
11771         Copy from gnulib.
11773 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11775         Take XPNTR private
11777         * src/alloc.c (PURE_POINTER_P): Remove.
11778         All uses replaced with PURE_P.
11779         (XPNTR_OR_SYMBOL_OFFSET): New function.
11780         (XPNTR): Move here from lisp.h.
11781         Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET.
11782         (mark_maybe_object, valid_lisp_object_p, survives_gc_p):
11783         Remove unnecessary cast.
11784         (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR,
11785         to avoid an unnecessary runtime test for symbols.
11786         * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c.
11787         Only alloc.c needs XPNTR now.
11789 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
11791         Add MPC play/pause command
11793         * lisp/mpc.el (mpc-toggle-play): New command.
11794         (mpc-mode-map): Bind it to "s".
11795         (mpc-mode-menu): Add corresponding menu item.
11797 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
11799         Add bindings and menu items for prev and next tracks
11801         * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next,
11802         "<" to mpc-prev.
11803         (mpc-mode-menu): Add corresponding menu items
11805 2015-10-13  Ken Raeburn  <raeburn@raeburn.org>
11807         Reduce face-related consing during frame creation.
11809         * faces.el (face--attributes-unspecified): Compute the "unspecified"
11810         attribute list once.
11811         (face-spec-reset-face): Use it instead of building the list.
11813 2015-10-13  Ken Raeburn  <raeburn@permabit.com>
11815         Do process ConfigureNotify events indicating size changes.
11817         * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify
11818         events don't have the same size, process each one.
11820 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
11822         Derive mpc-mode from special-mode
11824         lisp/mpc.el (mpc-mode-map): Make from sparse keymap.  Unbind g.
11825         (mpc-mode): Derive from special mode.
11826         (mpc-songs-mode-map): Don't set parent keymap.
11828 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
11830         Fix error messages for when covers are not found.
11832         The last change to mpc-format let the binding to file call
11833         mpc-file-local-copy with nil argument.  Instead, employ if-let here
11834         so nil bindings don't result in needless computation and errors.
11835         * lisp/mpc.el: Require 'subr-x at compile time.
11836         * lisp/mpc.el (mpc-format): Use if-let.
11838 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
11840         Make dired-do-compress work for *.tar.gz files
11842         * lisp/dired-aux.el (dired-compress-file-suffixes): Associate
11843           "tar -zxvf" to *.tar.gz; update docstring.
11845         (dired-compress-file): Allow to specify switches after the command in
11846         `dired-compress-file-suffixes'.
11848 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
11850         Make dired-do-compress work for directories
11852         * lisp/dired-aux.el (dired-compress-file): When FILE is a directory,
11853           instead of emitting an error, call "tar -czf FILE.tar.gz FILE".
11854         Also convert the top comment into a docstring.
11856 2015-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11858         * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active'
11860         ... since it might come straight from the memoizing table.
11862 2015-10-13  Juanma Barranquero  <lekktu@gmail.com>
11864         * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame.
11866 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
11868         Use special-mode in eww list modes
11870         * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode)
11871         (eww-buffers-mode): Derive from special-mode and remove redundant
11872         setting of buffer-read-only.
11873         (eww-mode-map): Remove redundant keymap parent setting.
11874         (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map):
11875         Remove redundant keymap suppressions and mappings.
11877 2015-10-13  Martin Rudalics  <rudalics@gmx.at>
11879         Allow setting frame pixel sizes from frame parameters (Bug#21415)
11881         Also fix some misfeatures in frame (re-)sizing code, add more
11882         debugging information and remove some dead code.
11884         * lisp/frame.el (frame-notice-user-settings, make-frame): Change
11885         parameter names when setting `frame-size-history'.
11886         (frame--size-history): New function.
11888         * src/frame.c (frame_inhibit_resize): If frame has not been made
11889         yet, return t if inhibit_horizontal_resize or
11890         inhibit_vertical_resize bit have been set.
11891         (adjust_frame_size): Simplify.
11892         (make_frame): Initialize inhibit_horizontal_resize,
11893         inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
11894         (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
11895         inhibit_vertical_resize slots.
11896         (x_set_frame_parameters): Handle `text-pixels' specification for
11897         width and height parameters.  Don't consider new_height or
11898         new_width changes.  Call adjust_frame_size instead of
11899         Fset_frame_size.
11900         (x_figure_window_size): Two new arguments x_width and y_width
11901         returning frame's figures width and height.  Calculate tool bar
11902         height before frame sizes so SET_FRAME_HEIGHT can pick it up.
11903         Handle `text-pixels' specification for width and height
11904         parameters.
11905         (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
11906         (Qx_set_window_size_1, Qx_set_window_size_2)
11907         (Qx_set_window_size_3, Qx_set_menu_bar_lines)
11908         (Qupdate_frame_menubar, Qfree_frame_menubar_1)
11909         (Qfree_frame_menubar_2): New symbols.
11910         * src/frame.h (structure frame): New booleans
11911         tool_bar_redisplayed, tool_bar_resized,
11912         inhibit_horizontal_resize, inhibit_vertical_resize.
11913         (x_figure_window_size): Update external declaration.
11914         * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
11915         calling gtk_window_resize.
11916         (update_frame_tool_bar): Make inhibiting of frame resizing more
11917         discriminative.  Set tool_bar_resized bit.
11918         * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
11919         resizing more discriminative.  Call adjust_frame_size instead of
11920         x_set_window_size.
11921         (Fx_create_frame): Handle x_width and x_height if
11922         set by x_figure_window_size.
11923         * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
11924         subtract 3 from tool bar height.
11925         (x_set_window_size): Add frame_size_history_add call.
11926         (x_new_font): Call adjust_frame_size instead of
11927         x_set_window_size.
11928         * src/w32fns.c (x_change_tool_bar_height): Reset
11929         tool_bar_redisplayed and tool_bar_resized bits when adding tool
11930         bar.  Make inhibiting of frame resizing more discriminative.
11931         (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
11932         (Fx_create_frame): Handle x_width and x_height if set by
11933         x_figure_window_size.  Set size hints before adjusting frame size.
11934         (x_create_tip_frame): Adjust x_figure_window_size call.
11935         * src/w32term.c (x_set_window_size): Add frame_size_history_add
11936         call.
11937         * src/widget.c (set_frame_size): Remove dead code.  Add
11938         frame_size_history_add call.  When frame_resize_pixelwise is t
11939         use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
11940         pixel_width and pixel_height.
11941         (update_various_frame_slots): Remove dead code.
11942         (EmacsFrameResize): Add more information in
11943         frame_size_history_add call.
11944         (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
11945         is not set.
11946         * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
11947         * src/xfns.c (x_set_menu_bar_lines): Change argument name.
11948         (x_change_tool_bar_height): Reset tool_bar_redisplayed and
11949         tool_bar_resized bits when adding tool bar.  Make inhibiting of
11950         frame resizing more discriminative.
11951         (Fx_create_frame): Handle x_width and x_height if set by
11952         x_figure_window_size.  Set size hints before adjusting frame size.
11953         (x_create_tip_frame): Adjust x_figure_window_size call.
11954         * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
11955         (set_frame_menubar): On Lucid never add core-border-width to
11956         avoid that adding XtNinternalBorderWidth adds it again.
11957         (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
11958         * src/xterm.c (x_new_font): In non-toolkit case handle size
11959         change of menu bar.
11960         (x_set_window_size_1): Fix calls to frame_size_history_add.
11961         (x_wm_set_size_hint): Remove dead code.  Set
11962         size_hints.min_width and size_hints.min_height to base_width and
11963         base_height.
11965 2015-10-13  Michael Albinus  <michael.albinus@gmx.de>
11967         * test/automated/file-notify-tests.el (file-notify--test-timeout):
11968         Add docstring.  Increase to 10 seconds for remote
11969         directories.  (Bug#21669)
11971 2015-10-12  Paul Eggert  <eggert@cs.ucla.edu>
11973         Unmacroize ebrowse.c and etags.c a bit
11975         * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant.
11976         (streq, filename_eq, set_flag, has_flag): Now inline functions.
11977         (set_flag): First arg is now an address, not an lvalue.
11978         All callers changed.
11979         (filename_eq, set_flag, has_flag):
11980         Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG.
11981         All callers changed.
11982         * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq):
11983         Now inline functions.  Remove asserts that are unnecessary these
11984         days (and in some cases were too-generous anyway).
11986 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
11988         Use highlight for current items
11990         * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select):
11991         Apply highlight face instead of region face.
11993 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
11995         Search for more cover image names in MPC
11997         * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg
11998         case insensitively
12000 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
12002         Remove or comment out unused variables
12004         * src/w32fns.c (x_set_mouse_color): Comment out variables cursor,
12005         nontext_cursor, mode_cursor, hand_cursor and count.
12006         (x_change_tool_bar_height): Remove variable old_text_height.
12007         (deliver_wm_chars): Remove variable strip_Alt.
12008         (Fw32_shell_execute): Remove variable document_a.
12009         (Fw32_frame_geometry): Remove variable fullboth.
12010         * src/w32term.c (w32_setup_relief_color): Comment out variable
12011         w32_display_info.
12012         (w32_horizontal_scroll_bar_handle_click): Remove variables start, end.
12013         (w32_read_socket): Comment out variables rows, columns.
12014         * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest.
12016 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
12018         * src/w32proc.c (sys_select): Fix bitwise test.
12020 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
12022         Minor typo corrections in doc strings
12024         * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position):
12025         Doc fixes.
12027 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
12029         * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports.
12031 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
12033         Attempt to avoid crashes in plist-member
12035         * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test
12036         and a call to XCDR.  (Bug#21655)
12038 2015-10-12  Mike FABIAN  <mfabian@redhat.com>
12040         * lisp/select.el (gui-get-primary-selection): In
12041         gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
12043 2015-10-12  Tassilo Horn  <tsdh@gnu.org>
12045         Support RTF in doc-view
12047         * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension.
12049 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
12051         * src/w32fns.c (get_wm_chars): Increment counter, not pointer.
12053 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
12055         Replace the usage of an obsolete function in auth-source.el
12057         * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token):
12058         Replace an usage of `epg-context-set-armor' with `setf'.
12060 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
12062         * lisp/gnus/auth-source.el: Use sharp-quoting with functions.
12064 2015-10-11  Jay Belanger  <jay.p.belanger@gmail.com>
12066         Have calc-yank recognize numbers in different bases.
12068         * lisp/calc/calc-yank.el (math-number-regexp): New function.
12069         (calc-yank): Use `math-number-regexp' to recognize numbers.
12071 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
12073         Handle an opaque-move X11 window manager operation more efficiently
12075         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
12076         followed by more ConfigureNotify events for the same window, process
12077         only the last one.
12079 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
12081         Fix cursor setting for tip frame; re-enable cursor generation
12083         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
12084         attributes sent when creating the new X window.  Don't skip setting
12085         the pointerColor parameter.
12087 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
12089         Rewrite x_set_mouse_color to sync less
12091         We can track serial numbers of X requests and correlate error events
12092         with the associated requests.  This way we can identify errors for
12093         specific calls without having to use XSync after every one.
12095         * src/xfns.c (enum mouse_cursor): New type.
12096         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
12097         (mouse_cursor_types): New array listing the Lisp variables and default
12098         cursor appearances for each cursor type.
12099         (x_set_mouse_color_handler): New function; checks error event serial
12100         number against submitted requests.
12101         (x_set_mouse_color): Updated to use the new error handler callback,
12102         and to be more table-driven, to simplify repetitious code.
12104 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
12106         Add x_catch_errors_with_handler
12108         * src/xterm.c (struct x_error_message_stack): Add new fields for a
12109         callback function and associated data pointer.
12110         (x_error_catcher): If the callback function is set, call it after
12111         saving the error message string.
12112         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
12113         accepts a callback function and data pointer.
12114         (x_catch_errors): Now a wrapper function.
12115         * src/xterm.h (x_special_error_handler): New typedef.
12116         (x_catch_errors_with_handler): Declare.
12118 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
12120         Introduce x_uncatch_errors_after_check to reduce XSync calls
12122         Both x_had_errors_p and x_check_errors call XSync, so if they're
12123         immediately followed by x_uncatch_errors, its XSync call will be
12124         redundant, resulting in a wasted round trip to the X server.
12126         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
12127         x_uncatch_errors without the XSync call.
12128         (XTmouse_position, x_wm_supports):
12129         * src/xfns.c (x_set_mouse_color):
12130         * src/xmenu.c (Fx_menu_bar_open_internal):
12131         * src/xselect.c (x_own_selection, x_get_foreign_selection):
12132         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
12133         * src/xterm.h (x_uncatch_errors_after_check): Declare.
12135 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
12137         Document the optional prefix to `calc-yank'
12139         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
12140         prefix to `calc-yank'.
12141         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
12142         the Calc buffer are yanked back unchanged.
12144 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
12146         * lisp/calendar/calendar.el: Display buffer before executing body.
12148         In each use of this macro, the modeline is derived from a window width
12149         calculation, which will be wrong if (display-buffer) splits the window
12150         horizontally.
12152 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12154         Use ‘echo’ safely with ‘\’ or leading ‘-’
12156         POSIX says that ‘echo FOO’ produces implementation-defined output
12157         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
12158         behavior in that case.
12159         * Makefile.in (removenullpaths): Remove.
12160         (epaths-force): Rewrite to avoid the need for ‘echo’.
12161         (install-etc): Be clearer about escaping the shell metacharacters
12162         ‘\’ and ‘$’.
12163         * Makefile.in (install-arch-indep, install-etcdoc):
12164         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
12165         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
12166         * configure.ac, lib-src/rcs2log, make-dist:
12167         * src/Makefile.in (lisp.mk):
12168         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
12169         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
12170         if $foo can contain arbitrary characters.
12171         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
12172         * doc/lispref/two-volume.make (vol1.pdf):
12173         * test/etags/make-src/Makefile (web ftp publish):
12174         Use ‘printf’ rather than ‘echo -e’.
12176 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
12178         Allow numbers with different radixes to be yanked.
12180         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
12181         default base 10.
12183 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12185         Improve CHECK_IMPURE and PURE_P speedup
12187         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
12189 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
12191         Use events instead of chars to keep track of steps.
12193         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
12194         to keep track of steps.
12196 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12198         Fix --enable-gcc-warnings problem with older GCC
12200         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
12201         This is for building with --enable-gcc-warnings with
12202         GCC 4.6 through 5.0.
12204 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
12206         Fix vertical-motion in truncated lines that end in a stretch
12208         * src/indent.c (Fvertical_motion): Expect overshoot when point is
12209         beyond window margin and lines are truncated, even if we have a
12210         stretch at point.  (Bug#21468)
12212 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
12214         Avoid link-time errors due to inline functions
12216         * src/emacs.c: Include puresize.h, to avoid link-time errors in
12217         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
12218         inline functions.
12220 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
12222         * src/data.c (Faset): Fix last change.
12224 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12226         CHECK_IMPURE and PURE_P speedup
12228         * src/intervals.c (create_root_interval):
12229         Do CHECK_IMPURE only for strings; not needed for buffers.
12230         Prefer ! STRINGP to BUFFERP, for a tad more speed.
12231         * src/puresize.h (CHECK_IMPURE, PURE_P):
12232         Now inline functions instead of macros.
12233         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
12234         All callers changed.
12235         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
12236         All callers changed.
12238 2015-10-09  Noah Friedman  <friedman@splode.com>
12240         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
12242 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12244         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
12246         our after-change-function, rather than re-adding it if it was removed.
12248 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12250         * lisp/cedet/ede: Silence some compiler warnings
12252         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
12253         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
12254         (ede-apply-object-keymap, ede-reset-all-buffers)
12255         (ede-auto-add-to-target): Use dolist.
12256         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
12257         Use field names rather than initarg names in `oref'.
12258         (ede-load-project-file): Remove unused var `file'.
12259         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
12260         (ede-set): Remove unused var `a'.
12262         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
12263         (ede-project-autoload): Avoid the old-style "name" argument.
12264         (ede-emacs-find-matching-target): Use field names rather than initarg
12265         names in `oref'.
12267         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
12268         (ede-linux-load, ede-project-autoload): Avoid the old-style
12269         "name" argument.
12270         (ede-linux-find-matching-target): Use field names rather than initarg
12271         names in `oref'.
12273 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12275         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
12277 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12279         * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid
12280         indenting too far after ":-".
12282 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
12284         Update case-table and categories of recently added characters
12286         * lisp/international/characters.el: Update information about Latin
12287         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
12288         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
12289         blocks.  (Byug#21654)
12291 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
12293         * src/frame.c (adjust_frame_size): In minibuffer-only windows
12294         don't count minibuffer height twice.  (Bug#21643)
12296 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
12298         Avoid inflooping in font-lock
12300         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
12301         inhibit-field-text-motion around the call to
12302         line-beginning-position, to avoid inflooping.  (Bug#21615)
12304 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
12306         Refactor duplicated code; ensure default is in completions
12308         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps):
12309         New function.
12310         (reftex-extract-bib-entries): Use it.
12311         (reftex-extract-bib-entries-from-thebibliography): Use it.
12313 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
12315         * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst"
12316         in the example.
12318 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
12320         * lisp/calc/calc.el: Silence byte-compiler warnings.
12321         (calc-scan-for-dels): Use ignore-errors.
12322         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
12323         (calc-read-key-sequence): Remove unused var `prompt2'.
12324         (calc-kill-stack-buffer): Remove unused var `buflist'.
12325         (calc): Remove unused var `oldbuf'.
12326         (calc-refresh): Use inhibit-read-only.
12327         (calc-can-abbrev-vectors): Declare.
12328         (calc-record): Remove unused var `mainbuf'.
12329         (math-sub-bignum): Remove unused var `sum'.
12330         (math-svo-c, math-svo-wid, math-svo-off): Declare.
12332 2015-10-08  Daiki Ueno  <ueno@gnu.org>
12334         Use g_clear_error instead of g_error_free
12336         * src/image.c: Define g_clear_error instead of g_error_free.
12337         (init_svg_functions): Resolve symbol g_clear_error instead of
12338         g_error_free.
12339         (svg_load_image): Use g_clear_error instead of g_error_free, to
12340         suppress GLib warnings when ERR is not set.  See bug#21641.
12342 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12344         * src/image.c (image_size_error): Simplify.
12346 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12348         Fix problems caught with --enable-gcc-warnings
12350         * src/image.c (lookup_rgb_color):
12351         * src/xfns.c (x_defined_color):
12352         * src/xterm.c (x_parse_color):
12353         Remove unused locals.
12355 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
12357         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
12359 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
12361         Format initial input uniformly
12363         * lisp/calc/calc.el (calc-digit-start-entry): New function.
12364         * lisp/calc/calc.el (calcDigit-start):
12365         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
12366         Use `calc-digit-start-entry' to format input.
12368 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
12370         Disable non-working pointerColor setting for X tooltip frame
12372         It generates a bunch of server traffic, but there's some bug wherein
12373         the new mouse cursor settings don't seem to get used.  In most
12374         situations the cursor isn't likely to be seen anyway, so it's not
12375         urgent to fix.
12377         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
12379 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
12381         Reduce some unnecessary X calls
12383         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
12384         call.  If border width is wanted, get it from the XGetGeometry call
12385         instead of calling XGetWindowAttributes on the same window.  Skip some
12386         X calls if we've already detected an error from the X server.
12387         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
12388         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
12390 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
12392         Reduce color allocation/query traffic in the TrueColor case
12394         When working with an X visual with TrueColor class, pixel values can
12395         be generated from the RGB values according to mask value provided by
12396         the server on connection.  Some of the image-handling code was already
12397         doing this.
12399         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
12400         lookup_rgb_color.
12401         (x_mutable_colormap): New function.
12402         * src/image.c (lookup_rgb_color): Move pixel composition code to
12403         x_make_truecolor_pixel.
12404         (x_kill_gs_process): Call x_mutable_colormap.
12405         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
12406         x_mutable_colormap.
12407         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
12408         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
12409         pixel value into RGB values directly, and don't send a request to the
12410         server.
12411         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
12412         value with x_make_truecolor_pixel.
12413         (x_copy_color): For an immutable color map, just return the provided
12414         pixel value.
12416 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
12418         Cache XParseColor results in the X display info structure
12420         With repeated lookups of foreground and background colors for multiple
12421         faces per frame, we issue a lot of redundant color name lookups to the
12422         X server, waiting every time for the response.  On a remote network
12423         with, say, 30ms round-trip time, this can add nearly a full second to
12424         creation of a new frame.
12426         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
12427         * src/image.c (get_spec_bg_or_alpha_as_argb):
12428         (xpm_init_color_cache, xpm_lookup_color):
12429         * src/xfns.c (x_defined_color):
12430         * src/xterm.c (x_parse_color): New function; caches color names not
12431         starting with "#" in the display-info structure.
12432         (x_delete_display): Delete the cache content.
12433         * src/xterm.h (struct color_name_cache_entry): New type.
12434         (x_parse_color): Declare.
12435         (struct x_display_info): Add a new field for the cache.
12437 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
12439         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local.
12441 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
12443         Fix segfault in image_size_error
12445         * src/image.c (image_size_error): Pass a Lisp string to
12446         image_error, not a C string.  (Bug#21641)
12448 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
12450         Highlight CSS variable definitions
12452         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
12453         CSS variables.  (Bug#21638)
12455 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
12457         * test/automated/tabulated-list-test.el: New file.
12458         Test bug#21639 and some basic functionality.
12460 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
12462         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
12463         Check if column can be sorted before trying.  (Bug#21639)
12465 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
12467         Add test for `self-insert-command' (bug#21633)
12469         * test/automated/cmds-tests.el: New file.
12471 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
12473         * src/window.c (resize_frame_windows): Don't set root window's
12474         top position when resizing horizontally.
12476 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
12478         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
12479         Document more possible values.
12481 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
12483         * lisp/textmodes/tex-mode.el: Use lexical-binding.
12485 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
12487         * lisp/indent.el (indent--default-inside-comment): New function.
12488         (indent-for-tab-command): Use it for `noindent' indentation.
12490 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12492         Fix bug in GC_CHECK_MARKED_OBJECTS check
12494         * src/alloc.c (mark_object): Fix bug in checking code.
12495         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
12496         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
12497         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
12498         bucket.  The bug did not affect behavior either in the normal case
12499         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
12500         not have an internal error that a properly-written
12501         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
12503 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
12505         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
12506         Add prettified version for \\Bbb{Q}.
12508 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
12510         * test/automated/package-test.el (package-test-install-single):
12511         Add a test for bug#21625.
12513 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
12515         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
12516           not a package-desc object.  Also clarify documentation.  (Bug#21625)
12518 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
12520         Fix display of characters adjacent to ZWJ and ZWNJ
12522         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
12523         characters the same as directional formatting controls.
12524         (bidi_level_of_next_char): Include all Bn characters in rule L1,
12525         as mandated by the UBA.
12527 2015-10-06  Andreas Schwab  <schwab@suse.de>
12529         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
12530         number.  (Bug#21633)
12532 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
12534         * doc/lispref/objects.texi (Window Type): Add a cross reference.
12536         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
12538 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
12540         * lisp/language/misc-lang.el (composition-function-table):
12541         Fix entries for Arabic and Syriac.
12543 2015-10-05  Damien Cassou  <damien@cassou.me>
12545         Add first unit tests for auth-source.el
12547         * test/automated/auth-source-tests.el: New file.
12549 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
12551         Remove redundant redisplay code
12553         * src/xdisp.c (redisplay_internal, try_cursor_movement)
12554         (try_window_reusing_current_matrix, try_window_id): Remove
12555         redundant restrictions on redisplay optimizations based on the
12556         frame's 'redisplay' flag.  See
12557         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
12558         discussions.
12560 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
12562         * src/xdisp.c (windows_or_buffers_changed): Improve docstring.
12564 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
12566         Update tutorials/TUTORIAL.cn
12568         * etc/tutorials/TUTORIAL.cn: Improve translation.
12570 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12572         * src/macfont.m (macfont_encode_char, syms_of_macfont):
12573         Remove unused vars.
12575 2015-10-04  Stefan Merten  <stefan@merten-home.de>
12577         Pull in version numbers from rst.el upstream release.
12579         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
12580         (rst-svn-timestamp, rst-official-version)
12581         (rst-official-cvs-rev, rst-package-emacs-version-alist):
12582         Update version numbers.
12584 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
12586         * test/automated/coding-tests.el: New file.
12588 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
12590         Improve XEmacs compatibility of Tramp
12592         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
12593         Declare if it doesn't exist.
12594         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
12595         (redisplay): Make it an alias if it doesn't exist.
12597         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
12598         `file-remote-p' (due to XEmacs compatibility).
12600         * lisp/net/trampver.el (locate-dominating-file)
12601         (tramp-compat-replace-regexp-in-string): Autoload.
12602         (tramp-repository-get-version): Do not dupe byte-compiler.
12604 2015-09-02  K. Handa  <handa@gnu.org>
12606         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
12608         * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
12609         Adjusted for the change of type of elements in the array
12610         MFLTGlyphString.glyphs.
12612 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
12613             Michael Heerdegen  <michael_heerdegen@web.de>
12615         shr: fix too long lines in rendered buffers (Bug#21012)
12617         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
12618         Correct calculation of available width.
12619         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
12620         is nil.
12622 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
12624         Restore blank line before next section, erroneously erased
12625         in my previous commit
12627         * etc/compilation.txt (symbol ant): Add an additional trailing blank
12628         line to this section, so that there are two of them immediately before
12629         the next section.
12631 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
12633         Support MSW filename style for ant compilation error regexp
12635         * etc/compilation.txt (symbol ant):
12636         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
12637         Support MSW filename style.
12639 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
12641         * nt/INSTALL: Minor spelling and quote fixes.
12643         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
12645 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
12647         Maintain ordering of JSON object keys by default
12649         * lisp/json.el (json-object-type): Mention order handling in doc-string.
12650         (json--plist-reverse): New utility function.
12651         (json-read-object): Maintain ordering for alists and plists.
12652         (json-pretty-print): Ensure that ordering is maintained.
12654         * test/automated/json-tests.el (test-json-plist-reverse): New test for
12655         `json--plist-reverse'.
12656         (json-read-simple-alist): Update test to accommodate for changes in
12657         `json-read-object'.
12659         * etc/NEWS: Document the new behavior of the pretty printing functions.
12661 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
12663         * src/coding.c (complement_process_encoding_system): Revert last change.
12665 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
12667         * admin/MAINTAINERS: Add entry for Ulf Jasper.
12669 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
12671         Doc fix for `defmacro'
12673         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
12675 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
12677         More validatation of coding systems
12679         * src/fileio.c (Finsert_file_contents): Remove redundant
12680         coding-system check.
12681         (choose_write_coding_system): Likewise.
12682         * src/coding.c (complement_process_encoding_system): Check argument
12683         for valid coding system.
12685 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
12687         Avoid crashes in coding_inherit_eol_type
12689         * src/coding.c (coding_inherit_eol_type): Check the validity of
12690         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
12691         (Bug#21602)
12693 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
12695         More validatation of coding system in 'write-region'
12697         * src/coding.c (choose_write_coding_system): More validation of
12698         coding-system from various sources.  Suggested by Andreas Schwab
12699         <schwab@linux-m68k.org>.  (Bug#21602)
12701 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
12703         Avoid crashes due to invalid coding-system
12705         * src/fileio.c (choose_write_coding_system)
12706         (Finsert_file_contents): Check validity of coding-system-for-write
12707         and coding-system-for-read bound by the caller.  (Bug#21602)
12709 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
12711         Adapt to new prettify-symbols-unprettify-at-point default
12713         * etc/NEWS: Mention that unprettication of symbol at point is off
12714         by default.
12716 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
12718         Revert my two recent process.c changes
12720         Revert "Improve last commit to process.c" and "Remove callback-handled
12721         channels from Available set" because they did not fix bug#21313.
12723         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
12724         27f871907cc24f33a7d12ac3a4ab71a88f0bc554.
12726 2015-10-02  Markus Triska  <triska@metalevel.at>
12728         * lisp/progmodes/prolog.el: Update and extend operator table.
12729         (prolog-smie-grammar): Add multifile, public etc.
12731 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12733         Allow autogen even when Git is not installed
12735         * autogen.sh: Test ‘git status’ before trying to use Git.
12737 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
12739         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes.
12740         Adjust lto/lfrom when we have uncommitted changes.
12742 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12744         Fix problems found by clang 3.5.0
12746         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
12747         * src/font.c (font_parse_family_registry):
12748         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
12750 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
12752         * nt/INSTALL: Update instructions for running autogen.sh.
12754         * nt/INSTALL: Point to ezwinports for libXpm binaries.
12756 2015-10-02  Daniel Colascione  <dancol@dancol.org>
12758         Fix winner in cl-lib not loaded case
12760         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
12761         without requiring CL
12763 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12765         Fix a few problems with directed quotes
12767         This is in response to a problem report by Kaushal Modi in:
12768         http://bugs.gnu.org/21588#25
12769         * lisp/cedet/mode-local.el (describe-mode-local-overload):
12770         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
12771         * lisp/info-xref.el (info-xref-check-all-custom):
12772         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
12773         Prefer directed to undirected single quotes in diagnostics.
12775 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
12777         Revert "Attempt to fix slow redisplay caused by last changes"
12779         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
12780         (try_cursor_movement): Don't relax requirements for redisplay
12781         optimizations for the selected frame.  (Bug#21597)
12783         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
12785 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
12787         Fix slow redisplay when daemon frame exists
12789         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
12790         when looking for frames that need to be redisplayed.  (Bug#21597)
12792 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
12794         Attempt to fix slow redisplay caused by last changes
12796         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
12797         (try_cursor_movement): Relax requirements for redisplay
12798         optimizations for the selected frame.  (Bug#21597)
12800 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
12802         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
12803         Improve doc string.
12805 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
12807         * lisp/minibuffer.el (minibuffer-completion-help):
12808         Set default base-size, in case completion table does not set it.
12810 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
12812         Fix GUD display of GDB output with non-ASCII text
12814         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
12815         (gdb-mi-decode): New function.
12816         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
12817         decode octal escapes in GDB output.  (Bug#21572)
12819 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
12821         * nt/INSTALL: Document where to find XPM support files.
12823 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
12825         Un- and re-prettification are not exclusive
12827         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
12828         Re-apply prettification to previous symbol also when unprettifying
12829         next one.
12831 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
12833         Don't unprettify symbol at point by default
12835         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
12836         Default to disabled (nil).
12838 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
12840         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
12841         Support unprettifying when point is after a symbol.
12843         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'.
12845 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
12847         Avoid assertion violations in push_prefix_prop
12849         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
12850         a line that has a line-prefix defined starts with an image.  (Bug#21428)
12852 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
12854         Disable some display optimizations when frames need redisplay
12856         These optimizations were previously disabled by the
12857         windows_or_buffers_changed flag, which now is not set
12858         when only some frames need to be redrawn.
12859         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
12860         'redisplay' flag is set.
12861         (try_window_reusing_current_matrix, try_window_id)
12862         (try_cursor_movement): Disable these optimizations when the
12863         frame's 'redisplay' flag is set.
12865 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
12867         Don't modify buffer by unprettification
12869         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
12870         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
12871         modify buffer when setting/removing custom prettify-symbols-start/end
12872         text properties.  Add them to font-lock-extra-managed-props, too.
12874 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
12876         Try to avoid redisplaying all frames when creating a new one
12878         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
12879         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
12880         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
12881         * src/frame.c (x_set_screen_gamma): Set the specific frame's
12882         `redisplay' bit rather than windows_or_buffers_changed.
12884         * src/window.c (apply_window_adjustment): Remove redundant setting of
12885         windows_or_buffers_changed.
12887         * src/xdisp.c (redisplay_internal): Set the specific frame's
12888         `redisplay' bit rather than update_mode_lines in response to
12889         cursor_type_changed.
12890         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
12891         (AINC): Adjust accordingly.
12893 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
12895         Implement unprettification of symbol at point
12897         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
12898         symbol at point.
12899         (prettify-symbols--current-symbol-bounds): New variable.
12900         (prettify-symbols--post-command-hook): New function.
12901         (prettify-symbols-unprettify-at-point): New defcustom.
12902         (prettify-symbols-mode): Use it.
12903         (prettify-symbols--compose-symbol): Use them.
12905 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12907         * src/macfont.m (mac_font_descriptor_supports_languages):
12908         Regard "zh" as synonym of "zh-Hans".
12910 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12912         Work around crash when displaying etc/HELLO on OS X 10.11
12914         * src/macfont.m (mac_font_get_weight)
12915         (mac_font_descriptor_get_adjusted_weight): New functions.
12916         (macfont_store_descriptor_attributes): Adjust weight.
12918 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12920         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
12922 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
12924         * lisp/arc-mode.el (archive-rar-summarize): Better alignment
12925         of the columns.
12927 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
12929         Use unar and lsar to handle RAR archives in arc-mode
12931         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
12932         on unar and lsar instead of unrar-free for RAR archives (bug#17663).
12934 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
12936         Clarify :create in auth-source's docs
12938         * lisp/gnus/auth-source.el (auth-source-search):
12939         Clarify :create's meaning.
12941 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
12943         Avoid empty -path arguments in rgrep
12945         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
12946         the list produced according to grep-find-ignored-directories,
12947         before passing it to Find/Grep invocation.  (Bug#21548)
12949 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
12951         Clarify documentation of pos-visible-in-window-p
12953         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
12954         t for POS.  See
12955         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
12956         for the original report.
12958         * doc/lispref/windows.texi (Window Start and End): Clarify the
12959         meaning of t for the POSITION argument of pos-visible-in-window-p.
12961 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12963         * lisp/progmodes/prolog.el: Fix various indentation cases.
12964         (prolog-operator-chars): New const (add \\).
12965         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
12966         (prolog-smie-rules): Add rules according to bug#21526.
12968 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12970         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent.
12971         (sh-indent-after-continuation): Add new value `always' (bug#17620)
12972         (sh-smie-sh-rules): Remove old handling of continued lines.
12973         (sh-smie--indent-continuation): New function.
12974         (sh-set-shell): Use it.
12976 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12978         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun.
12979         Remove redundant :group keyword args.
12980         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
12981         Remove variables.
12982         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
12983         turn them into compile-time variables.
12984         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
12985         Add rules for break, continue, return, global, and persistent.
12986         Refine the rule for "until".
12987         (octave-smie--funcall-p, octave-smie--end-index-p)
12988         (octave-smie--in-parens-p): New functions.
12989         (octave-smie-backward-token, octave-smie-forward-token): Use them to
12990         distinguish the "enumeration" function and the "end" index from
12991         their corresponding keywords.
12992         (octave--block-offset-keywords): New constant.
12993         (octave-smie-rules): Use it.  Adjust rules for new global/persistent
12994         parsing.
12995         (octave-reserved-words): Redefine using octave-smie-grammar.
12996         (octave-font-lock-keywords): Use octave-smie--funcall-p and
12997         octave-smie--end-index-p.
12999 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
13001         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*.
13003 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
13005         * nt/INSTALL: Remove references to GTK site.
13006         That site no longer offers Windows downloads.
13008 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
13010         * nt/INSTALL: Add instructions for installing Git.
13012 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
13014         * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to
13015         use colors.  Suggested by Eli Zaretskii.
13017 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
13019         * lisp/net/shr.el (shr-colorize-region): Don't do it on a system
13020         not supporting 256 above colors (bug#21557).
13022 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
13024         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
13026         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
13028 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
13030         Add documentation for seq.el
13032         * doc/lispref/sequences.texi: Add documentation regarding extending
13033         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
13034         seq-do and seq-map.
13036 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
13038         Better documentation for seq-some
13040         * doc/lispref/sequences.texi:
13041         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
13042         guarantee that the returned value is the first non-nil value that
13043         resulted from applying the predicate.
13045 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
13047         * lisp/arc-mode.el: Sharp-quote function arguments.
13049 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
13051         Avoid redisplay error in ediff-regions-wordwise
13053         * lisp/vc/ediff-util.el
13054         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
13055         set before activating it.  (Bug#21567)
13057 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
13059         Another attempt to fix crashes due to prematurely freed faces
13061         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
13062         faces for as long as we might have desired matrices that reference
13063         those faces.  (Bug#21428)
13065 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
13067         Add auctex development list email address
13069 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
13071         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
13073 2015-09-28  Arash Esbati  <esbati@gmx.de>  (tiny change)
13075         Improve wrapfig package support and caption parsing
13077         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
13078         Correct description string and add wraptable environment.
13079         (reftex-default-context-regexps): Improve caption regexp.
13081 2015-09-28  Anders Lindgren  <andlind@gmail.com>
13083         Respect value of frame_resize_pixelwise when handling fullscreen state
13085         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
13086         setting size increments.
13088 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
13090         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
13092 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
13094         Add prettify-symbols-alist for js-mode
13096         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
13097         (js-mode): Use it.
13099 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
13101         * nt/subdirs.el: File deleted (no longer used).
13103 2015-09-26  Alan Mackenzie  <acm@muc.de>
13105         Fix follow-scroll-up/down, making them replacements for scroll-up/down
13107         1. Allow point to move between follow windows in scroll operations.
13108         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
13109         when EOB was isolated in the last follow window.
13111         * lisp/follow.el (follow-fixed-window): New variable.
13112         (follow-get-scrolled-point): New function.
13113         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
13114         Reformulate the code.  Put `scroll-command' properties on the functions.
13115         Correct minor errors in ...-down's doc string and code.
13116         (follow-calc-win-end): Amend incomplete doc string.  Use
13117         `pos-visible-in-window-p' to check whether EOB is in the window.
13118         (follow-estimate-first-window-start): Correct an off-by-1 error.
13119         (follow-adjust-window): Add handling for explicit scrolling operations.
13121 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
13123         * admin/MAINTAINERS: Add self, plus list some more files
13124         sans maintaners.
13126 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
13128         New DWIM commands for changing letter-case
13130         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
13131         New functions.  (Bug#21501)
13133 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
13135         * etc/PROBLEMS: Document problems with pasting on MS-Windows.
13137 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
13139         Make face realization be more frame-specific
13141         * src/frame.h (struct f): New flag face_change.
13142         * src/xfaces.c (Finternal_make_lisp_face)
13143         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
13144         (update_face_from_frame_parameter): Set the face_change flag only
13145         for the frame whose faces are affected.
13146         * src/xdisp.c (init_iterator): If a frame's face_change flag is
13147         set, free faces only on that frame.
13148         (redisplay_internal): Disable "display optimization 1" if the
13149         frame's face_change flag is set.
13150         (redisplay_window): Don't allow skipping a window's redisplay if
13151         its frame's face_change flag is set.
13152         * src/frame.c (x_set_screen_gamma): Instead of calling
13153         Fclear_face_cache, call clear_face_cache and set
13154         windows_or_buffers_changed to a non-zero value.  This avoids
13155         setting the global face_change flag that triggers face realization
13156         on all frames and thorough redisplay of all of them.
13158         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
13159         clear face cache if the selected frame is a GUI frame.
13161 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
13163         Remove font-latex specific check
13165         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
13166         Use syntax-ppss data to identify verbatim contents.
13168 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
13170         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
13171         Fix some false negatives.
13173 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
13175         Reorder Windows version in Emacs manifests
13177         * nt/emacs-x64.manifest:
13178         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
13179         highest.
13181 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
13183         Update Emacs manifest files for Windows 10
13185         * nt/emacs-x86.manifest:
13186         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
13188 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
13190         Avoid non-ASCII decoding errors in C src files
13192         * src/nsterm.m:
13193         * src/lisp.h:
13194         * src/editfns.c:
13195         * src/doprnt.c: Add 'coding' cookies -- these files include
13196         Unicode characters and should be decoded as UTF-8.
13198 2015-09-25  Alan Mackenzie  <acm@muc.de>
13200         Resurrect edebug-set-initial-mode, repurposing it to set the global mode
13202         * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
13203         amend to match current modes and functions.
13204         (edebug-set-initial-mode): Uncomment and change from setting a defun's
13205         `edebug-initial-mode''s property to setting the variable
13206         `edebug-initial-mode'.
13207         (top level): Create new binding C-x C-a C-m for
13208         `edebug-set-initial-mode'.
13210         * doc/lispref/edebug.texi (Edebug Execution Modes): Document
13211         `edebug-set-initial-mode' and its new key binding.
13212         (Edebug Options): Mention the new command in the pertinent place.
13214         * etc/NEWS: Write entry for this change.
13216 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
13218         Avoid non-ASCII decoding errors in Texinfo files
13220         * doc/misc/tramp.texi:
13221         * doc/lispref/strings.texi:
13222         * doc/lispref/positions.texi:
13223         * doc/lispref/help.texi:
13224         * doc/lispref/functions.texi:
13225         * doc/lispintro/emacs-lisp-intro.texi:
13226         * doc/emacs/text.texi:
13227         * doc/emacs/modes.texi:
13228         * doc/emacs/mini.texi:
13229         * doc/emacs/display.texi:
13230         * doc/emacs/custom.texi:
13231         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
13232         Unicode characters and should be decoded as UTF-8.
13233         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
13234         apostrophe unnecessarily.
13236 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
13238         Merge from gnulib
13240         This incorporates:
13241         2015-09-25 c-ctype: rewrite to use inline functions
13242         2015-09-24 maint: add coding cookies to non-ASCII sources
13243         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
13244         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
13245         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
13246         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
13247         * lib/set-permissions.c:
13248         Copy from gnulib.
13250 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
13252         Update publicsuffix.txt from upstream
13254         * etc/publicsuffix.txt: Update from
13255         https://publicsuffix.org/list/effective_tld_names.dat
13256         dated 2015-09-24 17:29:21 UTC.
13258 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
13260         Prevent timers from messing up TTY menus
13262         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
13263         the TTY menu is open.  (Bug#21530)
13265 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
13267         No need to mention K&R C in c-mode intro
13269 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
13271         Fix recent bootstrap problems
13273         * src/syntax.c (parse_sexp_propertize): Fix last fix.
13274         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
13275         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
13277 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
13279         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
13281 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
13283         Properly quote nested xml comments (Bug#6267) (Bug#20001)
13285         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function.
13286         (nxml-mode): Set comment-quote-nested-function.
13288 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
13290         Allow major-modes full control over quoting nested comments
13292         * lisp/newcomment.el (comment-quote-nested-function): New variable.
13293         (comment-quote-nested-default): New function.
13294         (comment-quote-nested): Use `comment-quote-nested-function'.
13296 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13298         Prefer CALLN in a few more places
13300         * src/macfont.m (macfont_set_family_cache):
13301         * src/nsterm.m (append2):
13302         * src/xterm.c (x_cr_export_frames):
13303         Prefer CALLN to allocating the arg arrays by hand.
13305 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
13307         Adapt file-notify-test02-events test case
13309         * test/automated/file-notify-tests.el (file-notify-test02-events):
13310         Create a new watch for every test.
13312 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
13314         Continue gfilenotify.c implementation of missing parts
13316         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
13317         `gfile-add-watch' call.
13318         (file-notify-rm-watch): Modify `file-notify-descriptors' only
13319         after calling the low level functions.
13321         * src/gfilenotify.c (dir_monitor_callback): Check, whether
13322         event_type is expected.
13323         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
13324         (Fgfile_rm_watch): Fix typo.
13325         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
13327 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13329         * src/syntax.c (parse_sexp_propertize): Handle spurious
13330         e_property_truncated flag.
13331         (update_syntax_table_forward): Remove invalid assertion.
13333 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
13335         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
13336         space display spec on text-mode terminals, by calling
13337         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the
13338         HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the
13339         test for a GUI frame.
13341 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
13343         Move let-when-compile to lisp-mode.el
13345         This fixes the bootstrapping problem of `let-when-compile' using
13346         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
13348 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13350         * lisp/url/url-http.el (url-http-parse-headers): Do not
13351         automatically include Authorization header in redirect.
13352         (Bug#21350)
13354 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
13356         Clarify documentation of ':relative-width'
13358         * doc/lispref/display.texi (Specified Space): Document that
13359         ':relative-width' is only supported on GUI frames.
13361 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
13363         Fix 'current-column' in presence of :relative-width
13365         * src/indent.c (check_display_width): Support ':relative-width'
13366         in a display spec that specifies a stretch glyph.  (Bug#21533)
13368 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
13370         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
13372         ... to conform better to CONTRIBUTE guidelines.
13374 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
13376         * lisp/progmodes/prolog.el: Fix indentation of empty line
13378         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
13379         `empty-line-token' element.
13380         (smie-indent-empty-line): New function.
13381         (smie-indent-functions): Add it.
13383         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro
13384         behavior and use the new `empty-line-token' element (bug#21526).
13385         (prolog-mode-variables): Fix comment-start-skip setting to match
13386         comment-start.
13388         * test/indent/prolog.prolog: Add nested indentation tests.
13390         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
13391         comment-start-skip not to misuse submatch 1.
13393 2015-09-22  Alan Mackenzie  <acm@muc.de>
13395         Make description of `edebug-initial-mode' user friendly
13397         Fixes bug#21365.
13399         * dec/lispref/edebug.texi (Edebug Execution Modes): Change the
13400         description of `edebug-initial-mode' from that of its implementation
13401         to that of its visual effect and use.  Move the paragraph higher up.
13403 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
13405         lisp/progmodes/gud.el (gud-format-command): Fix last commit
13407         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
13408         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
13410 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
13412         Improve last commit to process.c
13414 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
13416         Implement gfile-valid-p
13418         * lisp/filenotify.el (file-notify-callback): Fix typo.
13419         (gfile-valid-p): Remove defalias.
13421         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
13422         the file or directory to be watched is deleted.
13423         (Fgfile_add_watch): Make watch_object a triple.
13424         (Fgfile_rm_watch): Check, whether watch is cancelled already.
13425         (Fgfile_valid_p): New defun.
13426         (syms_of_gfilenotify): Declare Sgfile_valid_p.
13428 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
13430         Remove callback-handled channels from Available set
13432         * src/process.c (wait_reading_process_output): Remove channel from
13433         Available set if it is handled by a callback, e.g., dbus or
13434         inotify (bug#21313).
13436 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
13438         Use lunate epsilon for TeX \epsilon
13440         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
13441         Add \varepsilon using GREEK SMALL LETTER EPSILON, and change
13442         \epsilon to use GREEK LUNATE EPSILON SYMBOL
13444 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
13446         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
13448         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
13449         rather than outermost paren (bug#21526).
13451 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
13453         Improve git diff hunk headers for .el, .texi
13455         Problem reported by Alan Mackenzie in:
13456         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
13457         * .gitattributes (*.el, *.texi): New patterns.
13458         * autogen.sh: Configure diff.elisp.xfuncname and
13459         diff.texinfo.xfuncname if using Git.
13461 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
13463         Don't rely on defaults in decoding UTF-8 encoded Lisp files
13465         * lisp/replace.el:
13466         * lisp/textmodes/rst.el:
13467         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
13469 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
13471         Clarify or replace a few \u escapes
13473         * doc/lispref/nonascii.texi (Character Properties)
13474         More-detailed commentary for \u escapes.
13475         * lisp/progmodes/python.el (python--prettify-symbols-alist):
13476         * lisp/replace.el (query-replace-from-to-separator):
13477         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
13478         (rst-mode-syntax-table):
13479         * lisp/whitespace.el (whitespace-display-mappings):
13480         Prefer actual character to \u escape when this makes the code
13481         easier to follow in the usual case where Unicode chars can be
13482         displayed.
13484 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
13486         Pacify GCC -Wmaybe-uninitialized in xdisp.c
13488         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
13489         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
13490         charpos.  The loop should always execute at least once anyway.
13492 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
13494         Signal error on invalid regexp
13496         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
13497         Signal an error when the user tries searching with a regexp
13498         matching the empty string.
13500 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
13502         Another fix of file-notify-tests for w32notify
13504         * test/automated/file-notify-tests.el (file-notify-test02-events):
13505         Further adaptation for w32notify: reduce the number of expected
13506         'changed' events.  (Bug#21435)
13508 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
13510         Adapt tests and manual for w32notify
13512         * doc/lispref/os.texi (File Notifications): w32notify does not
13513         send `attribute-changed' events.
13515         * test/automated/file-notify-tests.el (file-notify--test-with-events):
13516         Simplify parameters.  Adapt all callees.
13517         (file-notify-test02-events): w32notify does not send
13518         `attribute-changed' events.
13519         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
13520         Do not skip in case of w32notify.  Simply ignore this part of the test.
13522 2015-09-21  Dima Kogan  <dima@secretsauce.net>
13524         Fix setting breakpoints when remote-debugging
13526         * lisp/progmodes/gud.el (gud-format-command): Send localized file
13527         names to the debugger running on the remote.  (Bug#13304)
13529 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
13531         Better docstring and parameter name for seq-find
13533         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
13534         the parameter `sentinel' to `default'.
13536         * doc/lispref/sequences.texi (Sequence Functions): Update the
13537           documentation for `seq-find' accordingly.
13539 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
13541         Avoid infinite recursion while displaying box face
13543         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
13544         the previous string/buffer character position under bidi
13545         iteration.  (Bug#21428)
13547 2015-09-21  Anders Lindgren  <andlind@gmail.com>
13549         Keep upper edge unchanged when changing size of NS frame
13551         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
13552         (Bug#21415).
13554 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
13556         * lisp/progmodes/prolog.el: Improve handling of if/then/else.
13557         (prolog-smie-rules): Accommodate standard if/then/else special
13558         indentation.
13559         (prolog-mode): Add . to electric-indent-chars.
13560         (prolog-electric--if-then-else): Re-indent the line before adding space
13561         after the new char (bug#21526).
13563 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
13565         Add prettify symbols to python-mode
13567         * lisp/progmodes/python.el (python-prettify-symbols-alist):
13568         New variable.
13569         (python-mode): Use it
13571 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
13573         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete.
13575 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
13577         (compilation-error-regexp-alist-alist): Tone down guile-file
13579         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
13580         Make guile-file a bit less enthusiastic (bug#21496).
13582 2015-09-20  Drew Csillag  <drew@thecsillags.com>
13584         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
13585         Fix m4_* highlighting.
13587         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
13588         of commands when they have a "m4_" prefix.
13590 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13592         '.' -> `.' in doc string
13594         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
13595         individual chars with grave quotes instead of straight quotes, as
13596         this works better when they are translated to curved quotes.
13598 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
13600         Improve file notifications, especially for Tramp
13602         * doc/lispref/files.texi (Magic File Names):
13603         Mention `file-notify-valid-p'.
13605         * doc/lispref/os.texi (File Notifications):
13606         Describe `file-notify-valid-p'.
13608         * etc/NEWS: Add `file-notify-valid-p'.
13610         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
13611         Improve implementation.
13612         (tramp-gvfs-monitor-file-process-filter): Rename from
13613         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
13614         process if appropriate.
13616         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
13617         Improve implementation.
13618         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
13619         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
13620         if appropriate.
13621         (tramp-sh-inotifywait-process-filter): Rename from
13622         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
13623         appropriate.
13625         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
13626         Use `delete-process'.
13627         (tramp-handle-file-notify-valid-p): Check also, that file or
13628         directory to be watched still exists.
13630         * test/automated/file-notify-tests.el (file-notify--test-timeout):
13631         New defun.  Use it at all places a timeout is needed.
13632         (file-notify--test-cleanup): Delete directories recursively.
13633         Cleanup also Tramp connections.
13634         (file-notify-test02-events): Add tests for `attribute-change'.
13635         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
13636         Add tests for `file-notify-rm-watch'.
13638 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13640         Use %s to format strings instead of splicing them
13642         If FOO might contain quotes that are part of a file or variable
13643         name, the quotes should not be translated when showing FOO’s name
13644         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
13645         is not quite right, as it would translate FOO’s quotes.
13646         Change it to (message "%s: bar" FOO) instead.
13647         * lisp/allout.el (allout-process-exposed):
13648         * lisp/calc/calc-ext.el (calc-do-prefix-help):
13649         * lisp/calc/calc-store.el (calc-store-into):
13650         * lisp/calendar/todo-mode.el (todo-category-completions):
13651         * lisp/cedet/semantic/complete.el (semantic-completion-message):
13652         * lisp/org/ob-latex.el (convert-pdf):
13653         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
13654         * lisp/org/ox-latex.el (org-latex-compile):
13655         * lisp/org/ox-man.el (org-man-compile):
13656         * lisp/org/ox-odt.el (org-odt--export-wrap):
13657         * lisp/org/ox-texinfo.el (org-texinfo-compile):
13658         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
13659         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
13660         (verilog-signals-combine-bus, verilog-read-defines)
13661         (verilog-getopt-file, verilog-expand-dirnames)
13662         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
13663         * lisp/term/ns-win.el (ns-spi-service-call):
13664         Use %s to avoid translating quotes of file names etc. in diagnostics.
13666 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
13668         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
13669         (js-mode): Don't set syntax-begin-function.
13671 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
13673         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
13674         syntax-begin-function is a symbol.
13676 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
13678         Improve documentation of 'run-at-time'
13679         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
13680         In particular, don't refer to 'diary-entry-time', because it is
13681         unavailable until diary-lib is loaded.  Also, refer to
13682         'timer-duration-words', not 'timer-duration', as the latter's doc
13683         string says nothing about the accepted strings.
13685 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
13687         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
13689 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
13691         Repair pdbtrack remote file tracking
13692         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
13693         Rectify pdbtrack so it follows transitions from one remote source
13694         file to the next.
13696 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
13698         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting.
13700 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
13702         Adapt vc-src to the old-new vc-checkin API
13703         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
13704         additional optional parameter.
13706 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
13708         Add overflow module to CSS property list
13709         * lisp/textmodes/css-mode.el (css-property-ids): Add properties
13710         from CSS Overflow Module Level 3.
13712 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
13714         Fix documentation of "C-u C-x v v"
13715         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
13716         documentation of "C-u C-x v v" match what the code does.
13718         Resurrect the ability to specify a revision in vc-next-action
13719         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
13720         * lisp/vc/vc-dav.el (vc-dav-checkin):
13721         * lisp/vc/vc-git.el (vc-git-checkin):
13722         * lisp/vc/vc-hg.el (vc-hg-checkin):
13723         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
13724         an additional optional argument, the revision to checkin.
13725         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
13726         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
13727         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
13728         a revision to checkin.
13729         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
13730         revision when checking in files.
13731         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
13732         for the details.
13734 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
13736         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
13737         (verilog-decls-princ, verilog-modport-princ)
13738         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
13740 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
13742         Fix the routine for help on Calc's prefixes
13743         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
13744         (calc-do-prefix-help): Use `read-char' to determine the next Calc
13745         command.
13747 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
13749         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove.
13750         (font-lock-fontify-block): Don't let-bind it.
13751         (font-lock-compile-keywords): Don't use it.
13752         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
13753         start one slot earlier, instead.
13754         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
13755         Don't declare.
13756         (syntax-ppss): Don't use it either.
13757         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
13758         from docstring.
13759         * doc/emacs/display.texi (Font Lock): Don't mention
13760         font-lock-beginning-of-syntax-function.
13761         * doc/lispref/modes.texi (Font Lock Basics): Update description of
13762         font-lock-defaults.
13763         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
13764         * lisp/loadhist.el (unload-feature-special-hooks):
13765         Remove font-lock-beginning-of-syntax-function.
13766         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
13767         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
13768         font-lock-beginning-of-syntax-function.
13770 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
13772         Backslash cleanup in Elisp source files
13773         This patch should not change behavior.  It typically omits backslashes
13774         where they are redundant (e.g., in the string literal "^\$").
13775         In a few places, insert backslashes where they make regular
13776         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
13777         "^\\*", which has the same effect as a regular expression.
13778         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
13779         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
13780         RCS IDs, as that makes it clearer that the backslash is intended.
13782         Some more minor backslash fixes
13783         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
13784         * test/automated/info-xref.el (info-xref-test-write-file):
13785         Double backslashes in strings.
13787         Fix several backslash typos in Elisp strings
13788         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
13789         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
13790         (todo-reset-done-string, todo-reset-comment-string)
13791         (todo-reset-highlight-item):
13792         * lisp/erc/erc-networks.el (erc-networks-alist):
13793         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
13794         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
13795         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
13796         (nntp-telnet-shell-prompt):
13797         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
13798         * lisp/image-dired.el (image-dired-rotate-original):
13799         (image-dired-get-exif-file-name):
13800         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
13801         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
13802         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
13803         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
13804         * lisp/net/shr-color.el (shr-color->hexadecimal):
13805         * lisp/org/org-bibtex.el (org-bibtex-fields):
13806         * lisp/org/org-docview.el (org-docview-export):
13807         * lisp/org/org-entities.el (org-entities):
13808         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
13809         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
13810         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
13811         (ebnf-style-database):
13812         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
13813         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
13814         * lisp/progmodes/sql.el (sql-product-alist):
13815         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
13816         (verilog-error-font-lock-keywords)
13817         (verilog-assignment-operator-re):
13818         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
13819         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
13820         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
13821         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
13822         For example, to get the regular expression ‘\.’ use the string
13823         literal "\\.", not "\." (which is equivalent to ".").
13824         * lisp/emulation/viper-util.el (viper-glob-unix-files):
13825         Remove stray ‘\j’ from string.
13826         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
13827         (nntp-telnet-shell-prompt):
13828         Treat > like $ when matching a shell prompt.
13829         * lisp/progmodes/make-mode.el (makefile-browse):
13830         Properly quote a diagnostic.
13832         Fix minor quoting problems in diagnostics
13833         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
13834         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
13835         Follow text-quoting-style in diagnostic, and quote a file name.
13837 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
13839         * doc/lispref/frames.texi (Cursor Parameters):
13840         Document 'x-stretch-cursor'.
13842 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
13844         Omit unnecessary \ before paren in C docstrings
13845         Although \( is needed in docstrings in Elisp code, it is not needed in
13846         docstrings in C code, since C function definitiions do not start with
13847         a parenthesis.  The backslashes made the docstrings a bit harder to
13848         read and to format in columns.  Also, some C docstrings had ( in
13849         column 1 and this did not appear to be causing any problems.  So,
13850         simplify C docstrings by replacing \( with ( and \) with ).
13852         A few more minor quoting fixes in a script and a text file
13854         Minor quoting fixes in scripts and doc
13855         Prefer straight quotes in random script files, as they are not
13856         converted.  Prefer grave quotes in a couple of places in the manual
13857         that were missed earlier, as these quotes are converted.
13859         Minor backslash fixes in manuals and scripts
13860         * Makefile.in (install-arch-indep):
13861         * admin/charsets/compact.awk:
13862         * admin/charsets/gb180302.awk (gb_to_index):
13863         * admin/charsets/gb180304.awk (gb_to_index):
13864         Avoid undefined behavior in Awk regular expression backslashes.
13865         * doc/misc/efaq.texi (Matching parentheses):
13866         Omit unnecessary backslashes.
13867         * doc/misc/gnus-faq.texi (FAQ 5-8):
13868         Avoid undefined behavior in suggested sed backslash usage.
13870         Add -Wswitch to --enable-gcc-warnings
13871         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
13872         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
13873         * lib-src/etags.c (main, consider_token, C_entries):
13874         * src/coding.c (encode_invocation_designation):
13875         * src/data.c (Ftype_of):
13876         * src/eval.c (Fdefvaralias, default_toplevel_binding)
13877         (Fbacktrace__locals, mark_specpdl):
13878         * src/lisp.h (record_xmalloc):
13879         * src/syntax.c (scan_lists, scan_sexps_forward):
13880         * src/window.c (window_relative_x_coord):
13881         * src/xdisp.c (push_it, pop_it):
13882         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
13883         Error out or do nothing (as appropriate) if a switch statement
13884         with an enum value does not cover all of the enum.
13885         * src/dispextern.h (struct iterator_stack_entry.u.comp):
13886         Remove unused member discovered by using -Wswitch.
13887         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
13888         * src/vm-limit.c (check_memory_limits):
13889         Simplify warning-diagnostic computation by using a table.
13891         etags ‘fatal’ function is now printf-like
13892         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
13893         Also, now static; not clear why it needed to be extern.
13894         (verror): New function, with most of the old contents of ‘error’.
13895         (fatal, error): Use it.
13897 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
13899         More adaptations in file-notify-tests.el
13900         * test/automated/file-notify-tests.el
13901         (file-notify-test05-dir-validity): Skip for w32notify in
13902         batch-mode.  (Bug#21432)
13904 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
13906         Adapt test in file-notify-tests.el
13907         * test/automated/file-notify-tests.el
13908         (file-notify-test04-file-validity): Skip for w32notify in
13909         batch-mode.  Add test lost last commit.
13911 2015-09-16  Dima Kogan  <dima@secretsauce.net>
13913         winner no longer holds on to dead frames
13914         * lisp/winner.el (winner-change-fun): Cull dead frames.
13915         This prevents a potentially massive memory leak.  See:
13916         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
13918 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
13920         Use common report_file_notify_error function
13921         * src/fileio.c (report_file_notify_error): New function.
13922         * src/inotify.c (report_inotify_error): Remove function.
13923         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
13924         (Finotify_rm_watch): Use report_file_notify_error.
13925         * src/lisp.h (report_file_notify_error): Declare external function.
13926         * src/w32notify.c (report_w32notify_error): Remove function.
13927         (Fw32notify_add_watch, Fw32notify_rm_watch):
13928         Use report_file_notify_error.
13930 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
13932         Fix documentation.
13933         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
13934         the documentation of the root mean square.
13936 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
13938         Remove tool_bar_redisplayed_once and associated code.
13939         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
13940         * src/frame.c (make_frame, x_set_font): Remove initialization of
13941         f->tool_bar_redisplayed_once.
13942         * src/w32fns.c (x_change_tool_bar_height):
13943         * src/xfns.c (x_change_tool_bar_height): Don't check for
13944         f->tool_bar_redisplayed_once.
13945         * src/xdisp.c (redisplay_internal): Remove handling of
13946         f->tool_bar_redisplayed_once.
13948 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
13950         Restore some of the quoting in the manuals
13951         * doc/lispref/windows.texi (Coordinates and Windows)
13952         (Coordinates and Windows):
13953         * doc/lispref/variables.texi (Lexical Binding)
13954         (File Local Variables):
13955         * doc/lispref/text.texi (Format Properties):
13956         * doc/lispref/symbols.texi (Symbol Components):
13957         * doc/lispref/strings.texi (Creating Strings):
13958         * doc/lispref/sequences.texi (Sequence Functions):
13959         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
13960         (Search and Replace):
13961         * doc/lispref/processes.texi (Bindat Spec):
13962         * doc/lispref/os.texi (Idle Timers):
13963         * doc/lispref/objects.texi (Basic Char Syntax):
13964         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
13965         * doc/lispref/nonascii.texi (Character Properties):
13966         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
13967         (Mode Line Variables):
13968         * doc/lispref/minibuf.texi (Text from Minibuffer):
13969         * doc/lispref/loading.texi (Autoload):
13970         * doc/lispref/keymaps.texi (Controlling Active Maps):
13971         * doc/lispref/frames.texi (Frame Layout, Size and Position)
13972         (Size Parameters, Implied Frame Resizing):
13973         * doc/lispref/files.texi (Changing Files, Magic File Names):
13974         * doc/lispref/eval.texi (Self-Evaluating Forms):
13975         * doc/lispref/display.texi (Progress, Abstract Display)
13976         (Abstract Display Example, Bidirectional Display):
13977         * doc/lispref/commands.texi (Event Mod):
13978         * doc/emacs/windows.texi (Displaying Buffers):
13979         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
13980         * doc/emacs/text.texi (Enriched Text):
13981         * doc/emacs/programs.texi (MixedCase Words):
13982         * doc/emacs/picture-xtra.texi (Insert in Picture)
13983         (Tabs in Picture):
13984         * doc/emacs/misc.texi (Emacs Server, Printing):
13985         * doc/emacs/mini.texi (Minibuffer History):
13986         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
13987         (Pulling / Pushing):
13988         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
13989         * doc/emacs/help.texi (Help, Help Echo):
13990         * doc/emacs/glossary.texi (Glossary):
13991         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
13992         (Frame Commands):
13993         * doc/emacs/files.texi (Reverting, Saving, Directories):
13994         * doc/emacs/entering.texi (Exiting):
13995         * doc/emacs/emacs.texi (Top):
13996         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
13997         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
13998         appropriate or replace quoting with @dfn.
13999         * doc/misc/ediff.texi (Window and Frame Configuration):
14000         * doc/lispref/processes.texi (Network Feature Testing):
14001         * doc/lispref/display.texi (Display Margins): Quote the phrase
14002         after "a.k.a." where appropriate.
14004 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
14006         Clarify reftex-extra-bindings docs
14007         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
14008         * doc/misc/reftex.texi (Key Bindings): Document that the variable
14009         only has an effect at load-time.
14011 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
14013         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
14014         search argument.  (Bug#21492) (Bug#21493)
14016 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
14018         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
14019         Add pretty symbols for \qquad and \varrho.
14021 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
14023         Add new functions for the root mean square of a (Calc) vector
14024         * lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms):
14025         New functions.
14026         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
14027         `calc-vector-rms', add autoloads for `calc-vector-rms' and
14028         `calcFunc-rms'.
14029         * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for
14030         `calcFunc-rms'.
14031         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
14032         `calc-vector-rms'.
14033         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
14034         command.
14036 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
14038         Add monotone EDE generic project
14039         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
14040         Add monotone generic project.
14042         Revert premature commit
14043         * doc/lispref/files.texi: Revert premature commit of change to
14044         file-name-all-completions.
14046         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
14047         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
14048         with cl-generic defaults.
14049         (elisp--xref-find-references): Add doc string.
14050         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
14051         tests to find bug.
14053         Fix bugs in eieio-oref-default related to class symbols
14054         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
14055         (eieio-oref-default): Handle class properly.
14057 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
14059         Quote “fullboth” when defining it
14060         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
14061         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
14063 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
14065         Minor doc fix in emacs/ack.texi
14066         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
14067         first argument.
14069 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
14071         Adapt tests in auto-revert-tests.el
14072         * test/automated/auto-revert-tests.el (auto-revert--timeout):
14073         Make it a defconst.
14074         (auto-revert--wait-for-revert): New defun.
14075         (auto-revert-test00-auto-revert-mode)
14076         (auto-revert-test01-auto-revert-tail-mode)
14077         (auto-revert-test02-auto-revert-mode-dired): Use it.
14079 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
14081         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const.
14082         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
14083         (cl-lib-fdefs): Add defgeneric.
14084         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
14085         (eieio-kw, cl-lib-kw, el-kw): Remove.
14087 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
14089         Quote less in manuals
14090         The manuals often used quotes ``...'' when it is better to use @dfn or
14091         @code or capitalized words or no quoting at all.  For example, there is
14092         no need for the `` and '' in “if a variable has one effect for
14093         @code{nil} values and another effect for ``non-@code{nil}'' values”.
14094         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
14095         unnecessary quoting like this, and to use @dfn etc. instead when called
14096         for (Bug#21472).
14098 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
14100         * lisp/custom.el (load-theme): Only compute hash when needed.
14102 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
14104         Pacify --enable-gcc-warnings
14105         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
14107 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
14109         Improve error reports in inotify.c
14110         * src/inotify.c (report_inotify_error): New function.  Clone of
14111         report_w32notify_error.
14112         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
14113         (Finotify_rm_watch): Use it.
14115 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
14117         Fix the file-notify tests for watch validation on w32
14118         * test/automated/file-notify-tests.el
14119         (file-notify-test04-file-validity): Move the directory deletion
14120         out of the file-notify--test-with-events macro.
14121         (file-notify-test04-file-validity)
14122         (file-notify-test05-dir-validity): Enlarge the timeout of
14123         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
14125 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
14127         Use OPEN BOX instead of space for \quad.
14128         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
14129         character for \quad instead of a space.
14131 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
14133         Add missing *.pbm images
14134         * etc/images/connect.pbm: New file.
14135         * etc/images/custom/down-pushed.pbm: New file.
14136         * etc/images/custom/down.pbm: New file.
14137         * etc/images/custom/right-pushed.pbm: New file.
14138         * etc/images/custom/right.pbm: New file.
14139         * etc/images/describe.pbm: New file.
14140         * etc/images/disconnect.pbm: New file.
14141         * etc/images/ezimage/bits.pbm: New file.
14142         * etc/images/ezimage/bitsbang.pbm: New file.
14143         * etc/images/ezimage/box-minus.pbm: New file.
14144         * etc/images/ezimage/box-plus.pbm: New file.
14145         * etc/images/ezimage/box.pbm: New file.
14146         * etc/images/ezimage/checkmark.pbm: New file.
14147         * etc/images/ezimage/dir-minus.pbm: New file.
14148         * etc/images/ezimage/dir-plus.pbm: New file.
14149         * etc/images/ezimage/dir.pbm: New file.
14150         * etc/images/ezimage/doc-minus.pbm: New file.
14151         * etc/images/ezimage/doc-plus.pbm: New file.
14152         * etc/images/ezimage/doc.pbm: New file.
14153         * etc/images/ezimage/info.pbm: New file.
14154         * etc/images/ezimage/key.pbm: New file.
14155         * etc/images/ezimage/label.pbm: New file.
14156         * etc/images/ezimage/lock.pbm: New file.
14157         * etc/images/ezimage/mail.pbm: New file.
14158         * etc/images/ezimage/page-minus.pbm: New file.
14159         * etc/images/ezimage/page-plus.pbm: New file.
14160         * etc/images/ezimage/page.pbm: New file.
14161         * etc/images/ezimage/tag-gt.pbm: New file.
14162         * etc/images/ezimage/tag-minus.pbm: New file.
14163         * etc/images/ezimage/tag-plus.pbm: New file.
14164         * etc/images/ezimage/tag-type.pbm: New file.
14165         * etc/images/ezimage/tag-v.pbm: New file.
14166         * etc/images/ezimage/tag.pbm: New file.
14167         * etc/images/ezimage/unlock.pbm: New file.
14168         * etc/images/gnus/important.pbm: New file.
14169         * etc/images/gnus/mail-send.pbm: New file.
14170         * etc/images/gnus/receipt.pbm: New file.
14171         * etc/images/gnus/toggle-subscription.pbm: New file.
14172         * etc/images/gnus/unimportant.pbm: New file.
14173         * etc/images/gud/all.pbm: New file.
14174         * etc/images/gud/rcont.pbm: New file.
14175         * etc/images/gud/recstart.pbm: New file.
14176         * etc/images/gud/recstop.pbm: New file.
14177         * etc/images/gud/rfinish.pbm: New file.
14178         * etc/images/gud/rnext.pbm: New file.
14179         * etc/images/gud/rnexti.pbm: New file.
14180         * etc/images/gud/rstep.pbm: New file.
14181         * etc/images/gud/rstepi.pbm: New file.
14182         * etc/images/gud/thread.pbm: New file.
14183         * etc/images/lock-broken.pbm: New file.
14184         * etc/images/lock-ok.pbm: New file.
14185         * etc/images/lock.pbm: New file.
14186         * etc/images/mail/copy.pbm: New file.
14187         * etc/images/mail/forward.pbm: New file.
14188         * etc/images/mail/not-spam.pbm: New file.
14189         * etc/images/mail/outbox.pbm: New file.
14190         * etc/images/mail/preview.pbm: New file.
14191         * etc/images/mail/save-draft.pbm: New file.
14192         * etc/images/mh-logo.pbm: New file.
14193         * etc/images/mpc/add.pbm: New file.
14194         * etc/images/mpc/ffwd.pbm: New file.
14195         * etc/images/mpc/next.pbm: New file.
14196         * etc/images/mpc/pause.pbm: New file.
14197         * etc/images/mpc/play.pbm: New file.
14198         * etc/images/mpc/prev.pbm: New file.
14199         * etc/images/mpc/rewind.pbm: New file.
14200         * etc/images/mpc/stop.pbm: New file.
14201         * etc/images/redo.pbm: New file.
14202         * etc/images/smilies/braindamaged.pbm: New file.
14203         * etc/images/smilies/cry.pbm: New file.
14204         * etc/images/smilies/dead.pbm: New file.
14205         * etc/images/smilies/evil.pbm: New file.
14206         * etc/images/smilies/forced.pbm: New file.
14207         * etc/images/smilies/grin.pbm: New file.
14208         * etc/images/smilies/indifferent.pbm: New file.
14209         * etc/images/sort-ascending.pbm: New file.
14210         * etc/images/sort-column-ascending.pbm: New file.
14211         * etc/images/sort-criteria.pbm: New file.
14212         * etc/images/sort-descending.pbm: New file.
14213         * etc/images/sort-row-ascending.pbm: New file.
14214         * etc/images/unchecked.pbm: New file.
14215         * etc/images/zoom-in.pbm: New file.
14216         * etc/images/README: Update instructions for PBM files.
14218         Add separator.pbm tool-bar image
14219         * etc/images/separator.pbm: New file.  Having it avoids the side
14220         effect of changing the tool-bar height when the default font's size
14221         changes and XPM image support is not available, due to the SPC
14222         characters that are left in the Lisp string used to display the tool
14223         bar, because there are no images to display instead of those SPC
14224         characters.
14226         Make show-paren-match face visible on mono-color displays
14227         * lisp/faces.el (show-paren-match): Use the underline face for
14228         mono-color displays.  (Bug#21481)
14230 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
14232         Don’t double-encode non-ASCII mail clipboard
14233         * lisp/mail/mailclient.el (mailclient-send-it):
14234         Also fix the case when mailclient-place-body-on-clipboard-flag
14235         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
14237 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
14239         Adapt file-notify-tests.el test cases
14240         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
14241         * src/inotify.c (Finotify_valid_p): Adapt docstring.
14242         * test/automated/file-notify-tests.el
14243         (file-notify-test03-autorevert)
14244         (file-notify-test04-file-validity)
14245         (file-notify-test04-file-validity-remote)
14246         (file-notify-test05-dir-validity)
14247         (file-notify-test05-dir-validity-remote): Adapt docstring.
14248         (file-notify-test04-file-validity): Let events arrive before
14249         calling final `file-notify-valid-p'.  Do not ignore errors.
14250         (file-notify-test05-dir-validity): Do not manipulate
14251         `temporary-file-directory', it isn't necessary.  Let events arrive
14252         before calling final `file-notify-valid-p'.  Do not ignore errors.
14254 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
14256         Don’t double-encode non-ASCII for mail client
14257         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
14258         Use RFC 6068’s list of unreserved characters.
14259         (mailclient-send-it): When encoding the body as a URL,
14260         first decode it as per Content-Type: and Content-Transfer-Encoding:,
14261         as URLs must use percent-encoded UTF-8 (Bug#21471).
14262         * doc/misc/url.texi (mailto): Update RFC number.
14264 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
14266         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
14268 2015-09-14  Alan Mackenzie  <acm@muc.de>
14270         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs
14271         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
14272         `cadr/car'.
14274 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
14276         Clarify documentation of char-table extra slots
14277         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
14278         slot numbers are zero-based.  (Bug#21467)
14280 2015-09-14  Alan Mackenzie  <acm@muc.de>
14282         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
14283         Fixes bug#21449.
14284         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
14285         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
14286         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
14287         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
14288         Insert "\\|\\\\." into regexps which match symbols.
14290 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
14292         Improve the doc string of w32notify-valid-p
14293         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
14294         that removing a watch makes its object invalid.
14296 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
14298         Fix tests for file-notify-valid-p
14299         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
14300         Use delete-directory to delete file-notify--test-tmpfile if it is
14301         a directory.  Likewise for file-notify--test-tmpfile1.
14302         (file-notify-test04-file-validity)
14303         (file-notify-test05-dir-validity): Delete the parent directory of
14304         the test.  Ignore errors when cleaning up after the test.
14306 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
14308         Report file-notify-error in w32notify.c
14309         * src/w32notify.c (report_w32notify_error): New function.
14310         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
14311         errors, instead of calling report_file_error.  (Bug#21432)
14313         Implement w32notify-valid-p
14314         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
14315         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
14316         'identity'.
14318 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
14320         Test file-notify-valid-p
14321         * test/automated/file-notify-tests.el
14322         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
14323         New tests.
14325 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
14327         Fix markup in ELisp manual
14328         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
14329         of the 'alpha' parameter value.  (Bug#21470)
14331 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
14333         Introduce `file-notify-valid-p'
14334         * lisp/filenotify.el (file-notify-valid-p): New defun.
14335         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
14336         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
14337         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
14338         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
14339         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
14340         <file-notify-valid-p>: Add handler.
14341         * lisp/net/tramp.el (tramp-file-name-for-operation):
14342         Add `file-notify-valid-p'.
14343         (tramp-handle-file-notify-valid-p): New defun.
14344         * src/inotify.c (Finotify_valid_p): New defun.
14345         (syms_of_inotify): Declare Sinotify_valid_p.
14347 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
14349         Port Unicode char detection to FreeBSD+svgalib
14350         Problem reported by Ashish SHUKLA in:
14351         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
14352         * configure.ac: Check for struct unipair.unicode instead of for
14353         <linux/kd.h>, since that’s more specific to what the code
14354         actually needs.
14355         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
14357         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
14359 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
14361         Fix vertical cursor motion across overlay strings with newlines
14362         * src/indent.c (Fvertical_motion): Don't leave point in the middle
14363         of an overlay string with newlines, as that will position the
14364         cursor after the string at whatever column is there.  (Bug#21468)
14366 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
14368         Fix tests in file-notify-tests.el
14369         * test/automated/file-notify-tests.el: Remove Tramp declarations.
14370         (file-notify-test00-availability): Print remote command w/o Tramp
14371         internal functions.
14372         (file-notify-test02-events, file-notify-test02-events-remote):
14373         Adapt docstring.
14374         (file-notify-test03-autorevert): Use `format-message' when
14375         inspecting *Messages* buffer.
14377 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
14379         Bind inhibit-modification-hooks rather than a/b-c-f
14380         * lisp/wid-edit.el (widget-editable-list-insert-before)
14381         (widget-editable-list-delete-at):
14382         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
14383         (cperl-font-lock-unfontify-region-function):
14384         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
14385         * lisp/obsolete/longlines.el (longlines-mode):
14386         * lisp/obsolete/fast-lock.el (save-buffer-state):
14387         * lisp/mouse.el (mouse-save-then-kill-delete-region):
14388         * lisp/gnus/message.el (message-hide-headers):
14389         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
14390         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
14391         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
14392         than after/before-change-functions to nil.
14394 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
14396         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
14397         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
14398         the buffers, even if the forced redisplay is interrupted.
14400         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
14402         Merge syntax-propertize--done and parse-sexp-propertize-done
14403         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
14404         (syntax-propertize): Set syntax-propertize--done even if
14405         syntax-propertize-function is nil.  Avoid recursive invocations.
14406         (syntax-propertize-chunks): New var.
14407         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
14408         Simplify.
14409         (parse-sexp-propertize-function): Don't set any more.
14410         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
14411         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
14412         Call Qinternal__syntax_propertize instead of
14413         Vparse_sexp_propertize_function.  Truncate e_property if needed.
14414         (update_syntax_table_forward): Streamline.
14415         (syms_of_syntax): Define Qinternal__syntax_propertize.
14416         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
14418 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
14420         Prefer straight quoting in some text files
14421         Mostly this just changes ` to ' in static text.  Some exceptions:
14422         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
14423         typically does that now.
14424         * admin/quick-install-emacs (TRY, top level):
14425         Use straight quoting in diagnostics.
14426         * src/README: Fix working-directory confusion.
14428         * CONTRIBUTE: Move send-email here from git-workflow.
14430 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
14432         Improve file notifications in Tramp
14433         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
14434         Set proper events to watch for.
14435         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
14436         watched events.
14438 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
14440         Fix NS build with --enable-checking='glyphs'
14441         * src/nsfns.m (unwind_create_frame): Make the preprocessor
14442         conditionals for referencing 'dpyinfo' consistent throughout the
14443         function.  (Bug#21426)
14445 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
14447         Add seq-find
14448         This function is similar to `seq-some' but returns the found element.
14449         In the cases where nil can be the found element, a sentinel optional
14450         argument can be provided to avoid ambiguities.
14451         * lisp/emacs-lisp/seq.el (seq-find): New function.
14452         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
14453         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
14454         seq-find.
14456 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
14458         Document file-notify--test-with-events.
14459         * test/automated/file-notify-tests.el (file-notify--test-with-events):
14460         Add docstring.
14462 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
14464         Report used native library in file-notify-tests.el
14465         * test/automated/file-notify-tests.el
14466         (tramp-get-remote-gvfs-monitor-dir)
14467         (tramp-get-remote-inotifywait): Declare them.
14468         (file-notify-test00-availability): Print used native library.
14470 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
14472         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
14473         (mpc-file-local-copy): Check for absolute path.  Check more config
14474         locations.
14476 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
14478         Improve documentation of categories
14479         * doc/lispref/syntax.texi (Categories): Clarify the example of
14480         using define-category and modify-category-entry.  (Bug#21448)
14482 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
14484         Revert some stray curved quotes I missed earlier
14485         Problem reported by David Kastrup in:
14486         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
14487         * lisp/international/mule-cmds.el (leim-list-header):
14488         Use format-message with an ASCII-only format.
14490         Prefer NUMBERP to spelling it out
14491         * src/editfns.c (styled_format):
14492         * src/frame.h (NUMVAL):
14493         * src/image.c (parse_image_spec):
14494         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
14495         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
14496         * src/process.c (Fsignal_process):
14497         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
14498         * src/xfaces.c (check_lface_attrs):
14499         * src/xselect.c (x_fill_property_data, x_send_client_event):
14500         Use NUMBERP rather than INTEGERP || FLOATP.
14502 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
14504         Improve file-notify-tests
14505         * test/automated/file-notify-tests.el: Use lexical-binding.
14506         (file-notify--test-cleanup): New function.
14507         (file-notify-test00-availability, file-notify-test01-add-watch)
14508         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
14509         (file-notify--test-with-events): New macro.
14510         (file-notify-test02-events): Use it.
14512 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
14514         Add patch-sending instructions to git-workflow
14515         From a suggestion by Mitchel Humpherys in:
14516         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
14517         * admin/notes/git-workflow (Sending patches): New section.
14519         Port to GIFLIB 5.0.6 and later
14520         Problem reported by Mitchel Humpherys in:
14521         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
14522         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
14523         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
14524         (gif_load) [HAVE_GIF]: Use it.
14526 2015-09-10  Glenn Morris  <rgm@gnu.org>
14528         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
14530 2015-09-09  Glenn Morris  <rgm@gnu.org>
14532         * test/automated/file-notify-tests.el (file-notify-test02-events):
14533         Fix recent change.
14535 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
14537         Refix movemail GCC pacification
14538         Problem reported by Ken Brown in:
14539         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
14540         * lib-src/movemail.c (main): Fix previous change.
14542 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14544         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
14545         Mark unused vars with underscore.
14547         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
14548         (parse_sexp_propertize): ...from here.
14550         * lisp/filenotify.el: Use lexical-binding
14551         (file-notify-add-watch): Avoid add-to-list.
14553 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
14555         Start checking event types in file-notify tests
14556         * test/automated/file-notify-tests.el (file-notify--test-events):
14557         New variable.
14558         (file-notify--test-event-handler): Append received event to
14559         file-notify--test-events for later analysis.
14560         (file-notify-test02-events): Assert that the expected notifications have
14561         arrived in the expected order.
14563 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
14565         Merge from gnulib and texinfo
14566         This incorporates:
14567         2015-08-03 Improve port of stdalign to C++11
14568         * lib/stdalign.in.h: Copy from gnulib.
14569         * doc/misc/texinfo.tex: Copy from texinfo.
14571 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14573         Make syntax.c call syntax-propertize on demand
14574         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
14575         (parse-sexp-propertize-function): Use it.
14576         (syntax-propertize): Disable parse-sexp-propertize-function.
14577         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
14578         New functions.
14579         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
14580         `parse-sexp-propertize-function'.
14581         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
14582         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
14583         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
14584         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
14585         Don't assume `point' is set.
14587 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
14589         Fix indentation of an @example in ELisp manual
14590         * doc/lispref/syntax.texi (Categories): Untabify the example.
14591         (Bug#21448)
14593 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
14595         Define internal-char-font even if --without-x
14596         The function is used now even in non-graphical environments.
14597         Problem reported by Glenn Morris in:
14598         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
14599         * src/font.c (Finternal_char_font): Move here ...
14600         * src/fontset.c (Finternal_char_font): ... from here.
14602 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14604         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers):
14605         Remove warning.
14607 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
14609         Fix display of complex local data types in GDB-MI
14610         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
14611         variable has no value, display "<complex data type>" as a
14612         placeholder, instead of a confusing "nil".  (Bug#21438)
14614 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
14616         Remove redundant redefinition of seq-drop-while from seq.el
14617         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
14619 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
14621         * lisp/emacs-lisp/package.el (package--ensure-init-file):
14622         More robust check for `package-initialize' calls in init file.
14623         This function accepts an optional argument, but calls passing
14624         an argument would not have been detected.
14626 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
14628         Port movemail to RHEL 6 with --enable-gcc-warnings
14629         * lib-src/movemail.c (main): Declare local only if needed.
14631         Port recent Linux console changes to RHEL 6
14632         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
14634         Improvements for curved quotes on Linux consule
14635         This should help Emacs work better out-of-the-box on Linux consoles,
14636         which have only limited support for displaying Unicode characters.
14637         Also, undo the recent change that caused text-quoting-style to
14638         affect quote display on terminals, so that the two features are
14639         independent.  See Alan Mackenzie in:
14640         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
14641         Finally, add a style parameter to startup--setup-quote-display,
14642         so that this function can also be invoked after startup, with
14643         different styles depending on user preference at the time.
14644         * configure.ac: Check for linux/kd.h header.
14645         * doc/emacs/display.texi (Text Display): Document quote display.
14646         * doc/lispref/display.texi (Active Display Table):
14647         * etc/NEWS:
14648         * lisp/startup.el (startup--setup-quote-display, command-line):
14649         text-quoting-style no longer affects quote display.
14650         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
14651         * lisp/international/mule-util.el (char-displayable-p):
14652         * lisp/startup.el (startup--setup-quote-display):
14653         On a text terminal supporting glyph codes, use the reported
14654         glyph codes instead of the terminal coding system, as this
14655         is more accurate on the Linux console.
14656         * lisp/startup.el (startup--setup-quote-display):
14657         New optional arg STYLE.
14658         * src/fontset.c (Finternal_char_font):
14659         Report glyph codes for a text terminal, if they are available.
14660         Currently this is supported only for the Linux console.
14661         * src/termhooks.h (struct terminal): New member glyph-code-table.
14662         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
14663         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
14664         (terminal_glyph_code): New function.
14666 2015-09-08  Juri Linkov  <juri@linkov.net>
14668         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
14669         underline.  (Bug#21433)
14671 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
14673         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
14675 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
14677         Fix double-reporting of rename events with inotify
14678         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
14679         of rename events with inotify (bug#21435).
14681 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
14683         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
14684         (tetris-mode-map): Use it.
14686 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
14688         Remove a few simple cases of global redisplay
14689         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
14690         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
14691         rather than returning a "resized_p" boolean.
14692         (redisplay_internal): Adjust call accordingly.
14693         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
14694         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
14695         tracking of this undesirable situation.
14697         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
14698         * src/process.c (status_notify): Only set the update_mode_line on the
14699         relevant buffers rather than setting it globally.
14701 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
14703         * lisp/electric.el (electric-quote-post-self-insert-function):
14704         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
14705         (electric-quote-mode): Activate everywhere in message-mode.
14707 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
14709         Go back to grave quoting in source-code docstrings etc.
14710         This reverts almost all my recent changes to use curved quotes
14711         in docstrings and/or strings used for error diagnostics.
14712         There are a few exceptions, e.g., Bahá’í proper names.
14713         * admin/unidata/unidata-gen.el (unidata-gen-table):
14714         * lisp/abbrev.el (expand-region-abbrevs):
14715         * lisp/align.el (align-region):
14716         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
14717         (outlineify-sticky):
14718         * lisp/apropos.el (apropos-library):
14719         * lisp/bookmark.el (bookmark-default-annotation-text):
14720         * lisp/button.el (button-category-symbol, button-put)
14721         (make-text-button):
14722         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
14723         * lisp/calc/calc-embed.el (calc-do-embedded):
14724         * lisp/calc/calc-ext.el (calc-user-function-list):
14725         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
14726         * lisp/calc/calc-help.el (calc-describe-key)
14727         (calc-describe-thing, calc-full-help):
14728         * lisp/calc/calc-lang.el (calc-c-language)
14729         (math-parse-fortran-vector-end, math-parse-tex-sum)
14730         (math-parse-eqn-matrix, math-parse-eqn-prime)
14731         (calc-yacas-language, calc-maxima-language, calc-giac-language)
14732         (math-read-giac-subscr, math-read-math-subscr)
14733         (math-read-big-rec, math-read-big-balance):
14734         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
14735         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
14736         (calc-auto-recompute):
14737         * lisp/calc/calc-prog.el (calc-fix-token-name)
14738         (calc-read-parse-table-part, calc-user-define-invocation)
14739         (math-do-arg-check):
14740         * lisp/calc/calc-store.el (calc-edit-variable):
14741         * lisp/calc/calc-units.el (math-build-units-table-buffer):
14742         * lisp/calc/calc-vec.el (math-read-brackets):
14743         * lisp/calc/calc-yank.el (calc-edit-mode):
14744         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
14745         * lisp/calendar/appt.el (appt-display-message):
14746         * lisp/calendar/diary-lib.el (diary-check-diary-file)
14747         (diary-mail-entries, diary-from-outlook):
14748         * lisp/calendar/icalendar.el (icalendar-export-region)
14749         (icalendar--convert-float-to-ical)
14750         (icalendar--convert-date-to-ical)
14751         (icalendar--convert-ical-to-diary)
14752         (icalendar--convert-recurring-to-diary)
14753         (icalendar--add-diary-entry):
14754         * lisp/calendar/time-date.el (format-seconds):
14755         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
14756         (timeclock-make-hours-explicit, timeclock-log-data):
14757         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
14758         (todo-item-mark, todo-check-format)
14759         (todo-insert-item--next-param, todo-edit-item--next-key)
14760         (todo-mode):
14761         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
14762         * lisp/cedet/mode-local.el (describe-mode-local-overload)
14763         (mode-local-print-binding, mode-local-describe-bindings-2):
14764         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
14765         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
14766         * lisp/cus-start.el (standard):
14767         * lisp/cus-theme.el (describe-theme-1):
14768         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
14769         (custom--sort-vars-1, load-theme):
14770         * lisp/descr-text.el (describe-text-properties-1, describe-char):
14771         * lisp/dired-x.el (dired-do-run-mail):
14772         * lisp/dired.el (dired-log):
14773         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
14774         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
14775         (ad-disable-advice, ad-remove-advice, ad-set-argument)
14776         (ad-set-arguments, ad--defalias-fset, ad-activate)
14777         (ad-deactivate):
14778         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
14779         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
14780         (byte-optimize-while, byte-optimize-apply):
14781         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
14782         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
14783         (byte-compile-log-file, byte-compile-format-warn)
14784         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
14785         (byte-compile-cl-warn)
14786         (byte-compile-warn-about-unresolved-functions)
14787         (byte-compile-file, byte-compile--declare-var)
14788         (byte-compile-file-form-defmumble, byte-compile-form)
14789         (byte-compile-normal-call, byte-compile-check-variable)
14790         (byte-compile-variable-ref, byte-compile-variable-set)
14791         (byte-compile-subr-wrong-args, byte-compile-setq-default)
14792         (byte-compile-negation-optimizer)
14793         (byte-compile-condition-case--old)
14794         (byte-compile-condition-case--new, byte-compile-save-excursion)
14795         (byte-compile-defvar, byte-compile-autoload)
14796         (byte-compile-lambda-form)
14797         (byte-compile-make-variable-buffer-local, display-call-tree)
14798         (batch-byte-compile):
14799         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
14800         * lisp/emacs-lisp/chart.el (chart-space-usage):
14801         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
14802         (check-declare-warn, check-declare-file)
14803         (check-declare-directory):
14804         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
14805         (checkdoc-message-text-engine):
14806         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
14807         (cl--describe-class):
14808         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
14809         (cl--generic-describe, cl-generic-generalizers):
14810         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
14811         (cl-symbol-macrolet):
14812         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
14813         * lisp/emacs-lisp/copyright.el (copyright)
14814         (copyright-update-directory):
14815         * lisp/emacs-lisp/edebug.el (edebug-read-list):
14816         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
14817         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
14818         (eieio-oref):
14819         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
14820         * lisp/emacs-lisp/eieio-speedbar.el:
14821         (eieio-speedbar-child-make-tag-lines)
14822         (eieio-speedbar-child-description):
14823         * lisp/emacs-lisp/eieio.el (defclass, change-class):
14824         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
14825         (elint-init-form, elint-check-defalias-form)
14826         (elint-check-let-form):
14827         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
14828         (ert-results-pop-to-backtrace-for-test-at-point)
14829         (ert-results-pop-to-messages-for-test-at-point)
14830         (ert-results-pop-to-should-forms-for-test-at-point)
14831         (ert-describe-test):
14832         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
14833         (find-function-library):
14834         * lisp/emacs-lisp/generator.el (iter-yield):
14835         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
14836         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
14837         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
14838         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
14839         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
14840         (advice--make, define-advice):
14841         * lisp/emacs-lisp/package-x.el (package-upload-file):
14842         * lisp/emacs-lisp/package.el (package-version-join)
14843         (package-disabled-p, package-activate-1, package-activate)
14844         (package--download-one-archive)
14845         (package--download-and-read-archives)
14846         (package-compute-transaction, package-install-from-archive)
14847         (package-install, package-install-selected-packages)
14848         (package-delete, package-autoremove, describe-package-1)
14849         (package-install-button-action, package-delete-button-action)
14850         (package-menu-hide-package, package-menu--list-to-prompt)
14851         (package-menu--perform-transaction)
14852         (package-menu--find-and-notify-upgrades):
14853         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
14854         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
14855         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
14856         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
14857         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
14858         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
14859         (rx-form):
14860         * lisp/emacs-lisp/smie.el (smie-config-save):
14861         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
14862         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
14863         * lisp/emacs-lisp/testcover.el (testcover-1value):
14864         * lisp/emacs-lisp/timer.el (timer-event-handler):
14865         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
14866         (viper-toggle-search-style, viper-kill-buffer)
14867         (viper-brac-function):
14868         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
14869         * lisp/env.el (setenv):
14870         * lisp/erc/erc-button.el (erc-nick-popup):
14871         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
14872         * lisp/eshell/em-dirs.el (eshell/cd):
14873         * lisp/eshell/em-glob.el (eshell-glob-regexp)
14874         (eshell-glob-entries):
14875         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
14876         * lisp/eshell/esh-opt.el (eshell-show-usage):
14877         * lisp/facemenu.el (facemenu-add-new-face)
14878         (facemenu-add-new-color):
14879         * lisp/faces.el (read-face-name, read-face-font, describe-face)
14880         (x-resolve-font-name):
14881         * lisp/files-x.el (modify-file-local-variable):
14882         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
14883         (set-auto-mode, hack-one-local-variable--obsolete)
14884         (dir-locals-set-directory-class, write-file, basic-save-buffer)
14885         (delete-directory, copy-directory, recover-session)
14886         (recover-session-finish, insert-directory)
14887         (file-modes-char-to-who, file-modes-symbolic-to-number)
14888         (move-file-to-trash):
14889         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
14890         * lisp/find-cmd.el (find-generic, find-to-string):
14891         * lisp/finder.el (finder-commentary):
14892         * lisp/font-lock.el (font-lock-fontify-buffer):
14893         * lisp/format.el (format-write-file, format-find-file)
14894         (format-insert-file):
14895         * lisp/frame.el (get-device-terminal, select-frame-by-name):
14896         * lisp/fringe.el (fringe--check-style):
14897         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
14898         * lisp/help-fns.el (help-fns--key-bindings)
14899         (help-fns--compiler-macro, help-fns--parent-mode)
14900         (help-fns--obsolete, help-fns--interactive-only)
14901         (describe-function-1, describe-variable):
14902         * lisp/help.el (describe-mode)
14903         (describe-minor-mode-from-indicator):
14904         * lisp/image.el (image-type):
14905         * lisp/international/ccl.el (ccl-dump):
14906         * lisp/international/fontset.el (x-must-resolve-font-name):
14907         * lisp/international/mule-cmds.el (prefer-coding-system)
14908         (select-safe-coding-system-interactively)
14909         (select-safe-coding-system, activate-input-method)
14910         (toggle-input-method, describe-current-input-method)
14911         (describe-language-environment):
14912         * lisp/international/mule-conf.el (code-offset):
14913         * lisp/international/mule-diag.el (describe-character-set)
14914         (list-input-methods-1):
14915         * lisp/mail/feedmail.el (feedmail-run-the-queue):
14916         * lisp/mouse.el (minor-mode-menu-from-indicator):
14917         * lisp/mpc.el (mpc-playlist-rename):
14918         * lisp/msb.el (msb--choose-menu):
14919         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
14920         * lisp/net/imap.el (imap-interactive-login):
14921         * lisp/net/mairix.el (mairix-widget-create-query):
14922         * lisp/net/newst-backend.el (newsticker--sentinel-work):
14923         * lisp/net/newst-treeview.el (newsticker--treeview-load):
14924         * lisp/net/rlogin.el (rlogin):
14925         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
14926         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
14927         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
14928         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
14929         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
14930         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
14931         (org-babel-goto-named-result):
14932         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
14933         * lisp/org/ob-ref.el (org-babel-ref-resolve):
14934         * lisp/org/org-agenda.el (org-agenda-prepare):
14935         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
14936         (org-clock-resolve):
14937         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
14938         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
14939         * lisp/org/org-habit.el (org-habit-parse-todo):
14940         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
14941         (org-mouse-context-menu):
14942         * lisp/org/org-table.el (org-table-edit-formulas):
14943         * lisp/org/ox.el (org-export-async-start):
14944         * lisp/proced.el (proced-log):
14945         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
14946         (ada-check-matching-start, ada-goto-matching-start):
14947         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
14948         * lisp/progmodes/ada-xref.el (ada-find-executable):
14949         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
14950         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
14951         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
14952         (flymake-start-syntax-check-process):
14953         * lisp/progmodes/python.el (python-shell-get-process-or-error)
14954         (python-define-auxiliary-skeleton):
14955         * lisp/progmodes/sql.el (sql-comint):
14956         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
14957         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
14958         * lisp/recentf.el (recentf-open-files):
14959         * lisp/replace.el (query-replace-read-from)
14960         (occur-after-change-function, occur-1):
14961         * lisp/scroll-bar.el (scroll-bar-columns):
14962         * lisp/server.el (server-get-auth-key):
14963         * lisp/simple.el (execute-extended-command)
14964         (undo-outer-limit-truncate, list-processes--refresh)
14965         (compose-mail, set-variable, choose-completion-string)
14966         (define-alternatives):
14967         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
14968         (command-line-1):
14969         * lisp/subr.el (noreturn, define-error, add-to-list)
14970         (read-char-choice, version-to-list):
14971         * lisp/term/common-win.el (x-handle-xrm-switch)
14972         (x-handle-name-switch, x-handle-args):
14973         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
14974         * lisp/textmodes/reftex-ref.el (reftex-label):
14975         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
14976         * lisp/textmodes/two-column.el (2C-split):
14977         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
14978         (tutorial--find-changed-keys):
14979         * lisp/type-break.el (type-break-noninteractive-query):
14980         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
14981         (wdired-do-perm-changes):
14982         * lisp/whitespace.el (whitespace-report-region):
14983         Prefer grave quoting in source-code strings used to generate help
14984         and diagnostics.
14985         * lisp/faces.el (face-documentation):
14986         No need to convert quotes, since the result is a docstring.
14987         * lisp/info.el (Info-virtual-index-find-node)
14988         (Info-virtual-index, info-apropos):
14989         Simplify by generating only curved quotes, since info files are
14990         typically that ways nowadays anyway.
14991         * lisp/international/mule-diag.el (list-input-methods):
14992         Don’t assume text quoting style is curved.
14993         * lisp/org/org-bibtex.el (org-bibtex-fields):
14994         Revert my recent changes, going back to the old quoting style.
14996 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14998         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling.
14999         (package--autoloads-file-name)
15000         (package--activate-autoloads-and-load-path): New function.
15001         (package-activate-1): Delegate autoloading and load-path
15002         configuration to `package--activate-autoloads-and-load-path'.
15003         (package--compile): Before compilation, call
15004         `package--activate-autoloads-and-load-path' instead of
15005         `package-activate-1'.
15007 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
15009         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
15011 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
15013         Fix deletion of symlinks to directories on MS-Windows
15014         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
15015         symlink to a directory, try again with 'rmdir'.
15016         (is_symlink): If the argument is a symlink to a directory, set a
15017         bit in the return value to indicate that fact.
15019 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
15021         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
15022         When `package-initialize' is called as part of loading the init file,
15023         the user probably doesn't want it to be called again afterwards.
15024         In this situation, `package-initialize' now sets
15025         `package-enable-at-startup' to nil to prevent that.  The user can have
15026         the old behavior by setting this variable to t after the call to
15027         `package-initialize'.  (Bug#21423)
15028         * doc/emacs/package.texi (Package Installation): Document it.
15029         * doc/lispref/package.texi (Packaging Basics): Document it.
15030         * etc/NEWS: Document it.
15032 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
15034         Bump version of ntlm.el to 2.00
15035         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.
15036         Add comm keyword.
15038 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
15040         * doc/misc/gnus.texi (Mail Source Specifiers):
15041         Allow :mailbox to be a list.
15043 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
15045         * lisp/progmodes/etags.el (etags-tags-completion-table):
15046         Allow even one non-regular character before the implicit tag name.
15047         Reported at http://emacs.stackexchange.com/questions/15269/.
15049 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
15051         Add support for NTLMv2 authentication
15052         * lisp/net/ntlm.el (ntlm): New customization group.
15053         (ntlm-compatibility-level): New defcustom.
15054         (ntlm-compute-timestamp): New function.
15055         (ntlm-generate-nonce): Likewise.
15056         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
15058 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
15060         * lisp/emacs-lisp/package.el: Rename custom faces.
15061         All of the recently introduced faces, like `package-name-face', have
15062         been renamed to no end in `-face' to comply with the convention
15063         described in (info "(elisp) Defining Faces").
15064         (package-name, package-description)
15065         (package-status-built-in, package-status-external)
15066         (package-status-available, package-status-new)
15067         (package-status-held, package-status-disabled)
15068         (package-status-installed, package-status-dependency)
15069         (package-status-unsigned, package-status-incompat)
15070         (package-status-avail-obso): New faces.
15071         (package-menu--print-info-simple): Use them.
15073 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
15075         mail-source.el: Make the imap mail-source's :mailbox handle a list
15076         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
15077         Allow :mailbox to be  a list.
15079 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
15081         nnimap.el: Handle nil arg to nnimap-request-group
15082         * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
15083         This arg isn't always passed in, check it's not nil before making it
15084         into a list.  The active arg will also be nil if the group is new,
15085         check for that.
15087 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
15089         File notifications: Support renaming over directory boundaries
15090         * lisp/filenotify.el (file-notify-handle-event):
15091         (file-notify--pending-event): Adapt docstring.
15092         (file-notify--descriptor, file-notify-callback): Reimplement in
15093         order to support renaming over directory boundaries.
15094         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
15095         * doc/lispref/os.texi (File Notifications): Remove limitation of
15096         file renaming to the same directory.
15098 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
15100         Spelling fix (Bug#21420)
15102 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
15104         Improve the semantic of map-some
15105         Update map-some to return the returned by the predicate, similar to
15106         seq-some.
15107         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
15108           return value of the predicate.
15109         * test/automated/map-tests.el (test-map-some): Update the test to check
15110           for non-nil values only.
15112         Rename map-contains-key-p and map-some-p
15113         Remove the "-p" suffix from both function names.
15114         * lisp/emacs-lisp/map.el (map-contains-key, map-some):
15115           Rename the functions.
15116         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
15117           Update both test functions.
15119         Improve the semantic of seq-some
15120         Update seq-some to return non-nil if the predicate returns non-nil for
15121         any element of the seq, in which case the returned value is the one
15122         returned by the predicate.
15123         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
15124           docstring.
15125         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
15126         * doc/lispref/sequences.texi (Sequence Functions): Update the
15127           documentation for seq-some.
15129         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
15130         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
15131           without the "-p" prefix.
15132         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
15133           the tests accordingly.
15134         * doc/lispref/sequences.texi (Sequence Functions): Update the
15135           documentation for seq.el.
15137 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15139         text-quoting-style for usage of fn names with ‘’
15140         * lisp/help.el (help--docstring-quote): Don’t assume
15141         text-quoting-style is ‘curve’ when generating usage strings for
15142         functions whose names contain curved quotes.
15144 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
15146         Fix fix for describe-function keybinding confusion
15147         This fixes a bug introduced by the previous patch.
15148         * lisp/help-fns.el (help-fns--signature):
15149         Last arg of help-fns--signature is now a buffer, or nil if a
15150         raw signature is wanted.  All callers changed.
15151         (describe-function-1): Use this to do the right thing with signatures.
15153 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
15155         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
15157         Use PAT rather than UPAT in pcase macros
15158         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
15159         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
15160           than UPAT.
15162 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
15164         Fix describe-function keybinding confusion
15165         * lisp/help-fns.el (describe-function-1): Compute signature
15166         in the original buffer, not in standard-output, so that
15167         substitute-command-keys uses the proper keybindings.
15168         This fixes Bug#21412, introduced in commit
15169         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
15171 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
15173         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
15175 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
15177         Avoid read error messages from 'inotify'
15178         * src/process.c (wait_reading_process_output): Add a
15179         'tls_available' set and manipulate it instead of 'Available' when
15180         checking TLS inputs.  Assign the value to 'Available' only if we
15181         find any TLS data waiting to be read.  This avoids error messages
15182         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
15184 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
15186         Avoid errors in thing-at-point with 2nd argument non-nil
15187         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
15188         sequences.  (Bug#21391)
15190 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
15192         Fix segfaults due to using a stale face ID
15193         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
15194         (display_echo_area_1, redisplay_internal): Call it to avoid
15195         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
15196         faces, which could case a segfault if the frame's face cache was
15197         freed since the last redisplay.  (Bug#21394)
15198         * src/xfaces.c (free_realized_faces):
15199         Call forget_escape_and_glyphless_faces.
15200         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
15202 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
15204         Fix minor problems with " in manual
15206 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
15208         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
15209         multi-hop files.
15211 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
15213         Support automated ‘make check’ in non-C locale
15214         This lets the builder optionally test Emacs behavior in other locales.
15215         The C locale is still the default for tests.
15216         * test/automated/Makefile.in (TEST_LOCALE): New macro.
15217         (emacs): Use it.
15218         * test/automated/flymake-tests.el (flymake-tests--current-face):
15219         Use C locale for subprocesses so that tests behave as expected.
15220         * test/automated/python-tests.el:
15221         (python-shell-prompt-validate-regexps-1)
15222         (python-shell-prompt-validate-regexps-2)
15223         (python-shell-prompt-validate-regexps-3)
15224         (python-shell-prompt-validate-regexps-4)
15225         (python-shell-prompt-validate-regexps-5)
15226         (python-shell-prompt-validate-regexps-6)
15227         (python-shell-prompt-set-calculated-regexps-1):
15228         Adjust expected output to match locale.
15229         * test/automated/tildify-tests.el (tildify-test--test)
15230         (tildify-space-test--test, tildify-space-undo-test--test):
15231         This test assumes UTF-8 encoding.
15233 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
15235         Fix some more docstring etc. quoting problems
15236         Mostly these fixes prevent the transliteration of apostrophes
15237         that should stay apostrophes.  Also, prefer curved quotes in
15238         Bahá’í proper names, as that’s the preferred Bahá’í style and
15239         these names are chock-full of non-ASCII characters anyway.
15240         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
15241         (eieio-defclass-internal):
15242         * lisp/emacs-lisp/eieio.el (defclass):
15243         * lisp/hi-lock.el (hi-lock-mode):
15244         Don’t transliterate Lisp apostrophes when generating a
15245         doc string or diagnostic.
15246         * lisp/international/mule-diag.el (list-coding-systems-1):
15247         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
15248         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
15249         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
15250         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
15251         Substitute quotes before putting them in the help buffer.
15253 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
15255         Re-add the notion of echo_prompt lost in the translation
15256         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
15257         echo_prompt which contains the actual string.  Update all uses.
15258         * src/keyboard.c (kset_echo_prompt): New function.
15259         (echo_update): Add echo_prompt at the very beginning.
15260         (read_char): Remove workaround for bug#19875, not needed any more.
15261         (read_key_sequence): Set echo_prompt rather than echo_string
15262         (bug#21403).
15263         (mark_kboards): Mark echo_prompt.
15265         Fix disassembly of non-compiled lexical functions (bug#21377)
15266         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
15267         * lisp/emacs-lisp/disass.el: Use lexical-binding.
15268         (disassemble): Recognize `closure's as well.
15269         (disassemble-internal): Use indirect-function and
15270         help-function-arglist, and accept `closure's.
15271         (disassemble-internal): Use interactive-form.
15272         (disassemble-1): Use functionp.
15274         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
15275         Don't compose inside verbatim blocks!
15277 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
15279         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
15280         (bug#19441).
15282         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394).
15284 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
15286         vc-git-mode-line-string: Explicitly re-apply the face
15287         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
15288         the face (bug#21404).
15290 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15292         Treat initial-scratch-message as a doc string
15293         * doc/emacs/building.texi (Lisp Interaction):
15294         * doc/lispref/os.texi (Startup Summary):
15295         * etc/NEWS: Document this.
15296         * lisp/startup.el (initial-scratch-message):
15297         Look up find-file’s key rather than hardcoding it.
15298         (command-line-1): Substitute the doc string.
15299         This also substitutes the quotes, which will help test display
15300         quoting at startup.
15302         Fix describe-char bug with glyphs on terminals
15303         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
15304         buffers too, so don’t treat them differently from graphic displays.
15305         Without this fix, describe-char would throw an error on a terminal
15306         if given a glyph with a non-default face.
15308         Follow text-quoting-style in display table init
15309         This attempts to fix a problem reported by Alan Mackenzie in:
15310         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
15311         * doc/lispref/display.texi (Active Display Table):
15312         Mention how text-quoting-style affects it.
15313         * doc/lispref/help.texi (Keys in Documentation):
15314         Say how to set text-quoting-style in ~/.emacs.
15315         * etc/NEWS: Document the change.
15316         * lisp/startup.el (startup--setup-quote-display):
15317         Follow user preference if text-quoting-style is set.
15318         (command-line): Setup quote display again if user expresses
15319         a preference in .emacs.
15321 2015-09-02  K. Handa  <handa@gnu.org>
15323         Fix typo
15324         * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask
15325         -> OTF_positioning_type_components_mask.
15327         Fix previous change
15328         * src/ftfont.c (ftfont_drive_otf): Remember some bits of
15329         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
15331 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
15333         * lisp/vc/vc-hooks.el (vc-refresh-state): New command.
15334         Rename from vc-find-file-hook and make interactive.
15335         (vc-find-file-hook): Redefine as obsolete alias.
15337 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15339         Escape ` and ' in doc
15340         Escape apostrophes and grave accents in docstrings if they are
15341         are supposed to stand for themselves and are not quotes.  Remove
15342         apostrophes from docstring examples like ‘'(calendar-nth-named-day
15343         -1 0 10 year)’ that confuse source code with data.  Do some other
15344         minor docstring fixups as well, e.g., insert a missing close quote.
15346 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
15348         Generalize the prefix-command machinery of C-u
15349         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
15350         (prefix-command-preserve-state-hook): New hooks.
15351         (internal-echo-keystrokes-prefix): New function.
15352         (prefix-command--needs-update, prefix-command--last-echo): New vars.
15353         (prefix-command-update, prefix-command-preserve): New functions.
15354         (reset-this-command-lengths): New compatibility definition.
15355         (universal-argument--mode): Call prefix-command-update.
15356         (universal-argument, universal-argument-more, negative-argument)
15357         (digit-argument): Call prefix-command-preserve-state.
15358         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
15359         the "prefix argument" to echo.
15360         (this_command_key_count_reset, before_command_key_count)
15361         (before_command_echo_length): Delete variables.
15362         (echo_add_key): Always add a space.
15363         (echo_char): Remove.
15364         (echo_dash): Don't give up when this_command_key_count is 0, since that
15365         is now the case after a prefix command.
15366         (echo_update): New function, extracted from echo_now.
15367         (echo_now): Use it.
15368         (add_command_key, read_char, record_menu_key): Remove old disabled code.
15369         (command_loop_1): Don't refrain from pushing an undo boundary when
15370         prefix-arg is set.  Remove other prefix-arg special case, now handled
15371         directly in the prefix commands instead.  But call echo_now if there's
15372         a prefix state to echo.
15373         (read_char, record_menu_key): Use echo_update instead of echo_char.
15374         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
15375         (Freset_this_command_lengths): Delete function.
15376         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
15377         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
15378         * lisp/simple.el: Use those new hooks for C-u.
15379         (universal-argument--description): New function.
15380         (prefix-command-echo-keystrokes-functions): Use it.
15381         (universal-argument--preserve): New function.
15382         (prefix-command-preserve-state-hook): Use it.
15383         (command-execute): Call prefix-command-update if needed.
15384         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
15385         (kmacro-step-edit-prefix-index): Delete variables.
15386         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
15387         support for prefix arg commands.
15388         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
15389         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
15390         (cua--shift-control-prefix): Use prefix-command-preserve-state.
15391         Remove now unused arg `arg'.
15392         (cua--prefix-override-handler, cua--prefix-repeat-handler)
15393         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
15394         Update accordingly.
15395         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
15396         any more.
15397         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
15398         if the mark is not set.
15400 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15402         Rework quoting in Emacs Lisp Introduction
15403         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
15404         (if in more detail, type-of-animal in detail, else): Rework the
15405         early example to use " rather than ' so that we don’t burden
15406         complete novices with the low-priority detail of text quoting style.
15407         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
15408         (kill-new function, kill-ring-yank-pointer)
15409         (Complete forward-sentence, Loading Files)
15410         (Code for current-kill, Code for current-kill, yank):
15411         Resurrect the Emacs 22 versions of the code, which uses grave
15412         quoting style in doc strings.
15413         (Complete zap-to-char): Mention how quoting works in doc strings.
15415         Setup quote display only if interactive
15416         * lisp/startup.el (command-line):
15417         Skip call to startup--setup-quote-display if noninteractive.
15418         Without this change, python-shell-prompt-validate-regexps-1
15419         fails in test/automated/python-tests.el when run in an
15420         en_US.utf8 locale on Fedora.
15422 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
15424         Use defalias at the top level
15425         * lisp/gnus/gnus-util.el (gnus-format-message):
15426         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
15427         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
15429 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15431         terminal-init-w32console mimicks command-line
15432         Problem reported by Eli Zaretskii.
15433         * lisp/startup.el (startup--setup-quote-display):
15434         New function, refactored from a part of ‘command-line’.
15435         (command-line): Use it.
15436         * lisp/term/w32console.el (terminal-init-w32console):
15437         Use it, so that this function stays consistent with ‘command-line’.
15439         Display replacement quotes with shadow glyphs
15440         * lisp/startup.el (command-line): When displaying ASCII
15441         replacements for curved quotes, use a shadow glyph instead of a
15442         regular one, to avoid ambiguity.
15444 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
15446         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
15448 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15450         Docstring fixes re quotes in C code
15451         Fix some docstring quoting problems, mostly by escaping apostrophe.
15453 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
15455         Some Tramp password fixes
15456         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
15457         of the hops.
15458         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
15459         at the beginning of the command.  Otherwise, it could be
15460         interpreted as password prompt if the remote host echoes the
15461         command.
15462         (tramp-remote-coding-commands): Add "openssl enc -base64".
15464 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
15466         Make vc-git-working-revision always return the commit hash
15467         * lisp/vc/vc-git.el (vc-git-working-revision):
15468         Return the commit hash (bug#21383).
15469         (vc-git--symbolic-ref): New function, extracted from above.
15470         (vc-git-mode-line-string): Use it.
15472 2015-09-01  K. Handa  <handa@gnu.org>
15474         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs
15475         * src/ftfont.c (MFLTGlyphFT): New type.
15476         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
15477         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
15478         elements in the array MFLTGlyphString.glyphs.
15480 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
15482         Improve comments in elisp-mode.el, elisp-mode-tests.el
15483         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
15485         Delete Emacs 25 test in mode-local.el
15486         * lisp/cedet/mode-local.el (describe-mode-local-overload):
15487         Fix missed an edit in previous commit.
15489         Show all known mode-local overrides in *Help*
15490         * lisp/cedet/mode-local.el (describe-mode-local-overload):
15491         Assume Emacs 25. Add all known mode-local overrides.
15493 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
15495         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
15496         Ensure that the article where the search word is found is displayed
15497         and pointed to in the summary buffer.
15499 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
15501         * lisp/newcomment.el (comment-dwim): Use `use-region-p'.
15502         When the region is active, but is empty (length 0), act as though
15503         the region was not active; that is, put a comment at the end of
15504         the line.  (Bug#21119)
15506 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
15508         Port tls.el to older Emacs
15509         * lisp/net/tls.el (tls-format-message):
15510         Alias to format-message, or format if not available.
15511         (open-tls-stream): Use it.
15513 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
15515         hideif.el: Recognize .h++ as C++ header
15516         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
15518         isearch: Document character folding mode
15519         * lisp/isearch.el (isearch-forward):
15520         Mention `isearch-toggle-character-fold' in doc string.
15522 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15524         Quoting fixes in ERC and Eshell
15525         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
15526         * lisp/erc/erc-backend.el (define-erc-response-handler):
15527         * lisp/erc/erc-fill.el (erc-fill-static-center):
15528         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
15529         * lisp/eshell/em-glob.el (eshell-glob-entries):
15530         * lisp/eshell/em-hist.el (eshell-save-some-history):
15531         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
15532         (eshell-shuffle-files):
15533         * lisp/eshell/esh-cmd.el (eshell-do-eval):
15534         * lisp/eshell/esh-proc.el (eshell-process-interact)
15535         (eshell-query-kill-processes):
15536         Respect ‘text-quoting-style’ in diagnostics and doc strings.
15538         Quoting fixes in Gnus
15539         * lisp/gnus/gnus-agent.el:
15540         (gnus-agent-possibly-synchronize-flags-server):
15541         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
15542         * lisp/gnus/gnus-eform.el (gnus-edit-form):
15543         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
15544         (gnus-group-nnimap-edit-acl):
15545         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
15546         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
15547         * lisp/gnus/message.el (message-strip-subject-encoded-words)
15548         (message-check-recipients, message-send-form-letter):
15549         * lisp/gnus/mm-decode.el (mm-display-part):
15550         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
15551         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
15552         (mml-smime-get-ldap-cert):
15553         * lisp/gnus/spam-report.el (spam-report-process-queue):
15554         Respect ‘text-quoting-style’ in diagnostics.
15555         * lisp/gnus/gnus-art.el (article-display-face)
15556         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
15557         Use straight quoting in email.
15558         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
15559         Escape apostrophes in doc strings.
15561         Quoting fixes in lisp mail, mh-e, net, url
15562         * lisp/mail/emacsbug.el (report-emacs-bug)
15563         (report-emacs-bug-hook): Use straight quotes in outgoing email,
15564         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
15565         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
15566         * lisp/mail/rmailout.el (rmail-output-read-file-name):
15567         * lisp/net/imap.el (imap-interactive-login):
15568         * lisp/net/tls.el (open-tls-stream):
15569         * lisp/url/url-auth.el (url-register-auth-scheme):
15570         Respect ‘text-quoting-style’ in diagnostics.
15571         * lisp/mh-e/mh-e.el (mh-sortm-args):
15572         Quote docstring example using text quotes, not as a Lisp quote.
15574 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
15576         Fix some byte-compiler warnings in EDE
15577         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
15578         existing autoloader list, rather than add to it.
15579         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
15580         argument to eieio class constructor.
15581         (ede-show-supported-projects): New.
15582         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
15583         with (oref ... name).
15584         (ede-auto-load-project): Use slot name, not initarg key.
15585         * lisp/cedet/ede/generic.el (ede-generic-load)
15586         (ede-generic-find-matching-target): Use slot name, not initarg key.
15587         (ede-find-target): Use oref-default on class name.
15588         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
15589         class constructor.
15590         (ede-enable-generic-projects): Make project type names unique.
15592 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
15594         Fix directory accessibility tests for w32 network volumes
15595         * src/w32.c (faccessat): Don't fail with network volumes without a
15596         share.
15597         (w32_accessible_directory_p): Handle network volumes without a
15598         share.
15600         Fix handling long file names in readdir on MS-Windows
15601         * src/w32.c (sys_readdir): Append "\*" to the directory after
15602         converting it to UTF-16/ANSI, not before, to avoid overflowing the
15603         260-character limit on file names in filename_to_utf16/ansi.
15605         Make file-accessible-directory-p reliable on MS-Windows
15606         * src/w32.c (w32_accessible_directory_p): New function.
15607         * src/w32.h (w32_accessible_directory_p): Add prototype.
15608         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
15609         w32_accessible_directory_p to test a directory for accessibility
15610         by the current user.  (Bug#21346)
15611         (Ffile_accessible_directory_p): Remove the w32 specific caveat
15612         from the doc string.
15614 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
15616         Don't call do_pending_window_change in signal handlers (Bug#21380)
15617         * src/gtkutil.c (xg_frame_resized):
15618         * src/xterm.c (x_set_window_size):
15619         * src/w32term.c (x_set_window_size): Don't call
15620         do_pending_window_change.
15622 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15624         Quoting fixes in lisp/org
15625         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
15626         (org-tags-view):
15627         * lisp/org/org-capture.el (org-capture-mode)
15628         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
15629         (org-ctags-ask-append-topic):
15630         * lisp/org/org.el (org-time-string-to-time)
15631         (org-time-string-to-absolute):
15632         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
15633         (org-ctags-ask-append-topic):
15634         * lisp/org/org.el (org-time-string-to-time)
15635         (org-time-string-to-absolute):
15636         Respect ‘text-quoting-style’ in diagnostics.
15637         * lisp/org/org-agenda.el (org-agenda-custom-commands)
15638         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
15639         * lisp/org/org-capture.el (org-capture-fill-template):
15640         Avoid contraction in output file that might be ASCII.
15641         * lisp/org/org-compat.el (format-message):
15642         Define if not already defined, for backward compatibility.
15643         * lisp/org/org-src.el (org-edit-src-save):
15644         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
15645         Escape apostrophes in diagnostics.
15647         Treat “instead” strings as docstrings
15648         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
15649         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
15650         Substitute quotes in instead strings.
15652 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
15654         Better documentation of seq-let
15655         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
15656         documentation of seq-let.
15658 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15660         * lisp/international/ccl.el: Fix quoting.
15662         Quoting fixes in lisp/international and lisp/leim
15663         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
15664         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
15665         * lisp/international/mule-cmds.el:
15666         (select-safe-coding-system-interactively, leim-list-file-name):
15667         * lisp/international/quail.el (quail-use-package, quail-help):
15668         * lisp/international/titdic-cnv.el (tit-process-header)
15669         (miscdic-convert):
15670         Respect text quoting style in doc strings and diagnostics.
15671         * lisp/international/quail.el (lisp/international/quail.el):
15672         * lisp/leim/quail/ethiopic.el ("ethiopic"):
15673         Escape apostrophes in doc strings.
15675         Make ‘text-quoting-style’ a plain defvar
15676         It doesn’t need customization, as it’s likely useful only by experts.
15677         Suggested by Stefan Monnier in:
15678         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
15679         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
15681         Quoting fixes in lisp/textmodes
15682         * lisp/textmodes/bibtex.el (bibtex-validate)
15683         (bibtex-validate-globally, bibtex-search-entries):
15684         * lisp/textmodes/ispell.el (ispell-command-loop):
15685         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
15686         * lisp/textmodes/texinfmt.el (texinfmt-version)
15687         (texinfo-format-region, texinfo-format-buffer-1):
15688         * lisp/textmodes/two-column.el (2C-split):
15689         Respect text quoting style in doc strings and diagnostics.
15690         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
15691         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
15692         Escape apostrophes in doc strings.
15694         Documentation fixes re quotes
15695         Prefer curved quotes in examples if users will typically see
15696         curved quotes when the examples run.
15697         Mention format-message when appropriate.
15698         Don’t use @code in examples.
15699         Quote an apostrophe with @kbd.
15701         Quoting fixes in lisp/progmodes
15702         * lisp/progmodes/cc-engine.el (c-bos-report-error):
15703         * lisp/progmodes/cpp.el (cpp-edit-reset):
15704         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
15705         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
15706         (etags-tags-apropos, list-tags, tags-apropos):
15707         * lisp/progmodes/executable.el (executable-set-magic):
15708         * lisp/progmodes/octave.el (octave-sync-function-file-names)
15709         (octave-help, octave-find-definition-default-filename)
15710         (octave-find-definition):
15711         Respect text quoting style in doc strings and diagnostics.
15712         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
15713         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
15714         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
15715         Escape apostrophes in doc strings.
15716         * lisp/progmodes/cmacexp.el (c-macro-expansion):
15717         Use straight quoting in ASCII comment.
15718         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
15719         (idlwave-pad-keyword):
15720         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
15721         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
15722         (vhdl-electric-semicolon, vhdl-electric-comma)
15723         (vhdl-electric-period, vhdl-electric-equal):
15724         Use directed quotes in diagnostics and doc strings.
15726 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
15728         Minor documentation and NEWS tweak
15729         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let):
15730         Add an index entry.
15731         * etc/NEWS: Fix a typo in character-fold-to-regexp.
15733 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
15735         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
15736         Revert patch from 2015-08-24.  Tramp shall behave like for local files.
15737         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
15738         Adapt test.
15740 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15742         Text quoting fixes in cedet, emulation, emacs-lisp
15743         * lisp/cedet/ede.el (ede-check-project-directory):
15744         * lisp/cedet/semantic/analyze/debug.el
15745         (semantic-analyzer-debug-insert-include-summary):
15746         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
15747         * lisp/cedet/semantic/decorate/include.el
15748         (semantic-decoration-unknown-include-describe)
15749         (semantic-decoration-all-include-summary):
15750         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
15751         * lisp/emulation/edt.el (edt-load-keys):
15752         * lisp/emulation/viper-cmd.el
15753         (viper-display-current-destructive-command)
15754         (viper-query-replace, viper-brac-function):
15755         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
15756         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
15757         Respect text quoting style in doc string or diagnostic.
15758         * lisp/cedet/mode-local.el (describe-mode-local-overload):
15759         Use format-message to avoid overtranslating quotes.
15760         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
15761         Escape an apostrophe in a docstring.
15762         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
15764 2015-08-29  Daniel Colascione  <dancol@dancol.org>
15766         Fix which-func for curly quotes: look for symbol, not message
15767         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
15768         imenu-unavailable error symbol instead of trying to match message
15769         exactly.
15770         * lisp/imenu.el (imenu-unavailable): New error.
15771         (imenu-unavailable-error): New function.
15773 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
15775         Fix Python tests on MS-Windows
15776         * test/automated/python-tests.el
15777         (python-shell-calculate-command-1): Run python-shell-interpreter
15778         through shell-quote-argument before comparing with what
15779         python-shell-calculate-command returns.
15780         (python-shell-calculate-pythonpath-1)
15781         (python-shell-calculate-pythonpath-2)
15782         (python-shell-calculate-process-environment-2): Use path-separator
15783         instead of a literal ':'.
15784         (python-shell-calculate-exec-path-2)
15785         (python-shell-calculate-exec-path-3)
15786         (python-shell-calculate-exec-path-4)
15787         (python-shell-with-environment-1)
15788         (python-shell-with-environment-2): Run "/env/bin" through
15789         expand-file-name before comparing with exec-path.  (Bug#21375)
15791 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
15793         Use Core Text types/functions/variables/enumerators directly
15794         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
15795         (CharacterCollection): Remove typedefs.  All uses replaced with
15796         definitions.
15797         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
15798         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
15799         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
15800         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
15801         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
15802         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
15803         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
15804         definitions.
15805         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
15806         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
15807         (MAC_FONT_FORMAT_BITMAP)
15808         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
15809         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.
15810         All uses replaced with definitions.
15811         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
15812         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
15813         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault):
15814         Add compatibility enumerators for older versions.
15815         (mac_font_descriptor_create_with_attributes)
15816         (mac_font_descriptor_create_matching_font_descriptors)
15817         (mac_font_descriptor_create_matching_font_descriptor)
15818         (mac_font_descriptor_copy_attribute)
15819         (mac_font_descriptor_supports_languages)
15820         (mac_font_create_with_name, mac_font_get_size)
15821         (mac_font_copy_family_name, mac_font_copy_character_set)
15822         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
15823         (mac_font_get_descent, mac_font_get_leading)
15824         (mac_font_get_underline_position)
15825         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
15826         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
15827         replaced with definitions.
15828         (mac_font_create_preferred_family_for_attributes)
15829         (mac_font_get_advance_width_for_glyph)
15830         (mac_font_get_bounding_rect_for_glyph)
15831         (mac_font_create_available_families, mac_font_shape):
15832         Remove macros for renamed functions.
15833         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
15834         * src/macterm.m (mac_font_descriptor_supports_languages):
15835         Rename from mac_ctfont_descriptor_supports_languages.
15836         (mac_font_create_preferred_family_for_attributes): Rename from
15837         mac_ctfont_create_preferred_family_for_attributes.
15838         (mac_font_get_advance_width_for_glyph): Rename from
15839         mac_ctfont_get_advance_width_for_glyph.
15840         Use kCTFontOrientationDefault also for older versions.
15841         (mac_font_get_bounding_rect_for_glyph): Rename from
15842         mac_ctfont_get_bounding_rect_for_glyph.
15843         Use kCTFontOrientationDefault also for older versions.
15844         (mac_font_create_available_families): Rename from
15845         mac_ctfont_create_available_families.
15846         (mac_font_equal_in_postscript_name): Rename from
15847         mac_ctfont_equal_in_postscript_name.  All uses changed.
15848         (mac_font_create_line_with_string_and_font): Rename from
15849         mac_ctfont_create_line_with_string_and_font.  All uses changed.
15850         (mac_font_shape): Rename from mac_ctfont_shape.
15851         (mac_font_family_compare): Remove unused declaration.
15853 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15855         Fix minor text quoting in calc, calendar, vc
15856         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
15857         * lisp/calc/calc-help.el (calc-j-prefix-help):
15858         * lisp/calc/calc-misc.el (calc-help):
15859         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
15860         Escape an apostrophe in a docstring.
15861         * lisp/calc/calc-forms.el (calc-hms-notation):
15862         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
15863         Escape an apostrophe in a diagnostic.
15864         * lisp/calc/calc-misc.el (calc-help):
15865         * lisp/calendar/diary-lib.el (diary-include-files):
15866         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
15867         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
15868         * lisp/vc/ediff-diff.el (ediff-same-contents):
15869         * lisp/vc/ediff-merg.el (ediff-re-merge):
15870         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
15871         * lisp/vc/ediff-util.el (ediff-test-save-region)
15872         (ediff-status-info):
15873         * lisp/vc/ediff.el (ediff-merge-revisions)
15874         (ediff-merge-revisions-with-ancestor):
15875         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
15876         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
15877         Respect text quoting style in doc string or diagnostic.
15878         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
15879         * lisp/vc/add-log.el (change-log-goto-source):
15880         Avoid double-formatting.
15881         * lisp/vc/ediff-init.el (format-message):
15882         New backward-compatibility alias.
15884 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
15886         Fix minor text quoting problems in lisp top level
15887         * lisp/apropos.el (apropos-describe-plist):
15888         * lisp/cus-theme.el (customize-themes):
15889         * lisp/dired.el (dired-log):
15890         * lisp/help-fns.el (describe-variable):
15891         * lisp/hexl.el (hexl-insert-multibyte-char):
15892         * lisp/info.el (Info-finder-find-node):
15893         * lisp/json.el (json-read-string):
15894         * lisp/novice.el (disabled-command-function)
15895         (disabled-command-function):
15896         * lisp/startup.el (normal-mouse-startup-screen):
15897         * lisp/woman.el (WoMan-log, WoMan-warn):
15898         Respect text quoting style in doc string or diagnostic.
15899         * lisp/replace.el (replace-character-fold):
15900         * src/syntax.c (Fmodify_syntax_entry):
15901         Escape an apostrophe in a docstring.
15902         * lisp/tempo.el (tempo-define-template):
15903         Remove confusing apostrophe from docstring.
15904         * lisp/whitespace.el (whitespace-mark-x):
15905         Use directed quotes in docstring.
15907 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
15909         Fix indentation rule in css-mode
15910         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
15911         brackets in presence of pseudo-selectors.  (Bug#21328)
15913 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
15915         Fix a bug in recording a macro while flyspell-mode is active
15916         * lisp/subr.el (sit-for): Don't call read-event when recording a
15917         macro.  (Bug#21329)
15919 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15921         Tweak startup screen quoting
15922         * lisp/startup.el (normal-splash-screen): Use standard
15923         "M-" abbrevation rather than a confusingly-different one.
15924         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
15926 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
15928         Add test case for ‘format’ bug and refactor
15929         * src/editfns.c (styled_format): Refactor internally, mostly by
15930         moving declarations closer to uses.  This should not affect behavior.
15931         * test/automated/textprop-tests.el (textprop-tests-format): New test.
15933         Fix ‘format’ bug with property offsets
15934         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
15935         bug in calculating string property offsets (Bug#21351).
15937         Use straight quotes in lib-src diagnostics
15938         These auxiliary programs can’t use Emacs’s text-quoting-style,
15939         and it’s too much trouble to redo that mechanism by hand.
15940         So just use straight quotes for now.
15941         * lib-src/ebrowse.c (main):
15942         * lib-src/emacsclient.c (decode_options, main):
15943         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
15944         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
15945         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
15946         (none_help, print_language_names, print_help, add_regex)
15947         (suggest_asking_for_help):
15948         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
15949         Use straight quotes in diagnostics.
15951         ‘text-quoting-style’ fixes for admin
15952         * admin/admin.el (cusver-scan, cusver-check):
15953         * admin/authors.el (authors-canonical-file-name):
15954         * admin/bzrmerge.el (bzrmerge-missing):
15955         Respect ‘text-quoting-style’ in diagnostics.
15957 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15959         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
15960         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
15961         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
15962         * doc/lispref/internals.texi (Writing Emacs Primitives):
15963         * etc/NEWS:
15964         Document the change.
15965         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
15966         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
15967         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
15968         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
15969         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
15970         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
15971         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
15972         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
15973         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
15974         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
15975         Remove.  All uses removed.  The code now assumes
15976         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
15977         * src/bytecode.c (relocate_byte_stack):
15978         Rename from unmark_byte_stack, since it now only relocates.
15979         All callers changed.
15980         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
15981         with GCPROs removed.
15982         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
15983         * test/automated/finalizer-tests.el (finalizer-basic)
15984         (finalizer-circular-reference, finalizer-cross-reference)
15985         (finalizer-error):
15986         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
15987         Remove tests, as they depend on gc-precise.
15989 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
15991         Improve seq-concatenate for new sequence types
15992         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
15993         ensure that concatenation happens on sequences only.  This makes it
15994         possible to use `seq-concatenate' for new types of seqs.
15995         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate):
15996         New function used in `seq-concatenate'.
15997         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
15998         for seq-into-sequence.
16000 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
16002         Add mode local overrides to xref-find-definitions
16003         * lisp/cedet/mode-local.el (xref-mode-local--override-present)
16004         (xref-mode-local-overload): New; add mode local overrides to
16005         xref-find-definitions.
16006         * test/automated/elisp-mode-tests.el: Add mode local override tests.
16007         (xref-elisp-test-run): Handle indented defuns.
16008         (xref-elisp-generic-*): Improve doc strings.
16009         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
16010         (elisp--xref-find-definitions): Use it.
16012         Add mode local overrides to describe-function
16013         * lisp/cedet/mode-local.el (describe-mode-local-overload):
16014         New; add mode local overrides to describe-function.
16015         * etc/NEWS: Document change.
16017 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
16019         Prefer straight quoting in some etc text files
16020         These files are plain text and might be used by non-Emacs apps.
16021         They’re mostly ASCII, so just use straight quotes.
16023         Fix quoting in ‘message_with_string’
16024         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
16025         should work now.
16026         * src/xdisp.c (message_to_stderr): New function, refactored from
16027         part of ‘message3_nolog’.
16028         (message3_nolog): Use it.
16029         (message_with_string): Use it.  Don’t mishandle NUL bytes when
16030         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
16031         Use ‘format-message’, not ‘format’, so that quotes are translated.
16033 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
16035         Mention false positives of file-accessible-directory on w32
16036         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
16037         (Bug#21346)
16039 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
16041         Treat error strings as help
16042         * src/print.c (print_error_message): Translate quotes and command
16043         keys in errmsg so that users see, e.g., "Symbol’s value as
16044         variable is void: foo" when text-quoting-style is curved.
16046 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
16048         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
16050 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
16052         Top-level elisp files respect ‘text-quoting-style’
16053         In top-level elisp files, use format-message in diagnostic formats,
16054         so that they follow user preference as per ‘text-quoting-style’
16055         rather than being hard-coded to quote `like this'.
16056         * lisp/allout.el (allout-get-configvar-values):
16057         * lisp/apropos.el (apropos-symbols-internal):
16058         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
16059         (dired-do-create-files-regexp, dired-create-files-non-directory):
16060         * lisp/dired-x.el (dired-do-run-mail):
16061         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
16062         * lisp/disp-table.el (standard-display-european):
16063         * lisp/find-dired.el (find-dired):
16064         * lisp/forms.el (forms-mode):
16065         * lisp/ido.el (ido-buffer-internal):
16066         * lisp/info.el (Info-index-next):
16067         * lisp/outline.el (outline-invent-heading):
16068         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
16069         * lisp/proced.el (proced-log):
16070         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
16071         * lisp/recentf.el (recentf-open-files, recentf-save-list):
16072         * lisp/savehist.el (savehist-save):
16073         * lisp/server.el (server-ensure-safe-dir):
16074         * lisp/ses.el (ses-rename-cell):
16075         * lisp/simple.el (list-processes--refresh):
16076         * lisp/startup.el (command-line):
16077         * lisp/strokes.el (strokes-unset-last-stroke)
16078         (strokes-execute-stroke):
16079         Use format-message so that quotes are restyled.
16080         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
16081         Don’t quote ‘raised’.
16082         * lisp/descr-text.el (describe-char):
16083         * lisp/dirtrack.el (dirtrack-debug-message):
16084         * lisp/hexl.el (hexl-insert-multibyte-char):
16085         Apply substitute-command-keys to help string.
16086         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
16087         (wdired-do-perm-changes):
16088         Let dired-log do the formatting.
16090 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
16092         Go back to grave quoting in Tramp
16093         * lisp/net/tramp-adb.el:
16094         * lisp/net/tramp-cache.el:
16095         * lisp/net/tramp-compat.el:
16096         * lisp/net/tramp-gvfs.el:
16097         * lisp/net/tramp-gw.el:
16098         * lisp/net/tramp-sh.el:
16099         * lisp/net/tramp-smb.el:
16100         * lisp/net/tramp.el:
16101         Stick with grave quoting in diagnostics strings.  This is more
16102         portable to older Emacs, desirable for Tramp.
16103         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
16104         for diagnostic that needs requoting.
16105         * lisp/net/tramp-compat.el (format-message):
16106         Fall back on simple ‘format’, since that’s good enough now.
16108         Go back to grave quoting in Gnus
16109         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
16110         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
16111         (gnus-agent-fetch-headers):
16112         * lisp/gnus/gnus-int.el (gnus-start-news-server):
16113         * lisp/gnus/gnus-registry.el:
16114         (gnus-registry--split-fancy-with-parent-internal)
16115         (gnus-registry-post-process-groups):
16116         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
16117         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
16118         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
16119         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
16120         * lisp/gnus/spam.el (spam-check-blackholes):
16121         Stick with grave quoting in diagnostics strings.  This is more
16122         portable to older Emacs, desirable for Gnus.
16124         Fix customization of text-quoting-style
16125         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
16126         * lisp/wid-edit.el (widget-docstring):
16127         Get raw docstring here since it’s cooked later and should not be
16128         cooked twice.
16129         * lisp/cus-edit.el (custom-group-value-create):
16130         Cook the docstring before inserting it.
16131         * lisp/cus-start.el (text-quoting-style): Quote the customization
16132         docstrings according to the new rules.  Give curved examples.
16134         format-message now curves ` and '
16135         That way, the caller doesn’t have to use curved quotes to
16136         get diagnostics that match the text-quoting-style preferences.
16137         Suggested by Dmitry Gutov in:
16138         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
16139         This means we no longer need %qs, so remove that format.
16140         While we’re at it, fix an unlikely bug and lessen the pressure
16141         on the garbage collector by processing the string once rather
16142         than twice in the usual case.
16143         * doc/lispref/strings.texi (Formatting Strings):
16144         * etc/NEWS: Document this.
16145         * lisp/subr.el (format-message): Remove; now done in C.
16146         * src/callint.c (Fcall_interactively):
16147         * src/editfns.c (Fmessage, Fmessage_box):
16148         Use Fformat_message instead of Finternal__text_restyle
16149         followed by Fformat.
16150         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
16151         uLSQM and uRSQM.
16152         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
16153         when pure ASCII now suffices.  Fix unlikely bug when parsing
16154         unibyte string containing non-ASCII bytes.  Use inline code
16155         rather than memcpy, as it’s a tiny number of bytes.
16156         (Finternal__text_restyle): Remove; no longer used.
16157         (syms_of_doc): Don’t declare it.
16158         * src/editfns.c (Fformat): Rewrite in terms of new function
16159         ‘styled_format’.
16160         (Fformat_message): New function, moved here from subr.el.
16161         (styled_format): New function, with the old guts of Fformat,
16162         except it now optionally transliterates quotes, and it transliterates
16163         traditional grave accent and apostrophe quoting as well.
16164         Remove recently-added q flag; no longer needed or used.
16165         (syms_of_editfns): Define format-message.
16166         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
16167         Remove; no longer need to be global symbols.
16168         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
16169         so that callers can use `%s'.
16170         * src/image.c (image_size_error, xbm_load_image, xbm_load)
16171         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
16172         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
16173         (svg_load_image, gs_load, x_kill_gs_process):
16174         * src/lread.c (load_warn_old_style_backquotes):
16175         * src/xfaces.c (load_pixmap):
16176         * src/xselect.c (x_clipboard_manager_error_1):
16177         Use `%s' instead of %qs in formats.
16179 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
16181         Minor fixes in doc/emacs/search.texi
16182         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
16183         (Special Isearch): Use @w{} to generate several consecutive spaces
16184         with Texinfo 6.  (Bug#21345)
16186 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
16188         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
16189         (tramp-awk-coding-test): New defconsts.
16190         (tramp-remote-coding-commands): Use them.
16191         (tramp-find-inline-encoding): Check for Perl only if necessary.
16193 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
16195         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
16196         index entries for the special form `quote'.
16198 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
16200         Spelling fixes
16202         Gnus format-message typo fix
16203         * lisp/gnus/gnus-util.el (gnus-format-message):
16204         Fix typo when running in older Emacs.
16206         Prefer directed to neutral quotes in docstings and diagnostics.
16207         In docstrings, escape apostrophes that would otherwise be translated
16208         to curved quotes using the newer, simpler rules.
16209         * admin/unidata/unidata-gen.el (unidata-gen-table):
16210         * lisp/align.el (align-region):
16211         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
16212         * lisp/bookmark.el (bookmark-default-annotation-text):
16213         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
16214         * lisp/calc/calc-lang.el (math-read-giac-subscr)
16215         (math-read-math-subscr):
16216         * lisp/calc/calc-misc.el (report-calc-bug):
16217         * lisp/calc/calc-prog.el (calc-fix-token-name)
16218         (calc-read-parse-table-part):
16219         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
16220         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
16221         * lisp/dabbrev.el (dabbrev-expand):
16222         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
16223         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
16224         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
16225         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
16226         * lisp/erc/erc-button.el (erc-nick-popup):
16227         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
16228         * lisp/eshell/em-dirs.el (eshell/cd):
16229         * lisp/eshell/em-glob.el (eshell-glob-regexp):
16230         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
16231         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
16232         * lisp/eshell/esh-opt.el (eshell-show-usage):
16233         * lisp/files-x.el (modify-file-local-variable):
16234         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
16235         (filesets-update-pre010505):
16236         * lisp/find-cmd.el (find-generic, find-to-string):
16237         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
16238         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
16239         (gnus-agent-fetch-headers):
16240         * lisp/gnus/gnus-int.el (gnus-start-news-server):
16241         * lisp/gnus/gnus-registry.el:
16242         (gnus-registry--split-fancy-with-parent-internal):
16243         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
16244         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
16245         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
16246         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
16247         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
16248         * lisp/gnus/spam.el (spam-check-blackholes):
16249         * lisp/mail/feedmail.el (feedmail-run-the-queue):
16250         * lisp/mpc.el (mpc-playlist-rename):
16251         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
16252         * lisp/net/mairix.el (mairix-widget-create-query):
16253         * lisp/net/tramp-cache.el:
16254         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
16255         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
16256         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
16257         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
16258         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
16259         (org-babel-goto-named-result):
16260         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
16261         * lisp/org/ob-ref.el (org-babel-ref-resolve):
16262         * lisp/org/org-agenda.el (org-agenda-prepare):
16263         * lisp/org/org-bibtex.el (org-bibtex-fields):
16264         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
16265         (org-clock-resolve):
16266         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
16267         * lisp/org/org-habit.el (org-habit-parse-todo):
16268         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
16269         (org-mouse-context-menu):
16270         * lisp/org/org-table.el (org-table-edit-formulas):
16271         * lisp/org/ox.el (org-export-async-start):
16272         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
16273         (dun-rooms, dun-endgame-questions):
16274         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
16275         * lisp/progmodes/ada-xref.el (ada-find-executable):
16276         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
16277         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
16278         (flymake-start-syntax-check-process):
16279         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
16280         * lisp/progmodes/sql.el (sql-comint):
16281         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
16282         * lisp/server.el (server-get-auth-key):
16283         * lisp/subr.el (version-to-list):
16284         * lisp/textmodes/reftex-ref.el (reftex-label):
16285         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
16286         * lisp/vc/ediff-diff.el (ediff-same-contents):
16287         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
16288         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
16289         Use directed rather than neutral quotes in diagnostics.
16291         Treat ' like ’ even when not matching `
16292         This is simpler and easier to explain, and should encourage better
16293         typography.  Do this in Electric Quote mode and when translating
16294         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
16295         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
16296         * doc/emacs/text.texi (Quotation Marks):
16297         * doc/lispref/help.texi (Keys in Documentation):
16298         * etc/NEWS:
16299         Document this.
16300         * lisp/electric.el (electric-quote-post-self-insert-function):
16301         * src/doc.c (Fsubstitute_command_keys):
16302         Always treat ' like ’ even when not matched by an open quote.
16304 2015-08-25  Glenn Morris  <rgm@gnu.org>
16306         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
16307         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
16309 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
16311         * src/macfont.m (macfont_create_family_with_symbol):
16312         Accept localized names.
16314 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16316         Tramp diagnostics as per ‘text-quoting-style’
16317         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
16318         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
16319         (tramp-adb-handle-delete-directory)
16320         (tramp-adb-handle-delete-file)
16321         (tramp-adb-handle-file-local-copy)
16322         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
16323         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
16324         (tramp-adb-maybe-open-connection):
16325         * lisp/net/tramp-cache.el:
16326         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
16327         (tramp-compat-octal-to-decimal)
16328         (tramp-compat-coding-system-change-eol-conversion):
16329         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
16330         (tramp-gvfs-do-copy-or-rename-file)
16331         (tramp-gvfs-handle-delete-directory)
16332         (tramp-gvfs-handle-delete-file)
16333         (tramp-gvfs-handle-expand-file-name)
16334         (tramp-gvfs-handle-file-local-copy)
16335         (tramp-gvfs-handle-file-notify-add-watch)
16336         (tramp-gvfs-handle-make-directory)
16337         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
16338         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
16339         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
16340         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
16341         (tramp-sh-handle-set-visited-file-modtime)
16342         (tramp-sh-handle-set-file-modes)
16343         (tramp-sh-handle-file-name-all-completions)
16344         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
16345         (tramp-do-copy-or-rename-file-directly)
16346         (tramp-do-copy-or-rename-file-out-of-band)
16347         (tramp-sh-handle-make-directory)
16348         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
16349         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
16350         (tramp-sh-handle-start-file-process)
16351         (tramp-sh-handle-file-local-copy)
16352         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
16353         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
16354         (tramp-find-file-exists-command, tramp-open-shell)
16355         (tramp-find-shell)
16356         (tramp-open-connection-setup-interactive-shell)
16357         (tramp-find-inline-encoding, tramp-find-inline-compress)
16358         (tramp-compute-multi-hops, tramp-maybe-open-connection)
16359         (tramp-wait-for-output, tramp-send-command-and-check)
16360         (tramp-send-command-and-read, tramp-get-remote-path)
16361         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
16362         (tramp-get-ls-command-with-quoting-style)
16363         (tramp-get-test-command, tramp-get-remote-ln)
16364         (tramp-get-remote-perl, tramp-get-remote-stat)
16365         (tramp-get-remote-readlink, tramp-get-remote-trash)
16366         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
16367         (tramp-get-remote-inotifywait, tramp-get-remote-id)
16368         (tramp-get-remote-python):
16369         * lisp/net/tramp-smb.el (tramp-smb-errors)
16370         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
16371         (tramp-smb-handle-delete-directory)
16372         (tramp-smb-handle-delete-file)
16373         (tramp-smb-handle-file-local-copy)
16374         (tramp-smb-handle-make-directory)
16375         (tramp-smb-handle-make-directory-internal)
16376         (tramp-smb-handle-make-symbolic-link)
16377         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
16378         (tramp-smb-handle-set-file-modes)
16379         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
16380         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
16381         (tramp-process-actions):
16382         Generate diagnostics according to ‘text-quoting-style’, by
16383         using curved quotes in format strings and ‘format-message’
16384         when appropriate.
16385         * lisp/net/tramp-compat.el (format-message):
16386         Define a replacement, if it’s an older version of Emacs
16387         that doesn’t have it already.
16389         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
16391 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
16393         Fix documentation for `save-excursion'
16394         * doc/lispref/positions.texi (Excursions):
16395         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
16396         (Template for save-excursion, Point and mark): `save-excursion'
16397         does not save&restore the mark any more.
16399 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
16401         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
16402         New defconsts.
16403         (tramp-do-file-attributes-with-stat)
16404         (tramp-do-directory-files-and-attributes-with-stat): Use them.
16405         (tramp-convert-file-attributes): Remove double slashes in symlinks.
16406         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
16407         Handle symlinks with "//" in the file name.
16409         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
16411 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
16413         Fix cl-subseq and cl-concatenate
16414         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
16415         seq functions.
16416         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
16417         seq-concatenate.
16419 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
16421         Fix full-screen code when there is no window manager (Bug#21317)
16422         * src/xterm.h (x_wm_supports): Declare external.
16423         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
16424         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
16425         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
16426         `fullscreen' frame parameter.
16427         * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running
16428         without a window manager.
16430 2015-08-24  Glenn Morris  <rgm@gnu.org>
16432         * lisp/version.el (emacs-version): No longer include build host.
16433         * doc/lispref/intro.texi (Version Info): Update example.
16435 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16437         * doc/lispref/elisp.texi: Fix typo in previous change.
16439         More-conservative ‘format’ quote restyling
16440         Instead of restyling curved quotes for every call to ‘format’,
16441         create a new function ‘format-message’ that does the restyling,
16442         and using the new function instead of ‘format’ only in contexts
16443         where this seems appropriate.
16444         Problem reported by Dmitry Gutov and Andreas Schwab in:
16445         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
16446         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
16447         * doc/lispref/commands.texi (Using Interactive):
16448         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
16449         * doc/lispref/display.texi (Displaying Messages, Progress):
16450         * doc/lispref/elisp.texi:
16451         * doc/lispref/help.texi (Keys in Documentation):
16452         * doc/lispref/minibuf.texi (Minibuffer Misc):
16453         * doc/lispref/strings.texi (Formatting Strings):
16454         * etc/NEWS:
16455         Document the changes.
16456         * lisp/abbrev.el (expand-region-abbrevs):
16457         * lisp/apropos.el (apropos-library):
16458         * lisp/calc/calc-ext.el (calc-record-message)
16459         (calc-user-function-list):
16460         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
16461         * lisp/calc/calc-lang.el (math-read-big-balance):
16462         * lisp/calc/calc-store.el (calc-edit-variable):
16463         * lisp/calc/calc-units.el (math-build-units-table-buffer):
16464         * lisp/calc/calc-yank.el (calc-edit-mode):
16465         * lisp/calendar/icalendar.el (icalendar-export-region)
16466         (icalendar--add-diary-entry):
16467         * lisp/cedet/mode-local.el (mode-local-print-binding)
16468         (mode-local-describe-bindings-2):
16469         * lisp/cedet/semantic/complete.el (semantic-completion-message):
16470         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
16471         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
16472         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
16473         * lisp/descr-text.el (describe-text-properties-1, describe-char):
16474         * lisp/dframe.el (dframe-message):
16475         * lisp/dired-aux.el (dired-query):
16476         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
16477         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
16478         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
16479         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
16480         (cconv-analyze-form):
16481         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
16482         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
16483         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
16484         * lisp/emacs-lisp/edebug.el (edebug-format):
16485         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
16486         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
16487         (eldoc-message):
16488         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
16489         * lisp/emacs-lisp/find-func.el (find-function-library):
16490         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
16491         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
16492         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
16493         * lisp/emacs-lisp/package.el (package-compute-transaction)
16494         (package-install-button-action, package-delete-button-action)
16495         (package-menu--list-to-prompt):
16496         * lisp/emacs-lisp/timer.el (timer-event-handler):
16497         * lisp/emacs-lisp/warnings.el (lwarn, warn):
16498         * lisp/emulation/viper-cmd.el:
16499         (viper-toggle-parse-sexp-ignore-comments)
16500         (viper-kill-buffer, viper-brac-function):
16501         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
16502         * lisp/facemenu.el (facemenu-add-new-face):
16503         * lisp/faces.el (face-documentation, read-face-name)
16504         (face-read-string, read-face-font, describe-face):
16505         * lisp/files.el (find-alternate-file, hack-local-variables)
16506         (hack-one-local-variable--obsolete, write-file)
16507         (basic-save-buffer, delete-directory):
16508         * lisp/format.el (format-write-file, format-find-file)
16509         (format-insert-file):
16510         * lisp/help-fns.el (help-fns--key-bindings)
16511         (help-fns--compiler-macro, help-fns--obsolete)
16512         (help-fns--interactive-only, describe-function-1)
16513         (describe-variable):
16514         * lisp/help.el (describe-mode):
16515         * lisp/info-xref.el (info-xref-output):
16516         * lisp/info.el (Info-virtual-index-find-node)
16517         (Info-virtual-index, info-apropos):
16518         * lisp/international/kkc.el (kkc-error):
16519         * lisp/international/mule-cmds.el:
16520         (select-safe-coding-system-interactively)
16521         (select-safe-coding-system, describe-input-method):
16522         * lisp/international/mule-conf.el (code-offset):
16523         * lisp/international/mule-diag.el (describe-character-set)
16524         (list-input-methods-1):
16525         * lisp/international/quail.el (quail-error):
16526         * lisp/minibuffer.el (minibuffer-message):
16527         * lisp/mpc.el (mpc--debug):
16528         * lisp/msb.el (msb--choose-menu):
16529         * lisp/net/ange-ftp.el (ange-ftp-message):
16530         * lisp/net/gnutls.el (gnutls-message-maybe):
16531         * lisp/net/newst-backend.el (newsticker--sentinel-work):
16532         * lisp/net/newst-treeview.el (newsticker--treeview-load):
16533         * lisp/net/nsm.el (nsm-query-user):
16534         * lisp/net/rlogin.el (rlogin):
16535         * lisp/net/soap-client.el (soap-warning):
16536         * lisp/net/tramp.el (tramp-debug-message):
16537         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
16538         * lisp/nxml/nxml-parse.el (nxml-parse-error):
16539         * lisp/nxml/rng-cmpct.el (rng-c-error):
16540         * lisp/nxml/rng-match.el (rng-compile-error):
16541         * lisp/nxml/rng-uri.el (rng-uri-error):
16542         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
16543         * lisp/org/org-ctags.el:
16544         (org-ctags-ask-rebuild-tags-file-then-find-tag):
16545         * lisp/proced.el (proced-log):
16546         * lisp/progmodes/ebnf2ps.el (ebnf-log):
16547         * lisp/progmodes/flymake.el (flymake-log):
16548         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
16549         * lisp/replace.el (occur-1):
16550         * lisp/simple.el (execute-extended-command)
16551         (undo-outer-limit-truncate, define-alternatives):
16552         * lisp/startup.el (command-line):
16553         * lisp/subr.el (error, user-error, add-to-list):
16554         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
16555         (tutorial--find-changed-keys):
16556         * src/callint.c (Fcall_interactively):
16557         * src/editfns.c (Fmessage, Fmessage_box):
16558         Restyle the quotes of format strings intended for use as a
16559         diagnostic, when restyling seems appropriate.
16560         * lisp/subr.el (format-message): New function.
16561         * src/doc.c (Finternal__text_restyle): New function.
16562         (syms_of_doc): Define it.
16564 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
16566         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
16568 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
16570         python.el: Fix python-shell-buffer-substring on indented code
16571         (Bug#21086)
16572         * lisp/progmodes/python.el (python-shell-buffer-substring):
16573         Respect current line indentation when calculating string.
16574         * test/automated/python-tests.el
16575         (python-shell-buffer-substring-10)
16576         (python-shell-buffer-substring-11)
16577         (python-shell-buffer-substring-12): New tests.
16579 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
16581         Fix minor glitches from ‘format’ reversion
16582         * doc/lispref/strings.texi (Formatting Strings):
16583         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
16584         Documentation’, not below.
16585         * src/syntax.c (Finternal_describe_syntax_value):
16586         Prefer AUTO_STRING to build_string where either will do, as
16587         AUTO_STRING is a bit faster.
16589 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
16591         python.el: Defer shell setup code until first interactive prompt
16592         * lisp/progmodes/python.el
16593         (python-shell-comint-watch-for-first-prompt-output-filter):
16594         New function.
16595         (inferior-python-mode): Use it.
16596         (python-shell-first-prompt-hook): New hook.
16597         (python-shell-send-setup-code)
16598         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
16599         this hook instead of inferior-python-hook.
16601 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
16603         Remove the calls to `seq-into` from `seq-concatenate`
16604         Since most new types of seq would have to be defined as sequences (cons
16605         cells or CL structs, mostly), there is no need to convert the seqs to
16606         sequences (which can be a fairly expensive operation).
16607         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
16608         sequences.
16610 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
16612         python.el: Fix completion for pdb interactions
16613         * lisp/progmodes/python.el (python-shell-completion-setup-code):
16614         Simplify.  Toggle print_mode for native wrapped completer.
16615         (python-shell-completion-native-setup): Ensure process buffer.
16616         Add print_mode attribute to completer wrapper to toggle returning
16617         or printing candidates.
16618         (python-shell-completion-native-get-completions): Cleanup.
16619         (python-shell-completion-get-completions): Cleanup.
16620         (python-shell-completion-at-point): Perform prompt checks.
16621         Force fallback completion in pdb interactions.
16623 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
16625         Make seq.el more extensible by using cl-defmethod
16626         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
16627         make it easier to extend seq.el with new "seq types".
16628         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
16629         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
16630         subseq in cl-extra.el, and use it in seq.el.
16632 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
16634         python.el: Fix prompt detection with user overridden interpreter
16635         * lisp/progmodes/python.el (python-shell-prompt-detect):
16636         Honor buffer local python-shell-interpreter and
16637         python-shell-interpreter-interactive-arg.
16639 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
16641         Support exec-directory with non-ASCII characters on Windows
16642         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
16643         in the system's ANSI codepage, when it is used for invoking
16644         cmdproxy.
16646 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
16648         Revert "Extend ‘format’ to translate curved quotes"
16649         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
16651         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
16652         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
16654 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
16656         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers):
16657         Clarify "invisible window".
16659 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
16661         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
16662         magic-fallback-mode-alist.
16664 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
16666         python.el: fallback completion, ffap and eldoc setup enhancements
16667         Setup codes are now sent continuously so that the current frame is
16668         always taken into account.  This allows working within debuggers
16669         and always keeping a fresh version of setup codes that will return
16670         proper results.
16671         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
16672         (python-shell-send-setup-code): Send code only when
16673         python-shell-setup-codes is non-nil.
16674         (python-shell-completion-string-code): Cleanup trailing newline.
16675         (python-shell-completion-get-completions): Always use
16676         python-shell-completion-setup-code.
16677         (python-ffap-setup-code): Work with any object, not only modules.
16678         (python-ffap-string-code): Cleanup trailing newline.
16679         (python-ffap-module-path): Always use python-ffap-setup-code.
16680         (python-eldoc-string-code): Cleanup trailing newline.
16681         (python-eldoc--get-doc-at-point): Always use
16682         python-eldoc-setup-code.  Return non-nil only if docstring is
16683         found.
16685         python.el: Increase native completion robustness
16686         * lisp/progmodes/python.el (python-shell-completion-native-setup):
16687         Make completer print real candidates and just return dummy ones to
16688         avoid input modification.
16689         (python-shell-completion-native-get-completions): Set
16690         comint-redirect-insert-matching-regexp to non-nil and make
16691         comint-redirect-finished-regexp match the last dummy candidate.
16692         Use python-shell-accept-process-output to wait for the full list
16693         of candidates.
16695 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
16697         Fix invocation of programs via cmdproxy.exe
16698         * src/w32proc.c (sys_spawnve): Use exec-directory, not
16699         invocation-directory, for finding cmdproxy.exe.  When Emacs is
16700         run from the source tree, look for cmdproxy.exe in the same source
16701         tree.  (Bug#21323)
16703 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
16705         Handle comments inside unquoted URIs in css-mode
16706         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
16707         (css-syntax-propertize-function): New defconst.
16708         (css--font-lock-keywords): Handle parens around unquoted URIs.
16709         (css-mode): Set `syntax-propertize-function'.
16711 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
16713         Support invocation of Hunspell with multiple dictionaries
16714         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file):
16715         Support lists of dictionaries of the form "DICT1,DICT2,...".
16716         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
16718         Minor formatting changes in ispell.el
16719         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
16720         (ispell-print-if-debug, ispell-aspell-find-dictionary)
16721         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
16722         (ispell-hunspell-dictionary-alist)
16723         (ispell-hunspell-fill-dictionary-entry)
16724         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
16725         (ispell-buffer-with-debug, ispell-complete-word)
16726         (ispell-current-dictionary, ispell-current-personal-dictionary)
16727         (ispell-accept-output, ispell-minor-mode)
16728         (ispell-personal-dictionary, ispell-dictionary-alist)
16729         (ispell-really-aspell, ispell-really-hunspell)
16730         (ispell-encoding8-command, ispell-aspell-supports-utf8)
16731         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
16732         Fix whitespace, inconsistent capitalization, and arguments in doc
16733         strings.
16735 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
16737         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
16738         function refused to resize a size-preserved window.
16740 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
16742         * doc/lispref/windows.texi (Selecting Windows): Improve
16743         documentation and indexing of 'window-use-time'.
16745 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16747         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
16748         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
16749         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
16750         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
16751         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
16752         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
16753         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
16754         Fix up commenting style.
16756 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16758         text-quoting-style in emacs-lisp diagnostics
16759         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
16760         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
16761         (ad-disable-advice, ad-remove-advice, ad-set-argument)
16762         (ad-set-arguments):
16763         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
16764         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
16765         (byte-optimize-while, byte-optimize-apply):
16766         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
16767         (byte-compile-log-file, byte-compile-format-warn)
16768         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
16769         (byte-compile-cl-warn)
16770         (byte-compile-warn-about-unresolved-functions)
16771         (byte-compile-file, byte-compile-fix-header)
16772         (byte-compile--declare-var, byte-compile-file-form-defmumble)
16773         (byte-compile-form, byte-compile-normal-call)
16774         (byte-compile-variable-ref, byte-compile-variable-set)
16775         (byte-compile-subr-wrong-args, byte-compile-setq-default)
16776         (byte-compile-negation-optimizer)
16777         (byte-compile-condition-case--old)
16778         (byte-compile-condition-case--new, byte-compile-save-excursion)
16779         (byte-compile-defvar, byte-compile-autoload)
16780         (byte-compile-lambda-form)
16781         (byte-compile-make-variable-buffer-local, display-call-tree)
16782         (batch-byte-compile):
16783         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
16784         (cconv-analyze-form):
16785         * lisp/emacs-lisp/chart.el (chart-space-usage):
16786         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
16787         (check-declare-warn, check-declare-file)
16788         (check-declare-directory):
16789         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
16790         (checkdoc-message-text-engine):
16791         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
16792         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
16793         (cl-symbol-macrolet):
16794         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
16795         * lisp/emacs-lisp/copyright.el (copyright)
16796         (copyright-update-directory):
16797         * lisp/emacs-lisp/edebug.el (edebug-read-list):
16798         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
16799         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
16800         (eieio-oref, eieio-oset-default):
16801         * lisp/emacs-lisp/eieio-speedbar.el:
16802         (eieio-speedbar-child-make-tag-lines)
16803         (eieio-speedbar-child-description):
16804         * lisp/emacs-lisp/eieio.el (defclass, change-class):
16805         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
16806         (elint-init-form, elint-check-defalias-form)
16807         (elint-check-let-form):
16808         * lisp/emacs-lisp/ert.el (ert-get-test):
16809         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
16810         (find-function-library):
16811         * lisp/emacs-lisp/generator.el (iter-yield):
16812         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
16813         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
16814         * lisp/emacs-lisp/package-x.el (package-upload-file):
16815         * lisp/emacs-lisp/package.el (package-version-join)
16816         (package-disabled-p, package-activate-1, package-activate)
16817         (package--download-one-archive)
16818         (package--download-and-read-archives)
16819         (package-compute-transaction, package-install-from-archive)
16820         (package-install, package-install-selected-packages)
16821         (package-delete, package-autoremove)
16822         (package-install-button-action, package-delete-button-action)
16823         (package-menu-hide-package, package-menu--list-to-prompt)
16824         (package-menu--perform-transaction)
16825         (package-menu--find-and-notify-upgrades):
16826         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
16827         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
16828         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
16829         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
16830         * lisp/emacs-lisp/smie.el (smie-config-save):
16831         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
16832         * lisp/emacs-lisp/testcover.el (testcover-1value):
16833         Use curved quotes in diagnostic format strings.
16835 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
16837         python.el: Ensure remote process-environment on non-interactive processes
16838         * lisp/progmodes/python.el
16839         (python-shell-tramp-refresh-process-environment): New function.
16840         (python-shell-with-environment): Use it.
16841         * test/automated/python-tests.el (python-shell-with-environment-2):
16842         Update.
16844         python.el: Enhancements to process environment setup.
16845         * lisp/progmodes/python.el (python-shell-process-environment)
16846         (python-shell-extra-pythonpaths, python-shell-exec-path)
16847         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
16848         (python-shell-setup-codes): Remove :safe.
16849         (python-shell-remote-exec-path): New defcustom.
16850         (python-shell--add-to-path-with-priority): New macro.
16851         (python-shell-calculate-pythonpath): Give priority to
16852         python-shell-extra-pythonpaths.  Update docstring.
16853         (python-shell-calculate-process-environment): Give priority to
16854         python-shell-process-environment.  Update docstring.
16855         (python-shell-calculate-exec-path): Give priority to
16856         python-shell-exec-path and calculated virtualenv bin directory.
16857         Update docstring.
16858         (python-shell-tramp-refresh-remote-path): New function.
16859         (python-shell-with-environment): Use it when working remotely and
16860         do not modify tramp-remote-path.  Allow nesting.
16861         (python-shell-calculate-command): Remove useless
16862         python-shell-with-environment call.
16863         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
16864         (python-shell-calculate-pythonpath-2)
16865         (python-shell-calculate-process-environment-6)
16866         (python-shell-calculate-process-environment-7)
16867         (python-shell-calculate-process-environment-8)
16868         (python-shell-calculate-exec-path-3)
16869         (python-shell-calculate-exec-path-4)
16870         (python-shell-calculate-exec-path-5)
16871         (python-shell-calculate-exec-path-6)
16872         (python-shell-with-environment-3): New tests.
16873         (python-shell-calculate-process-environment-2)
16874         (python-shell-calculate-process-environment-3)
16875         (python-shell-calculate-process-environment-4)
16876         (python-shell-calculate-process-environment-5)
16877         (python-shell-calculate-exec-path-1)
16878         (python-shell-calculate-exec-path-2)
16879         (python-shell-with-environment-1)
16880         (python-shell-with-environment-2): Update and simplify.
16882 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16884         Avoid hard-coding "M-x command" in docstrings
16885         * lisp/calendar/todo-mode.el (todo-mode):
16886         * lisp/desktop.el (desktop-save-mode):
16887         * lisp/edmacro.el (edit-kbd-macro):
16888         * lisp/emacs-lisp/package.el (package-menu-execute):
16889         * lisp/emulation/viper-cmd.el (viper-ask-level):
16890         * lisp/emulation/viper-init.el (viper-expert-level):
16891         * lisp/filesets.el (filesets-add-buffer):
16892         * lisp/follow.el (follow-mode):
16893         * lisp/gnus/auth-source.el (auth-sources):
16894         * lisp/international/ogonek.el (ogonek-informacja)
16895         (ogonek-information):
16896         * lisp/net/tramp.el (tramp-process-actions):
16897         * lisp/org/org-gnus.el (org-gnus-no-new-news):
16898         * lisp/org/org.el (org-ellipsis):
16899         * lisp/progmodes/python.el (python-shell-get-process-or-error):
16900         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
16901         * lisp/server.el (server-start):
16902         * lisp/type-break.el (type-break-noninteractive-query):
16903         * lisp/userlock.el (ask-user-about-supersession-help):
16904         * lisp/whitespace.el (whitespace-report-region):
16905         Prefer (substitute-command-keys "`\\[foo-command]'")
16906         to "`M-x foo-command'" in docstrings and the like.
16908 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
16910         Use add-function for prettify-symbols-compose-predicate
16911         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
16912         prettify-symbols-compose-predicate in terms of add-function.
16913         * etc/NEWS: Mention prettify-symbols-compose-predicate and
16914         prettify-symbols-mode support in tex-mode.
16916 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16918         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun.
16919         (smie-indent-exps, smie-indent-keyword): Use it.
16920         * test/indent/css-mode.css: Test alignment with leading comment.
16922 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16924         Respect text-quoting-style in (*Finder*) menus
16925         * lisp/info.el (info--prettify-description):
16926         Treat description as a docstring, so that it's requoted as
16927         per text-quoting-style.
16929 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
16931         Document `window-use-time' in Elisp manual
16932         * doc/lispref/windows.texi (Selecting Windows): Document
16933         `window-use-time'.
16935 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16937         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.
16938         This is a cleaner fix for Bug#21260 than the previous change.
16940 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16942         Respect text-quoting-style in calc
16943         In calc, tespect text-quoting-style preference in diagnostic
16944         formats and fix a few similar problems in docstrings.
16945         * lisp/calc/calc-aent.el (math-read-factor):
16946         * lisp/calc/calc-embed.el (calc-do-embedded):
16947         * lisp/calc/calc-ext.el (calc-user-function-list)
16948         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
16949         * lisp/calc/calc-help.el (calc-describe-key)
16950         (calc-describe-thing):
16951         * lisp/calc/calc-lang.el (calc-c-language)
16952         (math-parse-fortran-vector-end, math-parse-tex-sum)
16953         (math-parse-eqn-matrix, math-parse-eqn-prime)
16954         (calc-yacas-language, calc-maxima-language, calc-giac-language)
16955         (math-read-big-rec, math-read-big-balance):
16956         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
16957         (calc-auto-recompute):
16958         * lisp/calc/calc-prog.el (calc-user-define-invocation)
16959         (math-do-arg-check):
16960         * lisp/calc/calc-store.el (calc-edit-variable):
16961         * lisp/calc/calc-units.el (math-build-units-table-buffer):
16962         * lisp/calc/calc-vec.el (math-read-brackets):
16963         * lisp/calc/calc-yank.el (calc-edit-mode):
16964         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
16965         Use curved quotes in diagnostic format strings.
16966         * lisp/calc/calc-help.el (calc-describe-thing):
16967         Format docstrings with substitute-command-keys.
16968         * lisp/calc/calc-help.el (calc-j-prefix-help):
16969         * lisp/calc/calc-misc.el (calc-help):
16970         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
16971         Escape a docstring "`".
16973 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16975         Fix documentation of 'menu-set-font' and 'set-frame-font'
16976         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
16977         * doc/lispref/frames.texi (Frame Font): Document that
16978         set-frame-font with the last argument 't' will also make the font
16979         the default for the future GUI frames.
16981         Document '--create-frame' option to emacsclient
16982         * doc/emacs/misc.texi (emacsclient Options): Document the
16983         '--create-frame' option.  (Bug#21308)
16985 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16987         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
16989 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16991         Document 'get-mru-window' in the ELisp manual
16992         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
16993         'get-mru-window'.  (Bug#21306)
16995         Clarify documentation of 'get-buffer-window-list'
16996         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
16997         current window, if relevant, will be the first in the list
16998         returned by 'get-buffer-window-list'.
16999         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
17001 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
17003         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
17004         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
17005         `switch-to-buffer'.
17007 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
17009         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
17010         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
17011         `display-buffer' instead of `switch-to-buffer'.
17013 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
17015         Follow user preference in calendar diagnostics
17016         Respect text-quoting-style preference in diagnostic formats by
17017         using curved quotes (which are translated as per text-quoting-style)
17018         instead of grave accent and apostrophe (which are not).
17019         * lisp/calendar/appt.el (appt-display-message):
17020         * lisp/calendar/diary-lib.el (diary-check-diary-file)
17021         (diary-mail-entries, diary-from-outlook):
17022         * lisp/calendar/icalendar.el (icalendar-export-region)
17023         (icalendar--convert-float-to-ical)
17024         (icalendar--convert-date-to-ical)
17025         (icalendar--convert-ical-to-diary)
17026         (icalendar--convert-recurring-to-diary)
17027         (icalendar--add-diary-entry):
17028         * lisp/calendar/time-date.el (format-seconds):
17029         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
17030         (timeclock-make-hours-explicit):
17031         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
17032         (todo-item-mark, todo-check-format)
17033         (todo-insert-item--next-param, todo-edit-item--next-key)
17034         (todo-mode):
17035         Use curved quotes in diagnostic format strings.
17036         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
17037         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
17038         Just use straight quoting for simple test case.
17040 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
17042         * src/gfilenotify.c (Fgfile_add_watch):
17043         Handle errors from g_file_monitor.
17045 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
17047         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
17048         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
17049         frame" instead of "non-minibuffer frame".
17051         Fix frame geometry related text
17052         * doc/lispref/frames.texi (Frame Layout):
17053         Rename `x-frame-geometry' to `frame-geometry'.
17054         * doc/lispref/frames.texi (Mouse Position):
17055         * doc/lispref/windows.texi (Coordinates and Windows):
17056         Use `set-mouse-absolute-pixel-position' instead of
17057         `x-set-mouse-absolute-pixel-position'.
17059         Sanitize frame geometry related functions
17060         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
17061         (Fx_frame_edges): Rename to Fns_frame_edges.
17062         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
17063         (Fx_frame_edges): Rename to Fw32_frame_edges.
17064         (Fx_mouse_absolute_pixel_position): Rename to
17065         Fw32_mouse_absolute_pixel_position.
17066         (Fx_set_mouse_absolute_pixel_position): Rename to
17067         Fw32_set_mouse_absolute_pixel_position.
17068         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
17069         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
17070         (ns-frame-edges, w32-mouse-absolute-pixel-position)
17071         (x-mouse-absolute-pixel-position)
17072         (w32-set-mouse-absolute-pixel-position)
17073         (x-set-mouse-absolute-pixel-position): Declare.
17074         (frame-geometry, mouse-absolute-pixel-position)
17075         (set-mouse-absolute-pixel-position): New functions.
17076         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
17078 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
17080         Fix MinGW64 build broken by latest w32uniscribe.c changes
17081         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
17082         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
17083         (Bug#21260)
17085 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
17087         Add TeX defaults for prettify-symbol-mode
17088         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
17089         Rename from tex-prettify-symbols-alist.
17090         (tex--prettify-symbols-compose-p): New function.
17091         (tex-common-initialization): Use them as prettify-symbols-alist
17092         and prettify-symbols-compose-predicate.
17094         Generalize prettify-symbols to arbitrary modes
17095         * lisp/progmodes/prog-mode.el
17096         (prettify-symbols-default-compose-p): New function.
17097         (prettify-symbols-compose-predicate): New variable.
17098         (prettify-symbols--compose-symbol): Use it.
17100 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
17102         Don't quote symbols 'like-this' in docstrings etc.
17103         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
17104         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
17105         * lisp/allout.el (allout-add-resumptions, allout-mode):
17106         * lisp/calculator.el (calculator-operators):
17107         * lisp/cedet/data-debug.el (dd-propertize):
17108         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
17109         * lisp/cedet/semantic/analyze/debug.el:
17110         (semantic-analyzer-debug-global-miss-text):
17111         * lisp/cedet/semantic/lex-spp.el:
17112         (semantic-lex-spp-replace-or-symbol-or-keyword):
17113         * lisp/cedet/semantic/symref.el:
17114         (semantic-symref-cleanup-recent-buffers-fcn):
17115         * lisp/cedet/semantic/tag.el (semantic-tag-class):
17116         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
17117         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
17118         * lisp/gnus/pop3.el (pop3-authentication-scheme):
17119         * lisp/help-fns.el (describe-function-orig-buffer):
17120         * lisp/imenu.el (imenu--history-list):
17121         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
17122         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
17123         (feedmail-queue-default-file-slug)
17124         (feedmail-queue-buffer-file-name):
17125         * lisp/net/mairix.el (mairix-searches-mode-map):
17126         * lisp/net/newst-backend.el (newsticker-retrieval-method)
17127         (newsticker-auto-mark-filter-list):
17128         * lisp/obsolete/vi.el (vi-mode):
17129         * lisp/progmodes/cc-engine.el (c-literal-type):
17130         * lisp/progmodes/cpp.el (cpp-face):
17131         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
17132         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
17133         * lisp/progmodes/pascal.el (pascal-auto-lineup):
17134         * lisp/progmodes/prog-mode.el (prog-widen):
17135         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
17136         (verilog-auto-lineup, verilog-auto-reset-widths)
17137         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
17138         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
17139         (flyspell-maybe-correct-doubling):
17140         * lisp/textmodes/table.el (table-justify, table-justify-cell)
17141         (table-justify-row, table-justify-column, table-insert-sequence)
17142         (table--justify-cell-contents):
17143         * lisp/url/url-auth.el (url-get-authentication):
17144         * lisp/window.el (display-buffer-record-window):
17145         * lisp/xml.el (xml-parse-file, xml-parse-region):
17146         * src/gfilenotify.c (Fgfile_add_watch):
17147         Don't quote symbols with apostrophes in doc strings.
17148         Use asymmetric quotes instead.
17149         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
17150         Likewise for symbol in diagnostic.
17151         * lisp/image.el (image-extension-data):
17152         * lisp/register.el (frame-configuration-to-register):
17153         * src/buffer.c (syms_of_buffer):
17154         Remove bogus apostrophes after symbols.
17155         * lisp/thumbs.el (thumbs-conversion-program):
17156         Quote Lisp string values using double-quotes, not apostrophes.
17158 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
17160         Describe frame geometry and related functions in Elisp manual
17161         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
17162         (Showing Images): Update references.
17163         * doc/lispref/elisp.texi (Top): Update node listing.
17164         * doc/lispref/frames.texi (Frame Geometry): New node.
17165         Move `Size and Position' section here.
17166         (Size Parameters): Update references.
17167         (Mouse Position): Update references and nomenclature.
17168         Describe new functions `x-mouse-absolute-pixel-position' and
17169         `x-set-mouse-absolute-pixel-position'.
17170         * doc/lispref/windows.texi (Window Sizes): Update references.
17171         (Resizing Windows): Update references.  Move description of
17172         `fit-frame-to-buffer' here.
17173         (Coordinates and Windows): Update nomenclature and references.
17174         Describe new arguments of `window-edges'.  Comment out
17175         descriptions of `window-left-column', `window-top-line',
17176         `window-pixel-left' and `window-pixel-top'.  Describe
17177         `window-absolute-pixel-position'.
17179 2015-08-20  Alan Mackenzie  <acm@muc.de>
17181         Handling of `c-parse-state'.  Fix low level bug.
17182         * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards):
17183         Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
17185 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
17187         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
17188         window instead of deleting it.
17190 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
17192         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
17193         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
17194         determine whether frame has a titlebar.
17195         Suggested by Eli Zaretskii <eliz@gnu.org>
17197 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
17199         Add a prettify-symbols-alist for (La)TeX
17200         * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist):
17201         New variable holding an alist suitable as prettify-symbols-alist in
17202         (La)TeX modes.
17204 2015-08-19  Alan Mackenzie  <acm@muc.de>
17206         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
17207         Fixes debbugs#21275.
17208         In Emacs >= 25, let electric-pair-mode take precedence over
17209         delete-selection-mode.
17210         * lisp/delsel.el (delete-selection-uses-region-p): New function,
17211         previously a lambda expression in a property value for
17212         `self-insert-command'.
17213         (top-level): Set the `delete-selection' property of
17214         `self-insert-command' to `delete-selection-uses-region-p'.
17215         * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection'
17216         property for c-electric-\(brace\|paren\) the value
17217         `delete-selection-uses-region-p' when the latter function exists.
17219 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17221         Fix key binding quoting in tutorial *Help*
17222         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
17223         When generating help for custom key bindings, use the user-preferred
17224         quoting style rather than hardcoding the grave style.
17226 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
17228         Improve and future-proof OTF fonts support in w32uniscribe.c
17229         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
17230         about the expected results and why the new Uniscribe APIs are not
17231         used in this function.
17232         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
17233         (ScriptGetFontFeatureTags_Proc): New function typedefs.
17234         (uniscribe_new_apis): New static variable.
17235         (uniscribe_check_features): New function, implements OTF features
17236         verification while correctly accounting for features in the list
17237         after the nil member, if any.
17238         (uniscribe_check_otf_1): New function, retrieves the features
17239         supported by the font for the requested script and language using
17240         the Uniscribe APIs available from Windows Vista onwards.
17241         (uniscribe_check_otf): If the new Uniscribe APIs are available,
17242         use them in preference to reading the font data directly.  Call
17243         uniscribe_check_features to verify that the requested features are
17244         supported, replacing the original incomplete code.
17245         (syms_of_w32uniscribe): Initialize function pointers for the new
17246         Uniscribe APIs.  (Bug#21260)
17247         (otf_features): Scan the script, langsys, and feature arrays back
17248         to front, so that the result we return has them in alphabetical
17249         order, like ftfont.c does.
17250         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
17251         New variable for debugging w32uniscribe.c code.
17253 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
17255         * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87
17256         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
17257         clause of `isearch-search-fun-default'.  That lax variable does not
17258         refer to lax-whitespacing.  Related to (bug#21777).
17259         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
17260         * lisp/character-fold.el (character-fold-search): Set to nil.
17261         Default to nil for now, until someone implements proper
17262         lax-whitespacing with char-fold searching.
17264 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
17266         Fix doc-string of `help-mode-finish'.
17267         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
17269         In nsimage.m include coding.h (Bug#21292)
17270         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
17272         Move window edge functions to Elisp.
17273         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
17274         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
17275         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
17276         Move to window.el.
17277         (calc_absolute_offset): Remove.
17278         * lisp/frame.el (frame-edges): New function.
17279         * lisp/window.el (window-edges, window-pixel-edges)
17280         (window-absolute-pixel-edges): Move here from window.c.
17281         (window-body-edges, window-body-pixel-edges)
17282         (window-absolute-body-pixel-edges): Move here from window.c and
17283         rename "inside" to "body".  Keep old names as aliases.
17284         (window-absolute-pixel-position): New function.
17286 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
17288         [Gnus]: Use overlay functions directly
17289         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
17290         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
17291         (gnus-article-highlight-signature, gnus-article-extend-url-button)
17292         (gnus-article-add-button, gnus-insert-prev-page-button)
17293         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
17294         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
17295         (gnus-cite-add-face):
17296         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
17297         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
17298         (gnus-tree-recenter, gnus-highlight-selected-tree):
17299         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
17300         (gnus-summary-show-thread, gnus-summary-hide-thread)
17301         (gnus-highlight-selected-summary):
17302         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
17303         * lisp/gnus/message.el (message-fix-before-sending)
17304         (message-toggle-image-thumbnails):
17305         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
17306         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
17307         Use overlay functions directly instead of using gnus-overlay-*,
17308         message-overlay-*, and sieve-overlay-*.
17309         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
17310         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
17311         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
17312         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
17313         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
17314         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
17315         (message-overlay-get, message-overlay-put, message-overlays-in):
17316         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
17317         (sieve-overlays-at): Remove.
17319 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
17321         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version
17322         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
17323         builds can use the declaration from the system headers.
17324         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
17325         definition of TITLEBAR_INFO.
17326         Suggested by Eli Zaretskii  <eliz@gnu.org>
17328 2015-08-19  Glenn Morris  <rgm@gnu.org>
17330         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
17332 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17334         Use new q ‘format’ flag when fixing quotes in C
17335         * src/image.c (image_size_error): New function.  All uses of
17336         image_error with "Invalid image size ..."  changed to use it.
17337         * src/image.c (image_size_error, xbm_load_image, xbm_load)
17338         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
17339         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
17340         (imagemagick_load, svg_load, svg_load_image, gs_load)
17341         (x_kill_gs_process):
17342         * src/lread.c (load_warn_old_style_backquotes):
17343         * src/xfaces.c (load_pixmap):
17344         * src/xselect.c (x_clipboard_manager_error_1):
17345         Use %qs, not uLSQM and uRSQM.
17346         * src/syntax.c (Finternal_describe_syntax_value):
17347         Prefer Fsubstitute_command_keys to Fformat, as this lets
17348         us use AUTO_STRING.
17349         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
17350         as it's now guaranteed to be ASCII.
17351         * src/xselect.c (x_clipboard_manager_error_2):
17352         Avoid grave accent in low-level stderr diagnostic.
17354 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
17356         New q flag for ‘format’
17357         * doc/lispref/processes.texi (Sentinels):
17358         Don't hardwire grave quoting style in example.
17359         * doc/lispref/strings.texi (Formatting Strings):
17360         * etc/NEWS:
17361         Document new q flag.
17362         * src/editfns.c (Fformat): Implement it.
17364 2015-08-18  Daiki Ueno  <ueno@gnu.org>
17366         pinentry.el: Add debugging support
17367         * lisp/net/pinentry.el (pinentry-debug): New variable.
17368         (pinentry-debug-buffer): New variable.
17369         (pinentry--process-filter): Send input to the debug buffer, if
17370         `pinentry-debug' is set.
17372         pinentry.el: Improve multiline prompt
17373         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
17374         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
17375         command.
17377 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
17379         Fix multibyte confusion in diagnostics
17380         * src/print.c (print_error_message):
17381         Don't assume that the caller's name is unibyte.
17382         * src/xdisp.c (vadd_to_log):
17383         Don't assume that the formatted diagnostic is unibyte.
17385         Fix file name encodings in diagnostics
17386         Also, close some minor races when opening image files, by opening
17387         them once instead of multiple times.
17388         * src/gtkutil.c (xg_get_image_for_pixmap):
17389         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
17390         (svg_load):
17391         * src/nsimage.m (allocInitFromFile:):
17392         * src/xfns.c (xg_set_icon):
17393         Encode file name, since x_find_image_file no longer does that.
17394         * src/image.c (x_find_image_fd): New function.
17395         (x_find_image_file): Use it.  Do not encode resulting file name,
17396         since callers sometimes need it decoded.
17397         (slurp_file): File arg is now a fd, not a file name.
17398         All callers changed.  This saves us having to open the file twice.
17399         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
17400         (svg_load):
17401         Use x_find_image_fd and fdopen to save a file-open.
17402         Report file name that failed.
17403         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
17405 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
17407         Allow blink-matching-paren to jump off screen
17408         * doc/emacs/programs.texi (Matching): Mention the
17409         `blink-matching-paren' value `jump-offscreen'.
17410         * lisp/simple.el (blink-matching-paren): New possible value.
17411         (blink-matching-paren-on-screen): Clarify the docstring.
17412         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
17414         Refine the previous change
17415         * lisp/simple.el (blink-matching-open): Use minibuffer-message
17416         outside of save-excursion (bug#21286).
17418 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
17420         Rewrite and add frame geometry related functions.
17421         * src/frame.c (Fframe_position): New function.
17422         (Fset_frame_position): Rename parameters and rewrite doc-string.
17423         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
17424         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
17425         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
17426         Qtitle_bar_size.
17427         * src/nsfns.m (frame_geometry): New function.
17428         (Fx_frame_geometry): Call frame_geometry.
17429         (Fx_frame_edges): New function.
17430         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
17431         (GetTitleBarInfo_Proc): Define these so we can use the
17432         GetTitleBarInfo API.
17433         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
17434         (Fx_frame_geometry): Rewrite.
17435         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
17436         (Fx_set_mouse_absolute_pixel_position): New functions.
17437         * src/xfns.c (frame_geometry): New function.
17438         (Fx_frame_geometry): Call frame_geometry.
17439         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
17440         (Fx_set_mouse_absolute_pixel_position): New functions.
17442 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
17444         Improve Tramp's compatibility
17445         * lisp/net/tramp.el (tramp-get-method-parameter):
17446         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
17447         (tramp-adb-get-device):
17448         * lisp/net/trampver.el (tramp-repository-get-version):
17449         Use `tramp-compat-replace-regexp-in-string'.
17451 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
17453         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
17454         Encode/decode string.
17456 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
17458         Clarify what happens to match data on failure
17459         Problem reported by Ernesto Alfonso (Bug#21279).
17460         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
17461         Document more carefully what happens to match data after a failed
17462         search.
17463         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
17464         the return value is undefined if the last search failed.
17465         (Fmatch_data): Simplify doc string line 1.
17467 2015-08-18  Daiki Ueno  <ueno@gnu.org>
17469         Revert "pinentry.el: Support external passphrase cache"
17470         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
17471         pinentry.el shouldn't directly interact with the secrets service,
17472         but ask the caller to cache the passphrase.
17474 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
17476         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
17477         Message mode hooks.
17479 2015-08-17  Daiki Ueno  <ueno@gnu.org>
17481         epg.el: Make gpgconf output parsing future proof
17482         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
17483         --list-options" output.
17485         pinentry.el: Support external passphrase cache
17486         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
17487         (pinentry--allow-external-password-cache): New local variable.
17488         (pinentry--key-info): New local variable.
17489         (secrets-enabled, secrets-search-items, secrets-get-secret):
17490         Declare.
17491         (pinentry--send-passphrase): New function, split from
17492         `pinentry--process-filter'.
17493         (pinentry--process-filter): Use secrets.el to retrieve passphrase
17494         from login keyring.
17496         pinentry.el: Popup window for multiline prompt
17497         * lisp/net/pinentry.el (pinentry): New custom group.
17498         (pinentry-popup-prompt-window): New user option.
17499         (pinentry-prompt-window-height): New user option.
17500         (pinentry--prompt-buffer): New variable.
17501         (pinentry-prompt-mode-map): New variable.
17502         (pinentry-prompt-mode): New function.
17503         (pinentry--prompt): New function.
17504         (pinentry--process-filter): Use `pinentry--prompt' instead of
17505         `read-passwd' and `y-or-n-p'.
17507 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
17509         message.el: Silent the byte compiler
17510         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
17511         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
17512         (message-delete-overlay, message-window-inside-pixel-edges):
17513         Declare before using.
17515         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
17516         (message-window-inside-pixel-edges): XEmacs compatible functions.
17518 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
17520         * lisp/gnus/message.el (message-toggle-image-thumbnails): New command.
17522 2015-08-17  Noah Friedman  <friedman@splode.com>
17524         * lisp/simple.el (blink-matching-open): Restore point before
17525         calling minibuffer-message.
17527 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
17529         * lisp/play/dunnet.el: Update version number in header (now
17530         matches help).
17532 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17534         Curved quotes in --batch diagnostics in non-UTF-8
17535         When run with --batch, check that curved quotes are compatible with
17536         the system locale before outputting them in diagnostics.
17537         Problem reported by Eli Zaretskii in:
17538         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
17539         * lisp/startup.el (command-line): Set internal--text-quoting-flag
17540         after the standard display table is initialized.
17541         * src/doc.c (default_to_grave_quoting_style): New function.
17542         (text_quoting_style): Use it.
17543         (text_quoting_flag): New static var, visible to Lisp as
17544         internal--text-quoting-flag.
17545         * src/emacs.c: Include <wchar.h> if available.
17546         (using_utf8): New function.
17547         (main): Use it to initialize text_quoting_flag.
17548         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
17549         Don't define, as it's not needed and it clashes with wchar.h.
17551 2015-08-17  Glenn Morris  <rgm@gnu.org>
17553         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
17554         from makeinfo about spurious "Note:" cross-reference, and for grammar.
17556 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
17558         Minor change in variable initialization on MS-Windows
17559         * src/w32fns.c <after_dead_key>: Initialize to -1.
17560         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
17561         non-zero.
17563         Fix a bug with LWindow key remapping on MS-Windows
17564         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
17566 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
17568         Improve fontset support for latest OTF script tags
17569         * lisp/international/fontset.el (otf-script-alist): Add some
17570         missing script tags.
17571         (setup-default-fontset): Include settings for v2 versions of the
17572         script tags used by some modern OTF/TTF fonts.
17574 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17576         Spelling fixes
17578 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
17580         Use curved quotes in core elisp diagnostics
17581         In the core elisp files, use curved quotes in diagnostic formats,
17582         so that they follow user preference as per ‘text-quoting-style’
17583         rather than being hard-coded to quote `like this'.
17584         * lisp/abbrev.el (expand-region-abbrevs):
17585         * lisp/button.el (button-category-symbol, button-put)
17586         (make-text-button):
17587         * lisp/cus-start.el:
17588         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
17589         (custom--sort-vars-1, load-theme):
17590         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
17591         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
17592         (cl-generic-generalizers):
17593         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
17594         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
17595         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
17596         (advice--make, define-advice):
17597         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
17598         * lisp/emacs-lisp/timer.el (timer-event-handler):
17599         * lisp/env.el (setenv):
17600         * lisp/facemenu.el (facemenu-add-new-face)
17601         (facemenu-add-new-color):
17602         * lisp/faces.el (face-documentation, read-face-name)
17603         (face-read-string, read-face-font, face-spec-set-match-display)
17604         (read-color, x-resolve-font-name):
17605         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
17606         (set-auto-mode, hack-local-variables)
17607         (hack-one-local-variable--obsolete)
17608         (dir-locals-set-directory-class, write-file)
17609         (basic-save-buffer, delete-directory, copy-directory)
17610         (recover-session, recover-session-finish, insert-directory)
17611         (file-modes-char-to-who, file-modes-symbolic-to-number)
17612         (move-file-to-trash):
17613         * lisp/font-lock.el (font-lock-fontify-buffer):
17614         * lisp/format.el (format-write-file, format-find-file)
17615         (format-insert-file):
17616         * lisp/frame.el (get-device-terminal, select-frame-by-name):
17617         * lisp/fringe.el (fringe--check-style):
17618         * lisp/help.el (describe-minor-mode-from-indicator):
17619         * lisp/image.el (image-type):
17620         * lisp/international/fontset.el (x-must-resolve-font-name):
17621         * lisp/international/mule-cmds.el (prefer-coding-system)
17622         (select-safe-coding-system-interactively)
17623         (select-safe-coding-system, activate-input-method)
17624         (toggle-input-method, describe-current-input-method):
17625         * lisp/international/mule-conf.el (code-offset):
17626         * lisp/mouse.el (minor-mode-menu-from-indicator):
17627         * lisp/replace.el (query-replace-read-from)
17628         (occur-after-change-function, occur-1):
17629         * lisp/scroll-bar.el (scroll-bar-columns):
17630         * lisp/simple.el (execute-extended-command)
17631         (undo-outer-limit-truncate, compose-mail, set-variable)
17632         (choose-completion-string, define-alternatives):
17633         * lisp/startup.el (site-run-file, tty-handle-args)
17634         (command-line, command-line-1):
17635         * lisp/subr.el (noreturn, define-error, add-to-list)
17636         (read-char-choice):
17637         * lisp/term/common-win.el (x-handle-xrm-switch)
17638         (x-handle-name-switch, x-handle-args):
17639         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
17640         Use curved quotes in diagnostics.
17641         * lisp/international/mule.el (find-auto-coding):
17642         Use " to quote in a diagnostic, to be consistent with the rest of
17643         this file.
17645         Convert lisp/term/x-win.el to UTF-8
17646         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
17647         runtime behavior, and the file is multilingual so compile-time
17648         appearance shouldn't be an issue.
17649         * admin/notes/unicode: Document this.
17651 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
17653         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
17654         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
17655         issues and comments, bug#943.
17656         (verilog-type-font-keywords): Cycle delay operators like ##1 and
17657         ##[0:$] are now highlighted in their entirety similarly to the #
17658         delay-control operator.  Likewise, the followed-by operators #-#
17659         and #=# are no longer partially highlighed.
17660         (verilog-backward-syntactic-ws-quick)
17661         (verilog-skip-backward-comments): Minor performance improvements
17662         to buffer traversal functions for reduced latency.
17663         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
17664         keyword 'final' follows 'assert/assume/cover', then it is part of
17665         a deferred immediate assertion item and should not be treated as a
17666         final construct for indentation.  Reported by Yuri Sugihara.
17667         (verilog-do-indent): Virtual task/function/class definition lines
17668         should not be considered as declarations.  Reported by Enzo Chi.
17669         (verilog-do-indent): Do not falsely indent to '=' of
17670         property/sequence operators on subsequent lines of a multi-line
17671         statement.
17672         (verilog-assignment-operator-re): Fix '!==' operator and add
17673         support for '<->', ':/', '#-#', and '#=#' operators.
17674         (verilog-calculate-indent, verilog-label-be): Enable
17675         case-sensitive regular expression parsing when looking for
17676         keywords.
17677         (verilog-calc-1): Detect 'pure virtual method' declarations which
17678         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
17679         (verilog-backward-ws&directives): When moving back to the start of
17680         a line and the preceeding line ended with an escaped-newline, then
17681         jump up one line.  This properly consumes a multi-line
17682         pre-processor directive.  Reported by Kaushal Modi.
17683         (verilog-dpi-import-export-re, verilog-extended-complete-re)
17684         (verilog-calc-1): Teach verilog-mode to properly indent after a
17685         DPI import/export statement that resides outside of a module.
17686         Reported by Kaushal Modi.
17687         (verilog-extended-complete-re): Update regexp to match both
17688         "DPI-C" and "DPI".  Reported by Kaushal Modi.
17690 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
17692         substitute-command-keys a few more doc strings
17693         * lisp/allout.el (outlineify-sticky):
17694         * lisp/files.el (hack-one-local-variable--obsolete):
17695         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
17696         Use substitute-command-keys on some doc strings so that
17697         they don't use hard-coded key bindings or quoting styles.
17699         Fix quoting in Fformat calls
17700         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
17701         (xpm_load, xpm_load_image, pbm_load, png_load_body)
17702         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
17703         (imagemagick_load, svg_load, svg_load_image, gs_load)
17704         (x_kill_gs_process):
17705         * src/lread.c (load_warn_old_style_backquotes):
17706         * src/xfaces.c (load_pixmap):
17707         * src/xselect.c (x_clipboard_manager_error_1):
17708         Quote diagnostics according to user preference when calling
17709         Fformat or its derivatives.
17711 2015-08-15  Glenn Morris  <rgm@gnu.org>
17713         * admin/admin.el (set-version, set-copyright): Remove deleted files.
17715 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
17717         Allow describe-function helpers to access buffer-local values
17718         This will be used by cedet/mode-local.el `describe-mode-local-override'
17719         on `help-fns-describe-function-functions' in upstream CEDET.
17720         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
17721         `describe-function'.
17722         (describe-function): Bind it, save it on the help xref stack.
17724         Handle pulse-background being nil
17725         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
17726         pulse-background, handle it being nil.
17728 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
17730         Fix "\`" confusion in Lisp strings
17731         * admin/authors.el (authors-canonical-author-name):
17732         Fix typo by using "\\`" not "\`" in string RE.
17733         * lisp/obsolete/complete.el (PC-complete-as-file-name):
17734         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
17735         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
17736         Use plain "`", not the equivalent-but-confusing "\`", in strings.
17737         * lisp/textmodes/texinfmt.el: Fix comment likewise.
17739 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
17741         * nt/zipdist.bat: Remove -- no longer used.
17743 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
17745         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
17746         rather than "getenforce".
17747         (tramp-sh-handle-set-file-selinux-context): Do not
17748         cache SELinux context if not all context components are given.
17750 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
17752         Add doc strings to 2 help-mode.el functions
17753         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
17754         strings.  (Bug#21263)
17756         Remove files used by the old MS-Windows specific build procedure
17757         * admin/unidata/makefile.w32-in:
17758         * doc/emacs/makefile.w32-in:
17759         * doc/lispintro/makefile.w32-in:
17760         * doc/lispref/makefile.w32-in:
17761         * doc/misc/makefile.w32-in:
17762         * leim/makefile.w32-in:
17763         * lib-src/makefile.w32-in:
17764         * lib/makefile.w32-in:
17765         * lisp/makefile.w32-in:
17766         * nt/INSTALL.OLD:
17767         * nt/config.nt:
17768         * nt/emacs-src.tags:
17769         * nt/envadd.bat:
17770         * nt/gmake.defs:
17771         * nt/makefile.w32-in:
17772         * nt/multi-install-info.bat:
17773         * nt/nmake.defs:
17774         * nt/paths.h:
17775         * src/makefile.w32-in: Files deleted.
17776         * nt/configure.bat: Remove everything except the blurb about the
17777         new build procedure.
17778         * make-dist: Remove references to makefile.w32-in in various
17779         directories, and to files in nt/ that were deleted.
17780         * etc/NEWS: Mention the fact that the files were dropped.
17782 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
17784         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
17785         (Bug#21248)
17787 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
17789         Default to inotify instead of gfile
17790         * configure.ac (with_file_notification): Fix typo that
17791         prevented suppression of file notification if HAVE_NS.
17792         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
17793         with_file_notification is 'yes' (Bug#21241).
17794         * etc/NEWS: Mention this.
17796         Fix broken URLs for ISO-IR
17797         * doc/emacs/mule.texi (Charsets):
17798         * lisp/international/mule-conf.el:
17799         Fix broken URL (Bug#21248).
17801         Low-level diagnostics now use ‘text-quoting-style’
17802         * src/doprnt.c (doprnt):
17803         Format ` and ' as per ‘text-quoting-style’.
17804         * src/xdisp.c (vmessage, message): Mention that the format should
17805         not contain ` or '.
17807         Prefer ‘format’ to ‘substitute-command-keys’
17808         * src/character.h (uLSQM, uRSQM): Move here ...
17809         * src/doc.c (uLSQM, uRSQM): ... from here.
17810         * src/doc.c (Fsubstitute_command_keys):
17811         * src/syntax.c (Finternal_describe_syntax_value):
17812         * lisp/cedet/mode-local.el (mode-local-print-binding)
17813         (mode-local-describe-bindings-2):
17814         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
17815         * lisp/cus-theme.el (describe-theme-1):
17816         * lisp/descr-text.el (describe-text-properties-1, describe-char):
17817         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
17818         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
17819         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
17820         * lisp/emacs-lisp/package.el (describe-package-1):
17821         * lisp/faces.el (describe-face):
17822         * lisp/help-fns.el (help-fns--key-bindings)
17823         (help-fns--compiler-macro, help-fns--parent-mode)
17824         (help-fns--obsolete, help-fns--interactive-only)
17825         (describe-function-1, describe-variable):
17826         * lisp/help.el (describe-mode):
17827         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
17828         to implement quoting style.  This generally makes the code simpler.
17830         Extend ‘format’ to translate curved quotes
17831         This is a followup to the recent doc string change, and deals with
17832         diagnostics and the like.  This patch is more conservative than
17833         the doc string change, in that the behavior of ‘format’ changes
17834         only if its first arg contains curved quotes and the user prefers
17835         straight or grave quotes.  (Come to think of it, perhaps we should
17836         be similarly conservative with doc strings too, but that can wait.)
17837         The upside of this conservatism is that existing usage is almost
17838         surely unaffected.  The downside is that we'll eventually have to
17839         change Emacs's format strings to use curved quotes in places where
17840         the user might want curved quotes, but that's a simple and
17841         mechanical translation that I'm willing to do later.  (Bug#21222)
17842         * doc/lispref/help.texi (Keys in Documentation):
17843         Move description of text-quoting-style from here ...
17844         * doc/lispref/strings.texi (Formatting Strings):
17845         ... to here, and describe new behavior of ‘format’.
17846         * etc/NEWS: Describe new behavior.
17847         * lisp/calc/calc-help.el (calc-describe-thing):
17848         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
17849         * lisp/info.el (Info-find-index-name):
17850         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
17851         of recently-added curved quotes.
17852         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
17853         Move from here ...
17854         * src/lisp.h: ... to here.
17855         * src/doc.c (text_quoting_style): New function.
17856         (Fsubstitute_command_keys): Use it.
17857         * src/editfns.c (Fformat): Implement new behavior.
17858         * src/lisp.h (enum text_quoting_style): New enum.
17860 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
17862         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
17863         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
17865 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
17867         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
17868         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
17870 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
17872         Flush file properties in Tramp
17873         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
17874         (tramp-sh-handle-set-file-times):
17875         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
17876         (tramp-adb-handle-set-file-times): Flush the file properties of
17877         the directory.
17879 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
17881         * doc/emacs/misc.text (Amusements): Fixed typo.
17883 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
17885         Don't miss warnings about removing string text properties while dumping
17886         * src/alloc.c (purecopy): Warn about removing a string's text
17887         properties even when the same string was already pure-copied
17888         earlier.
17889         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
17890         (elisp--xref-format-extra): Fix the commentary.
17892 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
17894         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049).
17896 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
17898         * lisp/progmodes/compile.el: Use lexical-binding.
17899         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
17901 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
17903         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
17904         * lisp/uniquify.el: Remove redundant `:group's.
17906 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
17908         * lisp/net/tramp-adb.el
17909         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
17910         result to prevent modification of the tramp-cache by side effects.
17911         Use the correct cache key.
17913 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
17915         Make add_to_log varargs
17916         * src/alloc.c (run_finalizer_handler):
17917         * src/charset.c (load_charset_map_from_vector):
17918         * src/nsimage.m (ns_load_image):
17919         * src/xfaces.c (load_pixmap, load_color2):
17920         Simplify, now that add_to_log has a variable number of args.
17921         * src/image.c (image_error): Take a variable number of args.
17922         Callers simplified.
17923         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
17924         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
17925         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
17926         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
17928         Optional args for holiday-greek-orthodox-easter
17929         * etc/NEWS: Document this.
17930         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
17931         Add optional args N and STRING, mimicking the API and code of
17932         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
17934 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
17936         xref-find-definitions: Exclude more generic function items.
17937         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
17938         Add doc string.
17939         (cl--generic-find-defgeneric-regexp): New.
17940         (find-function-regexp-alist): Add it.
17941         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
17942         elisp-mode.el, change to search for ";;; Code:"
17943         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
17944         (find-function-regexp-alist): Add them.
17945         * lisp/progmodes/elisp-mode.el:
17946         (elisp--xref-format, elisp--xref-format-extra): Change back to
17947         defvar due to bug#21237.
17948         (elisp--xref-find-definitions): Exclude co-located default methods for
17949         generic functions.  Also exclude implicitly declared defgeneric.
17950         (elisp--xref-find-definitions): Handle C source properly.  Exclude minor
17951         mode variables defined by 'define-minor-mode'.
17952         * test/automated/elisp-mode-tests.el: Declare generic functions, add
17953         tests for them.
17954         (xref-elisp-test-run): Fix bug.
17955         (emacs-test-dir): Improve initial value.
17956         (find-defs-defun-defvar-el): Don't expect defvar.
17957         (find-defs-feature-el): Match change to find-feature-regexp.
17959 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
17961         Improve warning about purecopy of strings with properties
17962         * src/alloc.c (purecopy): Show the offending string with the
17963         warning about removing its text properties.
17965 2015-08-12  Alan Mackenzie  <acm@muc.de>
17967         Introduce new macros to cover Emacs's new names in cl-lib.el
17968         This also eliminates `mapcan' warnings in XEmacs.
17969         * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
17970         characterise [X]Emacs versions.
17971         (top-level): Require either 'cl or 'cl-lib, depending on
17972         c--mapcan-status.
17973         Change this back to cc-external-require from an eval-when-compile
17974         require.
17975         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
17976         (c--delete-duplicates): New macros which expand into either old or new
17977         names.
17978         (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros
17979         rather than the old names.
17980         * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan
17981         rather than mapcan.
17982         * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
17983         * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
17984         depending on c--mapcan-status.
17985         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
17986         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
17987         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
17988         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
17989         (c-decl-block-key, c-keywords, c-keywords-obarray)
17990         (c-regular-keywords-regexp, c-primary-expr-regexp)
17991         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
17992         (c-known-type-key, c-nonlabel-token-key)
17993         (c-make-init-lang-vars-fun): Use the new macros rather than the old
17994         names.
17996 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
17998         loadhist.el (read-feature): Conform to completing-read
17999         * lisp/loadhist.el (read-feature): According to `completing-read'
18000         documentation, if collection is a list, then it must be a list of
18001         strings, not a list of symbols like before.
18003 2015-08-12  David Kastrup  <dak@gnu.org>
18005         Deal gracefully with up-events (Bug#19746)
18006         * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
18007         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
18008         those may easily be injected by user-level Lisp code.
18009         (read_key_sequence): Discard unbound up-events like unbound
18010         down-events: they are even more likely only relevant for special
18011         purposes.
18012         While Emacs will not produce up-events on its own currently (those are
18013         converted to drag or click events before being converted to
18014         Lisp-readable structures), the input queue can be made to contain them
18015         by synthesizing events to `unread-command-events'.  Emacs should deal
18016         consistently with such events.
18018 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
18020         Fix display of thin lines whose newline has line-height property of t
18021         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
18022         and descent values of non-empty glyph rows, since they could have
18023         forced low values deliberately.  (Bug#21243)
18025 2015-08-12  Richard Stallman  <rms@gnu.org>
18027         Offer to combine multiple To or CC fields.
18028         * lisp/mail/sendmail.el (mail-combine-fields): New function.
18029         (mail-send): Call 'mail-combine-fields'.
18031         Don't decrypt encrypted files.
18032         * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
18034         Handle encrypted mbox files.
18035         * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt
18036         the mbox file if necessary.
18038         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
18039         * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine.
18040         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
18041         In a mime message, reenable Mime and show the parts that
18042         were shown before.
18043         Add keyword "decrypt" if anything decrypted.
18045         epa-inhibit inhibits auto-recognition of .gpg files
18046         * lisp/epa-file.el (epa-inhibit): New variable.
18047         (epa-file-handler): Check epa-inhibit.
18049 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
18051         * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
18053 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18055         Respect python.el imenu when semantic-mode is off
18056         Fixes bug#21220
18057         * lisp/cedet/semantic/wisent/python.el: Do not force
18058         wisent-python-default-setup on python-mode-hook.
18060 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
18062         Give names to Unicode code points in C code
18063         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
18064         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
18065         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
18066         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
18067         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
18068         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
18069         (OBJECT_REPLACEMENT_CHARACTER):
18070         New named constants for Unicode code points.
18071         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
18072         * src/composite.c (char_composable_p):
18073         * src/lread.c (readevalloop, read1):
18074         * src/xdisp.c (get_next_display_element):
18075         Use them.
18076         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
18077         Remove; now in character.h.
18079 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
18081         elisp--xref-find-definitions handle cl-defstuct default constructor
18082         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
18083         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
18084         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
18085         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
18086         from xref-elisp-test for ease of debugging.
18087         (xref-elisp-deftest): Rename from xref-elisp-test.
18088         (find-defs-constructor): New test.
18089         (find-defs-defgeneric-el): Match batch test config.
18090         (compile): Required for find-defs compilation-minor-mode test.
18091         (find-defs-defvar-el): Match code change.
18092         (find-defs-face-el): Match code change.
18093         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
18094         Improve doc string.
18096 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
18098         * lisp/replace.el (perform-replace): Document `replacements'.
18099         (perform-replace): Move the description of the format of `replacements'
18100         from the body's comment to the doc string.
18102 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
18104         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
18105         sequence.  Recent adb version send initial escape sequences, even
18106         when terminal type is set to TERM=dumb.
18108 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
18110         Rewrite elisp--xref-find-definitions to handle many more cases; add tests
18111         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
18112         Function deleted.
18113         (elisp--xref-format-cl-defmethod): New defconst.
18114         (find-feature-regexp, find-alias-regexp): New defcustoms.
18115         (elisp--xref-make-xref): New function.
18116         (elisp--xref-find-definitions): Rewrite using the above, handle many
18117         more cases.  Always output all available definitions.
18118         (xref-location-marker): No need for special cases.
18119         * test/automated/elisp-mode-tests.el: Add more tests of
18120         elisp--xref-find-definitions, improve current tests.
18122 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
18124         Fix recording of events pushed onto unread-command-events
18125         * src/keyboard.c (read_char): Make sure events read from
18126         unread-command-events and unread-post-input-method-events are
18127         always recorded by record_char.  Reported by David Kastrup
18128         <dak@gnu.org>, see
18129         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
18131 2015-08-10  Samer Masterson  <samer@samertm.com>
18133         Set file buffer as current for "--file"
18134         * lisp/startup.el (command-line-1): Set file buffer as current before
18135         it is displayed so it can be used with options like "--eval".
18136         (Bug#21095)
18138 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
18140         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
18141         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
18142         after setting LC_ALL to the desired locale, to avoid affecting how
18143         numbers are read and printed.  (Bug#21223)
18145 2015-08-10  Alan Mackenzie  <acm@muc.de>
18147         Fix "Invalid search bound (wrong side of point)" in fontification
18148         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
18149         an initialization expression, check point is not beyond the
18150         fontification limit.
18152 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
18154         Fix DPI calculation when Xft/DPI is default
18155         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
18156         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
18157         Remove unnecessary cast while we're in the neighborhood.
18159 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
18161         Add project-vc-search-path and project-vc-ignores
18162         * lisp/progmodes/project.el (project-vc): New group.
18163         (project-vc-search-path, project-vc-ignores): New variables.
18164         (project--value-in-dir): Utility function.
18165         (project-search-path, project-ignores): Use them.
18166         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
18167         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
18169 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
18171         Fix some minor quoting issues with grave accent
18172         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
18173         Remove redundant quotes.
18174         * src/doc.c (uLSQM, uRSQM): New macros.
18175         * src/doc.c (Fsubstitute_command_keys):
18176         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
18177         preference for quotes rather than hardcoding the ‘grave’ style.
18178         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
18179         (re_match_2_internal) [DEBUG]: In debugging output, quote C
18180         strings with "...", not `...'.
18182         ChangeLog.2 ignores remote-tracking merges
18183         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
18184         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
18185         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
18187 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
18189         Use kpsewhich in ffap-latex-mode, if available
18190         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
18191         (ffap-latex-mode): Use kpsewhich if available.
18193         ffap: disallow braces in filenames for tex modes
18194         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
18195         braces in tex-related modes.
18197         Remove useless backslashes from ffap-string-at-point-mode-alist
18198         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
18199         misleading backslashes from default value.
18201         Augment docstring of ffap-string-at-point-mode-alist
18202         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
18203         and END are handled.
18205 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
18207         * lisp/org/org-src.el (org-edit-src-code)
18208         (org-edit-fixed-width-region):
18209         * lisp/simple.el (completion-setup-function):
18210         Remove calls to substitute-command-keys that always just return
18211         their argument.
18213 2015-08-09  Daiki Ueno  <ueno@gnu.org>
18215         * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'.
18216         (Bug#21210)
18218 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
18220         Fix link to source code in help window
18221         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
18222         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
18223         'No longer include timestamp in header of .elc files'.  Add code
18224         that will return .el source file in load-path.
18226 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
18228         * lisp/isearch.el (isearch-search-fun-default): (Bug#21164)
18229         Respect `isearch-lax-whitespace' when searching through
18230         `isearch-word'.
18232 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
18234         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
18236         * org.el: Fix up some lexical scoping warnings, and use dolist
18237         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
18238         (org-set-regexps-and-options, org-assign-fast-keys)
18239         (org-contextualize-keys, org-contextualize-validate-key)
18240         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
18241         (org-find-olp, org-find-exact-heading-in-directory)
18242         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
18243         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
18244         (org-replace-escapes): Use dolist.
18245         (org-mode): Optimize away XEmacs-only code.
18246         (org-refile-get-targets): Remove unused var `f'.
18247         (org-fast-todo-selection): Remove unused var `e'.
18248         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
18249         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
18250         (org-format-latex): Use dolist.  Remove unused var `e'.
18251         (org-toggle-heading): Access vars lexically rather than dynamically.
18252         (org-backward-sentence, org-forward-sentence, org-meta-return)
18253         (org-kill-line): Mark arg as unused.
18254         (org-submit-bug-report): Silence compiler warning.
18255         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
18256         (org-get-cursor-date): Remove unused var `tm'.
18257         (org-comment-or-uncomment-region): Use standard name `_'.
18258         (reftex-docstruct-symbol, reftex-cite-format): Declare to
18259         silence byte-compiler.
18260         (org-reftex-citation): Add `org--' prefix to dynamically scoped
18261         `rds' var.
18263 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
18265         Electric quote if coding is undecided or no conv
18266         * lisp/electric.el (electric--insertable-p): Also say that a
18267         string is insertable if the buffer file coding system is undecided
18268         or uses no conversion, as curved quotes will work in either case.
18270         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
18272 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
18274         Fix overlay string display regressions introduced in Emacs 24.5
18275         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
18276         buffer position, if we move the iterator to a new position as
18277         result of jumping over text covered by a "replacing" display
18278         property.
18279         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
18281         Support recovery from C stack overflow on MS-Windows
18282         * src/w32fns.c (w32_reset_stack_overflow_guard)
18283         (stack_overflow_handler): New functions for handling C stack
18284         overflow exceptions.
18285         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
18286         specially, and zero out except_addr if we do.
18287         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
18288         mode.
18289         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
18290         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
18291         the MinGW build, but the code guarded by that is for Posix hosts.
18292         * src/keyboard.c (command_loop) [WINDOWSNT]:
18293         Call w32_reset_stack_overflow_guard.
18294         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
18295         (sigsetjmp): New macro.
18296         (w32_reset_stack_overflow_guard): Declare the prototype.
18297         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
18299 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
18301         Improve error signalling for seq-subseq
18302         * lisp/seq.el (seq-subseq): The existing behavior is to error
18303         when indexes are too large, but to silently ignore numbers which
18304         are too negative for lists.  String and vector handling errors in
18305         both cases.  This has been regularized.  Error signaling behavior
18306         has been explicitly added to the doc string.
18308         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
18309         therefore also impacted by this change.  Update the doc string
18310         to reflect this.
18312         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
18313         added for these exceptional cases, as well as one non exceptional
18314         base case.
18316 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
18318         Improve error checking in tramp-adb.el
18319         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
18320         Improve error checking.  "ls -l" on Android in Enforcing mode can
18321         print "lstat './FILENAME failed: Permission denied".
18323 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
18325         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
18326         non-struct vectors.
18328 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
18330         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
18331         * lisp/window.el: Fix typo that broke build.
18332         (display-buffer--action-function-custom-type):
18333         Add `display-buffer-use-some-frame'.
18334         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
18336         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
18337         * lisp/window.el (display-buffer-use-some-frame): Add support for
18338         'inhibit-same-window in alist.
18339         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
18340         'inhibit-same-window in alist.
18342 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
18344         Avoid infinite loop in display of invisible text in strings
18345         * src/xdisp.c (handle_invisible_prop): If the next change of
18346         invisibility spec does not mean the beginning of a visible text,
18347         update the string position from which to start the search for the
18348         next invisibility change.  This avoids an infinite loop when we
18349         have more than one invisibility spec that are made inactive by
18350         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
18351         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
18352         for the situation that caused bug #21200.
18354 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
18356         * lisp/emacs-lisp/package.el: Simplify describe-package-1
18357         (package-help-section-name-face): New face.
18358         (package--print-help-section): New function.
18359         (describe-package-1): Refactor section printing.
18360         (package-make-button): Use face instead of font-lock-face, which
18361         doesn't work on buttons.
18363         * lisp/emacs-lisp/package.el: Define custom faces
18364         (package-name-face, package-description-face)
18365         (package-status-built-in-face, package-status-external-face)
18366         (package-status-available-face, package-status-new-face)
18367         (package-status-held-face, package-status-disabled-face)
18368         (package-status-installed-face, package-status-dependency-face)
18369         (package-status-unsigned-face, package-status-incompat-face)
18370         (package-status-avail-obso-face): New faces.
18371         (package-menu--print-info-simple): Use them.
18373 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
18375         Fix some confusion with ‘format’
18376         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
18377         (allout-graphics-modification-handler):
18378         Protect arbitrary string in a format context with "%s" format.
18379         * lisp/avoid.el:
18380         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
18381         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
18382         * lisp/erc/erc-button.el (erc-button-beats-to-time):
18383         * lisp/gnus/message.el (message-send-form-letter):
18384         * lisp/org/ob-core.el (org-babel-check-evaluate)
18385         (org-babel-confirm-evaluate):
18386         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
18387         * lisp/org/ox-latex.el (org-latex-compile):
18388         * lisp/org/ox-man.el (org-man-compile):
18389         * lisp/org/ox-odt.el (org-odt-template):
18390         * lisp/org/ox-texinfo.el (org-texinfo-compile):
18391         * lisp/progmodes/prolog.el (prolog-help-info)
18392         (prolog-view-predspec):
18393         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
18394         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
18395         * lisp/textmodes/rst.el (rst-replace-lines):
18396         Change (message (format ...)) to (message ...), and likewise
18397         for ‘error’.  This lessens the probability of confusion when the
18398         output of ‘format’ contains ‘%’.
18400 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
18402         * lisp/replace.el (replace-character-fold): Default to nil.
18404         * lisp/character-fold.el: Fix lax whitespace.
18405         (character-fold-table): Don't make space match other whitespace chars.
18406         (character-fold-to-regexp): Simplify lax behavior.
18408 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
18410         Preserve window point in xref-find-definitions-other-window
18411         Fix the problem reported by Ingo Logmar in
18412         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
18413         * lisp/progmodes/xref.el (xref--goto-char): Extract from
18414         xref--goto-location.
18415         (xref--pop-to-location): Use it.  Replace xref--goto-location with
18416         a direct xref-location-marker call.
18417         (xref--show-location): Likewise.
18418         (xref--display-position): Use xref--goto-char.
18420         * lisp/progmodes/project.el: Add a paragraph to the front matter.
18422 2015-08-04  David Kastrup  <dak@gnu.org>
18424         * lisp/vc/emerge.el (emerge-show-file-name):
18425         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
18426         (vhdl-comment-insert, vhdl-hooked-abbrev):
18427         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
18428         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
18429         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
18430         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
18431         * lisp/obsolete/vip.el (vip-escape-to-emacs)
18432         (vip-prefix-arg-value, vip-prefix-arg-com):
18433         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
18434         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
18435         (quail-tibkey-update-translation):
18436         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
18437         * lisp/leim/quail/lao.el (quail-lao-update-translation):
18438         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
18439         (quail-japanese-self-insert-and-switch-to-alpha):
18440         * lisp/leim/quail/hangul.el (hangul2-input-method)
18441         (hangul3-input-method, hangul390-input-method):
18442         * lisp/language/hanja-util.el (hangul-to-hanja-char):
18443         * lisp/international/robin.el (robin-input-method):
18444         * lisp/international/quail.el (quail-start-translation)
18445         (quail-start-conversion):
18446         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
18447         (gnus-article-describe-key-briefly):
18448         * lisp/eshell/em-hist.el (eshell-list-history):
18449         * lisp/term.el (term-dynamic-list-input-ring)
18450         (term-dynamic-list-completions):
18451         * lisp/subr.el (momentary-string-display):
18452         * lisp/simple.el (read-quoted-char):
18453         * lisp/pcomplete.el (pcomplete-show-completions):
18454         * lisp/kmacro.el (kmacro-repeat-on-last-key):
18455         * lisp/info.el (Info-summary):
18456         * lisp/ehelp.el (electric-help-command-loop):
18457         * lisp/ebuff-menu.el (electric-buffer-list)
18458         (Electric-buffer-menu-exit):
18459         * lisp/double.el (double-translate-key):
18460         * lisp/comint.el (comint-dynamic-list-input-ring)
18461         (comint-dynamic-list-completions): Do not overwrite preexisting
18462         contents of `unread-command-events' when putting new events into it.
18464 2015-08-04  Daniel Colascione  <dancol@dancol.org>
18466         Improve ansi-color filtering of unrecognized escape sequences
18467         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
18468         escape sequences.
18469         (ansi-color-filter-apply, ansi-color-apply): Filter out
18470         unrecognized escape sequences.
18472 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
18474         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
18475         definitions to `easy-menu-define', improve a couple to account for
18476         async, and add a couple of new commands.
18478 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
18480         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
18482 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
18484         Add new 'calendar-weekend-days' option
18485         Make the days receiving the 'calendar-weekend-header' face freely
18486         customizable, as they differ by region/culture.
18487         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
18488         new variable.
18489         * lisp/calendar/calendar.el (calendar-generate-month): New variable
18490         calendar-weekend-days to customize day header fontification.
18492 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
18494         Redo text-quoting-style variable
18495         Rename help-quote-translation to text-quoting-style,
18496         and use symbols rather than characters as values.
18497         This follows suggestions along these lines by Alan Mackenzie in:
18498         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
18499         and by Drew Adams in:
18500         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
18501         * doc/lispref/help.texi (Keys in Documentation)
18502         * etc/NEWS:
18503         * lisp/cus-start.el (standard):
18504         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
18505         Document and/or implement the new behavior instead of the old.
18506         (syms_of_doc): New symbols 'grave' and 'straight'.
18508 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
18510         nnimap.el: Use IMAP MOVE extension if available
18511         * lisp/gnus/nnimap.el (nnimap-request-move-article)
18512         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
18513         Use MOVE extension if available.
18515         nnimap.el: Explicitly ask for server capabilities
18516         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
18517         capabilities will be returned in the login-result.
18519 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
18521         Treat help strings like other doc strings
18522         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
18523         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
18524         substitute-command-keys.
18525         * src/keyboard.c (show_help_echo, parse_menu_item): Call
18526         substitute-command-keys on the help string before displaying it.
18528         Also mention "curly quotes"
18529         See Drew Adams's email in:
18530         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
18531         * doc/lispref/help.texi (Keys in Documentation):
18532         Add index entry "curly quotes".
18533         * etc/NEWS: Use the phrase "curly quotes" too.
18535         ede-proj-target-makefile docstring tweaks
18536         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
18537         Consistently use "all:" to describe the all: target,
18538         replacing three different and confusingly-quoted usages.
18540 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
18542         Don't abort emacsclientw when -a was specified
18543         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
18544         out if we are in emacsclientw and -a was specified.
18546 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
18548         Fix handling of 1st keystroke on MS-Windows
18549         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
18550         This is needed to correctly handle the session's first keystroke,
18551         if it has any modifiers.  (Bug#19994)
18553 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
18555         Substitute some customization etc. doc strings
18556         These changes apply substitute-command-keys to some
18557         doc strings that were going through untranslated
18558         when creating customization or other widgets.
18559         * lisp/cus-edit.el (custom-group-value-create):
18560         * lisp/wid-edit.el (widget-default-create):
18561         (widget-push-button-value-create):
18562         Treat the widget tag as a doc string.
18563         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
18564         Treat the :documentation value as a doc string.
18565         * lisp/wid-edit.el (widget-choose):
18566         Treat the choice names as doc strings.
18567         (widget-default-create): Treat the :doc value as a doc string.
18568         (widget-toggle-value-create): Treat the :on and :off values
18569         as doc strings.
18570         (widget-documentation-string-value-create):
18571         Substitute the doc string.
18573 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
18575         Add a second argument to project-ignores
18576         * lisp/progmodes/project.el (project-ignores): Add a second
18577         argument DIR.
18578         * lisp/progmodes/project.el (project-ignores): Only include the VC
18579         ignores if DIR is the VC root.
18580         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
18582 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
18584         Prevent incorrect display when 'line-spacing' variable is set
18585         * src/xdisp.c (try_window_id): Give up this optimization if the
18586         buffer has its 'line-spacing' variable set non-nil.
18588 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
18590         Don't pass NOVISIT to find-file
18591         * lisp/progmodes/etags.el (next-file):
18592         Don't pass NOVISIT to find-file (bug#21175).
18594         Ignore buffer restriction for tags-loop-eval
18595         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
18596         restriction (bug#21167).
18598 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
18600         Fix a thinko in 'ffap-gopher-at-point'
18601         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
18603         Honor 'line-spacing' for empty lines
18604         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
18605         property and 'line-spacing' frame parameter or variable or
18606         property for empty lines, by doing the same processing as in
18607         x_produce_glyph for newline characters.  (Bug#21165)
18609 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
18611         Simplify by assuming C99 integer division
18612         * src/floatfns.c (ceiling2, floor2, truncate2):
18613         Assume C99 (i.e., Fortran) semantics for integer division.
18614         This simplifies the code.
18616 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
18618         Don't overflow if computing approximate percentage
18619         * lisp/align.el (align-region):
18620         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
18621         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
18622         * lisp/cus-edit.el (custom-buffer-create-internal):
18623         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
18624         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
18625         (checkdoc-next-message-error):
18626         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
18627         * lisp/epa.el (epa-progress-callback-function):
18628         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
18629         * lisp/ffap.el (ffap-menu-rescan):
18630         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
18631         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
18632         * lisp/gnus/nneething.el (nneething-retrieve-headers):
18633         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
18634         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
18635         * lisp/gnus/nnml.el (nnml-retrieve-headers):
18636         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
18637         * lisp/gnus/nntp.el (nntp-retrieve-headers)
18638         (nntp-retrieve-articles):
18639         * lisp/imenu.el (imenu--relative-position):
18640         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
18641         (skkdic-convert-okuri-nasi):
18642         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
18643         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
18644         * lisp/org/org-list.el (org-update-checkbox-count):
18645         * lisp/org/org.el (org-table-map-tables)
18646         (org-update-parent-todo-statistics):
18647         * lisp/play/decipher.el (decipher-insert-frequency-counts)
18648         (decipher-analyze-buffer):
18649         * lisp/profiler.el (profiler-format-percent):
18650         * lisp/progmodes/cc-cmds.el (c-progress-update):
18651         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
18652         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
18653         (idlwave-list-load-path-shadows):
18654         * lisp/progmodes/opascal.el (opascal-step-progress):
18655         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
18656         (vhdl-scan-directory-contents):
18657         * lisp/textmodes/bibtex.el (bibtex-progress-message):
18658         * lisp/textmodes/flyspell.el (flyspell-small-region)
18659         (flyspell-external-point-words):
18660         * lisp/textmodes/table.el (table-recognize):
18661         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
18662         progress-report percentages and the like.  This avoids problems
18663         if (* 100 NUMERATOR) would overflow.
18664         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
18665         * lisp/gnus/registry.el (registry-reindex):
18666         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
18667         * lisp/descr-text.el (describe-char):
18668         * lisp/org/org-colview.el (org-nofm-to-completion):
18669         * lisp/ps-print.el (ps-plot):
18670         * lisp/simple.el (what-cursor-position):
18671         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
18672         more-complicated and less-accurate approximation.
18674         Fix some int overflows in profiler.c
18675         * src/profiler.c (make_log): Make args EMACS_INT, not int,
18676         to avoid unwanted behavior on 'int' overflow.
18677         (make_log, evict_lower_half, record_backtrace):
18678         Use ptrdiff_t, not int, for object indexes.
18680         Port to pedantic memcpy
18681         * src/keyboard.c (menu_bar_items, tool_bar_items):
18682         * src/xrdb.c (magic_db):
18683         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
18685         Merge from gnulib
18686         This incorporates:
18687         2015-07-29 time_rz: port to pedantic memcpy
18688         * lib/time_rz.c: Copy from gnulib.
18690 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
18692         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
18693         When updating the very last entry, tabulated-list-print would
18694         erase it and then try to look at the next one (which obviously
18695         isn't there).
18697 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
18699         Allow to use the old key processing code on MS-Windows
18700         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
18701         New variable.
18702         (w32_wnd_proc): Use it to invoke the old code that processed
18703         character keys, as fallback, when this variable is non-nil.
18704         Fix typos in comments.  (Bug#19994)
18706 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
18708         Improve handling of Unicode keyboard input on MS-Windows
18709         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
18710         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
18711         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
18712         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
18713         successful, don't call TranslateMessage.  (Bug#19994)
18715 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
18717         Fix default-directory in changeset diffs after vc-print-log
18718         * lisp/vc/log-view.el (log-view-diff-common): Move the
18719         revision-granularity check back into log-view-diff-changeset.
18720         (log-view-diff-changeset): Bind default-directory to the current
18721         VC root.
18723         Rename project-directories to project-roots
18724         * lisp/progmodes/project.el (project-search-path-function)
18725         (project-search-path): Update the docstring.
18726         (project-directories): Rename to `project-roots', update all
18727         callers and implementations accordingly.
18728         (project-root): Remove.
18729         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
18730         as the default file mask.
18732 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
18734         Support long URLs in w32-shell-execute
18735         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
18736         and filename_to_ansi to convert the DOCUMENT argument, as it could
18737         be a URL that is not limited to MAX_PATH characters.  Instead, use
18738         MultiByteToWideChar directly, and allocate heap storage as
18739         required to accommodate the converted string.  Likewise with
18740         non-Unicode operation.  Ensure OPERATION is null-terminated, even
18741         if it is longer than 32K bytes.  (Bug#21158)
18743 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
18745         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev.
18747 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
18749         Add docs for display-buffer action display-buffer-use-some-frame
18750         * lisp/window.el (display-buffer-use-some-frame): Improve doc string.
18751         * doc/lispref/windows.texi (Display Action Functions):
18752         Add display-buffer-use-some-frame.
18753         * etc/NEWS: Mention display-buffer-use-some-frame.
18755         Add display-buffer action display-buffer-use-some-frame
18756         * lisp/window.el (display-buffer-use-some-frame): New.
18758         Handle vc-mtn error more gently
18759         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when
18760         branch is nil.
18762 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
18764         Fix Tramp problems with multihops, and nc
18765         * lisp/net/tramp-cache.el (tramp-get-file-property)
18766         (tramp-set-file-property, tramp-flush-file-property)
18767         (tramp-get-connection-property, tramp-set-connection-property)
18768         (tramp-flush-connection-property): Remove hop from vector.
18769         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
18770         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
18771         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
18772         netstat to 60".
18773         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
18774         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
18775         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
18776         Keep hop in result.
18777         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
18778         Add hop tests.
18780 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
18782         Resurrect highlighting of repeated words by Flyspell Mode
18783         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
18784         characters between point and the doublon candidate, so that
18785         flyspell-word-search-backward finds it.  (Bug#21157)
18787         Fix redisplay of large images on expose events
18788         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
18789         between signed negative values and unsigned values.  This
18790         prevented redisplay on expose events when the window showed a very
18791         large image.
18793 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
18795         Remove unnecessary stack overflow dependency
18796         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
18797         Don't worry about $ac_cv_header_sys_resource_h and
18798         $ac_cv_func_getrlimit, as they're no longer needed for this.
18799         Problem reported by Eli Zaretskii in:
18800         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
18802 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
18804         Pacify compilation -Wincompatible-pointer-types warnings
18805         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
18806         warning.
18807         (CompareStringW_Proc): New typedef.
18808         (w32_compare_strings): Use it, to pacify compiler warnings under
18809         "-Wincompatible-pointer-types".
18810         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
18811         (GetDiskFreeSpaceExA_Proc): New typedefs.
18812         (Ffile_system_info): Use them, to pacify compiler warnings under
18813         "-Wincompatible-pointer-types".
18815 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
18817         Fix subscript error in calculate_direct_scrolling
18818         Use slightly-longer cost vectors.  Without this change,
18819         calculate_direct_scrolling can have a subscript violation when
18820         FRAME_LINES (frame) <= delta.
18821         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
18822         (line_ins_del, do_line_insertion_deletion_costs):
18823         Allocate and use slightly-larger cost vectors, ones based on
18824         FRAME_TOTAL_LINES instead of FRAME_LINES.
18826         Fix uninitalized value in encode_coding_object
18827         * src/coding.c (encode_coding_object): Also initialize
18828         coding->src_pos and coding->src_pos_byte when NILP (src_object).
18829         This avoids later use of uninitialized storage.
18831 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
18833         * doc/lispref/variables.texi (Variable Aliases): Typo fix.
18834         (Bug#21141)
18836 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
18838         Merge from gnulib
18839         This incorporates:
18840         2015-07-27 time_rz: port better to MinGW
18841         2015-07-27 time: port __need_time_t to MinGW
18842         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
18843         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
18844         * lib/time-internal.h: New file, from gnulib.
18846 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
18848         Handle NULL pointers in w32heap.c allocation routines
18849         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
18850         freeable".
18851         (realloc_after_dump, realloc_before_dump, free_before_dump):
18852         Handle NULL pointers gracefully, as Emacs now seems to expect that.
18854         Fix Cairo build without PNG
18855         * src/image.c: Define PNG function when USE_CAIRO is defined, even
18856         if HAVE_PNG is not.  (Bug#21133)
18858         MS-Windows follow-up for recent TZ-related changes
18859         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
18860         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
18861         picking up 'struct timespec' from pthread.h, if it is installed on
18862         the user's system.  We want either the definitions from MinGW
18863         system headers, if available, or the Gnulib replacements if not.
18864         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
18865         lib/time.h.
18866         * lib/time.in.h: Don't let __need_* symbols affect what happens on
18867         MinGW.  These symbols are defined by MinGW system headers, but we
18868         don't want that to affect whether Gnulib portions of the header
18869         are or aren't used.
18871 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
18873         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
18875         New optional ZONE arg for format-time-string etc.
18876         This simplifies time conversions in other time zones.
18877         It also prevents display-time-world tampering with TZ (Bug#21020).
18878         * admin/admin.el (add-release-logs):
18879         Use improved add-log-time-format API.
18880         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
18881         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
18882         * configure.ac (tzalloc): Remove test for this, since
18883         Emacs no longer uses HAVE_TZALLOC directly.
18884         * doc/lispref/os.texi (Time of Day, Time Conversion)
18885         (Time Parsing):
18886         * etc/NEWS: Document the new behavior.
18887         Merge from gnulib, incorporating:
18888         2015-07-25 strftime: fix newly-introduced bug on Solaris
18889         2015-07-23 fprintftime, strftime: use timezone_t args
18890         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
18891         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
18892         * m4/time_h.m4:
18893         Update from gnulib.
18894         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
18895         New files from gnulib.
18896         * lisp/time-stamp.el (time-stamp-string):
18897         * lisp/time.el (display-time-world-list)
18898         (display-time-world-display):
18899         Use new API, with time zone arg.
18900         * lisp/time.el (display-time-world-display):
18901         Fix race when current-time advances while we're running.
18902         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
18903         (add-log-iso8601-time-string): Accept optional time zone arg.
18904         * lisp/vc/add-log.el (add-change-log-entry):
18905         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
18906         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
18907         Add rules for the time module, since they're now needed
18908         for tzalloc etc.
18909         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
18910         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
18911         * src/editfns.c: Include errno.h.
18912         (set_time_zone_rule): Omit unnecessary forward decl.
18913         (initial_tz): Remove, replacing with ...
18914         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
18915         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
18916         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
18917         (tzlookup): New static functions.
18918         (init_editfns): New arg DUMPING.  All uses changed.
18919         (init_editfns): Omit most initialization if dumping, not if
18920         !initialized.  Initialize wall_clock_tz and local_tz.
18921         (emacs_nmemftime, format_time_string): Time zone argument can now
18922         be any time zone, not just a boolean for UTC or local time.  All
18923         callers changed.
18924         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
18925         (Fcurrent_time_zone): New optional arg ZONE.
18926         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
18927         the same form as with the other new additions.
18928         (decode_time_zone): Remove; no longer needed.
18929         (tzvalbuf): Now file-scope.
18930         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
18931         (syms_of_editfns): Define Qwall.
18932         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
18933         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
18934         [!HAVE_TZALLOC]:
18935         Remove; now supplied by gnulib.
18936         * src/emacs.c (main):
18937         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
18939 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
18941         Fix infinite loop in delete-consecutive-dups
18942         * lisp/subr.el (delete-consecutive-dups): Work even if the last
18943         element is nil (Bug#20588).  Avoid rescan of a circular list in
18944         deletion of last element.
18946 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
18948         Have `x-frame-geometry' return nil for terminal and initial
18949         frames (Bug#21132)
18950         * src/nsfns.m (Fx_frame_geometry):
18951         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
18952         terminal frames.
18953         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
18954         (Fx_frame_geometry): Return nil for terminal frames
18956 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
18958         * etc/tutorials/TUTORIAL.ja: Improve translation.
18960 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
18962         Avoid crashes when w32 GUI functions are called in -batch
18963         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
18964         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
18965         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
18967         Fix flyspell-check-previous-highlighted-word
18968         * lisp/textmodes/flyspell.el
18969         (flyspell-check-previous-highlighted-word): Really accept a
18970         numeric argument, as the doc string describes.  Fix an off-by-one
18971         error in looking up overlays, so invocation with point immediately
18972         after a word would check that word.  Clarify the doc string as
18973         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
18975 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
18977         Minor cleanup in tramp-tests.el
18978         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
18979         Implement using the documented interface
18980         `tramp-connection-properties', rather than with internal functions.
18982 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
18984         Pass lambdas to `skeleton-read'
18985         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
18986         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
18987         lambdas to `skeleton-read' (bug#20386).
18989 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
18991         * INSTALL (DETAILED BUILDING AND INSTALLATION):
18992         Mention --without-imagemagick.
18994         Don't require GUI frames and mouse for Flyspell menus
18995         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
18996         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
18997         support, since pop-up menus work with text terminals and can be
18998         controlled via the keyboard.
19000         Improve documentation of Flyspell commands
19001         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
19002         can be invoked via the keyboard.  Mention those commands by name
19003         and add them to the fn index.  (Bug#21125)
19005 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
19007         Fix some Tramp problems with HP-UX
19008         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
19009         Add "tab0" to stty call.
19010         * test/automated/tramp-tests.el (tramp-persistency-file-name):
19011         Set to nil.
19012         (tramp--test-hpux-p): New defun.
19013         (tramp--test-utf8): Use it.
19015 2015-07-22  Glenn Morris  <rgm@gnu.org>
19017         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
19019 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
19021         Fix point positioning in ffap-next-guess
19022         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
19023         as our callers expect.  This was clobbered as part of fixing
19024         bug#5673.  (Bug#21107)
19025         (ffap-gopher-at-point): Set ffap-string-at-point-region.
19027 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
19029         * lisp/window.el (even-window-sizes): Fix customization type.
19031         Optionally even widths of `display-buffer' windows.  (Bug#21100)
19032         * lisp/window.el (quit-restore-window): Restore width if
19033         requested.
19034         (display-buffer-record-window): Record width when window is
19035         reused and horizontally combined.
19036         (even-window-sizes): New option to allow evening window widths.
19037         (even-window-heights): Defalias to `even-window-sizes'.
19038         (window--even-window-heights): Rename to
19039         `window--even-window-sizes'.  Handle side-by-side windows.
19040         (display-buffer-use-some-window): Call `window--even-window-sizes'
19041         instead of `window--even-window-heights'.
19042         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
19043         * doc/lispref/windows.texi (Choosing Window Options): Describe
19044         `even-window-sizes'.
19045         (Coordinates and Windows): Fix typo.
19047 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
19049         Add file name to autoload error messages
19050         * lisp/emacs-lisp/autoload.el (autoload-save-buffers):
19051         Add condition-case to add file name to error message.
19053 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
19055         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
19056         Use 0.0.0.1 as test host.
19058 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
19060         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
19061         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
19062         Fix inf-loop (bug#21083).
19064 2015-07-21  Glenn Morris  <rgm@gnu.org>
19066         * test/automated/package-test.el (package-test-signed):
19067         Update for recent changes.
19069         * test/automated/elisp-mode-tests.el
19070         (elisp-xref-finds-both-function-and-variable)
19071         (elisp-xref-finds-only-function-for-minor-mode):
19072         Update for recent xref name changes.
19074 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
19076         Make eldoc timer non-repeatable
19077         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
19078         non-repeatable.  Since it's on post-command hook, that just wasted
19079         CPU cycles.
19081 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
19083         Mention `tramp-connection-properties' in NEWS
19085         Sync with Tramp repository
19086         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
19087         required prior changing its configuration.
19088         (Connection caching, Predefined connection information)
19089         (Remote shell setup): Fix typos.
19090         (Predefined connection information): Describe, how to overwrite
19091         parameters of `tramp-methods'.
19092         (Remote programs, Remote processes, Traces and Profiles):
19093         Simplify example.
19094         (Remote programs): Remove superfluous comment.
19095         * doc/misc/trampver.texi: Update release number.
19096         * lisp/net/tramp-cache.el (tramp-connection-properties):
19097         Adapt docstring.
19098         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
19099         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
19100         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
19101         "gvfs-mkdir -p ..." does not work robust.
19102         (tramp-gvfs-maybe-open-connection):
19103         Adapt `tramp-get-method-parameter' call.
19104         * lisp/net/tramp-sh.el (tramp-methods):
19105         Add `tramp-remote-shell-login' parameter where it fits.
19106         (tramp-get-remote-path): Use it.
19107         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
19108         (all): Adapt `tramp-get-method-parameter' calls.
19109         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
19110         (tramp-get-method-parameter): Replace argument METHOD by VEC.
19111         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
19112         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
19113         (all): Adapt `tramp-get-method-parameter' calls.
19114         * lisp/net/trampver.el Update release number.
19115         * test/automated/tramp-tests.el (tramp--instrument-test-case):
19116         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
19117         (tramp-test13-make-directory, tramp--test-adb-p)
19118         (tramp--test-smb-or-windows-nt-p): Simplify.
19119         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
19120         (tramp--test-special-characters): Fix docstring.  Add gvfs and
19121         ftp tests.
19122         (tramp--test-utf8): Fix docstring.
19124 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
19126         Add new xref-query-replace command
19127         * lisp/progmodes/xref.el (xref--match-buffer-bounds):
19128         New function, extracted from xref-pulse-momentarily.
19129         (xref-query-replace): New command.
19130         (xref--query-replace-1): New helper function.
19131         (xref--xref-buffer-mode-map): Add `r' binding.
19133 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
19135         Simplify icalendar decoding of Z dates
19136         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
19137         Simplify calculation of time strings with trailing "Z".
19139 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
19141         Do not corrupt grep-find-ignored-files
19142         * lisp/progmodes/project.el (project-ignores): Change the order of
19143         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
19145         Add xref-match-item, and use it
19146         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
19147         (xref-file-location): Add reader for the column slot.
19148         (xref-match-item): New class.
19149         (xref-match-bounds): A method implementation for it.
19150         (xref-make-match): New constructor function.
19151         (xref--current-item): New private variable.
19152         (xref-pulse-momentarily): Use it.
19153         (xref--pop-to-location): Change the first argument to an xref
19154         item, instead of location, bind xref--current-item.
19155         Update all callers.
19156         (xref-next-line, xref-prev-line, xref--next-error-function)
19157         (xref--mouse-2): Look for the property `xref-item',
19158         instead of `xref-location'.
19159         (xref--item-at-point): Likewise.  This function replaces
19160         `xref-location-at-point'.  Update all callers.
19161         (xref--insert-xrefs): Add the `xref-item' text property, instead
19162         of `xref-location'.
19163         (xref--collect-match): Use xref-make-match.
19165         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
19166         Update all references.
19168         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
19169         slot to `summary'.
19171         vc-hg: Perform the print-log call asynchronously
19172         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
19173         asynchronously (bug#21067).
19175         Add xref-after-jump-hook and xref-after-return-hook
19176         * lisp/progmodes/xref.el (xref-after-jump-hook)
19177         (xref-after-return-hook): New hooks.
19178         (xref-pulse-on-jump): Remove, in favor of the above.
19179         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
19180         (xref--pop-to-location, xref--display-position)
19181         (xref-pop-marker-stack): Use the new hooks, as requested in
19182         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
19184 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
19186         * lisp/progmodes/js.el (js-mode): Correct the lighter.
19188 2015-07-19  Leo Liu  <sdl.web@gmail.com>
19190         Fix a bug in cfengine3-mode
19191         * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil
19192         eldoc-documentation-function.
19194 2015-07-18  Julien Danjou  <julien@danjou.info>
19196         sieve-mode: support "body" test command
19197         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
19198         Add missing "body" test command.
19200 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
19202         Fix info-apropos when the default encoding is Latin-N
19203         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
19204         'undecided', so that it is set to the encoding of the Info file we
19205         are about to insert.  Otherwise, 'info-apropos' will fail to find
19206         some index nodes in some UTF-8 encoded files, if the buffer's
19207         previous encoding is Latin-N or some such.
19209 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
19211         * lisp/epg.el (epg--start): Check that gpgconf can be found
19212         before calling it.
19214         Expose more file types to OS X that Emacs understands
19215         * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for
19216         sty, dtx, json, and org files.  Export UTIs for el, elc, and org files.
19218 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
19220         Fix visual-order cursor movement when lines are truncated
19221         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
19222         simulate display in a window of infinite width, to allow move_it_*
19223         functions reach positions outside of normal window dimensions.
19224         Remove code that tried to handle a subset of these situations by
19225         manual iteration of buffer text.  (Bug#17777)
19227         Fix following Info cross-references to anchors
19228         * lisp/info.el (Info-read-subfile): Add to the returned value the
19229         length of subfile preamble, after converting it to file's byte
19230         offset, as expected by the caller.  Use bufferpos-to-filepos.
19231         (Info-find-node-2): If searching for a node with a
19232         1000-character slop fails, try again with a 10000-character slop,
19233         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
19234         * lisp/international/mule-util.el (bufferpos-to-filepos): New
19235         function.
19236         * etc/NEWS: Mention bufferpos-to-filepos.
19238         Fix scrolling backwards on TTY frames under scroll-conservatively
19239         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
19240         in moving backwards on TTY frames.  (Bug#21080)
19242 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
19244         Consider a jsdoc tag to be a beginning of a paragraph as well
19245         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
19246         consider a jsdoc tag to be a beginning of a paragraph as well.
19248 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
19250         * lisp/emacs-lisp/package.el: Fix warnings.
19252         * lisp/emacs-lisp/package.el (package-buffer-info):
19253         Add author and maintainers to `package-buffer-info'.
19255         * lisp/emacs-lisp/package.el: Many small changes.
19256         Replace all instances of 'face with 'font-lock-face.
19257         (describe-package-1): Improve some strings and move the summary
19258         up the list.
19259         (package-install-file): Update docstring.
19260         (package-menu-hide-package): Bind to `H'.
19262         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
19263         Fix error handling.
19265 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
19267         Fix hang with large yanks This should fix the bug fixed by Mike
19268         Crowe's patch in:
19269         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
19270         A problem in this area has been reported by several users; see
19271         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
19272         This fix differs from Mike Crowe's patch in that it should avoid a
19273         race condition that could lose SIGIO signals.  ignore_sigio dates
19274         back to the 1980s when some platforms couldn't block signals, and
19275         could only ignore them, which led to races when signals arrived
19276         while being ignored.  We shouldn't have to worry about those old
19277         platforms now.
19278         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
19279         * src/emacs.c (shut_down_emacs):
19280         Don't call ignore_sigio; unrequest_sigio should suffice.
19281         * src/keyboard.c (kbd_buffer_store_buffered_event):
19282         Use unrequest_sigio, not ignore_sigio.
19283         (kbd_buffer_get_event):
19284         Call request_sigio when getting the ball rolling again.
19286 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
19288         * lisp/obsolete/longlines.el (longlines-search-function):
19289         Fallback on `isearch-search-fun-default'.
19291 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
19293         Support @-mentions
19294         * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion
19295         of mentions/messages with @nick instead of just nick.
19297 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
19299         Fix bug#20943
19300         * lisp/autorevert.el (auto-revert-handler): Do not check for
19301         `buffer-modified-p'.
19302         * lisp/files.el (buffer-stale--default-function): Check for
19303         `buffer-modified-p'.
19304         * test/automated/auto-revert-tests.el
19305         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
19307 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
19309         Fix delete-dups bug on long lists
19310         * lisp/subr.el (delete-dups):
19311         Don't mistakenly keep some dups when applied to long lists.
19313 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
19315         Better heuristic for C stack overflow
19316         Improve the heuristic for distinguishing stack overflows from
19317         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
19318         the getrlimit method wasn't portable to Cygwin; see:
19319         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
19320         Corinna suggested pthread_getattr_np but this also has problems.
19321         Instead, replace the low-level system stuff with a simple
19322         heuristic based on known good stack addresses.
19323         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
19324         * src/sysdep.c: Don't include <sys/resource.h>.
19325         (stack_direction): Remove.  All uses removed.
19326         (stack_overflow): New function.
19327         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
19328         Make SEGV fatal in non-main threads.
19330 2015-07-16  Daiki Ueno  <ueno@gnu.org>
19332         epg: Automatically start pinentry server
19333         * lisp/epg-config.el (epg-gpgconf-program): New variable.
19334         * lisp/epg.el (epg--start): Call `pinentry-start' if
19335         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
19337 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
19339         * lisp/gnus/nnimap.el: Fix my last bogus change.
19340         Reinstall Stefan Monnier's change that was made in
19341         <83d824bc4041332f338ad7e5e830f443535aa300>.
19343 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
19345         Merge from gnulib
19346         This incorporates:
19347         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
19348         2015-07-05 acl-permissions: Fix on FreeBSD
19349         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
19350         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
19351         * lib/set-permissions.c: Copy from gnulib.
19353         Port to stricter C99
19354         * src/keyboard.h (kbd_buffer_store_event_hold):
19355         Don't return a void expression.
19357 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
19359         * doc/emacs/frames.texi (Creating Frames):
19360         Fix the command `C-x 5 m' runs.
19362 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
19364         New autorevert tests
19365         * test/automated/auto-revert-tests.el: New file.
19367 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
19369         Clear gcprolist etc. after stack overflow
19370         After stack overflow, command_loop calls init_eval, and this needs to
19371         clear gcprolist and byte_stack_list (Bug#20996).
19372         * src/alloc.c (init_alloc):
19373         Move gcprolist and byte_stack_list initialization from here ...
19374         * src/eval.c (init_eval): ... to here.
19376 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
19378         * doc/emacs/windows.texi (Pop Up Window): Fix the description
19379         of `C-x 4 m'.
19381 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
19383         Avoid deprecated enums in mac-ct font backend driver
19384         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
19385         (mac_ctfont_get_advance_width_for_glyph)
19386         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
19388         Cache font family in mac-ct font backend driver
19389         * src/macfont.m (macfont_family_cache): New variable.
19390         (syms_of_macfont): Initialize it.
19391         (macfont_available_families_cache): New variable.
19392         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
19393         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
19394         (macfont_handle_font_change_notification)
19395         (macfont_init_font_change_handler)
19396         (macfont_copy_available_families_cache): New functions.
19397         (macfont_create_family_with_symbol): Use font family caches.
19398         (macfont_list, macfont_list_family):
19399         Use macfont_copy_available_families_cache instead of
19400         mac_font_create_available_families.
19402 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
19404         Show the default value in the prompt
19405         * lisp/progmodes/xref.el: Add `M-?' binding for
19406         xref-find-references.  Declare functions `grep-read-files' and
19407         `grep-expand-template'.
19408         (xref--read-identifier): Show the default value in the prompt.
19410         * lisp/progmodes/xref.el (xref-find-regexp): When called with
19411         prefix argument, ask for file patterns to search as well.  When
19412         prompting for the directory, require an existing one.
19413         (xref-collect-matches): Add a new argument, FILES.  Use it in the
19414         above function.
19416         Add `project-ignores'
19417         * lisp/progmodes/project.el (project-ignores): New generic
19418         function, and an implementation for the VC project type.
19419         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
19420         variant of rgrep-default-command that handles a generic list of
19421         ignores.
19422         (xref-collect-matches): Use it, and pass through to it the value
19423         of the newly added argument.
19424         (xref-find-regexp): Handle ignored paths within the project.
19425         Remove outdated comment.
19426         * lisp/vc/vc.el (vc-default-ignore-completion-table):
19427         Skip the comments and the empty lines.
19429 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
19431         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
19433 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
19435         gnus-registry.el: Correct function argument order
19436         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
19437         Reverse the order of function arguments.
19439 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
19441         Bind grep-highlight-matches to nil
19442         * lisp/progmodes/xref.el (xref-collect-matches):
19443         Bind grep-highlight-matches to nil (bug#20728).
19445 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
19447         nnimap.el: Fix IMAP message size parsing
19448         * lisp/gnus/nnimap.el (nnimap-transform-headers):
19449         Don't assume that UID comes before RFC822.SIZE.
19451 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
19453         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
19454         (auth-source-creation-prompts): Declare.
19455         (nnimap-retrieve-headers, nnimap-status-message)
19456         (nnimap-request-create-group, nnimap-request-delete-group)
19457         (nnimap-close-group, nnimap-request-move-article)
19458         (nnimap-request-accept-article, nnimap-request-newgroups)
19459         (nnimap-request-post, nnimap-dummy-active-number)
19460         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
19461         (nnimap-parse-flags): Remove unused var `p'.
19462         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
19463         (nnimap-flags-to-marks): Remove unused var `totalp'.
19465 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
19467         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
19469 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
19471         * src/macfont.m (macfont_list): Ignore font families lacking
19472         font descriptors.
19474 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
19476         Don't check the exit status, it can be misleading
19477         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
19478         exit status, it can be misleading.
19480         Introduce a Project API
19481         * lisp/progmodes/project.el: New file.
19482         * lisp/cedet/ede.el (project-try-ede): New function.
19483         (project-root): New implementation.
19484         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
19485         Set project-search-path-function.
19486         (elisp--xref-find-references): Delegate some logic to
19487         project-search-path.
19488         (elisp-search-path): New function.
19489         (elisp-xref-find): Don't implement `matches' anymore.
19490         * lisp/progmodes/etags.el: Don't implement `matches'.
19491         Delegate some logic to project-search-path.
19492         (etags-search-path): New function.
19493         * lisp/progmodes/xref.el (xref-find-function):
19494         Remove `matches' from the API.
19495         (xref-find-regexp): Move whatever common logic was in elisp and
19496         etags implementations, and search the directories returned by
19497         project-directories and project-search-path.
19499 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
19501         * test/automated/map-tests.el (test-map-delete-return-value):
19502         Uncomment test.
19504         Add support for gv.el in map.el
19505         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
19506         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
19507         * test/automated/map-tests.el: Update tests to work with the new
19508         implementations of map-elt and map-put.
19510 2015-07-09  Glenn Morris  <rgm@gnu.org>
19512         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
19514 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
19516         Syntax-propertize until the end of the line first
19517         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
19518         until the end of the line first.
19520 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
19522         * doc/emacs/files.texi (File Archives): Add a cross reference.
19524 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
19526         nnimap.el: Handle plain value for nnimap-stream
19527         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
19528         capabilities, so that a 'plain value for the `nnimap-stream' server
19529         variable is handled correctly.
19530         * doc/misc/gnus.texi (Customizing the IMAP Connection):
19531         Document the 'plain option.
19533 2015-07-08  Leo Liu  <sdl.web@gmail.com>
19535         Fix bug in thing-at-point--bounds-of-well-formed-url
19536         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
19537         sure boundary contains current point.
19539 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
19541         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse'
19542         in the end.
19544         Declare whitespace-line-column a safe file-local
19545         * lisp/whitespace.el (whitespace-line-column): Declare to be a
19546         safe file-local when the value is an integer.
19548 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
19550         gnus-group.el: Check if group names are already strings
19551         * lisp/gnus/gnus-group.el (gnus-group-group-name):
19552         The group name may already be a string.
19553         Specifically, in the group list reached from the *Server* buffer,
19554         the 'gnus-group text property returns a string.  Everywhere else
19555         it returns a symbol.
19557         nnimap.el: Remove unused let variables
19558         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
19560 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
19562         Support "maximized" property of runemacs's shortcut
19563         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
19564         the '--maximized' switch to Emacs.
19566         Support "minimized" property of runemacs's shortcut
19567         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
19568         pass the '--iconic' switch to Emacs.  (Bug#20991)
19570 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
19572         Doc fixes
19573         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
19574         C-w' in Diff mode.
19575         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
19576         Add a cross reference.
19578 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
19580         * lisp/obsolete/landmark.el: Add Obsolete-since header.
19582 2015-07-07  Glenn Morris  <rgm@gnu.org>
19584         * test/automated/ert-tests.el (ert-test-deftest):
19585         Update for recent changes.
19587 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
19589         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
19590         * lisp/emacs-lisp/gv.el (gv-setter): New function.
19591         (gv-invalid-place): New error.
19592         (gv-get): Use them.
19593         (gv-synthetic-place, gv-delay-error): New places.
19594         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
19595         (cl-defgeneric, cl-defmethod): Use gv-setter.
19597 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
19599         Make vc-tests work with MSYS svn program
19600         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
19601         svn is an MSYS program.
19603 2015-07-07  Ken Brown  <kbrown@cornell.edu>
19605         Improve recent change to emacsclient on Cygwin
19606         * lisp/server.el (server-process-filter): Remove redundant check
19607         that 'cygwin-convert-file-name-from-windows' is defined as a
19608         function on Cygwin.  Don't call that function unless its argument
19609         starts with a drive letter.
19611 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
19613         * lisp/emacs-lisp/package.el (package-compute-transaction):
19614         Fix void variable due to `found-something' being in the wrong `let'.
19616 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
19618         * lisp/play/landmark.el: Move to lisp/obsolete/.
19620 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
19622         Have `x-show-tip' handle `right' and `bottom' frame parameters
19623         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
19624         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
19625         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
19626         tooltips also via `right' and `bottom' frame parameters.
19628 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
19630         Add online-help support to describe types
19631         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
19632         (describe-symbol): Improve the selection of default.
19633         * lisp/help-mode.el: Require cl-lib.
19634         (describe-symbol-backends): Move from help-fns.el.
19635         (help-make-xrefs): Use it.
19636         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
19637         for types.
19638         (cl--typedef-regexp): New const.
19639         (find-function-regexp-alist): Add entry for types.
19640         (cl-help-type, cl-type-definition): New buttons.
19641         (cl-find-class): New function.
19642         (cl-describe-type): New command.
19643         (cl--describe-class, cl--describe-class-slot)
19644         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
19645         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
19646         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
19647         New functions.  Moved from eieio-opt.el.
19648         (cl--generic-class-parents): New function, extracted from
19649         cl--generic-struct-specializers.
19650         (cl--generic-struct-specializers): Use it.
19651         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
19652         Improve constructor's docstrings.
19653         (cl-struct-unknown-slot): New error.
19654         (cl-struct-slot-offset): Use it.
19655         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
19656         definition in current-load-list.
19657         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
19658         (eieio--add-new-slot): Set it.
19659         (eieio-defclass-internal): Use new name for current-load-list.
19660         (eieio-oref): Add compiler-macro to warn about unknown slots.
19661         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
19662         as compile-time as well.  Improve constructor docstrings.
19663         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
19664         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
19665         (eieio-class-def): Remove button.
19666         (eieio-help-constructor): Use new name for load-history element.
19667         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
19668         (eieio-method-documentation): Move to cl-generic.el.
19669         (eieio-display-method-list): Use new names.
19670         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
19671         Add "define-linline".
19672         (lisp-fdefs): Remove "defsubst".
19673         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
19674         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
19675         (macroexp--warn-and-return): Use it to avoid inf-loops.
19676         Add `compile-only' argument.
19678 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
19680         python.el: Fix local/remote shell environment setup
19681         * lisp/progmodes/python.el (python-shell-with-environment):
19682         Fix remote/local environment setup.
19683         * test/automated/python-tests.el (python-shell-with-environment-1)
19684         (python-shell-with-environment-2): New tests.
19686 2015-07-06  Glenn Morris  <rgm@gnu.org>
19688         * lisp/simple.el (set-variable): Tweak recent doc fix.
19690 2015-07-06  Ken Brown  <kbrown@cornell.edu>
19692         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE.
19694 2015-07-06  Glenn Morris  <rgm@gnu.org>
19696         * lisp/simple.el (set-variable): Use user-error for type mismatch.
19698 2015-07-06  Ken Brown  <kbrown@cornell.edu>
19700         * src/emacs.c (main): Don't increase the stack size on Cygwin.
19702 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
19704         (describe-symbol): Rewrite describe-function-or-variable
19705         * lisp/help-fns.el (describe-symbol-backends): New var.
19706         (help-xref-stack-item): Declare.
19707         (describe-symbol): Rename from describe-function-or-variable.
19708         Rewrite using describe-symbol-backends instead of help-xref-interned.
19709         * lisp/help.el (help-map): Use it.
19710         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
19711         (help-xref-interned): Make it into an obsolete alias.
19713         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
19714         `file' arg (bug#20972).  Always use utf-8-emacs.  Use with-temp-buffer
19715         and cl-letf.
19717 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
19719         Fix parsing glitches in dired-mark-sexp (bug#13575)
19720         * lisp/dired-x.el (dired-x--string-to-number): New function.
19721         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
19722         of directory-listing-before-filename-regexp.  Consider
19723         forward-word harmful and replace it.  Add more verbiage in
19724         comments and doc string.
19726 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
19728         python.el: Respect process environment for remote shells
19729         * lisp/progmodes/python.el
19730         (python-shell-calculate-process-environment): Calculate
19731         process-environment or tramp-remote-process-environment depending
19732         whether current file is remote.
19733         (python-shell-calculate-exec-path): Calculate exec-path or
19734         tramp-remote-path depending whether current file is remote.
19735         (python-shell-with-environment): New macro.
19736         (python-shell-prompt-detect, python-shell-calculate-command)
19737         (python-shell-make-comint, python-check): Use it.
19739         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
19740         * lisp/progmodes/python.el (python-shell--interpreter)
19741         (python-shell--interpreter-args): New vars.
19742         (inferior-python-mode, python-shell-make-comint): Use them.
19744         python.el: Fixes for IPython 3.x  (Bug#20580)
19745         * lisp/progmodes/python.el:
19746         (python-shell-completion-native-setup): Fix IPython 3.x setup.
19747         (python-shell-completion-native-get-completions): Fix timeout
19748         logic.
19750         python.el: Fix mark-defun behavior  (Bug#19665)
19751         * lisp/progmodes/python.el (python-mark-defun): New function.
19752         * test/automated/python-tests.el (python-mark-defun-1)
19753         (python-mark-defun-2, python-mark-defun-3): New tests.
19755 2015-07-05  Glenn Morris  <rgm@gnu.org>
19757         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
19758         such as "extends(parent), private".  (Bug#20969)
19759         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
19760         New tests.
19762 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19764         Avoid duplicate calls to current_timespec
19765         * src/process.c (wait_reading_process_output):
19766         Cache current_timespec results as long as we're not waiting.
19768 2015-07-05  Ian Kelling  <ian@iankelling.org>
19770         Avoid returning early reading process output due to SIGIO
19771         * src/process.c (wait_reading_process_output): Extend the behavior of
19772         not breaking due to not finding output when a timer has lowered the
19773         timeout to include when SIGIO lowers the timeout.
19775         Don't return as fast reading any process output
19776         * src/process.c (wait_reading_process_output):
19777         The patch for Bug#17647 returns too fast sometimes when reading
19778         from any processes.  Revert part of it, and limit the timeout more
19779         sensibly (Bug#20978).
19781         Refactor timeouts in wait_reading_process_output
19782         * src/process.c (wait_reading_process_output):
19783         Simplify timeouts with an enum.  Remove a redundant condition.
19784         (Bug#20978)
19786         Remove ADAPTIVE_READ_BUFFERING ifdef
19787         * src/process.c (make-process, make-pipe-process, deactivate_process)
19788         (wait_reading_process_output, read_process_output, send_process)
19789         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
19790         added in case there was an operating system in which it was not
19791         useful.  That was 11 years ago and it hasn't happened.  Make
19792         development easier by not considering the effect of changes on a
19793         theoretical OS where this is disabled (Bug#20978).
19795 2015-07-05  Glenn Morris  <rgm@gnu.org>
19797         * lisp/simple.el (set-variable): Doc fix.
19799         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
19801 2015-07-05  Ian Kelling  <ian@iankelling.org>
19803         accept-process-output fix
19804         This is a followon to the fix for bug#17647 (Bug#20976).
19805         * src/process.c (status_notify): Fix too high return in some cases.
19807 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
19809         * lisp/character-fold.el (character-fold-table):
19810         Only fold decompositions if at least one character is non-spacing.
19811         (Bug#20975)
19813 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19815         Merge from gnulib
19816         This incorporates:
19817         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
19818         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
19819         2015-07-02 update-copyright: fix test failure with perl >= 5.22
19820         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
19821         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
19822         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
19823         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
19825 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
19827         Respect `prog-indentation-context' in python.el
19828         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
19829         (python-indent-context, python-indent--calculate-indentation)
19830         (python-info-current-defun)
19831         (python-info-dedenter-opening-block-message)
19832         (python-info-line-ends-backslash-p)
19833         (python-info-beginning-of-backslash)
19834         (python-info-continuation-line-p): Use `prog-widen'.
19835         (python-indent--calculate-indentation)
19836         (python-indent--calculate-levels)
19837         (python-indent-calculate-indentation): Use `prog-first-column'.
19838         (python-indent--calculate-levels): Simplify.
19839         Ignore also initial empty lines for syntax calculation.
19840         * lisp/progmodes/python.el (python-indent-context): Return
19841         :no-indent for first non-empty line, not just in line 1.
19842         * test/automated/python-tests.el (python-indent-base-case)
19843         (python-indent-inside-paren-1, python-indent-inside-paren-2)
19844         (python-indent-inside-paren-3, python-indent-inside-paren-4)
19845         (python-indent-inside-paren-5, python-indent-inside-paren-6)
19846         (python-indent-after-backslash-1)
19847         (python-indent-after-backslash-2)
19848         (python-indent-after-backslash-3)
19849         (python-indent-after-backslash-4, python-indent-inside-string-1):
19850         Expect :no-indent for first non-empty line.
19852 2015-07-04  Daniel Colascione  <dancol@dancol.org>
19854         Factor isearch word description into new function
19855         * lisp/isearch.el (isearch--describe-word-mode): New function.
19856         (isearch-message-prefix, isearch-query-replace): Use it.
19858 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
19860         Fix mouse pointer on w32 when a menu is active
19861         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
19862         shape while a menu is in use.  This started happening since we now
19863         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
19865 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
19867         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
19868         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
19869         parameter.  (Bug#17344)
19871         Have `compilation-set-window' use right window for getting fringes
19872         (Bug#20829)
19873         * lisp/progmodes/compile.el (compilation-set-window):
19874         Take `window-fringes' from argument window.
19876 2015-07-03  Glenn Morris  <rgm@gnu.org>
19878         Update eieio tests for recent eieio-core change.
19879         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
19880         * test/automated/eieio-tests.el
19881         (eieio-test-32-slot-attribute-override-2):
19882         Replace the deleted eieio--class-v with cl--find-class.
19884 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
19886         Fix some issues with `window-divider-mode'
19887         * lisp/frame.el (window-divider-default-places): New option.
19888         (window-divider-mode): Remove option.
19889         (window-divider-mode): Make it a "regular" minor mode.
19890         (window-divider-width-valid-p): Drop frame- prefix.
19891         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
19892         prefix.  Handle `window-divider-default-places'.
19893         (frame--window-divider-mode-set-and-apply): Remove.
19894         (window-divider-default-bottom-width)
19895         (window-divider-default-right-width): Drop :group entries.
19896         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
19897         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
19898         (menu-bar-no-window-divider): Set `window-divider-default-places'
19899         and call `window-divider-mode'.
19900         * doc/emacs/frames.texi (Window Dividers): Document
19901         `window-divider-default-places'.
19903 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
19905         * doc/emacs/display.texi (Displaying Boundaries):
19906         * doc/emacs/search.texi (Word Search): Add cross references.
19908 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
19910         -batch should not affect ‘’ -> `' display
19911         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
19912         -batch (Bug#20926).
19914 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
19916         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
19917         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el:
19918         * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
19919         Use cl--find-class instead.
19921         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
19923 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
19925         Some further fixes in Change Window node (Bug#20183)
19926         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
19927         by "resizing" in section title.  Add some concept indices.
19928         Suggested by N. Jackson (Bug#20183).
19930         * doc/emacs/windows.texi (Change Window): Reference window
19931         dividers.
19933         Document new `window-divider-mode'.
19934         * lisp/frame.el (window-divider-mode): Fix doc-string.
19935         * doc/emacs/frames.texi (Window Dividers): New section.
19937         Improve accessibility of window dividers (Bug#20183)
19938         * lisp/faces.el (window-divider)
19939         (window-divider-first-pixel, window-divider-last-pixel): Change
19940         membership from `frames' to `window-divider' customization group.
19941         * lisp/frame.el (window-divider): New customization group.
19942         (window-divider-mode): New minor mode.
19943         (window-divider-default-bottom-width)
19944         (window-divider-default-right-width): New options.
19945         (frame--window-divider-previous-mode): New variable.
19946         (frame-window-divider-width-valid-p)
19947         (frame--window-divider-mode-apply)
19948         (frame--window-divider-mode-set-and-apply): New functions.
19949         * lisp/menu-bar.el (menu-bar-options-save): Save
19950         window-divider-mode settings.
19951         (menu-bar-window-divider-customize)
19952         (menu-bar-bottom-and-right-window-divider)
19953         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
19954         (menu-bar-no-window-divider): New functions.
19955         (menu-bar-showhide-window-divider-menu): New variable.
19956         (menu-bar-showhide-menu): Show/hide window divider menu.
19957         * lisp/mouse.el (mouse-split-window-vertically)
19958         (mouse-split-window-horizontally): Replace `error' by
19959         `user-error'.  Bind `window-combination-resize' to nil.
19960         (top-level): Add/reorder mouse key bindings on mode- and
19961         vertical-line.
19963 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
19965         Don't display ‘’ as `' under X in en_GB
19966         The curved quote setup code invokes (char-displayable-p ?‘),
19967         but this isn’t reliable until after the X frame replaces the
19968         terminal frame (Bug#20926).
19969         * lisp/international/mule-cmds.el (set-locale-environment):
19970         Move curved quote setup code from here ...
19971         * lisp/startup.el (command-line): ... to here, after creating
19972         the X frame.
19974 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
19976         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring.
19978         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
19979         to reverse the meaning (Bug#15631).
19981 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
19983         Be more tolerant to fonts named "Foobar-12"
19984         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
19985         don't barf; instead, request a new fontset to be generated.  This
19986         avoids unnecessarily rejecting fonts named against XLFD rules.  See
19987         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
19988         for the description of the original problem.
19989         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
19990         by a hyphen in a font's name.
19992         Fix value of posn-at-pont in R2L lines
19993         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
19994         coordinate of -1, for a newline in a right-to-left line that
19995         overflowed into the left fringe.
19997 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
19999         (cl--copy-slot-descriptor): Copy the `props' alist as well
20000         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
20001         Rename from cl--copy-slot-descriptor.
20002         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
20004 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
20006         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
20007         (xterm-query-timeout): New var.
20008         (xterm--query): Use it.  Fallback on async method if we timeout before
20009         getting the first byte of the reply (bug#12354).
20011 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
20013         Spelling fixes
20014         * lisp/character-fold.el (character-fold-search):
20015         * lisp/emacs-lisp/package.el (package-hidden-regexps):
20016         Fix typos.
20018 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
20020         * doc/emacs/frames.texi (Frame Commands): Typo fix.  (Bug#20946)
20022 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
20024         In strings, prefer plain ` and ' to \` and \'
20025         * lisp/allout.el (allout-insert-listified):
20026         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
20027         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
20028         (ls-lisp-string-lessp):
20029         * lisp/menu-bar.el (menu-bar-open):
20030         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
20031         * lisp/progmodes/compile.el (compile):
20032         * lisp/progmodes/etags.el (tags-loop-scan):
20033         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
20034         * lisp/subr.el (posn-actual-col-row):
20035         * lisp/term/pc-win.el (x-list-fonts):
20036         * lisp/textmodes/texinfmt.el (texinfmt-version):
20037         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
20038         * lisp/time.el (display-time-world-list):
20039         * lisp/tmm.el (tmm-menubar):
20040         * src/buffer.c (syms_of_buffer):
20041         * src/fileio.c (syms_of_fileio):
20042         Omit unnecessary and confusing backslash before quote.
20043         * lisp/erc/erc.el (erc-cmd-LASTLOG):
20044         * lisp/progmodes/flymake.el (flymake-fix-file-name):
20045         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
20046         Fix string that was intended to escape a backslash and not a quote.
20048 2015-06-30  Glenn Morris  <rgm@gnu.org>
20050         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
20052         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
20053         Replace hard-coded lists with wildcard + filter-out.
20055         * configure.ac (system-configuration-features): Add X11, NS.
20057         Improve reproducibility of generated loaddefs file
20058         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
20059         Make the return value the modtime of the input file (if no autoloads).
20060         (update-directory-autoloads): In the "no autoloads" section,
20061         use "most recent modtime" rather than "current time".
20063 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
20065         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic.
20066         (Bug#20930)
20068 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
20070         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
20072         Add seq-min and seq-max
20073         Bump version number.
20074         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
20075         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
20077 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
20079         Make sure sleep-for always delays for as long as it's told
20080         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
20081         a loop, to ensure we always wait exactly the required amount of
20082         time.  (Bug#15990)
20084 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
20086         Fix pointer signedness glitch
20087         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
20089 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
20091         Don't block changes in mouse pointer inside 'track-mouse'
20092         * etc/NEWS:
20093         * doc/lispref/frames.texi (Mouse Tracking): Document the special
20094         effect of setting 'track-mouse' to 'dragging'.
20095         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
20096         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
20097         * lisp/mouse-drag.el (mouse-drag-throw):
20098         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
20099         to avoid changes in the shape of the mouse pointer.
20100         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
20101         pointer shape when do_mouse_tracking has the value of 'dragging',
20102         not just any non-nil value.  (Bug#20934)
20103         (syms_of_xdisp): DEFSYM 'dragging'.
20105 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
20107         * lisp/isearch.el (isearch-toggle-word): Fix toggle.
20109         * lisp/emacs-lisp/package.el (package-compute-transaction):
20110         Don't assume version sorting.
20112         * lisp/emacs-lisp/package.el (package--save-selected-packages):
20113         Don't save before init time, to avoid overwriting configurations.
20114         (Bug#20855)
20116 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
20118         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
20119         references.
20121 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
20123         Update for the upcoming CFEngine 3.7 release: support macros and
20124         quoted context strings; reformat JSON; indent promise attributes 2
20125         units by default; give function parameter descriptions in the eldoc
20126         glue.
20127         * lisp/progmodes/cfengine.el: Update version and docs and fix name.
20128         Autoload `json-pretty-print'.  Support new features in 3.7.
20129         (cfengine-parameters-indent): Set default promise attribute indent to
20130         2 more than the promise itself.
20131         (cfengine3-macro-regex): New variable to match the new macro syntax.
20132         (cfengine3-font-lock-keywords): Use it to highlight macros.
20133         (cfengine3-indent-line): Use it to indent macros to column 0.
20134         (cfengine3-class-selector-regex): Update for the new quoted strings
20135         format.
20136         (cfengine3-reformat-json-string): New function to reformat a JSON
20137         string using `json-pretty-print'.
20138         (cfengine3-format-function-docstring): Use function parameter
20139         description if it's provided by the cf-promises syntax dump.
20141 2015-06-29  Michael R. Mauger  <michael@mauger.com>
20143         Cygwin emacsclient handles w32 file names
20144         * lisp/server.el (server-process-filter): Allow Cygwin's
20145         emacsclient to be used as a file handler on MS-Windows.
20147 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
20149         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice
20150         (bug#20925).
20152 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
20154         * doc/lispref/text.texi (Sticky Properties): Improve wording.
20155         (Bug#20924)
20157         Allow font names that end in "-NN", where NN is a number
20158         * src/font.c (font_load_for_lface): If the font-spec didn't match
20159         any available fonts, try again without interpreting trailing "-NN"
20160         as the font size.  For the description of the original problem, see
20161         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
20163         .gdbinit followup to changes in !USE_LSB_TAG
20164         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
20165         !USE_LSB_TAG, as Emacs no longer does.
20167 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
20169         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
20170         Otherwise `s p' of f and F will stomp on each other's value.
20171         (Bug#20916)
20173 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
20175         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
20176         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
20178 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
20180         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point
20181         as additional guess.
20183         * lisp/emacs-lisp/package.el (describe-package): Convert the guess
20184         to a string.
20186 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
20188         apropos-library quoting fix
20189         * lisp/apropos.el (apropos-library): Quote library consistently
20190         with the rest of the quoting used by apropos.
20192         Clarify interpreter-mode-alist doc
20193         * lisp/files.el (interpreter-mode-alist):
20194         Reword to avoid confusing quoting that wasn't working anyway.
20196 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
20198         Sync with Tramp 2.2.12
20199         * doc/misc/trampver.texi:
20200         * lisp/net/trampver.el: Update release number.
20201         * test/automated/tramp-tests.el (tramp-test13-make-directory):
20202         Fix cleanup.
20204 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
20206         * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913).
20208 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
20210         Bind grep-highlight-matches around the rgrep call
20211         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
20212         around the rgrep call (bug#20728).
20214         Put "--color" before the other options in grep-command
20215         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
20216         before the other options in grep-command (bug#20912).
20218         Add --color Grep option to the command dynamically
20219         * lisp/progmodes/grep.el (grep-template, grep-find-template):
20220         Update the description for <C>.  (Bug#20728)
20221         (grep-compute-defaults): Don't add the --color option to
20222         grep-options.  Only add it to grep-command.
20223         (grep-expand-keywords): Expand the env value opts into <C>.
20224         (grep-expand-template): Replace cf in the env with the opts list,
20225         that can include -i and --color.
20226         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
20227         "--color=always" from the template, because we don't have to.
20229 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
20231         cl-extra fixes for most-negative-fixnum
20232         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
20233         Don't mishandle an argument equal to most-negative-fixnum,
20234         whose absolute value equals itself.
20235         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
20237         Initialize cl--gensym-counter to 0
20238         Previously it was initialized to a random value, which made it
20239         harder to reproduce earlier Emacs runs.  The need for a random
20240         value went away when Emacs introduced and used the #: syntax for
20241         uninterned symbols (Bug#20862).
20242         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
20243         Document that cl--gensym-counter now starts with 0.
20244         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
20245         (cl--random-time): Move to near only remaining use.
20246         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
20248         Improve docstring for macroexp-let2
20249         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
20250         Improve as per suggestion by RMS in:
20251         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
20252         Also, rename args to match new doc string.
20254 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
20256         Fix VC test suite on MS-Windows
20257         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
20258         always starts with 3 slashes after the colon.
20259         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
20260         'w32-application-type' to invoke CVS on MS-Windows with properly
20261         formatted CVSROOT directory name.
20263         Add a new function w32-application-type
20264         * src/w32proc.c (Fw32_application_type): New function.
20266         Avoid error in TLS connections due to incorrect format
20267         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
20268         the call to 'error', instead of the unsupported %u.  Reported by
20269         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
20271 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
20273         * lisp/replace.el (replace-search): Fix regexp case (bug#20901).
20275 2015-06-26  Leo Liu  <sdl.web@gmail.com>
20277         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
20278         `with-output-to-string' in elisp.
20280         Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of
20281         with-output-to-string".
20282         This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
20284 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
20286         Minor corrections in ELisp manual
20287         * doc/lispref/nonascii.texi (Character Properties): Correct
20288         inaccuracies in description of values of the Unicode properties.
20290         Fix invisible mouse pointers on Windows.
20291         * src/w32fns.c: Include windowsx.h.
20292         (w32_wnd_proc): If the mouse moved and the mouse pointer is
20293         invisible, make it visible again even when the main (Lisp)
20294         thread is busy.
20295         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
20296         garbaging the frame have the input thread call SetCursor.
20298 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
20300         Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922)
20301         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
20302         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
20303         * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible.
20304         (w32_toggle_invisible_pointer): New function.
20305         (w32_create_terminal): Add w32_toggle_invisible_pointer as
20306         toggle_invisible_pointer_hook for this terminal.
20308 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
20310         Doc fix for deletion commands
20311         'delete-char' does not respect the value of 'delete-active-region'.
20312         * doc/emacs/killing.texi (Deletion):
20313         Fix documentation for some single-char deletion commands.
20315         * doc/emacs/help.texi (Apropos):
20316         Improve documentation of 'apropos-do-all'.
20318         * doc/emacs/help.texi (Help Summary):
20319         Improve documentation of 'describe-mode'.
20321 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
20323         Fix submake dependency bug with .h files
20324         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
20325         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
20326         before the submake in $(libsrc) would spin off a subsubmake
20327         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
20329 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
20331         * lisp/character-fold.el (character-fold-table): Reuse `table'.
20333 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
20335         Translate undisplayable ‘ to `
20336         * doc/lispref/help.texi (Keys in Documentation):
20337         * lisp/international/mule-cmds.el (set-locale-environment):
20338         * lisp/term/w32console.el (terminal-init-w32console):
20339         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
20340         If ‘ is not displayable, transliterate it to `, not to '.  See:
20341         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
20343         Fix C99 incompatibilities in Cairo code
20344         * src/image.c (xpm_load) [USE_CAIRO]:
20345         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
20346         Fix pointer signedness problem.
20348 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
20350         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
20351         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
20352         `with-output-to-string' should have the same indent as `progn'.
20353         This is in line with the declaration of `with-output-to-string'.
20355 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
20357         Get ‘./configure; make -C src emacs’ to work
20358         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
20359         * lib-src/Makefile.in (../lib/libgnu.a):
20360         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
20362 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
20364         Fix GC bugs --with-wide-int and Qnil == 0
20365         Use the same alignment for the !USE_LSB_TAG case as for the
20366         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
20367         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
20368         once we changed the representation of symbols so that Qnil == 0.
20369         Problem reported by Eli Zaretskii (Bug#20862).
20370         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
20371         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
20372         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
20373         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
20374         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
20375         This optimization in the !USE_LSB_TAG case is no longer valid when
20376         symbols are represented via offsets.  Change the only use to
20377         assume that pointers might hide in objects.
20378         * src/lisp.h (alignas) [!USE_LSB_TAG]:
20379         Require support in this case, too.
20380         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
20381         This is OK, because the !USE_LSB_TAG case now applies only when
20382         Lisp_Object is wider than void *, so there's no longer any need
20383         to shift the offset.  Not shifting the offset means that
20384         symbol representations have the same alignment as pointers,
20385         which the GC assumes.
20387 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
20389         * doc/lispintro/emacs-lisp-intro.texi (Data types):
20390         Improve documentation of 'substring'.
20392 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
20394         * lisp/character-fold.el (character-fold-table): Fix table generation.
20396 2015-06-24  Glenn Morris  <rgm@gnu.org>
20398         * nextstep/Makefile.in (all): Make it the first target.
20399         (../src/emacs${EXEEXT}): Add rule for making it.
20401 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
20403         * etc/NEWS: Fix mention to old function name.
20405         * lisp/character-fold.el: New file (Bug#20887)
20406         (character-fold-to-regexp): New function.
20407         * lisp/replace.el (replace-search): Check value of
20408         `character-fold-search'.
20409         * lisp/isearch.el: Move character-folding code to
20410         character-fold.el
20411         (isearch-toggle-character-fold): New command.
20412         (isearch-mode-map): Bind it to "\M-sf".
20413         (isearch-mode): Check value of `character-fold-search'.
20415 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20417         lisp/subr.el (remove-from-invisibility-spec): Handle the t case
20418         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
20419         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
20421         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
20422         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
20424 2015-06-24  Glenn Morris  <rgm@gnu.org>
20426         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
20428 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20430         lisp/gnus/nnmaildir.el: Silence lexical warnings
20431         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
20432         functional style.
20433         (nnmaildir--update-nov): Remove unused var `numdir'.
20434         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
20435         (nnmaildir-request-group, nnmaildir-request-create-group)
20436         (nnmaildir-request-post, nnmaildir-request-move-article)
20437         (nnmaildir-request-accept-article, nnmaildir-active-number):
20438         Mark unused args.
20439         (nnmaildir-get-new-mail, nnmaildir-group-alist)
20440         (nnmaildir-active-file): Declare.
20441         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
20442         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
20443         `mark', `end', `new-mark', and `mark-sym'.
20444         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
20445         `nlist2'.
20446         (nnmaildir-request-expire-articles):
20447         Remove unused vars `article', `stop' and `nlist2'.
20448         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
20449         `end'.  Use nnmaildir--article when dyn-binding is needed.
20450         Give the value directly in the `let' for `del-mark', `del-action',
20451         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
20452         (nnmaildir-close-server): Declare those local vars that need to be
20453         dyn-bound.
20455 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
20457         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
20459         Port selection info fix to clang
20460         * src/keyboard.h (kbd_buffer_store_event_hold):
20461         Don't assume C11 semantics for alignof (Bug#20756).
20463         Fix bug that munged selection info
20464         On some optimizing C compilers, copying a structure did not
20465         copy the padding bytes between elements, and the type punning
20466         between struct input_data and struct selection_input_data did
20467         not work.  Change the C code to use a proper union type instead.
20468         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
20469         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
20470         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
20471         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
20472         (mark_kboards):
20473         Use union buffered_input_event, not struct input_event.
20474         (clear_event, deliver_input_available_signal, process_special_events):
20475         Remove unnecessary forward decls.
20476         (kbd_buffer_store_buffered_event): New function, mostly just the
20477         old kbd_buffer_store_event_hold, except its argument is of type
20478         union buffered_input_event, not struct input_event.
20479         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
20480         not needed otherwise.  Argument is now of type
20481         struct selection_input_event *, not struct input_event *.
20482         All callers changed.
20483         (clear_event): Arg is now of type union buffered_input_event *,
20484         not struct input_event *.  All callers changed.
20485         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
20486         (union buffered_input_event): New type.
20487         (kbd_buffer_store_event_hold): Now an inline function,
20488         defined here.
20489         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
20490         (struct input_event): Use it.
20491         * src/xselect.c (struct selection_event_queue):
20492         Make elements be of type struct selection_input_event,
20493         not struct input_event.
20494         (selection_input_event_equal): New static function.
20495         (x_queue_event): Use it.
20496         (x_queue_event, x_decline_selection_request)
20497         (x_selection_current_request, x_reply_selection_request)
20498         (x_handle_selection_request, x_handle_selection_clear)
20499         (x_handle_selection_event): Use struct selection_input_event,
20500         not struct input_event.  All callers changed.
20501         (x_convert_selection): Omit unused first arg.  All callers changed.
20502         (Fx_disown_selection_internal): Omit unnecessary union.
20503         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
20504         rather than rolling our own equivalent.  Prefer sie.kind when
20505         setting up that kind of structure.
20506         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
20507         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
20508         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
20509         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
20510         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
20511         (SELECTION_EVENT_TIME, x_handle_selection_event):
20512         Arg is now of type struct selection_input_event *)
20513         not struct input_event *.  All callers changed.
20515 2015-06-23  Glenn Morris  <rgm@gnu.org>
20517         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
20519 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
20521         * lisp/isearch.el: Fold many unicode characters to ASCII.
20522         (isearch-character-fold-search, isearch--character-fold-extras)
20523         (isearch--character-fold-table): New variable.
20524         (isearch--character-folded-regexp): New function.
20525         (isearch-search-fun-default): Use them.
20526         * lisp/replace.el (replace-character-fold): New variable.
20527         (replace-search): Use it.
20528         * etc/NEWS: Document it.
20530 2015-06-23  Glenn Morris  <rgm@gnu.org>
20532         Check for an input event before showing a dialog box.  (Bug#20813)
20533         * lisp/subr.el (y-or-n-p):
20534         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
20535         as last-nonmenu-event.
20537 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
20539         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
20540         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
20541         (switch-to-prev-buffer, switch-to-next-buffer): Respect
20542         switch-to-visible-buffer independent of the windows history.
20544 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
20546         * src/keyboard.c (last_timer_event): Remove unused var.
20548 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
20550         * test/automated/package-test.el (package-test-update-listing):
20551         Fix test.
20553 2015-06-23  Glenn Morris  <rgm@gnu.org>
20555         Revert 2014-06-25 nextstep/Makefile change.
20556         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
20557         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
20558         not as an order-only prerequisite.
20560         * configure.ac (--with-ns): Enable by default on OS X.
20562 2015-06-23  Leo Liu  <sdl.web@gmail.com>
20564         Fix shell-for/backward-command to exclude spaces
20565         * lisp/shell.el (shell-forward-command, shell-backward-command):
20566           Handle the 'move case from re-search-forward/backward.
20567           fixes debbugs:20873
20569 2015-06-22  Juri Linkov  <juri@linkov.net>
20571         * lisp/replace.el (query-replace-read-from): Add separator to
20572         the local binding of text-property-default-nonsticky.  (Bug#20690)
20574         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
20575         (Bug#20785)
20577 2015-06-22  Ken Brown  <kbrown@cornell.edu>
20579         Enable CPU profiling on Cygwin
20580         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
20581         change that undefined this.
20582         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
20583         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
20584           Cygwin.
20586         Improve diagnostics of profiler-cpu-start
20587         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
20588         return -1 if the sampling interval is invalid.
20589         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
20590         fails.  (Bug#20843)
20592 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
20594         * lisp/emacs-lisp/package.el: Exclude packages by name.
20595         (package-hidden-regexps): New variable.
20596         (package-menu--refresh): Use it.
20597         (package-menu-hide-package): New command.
20599         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding.
20601 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
20603         Fix debug-timer-check on systems without HAVE_TIMERFD
20604         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
20605         the expired timers, since wait_reading_process_output doesn't.
20606         (debug_timer_callback): Enlarge the tolerance to 20 msec.
20608         Fix RCS crashes in vc-test
20609         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
20610         ports of 'ci' on MS-Windows by always passing the -t- switch.
20612 2015-06-22  Glenn Morris  <rgm@gnu.org>
20614         * doc/emacs/package.texi (Packages):
20615         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
20617         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
20619 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
20621         Port tests to help-quote-translation
20622         * test/automated/ert-x-tests.el (ert-test-describe-test):
20623         * test/automated/package-test.el (package-test-describe-package)
20624         (package-test-signed): Allow straight quotes, too.
20626 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
20628         Make find-function-on-key use the current window
20629         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
20630         Extract from `find-function-on-key', add a second argument.
20631         (find-function-on-key): Use it (bug#19679).
20632         (find-function-on-key-other-window)
20633         (find-function-on-key-other-frame): New commands.
20635 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
20637         Revert "Define `map-elt' as a generalized variable"
20638         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
20640 2015-06-21  Ken Brown  <kbrown@cornell.edu>
20642         Drop support for CPU profiling on Cygwin
20643         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
20644         (Bug#20843)
20646 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
20648         Fix some “nested” quoting confusion in doc strings
20649         * lisp/emacs-lisp/advice.el (ad-map-arglists):
20650         * lisp/kermit.el (kermit-clean-on):
20651         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
20652         * src/keyboard.c (Frecursive_edit):
20653         Use curved quotes when quoting text containing apostrophe,
20654         so that the apostrophe isn't curved in the output.
20656 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
20658         Define `map-elt' as a generalized variable
20659         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
20660         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
20661         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
20662         `setf' with `map-elt'.
20663         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
20665 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
20667         Improve error handling in tramp-adb.el
20668         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
20669         Improve error handling.
20671 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
20673         Reuse `alist-get' in map.el
20674         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
20675         elements.
20677 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
20679         Fix bytecomp-tests--warnings when $TMPDIR has a long name
20680         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
20681         Allow the warning to begin on the 3rd, not only 2nd line, which
20682         happens if temporary-file-directory has a very long name.
20684         Expect 2 icalendar tests to fail on MS-Windows
20685         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
20686         (icalendar-real-world): Make them expected failures on MS-Windows.
20688 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
20690         Improve port of settings UI to older displays
20691         * lisp/cus-start.el (standard): Don't assume curved quotes are
20692         easily distinguishable when users are tinkering with a setting
20693         that affects how curved quotes are generated.
20695         Fix quoting in electric-quote-mode doc string
20696         * lisp/electric.el (electric-quote-mode): Fix quoting.
20697         This is a fallout from the recent change introducing
20698         ‘help-quote-translation’.
20700         Spelling fix
20702         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
20704         * src/doc.c (syms_of_doc): Remove unused symbols.
20706 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
20708         * lisp/window.el (window-state-put): Undedicate target window
20709         before putting STATE into it.  (Bug#20848)
20711 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
20713         Merge from origin/emacs-24
20714         a5e6f33 Fixes: debbugs:20832
20715         b9f02cf Fixes: debbugs:20832
20717 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
20719         Fix file-in-directory-p when the directory is UNC
20720         * lisp/files.el (file-in-directory-p): Support files and
20721         directories that begin with "//".  (Bug#20844)
20723 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
20725         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
20726         in the minibuffer.  (Bug#20832)
20728 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
20730         * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer
20731         for adding new todo file is empty but modified.  (Bug#20832)
20733 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
20735         (filepos-to-bufferpos): Further tweaks to the utf-16 code
20736         * lisp/international/mule-util.el (filepos-to-bufferpos):
20737         Fix typo.  Move non-exact check to the utf-16 branch (the only one
20738         affected).  Don't use byte-to-position for the utf-16 case.
20740 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
20742         Minor fixes in filepos-to-bufferpos
20743         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
20744         test for utf-8-emacs.  Exempt single-byte encodings from the
20745         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
20746         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
20747         UTF-16 encoded files for CR-LF EOLs.
20749 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
20751         Improve the optional translation of quotes
20752         Fix several problems with the recently-added custom variable
20753         help-quote-translation where the code would quote inconsistently
20754         in help buffers.  Add support for quoting 'like this', which
20755         is common in other GNU programs in ASCII environments.  Change
20756         help-quote-translation to use more mnemonic values: values are now the
20757         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
20758         traditional Emacs help-buffer quoting style `like this'.  Change the
20759         default behavior of substitute-command-keys to match what's done in
20760         set-locale-environment, i.e., quote ‘like this’ if displayable,
20761         'like this' otherwise.
20762         * doc/lispref/help.texi (Keys in Documentation): Document
20763         new behavior of substitute-command-keys, and document
20764         help-quote-translation.
20765         * doc/lispref/tips.texi (Documentation Tips):
20766         Mention the effect of help-quote-translation.
20767         * etc/NEWS: Mention new behavior of substitute-command-keys,
20768         and merge help-quote-translation news into it.
20769         When talking about doc strings, mention new ways to type quotes.
20770         * lisp/cedet/mode-local.el (overload-docstring-extension):
20771         Revert my recent change to this function, which shouldn't be
20772         needed as the result is a doc string.
20773         * lisp/cedet/mode-local.el (mode-local-print-binding)
20774         (mode-local-describe-bindings-2):
20775         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
20776         * lisp/cus-theme.el (describe-theme-1):
20777         * lisp/descr-text.el (describe-text-properties-1, describe-char):
20778         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
20779         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
20780         (eieio-help-constructor):
20781         * lisp/emacs-lisp/package.el (describe-package-1):
20782         * lisp/faces.el (describe-face):
20783         * lisp/help-fns.el (help-fns--key-bindings)
20784         (help-fns--compiler-macro, help-fns--parent-mode)
20785         (help-fns--obsolete, help-fns--interactive-only)
20786         (describe-function-1, describe-variable):
20787         * lisp/help.el (describe-mode):
20788         Use substitute-command-keys to ensure a more-consistent quoting
20789         style in help buffers.
20790         * lisp/cus-start.el (standard):
20791         Document new help-quote-translation behavior.
20792         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
20793         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
20794         (help-xref-url-regexp):
20795         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
20796         * lisp/wid-edit.el (widget-documentation-link-regexp):
20797         Also match 'foo', in case we're in a help buffer generated when
20798         help-quote-translation is ?'.
20799         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
20800         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
20801         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
20802         (Fsubstitute_command_keys): Document and implement new behavior.
20803         (Vhelp_quote_translation): Document new behavior.
20805 2015-06-18  Glenn Morris  <rgm@gnu.org>
20807         * lisp/cus-start.el (help-quote-translation): Add :version.
20809         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
20811 2015-06-18  Alan Mackenzie  <acm@muc.de>
20813         Make translation of quotes to curly in doc strings optional.
20814         * src/doc.c (traditional, prefer-unicode): New symbols.
20815         (help-quote-translation): New variable.
20816         (Fsubstitute_command_keys): Make translation of quotes dependent on
20817         `help-quote-translation'; also translate curly quotes back to ASCII
20818         ones.
20819         * lisp/cus-start.el (top-level): Add a customization entry for
20820         `help-quote-translation'.
20822 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
20824         * lisp/emacs-lisp/package.el: Don't always propagate async errors
20825         (package--with-work-buffer-async): Only propagate the error if the
20826         callback returns non-nil.
20827         (package--download-one-archive): Return nil on the signature
20828         checking callback if we accept unsigned.
20829         (package--download-and-read-archives): Return non-nil on the
20830         archive download callback.
20832 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
20834         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
20835         * src/nsfns.m (Fx_create_frame):
20836         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
20837         image_cache_refcount before first x_default_parameter call.
20839 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
20841         Improve and extend filepos-to-bufferpos
20842         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
20843         Don't barf if F returns nil for some argument.
20844         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
20845         that every encoding of type 'charset' is single-byte.
20847 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
20849         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
20850         Properly delete packages.  (Bug#20836)
20852 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
20854         Update data files from just-released Unicode 8.0
20855         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
20856         status.
20857         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
20858         * admin/unidata/BidiMirroring.txt:
20859         * admin/unidata/BidiBrackets.txt:
20860         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
20862 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
20864         Document curved quotes a bit better
20865         * doc/emacs/basic.texi (Inserting Text):
20866         Mention C-x 8.  Change example to use curved quote rather
20867         than infinity, as this lets us give more ways to do it.
20868         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
20869         and quotation marks.
20870         * doc/emacs/text.texi (Quotation Marks):
20871         * doc/lispref/tips.texi (Documentation Tips):
20872         Add "curly quotes" and "curved quotes" to the index.
20873         * doc/emacs/text.texi (Quotation Marks):
20874         Give the C-x 8 shorthands for curved quotes.
20875         Cross-reference to "Quotation Marks".
20877 2015-06-17  Daiki Ueno  <ueno@gnu.org>
20879         Add pinentry.el for better GnuPG integration
20880         * lisp/pinentry.el: New file.
20881         * etc/NEWS: Add entry about pinentry.el.
20882         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
20883         (Bug#20550)
20885 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
20887         * lisp/emacs-lisp/package.el: Slightly better error reporting.
20889 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
20891         (define-minor-mode): Use setq-default for :global minor modes
20892         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
20893         Use setq-default for :global minor modes (bug#20712).
20895 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
20897         Avoid infloop in redisplay with tall images
20898         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
20899         down near ZV.  (Bug#20808)
20900         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
20901         instead of CHARPOS.
20903 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
20905         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
20906         Fix error reporting.
20908         * lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
20910         * lisp/emacs-lisp/package.el: Revert buffer after any operation
20911         Call `package-menu--post-refresh' after any operation that changes
20912         the package database (`package-install' and `package-delete').  To
20913         avoid performance issues in large transactions, these functions
20914         add `post-refresh' to `post-command-hook' instead of calling it
20915         immediately.
20916         (package-menu--mark-or-notify-upgrades): New function.
20917         (list-packages): Add it to `package--post-download-archives-hook'.
20918         (package-menu--post-refresh): Lose the upgrade-checking code, add
20919         code to remove itself from `post-command-hook'.
20920         (package-install, package-delete): Add it to `post-command-hook'.
20921         (package-menu-execute): Don't call `package-menu--post-refresh'.
20923 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
20925         Add missing function xref-location-group for elisp-mode.
20926         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
20928 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
20930         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
20931         The behavior now matches the description in the manual.  (Bug#20783)
20933 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
20935         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
20937 2015-06-17  Glenn Morris  <rgm@gnu.org>
20939         Generate char-script-table from Unicode source.  (Bug#20789)
20940         * admin/unidata/Makefile.in (AWK): New, set by configure.
20941         (all): Add charscript.el.
20942         (blocks): New variable.
20943         (charscript.el, ${unidir}/charscript.el): New targets.
20944         (extraclean): Also remove generated charscript.el.
20945         * admin/unidata/blocks.awk: New script.
20946         * admin/unidata/Blocks.txt: New data file, from unicode.org.
20947         * lisp/international/characters.el: Load charscript.
20948         * src/Makefile.in (charscript): New variable.
20949         (${charscript}): New target.
20950         (${lispintdir}/characters.elc): Depend on charscript.elc.
20951         (temacs$(EXEEXT)): Depend on charscript.
20953         * lisp/international/characters.el (char-script-table): Tweak
20954         some ranges to better match the source.  (Bug#20789#17)
20956         Remove "no-byte-compile: t" from a few files.
20957         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
20958         * lisp/obsolete/patcomp.el: No reason not to compile these.
20960 2015-06-16  Glenn Morris  <rgm@gnu.org>
20962         Fix some typos in copied Unicode data.  (Bug#20789)
20963         * lisp/international/characters.el (char-script-table):
20964         * lisp/international/fontset.el (script-representative-chars)
20965         (setup-default-fontset): Fix typos.
20967         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
20968         Don't print filename twice (it's in the prefix now).
20970         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
20971         No longer needed.
20973         Address a compilation warning.
20974         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
20975         Replace 't' with '_' in pcase.
20977         Address some check-declare warnings.
20978         * lisp/simple.el (tabulated-list-print):
20979         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
20980         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
20981         (ns-get-selection): Update declarations.
20983         Address some compilation warnings.
20984         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
20985         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
20986         Replace 't' with '_' in pcase.
20988         Address some compilation warnings.
20989         * lisp/face-remap.el (text-scale-adjust):
20990         * lisp/menu-bar.el (popup-menu-normalize-position):
20991         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
20992         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
20993         * lisp/emacs-lisp/generator.el (cps--transform-1):
20994         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
20995         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
20996         * lisp/progmodes/octave.el (octave-goto-function-definition)
20997         (octave-find-definition-default-filename):
20998         Replace 't' with '_' in pcase.
21000         * lisp/emacs-lisp/pcase.el (pcase--u1):
21001         Paper-over today's bootstrap failure.
21003 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
21005         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
21007         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
21009         Better confirmation message in `find-alternate-file' (Bug#20830)
21010         * lisp/files.el (find-alternate-file'): Improve the confirmation
21011         message to show the buffer name.
21013         Better docstring for null.  (Bug#20815)
21014         * src/data.c (null): Improves the docstring, saying what null returns
21015         when OBJECT is non-nil.
21017 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
21019         * lisp/net/newst-treeview.el: Use lexical-binding.
21021         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
21022         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
21023         New auxiliary function, extracted from filepos-to-bufferpos.
21024         Make sure it terminates.
21025         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
21026         Add support for the `exact' quality.
21028 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
21030         Identify feeds in newsticker treeview with :nt-feed property
21031         * lisp/net/newst-treeview.el:
21032         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
21034 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
21036         * lisp/emacs-lisp/pcase.el: Improve docs and error handling.
21037         (pcase--self-quoting-p): Floats aren't self-quoting.
21038         (pcase): Tweak docstring.
21039         (pcase--u1): Deprecate the t pattern.  Improve error detection for
21040         the nil pattern.
21041         (\`): Tweak docstring.  Signal an error for unrecognized cases.
21042         (bug#20784)
21044 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
21046         Fix infloop in filepos-to-bufferpos
21047         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
21048         offset calculation, and make it conditional on the eol-type of the
21049         file's encoding.  (Bug#20825)
21051 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
21053         Fix handling of image cache refcounts.  (Bug#20802)
21054         This backports Eli Zaretskii's solution of this problem for W32
21055         to X and NS.
21056         * src/nsfns.m (image_cache_refcount): Define unconditionally.
21057         (unwind_create_frame): If the image cache's reference count
21058         hasn't been updated yet, do that now.
21059         (Fx_create_frame): Set image_cache_refcount unconditionally.
21060         * src/xfns.c (image_cache_refcount): Define unconditionally.
21061         (unwind_create_frame): If the image cache's reference count
21062         hasn't been updated yet, do that now.
21063         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
21064         unconditionally.
21065         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
21066         X and NS.
21068 2015-06-16  Nils Ackermann  <nils@ackermath.info>
21070         Improve reftex-label-regexps default value
21071         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
21072         keyvals label regexp more strict to better cope with unbalanced
21073         brackets common in math documents.
21075 2015-06-16  Glenn Morris  <rgm@gnu.org>
21077         * doc/emacs/calendar.texi (Format of Diary File):
21078         Move "nonmarking" from here...
21079         (Displaying the Diary): ... to here.
21081         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
21082         Swap the order of these nodes.
21083         * doc/emacs/emacs.texi: Update detailed menu for the above change.
21085         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
21086         Update date of examples.
21087         (Diary, Format of Diary File): Move example from former to latter.
21088         Reduce duplication.
21090         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
21091         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
21092         Don't set no-byte-compile in the outputs.
21093         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
21095 2015-06-15  Glenn Morris  <rgm@gnu.org>
21097         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
21098         * doc/emacs/calendar.texi (Diary, Format of Diary File):
21099         Update for above diary-file change.
21101         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
21102         (apply-macro-to-region-lines): Use user-error.
21104         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
21105         (pages-directory-for-addresses): Doc fixes.
21107 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
21109         * lisp/info.el: Cleanup bytepos/charpos issues
21110         * lisp/international/mule-util.el: Use lexical-binding.
21111         (filepos-to-bufferpos): New function.
21112         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
21113         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
21114         (Info-read-subfile, Info-search): Use 0-based file positions.
21116         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
21117         (perl--syntax-exp-intro-keywords): New var.
21118         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
21119         (bug#20800).
21121 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
21123         Fix quoting when making derived mode docstring
21124         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
21125         Nest regexp-quote inside format, not the reverse.
21126         Problem reported by Artur Malabarba in:
21127         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
21129 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
21131         Fix current-iso639-language on MS-Windows
21132         * lisp/international/mule-cmds.el (set-locale-environment):
21133         Downcase the locale name before interning it.  This is so the
21134         'current-iso639-language' on MS-Windows matches the ':lang'
21135         property of font-spec objects.
21137         Limit Symbola usage some more
21138         * lisp/international/fontset.el (setup-default-fontset): Limit
21139         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
21140         (Bug#20727)
21142 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
21144         * lisp/emacs-lisp/map.el (map-let): Better docstring.
21146 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
21148         * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f):
21149         (help-fns-test-funny-names): Spelling fixes.
21151 2015-06-14  Glenn Morris  <rgm@gnu.org>
21153         * lisp/version.el (emacs-repository-version-git): Demote errors.
21154         Check result is a hash.
21156 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
21158         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
21159         Catch errors that happen before going async.  (Bug#20809)
21161 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
21163         Another improvement of documentation of set-fontset-font
21164         * doc/lispref/display.texi (Fontsets): Say explicitly that
21165         CHARACTER can be a single codepoint.
21166         * src/fontset.c (Fset_fontset_font): Doc fix.
21168         Another improvement for symbol and punctuation characters
21169         * lisp/international/fontset.el (setup-default-fontset): Exclude
21170         from Symbola character ranges for symbols and punctuation covered
21171         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
21172         installed and where its coverage of symbols and punctuation is
21173         known to be good.  (Bug#20727)
21175 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
21177         Some generic support for multi-mode indentation.
21178         * lisp/progmodes/prog-mode.el (prog-indentation-context):
21179         New variable.
21180         (prog-first-column, prog-widen): New convenience functions.
21182 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
21184         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
21185         Don't assume that `tabulated-list-printer' will leave point at the
21186         end of the buffer.  (Bug#20810)
21188 2015-06-13  Glenn Morris  <rgm@gnu.org>
21190         Tweaks for getting repository version; a bit more like it was for bzr
21191         * lisp/version.el (emacs-repository-version-git)
21192         (emacs-repository--version-git-1): New functions,
21193         split from emacs-repository-get-version.
21194         (emacs-repository-get-version): Make the second argument meaningful.
21196         * lisp/startup.el (command-line-1): Inform if skipping relative
21197         file names due to deleted PWD.
21199         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
21200         when starup directory is missing.  (Bug#18851)
21201         (errno.h): Include it.
21203 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
21205         Better fix for documenting `X as "`X"
21206         Fix suggested by Stefan Monnier.
21207         * lisp/help-fns.el (help-fns--signature):
21208         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
21209         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
21210         Don't treat `X specially, as help-fns--signature now handles this.
21212 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
21214         Improve the default fontset when Symbola is not installed
21215         * lisp/international/fontset.el (setup-default-fontset): Only
21216         prepend Symbola and FreeMono font specs for symbols and
21217         punctuation; do not replace the default spec for them.  This
21218         should have better results when Symbola/FreeMono are not
21219         installed.  (Bug#20727)
21221         Improve documentation of ':lang' in font specs
21222         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
21223         use of the ':lang' property of the font spec.
21224         * doc/emacs/frames.texi (Fonts): Document the language names that
21225         can be in the STYLE part of XLFD.
21226         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
21227         property.
21229         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
21231         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
21233         Revert last change in fontset.el
21234         * lisp/international/fontset.el (setup-default-fontset): Revert
21235         the change "Configure Symbola font only if installed", since font
21236         search is evidently not yet set up when this function is called.
21237         (Bug#20727)
21239 2015-06-12  Glenn Morris  <rgm@gnu.org>
21241         Ensure early startup warnings are visible at the end.  (Bug#20792)
21242         * lisp/emacs-lisp/warnings.el (display-warning):
21243         If startup isn't complete, delay the warning.
21244         * lisp/startup.el (normal-top-level, command-line):
21245         Let display-warning automatically handle the needed delays.
21246         Run delayed-warnings-hook.
21248         * lisp/version.el (emacs-repository-get-version):
21249         Avoid calling external executable if possible.  (Bug#20799)
21251 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21253         Document `X as "`X", not as "(` X)"
21254         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
21255         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
21257         * src/print.c (print_object): Minor simplification.
21259 2015-06-12  Glenn Morris  <rgm@gnu.org>
21261         * src/buffer.c (init_buffer): Add final newline to message.
21263 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21265         Configure Symbola font only if installed
21266         * lisp/international/fontset.el (setup-default-fontset):
21267         Don't specify the Symbola font if it's not installed.
21268         Likewise for FreeMono.  (Bug#20727)
21270 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
21272         Configure Symbola font only for symbols and punctuation
21273         * lisp/international/fontset.el (setup-default-fontset): Leave
21274         only symbols and punctuation in the fontset setup for Symbola
21275         font; remove "Greek and Coptic" and "Cyrillic Supplement".
21276         (Bug#20798)
21278 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
21280         Fix crash in fontset-info
21281         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
21282         non-nil.
21284 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21286         Port to Solaris 10 sparc + Sun C 5.13
21287         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
21288         Adjust to process.c change.
21289         * src/process.c (create_process): Declare volatile variables at
21290         top level of this function, so that they're less likely to be
21291         reused later in the function in the code executed by the vforked
21292         child.  Do not declare locals used only in the vforked child, as
21293         they might share memory with locals still live in the parent.
21294         Instead, use the same variables in the child as in the parent.
21295         This works around a subtle bug that causes a garbage collector
21296         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
21298 2015-06-12  Glenn Morris  <rgm@gnu.org>
21300         * lisp/startup.el (normal-top-level): Don't let *Messages* get
21301         a nil default-directory.
21303 2015-06-11  Glenn Morris  <rgm@gnu.org>
21305         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
21307         Some progress towards starting with PWD deleted.  (Bug#18851)
21308         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
21309         * lisp/startup.el (normal-top-level, command-line-1):
21310         * lisp/minibuffer.el (read-file-name-default):
21311         Handle default-directory being nil.
21313 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
21315         Fix "not a tty" bug on Solaris 10
21316         * configure.ac (PTY_OPEN): Define to plain 'open'
21317         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
21318         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
21319         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
21320         hosts that call grantpt which does its work via a setuid subcommand
21321         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
21322         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
21323         seems relevant in that case too.
21325 2015-06-11  Juri Linkov  <juri@linkov.net>
21327         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
21328         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
21329         (Bug#20785)
21331 2015-06-11  Glenn Morris  <rgm@gnu.org>
21333         * lisp/international/characters.el (char-script-table): Fix typo.
21335 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
21337         Fix quoting of help for functions with odd names
21338         While investigating Bug#20759, I discovered other quoting problems:
21339         C-h f mishandled characters like backslash and quote in function names.
21340         This fix changes the behavior so that 'C-h f pcase RET' now
21341         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
21342         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
21343         in src/lread.c's read1 function says that the backslash will be
21344         needed starting in Emacs 25, which implies that 'format' is
21345         correct and the old pcase documention was wrong to omit the backslash.
21346         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
21347         * lisp/help-fns.el (help-fns--signature):
21348         * lisp/help.el (help-add-fundoc-usage):
21349         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
21350         Use help--make-usage-docstring rather than formatting
21351         help-make-usage.
21352         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
21353         Return raw docstring.
21354         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
21355         raw docstring.  Take more care to distinguish raw from cooked dstrings.
21356         (describe-function-1): Let help-fns--signature substitute
21357         command keys.
21358         * lisp/help.el (help--docstring-quote): New function.
21359         (help-split-fundoc): Use it, to quote funny characters more
21360         systematically.
21361         (help--make-usage): Rename from help-make-usage, since this
21362         should be private.  Leave an obsolete alias for the old name.
21363         (help--make-usage-docstring): New function.
21364         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
21366 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
21368         * lisp/thingatpt.el (in-string-p): Revert last change,
21369         since in-string-p is not used in thingatpt.el but only from outside.
21370         Also, use lexical binding.
21372 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
21374         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
21375         * test/automated/let-alist.el (let-alist-cons): Test it.
21377 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
21379         * src/syntax.c (Fbackward_prefix_chars): Reword docstring.
21381 2015-06-10  Glenn Morris  <rgm@gnu.org>
21383         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
21385         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
21386         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
21387         * admin/gitmerge.el (gitmerge-commit-message):
21388         Exclude "skipped" messages from ChangeLog once again.
21390         Slight namespace cleanup for thingatpt.el.
21391         * lisp/thingatpt.el (thing-at-point--in-string-p)
21392         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
21393         (thing-at-point--read-from-whole-string): Rename from
21394         old versions without "thing-at-point--" prefix.
21395         Keep old versions as obsolete aliases.  Update all uses.
21397         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
21398         Move requiring of finder from here...
21399         (checkdoc-package-keywords): ... to here.
21401         Use 'user-error' in a few calendar files.
21402         * lisp/calendar/appt.el (appt-add):
21403         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
21404         (calendar-generate):
21405         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
21406         Replace 'error' with 'user-error'.
21408         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
21410         * lisp/files-x.el (add-file-local-variable):
21411         Special-case 'lexical-binding'.  (Bug#20641)
21413         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
21414         No longer autoload.
21415         * doc/misc/autotype.texi (Executables):
21416         Undocument executable-self-display.
21418         * lisp/progmodes/executable.el (executable-self-display):
21419         Use non-obsolete tail syntax.  (Bug#20779)
21420         (executable-self-display): Doc update.
21422 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
21424         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
21425         (finder-known-keywords): Silence byte-compiler.
21427 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
21429         * lisp/simple.el (eval-expression): Macroexpand before evaluating
21430         (bug#20730).
21432         * lisp/progmodes/sh-script.el: Better handle nested quotes.
21433         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
21434         (sh-font-lock-quoted-subshell): Make sure double quotes within single
21435         quotes don't mistakenly end prematurely the surrounding string.
21437         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
21439 2015-06-09  Glenn Morris  <rgm@gnu.org>
21441         * test/automated/Makefile.in (ELFILES): Sort.
21443         * Makefile.in (SUBDIR_MAKEFILES):
21444         * lwlib/Makefile.in (WARN_CFLAGS):
21445         Use built-in Make functions rather than echo+sed.
21447 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
21449         Update char-script-table
21450         * lisp/international/characters.el (char-script-table): Update
21451         from Unicode 8.0 Draft.
21453         Improve font selection for punctuation and other symbols
21454         * src/fontset.c (face_for_char): If the character's script is
21455         'symbol', and the font used for ASCII face has a glyph for it, use
21456         the font for the ASCII face instead of searching the fontsets.
21457         This comes instead of NS-specific code that used the current
21458         face's font instead, which is now disabled due to undesirable
21459         consequences.  (Bug#20727)
21461 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
21463         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
21464         Skip past `#' to find BEG (bug#20771).
21465         * test/automated/elisp-mode-tests.el
21466         (elisp-completes-functions-after-hash-quote): New test.
21468 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
21470         Fix compilation warning/error in --without-x builds
21471         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
21472         code on HAVE_WINDOW_SYSTEM.
21474         Improve the default fontset wrt symbols
21475         * lisp/international/fontset.el (setup-default-fontset): Better
21476         setup of fontset-default for symbols: use Symbola and FreeMono.
21477         (Bug#20727)
21479 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
21481         Add new command checkdoc-package-keywords
21482         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
21483         New defcustom.
21484         (checkdoc-list-of-strings-p): Add doc.
21485         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
21486         non-nil, call `checkdoc-package-keywords'.
21487         (checkdoc-get-keywords): New defun.
21488         (checkdoc-package-keywords): New command.  Warns if the current file
21489         has package.el-style keywords that aren't in `finder-known-keywords'.
21490         * etc/NEWS: Add entry.
21492 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
21494         Avoid crashes when key-binding is called from a timer
21495         * src/keymap.c (Fkey_binding): Don't segfault if called with an
21496         empty vector as KEY.  (Bug#20705)
21498         Fix a thinko in arc-mode.el
21499         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
21500         non-Zip64 case.  (Bug#20769)
21502 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
21504         * lisp/emacs-lisp/package.el (package-delete): Make interactive.
21506 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
21508         * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function.
21509         (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to
21510         "*warn*", print the warning to the standard output.  (bug#20754)
21512 2015-06-07  Glenn Morris  <rgm@gnu.org>
21514         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
21516         * src/font.c (syms_of_font) <font-log>: Doc fix.
21518         Remove the obsolete leading "*" from some C doc strings.
21519         * src/coding.c (syms_of_coding):
21520         * src/font.c (syms_of_font): Remove leading "*" from docs.
21521         * lisp/cus-start.el (enable-character-translation): Add it.
21523 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
21525         Move gen_origin from program to data
21526         That way, 'make change-history' needs to change only ChangeLog.2,
21527         instead of having to change two files.
21528         * ChangeLog.2: Add commit info for range that this file covers.
21529         * Makefile.in (new_commit_regexp): New macro.
21530         (change-history-nocommit): Simplify, by putting what used to be
21531         the gen_origin value into the data (ChangeLog.2) rather than
21532         into the program (gitlog-to-emacslog).
21533         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
21534         the input file (e.g., ChangeLog.2) rather than by having a
21535         constant in the program.  Substitute it into the output.
21537 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
21539         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
21540         function name (bug#20759).
21542 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
21544         Adapt 'struct timespec' to next release of MinGW runtime
21545         * nt/inc/ms-w32.h (struct timespec): Don't declare if
21546         __struct_timespec_defined is defined.
21548 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
21550         Merge from gnulib
21551         This incorporates:
21552         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
21553         2015-06-05 stdio: Don't redefine gets when using C++
21554         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
21555         2015-06-02 file-has-acl: fix build on Mac OS X 10
21556         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
21557         2015-06-01 pthread_sigmask: discount system version if a simple macro
21558         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
21559         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
21560         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
21561         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
21562         * lib/gnulib.mk: Regenerate.
21564 2015-06-06  Juri Linkov  <juri@linkov.net>
21566         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
21567         before calling grep-compute-defaults because now it affects the
21568         command lines computed in grep-compute-defaults.  (Bug#20728)
21570 2015-06-06  Glenn Morris  <rgm@gnu.org>
21572         Address some compilation warnings.
21573         * lisp/international/mule-cmds.el (w32-get-console-codepage)
21574         (w32-get-console-output-codepage):
21575         * lisp/progmodes/elisp-mode.el (xref-collect-references):
21576         * lisp/version.el (cairo-version-string): Declare.
21577         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
21579 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
21581         Fix display when a font claims large values of ascent and descent
21582         This fixes bug#20628.
21583         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
21584         coordinate of a hollow cursor glyph when the original glyph's
21585         ascent is too small.
21586         (get_font_ascent_descent, normal_char_ascent_descent)
21587         (normal_char_height): New functions.
21588         (handle_single_display_spec, append_space_for_newline)
21589         (calc_pixel_width_or_height, produce_stretch_glyph)
21590         (calc_line_height_property): Use normal_char_ascent_descent and
21591         normal_char_height.
21592         (x_produce_glyphs): When font-global values of ascent and descent
21593         are too large, use per-character glyph metrics instead, if
21594         possible.  But don't allow the glyph row's ascent and descent
21595         values become smaller than the values from the metrics of the
21596         font's "normal" character.
21597         * src/xftfont.c (xftfont_draw):
21598         * src/w32font.c (w32font_draw): Correct the values of ascent and
21599         descent used to draw glyphless characters' hex code in a box.
21600         * src/xterm.c (x_draw_glyph_string_background):
21601         * src/xdisp.c (x_produce_glyphs):
21602         * src/w32term.c (x_draw_glyph_string_background):
21603         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
21604         to detect fonts whose global ascent and descent values are too
21605         large to be used in layout decision, and redraw the background
21606         when that happens.
21607         * src/dispextern.h (FONT_TOO_HIGH): New macro.
21608         (get_font_ascent_descent): Add prototype.
21609         * src/xterm.c (x_new_font):
21610         * src/w32term.c (x_new_font):
21611         * src/nsterm.m (x_new_font):
21612         * src/font.c (font_open_entity):
21613         * src/composite.c (composition_gstring_width):
21614         Use get_font_ascent_descent to obtain reasonable values for ascent
21615         and descent of a font.
21617 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
21619         Add assertion in adjust_point_for_property
21620         * src/keyboard.c (adjust_point_for_property): Add eassert for
21621         current buffer being shown in selected window.
21623 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
21625         Replace uses of in-string-p; make it obsolete
21626         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
21627         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
21629 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
21631         Fix Dired display of an explicit list of files by ls-lisp.el
21632         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
21633         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
21634         correct for when displaying individual files separately, not as
21635         part of listing a directory, in which case these values are not
21636         recomputed by 'ls-lisp-insert-directory', but used verbatim.
21638         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
21640 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
21642         Do not adjust point in a non-selected window
21643         * src/keyboard.c (command_loop_1): Do not adjust point when
21644         current buffer is not shown in selected window (Bug#20590).
21646         * etc/DEBUG: Mention 'maybe_call_debugger'
21648 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
21650         Fix a unit test for map.el
21651         * test/automated/map-tests.el (test-map-let): Fix the test to work
21652         with the new syntax of `map-let'.
21654         * lisp/emacs-lisp/map.el (map-let): Better docstring.
21656         Better syntax for the map pcase pattern
21657         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
21658         bindings of the form (KEY PAT) or SYMBOL.  KEY is not quoted.
21660         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
21662         Fix a byte-compiler error in map-put and map-delete
21663         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
21664         called with a symbol.
21666 2015-06-05  Glenn Morris  <rgm@gnu.org>
21668         * admin/gitmerge.el (gitmerge-commit-message):
21669         Revert to including "skipped" messages in ChangeLog once again.
21671 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
21673         Use string> instead of equiv lambda with string<
21674         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
21675         lambda with string<.
21677 2015-06-05  Glenn Morris  <rgm@gnu.org>
21679         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
21680         (map--delete-array): Fix typo.
21682         * test/automated/map-tests.el: Replace "assert" with "should".
21684         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
21685         (SUBDIRS_REL): Derive from SUBDIRS.
21687         Tweak some build messages.
21688         * lisp/Makefile.in ($(lisp)/loaddefs.el):
21689         * lisp/cus-dep.el (custom-make-dependencies):
21690         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
21691         * lisp/international/titdic-cnv.el (batch-titdic-convert):
21692         Don't say how to compile.
21694 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
21696         Omit U+0332 COMBINING LOW LINE in previous change
21697         It turns out that it does not work on Ubuntu 15.04.
21699         Fix transliteration of Bahá'í months
21700         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
21701         Improve quality of Latin transliteration of Bahá'í month names.
21703         Fix curved quotes in a few places
21704         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
21705         The strings in question are not doc strings, so this partially
21706         undoes the recent change that assumed they were doc strings.
21707         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
21708         * lisp/info.el (Info-finder-find-node):
21709         Use curved quotes.
21710         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
21711         Also allow curved quotes in doc strings.
21713 2015-06-04  Glenn Morris  <rgm@gnu.org>
21715         * lisp/Makefile.in (AM_V_at): Add missing definition.
21717         * lisp/Makefile.in: Quieten output a bit.
21718         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
21719         Don't echo directories, since the commands we invoke print them.
21721         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
21722         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
21723         (SUBDIRS_SUBDIRS): New variables.
21724         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
21725         Remove.
21726         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
21727         (update-subdirs, compile-main, compile-clean):
21728         Replace "setwins" usage with new "SUBDIRS" variables.
21730         * lisp/vc/compare-w.el (compare-windows-get-window-function):
21731         Fix :version tag.
21733 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21735         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
21737         Undo removal of x_clear_area call on expose for GTK3 or cairo
21738         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]:
21739         Clear exposed area.  (Bug#20677)
21741 2015-06-04  Glenn Morris  <rgm@gnu.org>
21743         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
21745         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
21747         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
21748         Rename from quail-lao-update-translation, since lao.el defines that.
21750 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
21752         Handle new-style advice in find-funct
21753         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
21754         Handle new-style advice.  Return the symbol's function definition.
21755         (Bug#20718)
21756         (find-function-library): Update accordingly.
21758 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
21760         Merge branch 'map'
21762         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
21764         Add new function string-greaterp
21765         * lisp/subr.el (string-greaterp): New function.  Also aliased to
21766         `string>'.
21767         * test/automated/subr-tests.el (string-comparison-test): Add unit
21768         tests for `string>'and `string<'.
21769         * src/fns.c (string-lessp): Better docstring.
21771 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
21773         Fix timezone-related functions on MS-Windows
21774         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
21775         'xputenv', even if no reallocation of tzvalbuf was necessary.
21776         This fixes a bug in timezone-related functions on MS-Windows.
21777         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
21779 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
21781         Don't pass raw directory name to 'error'
21782         * lisp/files.el (basic-save-buffer-2): Avoid format error if
21783         a directory name contains a string like "%s".
21785 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
21787         Override 'grep --color=always'
21788         * lisp/progmodes/xref.el (xref-collect-matches):
21789         Override --color=always in grep-find-template.
21791 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
21793         Fix error introduced recently in file-notify-tests.el
21794         * test/automated/file-notify-tests.el
21795         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
21796         (file-notify--deftest-remote): Revert previous patch, not
21797         necessary anymore.
21799 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
21801         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
21802         Starting from a display string after a newline, point went to the
21803         previous line.  Also, fix an inadvertent use of a buffer position
21804         with FETCH_BYTE.  (Bug#20701)
21806 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
21808         Instrument file-notify-test.el in order to catch hydra error
21809         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
21810         Wrap body by `ignore-case', in order to trap non-local errors.
21812 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21814         Undo previous changes in non-toolkit scroll bar drawing
21815         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
21816         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
21818 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
21820         * .gitignore: Also ignore doc/*/*/*.html and .ps.
21822         Support quotes 'like this' in info files
21823         This is possible when 'makeinfo --disable-encoding' is used
21824         in Texinfo 5.
21825         * lisp/calc/calc-help.el (calc-describe-thing):
21826         * lisp/gnus/gnus-art.el (gnus-button-alist):
21827         * lisp/info.el (Info-find-index-name):
21828         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
21829         Also support quotes 'like this'.
21830         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
21831         * lisp/finder.el (finder-font-lock-keywords): Remove var that
21832         hasn't been used in years, instead of bothering to fix its quoting.
21834 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21836         * .gitignore: Remove !test/etags/html-src/*.html.
21837         It's no longer needed, since *.html was removed.  Sort.
21839 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
21841         Restore <D> instead of '.' in grep-find-template
21842         * lisp/cedet/semantic/symref/grep.el
21843         (semantic-symref-grep-use-template): Update a comment.
21844         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
21845         instead of '.' in grep-find-template (bug#20719).
21846         (rgrep): Pass nil as the directory to rgrep-default-command.
21847         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
21848         default value for DIR.
21849         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
21850         workaround.
21852 2015-06-02  Glenn Morris  <rgm@gnu.org>
21854         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
21856         * configure.ac (emacs_config_features): Add Cairo.
21858         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
21860 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
21862         Ensure that autorevert works for remote files in file-notify-tests.el
21863         * test/automated/file-notify-tests.el (file-notify--test-desc):
21864         New defvar.
21865         (file-notify--test-remote-enabled)
21866         (file-notify-test00-availability, file-notify-test01-add-watch)
21867         (file-notify-test02-events): Use it.
21868         (file-notify--test-event-test): Check proper descriptor.
21869         (file-notify-test03-autorevert): Ensure that
21870         `visited-file-modtime' has changed.  (Bug#20392)
21872 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
21874         Add a pcase pattern for maps and `map-let' based on it
21875         * lisp/emacs-lisp/map.el (map-let): New macro.
21876         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
21877         * test/automated/map-tests.el: New test for `map-let'.
21879 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
21881         Reuse rgrep mechanics in xref-find-regexp
21882         * lisp/progmodes/grep.el (rgrep-default-command):
21883         Extract from `rgrep'.
21884         * lisp/progmodes/xref.el (xref-collect-references): Split from
21885         `xref-collect-matches'.  Only handle the case of symbol search.
21886         (xref-collect-matches): Instead of Semantic Symref, use
21887         `rgrep-default-command', to take advantage of its directory and
21888         file ignore settings.
21889         (xref--collect-match): Remove the last argument, leaving the
21890         regexp construction up to the caller.
21891         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
21892         Change to take the xref-collect- function to use as an argument.
21893         (elisp-xref-find): Update accordingly.
21894         * lisp/progmodes/etags.el (etags--xref-find-matches)
21895         (etags-xref-find): Same.
21897         Move xref-elisp-location to elisp-mode.el
21898         * lisp/progmodes/xref.el (xref-elisp-location)
21899         (xref-make-elisp-location, xref-location-marker): Remove here.
21900         (xref--xref): Don't limit the type of the location slot.
21901         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
21902         Define as a cl-struct here.
21903         (xref-location-marker): Move here.
21905 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
21907         Minor tweaks for .gitignore
21908         * .gitignore: Don't ignore versioned *.html and *.ps files.
21909         Don't ignore admin/notes/tags that might be ignored as TAGS
21910         on case-insensitive filesystems.  (Bug#20710)
21912 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21914         Generate curved quotes in ert doc
21915         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
21916         (ert-results-mode-menu)
21917         (ert-results-pop-to-backtrace-for-test-at-point)
21918         (ert-results-pop-to-messages-for-test-at-point)
21919         (ert-results-pop-to-should-forms-for-test-at-point)
21920         (ert-describe-test):
21921         Quote ‘like this’, not `like this', when generating doc strings
21922         and the like.
21923         * test/automated/ert-x-tests.el (ert-test-describe-test):
21924         Allow quoting ‘like this’.
21926 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
21928         Add test for previous commit
21929         * test/automated/replace-tests.el: New file.
21930         (query-replace--split-string-tests): Add test for previous commit.
21932         Avoid confusion in query-replace history when replacing NUL chars
21933         * lisp/replace.el (query-replace--split-string): New function.
21934         (query-replace-read-from): Rely on the 'separator' property
21935         instead of searching for the NUL character (Bug#20690).
21937 2015-06-02  Glenn Morris  <rgm@gnu.org>
21939         Merge from origin/emacs-24
21940         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
21942         * admin/gitmerge.el (gitmerge-commit-message):
21943         Exclude "skipped" messages from ChangeLog.
21945 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
21947         Sync with Tramp repository
21948         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
21949         messages.
21950         (tramp-handle-make-auto-save-file-name): When calling
21951         `make-auto-save-file-name' internally, make sure it uses Unix-like
21952         behavior, not Windows-like behavior.
21953         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
21954         the local case, because "chown" might fail on w32.
21955         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
21956         for XEmacs.
21958 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
21960         MS-Windows followup for batch stdout/stderr output changes
21961         * lisp/international/mule-cmds.el (set-locale-environment):
21962         In batch mode, use console codepages for keyboard and terminal
21963         encoding.  (Bug#20545)
21965         Update .gitattributes for DOS EOL files
21966         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
21967         CRLF end-of-line format.
21969         NS equivalents of xterm.c and w32term.c changes
21970         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
21971         glyph string background also when the font in use claims
21972         preposterously large global height value.  Helps to remove
21973         artifacts left from previous displays when glyphless characters
21974         are displayed as hex code in a box.
21975         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
21976         value for FRAME_LINE_HEIGHT, even when a font claims very large
21977         value for its height.
21979 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
21981         Avoid grave accent quoting in stderr diagnostics
21982         A few Emacs diagnostics go directly to stderr, and so can't easily
21983         contain curved quotes (as non-UTF-8 locales might mishandle them).
21984         Instead of bothering to add support for this rarity, reword the
21985         diagnostics so that they don't use grave accent to quote.
21986         * src/alloc.c (mark_memory): Fix comment.
21987         * src/buffer.c (init_buffer):
21988         * src/dispnew.c (init_display):
21989         * src/emacs.c (main, sort_args):
21990         * src/lread.c (dir_warning):
21991         * src/term.c (init_tty):
21992         * src/unexmacosx.c (unexec):
21993         * src/xfns.c (select_visual):
21994         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
21995         Reword stderr diagnostics to avoid quoting `like this'.
21996         * src/unexmacosx.c: Include errno.h.
21997         * src/xfns.c (select_visual): Encode value for locale.
21999 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
22001         Treat batch stdout/stderr like standard display
22002         Calls like (print FOO) could generate improperly encoded or
22003         hard-to-read output if FOO contains characters outside the system
22004         locale.  Fix this by treating batch stdout and stderr like
22005         interactive standard display, when it comes to transliterating and
22006         encoding characters (Bug#20545).
22007         * doc/emacs/mule.texi (Communication Coding):
22008         * doc/lispref/display.texi (Active Display Table):
22009         * doc/lispref/nonascii.texi (Locales):
22010         * etc/NEWS:
22011         * src/coding.c (syms_of_coding):
22012         * src/dispnew.c (syms_of_display):
22013         Document this.
22014         * src/print.c: Include disptab.h.
22015         (printchar_to_stream): New function, with much of the guts of the
22016         old Fexternal_debugging_output, except this one also uses the
22017         standard display table.
22018         (printchar, strout, Fexternal_debugging_output): Use it.
22020 2015-05-31  Glenn Morris  <rgm@gnu.org>
22022         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
22024 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
22026         Remove DEFSYMs that aren't used at the C level.  Also:
22027         * src/decompress.c (Qzlib_dll):
22028         * src/font.c (Qunicode_sip):
22029         * src/frame.c (Qtip_frame):
22030         * src/ftfont.c (Qserif):
22031         * src/gnutls.c (Qgnutls_dll):
22032         * src/xml.c (Qlibxml2_dll):
22033         Move from here ...
22034         * src/w32fns.c (syms_of_w32fns): ... to here,
22035         as these are used only on MS-Windows.
22037 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
22039         Use another default value for tramp-histfile-override
22040         * lisp/net/tramp-sh.el (tramp-histfile-override):
22041         Use ".tramp_history" as default.
22042         Fixes bug#20446
22044 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
22046         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
22048 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
22050         * etc/NEWS: Add an entry about map.el.
22052         Improve the docstring of functions in map.el
22053         Since a map is not a data structure but a concept, adding information
22054         about the possible types of maps can be useful information.
22055         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
22056         each public function.
22058 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
22060         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
22061         specific tests depending on the type of the map.
22063         * lisp/emacs-lisp/map.el: Better docstrings.
22065 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
22067         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda.
22069 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
22071         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
22073         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
22075         Fix a false negative in `map-elt' with alists and values being nil
22076         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
22077         found but its associated value is nil, do not return the default
22078         value.
22079         * test/automated/map-tests.el: Add a regression test.
22081 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
22083         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
22085         Do not signal an error when trying to delete a key from an array
22086         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
22087         the key is present to avoid signaling an error.
22088         * test/automated/map-tests.el: Add a test for deleting non-existing
22089         keys from maps.
22091         * lisp/emacs-lisp/map.el: Better docstring.
22093         Minor improvement in map-elt
22094         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
22095         doing a lookup in arrays, but check the boundaries of the array
22096         instead.
22097         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
22098         and a negative integer as key.
22100 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
22102         * test/automated/map-tests.el: Refactoring of test methods.
22104         * test/automated/map-tests.el: Renamed from map-test.el.
22106 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
22108         * lisp/emacs-lisp/map.el (map-into): Better error message.
22110         * lisp/emacs-lisp/map.el: Remove byte-compilation warnings.
22112         Throw an error when converting a map into an unknown map type
22113         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
22114         not valid.
22115         * test/automated/map-test.el: Add a regression test.
22117         New library map.el similar to seq.el but for mapping data structures.
22118         * test/automated/map-test.el: New file.
22119         * lisp/emacs-lisp/map.el: New file.
22121 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
22123         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
22124         there's no explicit tag name (bug#20629).
22126 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22128         Remove format2
22129         * src/editfns.c, src/lisp.h (format2): Remove.
22130         It is more trouble than it's worth, now that we have CALLN.
22131         This is just a minor refactoring.
22132         * src/buffer.c (Fkill_buffer):
22133         * src/dbusbind.c (XD_OBJECT_TO_STRING):
22134         * src/fileio.c (barf_or_query_if_file_exists):
22135         Adjust to format2 going away.
22137         Don't misencode C-generated messages
22138         Also, be more consistent about calls to 'Fmessage' vs 'message'.
22139         * src/alloc.c (Fgc_status):
22140         Prefer AUTO_STRING to build_string for Fmessage call.
22141         * src/data.c (Fmake_variable_buffer_local)
22142         (Fmake_local_variable, Fmake_variable_frame_local):
22143         * src/doc.c (store_function_docstring):
22144         Use Fmessage, not message, since the argument can contain
22145         non-ASCII characters, and this can cause the resulting message
22146         to be incorrectly encoded for the current environment.
22147         * src/fns.c (maybe_resize_hash_table):
22148         * src/xselect.c (x_clipboard_manager_save_all):
22149         Use message, not Fmessage, since Fmessage's power isn't needed here.
22150         * src/process.c (Fmake_network_process): Reword message to avoid %s.
22151         * src/xdisp.c (vmessage): Document restrictions on message contents.
22152         (message_nolog) [false]: Remove unused code.
22154         Use \r rather than ^M in string literals
22155         This is less likely to cause problems on platforms that
22156         use CRLF (or CR!) termination for lines.
22158         Update .gitattributes to match current sources
22159         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
22160         * .gitattributes: Accommodate tests that insist on DOS format.
22161         Remove test/automated/data/decompress/foo-gzipped.
22162         Add etc/e/eterm-color.
22164 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
22166         * doc/emacs/mule.texi (Modifying Fontsets):
22167         Document face-ignored-fonts.  (Bug#20628)
22169         Add etags test for the new -Q option
22170         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
22171         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
22172         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
22173         test-case changes below.
22174         * test/etags/ETAGS.good_6: New file.
22175         * test/etags/cp-src/x.cc: New file.
22176         * test/etags/Makefile (CPSRC): Add x.cc.
22177         (check): Add one more test, for -Q.
22179 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
22181         Use list for the tags completion table, not obarray
22182         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
22183         list instead of an obarray
22184         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
22185         (tags-completion-table): Combine those lists.
22186         (tags-completion-table): Update the docstring.
22188 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
22190         Restore EOL format testing in etags
22191         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
22192         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
22193         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
22194         test-case changes below.
22195         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
22196         * test/etags/cp-src/c.C (B): Add back stray CR character.
22197         * test/etags/c-src/dostorture.c: Add back.
22198         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
22200 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
22202         Declare Emacs on MS-Windows to be DPI-aware
22203         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
22204         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
22205         This avoids Windows entering compatibility mode for Emacs,
22206         which causes fonts to look less nice.
22208 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
22210         Improve Tramp traces
22211         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
22212         * lisp/net/tramp.el (tramp-debug-message): Use it.
22214 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22216         backup-buffer minor reworking of internals
22217         * lisp/files.el (backup-buffer): Rework to avoid a couple of
22218         unused locals inadvertently introduced in the previous change.
22220         backup-buffer now reports .emacs.d/%backup% ills
22221         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
22222         fails due to disk space exhaustion or whatever, do not pretend
22223         that it succeeded.  More generally, do a better job of checking
22224         for I/O failures, and limit the scope of the condition-case to
22225         just the operations where file errors should be caught and ignored
22226         (Bug#20595).  Also, don't bother trying to delete later backups if
22227         an earlier deletion fails, as this is a sign of trouble and it's
22228         better to stop when there's trouble.
22230         copy-file now truncates output after writing
22231         * src/fileio.c (Fcopy_file): Truncate output after writing rather
22232         than before.  This is more likely to work than truncation before
22233         writing, if the file system is out of space or the user is over
22234         disk quota (Bug#20595).  Also, check for read errors.
22236 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
22238         * lisp/emacs-lisp/package.el (package-load-all-descriptors):
22239         Don't load descriptors from directories above the package directories.
22241 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
22243         Merge from gnulib
22244         This incorporates the following (Bug#20681):
22245         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
22246         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
22247         * lib/set-permissions.c: Copy from gnulib.
22249 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
22251         Improve Tramp traces
22252         * lisp/net/tramp.el (tramp-call-process-region): New defun.
22253         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
22255 2015-05-29  Glenn Morris  <rgm@gnu.org>
22257         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
22259 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
22261         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
22262         The signature was changed in the cairo branch, merged on 2015-05-23.
22263         This oversight broke compiling only the non-toolkit X version.
22265 2015-05-29  Samer Masterson  <samer@samertm.com>
22267         * doc/lispref/os.texi: Update initial-buffer-choice docs.
22269 2015-05-29  Glenn Morris  <rgm@gnu.org>
22271         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
22272         Mark as an expected failure.
22274 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
22276         Change package test to look for curved quotes
22277         * test/automated/package-test.el (package-test-describe-package)
22278         (package-test-signed): Search for curved single quotes as well as
22279         for grave accent and apostrophe.
22281 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
22283         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
22284         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
22286 2015-05-28  Samer Masterson  <samer@samertm.com>
22288         Show files when `initial-buffer-choice' is non-nil
22289         * lisp/startup.el (command-line-1): When Emacs is given a file as an
22290         argument and `initial-buffer-choice' is non-nil, display both the file
22291         and `initial-buffer-choice'.  For more than one file, show
22292         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
22293         commands out of the command line arg parser.
22294         (initial-buffer-choice): Clarify docstring.
22296 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
22298         Fix last commit
22299         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
22300         (gnulib module qcopy-acl): Add back, as it is harmless.  This
22301         minimizes differences wrt lib/gnulib.mk.
22303         Fix the MS-Windows build as followup to gnulib update
22304         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
22305         set-permissions.c, as they don't compile on MinGW.
22306         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
22308 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
22310         Revert my change to gnus-art.el
22311         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
22312         It wasn't that important, and it caused a Gnus build to fail.  See:
22313         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
22315         New minor mode Electric Quote
22316         This lets you easily insert quotes ‘like this’ by typing
22317         quotes `like this', and similarly you can easily insert
22318         quotes “like this” by typing quotes ``like this'' (Bug#20545).
22319         * doc/emacs/basic.texi (Inserting Text):
22320         * doc/emacs/modes.texi (Minor Modes):
22321         * etc/NEWS: Document it.
22322         * doc/emacs/text.texi (Quotation Marks): New section.
22323         * lisp/electric.el (electric-quote-comment)
22324         (electric-quote-string, electric-quote-paragraph):
22325         New custom vars.
22326         (electric--insertable-p)
22327         (electric-quote-post-self-insert-function): New functions.
22328         (electric-quote-mode, electric-quote-local-mode): New minor modes.
22329         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
22330         Add curved single quotes to electric-pair-text-pairs.
22331         Set electric-quote-string in this buffer.
22333         A few more doc string fixes (Bug#20385)
22335         Accept curved quotes in doc strings
22336         * lisp/info-look.el (info-lookup-guess-custom-symbol):
22337         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
22339         Generate curved quotes in pseudo-info nodes
22340         * lisp/info.el (Info-virtual-index-find-node)
22341         (Info-virtual-index, Info-apropos-find-node, info-apropos):
22342         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
22344         Fix minor quoting problems in doc strings
22345         Most of these fixes involve escaping grave accents that are
22346         actually intended to be grave accents, not left quotes.
22347         (Bug#20385)
22349         Support curved quotes in doc strings
22350         Emacs's traditional doc string style has been to quote symbols
22351         `like this'.  This worked well on now-obsolete terminals where
22352         ` and ' were symmetric quotes, but nowadays curved quotes
22353         ‘like this’ look better.  Support quoting the new way too.
22354         (Bug#20385)
22355         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
22356         ‘like-this’ as well as `like-this'.
22357         * etc/NEWS: Mention this.
22358         * lisp/cedet/mode-local.el (overload-docstring-extension)
22359         (mode-local-print-binding, mode-local-describe-bindings-2):
22360         * lisp/cus-theme.el (describe-theme-1):
22361         * lisp/descr-text.el (describe-text-properties-1, describe-char):
22362         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
22363         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
22364         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
22365         (eieio-help-constructor):
22366         * lisp/emacs-lisp/package.el (describe-package-1):
22367         * lisp/faces.el (describe-face):
22368         * lisp/help-fns.el (help-fns--key-bindings)
22369         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
22370         (help-fns--interactive-only, describe-function-1):
22371         (describe-variable):
22372         * lisp/help.el (describe-mode):
22373         * lisp/international/mule-cmds.el (describe-input-method)
22374         (describe-language-environment):
22375         * lisp/international/mule-diag.el (describe-character-set)
22376         (print-coding-system-briefly, list-input-methods)
22377         (list-input-methods-1):
22378         Insert curved quotes rather than grave accent and apostrophe.
22379         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
22380         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
22381         (checkdoc-proper-noun-region-engine):
22382         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
22383         (lisp-cl-font-lock-keywords-2):
22384         * lisp/finder.el (finder-font-lock-keywords):
22385         * lisp/gnus/gnus-art.el (gnus-button-alist):
22386         * lisp/help-fns.el (help-do-arg-highlight)
22387         (describe-function-1, describe-variable):
22388         * lisp/help-mode.el (help-xref-symbol-regexp)
22389         (help-xref-info-regexp, help-xref-url-regexp):
22390         * lisp/help.el (describe-mode):
22391         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
22392         * lisp/wid-edit.el (widget-documentation-link-regexp):
22393         Parse symbols quoted ‘like-this’ as well as `like-this'.
22394         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
22395         Add "‘" and "’" to electric-pair-text-pairs.
22396         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
22397         (elisp-completion-at-point, elisp--preceding-sexp):
22398         Also treat "‘" and "’" as quoting chars.
22400         substitute-command-keys now curves quotes
22401         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
22402         * doc/lispref/help.texi (Keys in Documentation):
22403         * etc/NEWS: Document this.
22404         * src/doc.c (Fsubstitute_command_keys): Implement it.
22406 2015-05-28  Glenn Morris  <rgm@gnu.org>
22408         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
22409         (rmail-summary-by-topic, rmail-summary-by-senders):
22410         No longer strip leading/trailing whitespace.
22412         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
22413         (f90-no-block-limit): Add "enum".  (Bug#20680)
22414         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
22415         New tests.
22417 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
22419         * lisp/isearch.el (isearch--current-buffer): Give a default value.
22420         Un-revert changes mistakenly dropped by f9fabb2b.
22422 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22424         Merge from gnulib
22425         This incorporates:
22426         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
22427         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
22428         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
22429         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
22430         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
22431         2015-05-26 stdio: fix probe on mingw under gcc 5.1
22432         * admin/merge-gnulib (GNULIB_MODULES):
22433         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
22434         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
22435         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
22436         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
22437         Get latest versions from gnulib.
22438         * lib/get-permissions.c, lib/set-permissions.c: New files.
22439         * lib/gnulib.mk, m4/gnulib-comp.m4:
22440         Regenerate.
22441         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
22443 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
22445         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
22446         process here.
22447         (vc-do-command): Rather than here (bug#20608).
22449 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
22451         Avoid gratuitous delete-dups in face-at-point
22452         * lisp/faces.el (face-at-point): Do not compute the properly
22453         ordered, duplicate-free list if only a single value is
22454         requested anyway.  (Bug#20519)
22456         Show the exact C-x 8 RET invocation in describe-char
22457         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
22458         invocation instead of a template.  (Bug#20522)
22460 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
22462         * lisp/emacs-lisp/package.el: Don't erase tags on refresh.
22463         (package-menu--post-refresh): Call `tabulated-list-print' with the
22464         UPDATE argument.  This only affects the refresh action, the revert
22465         action still erases tags.
22466         (package-menu-get-status): Change `assq' to `assoc'.
22467         (package-menu--mark-upgrades-1): New function.
22468         (package-menu--mark-upgrades-pending): New variable.
22469         (package-menu-mark-upgrades): Use them to delay marking until
22470         after refresh is done.
22471         (package-menu--post-refresh): Call mark-upgrades-1 if
22472         mark-upgrades-pending is non-nil.
22474 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
22476         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
22477         Fix typo in "Improve tramp-handle-make-auto-save-file-name"
22478         (commit 3953c4be2816537be95520605d45b866dc731f4b).
22480 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
22482         * lisp/isearch.el (isearch--current-buffer): New var.
22483         (isearch-update): Set cursor-sensor-inhibit here.
22484         (isearch-done): Unset cursor-sensor-inhibit in the right buffer
22485         (bug#20532).
22487         Change inhibit-point-motion-hooks to t
22488         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
22489         to t and document it as obsolete.
22491 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
22493         Support ZIP files that use Zip64 extensions
22494         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
22495         format of central directory offsets used by Zip64 extensions.
22496         (Bug#20665)
22498 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
22500         New test tramp-test30-make-auto-save-file-name
22501         * test/automated/tramp-tests.el
22502         (tramp-test30-make-auto-save-file-name): New test.
22503         (tramp-test31-special-characters)
22504         (tramp-test31-special-characters-with-stat)
22505         (tramp-test31-special-characters-with-perl)
22506         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
22507         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
22508         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
22509         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
22511         Improve tramp-handle-make-auto-save-file-name
22512         * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags.
22513         (tramp-handle-make-auto-save-file-name): Let native
22514         `make-auto-save-file-name' use `auto-save-file-name-transforms',
22515         if `tramp-auto-save-directory' is not set.
22517 2015-05-27  Glenn Morris  <rgm@gnu.org>
22519         No longer set dired-directory in eshell.  (Bug#16477)
22520         * lisp/eshell/esh-mode.el (eshell-mode):
22521         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
22523         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
22525         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
22526         * lisp/progmodes/cc-mode.el (c-mode-help-address):
22527         Change to submit@debbugs.
22528         (c-mode-bug-package): New constant.
22529         (mail-position-on-field): Declare.
22530         (c-submit-bug-report): Insert X-Debbugs-Package header.
22531         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
22532         Mention debbugs.gnu.org.
22534 2015-05-26  Glenn Morris  <rgm@gnu.org>
22536         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
22537         (rmail-summary-by-recipients, rmail-summary-by-topic)
22538         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
22539         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
22541 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
22543         Handle curved quotes in info files
22544         * lisp/calc/calc-help.el (calc-describe-thing):
22545         * lisp/info.el (Info-find-index-name)
22546         (Info-try-follow-nearest-node, Info-fontify-node):
22547         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
22548         In info files, process quotes ‘like this’ the same way we process
22549         quotes `like this'.  This catches a few places we missed earlier.
22551 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
22553         xref-prompt-for-identifier: Use a list value
22554         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
22555         value, to be interpreted as a list of commands.
22556         (xref--prompt-p): New function.
22557         (xref--read-identifier): Use it.
22559 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
22561         Teach MS-Windows font back-end return per-glyph ascent/descent
22562         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
22563         values.
22564         * src/w32font.c (w32font_text_extents): Compute, cache, and
22565         accumulate per-glyph ascent and descent values, instead of copying
22566         global values from the font.  If the values are not available from
22567         the font data, i.e., non-TTF fonts, fall back on font-global values.
22568         (compute_metrics): Compute and return per-glyph ascent and descent
22569         values, if returned by GetGlyphOutlineW, falling back on
22570         font-global values.  (Bug#20628)
22571         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
22572         height of rectangle to be drawn, to be compatible with
22573         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
22574         box, when per-glyph ascent/descent values are used.
22576 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
22578         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
22579         Don't sort if sorter is nil.
22581 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
22583         Fix Bug#20621
22584         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
22585         are major modes which set `auto-save-mode' on their own rules;
22586         Tramp shall not overwrite such settings.
22588 2015-05-26  Glenn Morris  <rgm@gnu.org>
22590         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
22591         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
22592         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
22593         Doc updates.
22594         (vc-dir-mode): Remove unnecessary autoload.
22596 2015-05-25  Philipp Stephani  <phst@google.com>
22598         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52.
22599         (xterm--extra-capabilities-type): Add `getSelection'.
22600         (xterm--query): Add `no-async' argument.
22601         (xterm--init-activate-get-selection): New function.
22602         (terminal-init-xterm): Use it.
22603         (xterm--init-modify-other-keys): Rename from
22604         terminal-init-xterm-modify-other-keys.
22605         (xterm--init-bracketed-paste-mode): Rename from
22606         terminal-init-xterm-bracketed-paste-mode.
22607         (xterm--init-activate-set-selection): Rename from
22608         terminal-init-xterm-activate-set-selection.
22609         (xterm--selection-char): New function.
22610         (gui-backend-set-selection): Use it.  Use the &context to only apply
22611         this method in terminals where we enabled the feature.
22612         (gui-backend-get-selection): New method.
22614 2015-05-25  Daniel Colascione  <dancol@dancol.org>
22616         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
22617         keyword constants to C++.
22619 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
22621         Make TAGS files more portable to MS-Windows
22622         * etc/NEWS: Document this.
22623         * lib-src/etags.c (readline_internal) [DOS_NT]:
22624         Don't treat CRs differently from GNUish hosts.
22625         * lisp/progmodes/etags.el (etags-goto-tag-location):
22626         Adjust STARTPOS to account for the skipped CRs in dos-style files.
22628 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
22630         Improve fix of bug#20634 in tramp-sh.el
22632 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
22634         Fix a typo in last commit
22635         * lib-src/etags.c (C_entries): Fix a typo.
22636         * test/etags/ETAGS.good_1:
22637         * test/etags/ETAGS.good_2:
22638         * test/etags/ETAGS.good_3:
22639         * test/etags/ETAGS.good_4:
22640         * test/etags/ETAGS.good_5:
22641         * test/etags/CTAGS.good: Update due to the change in etags.c.
22643         Fix tagging of class members in C-like OO languages
22644         * lib-src/etags.c (longopts): Add new option --class-qualify and
22645         its shorthand -Q.
22646         (print_help): Add help text for --class-qualify.
22647         (main): Add handling of -Q.
22648         (consider_token, C_entries) <omethodparm>: Append argument types
22649         to Objective C methods only if --class-qualify was specified.
22650         Qualify C++, Objective C, and Java class members with their class
22651         names only if --class-qualify was specified.
22652         (C_entries): If --class-qualify was not specified, remove the
22653         namespace and class qualifiers from tag names of C++ methods.
22654         This allows to use etags.el as xref back-end without the
22655         tag-symbol-match-p method, which greatly increases the number of
22656         potentially false positives.  (Bug#20629)
22657         * doc/man/etags.1: Update to document the new --class-qualify
22658         option.
22659         * test/etags/ETAGS.good_1:
22660         * test/etags/ETAGS.good_2:
22661         * test/etags/ETAGS.good_3:
22662         * test/etags/ETAGS.good_4:
22663         * test/etags/ETAGS.good_5:
22664         * test/etags/CTAGS.good: Update due to changes in etags.c.
22666 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
22668         (cl-generic-define-method): Side effects are evil (bug#20644)
22669         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
22670         cons-cells that might be used as keys in an `equal' hash-table.
22672 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
22674         Make erc timestamps visible again
22675         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec):
22676         Make timestamps visible again (if requested).
22678 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
22680         Fix last change in etags.c that broke tagging compresed files
22681         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
22682         quoting of decompression shell command for MS-Windows/MS-DOS.
22684 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
22686         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist.
22687         (Bug#20639)
22689 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
22691         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
22692         Fix typo in "Inhibit `epa-file-handler' in Tramp"
22693         (commit 89035e247591c8d688fce922b7079881aa110f33).
22695 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
22697         Fix IPv6 addresses in Tramp
22698         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
22699         Add square brackets around host name.
22701 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
22703         Inhibit `epa-file-handler' in Tramp (Bug#20634)
22704         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
22705         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
22706         `epa-file-handler'.
22708 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
22710         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring.
22711         (pcase-let): Document the behavior in case the pattern doesn't match.
22713 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
22715         * lisp/emacs-lisp/tabulated-list.el: New optional print method.
22716         (tabulated-list-print): New optional argument, UPDATE.  If
22717         non-nil, the list is printed by only adding and deleting the
22718         changed entries, instead of erasing the whole buffer.  This method
22719         is much faster when few or no entries have changed.
22720         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
22721         * etc/NEWS: Document it.
22723         * lisp/emacs-lisp/tabulated-list.el: Improve printing.
22724         (tabulated-list--get-sorter): New function.
22725         (tabulated-list-print): Restore window-line when remember-pos is
22726         passed and optimize away the `nreverse'.
22728 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
22730         Simpilify etags TEX mode scanning
22731         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
22732         Remove static vars.
22733         (TeX_commands): Deduce escapes here instead.
22734         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
22735         This removes the need for a reset_input call.
22737         Improve etags I/O error reporting
22738         * lib-src/etags.c:
22739         Don't include sys/types.h and sys/stat.h; no longer needed.
22740         (infilename): New static var.
22741         (process_file_name): Don't call 'stat'.  Instead, just open the
22742         file for reading and report any errors.  Don't bother making
22743         a copy of the file argument; it's not needed.  Be more careful to
22744         use the failing errno when reporting an error.
22745         Quote the real name better (though no perfectly)
22746         when passing it to the shell.
22747         (reset_input): New function, which reports I/O errors.
22748         All uses of 'rewind' changed to use this function.
22749         (perhaps_more_input): New function, which also checks for
22750         I/O errors.  All uses of 'feof' changed to use this function.
22751         (analyze_regex): Report an error if fclose fails.
22752         (readline_internal): Report an error if getc fails.
22753         (etags_mktmp): Return an error if close fails.
22755         etags.c: avoid side effects in 'if'
22756         * lib-src/etags.c (process_file_name, Perl_functions)
22757         (TEX_decode_env): Hoist side effects into previous statement.
22759         .gitignore tweaks
22760         * .gitignore: Ignore all *.stamp files.  Sort.
22761         Ignore [0-9]*.txt (commonly used name for git patches)
22762         and /vc-dwim-log-* (vc-dwim temporary).
22764 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
22766         Fix last change in etags.c, which failed the test suite
22767         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
22768         before the last change.
22770 2015-05-23  Glenn Morris  <rgm@gnu.org>
22772         Remove charset map files from repository, generate in first bootstrap
22773         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
22774         (all): Create the stamp file.
22775         (extraclean): Delete the stamp file.
22776         * src/Makefile.in (lispintdir, charsets): New variables.
22777         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
22778         New rules.
22779         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
22780         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
22781         * etc/charsets/*.map: Remove from repository.
22783 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
22785         Cleanup etags.c to use locale-independent code
22786         Although this doesn't alter behavior (as etags doesn't use
22787         setlocale), the new version is more clearly locale-independent and
22788         the executable is a bit smaller on my platform.
22789         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
22790         Include <c-ctype.h> instead of <ctype.h>.
22791         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
22792         (begtk, midtk):
22793         Remove; no longer needed.
22794         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
22795         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
22796         c_islower, c_tolower, respectively.
22797         (notinname, begtoken, intoken, endtoken): Rewrite as functions
22798         instead of macros, and initialize the tables at compile-time
22799         rather than at run-time.
22801         Put default action first in src/Makefile
22802         * src/Makefile.in (all): Put this rule before lisp.mk.
22803         That way, plain 'make' works in the src directory again.
22805 2015-05-23  Glenn Morris  <rgm@gnu.org>
22807         * Makefile.in: Fix extraclean rule.
22808         (extraclean_dirs): New.
22809         (extraclean): Use it.
22811 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
22813         Avoid compiler warning in image.c on MS-Windows
22814         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
22815         warning in image.c.
22817 2015-05-23  Glenn Morris  <rgm@gnu.org>
22819         Fix --without-toolkit-scroll-bars builds.
22820         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
22821         Add new argument to x_clear_area1.
22822         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
22823         Update x_clear_area arguments.
22825         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
22826         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
22827         Change to included version.
22828         (LOCAL, local, totalclean): Remove.
22829         (extraclean): Delete all generated files.
22831 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
22833         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume
22834         CVS/Entries exists.
22836         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
22838         * lisp/progmodes/etags.el (tags-completion-at-point-function):
22839         Don't trust the find-tag function.
22841 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
22843         Pacify --enable-gcc-warnings
22844         * src/frame.h (x_query_color): Remove redundant extern decl.
22845         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
22846         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
22847         (ftcrfont_text_extents, ftcrfont_draw):
22848         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
22849         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
22850         (x_ins_del_lines, frame_highlight, frame_unhighlight)
22851         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
22852         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
22853         (x_update_window_begin, x_connection_closed)
22854         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
22855         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
22856         (*x_gc_get_ext_data, x_extension_initialize)
22857         (x_cr_accumulate_data):
22858         Remove redundant static decl.  Many of these GCC doesn't complain
22859         about, but we might as well clean out the duplication while we're
22860         in the neighborhood.
22861         * src/xterm.c (x_fill_trapezoid_for_relief):
22862         Remove decl of nonexistent function.
22864 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
22866         Replace gui-method macros with cl-generic with &context
22867         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
22868         (gui-method-declare, gui-call): Remove.
22869         (frame-creation-function): Use cl-defgeneric.
22870         (make-frame): Adjust callers.
22871         * lisp/menu-bar.el (menu-bar-edit-menu):
22872         Use gui-backend-selection-exists-p.
22873         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
22874         (gui-backend-get-selection): New cl-generic to replace
22875         gui-get-selection method.
22876         (gui-backend-set-selection): New cl-generic to replace
22877         gui-set-selection method.
22878         (gui-selection-owner-p): New cl-generic to replace
22879         gui-selection-owner-p method.
22880         (gui-backend-selection-exists-p): New cl-generic to replace
22881         gui-selection-exists-p method.  Adjust all callers.
22882         * lisp/server.el (server-create-window-system-frame): Don't ignore
22883         window-system spec even when unsupported.
22884         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
22885         * lisp/startup.el (handle-args-function, window-system-initialization):
22886         Use cl-defgeneric.
22887         (command-line): Adjust calls accordingly.
22888         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
22889         a window-system-initialization method.
22890         (handle-args-function, frame-creation-function): Use cl-defmethod.
22891         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
22892         (gui-get-selection): Use cl-defmethod on the new functions instead.
22893         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
22894         a gui-backend-get-selection method.
22895         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
22896         Use cl-defmethod on the new functions instead.
22897         (msdos-window-system-initialization): Turn into
22898         a window-system-initialization method.
22899         (frame-creation-function, handle-args-function): Use cl-defmethod.
22900         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
22901         a window-system-initialization method.
22902         (handle-args-function, frame-creation-function): Use cl-defmethod.
22903         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
22904         (gui-get-selection): Use cl-defmethod on the new functions instead.
22905         * lisp/term/x-win.el (x-window-system-initialization): Turn into
22906         a window-system-initialization method.
22907         (handle-args-function, frame-creation-function): Use cl-defmethod.
22908         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
22909         (gui-get-selection): Use cl-defmethod on the new functions instead.
22910         * lisp/term/xterm.el (xterm--set-selection): Turn into
22911         a gui-backend-set-selection method.
22912         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
22913         (Fns_selection_owner_p): Remove unused arg `terminal'.
22914         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
22916 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
22918         Revert "Fix etags Bug#20629 that broke C++ support"
22919         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
22921 2015-05-23  Jan D  <jan.h.d@swipnet.se>
22923         Fix etags Bug#20629 that broke C++ support
22924         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
22925         Revert commit from Sun May 10 (Bug#20629).
22927         Merge branch 'cairo'.
22928         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
22929         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
22931         Merge branch 'master' into cairo
22933         Fixes to compile cairo branch without cairo
22934         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
22935         first argument.
22936         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
22937         USE_CAIRO.
22939 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
22941         * lisp/emacs-lisp/package.el: Always update selected-packages.
22942         (package--update-selected-packages): New function.
22943         (package-menu-execute): Use it before starting the transaction,
22944         this way the list of selected packages is updated even when the
22945         transaction fails.
22946         (package-menu--perform-transaction): Don't edit selected-packages.
22948 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
22950         Fix etags reading of compressed files
22951         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
22952         Include fcntl.h, for O_CLOEXEC.
22953         (process_file_name): Don't use 'popen', whose streams cannot be
22954         rewound.  Instead, uncompress the file to a temporary file,
22955         created by 'etags_mktmp', and read from that as usual.
22956         (etags_mktmp): New function.
22957         * test/etags/ETAGS.good_1:
22958         * test/etags/ETAGS.good_2:
22959         * test/etags/ETAGS.good_3:
22960         * test/etags/ETAGS.good_4:
22961         * test/etags/ETAGS.good_5: Update to be consistent with latest
22962         changes in etags.c regarding reading compressed files.
22964         Improve documentation of 'set-fontset-font'
22965         * doc/lispref/display.texi (Fontsets): Document the value of nil
22966         for the 3rd argument of 'set-fontset-font'.
22968         Fix documentation of forward-line
22969         * src/cmds.c (Fforward_line): Clarify the return value if the line
22970         at end of accessible portion of the buffer has no newline.
22971         * doc/lispref/positions.texi (Text Lines): Document what happens
22972         if the line at end of accessible portion of buffer has no newline.
22973         (Bug#20587)
22975 2015-05-22  Glenn Morris  <rgm@gnu.org>
22977         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
22979         * admin/charsets/mapconv (LC_ALL): Set to C.
22981         * Makefile.in: Add admin/charsets into top-level clean rules.
22982         (clean): Add admin/charsets.
22983         (maybeclean_dirs): New variable.
22984         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
22986         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
22988 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
22990         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc.
22992 2015-05-22  Glenn Morris  <rgm@gnu.org>
22994         Generate admin/charsets Makefile via configure, and make more portable
22995         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
22996         (admin/charsets/Makefile): Generate it.
22997         * admin/charsets/Makefile.in: Rename from Makefile.
22998         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
22999         New variables, set by configure.
23000         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
23001         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
23002         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
23003         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
23004         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
23005         (all): Declare PHONY.
23006         (local): New PHONY target.
23007         (map_template): New template.  Use to define short PHONY aliases.
23008         (*.map): Add directory prefixes to targets and prerequisites.
23009         Respect make verbosity.
23010         (JISC6226.map): Replace non-portable sed append without newline.
23011         (install): Remove rule.
23012         (clean): Only delete temporary sedscript.
23013         (bootstrap-clean, distclean, maintainer-clean, extraclean)
23014         (totalclean): New PHONY rules.
23015         * admin/charsets/mapconv (BASE): Replace basename with expr.
23016         (FILE): Add "mapfiles" subdirectory.
23017         (AWK): New variable.  Use throughout in place of "awk".
23018         (main): Use "gunzip -c" in place of "zcat".
23019         Don't leave whitespace before "p", for older sed.
23020         * admin/charsets/mapfiles/PTCP154: Add final newline,
23021         to make older sed versions happy.
23023 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
23025         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
23026         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
23027         (auto-revert-notify-watch-descriptor): Use defvar-local.
23028         (find-file-hook, auto-revert-tail-mode)
23029         (auto-revert-notify-add-watch): Use setq-local.
23030         (auto-revert-notify-add-watch): Don't call make-local-variable on
23031         kill-buffer-hook (bug#20601).
23033 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
23035         Change defgeneric so it doesn't completely redefine the function
23036         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
23037         previously defined methods.
23038         (cl-generic-define-method): Let-bind purify-flag instead of
23039         using `fset'.
23040         (cl--generic-prefill-dispatchers): Only define during compilation.
23041         (cl-method-qualifiers): Remove redundant alias.
23042         (help-fns-short-filename): Silence byte-compiler.
23043         * test/automated/cl-generic-tests.el:
23044         Adjust to new defgeneric semantics.
23046 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
23048         * lisp/emacs-lisp/package.el (package-menu-execute):
23049         Remove reference to remove-dups.
23051 2015-05-21  kwhite  <kwhite@gnu.org>
23053         * lisp/erc/erc.el: Hide network/channel messages.
23054         (erc-network-hide-list, erc-channel-hide-list): New lists to define
23055         message types per network/channel.
23056         (erc-add-targets): New function to parse list of targets.
23057         (erc-hide-current-message-p): Modify to check for new targets.
23059 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
23061         Don't quote nil and t in doc strings
23062         This is as per "Tips for Documentation Strings" in the elisp manual.
23063         For consistency, do the same in diagnostics and comments.
23065 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
23067         Fix a minor problem with mouse-face on mode line
23068         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
23069         mouse face also if the mouse pointer hovers above mode-line glyphs
23070         that don't come from any Lisp string.  (Bug#20620)
23072 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
23074         * lisp/emacs-lisp/package.el: Fix selected-package logic.
23075         (package-menu-execute): Mark as selected all non-upgrade packages
23076         being installed.
23077         (package-menu--perform-transaction): Don't mark anything.
23079         * lisp/emacs-lisp/package.el: Mode-line progress report.
23080         (package-menu--transaction-status): New variable.
23081         (package-menu-mode, package-menu--perform-transaction): Use it.
23083         * lisp/emacs-lisp/package.el: Better transaction messages.
23084         (package-menu--partition-transaction): New function.
23085         (package-menu--prompt-transaction-p, package-menu-execute):
23086         Use it.
23087         (package-menu--perform-transaction): Don't do any messaging.
23089         * lisp/emacs-lisp/package.el: Revert async package transactions.
23090         (package-menu-async): Update doc.
23091         (package-install-from-archive, package-download-transaction)
23092         (package-install, package-menu--perform-transaction)
23093         (package-menu-execute): Remove asynchronous functionality.
23095 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
23097         Revert doc string changes to f90.el
23098         Problem reported by Glenn Morris in:
23099         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
23100         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
23101         Revert recent changes to doc strings, as it's intended that they
23102         use grave accent, not quote.
23104 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
23106         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p):
23107         Improve parameter name.
23109         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function.
23111 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
23113         Don't require help-fns when not needed
23114         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
23115         * lisp/emacs-lisp/elint.el:
23116         Don't require help-fns at the top level
23117         * lisp/emacs-lisp/advice.el (ad-arglist):
23118         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
23119         Don't require help-fns.  (Bug#17001)
23121 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
23123         Fix slash collapsing in etags on MS-Windows
23124         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
23125         MS-Windows code from the Posix code, and support collapsing both
23126         forward- and back-slashes on MS-Windows.  Fixes a regression found
23127         by the test suite.
23129         Improve documentation of glyphless-char-display
23130         * doc/lispref/display.texi (Glyphless Chars): Improve
23131         documentation of glyphless character display.
23133         Fix "acronym" display of glyphless characters on w32
23134         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
23135         ignore "acronym" substitutes of 1 character for glyphless characters.
23137 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
23139         Add an automated test for let-when-compile
23140         * test/automated/subr-tests.el (let-when-compile): New test.
23142         Add let-when-compile macro instead of using pcase-let
23143         * lisp/subr.el (let-when-compile): New let-like macro that makes its
23144         bindings known to macros like `eval-when-compile' in the body.
23145         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to
23146         a `let-when-compile'.  Also comment out the unused lexical var
23147         `el-kws-re'.
23148         The change greatly improves readability, while providing almost the
23149         same (even shorter) byte code: instead of pre-evaluating 10 variables,
23150         tossing them into a list, and destructuring that list a full screen
23151         page later, the variables are simply bound as they are evaluated,
23152         wrapped individually in `eval-when-compile'.
23154 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
23156         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer.
23157         (package-delete-button-action): New function.
23158         (describe-package-1): Add Delete button.
23160         * lisp/emacs-lisp/package.el: Better dependency description.
23161         (package--used-elsewhere-p): New optional arg, ALL, and return
23162         package-desc objects instead of names.
23163         (package-delete): Update accordingly.
23164         (describe-package-1): Describe which packages require the package.
23166 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
23168         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
23169         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
23170         Fix doc-string.
23172         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
23173         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
23174         (switch-to-buffer): If the selected window is strongly dedicated
23175         to its buffer, signal error before prompting for buffer name.
23176         Handle `switch-to-buffer-in-dedicated-window'.
23177         * doc/lispref/windows.texi (Switching Buffers):
23178         Document `switch-to-buffer-in-dedicated-window'.
23180 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23182         Prefer "this" to “this” in doc strings
23183         This mostly just straightens quotes introduced in my previous patch.
23184         Suggested by Dmitry Gutov in:
23185         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
23186         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
23187         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
23188         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
23189         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
23190         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
23191         Prefer straight double quotes to curved double quotes in doc strings.
23193         Fix minor quoting problems in doc strings
23194         These were glitches regardless of how or whether we tackle the
23195         problem of grave accent in doc strings.
23196         * lisp/calc/calc-aent.el (math-restore-placeholders):
23197         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
23198         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
23199         * lisp/leim/quail/hebrew.el ("hebrew-new")
23200         ("hebrew-biblical-sil"):
23201         * lisp/leim/quail/thai.el ("thai-kesmanee"):
23202         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
23203         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
23204         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
23205         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
23206         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
23207         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
23208         (semantic-tag-components):
23209         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
23210         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
23211         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
23212         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
23213         * lisp/emacs-lisp/generator.el (iter-next):
23214         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
23215         (gnus-article-mode-syntax-table):
23216         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
23217         * lisp/net/soap-client.el (soap-wsdl-get):
23218         * lisp/net/telnet.el (telnet-mode):
23219         * lisp/org/org-compat.el (org-number-sequence):
23220         * lisp/org/org.el (org-remove-highlights-with-change)
23221         (org-structure-template-alist):
23222         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
23223         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
23224         (handwrite-12pt, handwrite-13pt):
23225         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
23226         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
23227         * lisp/progmodes/verilog-mode.el (verilog-tool)
23228         (verilog-string-replace-matches, verilog-preprocess)
23229         (verilog-auto-insert-lisp, verilog-auto-insert-last):
23230         * lisp/textmodes/makeinfo.el (makeinfo-options):
23231         * src/font.c (Ffont_spec):
23232         Fix minor quoting problems in doc strings, e.g., missing quote,
23233         ``x'' where `x' was meant, etc.
23234         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
23235         Fix minor quoting problem in other string.
23236         * lisp/leim/quail/ethiopic.el ("ethiopic"):
23237         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
23238         Omit unnecessary quotes.
23239         * lisp/faces.el (set-face-attribute, set-face-underline)
23240         (set-face-inverse-video, x-create-frame-with-faces):
23241         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
23242         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
23243         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
23244         * lisp/net/tramp.el (tramp-methods):
23245         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
23246         * lisp/textmodes/artist.el (artist-ellipse-right-char)
23247         (artist-ellipse-left-char, artist-vaporize-fuzziness)
23248         (artist-spray-chars, artist-mode, artist-replace-string)
23249         (artist-put-pixel, artist-text-see-thru):
23250         * lisp/vc/ediff-util.el (ediff-submit-report):
23251         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
23252         Use double-quotes rather than TeX markup in doc strings.
23253         * lisp/skeleton.el (skeleton-pair-insert-maybe):
23254         Reword to avoid the need for grave accent and apostrophe.
23255         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
23256         Don't use grave and acute accents to quote.
23258 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
23260         * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1):
23261         Silence compiler.
23263 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23265         Try to port new etags tests to MS-Windows
23266         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
23267         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
23268         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
23269         Adjust to test-case changes below.
23270         * test/etags/Makefile (CSRC): Remove dostorture.c.
23271         Whatever it was trying to test, wasn't working portably.
23272         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
23273         just a line-ending problem.
23274         * test/etags/c-src/dostorture.c: Remove.
23275         * test/etags/cp-src/c.C: Remove stray CR.
23276         * test/etags/html-src/algrthms.html: Remove trailing CRs.
23277         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
23278         but if someone edits it later it should stay UTF-8-compatible.
23280 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
23282         Fix display of overlapping window-specific overlays
23283         * src/keyboard.c (adjust_point_for_property): When adjusting point
23284         due to display strings, ignore overlays that are specific to
23285         windows other than the currently selected one.
23286         * src/xdisp.c (handle_single_display_spec): If the display
23287         property comes from an overlay, arrange for buffer iteration to
23288         resume only after the end of that overlay.  (Bug#20607)
23290 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
23292         New command icomplete-force-complete-and-exit
23293         * lisp/icomplete.el (icomplete-force-complete-and-exit):
23294         New command
23295         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
23296         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
23297         (icomplete-minibuffer-map): Bind C-j to it.
23298         (icomplete-forward-completions, icomplete-backward-completions):
23299         Mention the new command in the docstring.
23300         * lisp/minibuffer.el (minibuffer-force-complete-and-exit):
23301         Revert the previous fix for bug#17545.
23303 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
23305         Fix last commit
23307         In Elisp manual explain how to override window manager positioning
23308         (Bug#20552)
23309         * doc/lispref/frames.texi (Position Parameters): Give example of
23310         how to override a window manager positioning decision.
23312         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
23313         * src/frame.c (Fdelete_frame): In doc-string mention that frame
23314         can't be deleted if it has a surrogate minibuffer.
23315         * doc/lispref/frames.texi (Minibuffers and Frames)
23316         (Deleting Frames): Explain "surrogate minibuffer frames".
23318         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
23320 2015-05-18  Glenn Morris  <rgm@gnu.org>
23322         Add option to ignore commit lines matching a pattern in ChangeLog
23323         * build-aux/gitlog-to-changelog: Add --ignore-line option.
23324         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
23326 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
23328         Don't skip new etags tests on non-UTF-8 hosts
23329         Problem reported by Eli Zaretskii for MS-Windows.
23330         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
23331         (LC_ALL): Set to C if the current locale isn't UTF-8.
23332         (.PHONY): Remove ediff_1 thru ediff_5.
23333         (check): Always run.
23335 2015-05-18  Glenn Morris  <rgm@gnu.org>
23337         * lisp/calculator.el (calculator-funcall):
23338         * lisp/textmodes/artist.el (artist-spray-random-points):
23339         Use standard degree/radian conversion utilities.
23341         Further lisp-complete-symbol related cleanup.
23342         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
23343         Unadvertise non-functional argument.  Replace obsolete alias.
23345 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
23347         Add a test case for Maven warning ouput
23348         * test/automated/compile-tests.el
23349         (compile-tests--test-regexps-data): Add a case for Maven warning
23350         ouput.
23351         (compile--test-error-line): Check the compilation message type, if
23352         it's specified in the test data.
23354 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
23356         Update Maven compilation-mode entry to distinguish warnings
23357         * lisp/progmodes/compile.el
23358         (compilation-error-regexp-alist-alist): Update Maven entry to
23359         distinguish warnings (bug#20556).
23361 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
23363         * test/automated/sgml-mode-tests.el: New file.
23365 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
23367         Improve handling of the first Git revision
23368         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
23369         there's no next entry, delete until the end of the buffer.
23370         (log-view-end-of-defun-1): Stop at eob.
23371         * lisp/vc/vc-annotate.el
23372         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
23373         when previous-revision is nil.
23374         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
23375         with `--' to avoid ambiguity.
23376         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
23377         returned revision string.
23378         (vc-git-annotate-time): Expect `^' before the first revision.
23379         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
23380         REV1 is nil, and REV2 is not.
23381         * lisp/vc/vc.el: Update the description of the `diff' function.
23383 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
23385         Allow checkdoc to be called in batch
23386         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
23387         is non-nil, echo the error with `warn'.
23388         How it can be used in -batch:
23389         (with-current-buffer (find-file "checkdoc.el")
23390           (checkdoc-current-buffer t))
23392 2015-05-18  Glenn Morris  <rgm@gnu.org>
23394         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
23396 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
23398         * admin/notes/unicode: New section "binary files".
23400         Change new etags test to use UTF-8 encoding
23401         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
23402         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
23403         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
23404         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
23405         * test/etags/html-src/softwarelibero.html:
23406         Switch to UTF-8 encoding.
23407         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
23408         Remove Makefile, as it's too incestuous to have the test input
23409         include the build procedure.
23410         (UTF8_LOCALE, UTF_ENCODING): New macros.
23411         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
23412         (check): Skip if not UTF-8.
23413         (.PHONY): New rule.
23414         (FRC): Remove, as superseded by .PHONY.  All uses removed.
23415         (regexfile): Prefer printf to echo when outputting oddball chars.
23416         (.PRECIOUS): Remove, as these files are not built.
23418         Rename 'foo-gzipped' to 'foo.gz'
23419         * test/automated/data/decompress/foo.gz:
23420         Rename from test/automated/data/decompress/foo-gzipped,
23421         to make it easier for other tools to tell that it's compressed.
23422         * test/automated/zlib-tests.el (zlib--decompress):
23423         Adjust to renamed file.
23425 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
23427         Set up default-directory
23428         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
23429         binding for `v'.
23430         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
23431         appropriate value for default-directory.
23433 2015-05-17  Samer Masterson  <samer@samertm.com>
23435         * lisp/eshell/em-term.el (eshell-term-sentinel):
23436         No-op by default, only kills term buffer if
23437         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
23438         (eshell-destroy-buffer-when-process-dies): New custom to preserve
23439         previous behavior.
23441         eshell: Introduce new buffer syntax
23442         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
23443         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
23444         needed (Bug#19319).
23445         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
23446         (eshell-get-target): Remove shorthand-specific code.
23447         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
23448         '#<buffer-name>'.
23450 2015-05-17  Jan D  <jan.h.d@swipnet.se>
23452         Merge branch 'master' into cairo
23454 2015-04-26  Jan D  <jan.h.d@swipnet.se>
23456         Merge branch 'master' into cairo
23458         Add PBM support for cairo
23459         * src/image.c (xcolor_to_argb32): New function.
23460         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
23461         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
23462         XImagePtr if ! USE_CAIRO.
23463         (pbm_load): Add cairo support.
23465 2015-04-12  Jan D  <jan.h.d@swipnet.se>
23467         * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw.
23468         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
23469         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
23470         x_free_cr_resources.
23472         Handle specified bg in images.  Use generic libpng code for PNGs.
23473         * src/image.c (get_spec_bg_or_alpha_as_argb)
23474         (create_cairo_image_surface): New functions when USE_CAIRO.
23475         (xpm_load): Call the above functions.  Handle XPM without mask
23476         when USE_CAIRO.
23477         (png_load_body): Handle USE_CAIRO case.
23478         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
23479         instead.
23480         (jpeg_load_body): Call create_cairo_image_surface.
23481         (gif_load, svg_load_image): Handle specified background, call
23482         create_cairo_image_surface.
23483         * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO.
23485 2015-04-11  Jan D  <jan.h.d@swipnet.se>
23487         Support GIF and TIFF with cairo
23488         * configure.ac: Allow jpeg with cairo.
23489         Allow tiff and gif with cairo.
23490         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
23491         (tiff_load): Create cairo image surface if USE_CAIRO.
23492         (gif_load): Ditto.
23494         Support JPEG with USE_CAIRO
23495         * configure.ac: Allow jpeg with cairo.
23496         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
23498 2015-04-05  Jan D  <jan.h.d@swipnet.se>
23500         Support RSVG and cairo
23501         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
23502         * src/dispextern.h (struct image): Add cr_data2 if cairo.
23503         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
23504         (x_clear_image): Free cr_data and cr_data2 if set.
23505         (xpm_load): Assign data to cr_data2.
23506         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
23508 2015-04-03  Jan D  <jan.h.d@swipnet.se>
23510         Introduce limited Xpm support (32 bit ZPixmap) for Cairo
23511         * configure.ac (HAVE_RSVG): Move after cairo.
23512         (USE_CAIRO): Disable rsvg, don't disable Xpm.
23513         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
23514         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
23515         don't return early.
23516         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
23517         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
23518         and create a surface.
23520         Tool tips for menus did not show any text.
23521         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
23522         tip frames, the geometry may be wrong.
23524         Merge branch 'master' into cairo, fixes tooltips not shown.
23526         Merge branch 'master' into cairo
23528         Add CAIRO_CFLAGS to lwlib/Makefile.in
23529         * Makefile.in (CAIRO_CFLAGS): Add.
23531 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
23533         * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
23535 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
23537         Draw outermost line using black relief and erase corners also for cairo.
23538         * src/xterm.c [USE_CAIRO]: Include math.h.
23539         (enum corners) [USE_CAIRO]: New enum.
23540         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
23541         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
23542         than 1, draw the outermost line using the black relief.
23544         * src/xterm.c (x_fill_trapezoid_for_relief):
23545         Remove unnecessary cairo_close_path.
23547 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
23549         * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
23551         * src/xterm.c (x_draw_stretch_glyph_string):
23552         Call x_reset_clip_rectangles instead of XSetClipMask.
23554         Use int instead of unsigned int for width and height args.
23555         * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
23556         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
23557         width and height args.
23559         Modernize k&r cairo-related function declarations.
23560         * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
23561         (xg_print_frames_dialog): Modernize k&r declarations.
23562         * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
23563         (Fx_print_frames_dialog): Modernize k&r declarations.
23564         * src/xterm.c (x_gc_get_ext_data, x_extension_initialize)
23565         (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground)
23566         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
23567         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
23568         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
23569         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
23570         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
23571         (x_clear_area): Modernize k&r declarations.
23573         Implement wave-style variant of underlining for cairo.
23574         * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
23575         (x_draw_underwave) [USE_CAIRO]: Use it.
23577         * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle
23578         instead of XFillRectangle.
23580 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
23582         Fix fringe bitmap initialization for cairo
23583         * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap
23584         data for cairo image surface.
23585         * src/xterm.c (x_cr_define_fringe_bitmap):
23586         Call cairo_surface_mark_dirty.
23588 2015-02-11  Jan D  <jan.h.d@swipnet.se>
23590         Add cairo drawing
23591         * configure.ac (with-cairo): New option.
23592         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
23593         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
23594         Output "Does Emacs use cairo?".
23595         * lisp/version.el (emacs-version): Add cairo version.
23596         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
23597         (FONT_OBJ): Add comment about ftcrfont.
23598         (ALL_CFLAGS): Add CAIRO_CFLAGS.
23599         (LIBES): Add CAIRO_LIBS.
23600         * src/dispextern.h (struct image): Add cr_data for cairo.
23601         (x_cr_init_fringe): Declare.
23602         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
23603         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
23604         * src/fringe.c (x_cr_init_fringe): New function name that shares code
23605         with w32_init_fringe.
23606         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
23607         * src/ftfont.c (ftfont_info_size); New global variable.
23608         (ftfont_open2): New extern function almost the same as old ftfont_open,
23609         but takes the font_object as argument.
23610         (ftfont_open): Build font object and call ftfont_open2.
23611         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
23612         * src/gtkutil.c (xg_clear_under_internal_border)
23613         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
23614         Only queue_draw if not cairo.  Change args to x_clear_area.
23615         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
23616         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
23617         (xg_print_frames_dialog): New functions for printing.
23618         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
23619         (xg_print_frames_dialog): Declare.
23620         * src/image.c: Add defined (USE_CAIRO) for PNG.
23621         Add !defined USE_CAIRO for W32 PNG code.
23622         (x_clear_image): If cairo, destroy the surface in cr_data.
23623         (png_load): Add new cairo compatible implementation.
23624         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
23625         * src/xfns.c: New section Printing.
23626         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
23627         (x-print-frames-dialog): New printing functions.
23628         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo.
23629         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
23630         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
23631         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
23632         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
23633         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
23634         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
23635         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
23636         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
23637         Declare.
23638         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
23639         (max_fringe_bmp, fringe_bmp): New variables.
23640         (x_gc_get_ext_data, x_extension_initialize)
23641         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
23642         (x_set_cr_source_with_gc_foreground)
23643         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
23644         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
23645         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
23646         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
23647         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
23648         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
23649         (x_update_begin): Create cairo surface if needed.
23650         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
23651         (x_update_end): Paint cairo drawing surface to xlib surface.
23652         (x_clear_under_internal_border, x_after_update_window_line): Adjust
23653         arguments to x_clear_area.
23654         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
23655         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
23656         of XSetClipMask.
23657         (x_set_glyph_string_clipping)
23658         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
23659         instead of XSetClipRectangles.
23660         (x_clear_glyph_string_rect, x_draw_glyph_string_background):
23661         Use x_fill_rectangle instead of XFillRectangle.
23662         (x_draw_glyph_string_foreground)
23663         (x_draw_composite_glyph_string_foreground)
23664         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle
23665         instead of XDrawRectangle.
23666         (x_draw_relief_rect): Add code for USE_CAIRO.
23667         Call x_reset_clip_rectangles instead of XSetClipMask.
23668         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
23669         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
23670         instead of XSetClipMask.
23671         (x_draw_image_foreground, x_draw_image_foreground_1):
23672         x_draw_rectangle instead of XDrawRectangle.
23673         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
23674         XFillRectangle.
23675         (x_draw_image_glyph_string): If img has cr_data, use it as
23676         a cairo surface.
23677         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
23678         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
23679         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
23680         x_reset_clip_rectangles instead of XSetClipMask.
23681         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
23682         (x_clear_area1): New function that calls XClearArea.
23683         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
23684         non-cairo.
23685         (x_clear_frame): x_clear_window instead of XClearWindow.
23686         (x_scroll_run): Set frame garbaged if cairo.
23687         (XTmouse_position): Initialize *part to 0.
23688         (x_scroll_bar_create): Adjust arguments to x_clear_area.
23689         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
23690         x_fill_rectangle instead of XFillRectangle.
23691         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
23692         arguments to x_clear_area.
23693         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
23694         (handle_one_xevent): Adjust arguments to x_clear_area.
23695         Destroy cairo surface for frame if ConfigureNotify.
23696         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
23697         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
23698         x_reset_clip_rectangles instead of XSetClipMask.
23699         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
23700         x_reset_clip_rectangles instead of XSetClipMask.
23701         (x_clear_frame_area): Adjust arguments to x_clear_area.
23702         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
23703         (x_term_init): Call x_extension_initialize if cairo.
23704         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
23705         x_cr_destroy_fringe_bitmap for cairo.
23706         (x_initialize): Call x_cr_init_fringe for cairo.
23707         * src/xterm.h: Add include of cairo header files.
23708         (x_bitmap_record): Add img if cairo.
23709         (x_gc_ext_data): New struct for cairo.
23710         (x_display_info): Add ext_codes for cairo.
23711         (x_output): Add cr_context and cr_surface for cairo.
23712         (x_clear_area): Change arguments from Display*/Window to frame pointer.
23713         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
23714         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
23715         (x_cr_draw_frame, x_cr_export_frames): Declare.
23717 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
23719         Fix integer-valued `mouse-highlight' (Bug#20590)
23720         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
23722 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
23724         MS-Windows followup for ASCIIfication of curved quotes
23725         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
23726         test for curved quotes being displayable, after switching the
23727         terminal encoding.  (Bug#20545)
23729 2015-05-17  Jan D  <jan.h.d@swipnet.se>
23731         Add comment that x_shift_glyphs_for_insert is never called
23732         * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface):
23733         Add comment that this function is never called.
23735 2015-05-16  Glenn Morris  <rgm@gnu.org>
23737         * src/lisp.mk: Remove from repository and generate at build-time.
23738         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
23739         (shortlisp_filter): New variable.
23740         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
23741         (distclean): Remove lisp.mk.
23742         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
23743         * lisp/loadup.el: Tweak layout to make it easier to parse.
23744         * make-dist: Do not distribute src/lisp.mk.
23746 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
23748         Display shorter dates in Git annotate output
23749         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
23750         format (when not overridden with vc-git-annotate-switches).
23751         (vc-git-annotate-time): Support the short format, as well as ISO
23752         8601 that has been used until now (bug#5428).
23754 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
23756         ASCIIfy curved quotes on displays lacking them
23757         * lisp/international/mule-cmds.el (set-locale-environment):
23758         If curved quotes don't work, display straight ASCII approximations
23759         (Bug#20545).
23761 2015-05-16  Glenn Morris  <rgm@gnu.org>
23763         Small src/Makefile simplification
23764         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
23765         * src/Makefile.in (lisp): Derive from shortlisp.
23766         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
23768 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
23770         * lisp/help-mode.el (help-go-forward): Doc fix.
23771         (Bug#20577)
23773         * doc/lispref/debugging.texi (Profiling): Improve indexing.
23774         (Bug#20576)
23776 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
23778         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
23779         have one fewer `not'.
23781         * lisp/vc/vc-git.el (vc-git-diff-switches)
23782         (vc-git-annotate-switches, vc-git-resolve-conflicts)
23783         (vc-git-program, vc-git-root-log-format): Remove the redundant
23784         :group declarations.
23786 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
23788         Removes the predicate from lisp-complete-symbol (Bug#20456)
23789         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
23790         and remove it from the docstring.
23792 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
23794         Add new option vc-git-resolve-conflicts
23795         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
23796         (vc-git-find-file-hook): Add to after-save-hook only when the
23797         above is non-nil.
23798         (vc-git-resolve-when-done): Update to honor the new variable.
23799         (Bug#20292)
23801 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
23803         * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string.
23804         (tabulated-list-init-header): Document new behavior.
23805         (tabulated-list-print-fake-header): Do nothing if
23806         `tabulated-list--header-string' is nil.
23807         (tabulated-list--header-string): Add a docstring.
23808         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
23809         * etc/NEWS: Document it.
23811 2015-05-15  Leo Liu  <sdl.web@gmail.com>
23813         Revert "Fix cps--gensym"
23814         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
23815         fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
23817 2015-05-15  Glenn Morris  <rgm@gnu.org>
23819         Replace AC_SUBST_FILE in configure with include in Makefiles
23820         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
23821         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
23822         (AUTO_DEPEND): New output variable.
23823         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
23824         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
23825         (lwlib_deps_frag): Replace by conditional include.
23826         * lwlib/autodeps.mk: Remove file.
23827         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
23828         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
23829         (oldxmenu_deps_frag): Replace by conditional include.
23830         * oldXMenu/autodeps.mk: Remove file.
23831         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
23832         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
23833         (lisp_frag): Replace by an include.
23834         (deps_frag): Replace by conditional include.
23835         * src/autodeps.mk: Remove file.
23837         Tweak japanese.el's loading of dependencies
23838         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
23839         * lisp/language/japanese.el: Use require rather than load.
23840         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
23841         Provide a feature.
23842         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
23843         Provide a feature in the generated file.
23845 2015-05-15  Jan D  <jan.h.d@swipnet.se>
23847         Fix NS warnings
23848         * src/nsmenu.m (ns_popup_dialog)
23849         * src/nsimage.m (initFromXBM:width:height:fg:bg:)
23850         * src/nsfns.m (Fx_create_frame): Remove unused variables.
23851         (Fns_read_file_name): Initialize fname, remove ret.
23852         * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
23853         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown):
23854         Remove unused variable.
23855         (init): Add parantesis in if.
23856         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
23858 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
23860         Fix a enum conversion warning in macfont.m
23861         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
23862         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
23864 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
23866         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
23867         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
23869 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
23871         * lisp/cus-start.el: Add ns-confirm-quit.
23873         Fix warnings on OSX 10.10
23874         * src/nsfns.m (MODAL_OK_RESPONSE): New define for different
23875         OSX versions.
23876         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
23877         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
23878         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:)
23879         * src/nsimage.m (allocInitFromFile, setPixmapData): Only call
23880         setScalesWhenResized for OSX < 10.6.
23881         * src/nsterm.h (EmacsScroller): Declare scrollerWidth.
23882         * src/nsterm.m (ns_copy_bits): New function that does not use
23883         deprecated NSCopyBits.
23884         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
23885         (runAlertPanel): New function.
23886         (applicationShouldTerminate:): Call runAlertPanel.
23887         (initFrameFromEmacs, toggleFullScreen:): Only call
23888         useOptimizedDrawing for OSX < 10.10.
23889         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
23890         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
23891         (draggingEntered:): Returns NSDragOperation.
23892         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
23894 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
23896         * lisp/emacs-lisp/package.el: Don't ensure-init during startup.
23897         (package--init-file-ensured): New variable.
23898         (package-initialize, package--ensure-init-file): Use it.
23900 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
23902         Honor :fore/background for XBM on NS (Bug#14969)
23903         * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
23904         initFromXBM takes bg, fg args, remove flip arg.
23905         (ns_image_from_XBM): Add bg, fg args.
23906         * src/image.c (x_create_bitmap_from_data)
23907         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
23908         * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to
23909         initFromXBM.  Remove flip arg.
23910         (initFromSkipXBM): Move code to initFromXBM.
23911         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
23912         Use fg, bg from args (Bug#14969).  Remove if (length) section, was
23913         always false.
23914         Remove bit flipping (bitPat, swt), generated incorrect images when
23915         width/height wasn't a multiple of 8.
23916         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
23917         * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args,
23918         remove flip arg.
23920 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
23922         * lisp/emacs-lisp/package.el: Be more careful with the init file.
23923         (package--ensure-init-file): Check that user-init-file is set,
23924         exists, is readable, and is writable.  (Bug#20584)
23925         Also expand the docstring.
23927 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
23929         Sync with upstream verilog-mode revision 6232468
23930         * lisp/progmodes/verilog-mode.el
23931         (verilog-font-lock-grouping-keywords-face)
23932         (verilog-highlight-grouping-keywords): Fix use of face when
23933         `verilog-highlight-grouping-keywords' set.  Reported by Jeff Pompa.
23934         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
23935         parent is reset, bug906.  Reported by Ken Schmidt.
23936         (verilog-auto-inout-module): Add fourth regexp argument to
23937         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856.
23938         Reported by John Tillema.
23939         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
23940         modport if signal attachment is itself a modport.  Reported by
23941         Matthew Lovell.
23942         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
23943         always_comb and always_latch, bug844.  Reported by Greg Hilton.
23944         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
23945         with many curly-bracket pairs, bug663.
23946         (verilog-set-auto-endcomments): Fix end comments for functions of
23947         type void, etc.  Reported by Alex Reed.
23948         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
23949         caused by indent-line-to deleting tabls pre 24.5.
23950         (verilog-nameable-item-re): Fix nameable items that can have an
23951         end-identifier to include endchecker, endgroup, endprogram,
23952         endproperty, and endsequence.  Reported by Alex Reed.
23953         (verilog-label-be): When auto-commenting a buffer, consider
23954         auto-comments on all known keywords (not just a subset thereof).
23955         Reported by Alex Reed.
23956         (verilog-auto-end-comment-lines-re)
23957         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
23958         Automatically comment property/endproperty blocks to match other
23959         similar blocks like sequence/endsequence, function/endfunction, etc.
23960         Reported by Alex Reed.
23961         (verilog-set-auto-endcomments): Detect the function- or task-name
23962         when auto-commenting blocks that lack an explicit portlist.
23963         Reported by Alex Reed.
23964         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
23965         allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
23966         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
23967         is nil, fix indenting initial/final to match always statements,
23968         bug825.  Reported by Tim Clapp.
23969         (verilog-extended-complete-re): Fix indentation of DPI-C imports
23970         with c_identifiers, and DPI-C imports, bug557.  Reported by ZeDong
23971         Mao and Jason Forkey.
23972         (verilog-read-decls): Fix parsing typed interfaces.  Fix
23973         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
23974         Fix localparam not being ignored in AUTOINSTPARAM,
23975         bug889.  Reported by Shannon Hill.
23976         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
23977         bug793.  Reported by Pierre-David Pfister.
23978         (verilog-auto-arg-format, verilog-auto-arg-ports):
23979         Add verilog-auto-arg-format to support newlines in AUTOARG.
23980         Reported by Jie Xiao.
23981         (verilog-batch-execute-func): Do not batch re-auto files loaded by
23982         Local Variables.  Fix printing "no changes to be saved" with
23983         verilog-batch.  Reported by Dan Dever.
23984         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
23985         interface-only modules, bug721.  Reported by Dean Hoyt.
23986         Author: Alex Reed <acreed4@gmail.com>
23987         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement):
23988         Don't treat '<keyword>:<identifier>' as the start of a labeled
23989         statement, bug905.  Reported by Enzo Chi.
23990         (verilog-directive-re, verilog-compiler-directives)
23991         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
23992         directives (plus some extras) when determining indentation, bug
23993         901.  Reported by Bernd Beuster.
23994         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
23995         iff expression doesn't start with word-character, bug900.
23996         (verilog-optional-signed-range-re, verilog-optional-signed-re):
23997         Fix incorrect indentation/alignment of unsigned declarations,
23998         bug897.
23999         (verilog-looking-back, verilog-in-attribute-p): Fix labeling of
24000         always constructs, bug895.
24001         (verilog-calc-1): Fix verilog-mode constraint indentation, bug324.
24002         Reported by Eric Mastromarchi.
24003         (verilog-beg-of-statement): Fix indenting for some forms of
24004         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
24005         continued assignment incorrect if first line ends with ']', bug437.
24006         Reported by Dan Dever.  Fix indention of cover inside an
24007         ifdef, bug 862.  Reported by Bernd Beuster.  Fix labeling do-while
24008         blocks, bug842.
24009         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859.
24010         Reported by Kaushal Modi.
24011         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
24012         (verilog-backward-token): Fix indenting sensitivity lists with
24013         named events, bug840.  Reed.
24014         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
24015         nil not honoring 'forever', 'foreach', and 'do' keywords.
24017 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24019         Check for invalid GTK+ monitor scales
24020         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
24021         INT_MAX for too-large scales.  All callers changed to assume the
24022         result is valid (Bug#20432).
24023         (xg_frame_set_char_size, xg_update_scrollbar_pos):
24024         Calculate scale only if needed.
24025         Show ASCII approximations instead.
24027 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
24029         Fix daemon crashes when linum-mode is turned on early on
24030         * src/window.c (Fwindow_end): Don't try calling display engine
24031         functions on initial-frame frame.  (Bug#20565)
24033         Fix selective diff browsing in Ediff
24034         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches):
24035         Go to the beginning of the region before searching for the
24036         ediff-regexp-focus-* regexps.  (Bug#20568)
24038 2015-05-14  Jan D  <jan.h.d@swipnet.se>
24040         Fixes bug#20142
24041         * src/gtkutil.c (delete_cb): Don't send delete event here, it does
24042         arrive in the main loop, even for Gtk 3 (Bug#20142).
24044         Don't access display after i/o error (Bug#19147).
24045         * src/xterm.c (x_connection_closed): Add third arg ioerror.
24046         If ioerror, set display to 0 (Bug#19147).
24047         (x_error_quitter): Call x_connection_closed with third arg false.
24048         (x_io_error_quitter): Call x_connection_closed with third arg true.
24050         Handle GTK_SCALE, fixes Bug#20432.
24051         * src/gtkutil.c (xg_get_gdk_scale): New function.
24052         (xg_frame_set_char_size)
24053         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
24054         (xg_get_default_scrollbar_height)
24055         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
24056         when setting sizes (Bug#20432).
24058 2015-05-13  Leo Liu  <sdl.web@gmail.com>
24060         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
24062 2015-05-13  Glenn Morris  <rgm@gnu.org>
24064         Fix bootstrap (void function cl-member).
24065         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
24066         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
24068 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24070         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
24071         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
24072         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
24073         Avoid defalias for closures which are not immutable.
24074         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill
24075         the dispatchers table with various entries.
24076         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
24077         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
24079 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
24081         Improve tagging of C bindings in DEFVAR_*
24082         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
24083         from DEFVAR_*.
24085 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
24087         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
24089 2015-05-12  Glenn Morris  <rgm@gnu.org>
24091         * lisp/progmodes/tcl.el (tcl-filter):
24092         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
24094         Add basic VC push support
24095         * lisp/vc/vc.el (vc-push): New autoloaded command.
24096         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
24097         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
24098         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
24099         (vc-bzr-push): New.
24100         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
24101         (vc-git-pull): Reimplement using vc-git--pushpull.
24102         (vc-git-push): New.
24103         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
24104         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
24105         * doc/emacs/maintaining.texi (Pulling / Pushing):
24106         Rename from "VC Pull".  Mention pushing.
24107         (VC With A Merging VCS, VC Change Log): Update xrefs.
24108         (Branches): Update menu.
24109         * doc/emacs/emacs.texi: Update menu.
24110         * etc/NEWS: Mention this.
24112 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
24114         Improve the seq pcase pattern and the `seq-let' macro
24115         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
24116         object is a sequence, and binds each element of ARGS to the
24117         corresponding element of the sequence.
24119 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
24121         Fix tags created from DEFVAR_* declarations in C
24122         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
24123         to make tags extracted from DEFVAR_* declarations more accurate.
24125         Add a test suite for etags
24126         * test/etags/: New test suite, adapted from
24127         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
24128         whose original author is Francesco Potortì <pot@gnu.org>.
24130         Fix tagging of symbols in C enumerations
24131         * lib-src/etags.c (consider_token): Don't tag symbols in
24132         expressions that assign values to enum constants.  See
24133         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
24134         for details.
24135         (C_entries): Reset fvdef to fvnone after processing a preprocessor
24136         conditional and after a comma outside of parentheses.
24138 2015-05-12  Glenn Morris  <rgm@gnu.org>
24140         * lisp/url/url-handlers.el (url-file-name-completion)
24141         (url-file-name-all-completions): Silence compiler.
24143         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
24145         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
24147 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
24149         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
24150         (cl--generic-mandatory-args): Remove.
24151         (cl--generic-split-args): New function.
24152         (cl-generic-define, cl--generic-lambda): Use it.
24153         (cl-generic-define-method): Use it as well, and add support for
24154         context args.
24155         (cl--generic-get-dispatcher): Handle &context dispatch.
24156         (cl--generic-cache-miss): `dispatch-arg' can now be a
24157         context expression.
24158         (cl--generic-dispatchers): Pre-fill.
24159         * test/automated/cl-generic-tests.el (sm-generic-test-12-context):
24160         New test.
24162 2015-05-11  Glenn Morris  <rgm@gnu.org>
24164         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
24166 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
24168         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
24169         * lisp/term/rxvt.el: Require term/xterm.
24170         (rxvt-function-map): Use xterm-rxvt-function-map.
24171         (rxvt-standard-colors): Move before first use.
24172         (terminal-init-rxvt): Use xterm--push-map and
24173         xterm-register-default-colors.
24174         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
24175         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
24176         Move shared bindings between rxvt and xterm to it.
24177         (xterm-function-map): Use it.  Move the xterm-paste binding to
24178         xterm-rxvt-function-map (bug#20444).
24179         (xterm-standard-colors): Move before first use.
24180         (xterm--push-map): New function.
24181         (xterm-register-default-colors): Take standard colors as argument.
24182         (terminal-init-xterm): Use it.  Adjust call to
24183         xterm-register-default-colors.
24185 2015-05-11  Glenn Morris  <rgm@gnu.org>
24187         * lisp/term/x-win.el: Quieten --without-x compilation.
24188         (x-own-selection-internal, x-disown-selection-internal)
24189         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
24190         Declare.
24192         * Makefile.in (emacslog): Remove srcdir.
24193         (ChangeLog): Update for the above.
24195 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
24197         python.el: better limit for looking-back calls
24198         * lisp/progmodes/python.el (python-shell-accept-process-output):
24199         Use last comint prompt start as limit for looking-back.
24201 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
24203         CEDET (srecode-insert-fcn): Fix use of oref on a class
24204         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref
24205         on a class.  Reported by Pierre Lorenzon.
24206         (srecode-template-inserter-point): Remove declaration.
24208         CEDET (srecode-create-dictionary): Avoid obsolete object name
24209         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
24210         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
24212 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
24214         C-x 8 shorthands for curved quotes, Euro, etc.
24215         Although C-x 8 lets you insert arbitrary Unicode characters,
24216         it's awkward to use this to insert commonly used symbols such as curved
24217         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
24218         characters commonly found in English text and in basic math.
24219         For example, assuming the Alt key works on your keyboard and iso-transl
24220         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
24221         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
24222         (Bug#20499)
24223         * doc/emacs/mule.texi (Unibyte Mode):
24224         A few other printing characters now work too.
24225         * etc/NEWS: Document this.
24226         * lisp/international/iso-transl.el (iso-transl-char-map):
24227         Also support the following characters:
24228         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
24230 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
24232         Add xref-find-regexp
24233         * lisp/progmodes/xref.el (xref-find-function): Describe the
24234         `matches' action.
24235         (xref-find-regexp): New command, using it.
24236         (xref-collect-references): Rename to xref-collect-matches.
24237         (xref--collect-reference): Rename to xref--collect-match.
24238         (xref-collect-matches, xref--collect-match): Accept new argument,
24239         KIND.  Update accordingly.
24240         (xref--regexp-to-extended): New function.
24241         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
24242         `matches' action.
24243         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
24244         * lisp/progmodes/etags.el (etags-xref-find):
24245         Support the `matches' action.
24246         (etags--xref-find-matches): New function.
24248 2015-05-10  Glenn Morris  <rgm@gnu.org>
24250         * Makefile.in: Fixes for recent change-history changes.
24251         (change-history-nocommit): Update footer regexp.
24252         Ensure output script stays executable.
24254 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
24256         New version of `seq-let' based on a pcase pattern
24257         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
24258         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
24260 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
24262         Add basic HTML5 tags and a template
24263         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
24264         (html-tag-alist): Add HTML5 tags.
24265         (html-tag-help): Add new tags descriptions.
24266         (html-navigational-links): Template for nav links.
24267         (html-html5-template): Template for a HTML5 page.
24269 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
24271         semantic/symref/grep: Don't use word boundaries
24272         * lisp/cedet/semantic/symref/grep.el
24273         (semantic-symref-perform-search): Instead of wrapping input in
24274         word boundaries, check that the characters before and after are
24275         not word constituents.
24277         semantic/symref/grep: Support regexp search
24278         * lisp/cedet/semantic/symref.el
24279         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
24280         the search type is regexp.
24281         * lisp/cedet/semantic/symref/grep.el
24282         (semantic-symref-perform-search): Support the regexp search type.
24283         Pass -E to Grep when it's used.
24285         semantic-symref-regexp: Allow to input an arbitrary string
24286         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
24287         Allow to input an arbitrary string interactively.
24289         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
24290         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
24291         Remove tag-symbol-match-p from the default value
24292         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
24294         Declare find-tag obsolete
24295         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
24296         xref-find-definitions.
24298 2015-05-10  Jan D  <jan.h.d@swipnet.se>
24300         Draw composite string correctly (Bug#20537)
24301         * src/nsterm.m (ns_draw_composite_glyph_string_foreground):
24302         New function.
24303         (ns_draw_glyph_string): Call it.
24305 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
24307         Avoid infloop in ERC
24308         * lisp/simple.el (line-move-to-column): Ignore field boundaries
24309         while computing line beginning position.  (Bug#20498)
24311 2015-05-08  Glenn Morris  <rgm@gnu.org>
24313         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
24314         * build-aux/gitlog-to-emacslog: Check called from right directory.
24315         (srcprefix): Remove.
24317         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
24318         * Makefile.in (ChangeLog): No longer pass "distprefix".
24319         * make-dist: Update "make ChangeLog" syntax for the above change.
24321         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
24322         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
24324         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
24326         Add command-line option-parsing to gitlog-to-emacslog
24327         * build-aux/gitlog-to-emacslog: Add command-line options.
24328         By default, refuse to remove an existing output file.
24329         * Makefile.in (CHANGELOG): Update default.
24330         (ChangeLog): Do not test for existing file.
24331         (change-history-nocommit): Ensure temp file does not exist.
24333         Quieten --without-x compilation
24334         * lisp/term/common-win.el: Provide a feature.
24335         * lisp/term/x-win.el (term/common-win): Require it.
24337         * lisp/dired-aux.el (dired-do-print): Require lpr.
24339         Quieten compilation, eg in --without-x builds
24340         * lisp/dired-aux.el (lpr-printer-switch):
24341         * lisp/frame.el (tool-bar-height):
24342         * lisp/linum.el (font-info):
24343         * lisp/window.el (font-info, overflow-newline-into-fringe)
24344         (tool-bar-height):
24345         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
24346         * lisp/gnus/gnus-util.el (iswitchb-mode):
24347         * lisp/mail/rmailmm.el (libxml-parse-html-region):
24348         * lisp/net/nsm.el (gnutls-peer-status)
24349         (gnutls-peer-status-warning-describe):
24350         * lisp/net/shr.el (libxml-parse-xml-region):
24351         * lisp/url/url-http.el (gnutls-peer-status): Declare.
24353 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
24355         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
24356         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
24357         `subclass' since they're never called with a class.
24358         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
24359         srecode-dictionary-child-p.
24361 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
24363         * lisp/help.el (help--binding-locus): Document argument POSITION.
24364         (Bug#20530)
24366 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
24368         Merge from gnulib
24369         * doc/misc/texinfo.tex: Get latest version.
24371 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
24373         ffap.el (ffap-read-file-or-url): Fix completing-read call
24374         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
24375         `completing-read' should be a symbol.
24377 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
24379         Verify file modifications by other programs
24380         * src/filelock.c (lock_file): Check whether the file was modified
24381         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
24383         Fix keyboard macros that include function keys
24384         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
24385         keys in the macro before returning.  (Bug#20454)
24387 2015-05-08  Glenn Morris  <rgm@gnu.org>
24389         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
24390         "Copyright-paperwork-exempt".  (Bug#20324)
24392         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
24393         (log-edit-rewrite-tiny-change): New variable.
24394         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
24395         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
24396         * etc/NEWS: Mention this.
24398         * lisp/calc/calc.el (math-zerop): Declare.
24400         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
24402 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
24404         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec.
24405         Support the case when BINDINGS is a single tuple.  (Bug#20525)
24407         * etc/NEWS: Fix typo in previous commit
24408         (14bb519f1034ddb38ce375cbad7095d9b07f8b26).
24410 2015-05-07  Jan D  <jan.h.d@swipnet.se>
24412         * configure.ac: Warn for multiple display crash for all Gtk+ versions.
24413         Output URL to Gtk+ bug (Bug#20452).
24415         * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection.
24417 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
24419         * lisp/emacs-lisp/package.el: New "external" package status.
24420         An external package is any installed package that's not built-in
24421         and not from `package-user-dir', which usually means it's from an
24422         entry in `package-directory-list'.  They are treated much like
24423         built-in packages, in that they cannot be through the Package Menu
24424         deleted and are not considered for upgrades.
24425         (package-desc-status): Identify if a package is installed outside
24426         `package-user-dir'.
24427         (package-menu--print-info-simple)
24428         (package-menu--status-predicate): Add support for it.
24429         * etc/NEWS: Document it.
24431 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
24433         * lisp/mail/rmail.el: Use lexical-binding.
24434         (rmail-bury): Remove unused var `buffer-to-bury'.
24435         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
24436         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
24437         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
24438         (rmail-insert-inbox-text): Remove unused var `movemail'.
24439         (rmail-add-mbox-headers): Remove unused var `limit'.
24440         (rmail-undelete-previous-message): Remove unused var `value'.
24441         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
24442         `resent-reply-to'.
24443         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
24444         (rmail-restore-desktop-buffer): Rename arguments.
24446 2015-05-06  Glenn Morris  <rgm@gnu.org>
24448         * Makefile.in (change-history-commit): Add missing piece of previous.
24450         Avoid unnecessary bumping of Makefile.in's timestamp
24451         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
24452         (emacslog): New variable.
24453         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
24454         (unchanged-history-files): Use $emacslog rather than Makefile.in.
24455         (change-history-nocommit): Store hash in $emacslog.
24456         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
24457         * admin/update_autogen (changelog_files): Update for the above.
24459         * Makefile.in: Don't always insist on removing existing "ChangeLog".
24460         (CHANGELOG): New variable.
24461         (no-ChangeLog): Remove.
24462         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
24463         (change-history-nocommit): Use a temp file rather than insisting
24464         on deletion of any existing "ChangeLog".
24466         * build-aux/gitlog-to-emacslog: Allow specification of output.
24468         * admin/update_autogen: Add option to update ChangeLog.
24469         (usage): Mention -H.
24470         (changelog_flag, changelog_n, changelog_files): New variables.
24471         (main): Check for -H, and maybe run change-history-nocommit.
24473 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
24475         * lisp/subr.el (delete-dups): Pre-size the hashtable.
24477         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
24478         cl--arglist-args is defined (bug#20517).
24480 2015-05-06  Glenn Morris  <rgm@gnu.org>
24482         * Makefile.in (change-history-nocommit): New.
24484 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
24486         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
24487         timer when it is non-nil
24488         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
24490 2015-05-06  Glenn Morris  <rgm@gnu.org>
24492         Quieten CEDET compilation
24493         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
24494         Invert fboundp test to quieten on current Emacs.
24495         * lisp/cedet/ede/config.el (ede-shell-run-something)
24496         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
24497         (semanticdb-refresh-table): Declare.
24498         (ede-preprocessor-map): Require semantic/db.
24500         Quieten cc-mode compilation
24501         * lisp/progmodes/cc-awk.el (c-forward-sws):
24502         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
24503         Declare.
24505 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
24507         * lisp/subr.el (delete-dups): Avoid nreverse.
24509 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
24511         * lisp/subr.el (delete-dups): Make it destructive again.
24513 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
24515         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
24517 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
24519         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487).
24520         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
24521         (testcover--read): Rename from testcover-read.  Change calling
24522         convention.  Use edebug-read-and-maybe-wrap-form now that edebug-read
24523         is gone.
24524         (testcover-start): Use add-function.  Move edebug-all-defs binding to
24525         testcover--read.
24526         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
24527         (testcover-mark): Remove unused var `item'.
24528         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
24530 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
24532         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
24533           use a hash table.  This can result in ~500 times speed-up for typical
24534           collections of size 5000, like that of `load-library'.
24536 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
24538         CEDET: Avoid `oref' on classes in a few more cases
24539         * lisp/cedet/ede/generic.el (ede-find-target):
24540         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
24541         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
24542         var `prefix'.
24544         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings.
24545         (grepflags, greppattern): Declare.
24546         (semantic-symref-perform-search): Remove unused var `pat'.
24548         CEDET (srecode-compile-inserter): Avoid `oref' on classes
24549         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
24550         Avoid `oref' on classes (bug#20491).
24551         (srecode-compile-split-code): Remove unused var `key'.
24553 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
24555         Clean up pulse.el a little
24556         * lisp/cedet/pulse.el (pulse): Remove.
24557         (pulse-momentary-timer): Save instead of the stop time.
24558         (pulse-momentary-highlight-overlay):
24559         Call pulse-momentary-unhighlight first thing.
24560         Treat pulse-momentary-overlay as a single value, not a list.
24561         Save the created timer.  Only pass the stop time to the timer.
24562         (pulse-tick): Update accordingly.
24563         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
24564         single value.  Cancel the timer.
24566 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
24568         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
24569         Support the biblatex journaltitle field.
24571 2015-05-05  Glenn Morris  <rgm@gnu.org>
24573         Minor declare-function improvement
24574         * lisp/emacs-lisp/bytecomp.el
24575         (byte-compile-macroexpand-declare-function):
24576         Handle declarations after calls.  (Bug#20509)
24578         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
24580         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
24582 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
24584         Pulse using a timer
24585         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
24586         (pulse-momentary-highlight-overlay): Set up the timer instead of
24587         calling `pulse'
24588         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
24589         (pulse-tick): New function.
24590         (pulse-momentary-unhighlight): Cut off the stop time.
24591         (pulse-delay): Update the docstring WRT to not using sit-for.
24593         Add semantic/symref/grep file patterns for ruby-mode
24594         * lisp/cedet/semantic/symref/grep.el
24595         (semantic-symref-filepattern-alist): Add patterns for ruby-mode.
24596         Clarify the docstring.
24598         Don't require match
24599         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
24600         match.  That doesn't work for every command, and some identifier
24601         completion tables are bound to be imperfect anyway.
24603 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
24605         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505).
24606         (semantic-grammar--template-expand): New function.
24607         (semantic-grammar-header, semantic-grammar-footer): Use it.
24608         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
24609         (semantic-grammar-file-regexp): Refine regexp.
24610         (semantic-grammar-eldoc-get-macro-docstring):
24611         Use elisp-get-fnsym-args-string when available.
24612         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
24613         instead of the old eldoc-* names.
24614         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
24615         from elisp-mode.el.  Tweak calling convention.
24616         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
24617         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
24618         elisp--get-fnsym-args-string.
24619         (elisp--highlight-function-argument): Add `prefix' arg.
24620         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
24621         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
24623 2015-05-05  Glenn Morris  <rgm@gnu.org>
24625         * lisp/help-fns.el (describe-function-1):
24626         Handle builtins with advertised calling conventions.  (Bug#20479)
24628 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
24630         Merge branch 'seq-let'
24632         Update `seq-let' documentation
24633         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
24634         with the support of  `&rest'.
24636         Add support for &rest in `seq-let'
24637         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
24638         in the argument list.
24639         * test/automated/seq-tests.el: Add a test for parsing and binding
24640         `&rest' in `seq-let'.
24642 2015-05-05  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
24644         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get):
24645         Add missing increment (Bug#20467).
24646         (eieio-object-value-create): Adjust to new slots representation
24647         (Bug#20467).
24648         (eieio-object-value-create): Fix missed adjustment to new
24649         representation of slots metadata.
24651 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
24653         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
24655 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
24657         Work around "Attempt to modify read-only object"
24658         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
24659         elisp--xref-find-definitions, to work around "Attempt to modify
24660         read-only object" error.
24662         Only skip some variables that have function counterparts
24663         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
24664         Only skip minor-mode-named variable if it's defined in a Lisp
24665         file, and it's in minor-mode-list (bug#20506).
24666         * test/automated/elisp-mode-tests.el
24667         (elisp-xref-finds-both-function-and-variable)
24668         (elisp-xref-finds-only-function-for-minor-mode): New tests.
24670 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
24672         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
24673         previous change.
24674         (xref--insert-xrefs): Buttonize the whole line, including the
24675         number at the beginning.
24677         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
24678         Make sure we're inside the let bindings.
24679         * test/automated/elisp-mode-tests.el
24680         (elisp-completes-functions-after-let-bindings): New test.
24682 2015-05-04  Glenn Morris  <rgm@gnu.org>
24684         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
24685         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
24686         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
24687         Remove outdated declarations.
24689         Replace instances of "(eval-when-compile (autoload ...))"
24690         * lisp/gnus/gnus-art.el (nneething-get-file-name):
24691         Declare rather than autoload.
24692         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
24693         Remove pointless autoload.
24694         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
24695         (gnus-topic-create-topic, gnus-topic-enter-dribble):
24696         Declare rather than autoload.
24697         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
24698         (mailcap-extension-to-mime): Autoload at run-time.
24699         * lisp/gnus/mm-util.el (latin-unity-massage-name)
24700         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
24701         (latin-unity-representations-present-region):
24702         Declare rather than autoload.
24703         * lisp/gnus/mml-smime.el (epg-make-context)
24704         (epg-passphrase-callback-function): Autoload at run-time.
24705         (epg-context-set-signers, epg-context-result-for)
24706         (epg-new-signature-digest-algorithm)
24707         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
24708         (epg-sign-string, epg-encrypt-string)
24709         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
24710         (epg-configuration, epg-expand-group, epa-select-keys):
24711         Declare rather than autoload.
24712         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
24713         Autoload at run-time.
24714         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
24715         (gnus-registry-get-id-key, gnus-registry-action):
24716         Declare rather than autoload.
24717         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
24718         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
24719         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
24720         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
24721         (spam-stat-split-fancy): Remove pointless autoloads.
24722         * lisp/net/mairix.el: Load gnus-util when compiling.
24723         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
24724         (message-field-value): Declare rather than autoload.
24725         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
24726         Check gnus-alive-p is fbound.
24727         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
24728         (vm-check-for-killed-summary, vm-error-if-folder-empty)
24729         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
24730         Declare rather than autoload.
24732         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
24734         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
24735         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
24737         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
24739         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
24741         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
24742         * lisp/emacs-lisp/package.el (epg-signature-status):
24743         Fix declarations.
24745         * lisp/play/gametree.el (gametree-show-children-and-entry)
24746         (gametree-apply-layout, gametree-mouse-show-subtree)
24747         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
24749         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
24750         Handle cl-defgeneric, cl-defmethod.
24752 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
24754         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
24755         Highlight both type and symbol name.
24757         Insert, highlight and align line numbers in xref output
24758         * lisp/progmodes/etags.el (xref-location-line): Specialize for
24759         xref-etags-location.
24760         * lisp/progmodes/xref.el (xref-location-line): New generic method.
24761         (xref-file-location): Add reader for the line slot.
24762         (xref--location-at-point): Skip to the `xref-location' property.
24763         (xref--collect-reference): Drop the line number from description.
24764         (xref--insert-xrefs): Insert, highlight and align line numbers.
24766 2015-05-04  Daniel Colascione  <dancol@dancol.org>
24768         * lisp/simple.el (save-mark-and-excursion--save)
24769         (save-mark-and-excursion--restore): Fix previous commit
24770         (255a011f0ecf004b31c59945b10154b10fac3af1).
24772 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
24774         Don't pulse the indentation, or the newline
24775         * lisp/cedet/pulse.el (pulse-lighten-highlight)
24776         (pulse-reset-face): Fall back to the inherited background
24777         attribute in FACE.
24778         (pulse-momentary-highlight-region): Add autoload cookie.
24779         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
24780         indentation, or the newline, if the line's non-empty
24781         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
24783 2015-05-04  Daniel Colascione  <dancol@dancol.org>
24785         Add `save-mark-and-excursion', which has the old
24786         `save-excursion' behavior
24787         * doc/lispref/positions.texi (Excursions):
24788         Document `save-mark-and-excursion'.
24789         * lisp/font-lock.el (font-lock-fontify-block):
24790         Use `save-mark-and-excursion' instead of `save-excursion',
24791         restoring Emacs 24 behavior.
24792         * lisp/simple.el (save-mark-and-excursion--save)
24793         (save-mark-and-excursion--restore): New functions.
24794         (save-mark-and-excursion): New user macro.
24795         * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion'
24796         in `save-excursion' documentation.
24798 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
24800         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
24801         Classify lone symbol inside let varlist as variable.
24802         * test/automated/elisp-mode-tests.el
24803         (completest-variables-in-let-bindings): New test.
24805         Add xref-pulse-on-jump
24806         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
24807         Add autoload cookie.
24808         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
24809         (xref--maybe-pulse): New function.
24810         (xref-pop-marker-stack, xref--pop-to-location)
24811         (xref--display-position): Use it.
24812         (xref--location-at-point): Use back-to-indentation.
24814 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
24816         lisp/org/org-{macs,list}.el: Fix lexical warnings
24817         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
24818         (org-list-get-next-item, org-list-get-prev-item)
24819         (org-list-get-children): Mark unused arg `struct'.
24820         (org-list-use-alpha-bul-p): Remove unused var `bul'.
24821         (org-toggle-checkbox): Mark unused var.
24822         (org-update-checkbox-count): Remove unused var `box-num'.
24823         (org-adapt-indentation): Declare.
24824         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
24825         (org-list-send-list): Remove unused var `txt'.
24826         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
24827         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
24828         * lisp/org/org-macs.el: Use `declare'.
24829         (org-with-limited-levels): Declare dyn-bound vars.
24831 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
24833         Fix minor issues with CEDET on MS-Windows
24834         * lisp/cedet/semantic/symref/idutils.el
24835         (semantic-symref-parse-tool-output-one-line): Fix the search
24836         regexp to match MS-Windows file names with drive letters.
24837         (Bug#19468)
24838         * lisp/cedet/semantic/symref/grep.el
24839         (semantic-symref-grep-use-template): Remove "--color=always" from
24840         Grep switches on MS-Windows.
24841         (semantic-symref-grep-shell): Use shell-file-name as the default
24842         value, so this works not only on Posix platforms.
24843         (semantic-symref-perform-search): Use shell-quote-argument instead
24844         of literal '..' for portable quoting of Grep command-line
24845         argument.  Use shell-command-switch instead of a literal "-c".
24846         * lisp/cedet/semantic/bovine/gcc.el
24847         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
24848         for an absolute file name in a portable way.
24850 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
24852         * lisp/emacs-lisp/package.el: Remove `package--silence' variable.
24853         (package-import-keyring, package-refresh-contents)
24854         (package-compute-transaction, package--save-selected-packages)
24855         (package-install-from-archive, package-delete)
24856         (package-menu--perform-transaction): Use `inhibit-message' instead.
24857         (package--compile): Set `warning-minimum-level' to :error.
24859 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
24861         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom.
24862         (terminal-init-screen): Use it (bug#20356).
24863         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
24864         (xterm--extra-capabilities-type): New const.
24865         (xterm-extra-capabilities): Use it.
24866         (xterm--version-handler): Lower the pseudo-version for `screen'.
24868 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
24870         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
24871         Always insert a newline at the end (to avoid mouse-face background
24872         tail at the last line).
24874         elisp-completion-at-point: Prioritize being quoted over funpos
24875         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
24876         Only consider function position when not inside quoted form
24877         (bug#20425).
24878         * test/automated/elisp-mode-tests.el: New file.
24880         Stop vc-print-log from jumping to the top
24881         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
24882         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
24883         is not specified.
24884         (vc-incoming-outgoing-internal): Always pass nil.
24885         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
24886         call it, and don't set vc-sentinel-movepoint (bug#15322).
24887         (vc-print-root-log): Don't fetch the root working revision, nor
24888         pass it to vc-print-log-internal.
24890 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
24892         Fix display of keyboard layouts for right-to-left scripts
24893         * lisp/international/quail.el (quail-insert-kbd-layout):
24894         Force left-to-right paragraph direction.
24896 2015-05-02  K. Handa  <handa@gnu.org>
24898         * src/cmds.c (internal_self_insert): When we insert spaces for
24899         padding, set point before the padding spaces, not after them.
24901 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
24903         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
24905 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
24907         Fix etags-xref-find for references
24908         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
24909         Use `cl-mapcan'.
24910         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
24911         directory if no tags tables are loaded (bug#19468).
24913 2015-05-02  Philipp Stephani  <phst@google.com>
24915         Update the options in whitespace-style defcustom
24916         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
24917         `repeat' because the option is really set-like.  Add missing
24918         options.  Reorder options to match the order in the
24919         documentation.  (Bug#20346)
24921 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
24923         Fix error diagnostics of c-macro-expand
24924         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
24925         too early if no start-marker string was found -- that generally
24926         means cpp exited abnormally, and we still want to show its error
24927         messages to the user.
24929         Don't require Texinfo 5.0 for Emacs documentation
24930         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
24931         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
24932         "@codequoteundirected on", respectively, to avoid requiring
24933         Texinfo 5.x for Emacs documentation.
24935 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
24937         * lisp/files.el (pwd):
24938         When called with a prefix argument, insert the current default
24939         directory at point.
24941 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
24943         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
24944         * lisp/isearch.el (isearch-mode-map): Don't inhibit
24945         function-key-map remapping for backspace (bug#20466).
24947 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
24949         Implement xref-find-references in etags and elisp-mode
24950         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
24951         (elisp-xref-find): Use it.
24952         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
24953         * lisp/progmodes/xref.el (xref-collect-references):
24954         (xref--collect-reference): New functions.
24956 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24958         Prefer plain characters to Texinfo circumlocutions
24959         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
24960         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
24962         Fix single-quoting style in PDF manuals
24963         The PDF versions of the GNU manuals used curved single quotes to
24964         represent grave accent and apostrophe, which made it a pain to cut
24965         and paste code examples from them.  Fix the PDF versions to use
24966         grave accent and apostrophe for Lisp source code, keystrokes, etc.
24967         This change does not affect the info files, nor does it affect
24968         ordinary uses of curved single quotes in PDF.
24969         * doc/emacs/docstyle.texi: New file, which specifies treatment for
24970         grave accent and apostrophe, as well as the document encoding.
24971         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
24972         * doc/lispintro/emacs-lisp-intro.texi:
24973         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
24974         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
24975         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
24976         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
24977         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
24978         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
24979         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
24980         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
24981         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
24982         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
24983         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
24984         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
24985         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
24986         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
24987         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
24988         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
24989         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
24990         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
24991         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
24992         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
24993         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
24994         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
24995         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
24996         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
24997         * doc/misc/woman.texi:
24998         Use it instead of '@documentencoding UTF-8', to lessen the need for
24999         global changes like this in the future.
25000         * doc/emacs/Makefile.in (EMACS_XTRA):
25001         * doc/lispintro/Makefile.in (srcs):
25002         * doc/lispref/Makefile.in (srcs):
25003         Add dependency on docstyle.texi.
25004         * doc/misc/Makefile.in (style): New macro.
25005         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
25006         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
25007         Use it.
25009 2015-05-01  Glenn Morris  <rgm@gnu.org>
25011         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
25013         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
25014         (help-fns--signature): Declare.
25016         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
25018 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
25020         New macro seq-let, providing destructuring support to seq.el
25021         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
25022         to `cl-destructuring-bind' but works on all sequence types supported
25023         by `seq.el'.  Bump version number to 1.6.
25024         * test/automated/seq-tests.el: Add tests for seq-let.
25025         * doc/lispref/sequences.texi: Add documentation for seq-let.
25027 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
25029         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer.
25031 2015-05-01  Glenn Morris  <rgm@gnu.org>
25033         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
25035 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
25037         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
25038         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
25039         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
25040         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
25041         (Bug#20445).
25043 2015-05-01  K. Handa  <handa@gnu.org>
25045         * lisp/international/mule-cmds.el (input-method-use-echo-area):
25046         Change :type to 'boolean.
25048 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
25050         Start using proportional fonts in eww by default
25051         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
25052         it seems to work well.
25054         Fix links in tables in shr
25055         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
25056         makes (some) links in tables not work.
25058 2015-05-01  Jan D  <jan.h.d@swipnet.se>
25060         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
25062 2015-04-30  Glenn Morris  <rgm@gnu.org>
25064         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
25065         Update for 2015-02-08 change to indirect-function.
25067         * lisp/term/ns-win.el (ns-get-selection-internal):
25068         Remove declaration for function deleted 2014-10-21.
25070         * lisp/dom.el: Load subr-x when compiling, for when-let.
25072         Silence some compilation warnings
25073         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
25074         * lisp/emulation/cua-base.el (delete-active-region):
25075         * lisp/net/net-utils.el (w32-get-console-output-codepage):
25076         * lisp/term/ns-win.el (ns-own-selection-internal)
25077         (ns-disown-selection-internal, ns-selection-owner-p)
25078         (ns-selection-exists-p, ns-get-selection):
25079         Declare for compiler.
25081         Function declaration updates prompted by 'make check-declare'
25082         * lisp/emacs-lisp/package.el (lm-homepage):
25083         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
25084         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
25085         * lisp/gnus/mml.el (libxml-parse-html-region):
25086         * lisp/gnus/nnrss.el (libxml-parse-html-region):
25087         * lisp/net/eww.el (libxml-parse-html-region):
25088         * lisp/net/shr.el (libxml-parse-html-region):
25089         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
25090         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
25091         * lisp/vc/vc-git.el (vc-annotate-convert-time):
25092         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
25093         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
25094         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
25095         Update declaration.
25097         Remove compatibility code for 20-year old function renaming
25098         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
25099         Make it an obsolete alias.
25100         (idlwave-shell-filter): Change all uses to comint-output-filter.
25102 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
25104         Add ace-window face config
25105         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
25106         configuration.
25108 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
25110         Unclutter 'make doc' output a bit
25111         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
25112         Use make subst rather than sh IFS to split target string apart.
25113         This makes 'make' output easier to follow.
25115         Merge from gnulib
25116         * doc/misc/texinfo.tex: Update from gnulib.
25118 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
25120         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh.
25121         (package-menu--print-info): Obsolete.
25122         (package-menu--print-info-simple): New function.
25123         (package-menu--refresh): Use it, simplify code, and improve
25124         performance.
25125         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
25126         Tiny performance improvement.
25128         * lisp/emacs-lisp/package.el (package--message): inhibit-message.
25130 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
25132         Omit -Wstrict-overflow workaround in GCC 5
25133         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
25134         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
25136         Merge from gnulib
25137         This incorporates:
25138         2015-04-29 extern-inline: no need for workaround in GCC 5.1
25139         2015-04-26 file-has-acl: port to CentOS 6
25140         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
25142 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
25144         Set next-error-* in xref--xref-buffer-mode
25145         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
25146         Set `next-error-function' and `next-error-last-buffer'.
25147         (xref--next-error-function): New function.
25148         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
25150 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
25152         python.el: Fix warnings on looking-back calls missing LIMIT
25153         * lisp/progmodes/python.el (python-shell-accept-process-output):
25154         Pass LIMIT arg to looking-back.
25156 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
25158         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress.
25159         (package--download-and-read-archives): Use pushnew instead of
25160         append.  If something terrible happened during a previous
25161         download, simply refreshing should now make things work again.
25163 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
25165         Introduce etags-xref-find-definitions-tag-order
25166         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
25167         New variable.
25168         (etags--xref-find-definitions): Use it (bug#19468).
25170 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
25172         PATH- and completion-related fixes in Eshell on MS-Windows
25173         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
25174         MS-Windows, prepend "." to list of directories produced from PATH,
25175         as Windows always implicitly searches the current directory first.
25176         (eshell-force-execution): Make it have a non-nil default value on
25177         MS-Windows and MS-DOS.
25178         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
25179         eshell-force-execution is non-nil, complete on readable files and
25180         directories, not only executables.  When running on MS-Windows,
25181         prepend "." to list of directories produced from PATH, as Windows
25182         always implicitly searches the current directory first.
25184 2015-04-29  Sam Steingold  <sds@gnu.org>
25186         Bury RCIRC buffers when there is no activity
25187         * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove.
25188         (rcirc-bury-buffers): New function.
25189         (rcirc-next-active-buffer): When there is no new activity, use
25190         `rcirc-bury-buffers' to hide all RCIRC buffers.
25192 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
25194         Fix DBUS query result parsing for secrets-search-items
25195         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
25196         parsing.  The function assumed that return value of the
25197         SearchItems method called on a collection is a list of two lists,
25198         however this is true only when no collection is specified.  GNOME
25199         had used to incorrectly return a list of two lists in both cases,
25200         but this was already fixed:
25201         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
25202         incorrect information in the secrets-search-items’ docstring.
25203         (Bug#20449)
25205 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
25207         * lisp/emacs-lisp/bytecomp.el (byte-compile--message):
25208         Use `inhibit-message' instead of hiding the previous message
25209         with (message nil).
25211 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
25213         Remove the deprecated INTERNAL_FIELD macro by expanding it
25214         * src/lisp.h (INTERNAL_FIELD): Remove.
25215         (DEFVAR_KBOARD): Modify accordingly.
25216         * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c:
25217         * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users.
25218         * src/buffer.c (compact_buffer): Use BVAR.
25220 2015-04-29  Glenn Morris  <rgm@gnu.org>
25222         Replace an obsolete function alias
25223         * lisp/isearch.el (isearch-yank-x-selection):
25224         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
25225         (mouse-drag-secondary-moving):
25226         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
25227         Replace obsolete alias x-get-selection with gui-get-selection.
25229 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
25231         * lisp/mail/rmailsum.el: Use lexical-binding.
25233 2015-04-29  Glenn Morris  <rgm@gnu.org>
25235         * test/automated/package-test.el (package-test-update-archives-async):
25236         Skip test on hydra.nixos.org.
25238 2015-04-28  Glenn Morris  <rgm@gnu.org>
25240         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
25241         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
25242         (foldout-mouse-hide-or-exit): Use new names for outline functions.
25244         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
25245         Update for 2014-06-26 hideif.el change.
25247         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
25248         (rmail--decode-and-apply): New function.
25249         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
25251         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
25253 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
25255         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
25256         (package-menu--refresh): Delegate obsolete-hiding to
25257         `package--remove-hidden'.
25258         (package--remove-hidden): Disregard high-priority package if it is
25259         older than the installed one.
25261 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
25263         Update source file encoding list
25264         Update admin/notes/unicode, along with coding system cookies in
25265         other files, so that the two match each other better.
25266         * admin/notes/unicode: lisp/language/ethio-util.el and
25267         lisp/language/ethiopic.el also use utf-8-emacs.
25268         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
25269         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
25270         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
25271         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
25272         * etc/refcards/sk-survival.tex:
25273         Add "coding: utf-8" so that this file is not mishandled in a
25274         Latin-1 or Big-5 locale.
25275         * lisp/international/robin.el, lisp/org/ox-ascii.el:
25276         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
25277         * lisp/language/ethio-util.el: Fix trailer.
25279 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
25281         Fix synchronous invocation of Ispell
25282         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
25283         value to ispell-process-directory before calling ispell-init-process.
25284         Don't call set-process-coding-system if ispell-async-processp is nil.
25285         (Bug#20448)
25287 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
25289         * lisp/emacs-lisp/package.el: Skip space and comments in init file
25290         (package--ensure-init-file): Insert snippet at first
25291         non-whitespace non-comments line.  Respects local-vars at the top
25292         of the file.
25294 2015-04-28  Glenn Morris  <rgm@gnu.org>
25296         * lisp/mail/rmail.el (rmail-copy-headers):
25297         Handle rmail-nonignored-headers being nil.  (Bug#18878)
25299         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
25301         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
25302         Don't get confused by a bzrlib version mismatch warning.
25304 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
25306         Change default location of EUDC options file
25307         * etc/NEWS: Document change to EUDC options file's default location.
25308         * lisp/net/eudc-vars.el (eudc-options-file): Use
25309         `locate-user-emacs-file' to change default options file location.
25311 2015-04-27  Glenn Morris  <rgm@gnu.org>
25313         * test/automated/package-test.el (package-test-update-archives-async):
25314         Try to handle the test server script dying.
25316 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
25318         * lisp/saveplace.el (save-place-mode): New minor mode.
25319         (save-place): Redefine as an obsolete alias.
25321         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
25322         * lisp/midnight.el: Use lexical-binding.
25323         (midnight-mode): Make it a proper minor mode.
25324         (midnight-buffer-display-time): Make arg non-optional.
25325         (midnight-find): Remove.
25326         (clean-buffer-list-kill-never-regexps)
25327         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
25328         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
25329         contain functions.
25330         (clean-buffer-list): Use cl-find.
25331         Allow clean-buffer-list-kill-never-regexps to contain functions.
25333 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
25335         Bump version of seq.el to 1.5
25336         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
25337         from seq-doseq.  Bump version number of seq.el.
25339 2015-04-27  Glenn Morris  <rgm@gnu.org>
25341         * lisp/mail/rmail.el (rmail-reply):
25342         Decode subject before matching "Re:" prefix.  (Bug#20396)
25344 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
25346         * lisp/emacs-lisp/package.el: Small improvements
25347         (package--with-work-buffer-async): More informative error.
25348         (package-install-user-selected-packages): Rename to
25349         `package-install-selected-packages'.
25351 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
25353         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
25354         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
25355         (eieio--class-make): Remove leftover `tag'.
25357 2015-04-27  Glenn Morris  <rgm@gnu.org>
25359         * lisp/gnus/message.el (gnus-extract-address-components):
25360         Remove bogus declaration that was masking previous problem.
25362 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
25364         * lisp/gnus/message.el (message-insert-formatted-citation-line):
25365         Fix typo.  (Bug#20318)
25367 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
25369         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
25371         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
25372         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
25373         the buffer in yet another frame.
25374         (reftex-toc-visit-location): Make sure toc-window has focus at the end
25375         when `final' is nil.
25376         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
25377         silence warnings.  Use `--' to clarify that it's internal.
25378         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
25379         (reftex-toc-promote): Clarify unused argument.
25380         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
25381         Add `reftex--' prefix.  Fix all users.
25382         (reftex-toc-promote-prepare): Use _ for dummy variable.
25383         (reftex-toc-restore-region): Rename `m.
25385 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
25387         Fix a typo in bibtex.el
25388         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
25389         last change.  (Bug#20429)
25391         Fix redisplay of frame after loading new fonts
25392         * src/xdisp.c (redisplay_internal): When retrying redisplay of
25393         a frame because new fonts were loaded, disable all redisplay
25394         optimizations on that frame by calling SET_FRAME_GARBAGED.
25395         (Bug#20410)
25397 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
25399         * lisp/info.el (Info-menu): Properly provide the `default'
25400         (Bug#20391)
25402         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
25403         Catch errors from documentation (bug#20418).
25404         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
25406 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
25408         * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler.
25409         Remove redundant ":group 'package".
25411 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
25413         Fix a typo in rmail.el
25414         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
25415         last commit.  (Bug#20429)
25417 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
25419         Introduce xref-prompt-for-identifier
25420         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
25421         (xref--read-identifier): Use it
25422         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
25424 2015-04-26  João Távora  <joaotavora@gmail.com>
25426         `tex-insert-quote' after single `'' opens quotes instead of closing
25427         Without this, it's very hard to precede double quotes with the
25428         apostrophe character, i.e. insert the sequence '``
25429         (quote-backquote-backquote), commonly useful in portuguese, for
25430         instance.
25431         * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of
25432         preceding chars making `tex-insert-quote' be in the "opening" context.
25434 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
25436         Pass `id' to `completing-read' as def instead of initial input
25437         * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to
25438         `completing-read' as the default value instead of initial input
25439         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
25441 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
25443         Don't freeze with unreadable processes
25444         Don't freeze if an exiting process can't be read from.  (Bug#19860).
25445         This fixes a bug I introduced in
25446         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
25447         "* process.c: Add sanity checks for file descriptors."
25448         Dmitry Gutov did most of the legwork in finding the problem.
25449         * src/process.c (wait_reading_process_output):
25450         Treat non-running processes that can't be read from
25451         the same as other non-running processes.
25453 2015-04-25  Alan Mackenzie  <acm@muc.de>
25455         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
25456         * lisp/subr.el (remove-yank-excluded-properties): Put
25457         `with-silent-modifications' around only the last three lines of code.
25459 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
25461         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
25462         (package--all-keywords): Deleted variable.
25464         * etc/NEWS: Document package-hiding functionality.
25466 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
25468         * lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
25470         Clarify the doc string of 'replace-regexp-in-string'
25471         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
25473         Improve doc string of 'insert-buffer-substring'
25474         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
25476         MS-Windows followup for the recent gnulib update
25477         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
25478         acl-internal.c.
25480 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
25482         Spelling fixes
25484         Merge from gnulib
25485         This incorporates:
25486         2015-04-24 file-has-acl: new module, split from acl
25487         2015-04-24 manywarnings: add GCC 5.1 warnings
25488         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
25489         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
25490         2015-04-15 acl: On Linux, check for acls without libacl
25491         2015-04-14 tempname: avoid unused parameter warnings (trivial)
25492         * lib/acl-internal.c: New file, from gnulib.
25493         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
25494         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
25495         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
25496         Update from gnulib.
25498         Port --enable-gcc-warnings to GCC 5.1 x86-64
25499         * lib-src/ebrowse.c (dump_sym):
25500         * lib-src/hexl.c (main):
25501         * src/ccl.c (ccl_driver):
25502         * src/character.c (string_escape_byte8):
25503         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
25504         * src/gnutls.c (Fgnutls_boot):
25505         * src/gtkutil.c (xg_check_special_colors):
25506         * src/image.c (x_build_heuristic_mask):
25507         * src/print.c (safe_debug_print, print_object):
25508         * src/term.c (produce_glyphless_glyph):
25509         * src/xdisp.c (get_next_display_element)
25510         (produce_glyphless_glyph):
25511         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
25512         Don't use a signed format to print an unsigned integer, or vice
25513         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
25514         * src/image.c (png_load_body, jpeg_load_body):
25515         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
25517 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
25519         Add new faces to tsdh-light-theme
25520         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
25521         definitions for Info-quoted, ace-jump-face-foreground,
25522         hl-paren-face, show-paren-match, and show-paren-mismatch.
25524 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
25526         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
25528 2015-04-24  Glenn Morris  <rgm@gnu.org>
25530         * build-aux/gitlog-to-emacslog:
25531         Use raw log format rather than wrapped one.
25533 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
25535         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code.
25536         (seq-doseq): Fix out-of-scope binding.
25537         Don't call `seq-length at every iteration.
25538         Reduce `if's from 3 to 2 per iteration.
25539         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
25541 2015-04-24  Glenn Morris  <rgm@gnu.org>
25543         * lisp/textmodes/text-mode.el (text-mode-hook):
25544         Move text-mode-hook-identify to default.
25546         * lisp/mouse.el (minor-mode-menu-from-indicator):
25547         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
25549         * lisp/help-fns.el (describe-function): More type checking.
25550         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
25552         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
25553         (Bug#20325)
25555 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
25557         shr: strip leading whitespace when expanding URLs
25558         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
25560 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
25562         Clarify "co-authored" some more
25564         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
25566         Clarify doc strings of functions that search for properties
25567         * src/textprop.c (Fnext_char_property_change)
25568         (Fprevious_char_property_change)
25569         (Fnext_single_char_property_change)
25570         (Fprevious_single_char_property_change, Fnext_property_change)
25571         (Fnext_single_property_change, Fprevious_property_change)
25572         (Fprevious_single_property_change): Clarify doc strings wrt return
25573         value and the optional LIMIT argument.  (Bug#20411)
25575 2015-04-24  Glenn Morris  <rgm@gnu.org>
25577         * test/automated/message-mode-tests.el (message-mode-propertize):
25578         Handle non-writable HOME; eg on hydra.nixos.org.
25580 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
25582         Avoid starting threads by w32-shell-execute
25583         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
25584         local file names, before invoking ShellExecute.  (Bug#20220)
25586 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
25588         Fix following doc-links in `widget-documentation-link-action'
25589         * lisp/wid-edit.el (widget-documentation-link-action): Make
25590         following doc-links less simplistic (Bug#20398).
25592 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
25594         Improve EUDC manual
25595         * doc/misc/eudc.texi (Troubleshooting):
25596         New LDAP troubleshooting subsection.
25598 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25600         Omit needless "\ " after multibyte then newline
25601         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
25602         (print_object): When print-escape-multibyte is non-nil and a
25603         multibyte character is followed by a newline or formfeed, followed
25604         by a hex digit, don't output a needless "\ " before the hex digit.
25605         * test/automated/print-tests.el (print-hex-backslash): New test.
25607 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
25609         Add a new `inhibit-message' variable
25610         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
25611         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
25612         `inhibit_message' is non-zero.
25613         * etc/NEWS: Add an entry.
25614         * doc/lispref/display.texi: Add an entry for `inhibit-message',
25615         mention it in `message'.
25617 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
25619         Fix last fix in `display-buffer-record-window'.
25620         * lisp/window.el (display-buffer-record-window): Fix last fix.
25622 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
25624         Minor edits in CONTRIBUTE
25625         * CONTRIBUTE: Rearrange instructions about log messages.
25626         Use "Git" capitalized all over.
25627         Use 2 spaces between sentences.
25629 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
25631         * lisp/files.el (basic-save-buffer): Fix argument.
25633         * lisp/cus-edit.el (custom-file): Consider init-file-had-error.
25634         In case `(and (null custom-file) init-file-had-error)' do the same
25635         thing we'd do if `(null user-init-file)', which is to either error out
25636         or return nil.  This is in line with `custom-save-all' which would
25637         throw an error in that situation.  (Bug#20355)
25639         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu.
25640         (package-menu-hide-low-priority): New variable, see its doc.
25641         (package-archive-priorities): Update doc.
25642         (package-desc-priority): New function.
25643         (package-desc-priority-version): Use it.
25644         (package--remove-hidden): New function.
25645         (package-menu--refresh): Use it.
25647         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages.
25648         (package-menu--hide-obsolete): New variable.
25649         (package--remove-hidden): Use it.
25650         (package-menu-hide-obsolete): New interactive function to toggle
25651         the variable.
25652         (package--quick-help-keys): Document it.
25653         (package-menu-async): Add :version tag.
25654         (package-menu-mode-map): Bind package-menu-hide-obsolete.
25655         (package-desc-status): Indicate non-installed obsolete packages as
25656         avail-obso.
25657         (package-menu-mark-install): Allow installation of avail-obso.
25658         (package-menu--status-predicate): Sort avail-obso with available.
25660 2015-04-22  Alan Mackenzie  <acm@muc.de>
25662         On C-y, stop some text property entries being written into buffer-undo-list
25663         * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in
25664         `with-silent-modifications'.
25666 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
25668         In display-buffer-record-window record selected window if necessary
25669         * lisp/window.el (display-buffer-record-window): Store selected window
25670         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
25672 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
25674         Fix reftex-citation bug
25675         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
25676         Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX
25677         integration is enabled and there are no citations in the document
25678         so far.
25680 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
25682         Add or reset based on the presence of MERGE_HEAD
25683         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
25684         `vc-git-resolve-when-done' to `after-save-hook' in either case.
25685         (vc-git-conflicted-files): Add a TODO.
25686         (vc-git-resolve-when-done): Depending on the presence of
25687         MERGE_HEAD, either update the resolved file in the index, or
25688         remove it from there.  (Bug#20292)
25690 2015-04-21  Glenn Morris  <rgm@gnu.org>
25692         * lisp/custom.el (custom-declare-group): No need to purecopy
25693         custom-current-group-alist members following recent change to set
25694         it to nil before dumping.
25696         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
25697         (Bug#20399)
25699 2015-04-21  Daniel Colascione  <dancol@dancol.org>
25701         Unbreak no-op buffer save message
25702         * lisp/files.el (basic-save-buffer): Accept called-interactively as
25703         an argument instead of directly invoking called-interactively-p,
25704         which will always yield nil in that context.
25706 2015-04-21  Alan Mackenzie  <acm@muc.de>
25708         CC Mode: Do nothing in before/after-change-functions for text
25709         property changes
25710         Fixes bug#20266.
25711         * lisp/progmodes/cc-mode.el (c-basic-common-init): Make
25712         yank-handled-properties buffer local, and remove 'category from it.
25713         (c-called-from-text-property-change-p): New function.
25714         (c-before-change): Don't do anything if a call of the new function
25715         returns non-nil.
25716         (c-after-change): Don't do much if a call of the new function returns
25717         non-nil.
25718         (c-extend-after-change-region): Put changes to text property 'fontified
25719         inside c-save-buffer-state.
25721 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
25723         Fix byte-compiler warnings about looking-back
25724         * lisp/vc/log-view.el (log-view-end-of-defun-1):
25725         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
25726         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
25727         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
25728         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
25729         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
25730         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
25731         * lisp/org/org.el (org-insert-heading, org-sort-entries):
25732         * lisp/org/org-mouse.el (org-mouse-end-headline)
25733         (org-mouse-context-menu):
25734         * lisp/org/org-clock.el (org-clock-cancel):
25735         * lisp/man.el (Man-default-man-entry):
25736         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
25737         (rmail-ensure-blank-line):
25738         * lisp/mail/footnote.el (Footnote-delete-footnote):
25739         * lisp/mail/emacsbug.el (report-emacs-bug):
25740         * lisp/info.el (Info-follow-reference, Info-fontify-node):
25741         * lisp/info-look.el (info-lookup-guess-custom-symbol):
25742         * lisp/help-fns.el (help-fns--key-bindings):
25743         * lisp/files.el (hack-local-variables):
25744         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
25745         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
25746         (viper-complete-filename-or-exit):
25747         * lisp/emulation/viper-cmd.el (viper-backward-indent):
25748         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
25749         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
25750         * lisp/cus-edit.el (custom-face-edit-value-create):
25751         * lisp/calendar/todo-mode.el (todo-set-item-priority)
25752         (todo-filter-items-1, todo-convert-legacy-files)
25753         (todo-prefix-overlays): Add explicit second arg to looking-back.
25755 2015-04-20  Glenn Morris  <rgm@gnu.org>
25757         Avoid non-nil current-load-list at startup
25758         * src/process.c (init_process_emacs): Move Fprovide statement...
25759         (syms_of_process): ... to here.
25761         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
25763         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value
25764         in emacs -Q.
25766 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
25768         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
25769         (Bug#20330)
25771 2015-04-20  Glenn Morris  <rgm@gnu.org>
25773         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
25775         Tweak exec-path in uninstalled case
25776         * src/callproc.c (init_callproc): If running uninstalled, do not
25777         include eventual installation libexec directory in exec-path.
25779 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
25781         * lisp/emacs-lisp/package.el: Filter by multiple keywords and
25782         cache keywords.
25783         (package-menu-filter): Accept a list of keywords.
25784         (package--all-keywords): New variable to cache known keywords.
25785         (package-all-keywords): Populate it if necessary.
25786         (package-refresh-contents): Reset it.
25788         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
25789         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
25790         as special keywords which match agains package archive and status
25791         respectively.
25792         * etc/NEWS: Document it.
25794 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
25796         Describe and index "empty overlays".
25797         * doc/lispref/display.texi (Overlays): Improve indexing.
25798         (Managing Overlays): Describe "empty" overlays.
25799         (Overlay Properties, Finding Overlays): Add cross-reference to
25800         where empty overlays are described.
25802 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
25804         Spelling fixes
25806         Quote 'like this' in top-level files
25807         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
25808         Prefer to single-quote 'like this' (instead of the older style
25809         `like this').
25810         * configure.ac: Fix some space-before-tab problems that 'git commit'
25811         complained about.
25813         Use bool for boolean in textprop.c, undo.c
25814         * src/textprop.c (soft, hard): Now constants instead of macros.
25815         (validate_plist): Rewrite to avoid need for boolean local.
25816         (interval_has_all_properties, interval_has_some_properties)
25817         (interval_has_some_properties_list, add_properties)
25818         (remove_properties, get_char_property_and_overlay)
25819         (Fnext_single_char_property_change)
25820         (Fprevious_single_char_property_change, add_text_properties_1)
25821         (Fremove_text_properties, Fremove_list_of_text_properties)
25822         (copy_text_properties):
25823         * src/tparam.c (tparam1):
25824         * src/undo.c (record_change, record_property_change)
25825         (syms_of_undo):
25826         Use 'true' and 'false' for booleans.
25828 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
25830         * lisp/vc/vc-git.el (vc-git-find-file-hook):
25831         Call `smerge-start-session' even when dealing with a stash
25832         conflict (bug#20292).
25834 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
25836         Add option to eshell/clear to clear scrollback.
25837         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
25838         (eshell/clear): Add an optional SCROLLBACK argument.  If non-nil,
25839         scrollback contents are cleared.
25840         * etc/NEWS: Describe change.
25841         * doc/misc/eshell.texi: Add entry for `clear'.
25843 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
25845         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
25846         where either will do.
25848 2015-04-19  Steve Purcell  <steve@sanityinc.com>
25850         Assume package archive-contents are UTF8-encoded
25851         * lisp/emacs-lisp/package.el (package--read-archive-file):
25852         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
25853         downloaded and cached archive-contents files, so that non-ASCII
25854         characters in package descriptions are displayed correctly in the
25855         `list-packages' menu.  (Bug#20231)
25857 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
25859         Abort when looking at stashed changes
25860         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
25861         stashed changes (bug#20292).
25863 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
25865         Refactor low-level printing for simplicity
25866         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
25867         PRINTPREPARE; doable now that we assume C99.  All callers changed.
25868         (PRINTCHAR): Remove, as it adds more mystery than clarity.
25869         All callers changed.
25870         (strout): Assume that caller computes length.  All callers changed.
25871         (print_c_string): New function.
25872         (write_string, write_string_1): Compute length instead of asking
25873         the caller to compute it.  All callers changed.
25874         (write_string): Simplify by using write_string_1.
25875         (write_string_1): Simplify by using print_c_string.
25876         (Fterpri): Compute default val more clearly.
25877         (Fprin1_to_string, print_object):
25878         Assume C99 to avoid unnecessary nesting.
25879         (print_object): Prefer print_c_string to multiple printchar, or
25880         to calling strout with -1 length.  Coalesce into sprintf when
25881         this is easy.
25883 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
25885         Prefer "Bug#1234" in commit messages (Bug#20325)
25886         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
25887         as this isn't useful for Git.
25888         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
25890 2015-04-18  Glenn Morris  <rgm@gnu.org>
25892         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
25893         (Bug#19506)
25895 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
25897         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
25898         Do not use `chomp' as a function.  (Bug#19505)
25900 2015-04-18  Glenn Morris  <rgm@gnu.org>
25902         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
25904         * doc/emacs/misc.texi (Sorting): Small edit.
25905         (Bug#19896)
25907         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
25909 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
25911         css-mode.el: Support multi-line comment filling
25912         (Bug#20256)
25913         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
25914         comment filling.
25915         (css-adaptive-fill): New function.
25916         (css-mode): Set `adaptive-fill-function'.
25917         (scss-mode): Set `comment-continue'.
25919 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
25921         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into):
25922         Better error messages.
25924 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
25926         Minor improvements in Bulgarian input methods
25927         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
25928         Replace U+042C with U+045D, as the former character is not used in
25929         the modern Bulgarian language.
25930         (Bug#20350)
25932 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
25934         Improve EUDC manual
25935         * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL
25936         authentication schemes.  Add index items.  Shorten example server
25937         name.
25939 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
25941         Don't show both feature and function with the same name
25942         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
25943         Don't show both feature and function with the same name.
25945         (elisp--xref-identifier-location): Skip variable, if it's also
25946         a function
25947         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
25948         Avoid returning both the variable and the function for the same
25949         minor mode.
25951 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
25953         Fix fontification of keywords clobbered by the prompt
25954         * lisp/comint.el (comint-output-filter): Remove the uses of
25955         with-silent-modifications I introduced as part of the last change.
25956         This fixes, e.g., erratically missing highlighting when running
25957         ./configure --help; ./configure in a shell-mode buffer with
25958         compilation-shell-minor-mode turned on.
25960 2015-04-17  Glenn Morris  <rgm@gnu.org>
25962         * admin/authors.el (authors-valid-file-names)
25963         (authors-renamed-files-alist): Additions.
25965 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
25967         * lisp/indent.el (indent-region): Don't deactivate the mark.
25968         (Bug#20357)
25970 2015-04-17  Sam Steingold  <sds@gnu.org>
25972         * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable.
25974 2015-04-16  Leo Liu  <sdl.web@gmail.com>
25976         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
25978 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
25980         * lisp/erc/erc-pcomplete.el (erc-pcomplete):
25981         Don't use `pcomplete' any more.
25983 2015-04-16  Glenn Morris  <rgm@gnu.org>
25985         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
25987 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
25989         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
25990         * configure.ac (LIBJPEG): Leave it empty for MinGW.
25992 2015-04-16  Glenn Morris  <rgm@gnu.org>
25994         * lisp/replace.el (query-replace-from-to-separator):
25995         Delay initialization to avoid rogue setting after startup.
25997 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
25999         Pre-4.6 GCC succeeds with unknown option
26000         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
26001         (Bug#20338)
26003 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
26005         '[:graph:]' now excludes whitespace, not just ' '
26006         * doc/lispref/searching.texi (Char Classes):
26007         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
26008         sans whitespace (not sans space).
26009         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
26010         not just space.
26011         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
26013 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
26015         * lisp/subr.el (substitute-key-definition-key, special-form-p)
26016         (macrop): Drop deprecated second arg to indirect-function.
26017         (looking-back): Make the second arg non-optional.
26019         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
26020         command is actually sent to the shell.
26022 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
26024         Port jpeg configuration to Solaris 10 with Sun C
26025         * configure.ac: Check for jpeglib 6b by trying to link it, instead
26026         of relying on cpp magic that has problems in practice.  Check for
26027         both jpeglib.h and jerror.h features.  Remove special case for
26028         mingw32, which should no longer be needed (and if it were needed,
26029         should now be addressable by hotwiring emacs_cv_jpeglib).
26030         (Bug#20332)
26032 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
26034         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
26035         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
26036         Move to elisp-mode.el.
26037         (lisp-mode-variables): (Re)move elisp-specific settings.
26038         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
26039         from lisp-mode-variables.
26040         (elisp--font-lock-flush-elisp-buffers): New function, moved from
26041         lisp-mode.el.
26043         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
26044         Avoid pathological slowdown at top-level in large file.
26046 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
26048         Standardize names of ChangeLog history files
26049         Suggested by Glenn Morris in:
26050         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
26051         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
26052         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
26053         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
26054         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
26055         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
26056         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
26057         Remove.
26059         Split top-level entries into pre- and post-April 7
26060         This more clearly distingiushes pre-April-7 ChangeLog entries (which
26061         are for top-level files only) from post-April-7 entries (which are
26062         about files at all levels.  Problem reported by Glenn Morris in:
26063         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
26064         * ChangeLog.1: Move post-April-7 entries from here ...
26065         * ChangeLog.2: ... to this new file.
26066         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
26068 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
26070         Fix recent cus-start changes that added customize-rogues
26071         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
26072         vars early.
26073         * lisp/loadup.el ("cus-start"): Move to the end to reduce
26074         customize-rogue.
26076 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
26078         Define cl-concatenate as an alias to seq-concatenate
26079         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
26080           code by making cl-concatenate an alias to seq-concatenate.
26082 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
26084         * src/lread.c (intern_1): Make sure we'd find the symbol we add
26085         (Bug#20334)
26086         * src/xfaces.c (resolve_face_name): Don't use `intern' with
26087         Lisp_Strings.
26089 2015-04-15  Glenn Morris  <rgm@gnu.org>
26091         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
26093 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
26095         Clean up gnus-uu saving code slightly
26096         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the
26097         save-restriction/widen calls make more sense.
26099 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
26101         Make [:graph:] act like [:print:] sans space
26102         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
26103         [:graph:] so that it matches everything that [:print:] does,
26104         except for space.
26105         * doc/lispref/searching.texi (Char Classes):
26106         * etc/NEWS:
26107         * lisp/emacs-lisp/rx.el (rx):
26108         Document [:graph:] to be [:print:] sans ' '.
26109         * src/character.c, src/character.h (graphicp): New function.
26110         * src/regex.c (ISGRAPH) [emacs]: Use it.
26111         (BIT_GRAPH): New macro.
26112         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
26113         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
26114         Return BIT_GRAPH for RECC_GRAPH.
26115         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
26116         and ISPRINT if BIT_PRINT.
26118 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
26120         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
26121         Don't use call-next-method in a cl-defmethod.
26123         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
26124         (eieio--class-p): Remove, provided by cl-defstruct.
26126 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
26128         Add seq-intersection and seq-difference to the seq library
26129         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference):
26130         New functions.
26131         * test/automated/seq-tests.el: Add tests for seq-intersection and
26132         seq-difference.
26133         * doc/lispref/sequences.texi: Add documentation for seq-intersection
26134         and seq-difference.
26136 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
26138         * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline,
26139         to avoid leaking internals.
26141 2015-04-14  Sam Steingold  <sds@gnu.org>
26143         package--ensure-init-file: widen requires save-restriction
26145 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
26147         Improve the commit-msg Git hook for unibyte environments
26148         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
26149         in unibyte environments.  (Suggested by Paul Eggert
26150         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
26151         [:print:], based on UTF-8 sequences of the unprintable characters.
26153         Describe problems with cursor caused by Windows Magnifier
26154         * etc/PROBLEMS: Describe the problem with cursor shape on
26155         MS-Windows due to Windows Magnifier.
26156         (Bug#20271)
26158         Make [:print:] support non-ASCII characters correctly
26159         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
26160         (BIT_PRINT): New bit mask.
26161         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
26162         * src/character.c (printablep): New function.
26163         * src/character.h (printablep): Add prototype.
26164         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
26165         of 'print', 'alnum', and 'alphabetic'.
26166         * doc/lispref/searching.texi (Char Classes): Document the new
26167         behavior of [:print:].
26168         * etc/NEWS: Mention the new behavior of [:print:].
26170         Assign correct general-category and names to surrogates
26171         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
26172         surrogates.  This avoids assigning them the default
26173         general-category of 'Cn', i.e. unassigned codepoints.
26174         (unidata-get-name): Give surrogates synthetic names.
26176 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
26178         Assume C89 offsetof in xterm.c, xlwmenu.c
26179         * lwlib/xlwmenu.c (offset):
26180         * src/xterm.c (cvt_string_to_pixel_args):
26181         Use offsetof, not XtOffset.
26183 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
26185         Assume C89 offsetof in widget.c
26186         * src/widget.c (XtOffset): Remove; no longer needed.
26187         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
26189         Fix think-o in previous patch
26190         * src/window.c (count_windows, get_leaf_windows):
26191         Don't optimize count_windows incorrectly.
26193 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
26195         Avoid some int overflows in window.c
26196         * src/print.c (print_object):
26197         * src/window.c (sequence_number):
26198         * src/window.h (struct window.sequence_number):
26199         Don't assume window sequence number fits in int.
26200         * src/window.c (window_select_count):
26201         * src/window.h (struct window.use_time, window_select_count):
26202         Don't assume window use time fits in int.
26203         * src/window.c (Fsplit_window_internal):
26204         Don't assume user-supplied integer, or sum, fits in int.
26205         (Fset_window_configuration, count_windows, get_leaf_windows)
26206         (save_window_save, Fcurrent_window_configuration):
26207         Use ptrdiff_t for object counts.
26208         (Fset_window_configuration): Omit unused local 'n'.
26209         (count_windows): Simplify by writing in terms of get_leaf_windows.
26210         (get_leaf_windows): Don't store through FLAT if it's null.
26211         (extract_dimension): New static function.
26212         (set_window_margins, set_window_fringes, set_window_scroll_bars):
26213         Use it to avoid undefined behavior when converting user-supplied
26214         integer to 'int'.
26216 2015-04-13  Glenn Morris  <rgm@gnu.org>
26218         Minor doc copyedits
26219         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
26220         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
26222 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
26224         [Gnus] Catch the invalid-operation that idna.el will issue
26225         * lisp/gnus/gnus-art.el (gnus-use-idna):
26226         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
26227         * lisp/gnus/message.el (message-use-idna):
26228         Catch the invalid-operation that idna.el will issue.
26230 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
26232         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
26234 2015-04-13  Sam Steingold  <sds@gnu.org>
26236         package--ensure-init-file: widen before looking for
26237         "(package-initialize)"
26239 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
26241         Change diff-switches default to `-u' (Bug#20290)
26242         * doc/emacs/files.texi (Comparing Files): Document the new default
26243         value of `diff-switches'.
26244         * doc/emacs/trouble.texi (Sending Patches): Document the preference
26245         for unified diff format.  Escape the plus in the suggested `-F' regexp
26246         value.
26247         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
26249 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
26251         (gnus-group--setup-tool-bar-update): Fix last change
26252         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
26253         cursor-sensor-functions should be a list of functions.
26255 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
26257         * lisp/gnus/gnus-topic.el (gnus-topic-mode):
26258         Use gmm-called-interactively-p.
26260 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
26262         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
26263         (Bug#20321)
26264         * lisp/cus-start.el (read-buffer-function): Don't advertise
26265         iswitchb-read-buffer any more.
26266         (iswitchb): Don't tweak this obsolete group any more.
26268 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
26270         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file.
26272         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings.
26273         Adding a string after a constructor's argument list will use
26274         that string as the constructor function docstring.  If this string
26275         is absent but the struct itself was given a docstring, use that as
26276         the constructor's docstring.
26277         Fixes bug#17284.
26279 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
26281         Deprecate `intangible' and `point-entered' properties
26282         * lisp/emacs-lisp/cursor-sensor.el: New file.
26283         * lisp/simple.el (pre-redisplay-functions): New hook.
26284         (redisplay--pre-redisplay-functions): New function.
26285         (pre-redisplay-function): Use it.
26286         (minibuffer-avoid-prompt): Mark obsolete.
26287         (redisplay--update-region-highlight): Adapt it to work as a function on
26288         pre-redisplay-functions.
26289         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
26290         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
26291         than point-entered to make the prompt intangible.
26292         * lisp/forms.el: Move `provide' calls to the end.
26293         (forms-mode): Don't use `run-hooks' on a local var.
26294         (forms--make-format, forms--make-format-elt-using-text-properties):
26295         Use cursor-intangible rather than `intangible'.
26296         (forms-mode): Enable cursor-intangible-mode.
26297         * lisp/isearch.el (isearch-mode): Use defvar-local.
26298         (cursor-sensor-inhibit): Declare.
26299         (isearch-mode): Set cursor-sensor-inhibit.
26300         (isearch-done): Set it back.
26301         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
26302         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
26303         any more.
26304         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
26305         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
26306         Add Edebug spec.
26307         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
26308         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
26309         inhibit-point-motion-hooks any more.
26310         (ses--cell-at-pos, ses--curcell): New functions, extracted from
26311         ses-set-curcell.
26312         (ses-set-curcell): Use them.
26313         (ses-print-cell, ses-setup): Use cursor-intangible instead of
26314         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
26315         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
26316         Use ses--cell-at-pos.
26317         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
26318         extracted from ses-command-hook.  Make them work with multiple windows
26319         displaying the same buffer.
26320         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
26321         Enable cursor-intangible-mode.
26322         (ses-command-hook): Remove cell highlight and mode-line update code.
26323         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
26324         Update for new name of text-property holding the cell name.
26325         (ses-rename-cell): Don't mess with mode-line-process.
26326         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
26327         cursor-sensor-functions property instead of point-entered.
26328         (erc-insert-timestamp-right, erc-format-timestamp):
26329         Use cursor-intangible rather than `intangible'.
26330         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
26331         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
26332         cursor-sensor-mode if needed.
26333         (erc-echo-timestamp): Adapt to calling convention of
26334         cursor-sensor-functions.
26335         (erc-insert-timestamp-right): Remove unused vars `current-window' and
26336         `indent'.
26337         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
26338         (gnus-update-group-mark-positions): Remove unused `topic' var.
26339         (gnus-group-insert-group-line): Remove unused var `header'.
26340         (gnus-group--setup-tool-bar-update): New function.
26341         (gnus-group-insert-group-line): Use it.
26342         (gnus-group-update-eval-form): Declare local
26343         dynamically-bound variables.
26344         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
26345         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
26346         (gnus-group-prepare-topics, gnus-topic-update-topic)
26347         (gnus-topic-change-level, gnus-topic-catchup-articles)
26348         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
26349         Use inhibit-read-only.
26350         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
26351         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
26352         * lisp/textmodes/reftex-index.el (reftex-display-index):
26353         Use cursor-intangible-mode if available.
26354         (reftex-index-post-command-hook): Check cursor-intangible.
26355         * lisp/textmodes/reftex-toc.el (reftex-toc):
26356         Use cursor-intangible-mode if available.
26357         (reftex-toc-recenter, reftex-toc-post-command-hook):
26358         Check cursor-intangible.
26359         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
26360         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
26361         (sgml-tags-invisible): Use with-silent-modifications and
26362         inhibit-read-only.  Enable cursor-sensor-mode.
26363         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
26364         calling convention of cursor-sensor-functions.
26365         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
26366         (table-point-entered-cell-hook, table-point-left-cell-hook):
26367         Don't autoload.
26368         (table-cell-entered-state): Remove var.
26369         (table--put-cell-point-entered/left-property)
26370         (table--remove-cell-properties):
26371         Use cursor-sensor-functions rather than point-entered/left.
26372         (table--point-entered/left-cell-function): Merge
26373         table--point-entered-cell-function and table--point-left-cell-function
26374         and adjust to calling convention of cursor-sensor-functions.
26376         Update ldef-boots.el
26378         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
26380         * doc/misc/eieio.texi: Don't advertise now obsolete constructs
26382         Collapse successive char deletions in the undo log
26383         * src/cmds.c (remove_excessive_undo_boundaries): New function,
26384         extracted from Fself_insert_command.
26385         (Fdelete_char, Fself_insert_command): Use it.
26386         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
26387         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
26389         xterm and OSC 52: Add NEWS entry, and tweak the code
26390         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition
26391         to top-level.
26392         (terminal-init-xterm-activate-set-selection): Set a terminal property.
26393         (xterm--set-selection): Use it instead of checking the value of
26394         `terminal-initted'.  Don't use string-bytes.
26396 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
26398         xterm.el: Implement OSC-52 functionality for setting the X selection
26399         * lisp/term/xterm.el (xterm-max-cut-length): New var.
26400         (xterm--set-selection, terminal-init-xterm-activate-set-selection):
26401         New funs.
26402         (terminal-init-xterm, xterm--version-handler): Use them.
26404 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
26406         Remove left over code from when we used an obsolete/loaddefs.el file
26407         * lisp/subr.el (do-after-load-evaluation): Remove left over code from
26408         when we used an obsolete/loaddefs.el file.
26410         * lisp/cedet/semantic/fw.el (semantic-exit-on-input)
26411         (semanticdb-without-unloaded-file-searches): Use declare.
26412         (semantic-fw-add-edebug-spec): Remove.
26414         * lisp/completion.el (completion-lisp-mode-hook):
26415         Use completion-separator-chars rather than local key binding.
26417         * src/*.c: Set deactivate_mark buffer-locally
26418         (Bug#20260)
26419         * src/insdel.c (prepare_to_modify_buffer_1):
26420         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
26421         buffer-locally.
26423 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
26425         python.el: Keep symmetry on sexp navigation with parens
26426         (Bug#19954)
26427         * lisp/progmodes/python.el
26428         (python-nav--forward-sexp): Add argument skip-parens-p.
26429         (python-nav-forward-sexp, python-nav-backward-sexp)
26430         (python-nav-forward-sexp-safe)
26431         (python-nav-backward-sexp-safe): Use it.
26432         * test/automated/python-tests.el
26433         (python-nav-forward-sexp-1): Fix test.
26435 2015-04-12  João Távora  <joaotavora@gmail.com>
26437         Don't use `setq-local' in Gnus code
26438         This might break upstream builds with older Emacsen
26439         * lisp/gnus/message.el (message-mode): Use `set' and
26440         `make-local-variable' instead of `setq-local'.
26442 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
26444         Update Makefile.in's .PHONY dependencies
26445         * Makefile.in (change-history-commit, master-branch-is-current)
26446         (no-ChangeLog): Now phony.
26448         Remove configure's --with-mmdf option
26449         * configure.ac (MAIL_USE_MMDF): Remove.
26450         * etc/NEWS: Document this.
26451         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
26452         (Bug#20308)
26454         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
26455         That way, 'make install' won't think it's a man page.
26456         Reported by Ashish SHUKLA in:
26457         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
26459         Improve 'make change-history' prereq tests
26460         * Makefile.in (gen_origin): Fix to match what's in the master branch.
26461         (no-ChangeLog, master-branch-is-current): New rules.
26462         (change-history): Depend on them, to avoid similar future problems.
26463         Escape the local-variables string to pacify Emacs when editing
26464         Makefile.in.
26466 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
26468         * test/automated/package-test.el (with-package-test):
26469         Kill Packages buffer.
26471         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt.
26472         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
26473         "Upgrade" last, and use capitalized instead of all-caps.
26475         * lisp/emacs-lisp/package.el: Completely silence async operations.
26476         (package--make-autoloads-and-stuff): Silence autoloads.
26477         (package--save-selected-packages): New function, silences
26478         `customize-save-variable'.
26479         (package--user-selected-p, package-install-from-buffer)
26480         (package-delete, package-install): Use it.
26481         (package-install-from-archive)
26482         (package-menu--perform-transaction): Silence.
26483         (package-menu-execute): Feedback when operation starts.
26485         Use delay-mode-hooks when visiting the init-file
26486         * lisp/emacs-lisp/package.el (package--ensure-init-file):
26487         delay-mode-hooks.
26488         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks.
26490         * lisp/files.el: Only message when saving if save-silently is nil.
26491         (save-silently): New variable.
26492         (files--message): New function.
26493         (find-file-noselect, save-buffer, basic-save-buffer)
26494         (basic-save-buffer-2, save-some-buffers, not-modified)
26495         (append-to-file): Use them.
26497 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
26499         Support debug declarations in pcase macros
26500         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
26501         (pcase-UPAT): Use it.  Remove "`".
26502         (pcase--edebug-match-macro): New function.
26503         (pcase-defmacro): Support debug declarations.
26504         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
26505         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
26506         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>:
26507         Add debug declaration.
26509         pcase.el: Edebug support for `app' and vector patterns
26510         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
26511         (pcase-UPAT): Use it.  Support `app' patterns.
26512         (pcase-QPAT): Support vector patterns.
26514         edebug.el: Disambiguate vector specifications
26515         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
26516         `(vector ...)' as a vector specification, not as a sublist.
26518         (gnus-summary-refer-thread): Don't clobber unread articles
26519         This fixes a bug where `A T' causes "random" articles to become marked
26520         as read.
26521         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
26522         gnus-newsgroup-unreads remains sorted.
26524         mouse-sel.el: Fix mouse-sel-get-selection-function
26525         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
26526         Use gui--last-selected-text-primary instead of no longer existing
26527         gui-last-selected-text.
26529         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
26531         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
26533 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
26535         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate.
26537         * lisp/emacs-lisp/package.el (list-packages): Call refresh in
26538         right buffer.
26540         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations.
26541         (byte-compile--interactive): New var.
26542         (byte-compile--message): New function.
26543         (byte-compile-log-1, byte-force-recompile)
26544         (byte-recompile-directory, byte-recompile-file)
26545         (byte-compile-file, compile-defun)
26546         (byte-compile-file-form-defmumble, byte-compile)
26547         (byte-compile-file-form-defalias, display-call-tree): Use it.
26549         * lisp/files.el: Don't message when nothing happened.
26550         (save-some-buffers, basic-save-buffer): Before messaging to say
26551         "nothing was saved" check if (called-interactively-p 'any).
26553 2015-04-12  João Távora  <joaotavora@gmail.com>
26555         Summary: Improve sexp-based movement in message-mode
26556         Works by giving citations and smileys a different syntax.  This helps
26557         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
26558         sexp-based movement.
26559         * lisp/gnus/message.el (message--syntax-propertize): New function.
26560         (message-mode): Set syntax-related vars.
26561         (message-smileys): New variable.
26562         * test/automated/message-mode-tests.el: New file
26564 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
26566         Use bool for boolean in window.c
26567         * src/window.c: Omit unnecessary static function decls.
26568         (adjust_window_count, select_window, Fselect_window)
26569         (window_body_width, Fwindow_body_height, Fwindow_body_width)
26570         (set_window_hscroll, check_window_containing, Fwindow_at)
26571         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
26572         (unshow_buffer, replace_window, recombine_windows)
26573         (add_window_to_list, candidate_window_p, next_window)
26574         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
26575         (Fget_buffer_window, Fdelete_other_windows_internal)
26576         (replace_buffer_in_windows_safely, set_window_buffer)
26577         (Fset_window_buffer, Fforce_window_update)
26578         (temp_output_buffer_show, make_parent_window)
26579         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
26580         (resize_frame_windows, Fsplit_window_internal)
26581         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
26582         (Fresize_mini_window_internal, mark_window_cursors_off)
26583         (window_scroll, window_scroll_pixel_based)
26584         (window_scroll_line_based, scroll_command, Fscroll_other_window)
26585         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
26586         (Fmove_to_window_line, Fset_window_configuration)
26587         (delete_all_child_windows, apply_window_adjustment)
26588         (set_window_fringes, set_window_scroll_bars)
26589         (Fset_window_vscroll, foreach_window, foreach_window_1)
26590         (compare_window_configurations, Fcompare_window_configurations):
26591         Prefer 'bool', 'true', and 'false' for booleans.
26592         * src/window.h (WINDOW_MODE_LINE_LINES)
26593         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
26595 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
26597         Speed up byte-compilation and autoload generation by avoiding mode-hooks
26598         This prevents emacs-lisp-mode-hook from being run everytime an
26599         autoload file is generated, which can account for a fraction of
26600         package installation time depending on the hooks the user has
26601         configured.
26602         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
26603         * lisp/emacs-lisp/autoload.el (autoload-find-file)
26604         (autoload-find-generated-file): Use delay-mode-hooks.
26606         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'.
26607         (package-menu-refresh): Respect async and do new package checking.
26608         (list-packages): Use `package-menu-refresh' instead of repeating code.
26610         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help.
26611         (package--quick-help-keys): New variable.
26612         (package--prettify-quick-help-key): New function.
26613         (package-menu-quick-help): Use it.
26615         * lisp/emacs-lisp/package.el: Fix initially wrong compat table.
26616         (package--build-compatibility-table): Require finder.
26618         * test/automated/package-test.el: Fix new test.
26620         * lisp/emacs-lisp/package.el: Silence async operations.
26621         (package--silence): New variable.
26622         (package--message): New function.
26623         (package-import-keyring, package-refresh-contents)
26624         (package-compute-transaction, package-install, package-delete)
26625         (package-menu--perform-transaction, package-menu-execute): Use it.
26627         * test/automated/package-test.el: Test async functionality.
26628         (package-test-update-archives-async): New test.
26630 2015-04-11  Daiki Ueno  <ueno@gnu.org>
26632         Utilize `make-process' in epg.el
26633         * lisp/epg.el (epg-error-output): Abolish.
26634         (epg-context): New slot `error-buffer'.
26635         (epg--start): Use `make-process' and `make-pipe-process'.
26636         (epg--process-filter): Remove code separating stderr from stdout.
26637         (epg-wait-for-completion): Simplify `error-output' handling.
26638         (epg-reset): Dispose error buffer.
26640 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
26642         * .gitignore: Ignore doc temps and outputs.
26644         Port commit-msg to MSYS Bash+Gawk
26645         See Eli Zaretskii in:
26646         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
26647         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
26648         (cent_sign, print_at_sign, at_sign): Revert previous change.
26649         (print_at_sign): Prepend "BEGIN".
26650         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
26652         Port commit-msg to broken MS-Windows shell
26653         * build-aux/git-hooks/commit-msg (cent_sign):
26654         Just use UTF-8 here rather than ASCII + printf, as the latter fails
26655         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
26656         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
26658 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
26660         Support GnuTLS v3.4 and later on MS-Windows
26661         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
26662         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
26663         GnuTLS DLL to load according to value of libgnutls-version.
26664         (Bug#20294)
26666 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
26668         Minor quoting etc. fixes to misc manuals
26669         Fix some minor quoting and spacing issues.  Distinguish more
26670         clearly among grave accent and apostrophe (which are ASCII) and
26671         single quote (which is not).  Prefer the standard terms
26672         "apostrophe" and "grave accent" to alternative names that can be
26673         confusing.  Use apostrophes to single-quote ASCII text.
26674         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
26675         rather than approximating it in ASCII with grave accent.
26677 2015-04-11  Daiki Ueno  <ueno@gnu.org>
26679         Respect more keyword args in `make-process'
26680         * src/process.c (Fmake_process): Respect `:sentinel' and `:filter'
26681         keywords as documented.
26683 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
26685         Extract ChangeLog entries when committing a directory
26686         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
26687         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
26688         Add a FIXME comment.
26689         (log-edit-changelog-entries): Extract from
26690         `log-edit-changelog-entries', handle FILE being a directory
26691         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
26693 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
26695         Fix problems found by --enable-gcc-warnings
26696         * src/process.c (create_process, Fmake_pipe_process)
26697         (Fmake_network_process): Omit unused locals.
26699         Fix commit-msg to handle scissors lines
26700         * build-aux/git-hooks/commit-msg:
26701         Ignore every line after a scissors line, such as a line generated
26702         by 'git commit -v'.  Problem reported by Johan Bockgård in:
26703         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
26705         port commit-msg to Gawk 3.0.4 (1999)
26706         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
26707         (print_at_sign, at_sign): New vars.  Use them to avoid problems
26708         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
26709         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
26711         Have commit-msg report commit failure
26712         * build-aux/git-hooks/commit-msg: If the commit is aborted,
26713         say so.  Simplify by doing this at the end.  Problem reported
26714         by Eli Zaretskii in:
26715         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
26717 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
26719         Clean up LDAP Configuration section of EUDC manual
26720         * doc/misc/eudc.texi: Combine indices.
26721         (LDAP Configuration): Use command markup.  Add index entries.
26722         Change formatting.  Wrap long lines.  Add noindent markup.
26724 2015-04-10  Daiki Ueno  <ueno@gnu.org>
26726         Add facility to collect stderr of async subprocess
26727         * src/w32.h (register_aux_fd): New function declaration.
26728         * src/w32.c (register_aux_fd): New function.
26729         * src/process.h (struct Lisp_Process): New member stderrproc.
26730         * src/process.c (PIPECONN_P): New macro.
26731         (PIPECONN1_P): New macro.
26732         (Fdelete_process, Fprocess_status, Fset_process_buffer)
26733         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
26734         (Fcontinue_process): Handle pipe process specially.
26735         (create_process): Respect p->stderrproc.
26736         (Fmake_pipe_process): New function.
26737         (Fmake_process): Add new keyword argument :stderr.
26738         (wait_reading_process_output): Specially handle a pipe process when
26739         it gets an EOF.
26740         (syms_of_process): Register Qpipe and Smake_pipe_process.
26741         * doc/lispref/processes.texi (Asynchronous Processes): Document
26742         `make-pipe-process' and `:stderr' keyword of `make-process'.
26743         * lisp/subr.el (start-process): Suggest to use `make-process' handle
26744         standard error separately.
26745         * test/automated/process-tests.el (process-test-stderr-buffer)
26746         (process-test-stderr-filter): New tests.
26747         * etc/NEWS: Mention new process type `pipe' and its usage with the
26748         `:stderr' keyword of `make-process'.
26750 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
26752         Minor quoting etc. fixes to lispref manual
26753         * doc/lispref/tips.texi (Documentation Tips):
26754         Distinguish more clearly among grave accent, apostrophe,
26755         and single quote.
26756         * doc/lispref/README, doc/lispref/buffers.texi:
26757         * doc/lispref/commands.texi, doc/lispref/control.texi:
26758         * doc/lispref/customize.texi, doc/lispref/display.texi:
26759         * doc/lispref/elisp.texi, doc/lispref/files.texi:
26760         * doc/lispref/frames.texi, doc/lispref/hash.texi:
26761         * doc/lispref/help.texi, doc/lispref/internals.texi:
26762         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
26763         * doc/lispref/markers.texi, doc/lispref/modes.texi:
26764         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
26765         * doc/lispref/os.texi, doc/lispref/positions.texi:
26766         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
26767         * doc/lispref/text.texi, doc/lispref/tips.texi:
26768         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
26769         Use American-style double quoting in ordinary text,
26770         and quote 'like this' when single-quoting in ASCII text.
26771         Also, fix some minor spacing issues.
26773 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
26775         Handle symlinked test directory in tramp-tests.el
26776         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
26777         (tramp--test-check-files): Use `file-truename' for directories.
26779 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
26781         Fix 'recenter' when visual-line-mode is turned on
26782         * src/window.c (Frecenter): Use the same code for GUI and TTY
26783         frames alike; use vmotion only for "initial" frames.  This is
26784         because vmotion doesn't support visual-line-mode.  Rewrite the
26785         'iarg >= 0' case to use move_it_* functions instead of using
26786         vmotion, for the same reason.  Fix the clipping of the argument
26787         value to support scroll-margin in all cases and avoid unwarranted
26788         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
26789         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
26790         which see.
26792 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
26794         * lisp/abbrev.el (define-abbrev-table): Refine last change.
26796         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
26797         use of c[ad]+r", so as to keep the "cl-" prefix on all
26798         cl-lib definitions.
26800         * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
26801         Use inhibit-point-motion-hooks.
26803         * lisp/cedet/semantic: Remove some dead code.
26804         * lisp/cedet/semantic/util-modes.el
26805         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
26806         any more.
26807         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
26808         not supported any more.
26809         (semantic-safe): Use `declare'.
26810         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
26811         (semantic-tag-intangible-p): Remove unused functions.
26812         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
26813         Remove unused function.
26815         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
26816         (gnus-article-hide-text, gnus-article-unhide-text)
26817         (gnus-article-unhide-text-type): Remove special handling of
26818         `intangible' since that property is not used any more.
26819         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
26821 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
26823         Use the VC root in `log-edit-listfun'
26824         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
26825         `log-edit-listfun'.
26827 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
26829         Fix description of Unix time, mention new function.
26830         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
26831         Unix time.
26832         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
26833         (Basic Operations on Units): Mention `calc-convert-exact-units'.
26835 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
26837         * lisp/emacs-lisp/package.el: Use mode-line-process for notification.
26839 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
26841         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
26842         Don't add newline after the last entry.
26844 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
26846         css-mode.el: Add "not" pseudo-class
26847         (Bug#20267)
26848         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
26849         list of CSS pseudo-classes.
26851 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
26853         * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var".
26855 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
26857         Stop messing with the EMACS env var
26858         * doc/emacs/misc.texi (Interactive Shell): Remove description of
26859         EMACS env var.
26861 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
26863         Adapt 'make change-history' to coding cookie
26864         * Makefile.in (change-history): Adjust to change of format of
26865         ChangeLog file, which now has a coding cookie before an indented
26866         copyright notice.
26868 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
26870         Adapt 'make change-history' to coding cookie
26871         * Makefile.in (change-history): Adjust to change of format of
26872         ChangeLog file, which now has a coding cookie before an indented
26873         copyright notice.
26875         gitlog-to-changelog coding cookie and mv -i
26876         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
26877         for copyright notice prototype, so that we get a proper "coding:"
26878         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
26879         existing ChangeLog.  Problems reported by Eli Zaretskii in:
26880         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
26882         Merge from gnulib
26883         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
26884         2015-04-09 gitlog-to-changelog: port to MS-Windows
26886 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
26888         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
26889         (Bug#20212)
26891 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
26893         Stop messing with the EMACS env var
26894         (Bug#20202)
26895         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
26896         * lisp/comint.el (comint-exec-1):
26897         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
26898         * lisp/progmodes/compile.el (compilation-start): Same and bring
26899         INSIDE_EMACS's format in line with other users.
26901         css-mode.el (css-smie-rules): Fix indentation after complex selectors
26902         (Bug#20282)
26903         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
26904         inner structure of selectors.
26906 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
26908         python.el: Indent docstring lines to base-indent
26909         (Bug#19595)
26910         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
26911         an initial patch.
26912         * lisp/progmodes/python.el
26913         (python-indent-context): Add :inside-docstring context.
26914         (python-indent--calculate-indentation): Handle :inside-docstring.
26915         (python-indent-region): Re-indent docstrings.
26916         * test/automated/python-tests.el (python-indent-region-5)
26917         (python-indent-inside-string-2): Fix tests.
26919         python.el: Increase native completion robustness
26920         (Bug#19755)
26921         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
26922         this and providing useful ideas.
26923         * lisp/progmodes/python.el
26924         (python-shell-completion-native-output-timeout): Increase value.
26925         (python-shell-completion-native-try-output-timeout): New var.
26926         (python-shell-completion-native-try): Use it.
26927         (python-shell-completion-native-setup): New readline setup avoids
26928         polluting current context, ensures output when no-completions are
26929         available and includes output end marker.
26930         (python-shell-completion-native-get-completions): Trigger with one
26931         tab only.  Call accept-process-output until output end is found or
26932         python-shell-completion-native-output-timeout is exceeded.
26934 2015-04-08  Samer Masterson  <samer@samertm.com>
26936         * lisp/eshell: Make backslash a no-op in front of normal chars
26937         (Bug#8531)
26938         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
26939         (eshell-parse-backslash): Return escaped character after backslash
26940         if it is special.  Otherwise, if the backslash is not in a quoted
26941         string, ignore the backslash and return the character after; if
26942         the backslash is in a quoted string, return the backslash and the
26943         character after.
26944         * test/automated/eshell.el (eshell-test/escape-nonspecial)
26945         (eshell-test/escape-nonspecial-unicode)
26946         (eshell-test/escape-nonspecial-quoted)
26947         (eshell-test/escape-special-quoted): Add tests for new
26948         `eshell-parse-backslash' behavior.
26950 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
26952         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
26953         after the file name.
26954         (Bug#20276)
26956 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
26958         Minor quoting etc. fixes to Emacs manual
26959         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
26960         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
26961         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
26962         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
26963         * doc/emacs/indent.texi, doc/emacs/macos.texi:
26964         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
26965         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
26966         * doc/emacs/search.texi, doc/emacs/trouble.texi:
26967         * doc/emacs/vc1-xtra.texi:
26968         Use American-style double quoting in ordinary text,
26969         and quote 'like this' when single-quoting in ASCII text.
26970         Also, fix some minor spacing issues.
26972         Minor quoting etc. fixes to elisp intro
26973         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
26974         American-style double quoting in ordinary text.  In ASCII text,
26975         consistently quote 'like this' instead of `like this', unless
26976         Emacs requires the latter.
26978 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
26980         * CONTRIBUTE: Mention log-edit-insert-changelog.
26982         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
26984 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
26986         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
26988 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
26990         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
26991         Fix inheritance of initargs.  (Bug#20270)
26993 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
26995         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
26996         while dowloading information.
26998         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
26999         (package--ensure-init-file): Check file contents before visiting.
27000         (package-initialize): Call it.
27001         (package-install-from-buffer, package-install): Don't call it.
27003 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
27005         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800.
27006         (Bug#17517)
27008 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
27010         * lisp/net/tramp-cache.el (tramp-flush-file-property):
27011         Fix nasty scoping bug.
27013 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
27015         Add notice to visual commands section
27016         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
27017         such as git call less with its -F option which omits pagination if
27018         the contents is less than one page long.  This interferes with
27019         eshell's visual (sub-)commands.
27021 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
27023         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
27024         environment variable expansion in file names.  (Bug#19839)
27026 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
27028         Prefer double-quote to accent-grave in man pages
27030 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
27032         (Bug#20257)
27033         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
27035 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
27037         Update etc/PROBLEMS.
27038         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
27039         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
27040         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
27041         respectively); other minor updates and tweaks.  (Bug#20011)
27043 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
27045         Add doc strings for some Isearch state vars
27046         * lisp/misearch.el (multi-isearch-buffer-list)
27047         (multi-isearch-file-list): Add doc strings.
27048         (Bug#20232)
27050 2015-04-07  Alan Mackenzie  <acm@muc.de>
27052         Always mark "<" and ">" in #include directives with text properties.
27053         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock
27054         "anchored matcher" with an invocation of
27055         c-make-font-lock-search-function to allow fontification when there's
27056         no trailing space on an "#include <..>" line.
27058 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
27060         Generate a ChangeLog file from commit logs
27061         * .gitignore: Add 'ChangeLog'.
27062         * build-aux/gitlog-to-changelog: New file, from Gnulib.
27063         * build-aux/gitlog-to-emacslog: New file.
27064         * CONTRIBUTE: Document the revised workflow.
27065         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
27066         instead of just special cases.
27067         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
27068         (ChangeLog, unchanged-history-files, change-history)
27069         (change-history-commit): New rules.
27070         * admin/admin.el (make-manuals-dist--1):
27071         Don't worry about doc/ChangeLog.
27072         * admin/authors.el: Add a FIXME.
27073         * admin/make-tarball.txt:
27074         * lisp/calendar/icalendar.el:
27075         * lisp/gnus/deuglify.el:
27076         * lisp/obsolete/gulp.el:
27077         * lwlib/README:
27078         Adjust to renamed ChangeLog history files.
27079         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
27080         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
27081         Remove obsolete discussion of merging ChangeLog files.
27082         New section "Maintaining ChangeLog history".
27083         * build-aux/git-hooks/pre-commit:
27084         Reject attempts to commit files named 'ChangeLog'.
27085         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
27086         * make-dist: Make and distribute top-level ChangeLog if there's a
27087         .git directory.  Distribute the new ChangeLog history files
27088         instead of scattered ChangeLog files.  Distribute the new files
27089         gitlog-to-changelog and gitlog-to-emacslog.
27090         (Bug#19113)
27092         Rename ChangeLogs for gitlog-to-changelog
27093         This patch was implemented via the following shell commands:
27094         find * -name ChangeLog |
27095         sed 's,.*,git mv & &.1,
27096         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
27097         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
27098         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
27099         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
27100         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
27101         sh
27102         git commit -am"[this commit message]"
27104 This file records repository revisions from
27105 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
27106 commit 8cdb9ac0fb060366bc823de84ecdba258716addb (inclusive).
27107 See ChangeLog.1 for earlier changes.
27109 ;; Local Variables:
27110 ;; coding: utf-8
27111 ;; End:
27113   Copyright (C) 2015-2016 Free Software Foundation, Inc.
27115   This file is part of GNU Emacs.
27117   GNU Emacs is free software: you can redistribute it and/or modify
27118   it under the terms of the GNU General Public License as published by
27119   the Free Software Foundation, either version 3 of the License, or
27120   (at your option) any later version.
27122   GNU Emacs is distributed in the hope that it will be useful,
27123   but WITHOUT ANY WARRANTY; without even the implied warranty of
27124   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27125   GNU General Public License for more details.
27127   You should have received a copy of the GNU General Public License
27128   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.