; Auto-commit of ChangeLog files.
[emacs.git] / ChangeLog.2
blob58284d03f4ec4da4397f28802fd95679e1517fb3
1 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
3         message-valid-fqdn-regexp no longer exists
5         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
6         the no-longer-existing message-valid-fqdn-regexp variable.
8 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
10         Remove message-valid-fqdn-regexp, since it changes too much now
12         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
13         (message-bogus-recipient-p): Don't use it any more.
14         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
16 2016-02-06  Paul van der Walt  <paul@denknerd.org>
18         Match "Re :" as a "Re:" prefix
20         * lisp/gnus/message.el (message-subject-re-regexp): Also match
21         "Re :" as a "Re:" prefix (commonly used in France).
23 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
25         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
27         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
29 2016-02-06  David Edmondson  <dme@dme.org>
31         src/process.c Correctly convert AF_INET6 addresses
33         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
34         converted to a list of 16 bit quantities by
35         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
36         same scheme rather than expecting a (longer) list of 8 bit
37         quantities.
39 2016-02-06  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
41         Search for host/port combinations in auth-source on OS X
43         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
44         Search for all host/port (or protocol) combinations for a match in
45         the OS X keychain.
47 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
49         Remove nonsensical setting of gnus-newsgroup-unseen
51         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
52         setting of gnus-newsgroup-unseen.
54 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
56         Use underline on all terminals that support it
58         * lisp/subr.el (read-multiple-choice): Use
59         display-supports-face-attributes-p instead of
60         display-graphic-p to determine whether we can use underlining.
62 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
64         Make the nsm query say what it did after the user interaction
66         * lisp/net/nsm.el (nsm-query): Issue a message about
67         aborting/accepting messages (suggested by N. Jackson)
68         (bug#22531).
70 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72         Omit XLI (init) == 0 optimization in make-vector
74         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
75         == 0) case, as this optimization is probably not worth the hassle.
76         Just for the record, the test for that case could have been
77         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
78         assuming the typical platform with no padding bits and where
79         conversion to int omits the most significant bits.
81 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
83         * autogen.sh: Port to dash (Bug#22556).
85 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
87         Minor cleanup for Tramp "doas".
89         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
91         * etc/NEWS: Add Tramp connection method "doas".
93         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
94         Add `tramp-remote-shell-args'.
96 2016-02-05  Xi Lu  <lx@shellcodes.org>
98         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
100         (tramp-default-user-alist): Add rule for "doas".
101         (top): Completion function for "doas" is
102         `tramp-completion-function-alist-su'.
104 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
106         Restore the window configuration
108         * lisp/net/nsm.el (nsm-query-user): Restore the window
109         configuration (bug#22532).
111 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
113         Use an X popup in read-multiple-choice if running from a mouse command
115         * lisp/subr.el (read-multiple-choice): Use an X popup if
116         called from a mouse action (bug#19368).
118 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
120         Display cursor in echo area when prompting
122         * lisp/subr.el (read-multiple-choice): Display the cursor in
123         the echo area when prompting (bug#19368).
125 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
127         Make NSM prompting clearer
129         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
130         to prompt in a nicer way (bug#19368).
132 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
134         Underline read-multiple-choice-face
136         * lisp/faces.el (read-multiple-choice-face): Also underline
137         the choice.
139 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141         Make the read-multiple-choice prompt a bit prettier
143         * doc/lispref/commands.texi (Reading One Event): Mention
144         read-multiple-choice-face.
146         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
147         prettier.
149 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
151         Prefer memcpy and memset to doing it by hand
153         * src/alloc.c (Fmake_vector):
154         * src/ccl.c (setup_ccl_program):
155         Use memset to clear array.
156         * src/alloc.c (Fvector, Fmake_byte_code):
157         * src/charset.c (Fdefine_charset_internal):
158         Use memcpy to copy array.
160 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
162         Do not ignore redirections of 301, 302 and 307 status codes
164         The current version of HTTP/1.1 (RFC 7231) no longer requires
165         confirmation on 301, 302 or 307 status codes, therefore we do not have
166         to ignore redirects for other requests than GET and HEAD.
168         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
169         and 307 redirects for other requests than GET and HEAD.
171 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
173         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
175 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
177         Simplify USE_ALIGNED_ALLOC
179         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
180         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
182 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
184         Honor docstring of gnus-group-get-new-news
186         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
187         is t, but non-numeric, unconditionally consider all groups to need
188         updating.
190 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
192         New function read-multiple-choice
194         * doc/lispref/commands.texi (Reading One Event): Document
195         read-multiple-choice.
197         * lisp/faces.el (read-multiple-choice-face): New face.
199         * lisp/subr.el (read-multiple-choice): New function.
201 2016-02-04  John Wiegley  <johnw@newartisans.com>
203         Merge from origin/emacs-25
205         ee73997 Make erc work better when encountering unknown prefix chars
206         b99141d Make erc completion case-insensitive again
207         66c4620 Make complection in erc use consistent casing
208         8c562b2 Make /QUIT in erc more robust
209         d93d2c5 Make tracking faces in Emacs work more reliably
210         af6ab7e Make shr not bug out on images on non-graphical displays
211         3311f40 Fix bookmark display widths
212         d90ab1e Fix typo in eww-make-unique-file-name
213         7f81825 Make it possible to TAB to input fields
214         a43a1dc Insert complete alt texts when images are disabled
215         56ed4e1 Allow eww text fields to grow
216         66b315c Make erc work when subword-mode is switched on
217         255b68f Fix IMAP doc example
218         91557f5 Quoting fixes in doc strings and diagnostics
219         2c0dc9f Fix warning message in hack-local-variables
220         504696d Etags: yet another improvement in Ruby tags
221         8784ebf Fix x-popup-menu on TTYs without a mouse
222         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
223                 pcase macro
224         6191003 Use pop-to-buffer-same-window in eww
225         fe321fd * autogen.sh: Revert all recent changes.
226         74ebd4a * make-dist: Updates related to nt/.
227         737193a * make-dist: Add modules/.
228         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
229         a4278e2 Fix failure to compile ns-win.el in parallel builds
230         860da4d Fix names of tags generated for Ruby accessors
231         f6213ce Fix file-name recognition in 'etags'
232         e42e662 Change Ruby file names and extensions recognized by 'etags'
233         58bfb6a More improvements for Ruby support in 'etags'
234         c04e911 Add --git-config option to autogen.sh
235         5713466 Fix editing undo changes in eww fields
236         51362d6 Allow the user more control of popping up the eww window
237         ee0fbd8 Make eww-browse-url with new-window parameter work again
238         9c3142d Clean up eww code slightly
239         cb035f3 Don't insert nil faces in shr
240         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
241         93f2153 Improve the custom type of some user options.
242         9f60d7e Mark some risky calendar variables.
243         1d07dcd Highlight two additional SCSS keywords
244         ee8b466 Recommend enabling integrity-checking in git
245         e639e10 Some corrections in Elisp manual
246         d766ca8 Chatter when autogen.sh changes Git configuration
247         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
248         43cb9f8 Omit unnecessary history from Lisp intro
249         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
250         c90e1b4 Improve elisp “Security Considerations” doc
251         cedd7ca autogen.sh now arranges for git to check hashes
252         86ce76b ; Fix ChangeLog.2 commit ID.
253         7b1d2b1 Fix (c & 040) typo in emergency escapes
254         a8273da Fix display of overlay strings with 'display' and 'box' property
255         fc48106 Fix imap-starttls-open
256         cdecbed Fix return value of imap-starttls-open
257         20c7e34 ; * etc/NEWS: Fix renamed command name
258         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
259         b250d29 Spelling fix
260         b920a0e Spelling fixes
261         93b144b Pacify GCC on C library without glibc API
263 2016-02-04  John Wiegley  <johnw@newartisans.com>
265         Merge from origin/emacs-25
267         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
268                 priority of non-free Chrome.
269         0fac75f Improve the custom type of some user options.
270         2df0e04 Highlight CSS variables with variable name face
271         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
272                 user-serviceable.
273         2a5233c Mark some user options that can get evalled as risky.
274         39b166f Disable DebPrint in sys_read on MS-Windows
275         9fd0189 ;Fix ChangeLog entry
276         4bb7233 Fix typos in Introduction to Emacs Lisp manual
278 2016-02-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
280         Allow sending empty hidden values in eww
282         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
283         values (bug#22388).
285         (cherry picked from commit 5898da8210af7953e638ddf7821c05260979c3f0)
287         Backport:
289 2016-02-04  David Edmondson  <dme@dme.org>
291         Make erc work better when encountering unknown prefix chars
293         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
294         instead of erroring out on unknown prefix chars (bug#22380).
296 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
298         Add a new command to switch between erc buffers
300         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
301         * etc/NEWS: Mention new command
302         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
303         (eww-mode-map): Add menu item
304         (eww-switch-to-buffer): New command
306 2016-02-04  David Edmondson  <dme@dme.org>
308         Make erc work better when encountering unknown prefix chars
310         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
311         instead of erroring out on unknown prefix chars (bug#22380).
313 2016-02-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
315         Allow sending empty hidden values in eww
317         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
318         values (bug#22388).
320 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
322         Make erc completion case-insensitive again
324         * lisp/erc/erc.el (erc-completion-at-point): Make erc completion
325         case-insensitive again (bug#11360).
327 2016-02-04  Carlos Pita  <carlosjosepita@gmail.com>  (tiny change)
329         Make complection in erc use consistent casing
331         * lisp/erc/erc-pcomplete.el (pcomplete-erc-all-nicks): Make
332         case in the complection consistent (bug#18509).
334 2016-02-04  Francis Litterio  <flitterio@gmail.com>
336         Make /QUIT in erc more robust
338         * lisp/erc/erc.el (erc-kill-query-buffers): Don't bug out if we're
339         issuing /QUIT to disconnected servers (bug#22099).
341 2016-02-04  Kevin Brubeck Unhammer  <unhammer@fsfe.org>  (tiny change)
343         Make tracking faces in Emacs work more reliably
345         * lisp/erc/erc-track.el (erc-faces-in): Always return lists of
346         faces to avoid later ambiguity (bug#22424).
348 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
350         Make shr not bug out on images on non-graphical displays
352         * lisp/net/shr.el (shr-put-image): Don't bug out on alt-less
353         images on non-graphical displays (bug#22327).
355 2016-02-04  Andrew Hyatt  <ahyatt@gmail.com>
357         Remove packages obsoleted before Emacs 24.
359         In accordance with the policy discussed in the emacs-devel list,
360         packages that have been obsoleted for a full major release cycle are up
361         for deletion.
363         This removes almost all packages that are now eligible for deletion,
364         with the exception of "cl-compat", which seems it is likely to still be
365         used, and "optional", which offers some functionality that doesn't have
366         a replacement yet.
368 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
370         Fix bookmark display widths
372         * lisp/net/eww.el (eww-list-bookmarks): Pop to the buffer before
373         preparing it so that the widths are computed correctly (bug#22328).
375 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
377         Fix typo in eww-make-unique-file-name
379         * lisp/net/eww.el (eww-make-unique-file-name): Make this function
380         actually work.
382 2016-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
384         Make it possible to TAB to input fields
386         * lisp/net/eww.el (eww-tag-input): Make it possible to TAB to
387         input fields (bug#22540).
389 2016-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
391         Insert complete alt texts when images are disabled
393         * lisp/net/shr.el (shr-tag-img): When images are disabled, insert
394         the complete alt/title string (bug#22293).
396 2016-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
398         Allow eww text fields to grow
400         * lisp/net/eww.el (eww-process-text-input): Allow text fields to
401         grow when typing in stuff that's longer than the original width.
403 2016-02-03  Dima Kogan  <dima@secretsauce.net>
405         Make erc work when subword-mode is switched on
407         * lisp/erc/erc-backend.el (erc-forward-word, erc-word-at-arg-p)
408         (erc-bounds-of-word-at-point): New functions to do word-based
409         things when subword-mode is switched on.
411         * lisp/erc/erc-button.el (erc-button-add-nickname-buttons): Use them
412         (bug#17558).
414 2016-02-03  Teemu Likonen  <tlikonen@iki.fi>
416         Fix IMAP doc example
418         * doc/misc/gnus.texi (Client-Side IMAP Splitting): Fix example.
420 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
422         Quoting fixes in doc strings and diagnostics
424         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq, byte-compile-funcall):
425         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
426         (mml-smime-get-ldap-cert):
427         Follow user style preference when quoting diagnostics.
429 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
431         Mention context when resume from emergency escape
433         That way, if the user has been doing something else for a while,
434         they are reminded of the situation when restarting Emacs,
435         and are more likely to understand the two questions.
436         * doc/emacs/trouble.texi (Emergency Escape): Document this.
437         * src/keyboard.c (handle_interrupt): Implement this.
439 2016-02-03  Noam Postavsky  <npostavs@gmail.com>
441         Fix warning message in hack-local-variables
443         * lisp/files.el (hack-local-variables): use 'thisbuf' to reference
444         the original buffer name in the warning message.  (Bug#21681)
446 2016-02-03  Eli Zaretskii  <eliz@gnu.org>
448         Etags: yet another improvement in Ruby tags
450         * lib-src/etags.c (Ruby_functions): Handle continuation lines in
451         Ruby accessor definitions.  (Bug#22241)
453         * test/etags/ruby-src/test1.ru (A::B#X): Add some more tests for
454         accessors and multiline definitions.
455         * test/etags/ETAGS.good_1:
456         * test/etags/ETAGS.good_2:
457         * test/etags/ETAGS.good_3:
458         * test/etags/ETAGS.good_4:
459         * test/etags/ETAGS.good_5:
460         * test/etags/ETAGS.good_6:
461         * test/etags/CTAGS.good: Adapt to changes in Ruby tags.
463 2016-02-03  Eli Zaretskii  <eliz@gnu.org>
465         Fix x-popup-menu on TTYs without a mouse
467         * src/menu.c (Fx_popup_menu): Be sure to initialize 'x' and 'y'
468         for the TTY case without a mouse.  (Bug#22538)
470 2016-02-03  Nicolas Petton  <nicolas@petton.fr>
472         * lisp/emacs-lisp/map.el: Improvements to the docstring of the pcase macro
474 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
476         Port aligned_alloc decl to Cygwin.
478         Problem reported by Ken Brown (Bug#22522#38).
479         * configure.ac (aligned_alloc): Check for decl too.
480         * src/lisp.h (aligned_alloc): Declare if not already declared.
482 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
484         autogen.sh now configures git only on request
486         * autogen.sh (do_autoconf, do_git): New vars.
487         Support new arguments --help, all, autoconf, git.
488         By default, just do autoconf-related configuration, not git.
489         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
490         If GNU cp is available, use it to backup .git/config before
491         changing it.  When configuring git, chatter about what is being
492         done, and configure git to check hashes.  Avoid some duplicate
493         file name specification when creating git hooks.
495         * GNUmakefile (ALL_IF_GIT): New macro.
496         (configure): Use it.
497         * INSTALL.REPO: Suggest './autogen.sh all'.
499 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
501         Use pop-to-buffer-same-window in eww
503         * lisp/net/eww.el: pop-to-buffer-same-window throughout instead of
504         switch-to-buffer (bug#22244).
506 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
508         * autogen.sh: Revert all recent changes.
510 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
512         Build with C11 if available
514         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
515         * m4/std-gnu11.m4: New file, from gnulib.
516         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
518 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
520         Update gnulib copy
522         * doc/misc/texinfo.tex: Copy from gnulib.
524 2016-02-02  Glenn Morris  <rgm@gnu.org>
526         * make-dist: Updates related to nt/.
528         * make-dist: Add modules/.
530         * make-dist: Update for super-special file that can't live in etc/.
532 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
534         Fix failure to compile ns-win.el in parallel builds
536         * src/Makefile.in ($(lispsource)/term/ns-win.elc): Add order-only
537         dependency on $(lispsource)/international/charprop.el.
538         (Bug#22501)
540 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
542         Fix names of tags generated for Ruby accessors
544         * lib-src/etags.c (Ruby_functions): Don't include the leading
545         colon ':' in tags for Ruby accessors and aliases.  (Bug#22241)
547         * test/etags/ETAGS.good_1:
548         * test/etags/ETAGS.good_2:
549         * test/etags/ETAGS.good_3:
550         * test/etags/ETAGS.good_4:
551         * test/etags/ETAGS.good_5:
552         * test/etags/ETAGS.good_6:
553         * test/etags/CTAGS.good: Adapt to changes in Ruby tags.
555 2016-02-02  Glenn Morris  <rgm@gnu.org>
557         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
558         Doc tweaks.
560 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
562         Fix file-name recognition in 'etags'
564         * lib-src/etags.c (get_language_from_filename): If FILE includes a
565         leading directory, compare only its basename to the known file
566         names in lang_names[].
568         * test/etags/Makefile (RBSRC): Adapt to recent test1.ruby
569         renaming.
570         * test/etags/ETAGS.good_1:
571         * test/etags/ETAGS.good_2:
572         * test/etags/ETAGS.good_3:
573         * test/etags/ETAGS.good_4:
574         * test/etags/ETAGS.good_5:
575         * test/etags/ETAGS.good_6:
576         * test/etags/CTAGS.good: Adapt to changes in Ruby file names and
577         to the results in Makefile due to the above etags.c fix.
579 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
581         Change Ruby file names and extensions recognized by 'etags'
583         * lib-src/etags.c <Ruby_filenames>: New variable, holds names
584         of Ruby files.
585         <Ruby_suffixes>: Treat .rb, .ru, and .rbw as Ruby extensions.
586         <lang_names>: Add Ruby_filenames to the Ruby entry.
587         * test/etags/ruby-src/test1.ru: Renamed from test1.ruby.
588         (Bug#22241)
590 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
592         Port better to platforms lacking aligned_alloc
594         Problem reported by Ken Brown (Bug#22522).
595         * src/lisp.h (hybrid_aligned_alloc)
596         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
598 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
600         Port malloc.h hygiene fix to LTO
602         * src/alloc.c (__malloc_initialize_hook):
603         Make it externally visible (Bug#22522).
605 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
607         More improvements for Ruby support in 'etags'
609         * lib-src/etags.c (Ruby_functions): Tag Ruby accessors and
610         alias_method.  Identify constants even if the assignment is not
611         followed by whitespace.  (Bug#22241)
613         * test/etags/ruby-src/test1.ruby: Add tests for constants,
614         accessors, and alias_method.
615         * test/etags/ETAGS.good_1:
616         * test/etags/ETAGS.good_2:
617         * test/etags/ETAGS.good_3:
618         * test/etags/ETAGS.good_4:
619         * test/etags/ETAGS.good_5:
620         * test/etags/ETAGS.good_6:
621         * test/etags/CTAGS.good: Adapt to changes in Ruby tests.
623 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
625         Add --git-config option to autogen.sh
627         * autogen.sh: New options --git-config, --help.
628         (git_config): New shell var.  Alter function to respect this var.
630 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
632         Fix editing undo changes in eww fields
634         * eww.el (eww-tag-form): Don't overwrite initial form data in text
635         fields.
636         (eww-process-text-input): Make `M-t' at the end of text fields work
637         better (bug#19085).
639 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
641         Allow the user more control of popping up the eww window
643         * eww.el (eww): Use pop-to-buffer-same-window (suggested by
644         Michael Heerdegen) (bug#22244).
646 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
648         Make eww-browse-url with new-window parameter work again
650         * eww.el (eww-browse-url): Stay in the same buffer if we're
651         already in a eww mode buffer so that eww-browse-url with a
652         new-window parameter works (bug#22244).
654 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
656         Clean up eww code slightly
658         * eww.el (eww-browse-url): Clean up code slightly.
660 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
662         Don't insert nil faces in shr
664         * shr.el (shr-insert-table): Don't add nil faces, because that
665         will show up in *Messages* as "Invalid face reference: nil [32
666         times]".
668 2016-02-01  Glenn Morris  <rgm@gnu.org>
670         Make find-change-log prefer a VCS root, if no ChangeLog exists.
672         * lisp/vc/add-log.el (change-log-directory-files): New option.
673         (find-change-log): Respect change-log-directory-files.
674         * doc/emacs/maintaining.texi (Change Log Commands):
675         Mention change-log-directory-files.
677 2016-02-01  Glenn Morris  <rgm@gnu.org>
679         Improve the custom type of some user options.
681         * lisp/autoinsert.el (auto-insert-alist):
682         * lisp/replace.el (query-replace-from-to-separator):
683         * lisp/gnus/gnus-art.el (gnus-hidden-properties):
684         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-properties):
685         * lisp/gnus/gnus-picon.el (gnus-picon-properties):
686         * lisp/progmodes/prolog.el (prolog-keywords, prolog-types)
687         (prolog-mode-specificators, prolog-determinism-specificators)
688         (prolog-directives, prolog-program-name, prolog-program-switches)
689         (prolog-consult-string, prolog-compile-string, prolog-eof-string)
690         (prolog-prompt-regexp): Improve custom type.
692 2016-02-01  Glenn Morris  <rgm@gnu.org>
694         Mark some risky calendar variables.
696         * lisp/calendar/cal-china.el (chinese-calendar-time-zone):
697         Remove risky setting for deleted obsolete alias.
698         (calendar-chinese-standard-time-zone-name)
699         (calendar-chinese-daylight-saving-start)
700         (calendar-chinese-daylight-saving-end):
701         * lisp/calendar/calendar.el (calendar-iso-date-display-form)
702         (calendar-european-date-display-form)
703         (calendar-american-date-display-form, calendar-date-display-form):
704         * lisp/calendar/diary-lib.el (diary-remind-message)
705         (diary-header-line-format):
706         * lisp/calendar/solar.el (calendar-time-display-form)
707         (calendar-location-name): Mark as risky.
709 2016-02-01  Simen Heggestøyl  <simenheg@gmail.com>
711         Highlight two additional SCSS keywords
713         * lisp/textmodes/css-mode.el (css-bang-ids): New defconst holding CSS
714         identifiers on the form !foo.
715         (scss-bang-ids): New defconst holding SCSS identifiers on the form
716         !foo.
717         (css--font-lock-keywords): Highlight the new SCSS bang identifiers in
718         `font-lock-builtin-face'.
720         * test/indent/css-mode.css: Add bang rule test case.
722         * test/indent/scss-mode.css: Add test cases for the introduced bang
723         rules.
725 2016-02-01  Karl Fogel  <kfogel@red-bean.com>
727         Recommend enabling integrity-checking in git
729         * admin/notes/git-workflow:  Recommend setting transfer.fsckObjects.
731         This is related to the autogen.sh changes made by Paul Eggert in
732         commit d766ca8f (2016-02-01) and commit cedd7cad (2016-02-01), and to
733         my edits today to http://www.emacswiki.org/emacs/GitForEmacsDevs and
734         to emacswiki.org/emacs/GitQuickStartForEmacsDevs.  See also the thread
735         "Recommend these .gitconfig settings for git integrity." at
736         https://lists.gnu.org/archive/html/emacs-devel/2016-01/threads.html#01802.
738 2016-02-01  Martin Rudalics  <rudalics@gmx.at>
740         Some corrections in Elisp manual
742         * doc/lispref/buffers.texi (Read Only Buffers): Describe optional
743         argument POSITION.
744         * doc/lispref/debugging.texi (Error Debugging): `debug-on-signal'
745         is an option.
746         * doc/lispref/display.texi (Refresh Screen): Describe optional
747         argument FRAME of `redraw-frame'.
748         (Attribute Functions): Describe optional argument CHARACTER of
749         `face-font'.
750         (Defining Images): `image-load-path' is an option.
751         (Beeping): `ring-bell-function' is an option.
752         * doc/lispref/frames.texi (Size and Position): The PIXELWISE
753         argument of `set-frame-size' is optional.
754         (Raising and Lowering): The TERMINAL argument of `tty-top-frame'
755         is optional.
756         * doc/lispref/keymaps.texi (Controlling Active Maps): Fix doc of
757         `set-transient-map'.
758         * doc/lispref/minibuf.texi (Text from Minibuffer):
759         `read-regexp-defaults-function' is an option.
760         (Minibuffer Contents): `delete-minibuffer-contents' is a command.
761         * doc/lispref/modes.texi (Mode Line Variables):
762         `mode-line-position' and `mode-line-modes' are variables, not
763         options.
764         * doc/lispref/strings.texi (Creating Strings): The START argument
765         of `substring' is optional.
766         * doc/lispref/text.texi (Buffer Contents): Describe optional
767         argument NO-PROPERTIES of `thing-at-point'.
768         (User-Level Deletion): Both arguments of
769         `delete-trailing-whitespace' are optional.
770         (Margins): Use @key{RET} instead of @kbd{RET}.
771         * doc/lispref/windows.texi (Display Action Functions): Write
772         non-@code{nil} instead of non-nil.
773         (Choosing Window Options): The WINDOW arg of
774         `split-window-sensibly' is optional.
775         (Choosing Window Options): Write non-@code{nil} instead of
776         non-nil.
777         (Window Start and End): Both args of `window-group-end' are
778         optional.
780         * src/buffer.c (Fbarf_if_buffer_read_only): Rename argument POS
781         to POSITION to keep consisteny with doc-string.
783 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
785         Double static heap size.
787         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
788         small on FreeBSD (Bug#22086).
790 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
792         Chatter when autogen.sh changes Git configuration
794         * autogen.sh (git_config): New function.  Use it instead of ‘git config’.
796 2016-02-01  Kyle Meyer  <kyle@kyleam.com>
798         * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
800 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
802         Fix Bug#20821
804         * lisp/net/tramp.el (tramp-file-name-handler):
805         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
806         Use `tramp-drop-volume-letter'.  (Bug#20821)
808 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
810         Omit unnecessary history from Lisp intro
812         * doc/lispintro/emacs-lisp-intro.texi (Review, Digression into C)
813         (Conclusion): Reword so as not to talk about earlier versions
814         of Emacs in what should be an intro.
816 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
818         * etc/HISTORY: Add some more history, plus git tags.
820 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
822         Improve elisp “Security Considerations” doc
824         * doc/lispref/os.texi (Security Considerations):
825         Mention call-process and rename-file as opposed to shell commands.
826         Add some more cross-references.
828 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
830         autogen.sh now arranges for git to check hashes
832         Suggested by Karl Fogel in:
833         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01802.html
834         * autogen.sh: Do "git config transfer.fsckObjects true".
836 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
838         Add ability to give rcirc servers an alias name
840         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
841         customization option.
842         (rcirc, rcirc-connect): Take server alias into account.
844 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
846         Fix (c & 040) typo in emergency escapes
848         * src/keyboard.c (handle_interrupt): Fix recently-introduced
849         typo (040 should have been ~040) that silently suppressed
850         auto-saves after emergency escapes.  Redo comparison to avoid
851         similar problems.
853 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
855         Port new hybrid malloc to FreeBSD
857         Problem reported by Wolfgang Jenkner in: http://bugs.gnu.org/22086#118
858         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
859         (__morecore) [HYBRID_MALLOC]: Define in this case too.
861 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
863         * configure.ac: Stop using mmap for buffers for FreeBSD.
865 2016-01-31  Eli Zaretskii  <eliz@gnu.org>
867         Fix display of overlay strings with 'display' and 'box' property
869         * src/xdisp.c (get_next_display_element): Take the box face from
870         display stack level that comes from a buffer, not an overlay
871         string.  (Bug#22499)
873 2016-01-31  Andreas Schwab  <schwab@linux-m68k.org>
875         Fix imap-starttls-open
877         * lisp/net/imap.el (imap-starttls-open): Log imap process
878         output.  Call imap-parse-greeting.  (Bug#22500)
880 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
882         Merge changes from Tramp repository
884         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
885         No EXTRA_OPTS needed.
887         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
888         branch, especially for @trampfn{}.
889         (Top): Move @ifnottex down.
890         (History): XEmacs support has been removed.
891         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
892         (Auto-save and Backup): Use both syntax versions.
893         (File name Syntax): Remark on IPv6 adresses is valid for
894         unified syntax only.
896         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
898 2016-01-31  Andreas Schwab  <schwab@linux-m68k.org>
900         Fix return value of imap-starttls-open
902         * lisp/net/imap.el (imap-starttls-open): Fix return value.
904 2016-01-31  John Wiegley  <johnw@newartisans.com>
906         Correct reference to DARWIN_OS preprocessor symbol
908         * src/alloc.c: Correct a preprocessor reference to DARWIN_OS, which may
909           not be defined.
911 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
913         Spelling fixes
915         Spelling fix
917         Spelling fixes
919 2016-01-30  Glenn Morris  <rgm@gnu.org>
921         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
923 2016-01-30  Matthew Carter  <m@ahungry.com>
925         Quote table names for postgres listings (sql-mode)
927         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
928           unquoted table names to the completion list.
930 2016-01-30  Glenn Morris  <rgm@gnu.org>
932         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
934         * lisp/vc/smerge-mode.el (smerge-diff-switches)
935         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
936         (smerge-upper, smerge-upper-face, smerge-keep-upper)
937         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
938         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
939         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
940         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
941         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
942         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
943         Update all uses.
944         (smerge-basic-map): Add "l" and "u" bindings.
945         (smerge-mode-menu): Update menu bindings for renaming.
946         (smerge-font-lock-keywords): Update face names.
947         (smerge-match-names): Update names.
948         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
949         (smerge-match-conflict, smerge-ediff): Rename local variables.
950         (smerge-makeup-conflict): Relabel markers.
951         (smerge-parsep-re): Use renamed variables.
953 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
955         Port recent my_edata change to MS-Windows
957         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
959 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
961         Pacify GCC on C library without glibc API
963         Without this change, with --enable-gcc-warnings GCC would complain
964         “error: redundant redeclaration of ‘aligned_alloc’”.
965         * configure.ac: Simplify aligned_alloc testing.
966         * src/alloc.c (aligned_alloc): Don’t use if DARWIN_OS,
967         since the simplified configure.ac no longer checks for that.
968         Don’t declare if HAVE_ALIGNED_ALLOC.
969         Correct misspelling of HAVE_ALIGNED_ALLOC in ifdef.
971 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
973         Tell Automake the new lib/Makefile.am is OK
975         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
977 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
979         Make it easy to override preferred-branch test
981         * Makefile.in (preferred-branch-is-current):
982         Rename from emacs-25-branch-is-current.  All uses changed.
983         (PREFERRED_BRANCH): New macro.
985 2016-01-30  Glenn Morris  <rgm@gnu.org>
987         * lisp/net/browse-url.el (browse-url-default-browser):
988         Lower priority of non-free Chrome.
990 2016-01-30  Glenn Morris  <rgm@gnu.org>
992         Improve the custom type of some user options.
994         * lisp/desktop.el (desktop-minor-mode-table):
995         * lisp/man.el (Man-frame-parameters):
996         * lisp/midnight.el (midnight-delay):
997         * lisp/speedbar.el (speedbar-select-frame-method):
998         * lisp/tooltip.el (tooltip-frame-parameters):
999         * lisp/tree-widget.el (tree-widget-space-width):
1000         * lisp/type-break.el (type-break-keystroke-threshold):
1001         * lisp/woman.el (woman-imenu-generic-expression):
1002         * lisp/cedet/ede.el (ede-debug-program-function):
1003         * lisp/cedet/ede/project-am.el (project-am-debug-target-function):
1004         * lisp/emulation/viper-keym.el (viper-toggle-key):
1005         * lisp/erc/erc-networks.el (erc-server-alist):
1006         * lisp/gnus/message.el (message-deletable-headers, message-signature):
1007         * lisp/mail/mailalias.el (mail-directory-stream):
1008         * lisp/play/tetris.el (tetris-x-colors):
1009         * lisp/progmodes/gud.el (gud-tooltip-modes): Improve custom type.
1011 2016-01-30  Simen Heggestøyl  <simenheg@gmail.com>
1013         Highlight CSS variables with variable name face
1015         * lisp/textmodes/css-mode.el (css-nmstart-re): Don't match variables.
1016         (css--font-lock-keywords): Highlight variables in
1017         `font-lock-variable-name-face'.
1019 2016-01-30  Glenn Morris  <rgm@gnu.org>
1021         * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not user-serviceable.
1023 2016-01-30  Glenn Morris  <rgm@gnu.org>
1025         Mark some user options that can get evalled as risky.
1027         * lisp/allout.el (allout-title):
1028         * lisp/emacs-lisp/edebug.el (edebug-global-break-condition):
1029         * lisp/gnus/message.el (message-mailer-swallows-blank-line):
1030         * lisp/progmodes/gud.el (gud-tooltip-display):
1031         * lisp/vc/ediff-mult.el (ediff-default-filtering-regexp):
1032         Mark as risky.
1034 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
1036         Disable DebPrint in sys_read on MS-Windows
1038         * src/w32.c (sys_read): Disable a debugging print that is normal
1039         when non-blocking reads are retried.
1041 2016-01-30  Martin Rudalics  <rudalics@gmx.at>
1043         ;Fix ChangeLog entry
1045 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
1047         Fix typos in Introduction to Emacs Lisp manual
1049         * doc/lispintro/emacs-lisp-intro.texi (Emacs Initialization)
1050         (kill-new function, Digression into C)
1051         (Complete forward-sentence, Divide and Conquer, Find a File)
1052         (lengths-list-many-files, Columns of a graph, defcustom)
1053         (recursive-count-words): Fix typos.  Reported by Daniel Bastos
1054         <dbastos@toledo.com>.
1056 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1058         Shrink static heap a bit
1060         * src/sheap.h: Include lisp.h, for Lisp_Object.
1061         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
1062         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
1063         conservative than the old value.
1064         (Bug#22086)
1066 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1068         Fix extern symbols defined and not used
1070         * src/alloc.c: Always include <signal.h>.
1071         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
1072         Do not define; unused.
1073         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
1074         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
1075         to avoid collision with glibc.  Now static.  All uses changed.
1076         * src/lastfile.c (my_edata): Define only if
1077         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
1078         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
1079         (Bug#22086)
1081 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1083         Build lib/e-*.o only on platforms that need it
1085         * configure.ac (hybrid malloc): Simplify configuration.
1086         (SHEAP_OBJ): Remove; no longer needed.
1087         (HYBRID_MALLOC): New var. Subst it.
1088         (HYBRID_MALLOC_LIB): New Automake conditional.
1089         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
1090         HYBRID_MALLOC_LIB.
1091         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
1092         (MOSTLYCLEANFILES): Add libegnu.a.
1093         * src/Makefile.in (SHEAP_OBJ): Remove.
1094         (HYBRID_MALLOC): New macro.
1095         (base_obj): Use it to conditionally add sheap.o.
1096         (LIBEGNU_ARCHIVE): New macro.
1097         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
1098         All uses of the latter replaced by the former.
1099         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
1100         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
1101         * src/gmalloc.c: Update comment.
1102         * src/lisp.h (aligned_alloc)
1103         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
1104         New decl.
1105         (Bug#22086)
1107 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1109         Include <malloc.h> when advisable
1111         This should help insulate us better from future glibc changes.
1112         It is good hygiene to include .h files for APIs that Emacs uses.
1113         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
1114         * configure.ac: Check for malloc.h.
1115         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
1116         not on DOUG_LEA_MALLOC.
1117         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
1118         Remove decl (now in lisp.h).
1119         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
1120         [emacs]: Include lisp.h.
1121         [HAVE_MALLOC_H]: Include <malloc.h>.
1122         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
1123         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
1124         (__default_morecore):
1125         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
1126         (calloc): Make it clear that the macro should not be used.
1127         Remove unused decl.
1128         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
1129         (__morecore, __default_morecore, __after_morecore_hook)
1130         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
1131         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
1132         Remove later decls.
1133         (gmalloc_hook, gfree_hook, grealloc_hook):
1134         Rename from __malloc_hook, __free_hook, __realloc_hook to
1135         avoid type collision with glibc <malloc.h>.  All uses changed.
1136         (gmalloc_hook):
1137         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
1138         Now static.
1139         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
1140         (__malloc_initialize_hook, __after_morecore_hook):
1141         Declare with types compatible with glibc.
1142         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
1143         Remove.  All uses removed.
1144         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
1145         * src/ralloc.c, src/vm-limit.c:
1146         Simplify includes and include <malloc.h> if available.
1148 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1150         * src/alloc.c: Include "sheap.h".
1152         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
1153         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
1154         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
1155         Declare unconditionally.
1156         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
1157         (unexec): Don’t set or clear bss_sbrk_did_unexec;
1158         the caller now does this.
1159         (Bug#22086)
1161 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1163         Pacify --enable-gcc-warnings when HYBRID_MALLOC
1165         * src/buffer.c (init_buffer):
1166         * src/emacs.c (main):
1167         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
1168         Use emacs_get_current_dir_name, not get_current_dir_name.
1169         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
1170         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
1171         * src/emacs.c: Include "sheap.h".
1172         (report_sheap_usage): Remove decl.
1173         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
1174         Don't assume ptrdiff_t can be printed as int.
1175         * src/gmalloc.c [HYBRID_MALLOC]:
1176         Include "sheap.h" rather than declaring its contents by hand.
1177         (get_current_dir_name, gget_current_dir_name)
1178         (hybrid_get_current_dir_name): Remove.
1179         (emacs_abort): Remove duplicate decl.
1180         (aligned_alloc): Undef, like malloc etc.
1181         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
1182         Make it a bit more efficient.
1183         (malloc_find_object_address): Remove unused decl.
1184         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
1185         (mstats, memory_warnings): Declare only if GC_MCHECK.
1186         * src/lisp.h (emacs_get_current_dir_name):
1187         New decl, replacing get_current_dir_name.
1188         * src/sheap.c: Include sheap.h first.
1189         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
1190         (debug_sheap): Now static.
1191         (bss_sbrk_buffer_end): Remove; no longer used.
1192         (bss_sbrk_ptr): Now static and private.
1193         (bss_sbrk_did_unexec): Now bool.
1194         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
1195         (bss_sbrk): Don't treat request_size 0 as special, since the code
1196         works without this being a special case.
1197         Avoid overflow if request size exceeds INT_MAX.
1198         (report_sheap_usage): Remove; now done in emacs.c.
1199         * src/sheap.h: New file.
1200         * src/sysdep.c (get_current_dir_name): Remove macro.
1201         Include "sheap.h".
1202         (emacs_get_current_dir_name): Rename function from
1203         get_current_dir_name.  Handle HYBRID_MALLOC here;
1204         this is simpler.
1205         (Bug#22086)
1207 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1209         Report static heap usage on non-Cygwin, too
1211         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
1212         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
1213         on platforms other than Cygwin (Bug#22086).
1215 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1217         Pacify GCC on extern decls
1219         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
1220         to pacify recent GCC (Bug#22086).
1222 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
1224         Add musl patch to support HYBRID_MALLOC on elf systems
1226         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
1227         (__default_morecore): Here, in particular.
1228         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
1229         New variable SHEAP_OBJ.
1230         * src/Makefile.in: Use it.
1231         (Bug#22086)
1233 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
1235         unexelf.c hook to support HYBRID_MALLOC on ELF
1237         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
1238         Define bss_sbrk_did_unexec (Bug#22086).
1240 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
1242         Link temacs with gnulib compiled with -Demacs
1244         This is done to support HYBRID_MALLOC, since some static variables
1245         (e.g., last_environ in putenv.c) hold pointers to memory malloced
1246         before dumping (Bug#22086).
1247         * lib/Makefile.am: Add incantation to install libegnu.a.
1248         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
1249         (temacs$(EXEEXT)): Use it.
1251 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
1253         Internal linkage for gmalloc etc. if HYBRID_MALLOC
1255         This avoids clashes with symbols if the after-dump malloc is
1256         derived from Doug Lea's implementation (Bug#22086).
1258         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
1259         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
1260         declarations below to `static' ones.
1261         (aligned_alloc): Declare for !MSDOS as well.
1262         (heapsize, _fraghead): Move resp. copy declaration downwards.
1263         For HYBRID_MALLOC, conditionalize out the other definitions,
1264         since the previous `static' declarations double as tentative
1265         definitions, anyway.
1266         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
1267         (__realloc_hook, __memalign_hook): Conditionalize out.
1268         (cfree, memalign, valloc): Ditto.
1270 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1272         Merge from origin/emacs-25
1274         3f481ad Rename xref-query-replace to xref-query-replace-in-results
1275         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
1276         2111e0e Comment out next-error-function integration in xref
1277         4e11ad3 Correct a use of "which" in intro.texi
1278         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
1279         76045f7 Don't operate on menu bar of nonexistent frame
1280         c32f3bc Unbreak the GNUstep build.
1282 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
1284         Re-enable checks in member, memql, delete to complain about non-lists
1286         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
1288 2016-02-04  Martin Rudalics  <rudalics@gmx.at>
1290         Minor doc(-string) tweaks
1292         * lisp/window.el (window-in-direction): Fix doc-string typo.
1293         * doc/lispref/frames.texi (Frame Font): Mention canonical
1294         character width/height.
1295         * doc/lispref/windows.texi (Windows and Frames): Clarify
1296         handling of minibuffer window for `window-in-direction'.
1297         (Window Sizes): Minor tweaks in descriptions of
1298         `window-max-chars-per-line', `window-min-width' and
1299         `window-min-size'.
1300         (Deleting Windows): Minor tweak in `delete-window' description.
1301         (Selecting Windows): Clarify window use time description.
1302         (Cyclic Window Ordering): Minor tweak.
1303         (Switching Buffers): Clarify description of
1304         `switch-to-buffer-in-dedicated-window'.
1306 2016-02-04  Eli Zaretskii  <eliz@gnu.org>
1308         Remove some useless-use-of eval.
1310         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
1311         * lisp/gnus/nnrss.el (xml): Simply require it.
1312         (xml-rpc-method-call): Use declare-function.
1314 2016-01-28  Glenn Morris  <rgm@gnu.org>
1316         Don't use eval to quieten prolog.el compilation.
1318         * lisp/progmodes/prolog.el (pltrace-on, pltrace-off): Declare.
1319         (prolog-enable-sicstus-sd, prolog-disable-sicstus-sd): Don't use eval.
1321 2016-01-28  Glenn Morris  <rgm@gnu.org>
1323         Mark some risky prolog variables.
1325         * lisp/progmodes/prolog.el (prolog-system-version)
1326         (prolog-keywords, prolog-types, prolog-mode-specificators)
1327         (prolog-determinism-specificators, prolog-directives)
1328         (prolog-program-name, prolog-program-switches)
1329         (prolog-consult-string, prolog-compile-string)
1330         (prolog-eof-string, prolog-prompt-regexp, prolog-help-function):
1331         Mark anything processed by prolog-find-value-by-system as risky.
1333 2016-01-28  Glenn Morris  <rgm@gnu.org>
1335         * lisp/custom.el (defcustom): Doc fix.
1337         * doc/lispref/customize.texi (Variable Definitions):
1338         Defcustom should always have a type.
1340 2016-01-28  Glenn Morris  <rgm@gnu.org>
1342         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
1343         Warn if defcustom has no type.  (Bug#16276)
1345         * lisp/cedet/semantic/db-file.el (semanticdb-persistent-path):
1346         Fix :type.
1348         * lisp/emacs-lisp/package.el (package-load-list): Improve :type.
1350 2016-01-28  Michael Albinus  <michael.albinus@gmx.de>
1352         Fix Bug#22452
1354         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
1355         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
1356         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
1357         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
1358         Mark it as connected.
1360         * lisp/net/tramp.el (tramp-handle-file-remote-p): Check also, if
1361         connection property "connected" is set.  (Bug#22452)
1363 2016-01-27  Glenn Morris  <rgm@gnu.org>
1365         * test/lisp/vc/vc-hg.el: Move from test/automated/.
1367         * lisp/xwidget.el (xwidget-query-on-exit-flag): Declare.
1369         * lisp/xwidget.el (xwidget-webkit-browse-url): Give explicit error
1370         if not compiled with xwidgets.
1372 2016-01-26  Paul Eggert  <eggert@cs.ucla.edu>
1374         C-u C-x = example doc fix
1376         * doc/emacs/mule.texi (International Chars):
1377         Adjust example to match current behavior of C-u C-x =.
1379 2016-01-26  Paul Eggert  <eggert@cs.ucla.edu>
1381         malloc.h hygiene
1383         This attempts to future-proof Emacs a bit against possible glibc
1384         changes, by having Emacs use <malloc.h> declarations rather than
1385         coding them up by hand.  Problem noted by Florian Weimer in:
1386         https://sourceware.org/ml/libc-alpha/2016-01/msg00777.html
1387         Implement this mainly by moving malloc.h-related functions from
1388         emacs.c (which does not include <malloc.h>) to alloc.c (which does).
1389         * src/alloc.c (my_heap_start) [DOUG_LEA_MALLOC || GNU_LINUX]:
1390         New function.
1391         The remaining changes to this file apply only if DOUG_LEA_MALLOC.
1392         (alloc_unexec_pre, alloc_unexec_post): New functions.
1393         (malloc_initialize_hook): Use my_heap_start and alloc_unexec_post.
1394         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
1395         (__malloc_initialize_hook): Use it.
1396         (malloc_state_ptr, malloc_initialize_hook, __malloc_initialize_hook):
1397         Move here from ...
1398         * src/emacs.c: ... here.
1399         (malloc_get_state, malloc_set_state): Remove extern decls.
1400         (my_heap_start) [DOUG_LEA_MALLOC || GNU_LINUX]: Remove static var.
1401         All uses changed to similarly-named new function.
1402         (Fdump_emacs): Use new functions alloc_unexec_pre, alloc_unexec_post.
1403         * src/lisp.h (my_heap_start, alloc_unexec_pre, alloc_unexec_post):
1404         New decls.
1406 2016-01-26  Eli Zaretskii  <eliz@gnu.org>
1408         * doc/emacs/mark.texi (Using Region): Clarify wording.  (Bug#22467)
1410 2016-01-26  Paul Eggert  <eggert@cs.ucla.edu>
1412         Remove never-set var handle_user_signal_hook
1414         * src/keyboard.c, src/keyboard.h (handle_user_signal_hook):
1415         Remove never-set var.  All uses removed.
1417 2016-01-26  Anders Lindgren  <andlind@gmail.com>
1419         Fixed NextStep fullscreen issue (bug#22468)
1421         When in fullscreen mode, `[screen visibleFrame]' sometimes
1422         includes, sometimes excludes the menu bar. This could cause
1423         a frame to be placed too low when in fullscreen mode.
1425         * src/nsterm.m (ns_menu_bar_should_be_hidden): Trace.
1426         (constrain_frame_rect): New parameter, isFullscreen, when true don't
1427         query the height of the menu bar.
1428         (ns_constrain_all_frames): Pass `false' (isFullscreen) to
1429         `constrain_frame_rect'.
1430         ([EmacsView initFrameFromEmacs:]): Trace.
1431         ([EmacsView isFullscreen]): Trace.
1432         ([EmacsWindow constrainFrameRect:toScreen:]): Pass fullscreen
1433         state to `constrain_frame_rect'.
1435 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1437         * lisp/files.el: Use a fixed file name for the second dir-locals file
1439         (dir-locals-file): Revert to its original fixed value.
1440         (dir-locals-file-2): New const.
1441         (dir-locals--all-files): Don't use `file-name-all-completions'.
1442         Instead, just check for the 2 dir-locals files and return a list
1443         of the ones that exit (if any).
1445         * etc/NEWS: Document the change.
1447         * doc/emacs/custom.texi (Directory Variables): Document the change.
1449         * doc/lispref/variables.texi (Directory Local Variables): Update
1450         accordingly.
1452 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1454         * lisp/files-x.el (modify-dir-local-variable): Small rewrite
1456         Change a variable name to be more meaningful, and reorder some of
1457         the code with no change in behaviour.
1459 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1461         * lisp/files.el (dir-locals-find-file): Refactor return values
1463         Returning a cache remains unchanged, but the case of returning a
1464         file (or pattern) is now changed to return the contaning
1465         directory.
1467         (dir-locals-read-from-file): Rename to `dir-locals-read-from-dir'
1468         and make obsolete.
1469         (dir-locals-read-from-dir): Simplify accordingly.
1470         (hack-dir-local-variables): Simplify accordingly and rename a
1471         variable.
1473 2016-01-25  Glenn Morris  <rgm@gnu.org>
1475         * lisp/textmodes/flyspell.el (flyspell--prev-meta-tab-binding):
1476         Declare.
1478         * configure.ac (USE_CAIRO): Rename to more standard HAVE_CAIRO.
1480         * configure.ac (--with-cairo): Say it's experimental.
1482         * lisp/xwidget.el (xwidget-webkit-scroll-behavior):
1483         Rename using American spelling.  Update all uses.
1485 2016-01-25  Glenn Morris  <rgm@gnu.org>
1487         Yet more xwidget doc fixes.
1489         * lisp/xwidget.el (xwidget-webkit-scroll-behaviour)
1490         (xwidget-insert, xwidget-webkit-browse-url)
1491         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down)
1492         (xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward)
1493         (xwidget-webkit-insert-string, xwidget-webkit-show-named-element)
1494         (xwidget-webkit-show-id-element)
1495         (xwidget-webkit-show-id-or-named-element)
1496         (xwidget-webkit-adjust-size, xwidget-webkit-current-url)
1497         (xwidget-webkit-execute-script-rv)
1498         (xwidget-webkit-copy-selection-as-kill, xwidget-get)
1499         (xwidget-put):  Doc fixes.
1500         (xwidget-webkit-insert-string, xwidget-webkit-show-named-element)
1501         (xwidget-webkit-show-id-element)
1502         (xwidget-webkit-show-id-or-named-element): Prompt fixes.
1504 2016-01-25  Ted Zlatanov  <tzz@lifelogs.com>
1506         * lisp/gnus/gnus-art.el (gnus-blocked-images):
1507         Add explicit nil choice and tags.
1509 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1511         Spelling fixes
1513 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1515         (rng-c-fix-escaped-newlines): Use subst-char-in-string
1517         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
1518         Use subst-char-in-string.
1520 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1522         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
1524         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
1525         (sgml-calculate-indent): Use it.
1527 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1529         * lisp/org: Fix some compiler warnings
1531         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
1532         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
1533         (*this*): Declare as dyn-bound.
1534         (org-babel-expand-src-block, org-babel-load-in-session)
1535         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
1536         Mark unused args.
1537         (org-babel-combine-header-arg-lists): Remove unused var `args'.
1538         (org-babel-find-named-block): Remove unused var `msg'.
1540         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
1541         Declare as dyn-bound.
1542         (org-edit-src-code): Remove unused var `lfmt'.
1543         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
1545 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1547         * lisp/font-lock.el: Use #' to quote function symbols
1549 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1551         (font-lock-ensure-function): Fix bug#22399
1553         * lisp/font-lock.el (font-lock-ensure-function): Fix handling when
1554         font-lock-mode is not enabled (bug#22399).
1556 2016-01-25  Alan Mackenzie  <acm@muc.de>
1558         Expunge "allow" + infinitive from source and doc, part 2.
1560         Do the same for "permit", "enable", "prevent", and (where appropriate)
1561         "require".
1563         doc/misc/reftex.texi:
1564         doc/misc/url.texi:
1565         lib/get-permissions.c:
1566         lib/strftime.c:
1567         lisp/org/org-element.el:
1568         lisp/org/org-mobile.el:
1569         lisp/textmodes/reftex-vars.el:
1570         src/bidi.c:
1571         src/emacs.c:
1572         src/xdisp.c:
1573         test/etags/c-src/emacs/src/lisp.h:
1575         Expunge the likes of "This allows to do something" from the above files.
1577 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1579         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Redundant line
1581         `special-mode' is already read-only.
1583 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1585         * lisp/emacs-lisp/ert.el (ert--results-move): Change error to user-error
1587 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1589         Port "$@" to OpenIndiana ksh93
1591         In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html
1592         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
1593         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
1594         bug in long-dead shells, so remove the workaround.
1595         * admin/check-doc-strings, configure.ac, lib-src/rcs2log:
1596         Use plain "$@" rather than ${1+"$@"}.
1598 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1600         * src/xwidget.c (Fxwidget_set_adjustment): Fix doc string quoting typo.
1602 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1604         Improve wording for SMB support
1606         * doc/misc/tramp.texi (External methods): Improve and modernize
1607         wording for discussion of smbclient.  There is no longer any
1608         need to mention the laundry list of old MS Windows implementations
1609         of SMB and CIFS, nor to mention CIFS.  Also, give a URL for Samba.
1611 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1613         Merge from gnulib
1615         This incorporates:
1616         2016-01-24 openat_proc_name: fix last '/' overwritten on OS/2 kLIBC
1617         2016-01-24 closedir, dirfd, opendir: port to OpenSolaris 5.10
1618         2016-01-15 detect utimes() correctly on OS/2 kLIBC
1619         2016-01-15 openat_proc_name: port to OS/2 kLIBC
1620         2016-01-14 stdint: check _INTPTR_T_DECLARED for intptr_t etc.
1621         2016-01-14 opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
1622         2016-01-14 dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
1623         2016-01-14 binary-io: don't put fd in binary mode if a console on EMX
1624         2016-01-14 sig2str: list all signals on FreeBSD >= 7
1625         2016-01-13 acl-permissions: port to USE_ACL==0 platforms
1626         2016-01-12 mktime: rename macro to avoid glibc clash
1627         2016-01-12 Port "$@" to OpenIndiana ksh93
1628         2016-01-12 Port Universal Time settings to strict POSIX
1629         * build-aux/gitlog-to-changelog, build-aux/update-copyright:
1630         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
1631         * lib/binary-io.h, lib/dirent.in.h, lib/dirfd.c, lib/dup2.c:
1632         * lib/fcntl.c, lib/fdopendir.c, lib/mktime.c, lib/openat-proc.c:
1633         * lib/sig2str.h, lib/stdint.in.h, m4/dirfd.m4, m4/dup2.m4:
1634         * m4/fcntl.m4, m4/utimes.m4:
1635         Copy from gnulib.
1636         * m4/gnulib-comp.m4: Regenerate.
1638 2016-01-24  Alan Mackenzie  <acm@muc.de>
1640         Expunge "allow" + infinitive without direct object from source and doc.
1642         Do the same for "permit", "enable", and "prevent".
1644         * doc/emacs/mule.texi:
1645         * doc/lispref/control.texi:
1646         * doc/lispref/display.texi:
1647         * doc/lispref/frames.texi:
1648         * doc/lispref/functions.texi:
1649         * doc/lispref/nonascii.texi:
1650         * doc/lispref/streams.texi:
1651         * doc/lispref/windows.texi:
1652         * doc/misc/dbus.texi:
1653         * doc/misc/eww.texi:
1654         * doc/misc/flymake.texi:
1655         * doc/misc/octave-mode.texi:
1656         * doc/misc/org.texi:
1657         * doc/misc/reftex.texi:
1658         * doc/misc/tramp.texi:
1659         * doc/misc/wisent.texi:
1660         * etc/NEWS:
1661         * lisp/autorevert.el:
1662         * lisp/cedet/mode-local.el:
1663         * lisp/cedet/semantic/senator.el:
1664         * lisp/cedet/semantic/wisent.el:
1665         * lisp/dos-fns.el:
1666         * lisp/frameset.el:
1667         * lisp/gnus/gnus-agent.el:
1668         * lisp/gnus/mm-util.el:
1669         * lisp/international/characters.el:
1670         * lisp/ldefs-boot.el:
1671         * lisp/mail/mailclient.el:
1672         * lisp/man.el:
1673         * lisp/mh-e/mh-search.el:
1674         * lisp/net/tramp-cmds.el:
1675         * lisp/net/tramp-gvfs.el:
1676         * lisp/org/org-crypt.el:
1677         * lisp/org/org-element.el:
1678         * lisp/org/org-feed.el:
1679         * lisp/org/org.el:
1680         * lisp/org/ox-ascii.el:
1681         * lisp/org/ox-icalendar.el:
1682         * lisp/org/ox-publish.el:
1683         * lisp/org/ox.el:
1684         * lisp/play/gamegrid.el:
1685         * lisp/play/gomoku.el:
1686         * lisp/progmodes/antlr-mode.el:
1687         * lisp/progmodes/python.el:
1688         * lisp/progmodes/vhdl-mode.el:
1689         * lisp/strokes.el:
1690         * lisp/textmodes/ispell.el:
1691         * lisp/tree-widget.el:
1692         * lisp/vc/pcvs.el:
1693         * lisp/window.el:
1694         * src/lisp.h:
1695         * src/w32.c:
1696         * src/w32heap.c:
1697         * src/w32term.c:
1698         * src/window.c:
1699         * src/xfaces.c:
1701         Replace solecisms like "This allow to do something" with a correct
1702         alternative, such as "This allow you to do something", "This allows
1703         something to be done" or "This allows the doing of something".
1705 2016-01-24  l3thal  <kwhite@gnu.org>
1707         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
1709 2016-01-24  Kelvin White  <kwhite@gnu.org>
1711         Add NEWS entry for asynchronous reconnect in ERC
1713 2016-01-24  l3thal  <kwhite@gnu.org>
1715         Add NEWS entry for asynchronous reconnect in ERC
1717 2016-01-24  Kelvin White  <kwhite@gnu.org>
1719         browse-url.el: Add 'google-chrome' to supported browsers.
1721 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1723         Port Tramp manual to latest Texinfo
1725         Otherwise, 'make pdf' did not work (Bug#22416).
1726         * doc/misc/tramp.texi (xxx, yyy): Remove macros.
1727         (trampfn): Specialize to the case where METHOD is nonempty.
1728         The 2nd argument is now user@host, not 2nd user and 3rd host args.
1729         All uses changed.
1730         (trampf): New macro.
1732 2016-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
1734         * eww.el (eww-render): Protect against empty content-types.
1736 2016-01-24  Nicolas Petton  <nicolas@petton.fr>
1738         authors.el updates
1740         * admin/authors.el (authors-ignored-files, authors-renamed-files-alist):
1741           Additions.
1743 2016-01-23  Dmitry Gutov  <dgutov@yandex.ru>
1745         Rename xref-query-replace to xref-query-replace-in-results
1747         * lisp/progmodes/xref.el(xref-query-replace):
1748         Rename to xref-query-replace-in-results.
1749         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01240.html)
1751         * lisp/progmodes/xref.el (xref--xref-buffer-mode-map):
1752         * lisp/dired-aux.el (dired-do-find-regexp-and-replace):
1753         * doc/emacs/dired.texi (Operating on Files):
1754         * doc/emacs/maintaining.texi (Xref Commands)
1755         (Identifier Search, Identifier Search): Update accordingly.
1757 2016-01-23  Dmitry Gutov  <dgutov@yandex.ru>
1759         Update cl-defgeneric and cl-defmethod docstrings
1761         * lisp/emacs-lisp/cl-generic.el: Remove outdated TODO item.
1762         (cl-defgeneric): Rename BODY to DEFAULT-BODY.
1763         (cl-defmethod): Mention that multiple dispatch arguments are
1764         allowed.  Document supported types.  (Bug#22336)
1766 2016-01-23  Dmitry Gutov  <dgutov@yandex.ru>
1768         Comment out next-error-function integration in xref
1770         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
1771         Comment out next-error-function integration
1772         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01286.html).
1774 2016-01-23  John Wiegley  <johnw@newartisans.com>
1776         Correct a use of "which" in intro.texi
1778 2016-01-23  Alan Mackenzie  <acm@muc.de>
1780         Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
1782         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 14): Check the
1783         context of case labels (including "default") more rigorously.
1784         (c-guess-basic-syntax CASE 15): Consequential amendment.
1786         * lisp/progmodes/cc-langs.el (c-modifier-kwds): Add "default" to Java's value.
1788 2016-01-23  Oscar Fuentes  <ofv@wanadoo.es>
1790         Don't operate on menu bar of nonexistent frame
1792         * src/xfns.c (Fx_hide_tip) [USE_LUCID]: Check that the current frame
1793         is valid before redisplaying its menu. Fixes bug#22438.
1795 2016-01-23  Anders Lindgren  <andlind@gmail.com>
1797         Unbreak the GNUstep build.
1799         * src/nsterm.m ([EmacsBell init]): In GNUstep, don't use the
1800         predefined "caution" image. Add trace.
1801         (x_set_window_size): Remove unused variables `cols' and `rows'.
1802         (ns_draw_fringe_bitmap): Exclude assignment of `fromRect' when
1803         GNUstep is used.
1804         ([EmacsView updateFrameSize:]): Remove unused variable `win'.
1805         ([EmacsWindow zoom:]): Remove unused variable `f'.
1807 2016-01-23  Eli Zaretskii  <eliz@gnu.org>
1808             John Wiegley  <johnw@gnu.org>
1809             Michael Heerdegen  <michael_heerdegen@web.de>
1811         Improve documentation of 'pcase'
1813         * doc/lispref/control.texi (Pattern matching case statement):
1814         Reorganize, expand, and improve wording.
1816         * etc/NEWS: Mention that 'pcase' changes are documented.
1818 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1820         * etc/NEWS: Say that Cairo is experimental.
1822 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1824         Report error for PNG under Cairo
1826         * src/image.c (lookup_rgb_color): Signal a file error instead
1827         of dumping core when mishandling an image.
1829 2016-01-23  Arash Esbati  <esbati@gmx.de>
1831         Delete a spurious backquote (tiny change)
1833         * lisp/textmodes/reftex-ref.el (reftex-label): Delete a
1834         spurious backquote which raises an error with emacs 25.
1836 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1838         Pacify --enable-gcc-warnings --with-cairo
1840         Problem reported by Alexander Kuleshov in:
1841         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01289.html
1842         * src/gtkutil.c (xg_get_page_setup):
1843         Use switch rather than if-then-else.
1844         * src/image.c (COLOR_TABLE_SUPPORT):
1845         Define directly rather than via #define and optional later #undef.
1846         (lookup_rgb_color) [USE_CAIRO && ENABLE_CHECKING]:
1847         Crash when the pixel is undefined, as there is a genuine bug
1848         here (Bug#22442).
1849         * src/image.c (tiff_load, gif_load, svg_load_image)
1850         (x_kill_gs_process) [USE_CAIRO]:
1851         * src/xterm.c (x_draw_fringe_bitmap) [USE_CAIRO]:
1852         Omit unused locals, or move them to where they’re needed.
1853         (x_clear_area1): Now ATTRIBUTE_UNUSED.
1855 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
1857         Update documentation for Dired search and replace
1859         * doc/emacs/dired.texi (Operating on Files): Update descriptions
1860         of 'A' and 'Q' now bound to 'dired-do-find-regexp' and
1861         'dired-do-find-regexp-and-replace'.
1863         * etc/NEWS: Mention xref-related changes in Dired.
1865 2016-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1867         Port recent xdisp.c fix to picky C compilers
1869         * src/xdisp.c (dump_glyph): Redo the call to fprintf to avoid
1870         putting #if inside the arguments to a standard function, which
1871         the C standard says has undefined behavior.
1873 2016-01-22  Alan Mackenzie  <acm@muc.de>
1875         Prevent spurious recognition of K&R argument declarations.  Fixes bug #2203
1877         * cc-engine.el (c-forward-declarator): New function.
1878         (c-in-knr-argdecl): Before recognizing a K&R argument declaration, check it is
1879         contained in the preceding arg list.
1881         * cc-fonts.el (c-font-lock-declarators): Use the new function
1882         `c-forward-declarator' in place of inline code.
1884 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
1886         Fix the build with --enable-checking=glyphs
1888         * src/xdisp.c (dump_glyph): Don't refer to glyph->u.xwidget in a
1889         build without xwidget support.
1891 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
1893         Document cl-generic.el
1895         * doc/lispref/functions.texi (Generic Functions): New section.
1896         (Bug#22336)
1897         (Functions): Update the chapter menu.
1898         * doc/lispref/elisp.texi: Update the master menu.
1900 2016-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1902         xwidgets style cleanup
1904         Adjust the newly-added Xwidgets code so that it uses a more-typical
1905         Emacs style.  This should not affect behavior, except that in
1906         a few places it adds runtime checks that Lisp arguments are of
1907         the proper type, and in one place it uses more-precise arithmetic.
1908         * src/buffer.c, src/dispnew.c, src/emacs.c, src/emacsgtkfixed.c:
1909         * src/emacs.c, src/print.c, src/window.c, src/xdisp.c, src/xterm.c:
1910         Include xwidget.h unconditionally.
1911         * src/buffer.c (Fkill_buffer):
1912         * src/dispnew.c (update_window):
1913         * src/emacs.c (main):
1914         * src/print.c (print_object):
1915         * src/window.c (Fdelete_window_internal):
1916         * src/xdisp.c (handle_single_display_spec, push_it, pop_it)
1917         (get_next_element, set_iterator_to_next, next_element_from_xwidget)
1918         (dump_glyph, calc_pixel_width_or_height, BUILD_GLYPH_STRINGS_XW)
1919         (BUILD_GLYPH_STRINGS, x_produce_glyphs, get_window_cursor_type):
1920         * src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
1921         Call xwidget functions and macros without worrying about
1922         HAVE_XWIDGETS when the code is a no-op on non-xwidget
1923         platforms.
1924         * src/dispextern.h (XWIDGET_GLYPH, struct glyph_string.xwidget)
1925         (IT_XWIDGET, GET_FROM_XWIDGET, struct it.u.xwidget)
1926         (struct it.xwidget):
1927         * src/lisp.h (PVEC_XWIDGET, PVEC_XWIDGET_VIEW):
1928         Always define.
1929         * src/emacsgtkfixed.h: Omit unnecessary comment.
1930         * src/keyboard.c: Fix spacing.
1931         * src/xdisp.c (BUILD_XWIDGET_GLYPH_STRING, produce_xwidget_glyph):
1932         Define to be a no-op if not HAVE_XWIDGETS.
1933         * src/xwidget.c: Include xwidget.h first (after config.h)
1934         to make sure that it can stand by itself.
1935         (Fmake_xwidget, Fxwidget_webkit_execute_script):
1936         Fix typo in doc string.
1937         (Fmake_xwidget): Check type of args.
1938         (Fmake_xwidget, offscreen_damage_event)
1939         (webkit_document_load_finished_cb, webkit_download_cb)
1940         (webkit_new_window_policy_decision_requested_cb)
1941         (webkit_navigation_policy_decision_requested_cb)
1942         (xwidget_osr_draw_cb, xwidget_osr_event_forward)
1943         (xwidget_osr_event_set_embedder, xwidget_init_view):
1944         Omit unnecessary casts.
1945         * src/xwidget.c (Fmake_xwidget, xwidget_hidden)
1946         (xwidget_show_view, xwidget_hide_view)
1947         (x_draw_xwidget_glyph_string, xwidget_start_redisplay, xwidget_touch)
1948         (xwidget_touched):
1949         * src/xwidget.h (struct xwidget.kill_without_query)
1950         (struct xwidget_view.redisplayed, struct xwidget_view.hidden):
1951         Use bool for boolean.
1952         * src/xwidget.c (store_xwidget_event_string, Fxwidget_size_request):
1953         Simplify by using list functions.
1954         (WEBKIT_FN_INIT): Omit unnecessary test for nil.
1955         (Fxwidget_resize): Check type of integer args
1956         before doing any work.  Check that they are nonnegative.
1957         (Fxwidget_set_adjustment): Check type of integer arg.
1958         Avoid redundant call to gtk_scrolled_window_get_vadjustment.
1959         Simplify.  Use double, not float.
1960         (Fxwidget_info, Fxwidget_view_info): Simplify by using CALLN.
1961         (valid_xwidget_spec_p): Simplify.
1962         (xwidget_spec_value): Omit unused arg FOUND.  All callers changed.
1963         * src/xwidget.h: Include lisp.h first, so that includers do
1964         not need to worry about doing that before including this file.
1965         Make this .h file safe to include even on non-HAVE_XWIDGETS
1966         configurations, to simplify the includers.
1967         (x_draw_xwidget_glyph_string, syms_of_xwidget, valid_xwidget_spec_p)
1968         (xwidget_end_redisplay, lookup_xwidget)
1969         (xwidget_view_delete_all_in_window, kill_buffer_xwidgets):
1970         Now a no-op if !HAVE_XWIDGETS, to simplify callers.
1971         (struct glyph_matrix, struct glyph_string, struct xwidget)
1972         (struct xwidget_view, struct window):
1973         New forward or incomplete decls, so that includers need not
1974         assume the corresponding .h files are already included, or that
1975         HAVE_XWIDGETS is defined.
1976         (struct xwidget_type, xwidget_from_id): Remove; unused.
1978 2016-01-22  John Wiegley  <johnw@newartisans.com>
1980         Further corrections to the pcase docstring
1982 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
1984         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 25.
1986 2016-01-21  Stephen Leake  <stephen_leake@stephe-leake.org>
1988         In xref-collect-references, force backends to respect the 'dir' arg
1990         * lisp/progmodes/xref.el (xref-collect-references): Force symref backends
1991         to use `default-directory'.
1993 2016-01-21  John Wiegley  <johnw@newartisans.com>
1995         Minor correction to pcase docstring
1997 2016-01-21  John Wiegley  <johnw@newartisans.com>
1999         Write a new docstring for the pcase macro
2001         * lisp/emacs-lisp/pcase.el (pcase): Write a new docstring.
2003 2016-01-21  Stephen Berman  <stephen.berman@gmx.net>
2005         Avoid byte-compiler warning in todo-mode (bug#21953)
2007         * todo-mode.el (todo-convert-legacy-files): Add limit argument
2008         to looking-back to comply with advertised-calling-convention.
2010 2016-01-21  Stephen Berman  <stephen.berman@gmx.net>
2012         Fix desktop support in todo-mode and doc-view (bug#22377)
2014         * lisp/calendar/todo-mode.el (todo-restore-desktop-buffer):
2015         * lisp/doc-view.el (doc-view-restore-desktop-buffer): Return current buffer.
2017         * lisp/calendar/todo-mode.el (todo-modes-set-2):
2018         * lisp/doc-view.el (doc-view-mode): Set desktop-save-buffer unconditionally.
2020 2016-01-20  Paul Eggert  <eggert@cs.ucla.edu>
2022         No need to configure gobject-introspection
2024         It wasn’t needed for the recently-installed xwidget_mvp code; see:
2025         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01154.html
2026         * configure.ac (DOES_XWIDGETS_USE_GIR, GIR_REQUIRED, GIR_MODULES):
2027         (HAVE_GIR):
2028         * src/Makefile.in (GIR_LIBS, GIR_CFLAGS):
2029         Remove.  All uses removed.
2030         * configure.ac (emacs_config_features): Don’t worry about GIR.
2032 2016-01-20  Paul Eggert  <eggert@cs.ucla.edu>
2034         Don’t export C symbols not used elsewhere
2036         These were recently added, mostly as part of xwidget code.
2037         * src/emacsgtkfixed.c (emacs_fixed_get_type): Now static.
2038         (EMACS_FIXED, EMACS_FIXED_GET_CLASS):
2039         Now static functions here, not macros in emacsgtkfixed.h.
2040         * src/emacsgtkfixed.h (EMACS_TYPE_FIXED):
2041         Remove.  All uses replaced by definiens.
2042         (EMACS_FIXED, EMACS_FIXED_GET_CLASS):
2043         Remove; these are now static functions in emacsgtkfixed.c.
2044         (EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS):
2045         Remove; unused.
2046         (emacs_fixed_get_type): Remove decl; no longer extern.
2047         * src/xwidget.c (offscreen_damage_event)
2048         (webkit_mime_type_policy_typedecision_requested_cb)
2049         (webkit_new_window_policy_decision_requested_cb)
2050         (webkit_navigation_policy_decision_requested_cb)
2051         (xwidget_spec_value, xwidget_view_lookup)
2052         (xwidget_start_redisplay, xwidget_touch):
2053         Now static.
2054         * src/xwidget.h (xwidget_start_redisplay, xwidget_touch):
2055         Remove decls.
2057 2016-01-20  Dmitry Gutov  <dgutov@yandex.ru>
2059         Support squiggly heredocs in ruby-mode
2061         * lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re):
2062         Support squiggly heredocs added in Ruby 2.3.
2064         * test/indent/ruby.rb: Add squiggly example.
2066 2016-01-20  Glenn Morris  <rgm@gnu.org>
2068         * configure.ac (emacs_config_features): Remove WEBKIT.
2070 2016-01-20  Paul Eggert  <eggert@cs.ucla.edu>
2072         Port to platforms with gtk3 but not webkitgtk3
2074         I ran into this problem on my Fedora 23 installation;
2075         Emacs configured but did not build when --with-xwidgets was specified.
2076         * configure.ac (HAVE_WEBKIT, HAVE_GIR): Omit unnecessary initializations.
2077         (DOES_XWIDGETS_USE_GIR): New var.
2078         If --with-xwidgets is specified, report an error if not
2079         doable, to be consistent with the other --with options.
2080         Require webkitgtk3 to use Xwidgets, as the Xwidgets code does
2081         not work at all without webkitgtk3.  Simplify use of
2082         EMACS_CHECK_MODULES.  Output message about gobject
2083         introspection only if xwidgets are used.
2084         * etc/NEWS: Users need webkitgtk3, not merely webkit.
2085         * src/xwidget.c (syms_of_xwidget): Don’t worry about HAVE_WEBKIT_OSR,
2086         since this file is no longer compiled if webkitgtk3 is not available.
2088 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
2090         Fix doc string of 'isearch-search-fun-function'
2092         * lisp/isearch.el (isearch-search-fun-function)
2093         (isearch-search-string): Doc fixes.  (Bug#22411)
2095 2016-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2097         * lisp/xwidget.el: Nitpicks
2099         * lisp/xwidget.el (xwidget-log, xwidget-webkit-callback):
2100         Use with-current-buffer rather than save-excursion + set-buffer.
2102 2016-01-19  Glenn Morris  <rgm@gnu.org>
2104         Don't hard-code 1 as point-min.
2106         * lisp/image-mode.el (image-display-size):
2107         * lisp/xwidget.el (xwidget-webkit-last-session)
2108         (xwidget-webkit-current-session): Don't hard-code 1 as point-min.
2110 2016-01-19  Glenn Morris  <rgm@gnu.org>
2112         * lisp/xwidget.el: Add declarations to silence non-xwidget compilation.
2114 2016-01-19  Glenn Morris  <rgm@gnu.org>
2116         Trivial doc copyedits.
2118         * src/xwidget.c (Fmake_xwidget, Fget_buffer_xwidgets)
2119         (Fxwidget_webkit_get_title, Fxwidget_resize)
2120         (Fxwidget_set_adjustment, Fxwidgetp, Fxwidget_view_p)
2121         (Fxwidget_info, Fxwidget_view_lookup)
2122         (Fset_xwidget_query_on_exit_flag): Trivial doc copyedits.
2124 2016-01-19  Glenn Morris  <rgm@gnu.org>
2126         Avoid advising image-display-size for xwidgets.
2128         * lisp/xwidget.el (xwidget-image-display-size): Remove.
2129         (image-display-size): Remove advice.
2130         * lisp/image-mode.el (xwidget-info, xwidget-at): Declare.
2131         (image-display-size): Incorporate xwidget code directly.
2133 2016-01-19  Glenn Morris  <rgm@gnu.org>
2135         Avoid breaking non-xwidget Emacs that happen to load xwidget.el.
2137         * lisp/xwidget.el (window-configuration-change-hook)
2138         (kill-buffer-query-functions): Only modify these hooks if
2139         compiled with xwidget support.
2141 2016-01-19  Glenn Morris  <rgm@gnu.org>
2143         * lisp/xwidget.el (xwidget-webkit-scroll-behaviour): Fix custom spec.
2145         * configure.ac (WEBKIT, GIR, CAIRO): Use EMACS_CHECK_MODULES, not PKG_.
2147         * configure.ac (emacs_config_features): Add XWIDGETS, WEBKIT, GIR.
2149         * configure.ac (HAVE_WEBKIT_OSR): Remove broken, duplicated gtk3 test.
2151 2016-01-19  Katsumi Yamaoka  <yamaoka@jpl.org>
2153         * lisp/gnus/nnir.el (nnir-request-update-mark):
2154         Default to the original mark.
2155         cf. <http://thread.gmane.org/gmane.emacs.gnus.general/86583>
2156         and <http://thread.gmane.org/gmane.emacs.gnus.general/86640>
2158 2016-01-19  Glenn Morris  <rgm@gnu.org>
2160         * lisp/xwidget.el (report-xwidget-bug): Remove.
2162         (top-level): No longer require reporter.
2164 2016-01-19  Joakim Verona  <joakim@verona.se>
2165             Grégoire Jadi  <daimrod@gmail.com>
2167         Support for the new Xwidget feature.
2169         * configure.ac:
2170         (HAVE_XWIDGETS, WIDGET_OBJ, EMACS_CONFIG_FEATURES):
2171         * xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
2172         * xdisp.c:
2173         (handle_display_spec, handle_single_display_spec, push_it)
2174         (pop_it, set_iterator_to_next, dump_glyph)
2175         (calc_pixel_width_or_height, fill_xwidget_glyph_string)
2176         (BUILD_XWIDGET_GLYPH_STRING, BUILD_GLYPH_STRINGS)
2177         (produce_xwidget_glyph, x_produce_glyphs)
2178         (get_window_cursor_type):
2179         * window.c (Fdelete_window_internal):
2180         * termhooks.h (e):
2181         * print.c (print_object):
2182         * lisp.h (ptrdiff_t):
2183         * keyboard.c (kbd_buffer_get_event, make_lispy_event)
2184         (syms_of_keyboard):
2185         * emacs.c (main):
2186         * dispnew.c (update_window, scrolling_window):
2187         * dispextern.h (g, i):
2188         * Makefile.in (XWIDGETS_OBJ, WEBKIT_CFLAGS, WEBKIT_LIBS)
2189         (GIR_LIBS, ALL_CFLAGS, base_obj, LIBES):
2190         * keyboard.c (kbd_buffer_get_event):
2191         * emacsgtkfixed.c (emacs_fixed_gtk_widget_size_allocate)
2192         (emacs_fixed_class_init): Add case for an xwidget view.
2194         * xwidget.c, xwidget.h, xwidget.el: New files for xwidgets
2197         Various improvements to the Xwidget feature.
2198         * xwidgets.c:
2199         * emacsgtkfixed.c:
2200         * xwidget.el:
2202 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
2204         Improve documentation of 'alist-get'
2206         * doc/lispref/variables.texi (Setting Generalized Variables): Add
2207         'alist-get' to the list of functions that can appear in PLACE
2208         argument of 'setf'.
2210 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
2212         Minor copyedits of doc/emacs/maintaining.texi
2214         * doc/emacs/maintaining.texi (List Identifiers): More accurate
2215         description of "C-M-i" wrt tags tables.
2216         (Tags Tables): Move the definition of "tag" to a footnote.
2218 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
2220         Unbreak the Cygwin-w32 build
2222         * src/w32fns.c (globals_of_w32fns): Move the initialization of
2223         resetstkoflw into a part that isn't compiled on Cygwin.
2224         (Bug#22403)
2226 2016-01-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2228         * shr.el (shr-table-body): Allow tables to have text children.
2230 2016-01-19  Phillip Lord  <phillip.lord@russet.org.uk>
2232         Cope with multiple overlapping faces.
2234         * lisp/htmlfontify.el (hfy-face-to-style-i): Treat inheritance right to
2235           left.
2236           (hfy-face-resolve-face): Handle font specification as well as font
2237           name. Documentation update. (Bug#21990)
2239 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
2241         Fix spurious escapes in describe-input-method
2243         Problem reported by Vincent Belaïche (Bug#22309).
2244         * lisp/international/mule-cmds.el (describe-language-environment):
2245         * lisp/international/quail.el (quail-help):
2246         Apply substitute-command-keys to doc strings before displaying them.
2248 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2250         Bump version to 25.0.90
2252         * README:
2253         * configure.ac:
2254         * msdos/sed2v2.inp: Bump version to 25.0.90.
2256 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2258         * etc/AUTHORS: Update the AUTHORS file
2260 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2262         authors.el updates
2264         * admin/authors.el (authors-renamed-files-alist): Additions.
2266 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2268         Make it possible to run make change-history on emacs-25
2270         * Makefile.in: Check if the current branch is emacs-25 instead of
2271           master.
2273 2016-01-30  lu4nx  <lx@shellcodes.org>
2275         Support Go language in 'etags'
2277         * lib-src/etags.c <Ruby_help>: Fix documentation of Ruby tags.
2278         <Go_help>: New help.
2279         <Go_suffixes>: New variable.
2280         (Go_functions): New function.
2281         <lang_names>: Add entry for Go.  (Bug#22370)
2283         * doc/emacs/maintaining.texi (Tag Syntax): Document Go support.
2284         * doc/man/etags.1: Mention Go support.
2286         * etc/NEWS: Mention Go support.
2288         * test/etags/go-src/test.go:
2289         * test/etags/go-src/test1.go: New test files.
2290         * test/etags/Makefile (GOSRC): New variable.
2291         (SRCS): Add $(GOSRC).
2292         * test/etags/ETAGS.good_1:
2293         * test/etags/ETAGS.good_2:
2294         * test/etags/ETAGS.good_3:
2295         * test/etags/ETAGS.good_4:
2296         * test/etags/ETAGS.good_5:
2297         * test/etags/ETAGS.good_6:
2298         * test/etags/CTAGS.good: Adapt to addition of Go tests.
2300 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
2302         Improve Ruby support in 'etags'
2304         * lib-src/etags.c (Ruby_functions): Tag constants.  Don't tag
2305         singleton classes.  Remove class qualifiers from tags generated
2306         for method and constant names.  (Bug#22241)
2308         * doc/emacs/maintaining.texi (Tag Syntax): Mention that constants
2309         are tagged by etags in Ruby.
2311         * etc/NEWS: Mention that constants are tagged by etags in Ruby.
2313         * test/etags/ruby-src/test1.ruby: Add more tests.
2314         * test/etags/ETAGS.good_1:
2315         * test/etags/ETAGS.good_2:
2316         * test/etags/ETAGS.good_3:
2317         * test/etags/ETAGS.good_4:
2318         * test/etags/ETAGS.good_5:
2319         * test/etags/ETAGS.good_6:
2320         * test/etags/CTAGS.good: Adapt to the changes in etags and in Ruby
2321         tests.
2323 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
2325         Adjust etags test results to changes in copyright years
2327         * test/etags/CTAGS.good:
2328         * test/etags/ETAGS.good_1:
2329         * test/etags/ETAGS.good_2:
2330         * test/etags/ETAGS.good_3:
2331         * test/etags/ETAGS.good_4:
2332         * test/etags/ETAGS.good_5:
2333         * test/etags/ETAGS.good_6: Adjust to shift in characters and
2334         in line numbers.
2336 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
2338         Revert "Re-enable checks in member, memql, delete to complain about non-lists"
2340         This reverts commit f524e8b7f12d9b5a8b92084e5385429fe7b085b9.
2342 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2344         Make it possible to run make change-history on emacs-25
2346         * Makefile.in: Check if the current branch is emacs-25 instead of
2347           master.
2349 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
2351         Don't fiddle with DEFAULT
2353         * lisp/progmodes/project.el (project--completing-read-strict):
2354         Don't change DEFAULT, whether is has any matches in
2355         COLLECTION, or not.
2357 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
2359         Document xwidget commands and functions
2361         * doc/lispref/display.texi (Xwidgets): New section, describes some
2362         of the xwidget primitives.
2363         * doc/lispref/display.texi (Display): Update the chapter menu.
2364         * doc/emacs/misc.texi (Embedded WebKit Widgets): New section.
2365         * doc/emacs/emacs.texi (Top): Update the master menu to include
2366         the xwidget node.
2368 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
2370         Build fix for shr.el
2372         * shr.el (seq): Require.
2374 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
2376         Improve project-find-file yet again!
2378         * lisp/progmodes/project.el (project--completing-read-strict):
2379         New function.
2380         (project-find-file-in): Use it.
2381         (project-file-completion-table): Move the default
2382         implementation inside the cl-defgeneric form.
2383         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01720.html)
2385 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
2387         Don't pass DIR to 'hg status'
2389         * lisp/vc/vc-hg.el (vc-hg-dir-status-files):
2390         Don't pass DIR to 'hg status' (bug#22481).
2392 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
2394         Fix typo in previous commits
2396         * lisp/progmodes/project.el (project-find-file-in):
2397         * lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): Fix typo in previous
2398         commit.
2400 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
2402         Improve project-find-file
2404         * lisp/progmodes/project.el (project-file-completion-table): New.
2405         (project-find-file, project-or-external-find-file): Default to filename
2406         at point.
2407         (project-file-completion-table): New, split out from
2408         project--find-file-in.
2409         (project-find-file-in): Renamed from project--find-file-in, use
2410         project-file-completion-table.
2412         * lisp/progmodes/xref.el (ede-minor-mode): New declaration.
2413         (xref--find-ignores-arguments): Add doc string.
2415 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
2417         Implement vc-mtn-find-ignore-file, fix some doc strings
2419         * lisp/cedet/cedet-global.el (cedet-gnu-global-root): Improve doc string.
2421         * lisp/cedet/ede/locate.el (initialize-instance): Improve doc string.
2423         * lisp/vc/vc-git.el (vc-git-find-ignore-file): Fix doc string.
2425         * lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): New function.
2427 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
2429         Improve user name completion in Tramp
2431         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
2432         Call also "getent passwd" or "getent group", if possible.
2433         (tramp-parse-putty): Cache the result.
2435 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
2437         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
2439 2016-01-20  Glenn Morris  <rgm@gnu.org>
2441         Remove handling of non-string time-stamp formats, obsolete for 20 years.
2443         * lisp/time-stamp.el (time-stamp-format): Doc fix.
2444         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
2445         (time-stamp-string): Ignore non-string formats.
2447 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
2449         Anoter fix for problematic merge from emacs-25
2451         * src/w32fns.c (globals_of_w32fns): Move initialization of
2452         resetstkoflw to a non-Cygwin part.
2454 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
2456         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
2458 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
2460         Fix MS-Windows build broken by a botched merge from emacs-25
2462         * src/w32.c (w32_crypto_hprov): New static variable.
2463         (globals_of_w32): Initialize w32_crypto_hprov.
2464         (w32_init_crypt_random, w32_init_random): New functions.
2465         Include wincrypt.h.
2466         * src/w32.h (w32_init_random): Add prototype.
2468 2016-01-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
2470         Correct a whole bunch of bugs coming with renamed cell relocation.
2472         * lisp/ses.el (ses-localvars): rename variable
2473         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
2474         and adjust the comment about it.
2475         (ses-plist-delq): new defun.
2476         (ses--ses-buffer-list): new defvar.
2477         (ses--unbind-cell-name): new defun.
2478         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
2479         (ses-relocate-formula): Undo change of
2480         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
2481         preventing relocation for named cell --- now doing this is delegated
2482         to function `ses-relocate-symbol'.
2483         (ses-relocate-range): In docstring, undo change of
2484         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
2485         lower case as it is not a variable.
2486         (ses-relocate-all): Cell name relocation : 1) check that cell is a
2487         renamed cell by testing `ses-cell' property to :ses-named, rather than
2488         comparing name to corresponding standard name. Set rowcol of renamed
2489         cell into the hashmap --- `ses-cell' property must not be used for
2490         that as the same name can be used for different locations in different
2491         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
2492         `local-variable-p' to check if cell name is already in use in this
2493         sheet or needs initialisation.
2494         (ses-relocate-all): Cell value relocation : 1) like for name
2495         relocation use the `ses-cell' property rather than comparing actual
2496         name to corresponding standard name. 2) Correct bug introduced in
2497         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
2498         made the other way round than the intention --- ie value relocation
2499         was disabled for standard cell, not for renamed cell as was the
2500         intention.
2501         (ses-relocate-all): Add loop for unbinding deleted renamed cells
2502         names.
2503         (ses-killbuffer-hook): new defun.
2504         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
2505         kill buffer hook, plus pushing current buffer if new in list.
2506         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
2507         into `ses--in-killing-named-cell-list'.
2508         (ses-rename-cell): Remove update of variable
2509         `ses--renamed-cell-symb-list', this variable is renamed to
2510         `ses--in-killing-named-cell-list', and its setting is done in
2511         functions `ses-delete-row' and , `ses-delete-column' now.
2512         (ses-rename-cell): Make cell new name a buffer local variable.
2513         (ses-rename-cell): Change correction of
2514         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
2515         computation of the range over which `cursor-intangible' property was
2516         to be updated. This correction was ok for non spilling cells, but not
2517         for cells spilling over following blank cells. Simply use
2518         `next-single-property-change' rather than computing the end column
2519         from column widths.
2521 2016-01-19  John Wiegley  <johnw@newartisans.com>
2523         Merge from origin/emacs-25
2525         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
2526         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
2527         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
2528         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
2529         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
2530         86e4513 Fix incompatbilities with MS-Windows 2000 and older
2531         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
2532         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
2533         39afa42 Fix tests for active region in hideif.el
2534         05df666 Fix interactive specs in some hideif.el commands
2536 2016-01-19  John Wiegley  <johnw@newartisans.com>
2538         -
2540 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2542         Avoid stdio in SIGINT handler
2544         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
2545         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
2546         * lib/ignore-value.h: New file, from gnulib.
2547         * src/keyboard.c: Include it.
2548         (write_stdout, read_stdin): New functions.
2549         (handle_interrupt): Use them instead of printf and getchar,
2550         and avoid fflush when handling signals.
2552 2016-01-19  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
2554         Refactor mml-smime.el, mml1991.el, mml2015.el
2556         (Maybe this is the last merge from Gnus git to Emacs git)
2558         Cf. discussion on ding mailing list, messages in
2559         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
2560         Common code from the three files mml-smime.el, mml1991.el, and
2561         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
2562         to gnus-util.el.
2564         The code is supported by test cases with necessary test keys.
2566         Documentation in message.texi is updated.
2568         * doc/misc/message.texi (Security, Using S/MIME):
2569         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
2570         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
2571         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
2573         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
2574         New functions.
2576         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
2577         (epa--select-keys): Autoload.
2578         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
2579         (mml-secure-openpgp-signers): New user option;
2580         make mml1991-signers and mml2015-signers obsolete aliases to it.
2581         (mml-secure-smime-signers): New user option;
2582         make mml-smime-signers an obsolete alias to it.
2583         (mml-secure-openpgp-encrypt-to-self): New user option;
2584         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
2585         aliases to it.
2586         (mml-secure-smime-encrypt-to-self): New user option;
2587         make mml-smime-encrypt-to-self an obsolete alias to it.
2588         (mml-secure-openpgp-sign-with-sender): New user option;
2589         make mml2015-sign-with-sender an obsolete alias to it.
2590         (mml-secure-smime-sign-with-sender): New user option;
2591         make mml-smime-sign-with-sender an obsolete alias to it.
2592         (mml-secure-openpgp-always-trust): New user option;
2593         make mml2015-always-trust an obsolete alias to it.
2594         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
2595         New user options.
2596         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
2597         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
2598         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
2599         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
2600         (mml-secure-passphrase-callback, mml-secure-check-user-id)
2601         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
2602         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
2603         (mml-secure-fingerprint, mml-secure-filter-keys)
2604         (mml-secure-normalize-cust-name, mml-secure-select-keys)
2605         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
2606         (mml-secure-self-recipients, mml-secure-recipients)
2607         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
2609         * lisp/gnus/mml-smime.el: Require epg;
2610         refactor declaration and autoloading of epg functions.
2611         (mml-smime-use): Doc fix.
2612         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
2613         Obsolete.
2614         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
2615         Use format instead of gnus-format-message.
2616         (mml-smime-epg-secret-key-id-list): Remove variable.
2617         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
2618         (mml-smime-epg-find-usable-secret-key): Remove functions.
2619         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
2621         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
2622         (mml1991-passphrase-cache-expiry): Obsolete.
2623         (mml1991-epg-secret-key-id-list): Remove variable.
2624         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
2625         (mml1991-epg-find-usable-secret-key): Remove functions.
2626         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
2628         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
2629         (mml2015-passphrase-cache-expiry): Obsolete.
2630         (mml2015-epg-secret-key-id-list): Remove variable.
2631         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
2632         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
2633         (mml2015-epg-find-usable-secret-key): Remove functions.
2634         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
2635         (mml2015-epg-encrypt): Refactor.
2637 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2639         Merge from gnulib
2641         This mostly just updates copyright dates of gnulib files.
2642         It also updates to the latest version of texinfo.tex.
2644 2016-01-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2646         Move variables to inner loop, preparing for Mac port merge
2648         * src/keyboard.c (command_loop_1): Move variables `cmd',
2649         `keybuf', and `i' to inner loop.
2651 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2653         Minor improvements to (random t) documentation
2655         * doc/lispref/numbers.texi (Random Numbers):
2656         * src/fns.c (Frandom):
2657         Omit unnecessary details about randomness fallback.
2658         Say that it is a fallback.
2660 2016-01-19  Dmitry Gutov  <dgutov@yandex.ru>
2662         Rename methods in Ruby etags example file
2664         * test/etags/ruby-src/test.rb: Rename the example methods to
2665         correspond to the common terminology used in Ruby.
2666         * test/etags/CTAGS.good:
2667         * test/etags/ETAGS.good_1:
2668         * test/etags/ETAGS.good_2:
2669         * test/etags/ETAGS.good_3:
2670         * test/etags/ETAGS.good_4:
2671         * test/etags/ETAGS.good_5:
2672         * test/etags/ETAGS.good_6: Adjust accordingly.
2674 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
2676         Propertize backtick in 'def `(abc)' as symbol constituent
2678         * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
2679         Propertize backtick in 'def `(abc)' as symbol constituent.
2680         (ruby-syntax-propertize-function):
2681         Rename to ruby-syntax-propertize.
2683 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
2685         Fix scrolling under scroll-preserve-screen-position on TTY
2687         * src/window.c (window_scroll_line_based): When setting point to
2688         preserve screen coordinates, don't let cursor enter either of the
2689         two scroll margins.  (Bug#22395)
2691 2016-01-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2693         Fix shr table rendering of nested tables
2695         * shr.el (shr-table-body): Don't include all tbodies in nested
2696         tables in the levels above.
2698 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
2700         * lisp/progmodes/project.el (project--read-regexp): Quote the identifier.
2702 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
2704         Add xref-based replacements for Dired search commands
2706         * lisp/dired-aux.el (dired-do-find-regexp)
2707         (dired-do-find-regexp-and-replace): New commands.
2708         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00864.html
2710         * lisp/dired.el (dired-mode-map): Change bindings for `A' and
2711         `Q' to the new commands.
2713         * lisp/progmodes/xref.el (xref-query-replace)
2714         (xref-collect-matches): Add progress reporters.
2715         (xref--find-ignores-arguments): Return nil for zero ignores.
2716         (xref--show-xrefs): Add an optional argument.
2717         (xref-collect-matches): Drop the assert.  'find' accepts a
2718         regular file in place of directory argument, too.
2720 2016-01-18  Alan Mackenzie  <acm@muc.de>
2722         * doc/lispref/frames.texi (Position Parameters): Say they don't exist on TTYs.
2724 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
2726         Improve user documentation of Xref
2728         * doc/emacs/maintaining.texi (Xref, Find Identifiers)
2729         (Looking Up Identifiers, Identifier Search, List Identifiers):
2730         Adjudicate comments by Dmitry Gutov <dgutov@yandex.ru>.  See
2731         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00650.html
2732         for the details.
2734 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
2736         Fix scrolling under scroll-preserve-screen-position and margins
2738         * src/window.c (window_scroll_pixel_based): When setting point to
2739         preserve screen coordinates, don't let cursor enter either of the
2740         two scroll margins.  Fix incorrect usage of
2741         WINDOW_WANTS_HEADER_LINE_P and use WINDOW_HEADER_LINE_HEIGHT
2742         instead of CURRENT_HEADER_LINE_HEIGHT.  (Bug#22395)
2744 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
2746         Unbreak the MS-Windows build
2748         * src/sysdep.c (emacs_gnutls_global_init, gnutls_rnd): Disable for
2749         WINDOWSNT, to avoid link failure.  (Bug#22202)
2751 2016-01-18  Alan Mackenzie  <acm@muc.de>
2753         Desktop: protect users against inadvertant upgrading of desktop file.
2755         An upgraded (version 208) desktop file cannot be read in Emacs < 25.
2757         * etc/NEWS: Add an entry about upgrading a desktop file.
2759         * lisp/desktop.el (desktop-file-version): Amend doc string.
2760         (desktop-native-file-version, desktop-io-file-version): new variables.
2761         (desktop-clear): Set desktop-io-file-version to nil.
2762         (desktop-buffer-info): make the presence of the last item on the list
2763         conditional on (>= desktop-io-file-version 208).
2764         (desktop-save): Add extra parameter VERSION to take user's C-u or C-u C-u.
2765         Amend the doc string.  Add code to determine the output file version.
2766         (desktop-create-buffer): Set desktop-io-file-version to the input file's
2767         version.
2769 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2771         Initialize GnuTLS before calling gnutls_rnd
2773         * src/gnutls.c (emacs_gnutls_global_init): Now extern.
2774         Don’t set gnutls_global_initialized if gnutls_global_init fails.
2775         * src/sysdep.c: Include "gnutls.h", and <gnutls/crypto.h>
2776         if 2.12 or later, which has gnutls_rnd.
2777         (emacs_gnutls_global_init, gnutls_rnd): New fallback
2778         placeholder macros if before 2.12.
2779         (init_random): Initialize gnutls globals before trying to
2780         use gnutls_rnd.
2782 2016-01-17  Andreas Schwab  <schwab@linux-m68k.org>
2784         Don't use GnuTLS before it is initialized
2786                 * src/sysdep.c (init_random): Don't use gnutls_rnd.
2788 2016-01-17  Bill Wohler  <wohler@newt.com>
2790         * mh-e.el (mh-version): Add +git to version.
2792 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2794         Port cleanup attribute to OpenBSD
2796         The OpenBSD C compiler issues false alarms about strcpy, strcat, and
2797         sprintf, and this messes up 'configure' when it tests for the cleanup
2798         attribute.  Work around the problem by using __has_attribute directly.
2799         Problem reported by Joakim Jalap (Bug#22385).
2800         * configure.ac: Don’t use AX_GCC_VAR_ATTRIBUTE.
2801         * m4/ax_gcc_var_attribute.m4: Remove.
2802         * src/conf_post.h (__has_attribute): Provide a substitute, for
2803         non-GCC or older GCC compilers.  All uses changed to assume
2804         the substitute.  Check for the cleanup attribute.
2805         * src/emacs-module.c (module_has_cleanup): Just use __has_attribute.
2807 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2809         Prefer GnuTLS when acquiring random seed
2811         This attempts to improve on the fix for Bug#22202.
2812         * configure.ac (HAVE_DEV_URANDOM): Remove.
2813         Check /dev/urandom existence at run time, not at build time,
2814         since the device could exist in the former but not the latter.
2815         * src/sysdep.c [HAVE_GNUTLS]: Include gnutls/gnutls.h.
2816         (gnutls_rnd) [GNUTLS_VERSION_NUMBER < 0x020c00]: New fallback macro.
2817         (random_seed): New typedef.
2818         (set_random_seed): New static function.
2819         (seed_random): Use them.
2820         (init_random): Use random_seed instead of uintmax_t, so as to
2821         not consume more entropy than needed.  Prefer gnutls_rnd if it
2822         works; this avoids a redundant open of /dev/urandom on
2823         GNU/Linux with modern GnuTLS.
2825 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2827         Improve documentation of dynamic modules
2829         * doc/lispref/loading.texi (How Programs Do Loading): Update the
2830         description of searching for files in 'load' when Emacs was built
2831         with support for dynamic modules.
2833 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2835         * INSTALL: Document --with-modules.
2837 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2839         Document 'function-put'
2841         * doc/lispref/symbols.texi (Symbol Plists): Document
2842         'function-put'.  Update documentation of 'function-get'.
2844 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2846         Document 'funcall-interactively'
2848         * doc/lispref/commands.texi (Interactive Call): Document
2849         'funcall-interactively'.
2850         * doc/lispref/functions.texi (Calling Functions): Mention
2851         'funcall-interactively' and provide a cross-reference.
2853 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2855         * doc/lispref/lists.texi (Association Lists): Document 'alist-get'.
2857         * doc/lispref/strings.texi (Text Comparison): Document 'string-greaterp'.
2859 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2861         Document renaming of selection-related functions
2863         * doc/lispref/frames.texi (Window System Selections): Rename "x-*"
2864         functions into the corresponding "gui-*" functions.  Make the
2865         description slightly less X-centric.
2867 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2869         * doc/lispref/macros.texi (Expansion): Document 'macroexpand-1'.
2871 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2873         Document 'define-inline'
2875         * doc/lispref/functions.texi (Defining Functions): Document
2876         'define-inline' and related macros.
2878         * lisp/emacs-lisp/inline.el (inline-letevals): Doc fix.
2880 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2882         * lisp/files.el (dir-locals--all-files): Respect absolute file-names
2884         * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
2886 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2888         * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
2890         instead of manually writing a dir-locals file.
2892 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2894         * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
2896         (dir-locals-file)
2897         * lisp/files-x.el (modify-dir-local-variable)
2898         * lisp/dos-fns.el (dosified-file-name)
2899         * lisp/help-fns.el (describe-variable): Change accordingly.
2901 2016-01-16  Jussi Lahdenniemi  <jussi@aprikoodi.fi>  (tiny change)
2903         Fix incompatbilities with MS-Windows 2000 and older
2905         * src/w32.c <multiByteToWideCharFlags>: New global variable.
2906         (filename_to_utf16, filename_from_ansi, check_windows_init_file):
2907         Use it instead of the literal MB_ERR_INVALID_CHARS.
2908         (maybe_load_unicows_dll): Initialize multiByteToWideCharFlags as
2909         appropriate for the underlying OS version.  For details, see
2910         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
2911         * src/w32.h: Declare multiByteToWideCharFlags.
2912         * src/w32fns.c (Fx_file_dialog, Fw32_shell_execute)
2913         (add_tray_notification): Use multiByteToWideCharFlags instead of
2914         the literal MB_ERR_INVALID_CHARS.
2915         (_resetstkoflw_proc): New typedef.
2916         (w32_reset_stack_overflow_guard): Call _resetstkoflw via a
2917         pointer, as this function is absent in msvcrt.dll shipped with W2K
2918         and older systems.
2920 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2922         Mention in PROBLEMS an issue with MS-Windows NT4
2924         * etc/PROBLEMS (MS-Windows): Mention the problem with Shell32.dll
2925         on Windows NT4.  For the details, see
2926         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
2928 2016-01-16  Jussi Lahdenniemi  <jussi@aprikoodi.fi>  (tiny change)
2930         Ensure 8-byte aligned memory allocation on MS-Windows 9X
2932         * src/w32heap.c (init_heap): Redirect malloc, realloc, and free to
2933         special functions on Windows 9X.  Refuse to dump Emacs on Windows 9X.
2934         (malloc_after_dump_9x, realloc_after_dump_9x)
2935         (free_after_dump_9x): New functions.  (Bug#22379)  See also
2936         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00852.html
2937         for more details about the original problem.
2939         * nt/inc/ms-w32.h (malloc_after_dump_9x, realloc_after_dump_9x)
2940         (free_after_dump_9x): Add prototypes.
2942 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2944         Fix tests for active region in hideif.el
2946         * lisp/progmodes/hideif.el (hif-evaluate-macro, hide-ifdef-block): Use
2947         'use-region-p' to test whether to operate on region, instead of
2948         testing 'mark-active'.
2950 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2952         Fix interactive specs in some hideif.el commands
2954         * lisp/progmodes/hideif.el (hif-evaluate-macro)
2955         (hide-ifdef-undef, show-ifdef-block): Don't use '(interactive "r")'
2956         in commands that should only act on the region if it's active.
2958 2016-01-15  Phillip Lord  <phillip.lord@russet.org.uk>
2960         Enable test selector from command line
2962         * test/automated/Makefile.in: Change variable manipulation to avoid
2963           over-writing selector.
2965 2016-01-15  Alan Mackenzie  <acm@muc.de>
2967         Don't confuse "::" with ":" when trying to parse member initializers.
2969         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
2970         more robustly for ":" token when searching backwards for it.
2972         * lisp/progmodes/cc-langs (c-:$-multichar-token-regexp): New language
2973         variable.
2975 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
2977         Ensure positive number of glyphs for margins of positive width
2979         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
2980         positive value when a non-zero width of the marginal area was
2981         requested.  (Bug#22356)
2983 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
2985         Fix crashes when mini-window has non-zero margins
2987         * src/window.c (resize_frame_windows): Use 'new_size' to set
2988         minibuffer window's 'total_cols' value, as 'size' might be in
2989         pixels.  (Bug#22356)
2991 2016-01-15  Alan Mackenzie  <acm@muc.de>
2993         In comment-dwim with style `extra-line', respect indent-tabs-mode.
2995         This fixes bug #22369.
2997         * lisp/newcomment.el (comment-make-bol-ws): New function.
2998         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
3000 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
3002         Make 'random' seeds cryptographically secure if possible
3004         * configure.ac: Check for "/dev/urandom".
3006         * src/sysdep.c (init_random) [HAVE_DEV_URANDOM]: Read the stream
3007         for the seed from "/dev/urandom".
3008         [WINDOWSNT]: Obtain the stream for the seed from w32 APIs.
3009         * src/fns.c (Frandom): Update the doc string to indicate that
3010         system entropy is used when available.
3011         * src/w32.c: Include wincrypt.h.
3012         (w32_init_crypt_random, w32_init_random): New functions, use the
3013         CryptGenRandom API.
3014         (globals_of_w32): Initialize w32_crypto_hprov handle to zero.
3015         * src/w32.h (w32_init_random): Add prototype.
3017         * doc/lispref/numbers.texi (Random Numbers): Document more details
3018         about 't' as the argument to 'random'.
3020         * etc/NEWS: Mention that '(random t)' now uses a cryptographically
3021         strong seed if possible.
3023         (Bug#22202)
3025 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
3027         Unhide the --no-line-directive option to 'etags'
3029         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
3030         option.  (Bug#22306)
3032         * doc/man/etags.1: Document the --no-line-directive option.
3034 2016-01-15  Alan J Third  <alan@idiocy.org>  (tiny change)
3036         Fix picture-mode wrt double-width characters
3038         * lisp/textmodes/picture.el (picture-insert): Check the width of
3039         the character being replaced, not just that of the replacement.
3040         (Bug#1808)
3042 2016-01-15  Eric Abrahamsen  <eric@ericabrahamsen.net>
3044         Honor docstring of gnus-group-get-new-news
3046         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg is t,
3047         but non-numeric, unconditionally consider all groups to need updating.
3049 2016-01-14  Simen Heggestøyl  <simenheg@gmail.com>
3051         Disallow parenthesis in non-pseudo CSS selectors
3053         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Disallow
3054         parenthesis in selectors except for in the function notation that
3055         might appear right after a pseudo-class.
3056         * test/indent/scss-mode.scss: Add a test for it.
3058 2016-01-14  Katsumi Yamaoka  <yamaoka@jpl.org>
3060         * lisp/gnus/nntp.el (nntp-request-newgroups): Simplify
3062 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
3064         check-maybe shall run only default tests
3066         * test/automated/Makefile.in (check, check-expensive): Depend on
3067         mostlyclean.
3068         (check-maybe): Re-run only default tests.
3069         (check-doit): Use code of check-maybe.
3070         (mostlyclean): Move *.log files away.
3072 2016-01-13  Mark Oteiza  <mvoteiza@udel.edu>
3074         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "magnet:"
3076 2016-01-13  Dmitry Gutov  <dgutov@yandex.ru>
3078         Un-obsolete tags-loop-continue
3080         * lisp/progmodes/etags.el (tags-loop-continue): Un-obsolete.
3081         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00682.html
3083 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3085         Document obsoletion of 'intangible' and 'point-entered/left'
3087         * doc/lispref/text.texi (Special Properties): Document the new
3088         properties 'cursor-intangible' and 'cursor-sensor-functions'.
3089         Document the obsolete status of 'intangible', 'pointer-left',
3090         and 'point-entered' properties, and of 'inhibit-point-motion-hooks'.
3091         * doc/lispref/display.texi (Overlay Properties): Document that
3092         'intangible' overlay property is obsolete.
3094         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor-mode): Doc fix.
3096 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3098         Updater documentation of 'looking-back'
3100         * doc/lispref/searching.texi (Regexp Search): Update documentation
3101         of 'looking-back'.  Fix markup.
3103 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3105         Document 'pre-redisplay-functions'
3107         * doc/lispref/hooks.texi (Standard Hooks):
3108         * doc/lispref/display.texi (Forcing Redisplay): Document
3109         'pre-redisplay-functions'.
3111 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3113         Document the new deafault value of 'load-read-function'
3115         * doc/lispref/loading.texi (How Programs Do Loading): Document the
3116         change in the default value of 'load-read-function'.
3118 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3120         Document 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
3122         * doc/lispref/nonascii.texi (Text Representations): Document
3123         'bufferpos-to-filepos' and 'filepos-to-bufferpos'.
3125 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3127         Document the new prefix-command hooks
3129         * doc/lispref/hooks.texi (Standard Hooks): Document
3130         `prefix-command-echo-keystrokes-functions' and
3131         `prefix-command-preserve-state-hook'.
3133 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
3135         Fix one more misuse of time-stamp-time-zone
3137         * test/etags/html-src/softwarelibero.html: Use "UTC0" rather
3138         than the unportable "GMT" for time zone.
3140 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
3142         Fix NNTP NEWGROUPS off-by-a-few-hours bug
3144         * lisp/gnus/nntp.el (nntp-request-newgroups): Format string
3145         in Universal Time, since we’re telling the server “GMT”.
3147 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
3149         Update publicsuffix.txt from upstream
3151         * etc/publicsuffix.txt: Update from
3152         https://publicsuffix.org/list/effective_tld_names.dat
3153         dated 2016-01-12 11:52:01 UTC.
3155 2016-01-12  Glenn Morris  <rgm@gnu.org>
3157         Fix some declarations.
3159         * lisp/descr-text.el (internal-char-font):
3160         * lisp/cedet/mode-local.el (xref-item-location):
3161         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
3162         (epg-sub-key-capability, epg-sub-key-validity):
3163         * lisp/international/mule-util.el (internal-char-font):
3164         Fix declarations.
3166 2016-01-12  Glenn Morris  <rgm@gnu.org>
3168         Fix some custom types.
3170         * lisp/gnus/gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files):
3171         * lisp/gnus/gnus.el (gnus-valid-select-methods):
3172         * lisp/mail/rmail.el (rmail-get-coding-function):
3173         * lisp/net/newst-treeview.el (newsticker-groups-filename):
3174         * lisp/progmodes/hideif.el (hide-ifdef-exclude-define-regexp):
3175         * lisp/textmodes/tildify.el (tildify-space-predicates):
3176         * lisp/url/url-tramp.el (url-tramp-protocols):
3177         Fix custom types.
3179 2016-01-12  Glenn Morris  <rgm@gnu.org>
3181         Add some missing version tags.
3183         * lisp/electric.el (electric-quote-comment)
3184         (electric-quote-string, electric-quote-paragraph):
3185         * lisp/epg-config.el (epg-gpgconf-program):
3186         * lisp/rect.el (rectangle-preview):
3187         * lisp/emacs-lisp/check-declare.el (check-declare-ext-errors):
3188         * lisp/emacs-lisp/package.el (package-selected-packages)
3189         (package-hidden-regexps):
3190         * lisp/erc/erc.el (erc-network-hide-list, erc-channel-hide-list):
3191         * lisp/eshell/em-term.el (eshell-destroy-buffer-when-process-dies):
3192         * lisp/gnus/mml-sec.el (mml1991-signers, mml2015-signers)
3193         (mml-smime-signers, mml1991-encrypt-to-self, mml2015-encrypt-to-self)
3194         (mml-smime-encrypt-to-self, mml2015-sign-with-sender)
3195         (mml-smime-sign-with-sender, mml2015-always-trust)
3196         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
3197         * lisp/net/browse-url.el (browse-url-conkeror-new-window-is-buffer)
3198         (browse-url-conkeror-arguments):
3199         * lisp/net/newst-reader.el (newsticker-download-logos):
3200         * lisp/progmodes/gud.el (gud-guiler-command-name):
3201         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
3202         * lisp/progmodes/project.el (project-vc):
3203         * lisp/progmodes/python.el (python-indent-guess-indent-offset-verbose)
3204         (python-shell-remote-exec-path, python-shell-first-prompt-hook)
3205         (python-shell-completion-native-disabled-interpreters)
3206         (python-shell-completion-native-enable)
3207         (python-shell-completion-native-output-timeout)
3208         (python-shell-completion-native-try-output-timeout):
3209         * lisp/progmodes/xref.el (xref):
3210         * lisp/term/screen.el (xterm-screen-extra-capabilities):
3211         * lisp/term/xterm.el (xterm-max-cut-length):
3212         Add missing version tags.
3214 2016-01-12  Glenn Morris  <rgm@gnu.org>
3216         * test/automated/core-elisp-tests.el
3217         (core-elisp-tests-1-defvar-in-let): Add a custom type.
3219 2016-01-12  Glenn Morris  <rgm@gnu.org>
3221         * src/buffer.c (syms_of_buffer) <major-mode>: Doc fix.
3223         Remove comments that do not apply since 2005-08-09.  (Bug#22349)
3225 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
3227         Merge from gnulib
3229         This mostly just changes "UTC" to "UTC0" for POSIX conformance.
3230         It also updates to the latest version of texinfo.tex.
3231         * build-aux/gitlog-to-changelog, build-aux/move-if-change:
3232         * build-aux/update-copyright, doc/misc/texinfo.tex:
3233         Update from gnulib.
3235 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
3237         Update documentation of 'process-running-child-p'
3239         * doc/lispref/processes.texi (Input to Processes): Document the
3240         changes in return value of 'process-running-child-p'.
3242 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
3244         Update documentation of 'deactivate-mark'.
3246         * doc/lispref/markers.texi (The Mark): Document that
3247         'deactivate-mark' is now buffer-local when set.
3249 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
3251         Update documentation of 'completion-table-dynamic'
3253         * doc/lispref/minibuf.texi (Programmed Completion): Document the
3254         new optional argument to 'completion-table-dynamic'.
3256 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
3258         Document changes in 'read-buffer' and 'read-buffer-function'
3260         * doc/lispref/minibuf.texi (High-Level Completion): Document the
3261         4th argument to 'read-buffer' and 'read-buffer-function'.
3263 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
3265         Fix time-stamp-time-zone bugs introduced in July
3267         This fixes a bug introduced when the July changes to
3268         format-time-string installed, as the changes were not
3269         correctly handled in this module (Bug#22302).
3270         Also, document time stamp time zones.
3271         * lisp/time-stamp.el (time-stamp-time-zone): Document values better.
3272         (time-stamp--format): New private function.
3273         (time-stamp-string, time-stamp-string-preprocess)
3274         (time-stamp-do-number): Use it.
3275         * doc/emacs/files.texi (Time Stamps): Mention time zones.
3276         * doc/misc/autotype.texi (Timestamps): Document time-stamp-time-zone.
3278 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
3280         Make piping to subprocesses more robust on MS-Windows
3282         * src/w32.c (sys_write): Don't write to a pipe more stuff than its
3283         buffer can hold.  Don't return -1 if something has been written to
3284         the pipe.  Zero out 'errno' before calling '_write', to avoid
3285         returning a stale value.  (Bug#22344)
3286         * src/w32proc.c (syms_of_ntproc) <w32-pipe-buffer-size>: New variable.
3287         * src/w32.c (pipe2): Use it to request a user-defined size for the
3288         pipe being created.
3290         * etc/NEWS: Mention 'w32-pipe-buffer-size'.
3292         * doc/emacs/msdos.texi (Windows Processes): Document
3293         'w32-pipe-buffer-size'.
3295 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3297         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
3299         (syntax-ppss):
3300         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
3302 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3304         lisp/nxml: Use syntax-tables for comments
3306         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
3307         (nxml-mode): Set syntax-ppss-table.
3308         Use sgml-syntax-propertize-function for syntax-propertize-function.
3309         Let font-lock highlight strings and comments.
3310         (nxml-degrade): Don't touch "nxml-inside" property any more.
3311         (nxml-after-change, nxml-after-change1): Remove functions.
3312         (comment): Don't set fontify rule any more.
3313         (nxml-fontify-attribute): Don't highlight the value any more.
3314         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
3315         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
3317         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
3318         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
3319         (nxml-clear-inside, nxml-set-inside): Remove.
3320         (nxml-scan-after-change): Remove function.
3321         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
3322         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
3323         (nxml-move-outside-backwards):
3324         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
3325         nxml-inside-start behavior.
3327         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
3328         (nxml-debug-clear-inside): Remove macros.
3330         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
3331         (xmltok-scan-after-comment-open): Simplify.
3333 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3335         * elisp-mode.el (elisp--font-lock-flush-elisp-buffers): Fix comment
3337 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3339         * lisp/nxml: Use standard completion; it also works for company-mode
3341         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
3342         (nxml-completion-at-point-function): Remove.
3343         (nxml-mode): Don't set completion-at-point-functions.
3344         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
3345         (rng-completion-at-point): Rename from rng-complete and mark it
3346         non-interactive.  It is now to be used as completion-at-point-function.
3347         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
3348         (rng-complete-attribute-value): Don't perform completion, but return
3349         completion data instead.
3350         (rng-complete-qname-function, rng-generate-qname-list): Add a few
3351         arguments, previously passed via dynamic coping.
3352         (rng-strings-to-completion-table): Rename from
3353         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
3354         sorting and uniquifying.
3356         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
3357         (rng-completion-exact-p, rng-quote-string): Delete functions.
3359         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
3360         (rng-missing-attributes-message, rng-missing-element-message)
3361         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
3362         calling rng-quote-string everywhere.
3364 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3366         Use sgml-electric-tag-pair-mode also in nxml-mode
3368         * lisp/nxml/rng-nxml.el: Require sgml-mode.
3369         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
3370         (rng-complete-qname-function): Use complete-with-action.
3372         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
3373         Let-bind forward-sexp-function, since nxml-mode binds it to
3374         something incompatible.
3376         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
3378 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
3380         * xmltok.el: Mark the "sole --" rather than the comment opener
3382         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
3383         marker on the "sole --" rather than on the comment opener.
3385 2016-01-15  Sam Steingold  <sds@gnu.org>
3387         replace `tramp-compat-split-string' (removed) with `split-string'
3389         (python-shell-tramp-refresh-process-environment)
3390         (python-shell-calculate-pythonpath): use `split-string'
3391         instead of defunct `tramp-compat-split-string'
3393 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
3395         Update nXML to use Emacs's Unicode support, and lexical-binding
3397         * etc/nxml/*.el: Remove obsolete char-name files.
3398         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
3399         var `next'.
3400         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
3401         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
3402         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
3403         (nxml-target-section-pos, nxml-depth-in-target-section)
3404         (nxml-outline-state-transform-alist)
3405         (nxml-outline-display-section-tag-function): Move decl before first use.
3406         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
3407         (nxml-char-name-alist, nxml-char-name-table)
3408         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
3409         (nxml-enable-char-name-set, nxml-disable-char-name-set)
3410         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
3411         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
3412         (nxml-insert-named-char): Use read-char-by-name instead.
3413         (nxml-char-ref-display-extra): Use get-char-code-property.
3414         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
3415         Remove function.
3416         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
3418 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
3420         Add "sg" method to Tramp
3422         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
3423         (Customizing Completion): Add function `tramp-parse-etc-group'.
3425         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
3426         (tramp-completion-function-alist-sg): New defconst.
3427         (top): Completion function for "sg" is
3428         `tramp-completion-function-alist-sg'.
3430         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
3431         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
3433 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
3435         Remove XEmacs compatibility in Tramp
3437         * doc/misc/tramp.texi: Replace flags by their hard coded name.
3438         Remove unused flags and the enclosed alternative text for XEmacs.
3440         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
3441         and "xemacs" flags to "unified" and "separate".  Remove flags
3442         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
3443         "emacsothername", "emacsotherdir" and "emacsotherfilename".
3444         (trampver):
3445         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
3447         * lisp/net/tramp.el (bkup-backup-directory-info)
3448         (directory-sep-char, ls-lisp-use-insert-directory-program)
3449         (outline-regexp, tramp-backup-directory-alist)
3450         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
3451         (tramp-file-name-regexp-unified)
3452         (tramp-file-name-regexp-separate)
3453         (tramp-completion-file-name-regexp-unified)
3454         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
3455         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
3456         (tramp-debug-message, tramp-progress-reporter-update)
3457         (with-tramp-progress-reporter)
3458         (tramp-rfn-eshadow-setup-minibuffer)
3459         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
3460         (tramp-rfn-eshadow-update-overlay)
3461         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
3462         (tramp-file-name-for-operation)
3463         (tramp-completion-file-name-handler)
3464         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
3465         (tramp-handle-directory-files)
3466         (tramp-handle-directory-files-and-attributes)
3467         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
3468         (tramp-handle-insert-file-contents, tramp-handle-load)
3469         (tramp-handle-shell-command)
3470         (tramp-handle-verify-visited-file-modtime)
3471         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
3472         (tramp-check-for-regexp, tramp-wait-for-regexp)
3473         (tramp-send-string, tramp-mode-string-to-int)
3474         (tramp-get-local-gid, tramp-check-cached-permissions)
3475         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
3476         (auto-save-file-name-transforms)
3477         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
3478         (tramp-clear-passwd, tramp-time-diff):
3479         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
3480         (directory-sep-char, tramp-adb-file-name-handler-alist)
3481         (tramp-adb-parse-device-names)
3482         (tramp-adb-handle-expand-file-name)
3483         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
3484         (tramp-adb-handle-file-local-copy)
3485         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
3486         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
3487         (tramp-adb-handle-shell-command)
3488         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
3489         (tramp-adb-maybe-open-connection):
3490         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
3491         (tramp-cache-print):
3492         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
3493         (tramp-bug, tramp-reporter-dump-variable)
3494         (tramp-load-report-modules, tramp-append-tramp-buffers):
3495         * lisp/net/tramp-compat.el (tramp-compat-funcall)
3496         (tramp-advice-file-expand-wildcards)
3497         (tramp-compat-temporary-file-directory)
3498         (tramp-compat-make-temp-file, tramp-compat-copy-file)
3499         (tramp-compat-delete-directory, )
3500         (tramp-compat-process-running-p):
3501         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
3502         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
3503         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
3504         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
3505         (tramp-gvfs-handle-file-local-copy)
3506         (tramp-gvfs-handle-file-name-all-completions)
3507         (tramp-gvfs-handle-file-notify-add-watch)
3508         (tramp-gvfs-monitor-file-process-filter)
3509         (tramp-gvfs-handle-file-readable-p)
3510         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
3511         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
3512         (tramp-gvfs-maybe-open-connection)
3513         (tramp-gvfs-parse-device-names):
3514         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
3515         (tramp-gw-open-connection, tramp-gw-open-network-stream):
3516         * lisp/net/tramp-sh.el (directory-sep-char)
3517         (tramp-sh-file-name-handler-alist)
3518         (tramp-sh-handle-file-truename)
3519         (tramp-sh-handle-set-visited-file-modtime)
3520         (tramp-sh-handle-verify-visited-file-modtime)
3521         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
3522         (tramp-sh-handle-file-acl)
3523         (tramp-sh-handle-file-name-all-completions)
3524         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
3525         (tramp-do-copy-or-rename-file-directly)
3526         (tramp-do-copy-or-rename-file-out-of-band)
3527         (dired-compress-file-suffixes, dired-remove-file)
3528         (tramp-sh-handle-dired-compress-file)
3529         (tramp-sh-handle-insert-directory)
3530         (tramp-sh-handle-expand-file-name)
3531         (tramp-sh-handle-start-file-process)
3532         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
3533         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
3534         (tramp-sh-handle-file-notify-add-watch)
3535         (tramp-sh-gvfs-monitor-dir-process-filter)
3536         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
3537         (tramp-find-executable)
3538         (tramp-open-connection-setup-interactive-shell)
3539         (tramp-find-inline-encoding, tramp-compute-multi-hops)
3540         (tramp-maybe-open-connection, tramp-convert-file-attributes)
3541         (tramp-get-remote-path, tramp-get-remote-touch):
3542         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
3543         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
3544         (tramp-smb-handle-delete-directory)
3545         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
3546         (tramp-smb-handle-make-directory-internal)
3547         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
3548         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
3549         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
3550         (tramp-smb-get-cifs-capabilities)
3551         (tramp-smb-maybe-open-connection):
3552         * lisp/net/trampver.el (tramp-repository-get-version):
3553         Remove XEmacs compat code.
3555         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
3556         (reporter-dump-variable): Declare functions.
3558         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
3559         (tramp-advice-minibuffer-electric-separator)
3560         (tramp-advice-minibuffer-electric-tilde)
3561         (tramp-handle-unhandled-file-name-directory):
3562         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
3563         (tramp-compat-font-lock-add-keywords)
3564         (tramp-compat-load, tramp-compat-number-sequence)
3565         (tramp-compat-split-string, tramp-compat-delete-dups):
3566         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
3567         Remove.
3569         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
3570         recursively.
3572 2016-01-14  K. Handa  <handa@gnu.org>
3574         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
3576         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
3577         second glyph only when there are enough glyphs.
3579 2016-01-13  Glenn Morris  <rgm@gnu.org>
3581         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
3583         or its hook, to move point.  (Bug#22348)
3585 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
3587         Merge missing commit from emacs-25 branch
3589         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
3590         New variables.
3591         (check-expensive, check-doit): New targets.
3593         * Makefile.in (check-expensive): New target.
3595         * test/lisp/autorevert-tests.el
3596         (auto-revert-test01-auto-revert-several-files):
3597         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
3598         (file-notify-test06-many-events):
3599         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
3600         (tramp-test27-start-file-process, tramp-test28-shell-command)
3601         (tramp-test29-vc-registered)
3602         (tramp-test31-special-characters-with-stat)
3603         (tramp-test31-special-characters-with-perl)
3604         (tramp-test31-special-characters-with-ls)
3605         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
3606         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
3607         (tramp-test35-unload): Tag the tests as :expensive-test.
3609 2016-01-12  John Wiegley  <johnw@newartisans.com>
3611         Merge from origin/emacs-25
3613         1f6898d test/automated/vc-hg.el: Support out-of-tree build
3614         3adb56e Minor change in tramp-tests.el
3615         2b535ba ; * etc/NEWS: Update the js.el entry.
3616         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
3617         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
3618         36b9539 Avoid an infloop when we run out of memory
3619         2006752 Avoid unnecessary failures of auto-saving after fatal error
3620         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
3621         552694a Revert attempt to use 'noexcept' in typedef
3622         6ad0d39 Update documentation of 'indirect-function'
3623         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
3624         303141a Update documentation for obsoleting 'syntax-begin-function'
3625         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
3626         e667bbb Document new features if Eshell
3627         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
3628         1089dc9 Handle too long commands in Tramp
3629         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
3630         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
3631         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
3632         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
3633         cca0f93 ; Account for spaces before the filename
3634         c71e1e8 Use short date for 'hg annotate', and output the author
3635         f50027b Spelling fix
3636         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
3637         cc140bc Document user-level functions in project.el
3638         f8208b6 Document the user-level features of the Xref package
3639         b131fb8 * loading.texi: Add `define-type' entry for load-history
3640         db3c2a8 Improve doc strings and prompts in xref.el
3641         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
3642         90fd798 Fix coding system for Tramp on OS X.
3643         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
3644         9dfcbf0 Update 'load-history' docs
3645         207e191 Fix (error ...) error
3646         457738f Correctly analyze brace arguments in templated C++ function declarations.
3647         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
3648         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
3649         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
3650         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
3651         4b37cba Improve documentation of Delete Selection mode
3652         a034dd3 Fix two project-find-file issues
3653         30abf29 Clarify doc string of 'dired-current-directory'
3654         e990bb2 Use the face of preceding text for displaying the ellipsis
3655         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
3656         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
3657         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
3658         648de81 ; Add NEWS entry for project.el
3659         671862f apropos-library: Skip obvious duplicates; don't error on generics
3660         51668a5 ; Grammar fix
3661         ed41d11 Add project-find-file and project-or-external-find-file
3662         056da45 ; Improve commentary in 'setup_for_ellipsis'
3663         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
3665 2016-01-12  John Wiegley  <johnw@newartisans.com>
3667         Merge from origin/emacs-25
3669         ce4a052 Add defvar-local to lisp-imenu-generic-expression
3670         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
3671         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
3672         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
3673         b6b47af Properly encode/decode base64Binary data in SOAP
3674         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
3675         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
3676                 Update the URI of MELPA and marmalade-repo.
3677                 Reported by CHENG Goa <chenggao@royau.me> in
3678                 https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
3679         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
3680         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
3681         7380990 Remove function wrongly on AWK Mode value of context
3682         fontification hook.
3683         d400753 * src/buffer.c: Stick with ASCII in doc string.
3684         221240c Reword transient-mark-mode doc string
3685         977d3ea Update doc string of 'selective-display'
3686         229c3fa Make C++ buffers writeable when writing their initial text
3687                 properties.
3688         f5c762c Additional changes for "make check-expensive"
3689         1729cf3 ; * admin/MAINTAINERS: Remove myself.
3690         33219d3 Apply text properties for <, > in new after-change function
3691                 (C++ Java Modes).
3693 2016-01-12  John Wiegley  <johnw@newartisans.com>
3695         Merge from origin/emacs-25
3697         9fb185a shr-tag-video bug fix
3698         6300655 Minor fixes in tramp-tests.el
3699         50575b1 Ensure redisplay when 'truncate-lines' is set
3700         0d9e80d Fix a doc string of 'transient-mark-mode'
3701         0000ae5 MS-Windows followup to latest gnulib update
3702         4bc5e02 Spelling fix
3703         f1093f7 Do secure signed Bcc handling
3705 2016-01-12  John Wiegley  <johnw@newartisans.com>
3707         Merge from origin/emacs-25
3709         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
3710         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
3711         71ea138 * lisp/align.el (align): Simplify a lambda
3712         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
3713         1f680db Fix compilation next-error in buffers with selective-display
3714         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
3715         1da116f Add SHA1 warnings for high network security settings
3716         e48bacd ; * etc/NEWS: Typo fix.
3718 2016-01-12  John Wiegley  <johnw@newartisans.com>
3720         Merge from origin/emacs-25
3722         43662a2 ; Clarify that xref is still experimental
3723         0a6e6ca ; * admin/release-process: Remove some obsolete records.
3724         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
3725         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
3726         0a7ad07 ; Re-arrange xref-related entries in NEWS.
3727         fe903ef Fix xref-find-references on MS-Windows
3728         55a28d8 ; Fixed visual bell artifact problem on NextStep.
3729         d064034 Document new features of tildify-mode
3730         964bea7 Document new features of Whitespace mode
3731         cd68f47 Improve documentation of new Hide-IfDef features
3732         723b8bf Fix regression in font-locking cl-assert and cl-check-type
3734 2016-01-12  John Wiegley  <johnw@newartisans.com>
3736         Merge from origin/emacs-25
3738         ef33bc7 Spelling and grammar fixes
3739         9c3dbab Fix copyright years by hand
3740         0e96320 Update copyright year to 2016
3742 2016-01-12  John Wiegley  <johnw@newartisans.com>
3744         Merge from origin/emacs-25
3746         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
3747         526d80c Port chart.el methods to cl-generic.
3748         410bb69 Add nt/INSTALL.W64 build instructions
3749         8f5b524 Add new input method 'programmer-dvorak'
3750         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
3751         bb83bb1 Fix EWW rendering of long RTL lines
3752         b1a8509 fix  bug#21054
3753         ce5ad12 Clean up cairo printing code
3755 2016-01-12  John Wiegley  <johnw@newartisans.com>
3757         Merge from origin/emacs-25
3759         6ee327d Add handle_user_signal_hook
3760         47580e0 Avoid writing to purespace
3761         0588be7 Remove unused variable
3762         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
3763         3b95e9c Use posix_openpt instead of openpty on Darwin
3764         86312ff Document support for ':documentation' in Lisp mode
3765         c930e75b Document new features of TeX mode
3766         7c83d84 Clarify docs of hscroll in RTL text
3767         4c8f8db Fix rendering of HTML pages that use character composition
3768         a8d37ca Avoid some compiler warnings in w32.c
3769         ce106f3de Undo ill-advised change
3770         be0bba4 Unbreak completion in python-mode buffers
3772 2016-01-11  Dmitry Gutov  <dgutov@yandex.ru>
3774         test/automated/vc-hg.el: Support out-of-tree build
3776         * test/automated/vc-hg.el
3777         (vc-hg-annotate-extract-revision-at-line-with-filename)
3778         (vc-hg-annotate-extract-revision-at-line-with-both):
3779         Don't refer to source-directory.
3780         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00755.html
3782 2016-01-11  Michael Albinus  <michael.albinus@gmx.de>
3784         Minor change in tramp-tests.el
3786         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
3787         Use `dired-uncache' instead of a Tramp internal function.
3789 2016-01-11  Peter Feigl  <peter.feigl@nexoid.at>
3791         * etc/HELLO: Add Armenian and Mongolian greetings.
3793         (Bug#22346)
3795 2016-01-11  Alan Mackenzie  <acm@muc.de>
3797         Java Mode: Fontify identifiers in the presence of annotations.
3799         * lisp/progmodes/cc-engine.el (c-forward-annotation): Tidy up the coding:
3800         Don't move point when the defun fails.
3801         (c-forward-decl-or-cast-1): Correct a usage of match data.
3803         * lisp/progmodes/cc-fonts.el (c-font-lock-maybe-decl-faces): Remove.
3804         (c-font-lock-declarations): Use the new c-maybe-decl-faces in place of the
3805         removed variable.
3807         * lisp/progmodes/cc-langs.el (c-maybe-decl-faces): New language variable.
3809 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
3811         Avoid an infloop when we run out of memory
3813         * src/alloc.c (garbage_collect_1): Don't bother saving and
3814         restoring the echo-area message if we are GC'ing after running out
3815         of memory.  This avoids an infloop due to repeated attempts to
3816         allocate memory for the cons cell needed to save the message,
3817         which signals the memory-full error, which attempts to save the
3818         echo-area message, which signals memory-full again, etc.
3820 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
3822         Avoid unnecessary failures of auto-saving after fatal error
3824         * src/w32.c (map_w32_filename): Avoid non-trivial system calls for
3825         the benefit of FAT volumes if we are called as part of shutting
3826         down due to a fatal error, which probably means we are trying to
3827         auto-save the session.
3828         * src/lread.c (check_obarray): Don't bother making the obarray
3829         valid if we are shutting down due to a fatal error.  This avoids
3830         interfering with auto-saving the crashed session.
3832 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3834         Simplify HAVE_MODULES use in mark_maybe_pointer
3836         * src/alloc.c (HAVE_MODULES): Now a constant 0 if not defined,
3837         so that later code can use 'if' rather than '#ifdef'.
3838         (mark_maybe_pointer): Simplify based on HAVE_MODULES now
3839         always working.
3841 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3843         Revert attempt to use 'noexcept' in typedef
3845         This use of 'noexcept' runs afoul of the C++11 standard.
3846         Problem reported by Philipp Stephani in:
3847         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00706.html
3848         * src/emacs-module.c (emacs_finalizer_function):
3849         Move this typedef here ...
3850         * src/emacs-module.h: ... from here, and use only the C
3851         version of the typedef.  The typedef is now private since it
3852         is never used in the .h file now and anyway it seemed to be
3853         causing more confusion than it cured.
3854         (make_user_ptr, get_user_finalizer, set_user_finalizer):
3855         Open-code the type instead.
3857 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
3859         Update documentation of 'indirect-function'
3861         * doc/lispref/eval.texi (Function Indirection): Update the
3862         documentation of 'indirect-function'.
3864 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
3866         Update documentation for obsoleting 'syntax-begin-function'
3868         * doc/lispref/syntax.texi (Position Parse): Undocument
3869         'syntax-begin-function' that is now obsolete.
3871 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
3873         Document new features if Eshell
3875         * doc/misc/eshell.texi (Input/Output): Document the new
3876         '#<bufname>' syntax.
3877         (Input/Output): Document 'eshell-destroy-buffer-when-process-dies'.
3878         Disable "Key Index" generation, as there are no @kindex entries in
3879         this manual.
3881 2016-01-10  Michael Albinus  <michael.albinus@gmx.de>
3883         Handle too long commands in Tramp
3885         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
3886         (tramp-do-file-attributes-with-ls): Send sequence of commands, in
3887         order to not exceed shell command line limit.
3889         * test/automated/tramp-tests.el (tramp--test-darwin-p): Remove.
3890         (tramp--test-utf8): Include Arabic file name, again.
3892 2016-01-10  Paul Eggert  <eggert@cs.ucla.edu>
3894         * .gitattributes: *.cur and *.pif are binary files too.
3896 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3898         * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
3900 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3902         * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
3904         * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation
3905         within $(...).
3906         * test/indent/shell.sh: Add corresponding test.
3908 2016-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>
3910         * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
3912         (mark_memory): Simplify loop.  Don't assume a pointer-sized word can be
3913         cast to Lisp_Object.
3915 2016-01-09  Dmitry Gutov  <dgutov@yandex.ru>
3917         Use short date for 'hg annotate', and output the author
3919         * lisp/vc/vc-hg.el (vc-hg-annotate-command):
3920         Change '-d' to '-dq'.  (Bug#21805)
3921         (vc-hg-annotate-switches): Default to "-u" "--follow".
3922         (vc-hg-annotate-re): Update to recognize the short date format
3923         and the optional username.
3924         (vc-hg-annotate-time)
3925         (vc-hg-annotate-extract-revision-at-line): Update accordingly.
3927         * test/automated/vc-hg.el: New file.
3929 2016-01-09  Paul Eggert  <eggert@cs.ucla.edu>
3931         Spelling fix
3933 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
3935         Document user-level functions in project.el
3937         * lisp/progmodes/project.el (project-find-file)
3938         (project-or-external-find-file): Add doc strings.
3940 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
3942         Document the user-level features of the Xref package
3944         * doc/emacs/maintaining.texi (Maintaining): Add a list of
3945         described features.
3946         (Xref): New section, made out of thoroughly rewritten "Tags"
3947         section.
3948         (Find Identifiers, Looking Up Identifiers, Xref Commands)
3949         (Identifier Search, List Identifiers): New subsections,
3950         incorporating the old tags commands and the new xref commands.
3951         (Tags Tables, Tag Syntax, Create Tags Table, Etags Regexps):
3952         Section and subsections demoted to a lower level.
3953         * doc/emacs/search.texi (Search):
3954         * doc/emacs/windows.texi (Pop Up Window):
3955         * doc/emacs/frames.texi (Creating Frames):
3956         * doc/emacs/programs.texi (Imenu, Symbol Completion):
3957         * doc/emacs/building.texi (Grep Searching):
3958         * doc/emacs/dired.texi (Operating on Files):
3959         * doc/emacs/glossary.texi (Glossary): All references to tags changed.
3961 2016-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>
3963         * loading.texi: Add `define-type' entry for load-history
3965         * doc/lispref/loading.texi (Where Defined): Remove incorrect
3966         cl-defmethod description, and add missing define-type entry.
3968 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
3970         Improve doc strings and prompts in xref.el
3972         * lisp/progmodes/xref.el (xref-backend-functions)
3973         (xref-find-definitions): Doc fixes.
3974         (xref-query-replace): Doc fix.  Improve prompts for arguments.
3976 2016-01-09  Alan Mackenzie  <acm@muc.de>
3978         Allow the use of `font-lock-extend-region-multiline' in CC Mode.
3980         * lisp/progmodes/cc-mode.el (c-font-lock-init): Remove
3981         `font-lock-extend-regions-wholelines' from
3982         `font-lock-extend-region-functions' rather than setting the latter to
3983         nil.
3985 2016-01-09  Michael Albinus  <michael.albinus@gmx.de>
3987         Fix coding system for Tramp on OS X.
3989         * lisp/net/tramp-compat.el: Require ucs-normalize.
3991         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3992         Set coding system to `utf-8-hfs' for Mac OS X.
3994         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
3995         Flush directory properties when needed.
3996         (tramp--test-utf8): Include Chinese file name, again.
3998 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
4000         Update 'load-history' docs
4002         * doc/lispref/loading.texi (Where Defined): Update the list of
4003         forms in 'load-history' by adding the forms created for the
4004         'cl-generic' generics.  (Bug#21422)
4006 2016-01-08  Paul Eggert  <eggert@cs.ucla.edu>
4008         Fix (error ...) error
4010         Problem reported by Glenn Morris in:
4011         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00561.html
4012         * lisp/vc/add-log.el (change-log-goto-source): Fix typos
4013         introduced in my Aug 28 change, where I got confused by the
4014         two meanings of (error ...).
4016 2016-01-08  Alan Mackenzie  <acm@muc.de>
4018         Correctly analyze brace arguments in templated C++ function declarations.
4020         * lisp/progmodes/cc-defs.el (c-go-list-forward, c-go-list-backward): add
4021         POS and LIMIT parameters, like the other c-go-list-* functions have.
4023         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): Check backwards
4024         for a ?\( rather than a ?<.  (c-looking-at-inexpr-block): Handle names
4025         followed by template specifiers.
4027 2016-01-08  Glenn Morris  <rgm@gnu.org>
4029         * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
4031         * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
4033 2016-01-08  Mark Oteiza  <mvoteiza@udel.edu>
4035         * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
4037 2016-01-08  Alan Mackenzie  <acm@muc.de>
4039         Respect fontification region calculated by major mode.  Fixes bug #22316.
4041         * lisp/font-lock.el (font-lock-extend-jit-lock-region-after-change): when a
4042         fontification region has been calculated by a function on
4043         font-lock-extend-after-change-region-function use this region rather than
4044         changing the end position to somewhere else.
4046 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
4048         Improve documentation of Delete Selection mode
4050         * lisp/delsel.el (delete-selection-mode)
4051         (delete-selection-helper): Update and expand the doc strings.
4052         (Bug#22296)
4054         * doc/emacs/mark.texi (Using Region): Document the behavior of
4055         delete commands in Delete Selection mode.  (Bug#22296)
4057         * doc/lispref/markers.texi (The Mark): Document how to add the
4058         support for Delete Selection mode to Lisp programs. (Bug#22296)
4060 2016-01-08  Dmitry Gutov  <dgutov@yandex.ru>
4062         Fix two project-find-file issues
4064         * lisp/progmodes/project.el (project--value-in-dir):
4065         Temporarily set enable-local-variables to :all.
4066         (project-find-file, project-or-external-find-file):
4067         All autoloads.
4068         (project--find-file-in): Require xref.
4070 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
4072         Clarify doc string of 'dired-current-directory'
4074         * lisp/dired.el (dired-current-directory): Doc fix: clarify that
4075         the return value might not end in a slash when called with the
4076         optional argument non-nil.  (Bug#6273)
4078 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
4080         Use the face of preceding text for displaying the ellipsis
4082         * src/xdisp.c (setup_for_ellipsis): Use the face of the preceding
4083         text in it->saved_face_id for displaying the ellipsis, and ignore
4084         the face, if any, of the invisible text.  (Bug#22320)
4086 2016-01-08  Michael Albinus  <michael.albinus@gmx.de>
4088         Suppress Chinese file name test for OSX in tramp-tests.el
4090         * test/automated/tramp-tests.el (tramp--test-utf8):
4091         Remove instrumentation.  Suppress Chinese file name test for OSX.
4093 2016-01-07  Glenn Morris  <rgm@gnu.org>
4095         * admin/admin.el (set-version): Also handle the NEWS file.
4097 2016-01-07  Dmitry Gutov  <dgutov@yandex.ru>
4099         apropos-library: Skip obvious duplicates; don't error on generics
4101         * lisp/apropos.el (apropos-library): Skip "was an autoload"
4102         entries, to avoid obvious duplicates.  For each cl-defmethod
4103         entry, take just its function symbol (bug#21422).
4105 2016-01-07  Dmitry Gutov  <dgutov@yandex.ru>
4107         Add project-find-file and project-or-external-find-file
4109         * lisp/minibuffer.el (completion-category-defaults):
4110         Add `project-file' category.
4112         * lisp/progmodes/project.el (project-find-file)
4113         (project-or-external-find-file): New commands.
4114         (project--find-file-in): New private function.
4116         * lisp/progmodes/xref.el (xref-collect-matches): Use
4117         `expand-file-name' on DIR, to expand the tildes.
4118         (xref--find-ignores-arguments): Extract from
4119         `xref--rgrep-command'.
4121 2016-01-06  Leo Liu  <sdl.web@gmail.com>
4123         Add defvar-local to lisp-imenu-generic-expression
4125         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add
4126           defvar-local.
4128 2016-01-06  Leo Liu  <sdl.web@gmail.com>
4130         Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
4132         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
4133           Don't declare (indent 1).
4135 2016-01-06  Glenn Morris  <rgm@gnu.org>
4137         * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
4139 2016-01-06  Glenn Morris  <rgm@gnu.org>
4141         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
4143         Avoid specifying the length of a time object (it has not been "2"
4144         for some time).
4146 2016-01-06  Andreas Schwab  <schwab@linux-m68k.org>
4148         Properly encode/decode base64Binary data in SOAP
4150                 * lisp/net/soap-client.el (soap-encode-xs-basic-type): Encode
4151                 base64Binary value as utf-8.
4152                 (soap-decode-xs-basic-type): Decode base64Binary value as utf-8.
4154 2016-01-06  Eli Zaretskii  <eliz@gnu.org>
4156         Obey coding-system-for-write when writing stdout/stderr in batch
4158         * src/print.c (printchar_to_stream):
4159         * src/xdisp.c (message_to_stderr): If coding-system-for-write has
4160         a non-nil value, use it to encode output in preference to
4161         locale-coding-system.  See the discussions in
4162         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00048.html
4163         for the details.
4165         * doc/lispref/os.texi (Terminal Output): Document how to send
4166         non-ASCII text via 'send-string-to-terminal'.
4167         (Batch Mode): Document how text written to standard streams is
4168         encoded.  Fix inaccuracy regarding which output streams are used
4169         by output functions in batch mode.
4171 2016-01-06  Xue Fuqiao  <xfq.free@gmail.com>
4173         * doc/misc/efaq.texi (Packages that do not come with Emacs):
4174         Update the URI of MELPA and marmalade-repo.  Reported by CHENG Gao
4175         <chenggao@royau.me> in
4176         https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
4178 2016-01-05  Maksim Golubev  <maksim.golubev72@gmail.com>  (tiny change)
4180         * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
4182         Fix backslash.  (Bug#22224)
4184 2016-01-05  Federico Beffa  <beffa@ieee.org>  (tiny change)
4186         * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
4188         Make it actually work.  (Bug#22265)
4190 2016-01-05  Alan Mackenzie  <acm@muc.de>
4192         Remove function wrongly on AWK Mode value of context fontification hook.
4194         * lisp/progmodes/cc-langs.el (c-before-context-fontification-functions):
4195         swap order of entries so that awk's entry isn't superseded by the default.
4197         * lisp/progmodes/cc-mode.el (c-before-context-fl-expand-region): Correct
4198         to handle nil value of c-before-context-fontification-functions.
4200 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4202         * src/buffer.c: Stick with ASCII in doc string.
4204 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4206         Reword transient-mark-mode doc string
4208         * src/buffer.c (syms_of_buffer): Reword doc string to avoid confusion.
4209         The value 'lambda (literally) can be interpreted as (quote lambda),
4210         which is not intended here; we want just the lambda symbol.
4212 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
4214         Update doc string of 'selective-display'
4216         * src/buffer.c (syms_of_buffer) <selective-display>: Say that
4217         using it with the value of 't' is obsolete.  (Bug#1092)
4219 2016-01-05  Alan Mackenzie  <acm@muc.de>
4221         Make C++ buffers writeable when writing their initial text properties.
4223         This is a correction to yesterday's CC Mode patch.
4225         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Put
4226         c-save-buffer-state around the function rather than a mere `let'.
4228 2016-01-05  Michael Albinus  <michael.albinus@gmx.de>
4230         Additional changes for "make check-expensive"
4232         * CONTRIBUTE : Encourage use of ":tags '(:expensive-test)".
4233         Explain make target `check-expensive'.
4235         * etc/NEWS: Mention new make target `check-expensive'.
4237         * test/automated/Makefile.in (check-doit): New target.
4238         (check, check-expensive): Use it.
4240 2016-01-04  Alan Mackenzie  <acm@muc.de>
4242         Apply text properties for <, > in new after-change function (C++ Java Modes).
4244         These are category/syntax-table properties to give < and > paren syntax.
4245         Also apply certain `c-type' text properties to the insides of <..> constructs
4246         to ensure that identifiers contained by them get fontified.  This patch fixes
4247         bug #681.
4249         * lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Reformulate due to new
4250         after-change action.
4252         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Expand
4253         change region to include <s and >s which might not be already marked as
4254         parens, rather than just when paren text properties are removed.
4255         (c-restore-<>-properties): New after-change function, which applies text
4256         properties marking < and > with paren syntax.
4258         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Ensure `c-type'
4259         properties are applied to the interiors of <...> constructs, to ensure
4260         fontification of identifiers there.
4262         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
4263         c-restore-<>-properties to this list for C++ and Java.
4265         * lisp/progmodes/cc-mode.el (c-common-init): When invoking
4266         c-before-font-lock-functions, exclude c-restore-<>-properties from the
4267         functions invoked.
4268         (c-before-change): Initialize c-new-BEG/END here (rather than c-after-change)
4269         to allow modification by before-change functions.
4270         (c-after-change): Amend c-new-END here, rather than initializing it and
4271         c-new-BEG.
4273 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
4275         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
4277 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
4279         Introduce check-expensive tests.
4281         * Makefile.in (check-expensive):
4282         * test/automated/Makefile.in (check-expensive): New target.
4284         * test/automated/auto-revert-tests.el
4285         (auto-revert-test01-auto-revert-several-files):
4286         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
4287         * test/automated/tramp-tests.el (tramp-test26-process-file)
4288         (tramp-test27-start-file-process, tramp-test28-shell-command)
4289         (tramp-test29-vc-registered)
4290         (tramp-test31-special-characters-with-stat)
4291         (tramp-test31-special-characters-with-perl)
4292         (tramp-test31-special-characters-with-ls)
4293         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
4294         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
4295         (tramp-test35-unload): Tag the tests as :expensive-test.
4297 2016-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4299         shr-tag-video bug fix
4301         * shr.el (shr-tag-video): Protect against the `poster' being
4302         empty.
4304 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
4306         Minor fixes in tramp-tests.el
4308         * test/automated/tramp-tests.el (tramp-test26-process-file):
4309         Move point properly.
4310         (tramp-test29-vc-registered): Work with relative file names.
4312 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
4314         Ensure redisplay when 'truncate-lines' is set
4316         * lisp/frame.el (redisplay--variables): Add 'truncate-lines'.
4317         (Bug#22303)
4319 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
4321         Fix a doc string of 'transient-mark-mode'
4323         * src/buffer.c (syms_of_buffer) <transient-mark-mode>: Prevent
4324         "lambda" in doc string from becoming a link to lambda expressions.
4326 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
4328         MS-Windows followup to latest gnulib update
4330         * nt/gnulib.mk (EXTRA_DIST): Add ignore-value.h.
4332 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4334         Spelling fix
4336 2016-01-03  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
4338         Do secure signed Bcc handling
4340         * lisp/gnus/message.el (message-send): Do secure signed Bcc handling
4341         (bug#18718).
4343 2016-01-03  Paul Eggert  <eggert@cs.ucla.edu>
4345         Avoid stdio in SIGINT handler
4347         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
4348         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
4349         * lib/ignore-value.h: New file, from gnulib.
4350         * src/keyboard.c: Include it.
4351         (write_stdout, read_stdin): New functions.
4352         (handle_interrupt): Use them instead of printf and getchar,
4353         and avoid fflush when handling signals.
4355 2016-01-03  Paul Eggert  <eggert@cs.ucla.edu>
4357         * doc/misc/texinfo.tex: Revert unwanted copyright change.
4359 2016-01-03  Artur Malabarba  <bruce.connor.am@gmail.com>
4361         * lisp/align.el (align): Simplify a lambda
4363         * lisp/align.el (align): Fix arg order in call to `align-region'
4365 2016-01-03  Eli Zaretskii  <eliz@gnu.org>
4367         Fix compilation next-error in buffers with selective-display
4369         * lisp/progmodes/compile.el (compilation-beginning-of-line): New
4370         function.
4371         (compilation-internal-error-properties)
4372         (compilation-next-error-function, compilation-set-window): Use
4373         it.  (Bug#1092)
4375 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4377         * nsm.el (nsm-check-protocol): Fix typo in the message.
4379 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4381         Add SHA1 warnings for high network security settings
4383         * nsm.el (nsm-check-protocol): When using high security, warn
4384         about SHA1 certificates, which are now believed to be open to
4385         spoofing.
4387 2016-01-02  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
4389         Refactor mml-smime.el, mml1991.el, mml2015.el
4391         (Maybe this is the last merge from Gnus git to Emacs git)
4393         Cf. discussion on ding mailing list, messages in
4394         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
4395         Common code from the three files mml-smime.el, mml1991.el, and
4396         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
4397         to gnus-util.el.
4399         The code is supported by test cases with necessary test keys.
4401         Documentation in message.texi is updated.
4403         * doc/misc/message.texi (Security, Using S/MIME):
4404         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
4405         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
4406         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
4408         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
4409         New functions.
4411         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
4412         (epa--select-keys): Autoload.
4413         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
4414         (mml-secure-openpgp-signers): New user option;
4415         make mml1991-signers and mml2015-signers obsolete aliases to it.
4416         (mml-secure-smime-signers): New user option;
4417         make mml-smime-signers an obsolete alias to it.
4418         (mml-secure-openpgp-encrypt-to-self): New user option;
4419         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
4420         aliases to it.
4421         (mml-secure-smime-encrypt-to-self): New user option;
4422         make mml-smime-encrypt-to-self an obsolete alias to it.
4423         (mml-secure-openpgp-sign-with-sender): New user option;
4424         make mml2015-sign-with-sender an obsolete alias to it.
4425         (mml-secure-smime-sign-with-sender): New user option;
4426         make mml-smime-sign-with-sender an obsolete alias to it.
4427         (mml-secure-openpgp-always-trust): New user option;
4428         make mml2015-always-trust an obsolete alias to it.
4429         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
4430         New user options.
4431         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
4432         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
4433         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
4434         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
4435         (mml-secure-passphrase-callback, mml-secure-check-user-id)
4436         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
4437         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
4438         (mml-secure-fingerprint, mml-secure-filter-keys)
4439         (mml-secure-normalize-cust-name, mml-secure-select-keys)
4440         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
4441         (mml-secure-self-recipients, mml-secure-recipients)
4442         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
4444         * lisp/gnus/mml-smime.el: Require epg;
4445         refactor declaration and autoloading of epg functions.
4446         (mml-smime-use): Doc fix.
4447         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
4448         Obsolete.
4449         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
4450         Use format instead of gnus-format-message.
4451         (mml-smime-epg-secret-key-id-list): Remove variable.
4452         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
4453         (mml-smime-epg-find-usable-secret-key): Remove functions.
4454         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
4456         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
4457         (mml1991-passphrase-cache-expiry): Obsolete.
4458         (mml1991-epg-secret-key-id-list): Remove variable.
4459         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
4460         (mml1991-epg-find-usable-secret-key): Remove functions.
4461         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
4463         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
4464         (mml2015-passphrase-cache-expiry): Obsolete.
4465         (mml2015-epg-secret-key-id-list): Remove variable.
4466         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
4467         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
4468         (mml2015-epg-find-usable-secret-key): Remove functions.
4469         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
4470         (mml2015-epg-encrypt): Refactor.
4472 2016-01-02  Glenn Morris  <rgm@gnu.org>
4474         * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
4476         Explicitly ignore case.  (Bug#22262)
4478 2016-01-02  Stefan Monnier  <monnier@iro.umontreal.ca>
4480         (semantic-symref-derive-find-filepatterns): Return a list
4482         * lisp/cedet/semantic/symref/grep.el
4483         (semantic-symref-derive-find-filepatterns): Return a list.
4484         (semantic-symref-perform-search): Quote the result here once and for all.
4486 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4488         Fix xref-find-references on MS-Windows
4490         * lisp/cedet/semantic/symref/grep.el
4491         (semantic-symref-derive-find-filepatterns): Use
4492         'shell-quote-argument' instead of manually quoting in a way that
4493         only works with Posix shells.  (Bug#22289)
4495 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4497         Document new features of tildify-mode
4499         * lisp/textmodes/tildify.el (tildify-foreach-ignore-environments)
4500         (tildify-mode): Spelling fixes in doc strings.
4502         * etc/NEWS: Reformat the tildify-mode entry.
4504 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4506         Document new features of Whitespace mode
4508         * doc/emacs/display.texi (Useless Whitespace): Document
4509         'whitespace-toggle-options' and the new 'big-indent' style.
4510         Document 'whitespace-big-indent-regexp'.  Document the Global
4511         Whitespace mode.
4513 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4515         Improve documentation of new Hide-IfDef features
4517         * etc/NEWS: Expand and reword Hide-IfDef section.
4519 2016-01-02  Leo Liu  <sdl.web@gmail.com>
4521         Fix regression in font-locking cl-assert and cl-check-type
4523         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Fix
4524           el-errs-re.
4526 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4528         Spelling and grammar fixes
4530 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4532         Fix copyright years by hand
4534         These are dates that admin/update-copyright did not update, or
4535         updated incorrectly.
4537 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4539         Update copyright year to 2016
4541         Run admin/update-copyright.
4543 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4545         Merge from gnulib
4547         This mostly just updates copyright dates of gnulib files.
4548         It also updates to the latest version of texinfo.tex.
4550 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
4552         lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
4554 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
4556         Port chart.el methods to cl-generic.
4558         cl-call-next-method cannot be used inside EIEIO's defmethod.
4559         * lisp/emacs-lisp/chart.el: Require cl-generic at compile time.
4560         * lisp/emacs-lisp/chart.el (initialize-instance, chart-draw):
4561         (chart-draw-title, chart-size-in-dir, chart-draw-axis):
4562         (chart-axis-draw, chart-translate-xpos, chart-translate-ypos):
4563         (chart-translate-namezone, chart-draw-data, chart-add-sequence):
4564         (chart-trim, chart-sort): Use cl-defmethod instead of defmethod.
4566 2015-12-31  Brian Burns  <bburns.km@gmail.com>
4568         Add nt/INSTALL.W64 build instructions
4570         * nt/INSTALL.W64: New file.
4571         * nt/INSTALL: Point to INSTALL.W64 for 64-bit build instructions.
4573 2015-12-31  Joakim Jalap  <joakim.jalap@fastmail.com>
4575         Add new input method 'programmer-dvorak'
4577         * lisp/leim/quail/programmer-dvorak.el ("programmer-dvorak"): New
4578         input method.
4580         * etc/NEWS: Mention it.
4582 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
4584         Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
4586         * lisp/textmodes/flyspell.el (flyspell-prog-mode): Record the
4587         original M-TAB binding in a buffer-local variable.
4588         (flyspell-auto-correct-word): Invoke the original binding of M-TAB
4589         if that is recorded, when point is in a place where flyspell
4590         should not be active (e.g., because the user turned on
4591         'flyspell-prog-mode').  (Bug#18533)
4593 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
4595         Fix EWW rendering of long RTL lines
4597         * lisp/net/shr.el (shr-insert-document): Undo any previous hscroll
4598         of the selected window before filling its lines.  (Bug#22250)
4600 2015-12-31  Vincent Belaïche  <vincentb1@users.sourceforge.net>
4602         fix  bug#21054
4604         * ses.el (ses-check-curcell): Call `ses-set-curcell' unconditionally
4606 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4608         Clean up cairo printing code
4610         * src/gtkutil.c (xg_get_page_setup): Use listn.
4611         * src/xfns.c (Fx_export_frames, Fx_print_frames_dialog): Doc fix.  Use
4612         decode_window_system_frame and FRAME_VISIBLE_P.
4613         (Fx_print_frames_dialog): Use redisplay_preserve_echo_area instead
4614         of Fdisplay.
4615         * src/xterm.c (x_cr_export_frames): Use redisplay_preserve_echo_area
4616         instead of Fdisplay.  Temporarily unblock_input around QUIT.
4618 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4620         Add handle_user_signal_hook
4622         * src/keyboard.h (handle_user_signal_hook): New declaration.
4623         * src/keyboard.c (handle_user_signal_hook): New variable.
4624         (handle_user_signal): Call it.
4626 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4628         Avoid writing to purespace
4630         * src/alloc.c (Fmake_string): Don't write to empty string contents.
4631         (allocate_vector): Don't write to empty vector size.
4632         * src/character.h (CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR):
4633         Don't call unnecessary XSETCAR or XSETCDR.
4634         * src/lisp.h (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE): Don't
4635         write to empty string size_byte.
4637 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4639         Remove unused variable
4641         * lisp/international/mule-cmds.el: Remove unused variable
4642         `mac-system-coding-system'.
4644 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4646         * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
4648 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4650         Use posix_openpt instead of openpty on Darwin
4652         * configure.ac (PTY_ITERATION, FIRST_PTY_LETTER, PTY_OPEN)
4653         (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Remove
4654         Darwin-specific definitions.  Use posix_openpt instead.
4656 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
4658         Document support for ':documentation' in Lisp mode
4660         * lisp/emacs-lisp/lisp-mode.el (lisp-string-in-doc-position-p)
4661         (lisp-string-after-doc-keyword-p)
4662         (lisp-font-lock-syntactic-face-function): Add doc strings.
4664 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
4666         Document new features of TeX mode
4668         * doc/emacs/text.texi (TeX Print): Document
4669         'tex-print-file-extension'.
4670         * doc/emacs/programs.texi (Misc for Programs): Document support
4671         for Prettify Symbols mode in TeX mode.
4673 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
4675         Clarify docs of hscroll in RTL text
4677         * doc/lispref/windows.texi (Horizontal Scrolling): Clarify the
4678         meaning of a window's horizontal scroll amount for RTL paragraphs.
4680 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
4682         Fix rendering of HTML pages that use character composition
4684         * src/indent.c (Fvertical_motion): Fix the case when point starts
4685         in the middle of a composition, as in shr-vertical-motion.
4686         (Bug#22250)
4688 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
4690         Avoid some compiler warnings in w32.c
4692         * src/w32.c (codepage_for_filenames, crlf_to_lf)
4693         (ansi_encode_filename, socket_to_fd, sys_write)
4694         (check_windows_init_file): Avoid compiler warnings about
4695         differences in pointer signedness.
4697 2015-12-29  Dmitry Gutov  <dgutov@yandex.ru>
4699         Undo ill-advised change
4701         * lisp/progmodes/xref.el (xref-collect-matches): Undo
4702         ill-advised change.  The hits come in the order that `find'
4703         produces them in, which isn't alphabetical.
4705 2015-12-29  Dmitry Gutov  <dgutov@yandex.ru>
4707         Unbreak completion in python-mode buffers
4709         * lisp/progmodes/python.el (python-shell-completion-at-point):
4710         Unbreak in python-mode buffers.
4712 2016-01-09  Andrew Hyatt  <ahyatt@gmail.com>
4714         Adding example replies to bug-triage.
4716         * admin/notes/bug-triage: Added example replies. Also, as requested,
4717           making the process notes into more of a checklist.
4719 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
4721         Rename the notes/admin/triage file to bug-triage.
4723         * CONTRIBUTE: Change reference to the triage file name.
4724         * admin/notes/triage: Rename file to admin/notes/bug-triage.
4726 2016-01-07  Glenn Morris  <rgm@gnu.org>
4728         Allow creation of loaddefs files without timestamps.
4730         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
4731         (autoload-generate-file-autoloads, update-directory-autoloads):
4732         If autoload-timestamps is nil, write "t" instead of file timestamp.
4733         (autoload-find-destination, update-directory-autoloads):
4734         If timestamp is "t", use the modtime of the output file instead.
4736 2016-01-06  Glenn Morris  <rgm@gnu.org>
4738         Doc tweaks.
4740         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
4741         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
4742         (calendar-iso-from-absolute):
4743         * lisp/calendar/cal-tex.el (cal-tex-comment):
4744         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
4746 2016-01-06  Glenn Morris  <rgm@gnu.org>
4748         Build tweaks related to tags files.
4750         * lib-src/Makefile.in (tagsfiles): New variable.
4751         (TAGS): Also depend on the source files.  Use our own etags program.
4752         * lisp/Makefile.in (ETAGS): Add EXEEXT.
4753         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
4754         Remove.
4755         (tagsfiles): New, replacing lisptagsfiles1 etc.
4756         Remove irrelevant source files here rather than in the TAGS rule.
4757         (${ETAGS}): New rule.
4758         (TAGS): Also depend on the etags executable.
4759         * lwlib/Makefile.in (EXEEXT): New, set by configure.
4760         (ETAGS): Add EXEEXT.
4761         (${ETAGS}): New rule.
4762         (ctagsfiles): Use "wildcard".
4763         (TAGS): Also depend on the etags executable.
4764         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
4765         (${ETAGS}): New rule.
4766         (TAGS): Fix dependencies.
4767         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
4768         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
4769         Remove "-t" argument.
4770         (${ETAGS}): New rule.
4771         (tagsfiles): New variable.
4772         (TAGS): New rule, with proper dependencies.
4773         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
4774         (ctagsfiles1, ctagsfiles2): Use "wildcard".
4775         (ctagsfiles3): Remove.
4776         (TAGS): Depend on etags.
4777         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
4778         directories decide if updates are needed.
4780 2016-01-06  Glenn Morris  <rgm@gnu.org>
4782         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
4784 2016-01-06  Glenn Morris  <rgm@gnu.org>
4786         * test/lisp/emacs-lisp/package-tests.el
4788         (package-test-macro-compilation): Fixup branch merge.
4790 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
4792         Fix fallout from merging emacs-25 branch in test/
4794         * .gitignore: Update for the new place of biditest.txt.
4795         * test/automated/: Directory removed.  All files moved to their
4796         proper places.
4797         * test/etags/: Directory removed.  All files moved to their proper
4798         places.
4799         * test/automated/url-parse-tests.el: File removed; it was an exact
4800         copy of the same file in test/lisp/url/.
4801         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
4803 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4805         Spelling fixes.
4807 2016-01-04  Daniel Colascione  <dancol@dancol.org>
4809         Let users disable unsafe signal handling code
4811         * src/keyboard.c (syms_of_keyboard): New user variables
4812         `attempt-stack-overflow-recovery' and
4813         `attempt-orderly-shutdown-on-fatal-signal'.
4814         * src/sysdep.c (stack_overflow): Check
4815         `attempt-stack-overflow-recovery'.
4816         * src/emacs.c (terminate_due_to_signal): Check
4817         `attempt-orderly-shutdown-on-fatal-signal'.
4819 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
4821         * configure.ac: Add error message for gfile on Nextstep.
4823 2016-01-03  John Wiegley  <johnw@newartisans.com>
4825         Merge branch 'emacs-25-merge'
4827 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
4829         Align textually on fix done for emacs-25 branch for bug#21054
4831         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
4832         and useless `(if t ...)' in order to align textually on fix done for
4833         emacs-25 branch for bug#21054.
4835 2016-01-02  K. Handa  <handa@gnu.org>
4837         support rendering of wider range of combinging characters by ftfont backend
4839         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
4840         supports rendering of combining characters, call
4841         font-shape-gstring.
4843         * src/font.c (Ffont_get): Handle `combining-capability' property.
4844         (syms_of_font): New symbol ":combining-capability'.
4846         * src/font.h (struct font_driver): New member combining_capability.
4848         * src/ftfont.c: Include "category.h".
4849         (ftfont_driver): Initialize combining_capability to
4850         ftfont_combining_capability.
4851         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
4852         FLT in advance.
4853         (ftfont_combining_capability): New function.
4855 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
4857         Add notes on bug triage procedure
4859         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
4860         * admin/notes/triage: New file explaining triage procedure.
4862 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
4864         Correct ses-rename-cell cursor-intangible text prop updating.
4866         There were two problems:
4868         - First ses-rename-cell has to work when called non interactively
4869           (with non-nil CELL argument), so in this case the start pos of
4870           put-text-property cannot be plainly (point), you need a
4871           ses-goto-print call before
4873         - Second, the range itself was computed erronously, only the first
4874           char was affected instead of the full cell width. This was not
4875           noticeable prior to changes (Deprecate `intangible' and
4876           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
4878         * lisp/ses.el (ses-rename-cell): Correct computation of position range
4879         to which the 'cursor-intangible text property has to be set to cell
4880         new name.
4882 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
4884         Don't fake empty cells value by "" when printing with a lambda.
4886         When using a lambda expression printer function the user should be
4887         free to format differently a really empty cell, ie. containing nil,
4888         from a cell containing an empty string "".
4890         * ses.el (ses-call-printer): Replace `(or value "")' by just `value'
4891         in the case of a lambda expression printer function.
4893         * ses.texi (Printer functions): Add example and description about
4894         lambda expression printer function handling all the possible values,
4895         including unexpected ones.
4897 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
4899         Quick temporary hack to fix curcell refreshing.
4901         The problem was caused by change: 2015-04-13 Deprecate `intangible'
4902         and `point-entered' properties. The problem is that this change has
4903         removed the (setq ses--curcell t) setting in the ses-command-hook
4904         function.
4906         * ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
4907         a condition to call function `ses-set-curcell'. Comment this as a quick
4908         temporary hack to make it work, as I don't know yet whether a definite
4909         correction would be to make the ses-set-curcell at every ses-check-curcell,
4910         or to revert to the previous approach, ie marking ses--curcell as out-of-date
4911         at every potentially cursor motion command.
4913 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4915         Restrictive URL checking tweaks
4917         * lisp/net/eww.el (eww): Check whether the domain is
4918         restrictive instead of the string
4919         (http://македонија.icom.museum is restrictive even if each
4920         part is from a different script).
4922 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4924         New function `puny-highly-restrictive-domain-p'
4926         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
4927         (puny-highly-restrictive-domain-p): New function.
4929 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4931         eww build fix (require puny)
4933 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4935         Transform non-restrictive domains to punycode for display
4937         * lisp/net/eww.el (eww): Check whether the domain is Highly
4938         Restrictive in the Unicode IDNA sense.
4940 2015-12-30  John Wiegley  <johnw@newartisans.com>
4942         Merge emacs-25 into master (using imerge)
4944 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
4946         Fix typos in CC Mode manual
4948         * doc/misc/cc-mode.texi (c-offsets-alist, Style Variables): Fix
4949         typos.  (Bug#22267)
4951 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
4953         Avoid assertion violations in compact_font_cache_entry
4955         * src/alloc.c (compact_font_cache_entry): Don't use VECTORP to
4956         avoid assertion violation in ASIZE.  (Bug#22263)
4958 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
4960         Fix filling text with bidirectional characters in shr.el
4962         * lisp/net/shr.el (shr-insert-document): Bind
4963         bidi-display-reordering to nil while filling lines.  This is
4964         required for when a line includes characters whose bidi
4965         directionality is opposite to the base paragraph direction,
4966         because columns are counted in the logical order.  (Bug#22250)
4968 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
4970         Further Unicode restrictive fixups
4972         * puny.el (puny-highly-restrictive-p): Include the extra
4973         identifier characters from table 3.
4975 2015-12-29  Martin Rudalics  <rudalics@gmx.at>
4977         * src/xfns.c (x_create_tip_frame): Process alpha parameter.
4979 2015-12-29  Michael Albinus  <michael.albinus@gmx.de>
4981         Sync with Tramp 2.2.13
4983         * doc/misc/trampver.texi: Change version to "2.2.13.25.1".
4985         * lisp/net/tramp-compat.el (tramp-compat-delete-dups):
4986         Use `tramp-compat-funcall'.
4988         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names):
4989         Make `split-string' call compatible with older Emacsen.
4991         * lisp/net/trampver.el: Change version to "2.2.13.25.1".
4993 2015-12-29  Lambda Coder  <sjLambda@gmail.com>
4995         * doc/misc/tramp.texi: Editorial revisions to the Tramp manual
4997 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
4999         Mention that tls.el is secure by default, and will fail
5001 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
5003         Make tls.el use trustfiles by default
5005         * lisp/net/tls.el (tls-program): Add a certfile by default (bug#21227).
5006         (open-tls-stream): Insert the trustfile by looking at
5007         `gnutls-trustfiles'.
5009 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
5011         Refactor out gnutls-trustfiles
5013         * lisp/net/gnutls.el (gnutls-trustfiles): Refactor out for reuse by tls.el.
5015 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
5017         Remove --insecure from gnutls-cli invocation
5019         * tls.el (tls-program): Default to using secure TLS
5020         connections (bug#19284).
5022 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
5024         Add a new function to say whether a string is restrictive
5026         * puny.el (puny-highly-restrictive-p): New function.
5028 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
5030         Spelling fix
5032 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
5034         Port report-emacs-bug to deterministic builds
5036         * lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
5037         recent "built on" change to deterministic builds where
5038         emacs-build-system will be nil.  See:
5039         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
5041 2015-12-28  Jose A. Ortega Ruiz  <jao@gnu.org>  (tiny change)
5043         Fix URL auth error message
5045         * lisp/url/url-http.el (url-http-handle-authentication): Make the error
5046         message more correct (bug#20069).
5048 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5050         Mention the new puny.el library
5052 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5054         IDNA-related fixes for the URL library
5056         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
5057         the Host: header.
5059         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
5060         domain names, but leave them as UTF-8, so that they can be
5061         IDNA-encoded later when contacting the host.
5063 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5065         IDNA-encode all domain names in `open-network-stream'
5067         * network-stream.el (open-network-stream)
5068         (network-stream-open-plain, network-stream-open-starttls):
5069         IDNA-encode all domain names, if needed.
5071 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5073         Fix puny-encoding all-non-ASCII domains
5075         * puny.el (puny-encode-string): Fix the all-non-ASCII encoding case.
5077 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5079         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
5081 2015-12-28  Tom Tromey  <tom@tromey.com>
5083         set :safe on css-indent-offset
5085         * lisp/textmodes/css-mode.el (css-indent-offset): Add :safe 'integerp.
5087 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5089         * eww.el (eww-mode): Remove superfluous bidi reset.
5091 2015-12-28  James Stout  <james.wolf.stout@gmail.com>  (tiny change)
5093         Make chunked encoding trailer detection more compliant
5095         * lisp/url/url-http.el
5096         (url-http-chunked-encoding-after-change-function): Make
5097         trailer detection more compliant (bug#16345).
5099 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5101         Reconnect erc even on server errors
5103         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
5104         reconnect even if a server error has occurred (bug#18527).
5106 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5108         Fix punycode short circuit logic
5110         * puny.el (puny-encode-domain): Fix short-circuit logic.
5112 2015-12-28  Martin Rudalics  <rudalics@gmx.at>
5114         Fix Bug#10873 in `report-emacs-bug'
5116         * lisp/mail/emacsbug.el (report-emacs-bug): If
5117         `report-emacs-bug-no-explanations' is nil, make sure we can show
5118         mail and warnings buffer on this frame (Bug#10873).
5120 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5122         IDNA speed up
5124         * puny.el (puny-encode-domain): Make the common non-IDNA case faster
5126 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5128         Add IDNA domain encode/decode functions
5130         * puny.el (puny-decode-domain): New function.
5131         (puny-encode-domain): Ditto.
5132         (puny-decode-digit): Fix digit decoding error.
5134 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5136         Rename idna.el to puny.el
5138         * puny.el: Renamed from idna.el to avoid name collisions with
5139         the external idna.el library.
5141 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5143         Always reset the bidi direction
5145         * eww.el (eww-display-html): Always reset the bidi direction
5146         to `left-to-right' (bug#22257).
5148 2015-12-28  Alan Mackenzie  <acm@muc.de>
5150         Allow line comments ending with escaped NL to be continued to the next line.
5152         Use this in C, C++, and Objective C Modes.  Fixes bug#22246
5154         * src/syntax.c (comment-end-can-be-escaped): New buffer local variable.
5155         (forw-comment, back-comment): On encountering an end of comment character,
5156         test whether it is escaped when `comment-end-can-be-escaped' is non-nil.
5158         * doc/lispref/syntax.texi (Control Parsing): Describe
5159         `comment-end-can-be-escaped'.
5161         * etc/NEWS (Lisp Changes): Describe `comment-end-can-be-escaped'.
5163         * lisp/progmodes/cc-langs.el: New c-lang-setvar `comment-end-can-be-escaped'.
5165 2015-12-28  Katsumi Yamaoka  <yamaoka@jpl.org>
5167         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
5169         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
5170         Don't use split-string with 4th arg for old Emacsen compatibility.
5172 2015-12-27  Dmitry Gutov  <dgutov@yandex.ru>
5174         Rename project-library-roots to project-external-roots
5176         * lisp/progmodes/project.el (project-library-roots): Rename to
5177         project-external-roots.
5178         (project-library-roots-function): Rename to
5179         project-vc-external-roots-function.  Only use it in the VC
5180         backend, for now.  Update project-external-roots accordingly.
5181         (project-vc-library-roots): Remove.
5182         (project-or-libraries-find-regexp):
5183         Rename to project-or-external-find-regexp.
5185         * lisp/progmodes/elisp-mode.el (elisp-library-roots):
5186         Rename to elisp-load-path-roots.
5188         * lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
5189         an anonymous function for the default value of
5190         project-vc-external-roots-function.
5192 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5194         * idna.el (idna-decode-string-internal): Implement decoding.
5196 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5198         Further IDNA tweaks
5200         (idna-encode-string): Make idna-encode-string safe for
5201         non-ASCII use.
5203 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5205         Clean up the code slightly
5207 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5209         Added basic idna encoding support
5211         * lisp/net/idna.el: New file.
5213 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
5215         Disconnection fixes for erc
5217         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
5218         reconnect if the user has disconnected explicitly (bug#4589).
5220 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
5222         Further erc asynch fixes
5224         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
5225         erc-server-connect to return even if the connection is not
5226         ready.  Then erc-open and erc-server-reconnect do the
5227         same. (bug#5650).
5229 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
5231         Make erc connect asynchronously
5233         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
5234         reconnect asynchronously.
5236         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
5238 2015-12-27  Deniz Dogan  <deniz@dogan.se>
5240         Clear erc user list upon disconnection
5242         * lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
5243         lists upon disconnection.  This prevents invalid channel
5244         user lists when reconnecting (bug#10947).
5246 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5248         Don't bug out in erc after waking from sleep
5250         * erc-backend.el (erc-server-send-ping): If the server has
5251         closed connection, this may already have been detected and
5252         `erc-server-last-received-time' has been set to nil (bug#13608).
5254 2015-12-27  David Edmondson  <dme@dme.org>
5256         Proxy error in erc with multiple clients
5258         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
5259         generated when multiple IRC clients talk to a single IRC proxy
5260         (bug#19034).
5262 2015-12-27  Dima Kogan  <dima@secretsauce.net>
5264         Ensure that we don't have several timers in erc
5266         * lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
5267         for existing timers in the alist before adding new ones.  If a
5268         timer already exists, it is cancelled and
5269         overwritten. (bug#19292).
5271 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
5273         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
5274         (bug#18718).
5276 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5278         * lisp/erc/erc-log.el (erc-log-setup-logging): Insert the previous log
5279         at the start of the buffer, not at the end (bug#20496).
5281 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5283         * lisp/net/eww.el (eww-setup-buffer): Restore left-to-right defaults.
5285 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5287         Don't join erc channels doubly
5289         * erc-join.el (erc-autojoin-channels): Don't join channels
5290         more than once (if you have several nicks) (bug#20695).
5292 2015-12-27  Eli Zaretskii  <eliz@gnu.org>
5294         Avoid leaving "ghost" of mouse pointer on MS-Windows
5296         * src/w32term.c (frame_set_mouse_pixel_position):
5297         * src/w32fns.c (Fw32_mouse_absolute_pixel_position): Momentarily
5298         disable "mouse trails" when moving the mouse pointer.  (Bug#22247)
5299         * src/w32term.c (frame_set_mouse_pixel_position): Include
5300         w32common.h.
5302 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5304         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
5306 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
5308         Identify unsafe combinations of Bcc and encryption
5310         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
5311         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
5312         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
5314 2015-12-27  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
5316         Fix auth source lookups from erc with port numbers
5318         * lisp/erc/erc.el (erc-open): `auth-source' wants strings, not port
5319         numbers (bug#20541).
5321 2015-12-27  Fran Litterio  <flitterio@gmail.com>
5323         Run erc-kill-channel-hook always on exit
5325         * lisp/erc/erc.el (erc-kill-buffer-function): Run erc-kill-channel-hook
5326         when erc-kill-queries-on-quit is set (bug#21187).
5328 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
5330         Spelling fix
5332         * test/automated/url-parse-tests.el:
5333         (url-generic-parse-url/same-document-reference):
5334         Rename from url-generic-parse-url/same-decument-reference.
5336 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
5338         Reword initial *scratch* for brevity, appearance
5340         * lisp/startup.el (initial-scratch-message):
5341         Reword to avoid apostrophes, and to make it shorter.
5342         See the thread starting in:
5343         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html
5345 2015-12-26  Leo Liu  <sdl.web@gmail.com>
5347         Add ert-deftest to lisp-mode.el
5349         * lisp-mode.el (lisp-imenu-generic-expression,
5350           lisp-el-font-lock-keywords-1): Add ert-deftest.
5352 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
5354         Mark imap changes as not needing doc changes
5356         * imap.el (imap-ssl-open): Remove
5358 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
5360         Use built-in encryption in imap.el
5362         * lisp/net/imap.el (imap-ssl-program): Remove (bug#21134).
5363         (imap-starttls-open): Use open-network-stream instead of starttls.el.
5364         (imap-tls-open): Use open-network-stream instead of tls.el.
5366 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5368         Don't try using /bin/sh in artist.el on MS-Windows
5370         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
5371         New function.
5372         (artist-figlet-choose-font): Use it on MS-Windows and MS-DOS.
5373         (Bug#20167)
5375 2015-12-26  Wolfgang Jenkner  <wjenkner@inode.at>
5377         Always define gmalloc etc. in src/gmalloc.c
5379         This is a work-around to prevent the compiler from using semantic
5380         knowledge about malloc for optimization purposes.  E.g., gcc 5.2
5381         with -O2 replaces most of calloc's definition by a call to calloc;
5382         see Bug#22085.
5383         * src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
5384         (aligned_alloc, free): Do not undef.  Instead, define these as
5385         functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
5387 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5389         Fix documentation of browse-url browser-related functions
5391         * lisp/net/browse-url.el (browse-url)
5392         (browse-url-default-browser, browse-url-default-windows-browser)
5393         (browse-url-default-macosx-browser, browse-url-chromium)
5394         (browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS
5395         and NEW-WINDOW arguments in these functions.  (Bug#19421)
5397 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
5399         Propagate Bug#14412 fix to backtrace_eval_unrewind
5401         * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
5402         becomes accurate again. This shouldn’t affect behavior.
5403         (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.
5405 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5407         Don't produce non-ASCII characters in *scratch*
5409         * lisp/startup.el (initial-scratch-message): Quote apostrophes to
5410         avoid producing non-ASCII characters in the *scratch* buffer's
5411         commentary.
5413 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5415         Document changes in 'compare-windows'
5417         * lisp/vc/compare-w.el (compare-windows-removed)
5418         (compare-windows-added): Doc fix.
5420         * doc/emacs/files.texi (Comparing Files): Document the changes in
5421         window selection by 'compare-windows'.
5423 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5425         Document 'vc-annotate-background-mode'
5427         * doc/emacs/maintaining.texi (Old Revisions): Document
5428         'vc-annotate-background-mode'.
5430 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5432         Document 'vc-region-history'
5434         * doc/emacs/maintaining.texi (VC Change Log): Document
5435         'vc-region-history'.
5437 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5439         Improve documentation of 'vc-push'
5441         * doc/emacs/maintaining.texi (Pulling / Pushing): Expand and
5442         improve the documentation of 'vc-push'.
5444         * lisp/vc/vc.el (vc-pull, vc-push): Doc fix.
5446 2015-12-26  Alain Schneble  <a.s@realize.ch>
5448         Include the tests for the URL parsing fixes
5450 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5452         Document 'url-user-agent'.
5454         * lisp/url/url-http.el (url-user-agent): Move from here...
5455         * lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
5456         keep all the URL defcustoms in one place, and also have it defined
5457         whenever the URL library is loaded.
5459         * doc/misc/url.texi (Customization): Document 'url-user-agent'.
5461 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5463         Document protocols supported by URL library via Tramp
5465         * doc/misc/url.texi (Tramp): New node, describes the URL schemes
5466         supported via Tramp.
5467         (Supported URL Types, file/ftp, rlogin/telnet/tn3270): Mention
5468         Tramp.
5470 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5472         Document changes in Shell-script mode
5474         * lisp/progmodes/sh-script.el (sh-mode, sh-set-shell): Document
5475         the 'sh-shell' file-local variable.
5476         (top level): Add an auto-load form to avoid byte-compiler warning
5477         about 'comint-send-string'.
5479 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5481         Fix documentation of 'ses-define-local-printer'
5483         * doc/misc/ses.texi (Printer functions): Fix whitespace between
5484         sentences and punctuation.  Add an index entry for
5485         'ses-define-local-printer'.
5487 2015-12-26  Shakthi Kannan  <shakthimaan@gmail.com>
5489         Document 'ert-summarize-tests-batch-and-exit'
5491         * doc/misc/ert.texi (Running Tests in Batch Mode): Document
5492         'ert-summarize-tests-batch-and-exit'.
5494 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5496         Avoid assertion violation in unbind_to
5498         * src/eval.c (unbind_to) <SPECPDL_LET>: Avoid assertion violation
5499         if we get here with an object that is not a symbol.  (Bug#14412)
5501 2015-12-25  Andreas Schwab  <schwab@linux-m68k.org>
5503         Don't treat /foo/bar:mumble as ange-ftp address
5504         * lisp/net/browse-url.el (browse-url-filename-alist): Match colons
5505         only in the first component.  (bug#5362)
5507 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
5509         Make sure *scratch* etc. use forward slashes in its default-directory
5511         * lisp/startup.el (normal-top-level): On MS-Windows, convert
5512         backslashes to forward slashes while decoding default-directory
5513         of the initially-created buffers.
5515 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
5517         Restore info about the build host in bug reports
5519         * lisp/mail/emacsbug.el (report-emacs-bug): Report the system on
5520         which Emacs was built.  This is important information for
5521         investigating bug reports reported by users who don't build their
5522         Emacs.
5524 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
5526         Fix bootstrap broken by changes related to OS X file-name encoding
5528         * lisp/international/ucs-normalize.el (eval-when-compile): Make
5529         sure char-code-property-alist includes elements that allow access
5530         to 'decomposition' and 'canonical-combining-class' Unicode
5531         properties, as compiling ucs-normalize.el requires that.
5532         * lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
5533         only of charprop.el was already loaded.
5535         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
5536         New order-only dependency.
5538 2015-12-25  Leo Liu  <sdl.web@gmail.com>
5540         * lisp/ido.el (ido-add-virtual-buffers-to-list):
5541         Use bookmark-get-filename.
5543 2015-12-25  Michael Albinus  <michael.albinus@gmx.de>
5545         Make tramp-test29-vc-registered more robust
5547         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
5548         Move `bzr' case down.  Skip test when `vc-create-repo' fails.
5549         Remove instrumentation.
5551 2015-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5553         * lisp/term/x-win.el (x-gtk-stock-map): Fix typo.
5555 2015-12-23  Katsumi Yamaoka  <yamaoka@jpl.org>
5557         Fix `gnus-union' so as to behave like `cl-union'
5559         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat):
5560         Make gnus-union use `equal' to compare items in lists.
5562         * lisp/gnus/gnus-util.el (gnus-union):
5563         Make it behave like cl-union partially.
5565 2015-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5567         Fix dired.c typo with ptrdiff_t vs Lisp_Object
5569         * src/dired.c (file_name_completion): Don't assume Lisp_Object is
5570         an integer type, fixing a problem introduced in the recent fix for
5571         Bug#22169.
5573 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
5575         Document default process sentinel more prominently
5577         * doc/lispref/processes.texi (Asynchronous Processes): Mention the
5578         defaults for process filter and sentinel.  Provide cross-references.
5579         (Process Information): Provide cross-references to where filters
5580         and sentinels are described.
5581         (Filter Functions): Add an index entry for "default filter".
5582         (Sentinels): Add a few status messages not documented previously.
5583         Resolve the "killed" confusion.  Document and describe the default
5584         sentinel.  (Bug#22220)
5586 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
5588         Fix file-name completion on OS X
5590         * src/dired.c (file_name_completion): Reject false matches due to
5591         file-name-coding-systems that decompose characters when encoding
5592         file names, by comparing decoded file names as well.  (Bug#22169)
5593         (syms_of_dired) <Qdecomposed_characters>: New DEFSYM.
5595         * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a
5596         non-nil 'decomposed-characters' property.
5598 2015-12-23  Anders Lindgren  <andlind@gmail.com>
5600         File-name completion of non-ASCII characters on OS X (bug#22169)
5602         The coding system `utf-8-nfd', locally defined in ns-win.el,
5603         didn't provide a :pre-write-conversion method, causing file name
5604         completion of non-ASCII characters to fail.  Solved by using the
5605         `utf-8-hfs' coding system provided by `ucs-normalize'.
5607         * lisp/loadup.el: Load international/ucs-normalize (when building
5608         for ns).
5610         * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for
5611         `utf-8-hfs' and removed the old implementation.  Set `utf-8-hfs'
5612         as the file name coding system.
5614         * src/nsfns.m (ns-convert-utf8-nfd-to-nfc): Removed.
5616 2015-12-22  Tom Tromey  <tom@tromey.com>
5618         Fix bug #18588 by making bug-reference-bug-regexp more lenient
5620         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Accept
5621         "bug NNNN".  (Bug #18588)
5623 2015-12-22  Tom Tromey  <tom@tromey.com>
5625         add some cl-* aliases to lisp-mode imenu
5627         * (lisp-imenu-generic-expression): Add cl-define-compiler-macro,
5628         cl-defgeneric, and cl-defmethod.
5630 2015-12-22  Tom Tromey  <tom@tromey.com>
5632         Make a variable buffer-local
5634         * lisp/generic-x.el (generic-rul-mode-setup-function): Make
5635         font-lock-syntax-table buffer-local.  (Bug #21627)
5637 2015-12-22  Eli Zaretskii  <eliz@gnu.org>
5639         Fix decoding of text in URLs retrieved by EWW
5641         * lisp/net/eww.el (eww-render): Pass 'charset' to
5642         'eww-display-raw'.  Use the value of 'last-coding-system-used', if
5643         non-nil, to set 'buffer-file-coding-system' of the buffer where we
5644         show the URL.
5645         (eww-display-html, eww-display-raw): Decode the text correctly,
5646         using the charset found in the headers, and defaulting to UTF-8.
5647         If the user told us to use a specific encoding, override the
5648         charset from the headers.  (Bug#22222)
5650 2015-12-22  Alan Mackenzie  <acm@muc.de>
5652         Fix a coding error in c-forward-<>-arglist-recur.  Fixes bug#22156
5654         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Remove unused
5655         variable `tmp'.
5656         After a failed search for a matching ">", restore point before continuing.
5658 2015-12-22  Michael Albinus  <michael.albinus@gmx.de>
5660         Instrument Tramp tests
5662         * test/automated/tramp-tests.el (tramp-test29-vc-registered)
5663         (tramp--test-utf8): Instrument tests.
5665 2015-12-22  Martin Rudalics  <rudalics@gmx.at>
5667         Fix `display-buffer' call in `display-message-or-buffer' (Bug#22221)
5669         * lisp/simple.el (display-message-or-buffer): Call
5670         `display-buffer' with ACTION instead of NOT-THIS-WINDOW
5671         (Bug#22221).
5673 2015-12-21  Juri Linkov  <juri@linkov.net>
5675         * lisp/saveplace.el (toggle-save-place, save-place-to-alist)
5677         (save-places-to-alist, save-place-dired-hook):
5678         Check for dired-subdir-alist.  (Bug#19851)
5680 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5682         Add FIXME comment re stack overflow and modules
5684 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
5686         Revert some recent emacs-module commentary
5688         Most of the recently-added commentary was incorrect, due to the
5689         possibility of stack overflow.
5691 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
5693         Spelling fix: prefer "cooperate" to "co-operate"
5695 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
5697         Port undo fixes to -fno-common
5699         Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'.
5700         * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo)
5701         (buffer_before_last_command_or_undo):
5702         Declare in keyboard.h, and define in keyboard.c,
5703         instead of assuming the traditional Unix relaxed ref-def linkage.
5705 2015-12-20  Philipp Stephani  <phst@google.com>
5707         Improve commentary for emacs-module.c
5709         * src/lisp.h: Document emacs-module.c assumptions about EQ and NILP.
5710         * src/emacs-module.c (module_non_local_exit_get): Document that we
5711         cannot use the current implementation.
5712         (module_is_not_nil, module_eq): Document assumptions about EQ and
5713         NILP.
5715 2015-12-20  Michael Albinus  <michael.albinus@gmx.de>
5717         Suppress test on Mac OS X
5719         * test/automated/tramp-tests.el (tramp--test-darwin-p): New defun.
5720         (tramp--test-utf8): Use it.
5722 2015-12-20  Alan Mackenzie  <acm@muc.de>
5724         Merge branch 'scratch/follow' into emacs-25
5726         This allows Isearch, etc., to work well when Follow Mode is active.
5728 2015-12-19  Michael Albinus  <michael.albinus@gmx.de>
5730         * lisp/net/tramp-sh.el (tramp-get-ls-command-with-w-option):
5731         Improve check.
5733 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5735         Fix last commit
5737         * doc/emacs/rmail.texi (Rmail Deletion): Document new behavior of 'u'
5738         with numeric argument.
5740 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5742         Document new features of Rmail
5744         * doc/emacs/rmail.texi (Rmail Summary Edit, Rmail Deletion):
5745         Document new behavior of 'd' and 'C-d' with numeric argument.
5746         (Rmail Display): Document the rendering of HTML MIME parts.
5748 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5750         Improve documentation of new cl-lib functions
5752         * doc/misc/cl.texi (Predicates on Numbers, Numerical Functions):
5753         Fix wording.
5755 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5757         Document the new feature of 'minibuffer-with-setup-hook'
5759         * lisp/files.el (minibuffer-with-setup-hook): Clarify how FUN is
5760         added to `minibuffer-setup-hook'.
5762 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5764         Document new features of Font Lock
5766         * doc/lispref/modes.texi (Other Font Lock Variables): Document
5767         'font-lock-flush-function' and 'font-lock-ensure-function'.
5768         (Font Lock Basics): Document the basic fontification functions
5769         referenced in "Other Font Lock Variables".
5771         * lisp/font-lock.el (font-lock-flush, font-lock-ensure): Doc fix.
5773 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5775         Document new features of Rectangle mode
5777         * doc/emacs/killing.texi (Rectangles): Document "C-x C-x" in
5778         rectangle-mark-mode.
5780 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5782         Manual followup to last change
5784         * doc/lispref/display.texi (Displaying Messages): Sync with the
5785         doc string.  (Bug#22210)
5787 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5789         Clarify doc string of 'display-message-or-buffer'
5791         * lisp/simple.el (display-message-or-buffer): Doc fix.  Suggested
5792         by Sebastian Wiesner <swiesner@lunaryorn.com>.  (Bug#22210)
5794 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5796         * doc/emacs/emacs.texi (Top): Update top-level menus.
5798         * doc/lispref/elisp.texi (Top): Update top-level menus.
5800 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5802         Document how to avoid file-local variables that aren't
5804         * doc/emacs/custom.texi (Specifying File Variables): Describe how
5805         to prevent Emacs from interpreting unrelated text as file-local
5806         variables.  (Bug#22166)
5808 2015-12-19  Dave Thomas  <dave@pragprog.org>  (tiny change)
5810         Fix a typo in eterm-color's termcap entry
5812         * lisp/term.el (term-termcap-format): Fix a typo in the "ue="
5813         entry.  (Bug#22184)
5815 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5817         Allow 'browse-url-emacs' visit non-existent URLs
5819         * lisp/url/url-handlers.el (url-insert-file-contents): Don't
5820         signal an error if VISIT is non-nil, to more faithfully emulate
5821         the behavior of 'insert-file-contents'.  (Bug#22160)
5823 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5825         Remove SunOS 4.x cruft
5827         Support for SunOS 4.x was removed in Emacs 23 but some cruft was left behind.
5828         * lib-src/pop.c [sun]: Remove no-longer-needed include.
5829         * lwlib/xlwmenu.c (SUNSO41): Remove.
5831 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5833         Merge from gnulib
5835         This mostly commentary fixes.
5836         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
5837         * lib/gnulib.mk: Regenerate with new gnulib-tool.
5839 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
5841         Minor fixes in Tramp
5843         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
5844         Reorder ls arguments.
5846         * lisp/net/tramp.el (tramp-dissect-file-name): Fix docstring.
5848 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
5850         Make tramp a built-in package
5852         * lisp/finder.el (finder-compile-keywords): Update
5853         `package--builtins' also when Version: keyword is available.
5855         * lisp/net/trampver.el: Add Version: keyword.
5856         (tramp-version): Change it to "2.2.13.25.1", in order to be
5857         compatible with `version-to-list'.
5859 2015-12-18  Lele Gaifax  <lele@metapensiero.it>
5861         * etc/tutorials/TUTORIAL.it: Update and fix typos.  (Bug#22187)
5863 2015-12-18  Alan Mackenzie  <acm@muc.de>
5865         Rename `recenter-group' to `recenter-window-group'
5867         * doc/lispref/windows.texi (Textual Scrolling)
5868         * lisp/window.el (top level, recenter-group)
5869         * lisp/follow.el (follow-mode)
5870         * lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
5871         `recenter-window-group' and `recenter-group-function' to
5872         `recenter-window-group-function'.
5874 2015-12-18  Eli Zaretskii  <eliz@gnu.org>
5876         Fix vertical-motion in tabulated-list mode
5878         * src/indent.c (Fvertical_motion): When moving from line beginning
5879         to point under line truncation, assume overshoot by one line only
5880         if point actually lies beyond the window's right margin.
5881         (Bug#22194)
5883 2015-12-18  Martin Rudalics  <rudalics@gmx.at>
5885         Don't have help functions call x-display-pixel-width/-height on ttys
5887         * lisp/help.el (temp-buffer-max-height, temp-buffer-max-width):
5888         Don't call x-display-pixel-width/-height on ttys.
5890 2015-12-17  Dmitry Gutov  <dgutov@yandex.ru>
5892         Use 'hg id' in vc-hg-previous-revision
5894         * lisp/vc/vc-hg.el (vc-hg-previous-revision):
5895         Use 'hg id' to retrieve it (bug#22032).
5897 2015-12-17  Alan Mackenzie  <acm@muc.de>
5899         * lisp/follow.el (follow-sit-for): Remove (it's redundant).
5901 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
5903         Fix a typo in the Emacs manual
5905         * doc/emacs/trouble.texi (Sending Patches): Fix a typo.  Reported
5906         by Lele Gaifax <lele@metapensiero.it>.  (Bug#22193)
5908 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
5910         Fix parsing netrc entries with ports
5912         * lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't
5913         make a list out of 't'.  (Bug#22188)
5915         * test/automated/auth-source-tests.el
5916         (auth-source-test-netrc-parse-entry): New test.
5918 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
5920         Fix typo in Doug Lea malloc configure log
5922         * configure.ac (emacs_cv_var_doug_lea_malloc):
5923         Fix typo that confused the log output of 'configure'.
5925 2015-12-16  Nicolas Petton  <nicolas@petton.fr>
5927         * etc/NEWS: Mention the new pcase patterns `seq' and `map'.
5929 2015-12-16  Alan Mackenzie  <acm@muc.de>
5931         * etc/NEWS: Move entry on pcase to correct section
5933         (Accidentally omitted from previous commit)
5935 2015-12-16  Alan Mackenzie  <acm@muc.de>
5937         Add documentation for changes to Show Paren mode.
5939         * lisp/paren.el (show-paren-highlight-openparen): Enhance doc string.
5941         * doc/emacs/programs.texi (Matching): Add descriptions of some pertinent user
5942         options, including the new show-paren-when-point-inside-paren and
5943         show-paren-when-point-in-periphery.
5945         * etc/NEWS (.. Specialized Modes ...): Add an entry for Show Paren mode.
5946         Move an entry on pcase to the Lisp Changes section.
5948 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
5950         Document Eldoc changes
5952         * doc/emacs/programs.texi (Lisp Doc): Document Global Eldoc mode.
5954 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
5956         Fix invocation of Python and Guile interpreters from gdb-mi
5958         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
5959         commands for interactive Python and Guile interpreters.
5960         (gdb-send): Recognize various ways of exiting from Python and
5961         Guile interpreters and returning to GDB.  For details, see
5962         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00693.html
5963         and http://stackoverflow.com/questions/31514741.
5965 2015-12-16  Paul Eggert  <eggert@cs.ucla.edu>
5967         Remove attempt to use C11 threads
5969         C11 threads are not needed for Emacs now, and their use is causing
5970         hassles on FreeBSD 10.x.  Problem reported by Ashish SHUKLA in:
5971         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html
5972         * configure.ac: Do not check for C11 threads. Remove unnecessary
5973         fiddling with CPPFLAGS when configuring pthreads.
5974         * src/emacs-module.c (main_thread, check_main_thread)
5975         (module_init): Do not worry about C11 threads.
5977 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
5979         Set utf8 encoding with stty in Tramp
5981         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
5982         Move up uname check.  Handle Mac OS X eol encoding.  Set utf8
5983         encoding with stty.
5985 2015-12-15  Alan Mackenzie  <acm@muc.de>
5987         Tidy up documentation associated with window groups.
5989         * doc/lispref/windows.texi (Basic Windows): Add an @anchor for "Window
5990         Groups".  Correct example function to `window-group-start'.
5991         (Window Start and End, Textual scrolling): Point to the new anchor.  State
5992         that (most of) the args in window group functions have the same meaning as for
5993         the corresponding window primitives.
5995         * doc/lispref/positions.texi (Screen Lines).  Same as above.
5997 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
5999         Complete last commit
6001         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6002         Move uname check up.  Handle Mac OS X eol encoding.
6004 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
6006         Handle Mac OS X eol encoding in Tramp
6008         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6009         Handle Mac OS X eol encoding.
6011 2015-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6013         Fix variable name typo in compute_tip_xy
6015         * src/w32fns.c (compute_tip_xy):
6016         * src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y
6017         when `right' is integer.
6019 2015-12-14  foudfou  <foudil.newbie+git@gmail.com>  (tiny change)
6021         * lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region.
6023 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
6025         Revert "Fix rx matcher overflow without limiting"
6027         This reverts commit fe27e037663d36be3e5741c2ce86ab4ee8017db1.
6029 2015-12-14  Alan Mackenzie  <acm@muc.de>
6031         Ispell: Bind isearch-regexp-function to nil around call to isearch..-new-loop
6033         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): bind
6034         isearch-regexp-function to nil around call to isearch-lazy-highligh-new-loop.
6036 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
6038         Fix rx matcher overflow without limiting
6040         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve last
6041         change to the regexp without imposing a limit on the length of the
6042         options.
6044 2015-12-14  Alan Mackenzie  <acm@muc.de>
6046         Enhance ispell-skip-region-alist by generating part of it at runtime.
6048         * lisp/textmodes/ispell.el (ispell--\\w-filter, ispell--make-\\w-expression)
6049         (ispell--make-filename-or-URL-re): New functions which generate a regexp.
6050         (ispell-skip-region-alist): Remove the bit that matches a filename/URL, etc.
6051         (ispell-begin-skip-region-regexp, ispell-skip-region-list, ispell-message):
6052         Include the result of ispell--make-filename-or-URL-re in regexps.
6054 2015-12-14  Glenn Morris  <rgm@gnu.org>
6056         * build-aux/gitlog-to-emacslog: Ignore more pointless merge commits.
6058 2015-12-14  Alan Mackenzie  <acm@muc.de>
6060         Replace GROUP argument in six window primitives by new functions.
6062         * doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
6063         * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
6064         from description of six window functions.  Add in description of new functions
6065         window-group-start, window-group-end, set-window-group-start,
6066         pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
6067         together with the six variables indirecting to the pertinent group
6068         functions.
6070         * src/window.c
6071         * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
6072         applies to these two files, which added the GROUP argument to six window
6073         primitives.
6075         * lisp/follow.el (follow-mode): Use updated variable names for the indirected
6076         functions.
6078         * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
6079         (isearch-back-into-window, isearch-lazy-highlight-new-loop)
6080         (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
6081         to window primitives (e.g. window-start) with a GROUP argument by calls to
6082         new functions (e.g. window-group-start).
6084         * lisp/ispell.el (ispell-command-loop): Replace call to
6085         pos-visible-in-window-p with pos-visible-in-window-group-p.
6087         * lisp/window.el (window-group-start, window-group-end)
6088         (set-window-group-start, recenter-group, pos-visible-in-window-group-p)
6089         (selected-window-group, move-to-window-group-line): New functions.
6090         (window-group-start-function, window-group-end-function)
6091         (set-window-group-start-function, recenter-group-function)
6092         (pos-visible-in-window-group-p-function, selected-window-group-function)
6093         (move-to-window-group-line-function): New variables.
6095 2015-12-14  Vitorio Miguel  <vdrbandeiras@gmail.com>  (tiny change)
6097         * etc/tutorials/TUTORIAL.pt_BR: Fix a typo.  (Bug#22165)
6099 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
6101         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
6103 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
6105         Improve regex to not trigger stack overflow
6107         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve regex in
6108         order not to trigger a stack overflow in regex matcher with unbalanced
6109         brackets (bug#22146).
6111 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
6113         Fix visiting files with raw-text
6115         * src/fileio.c (Finsert_file_contents): Fix setting buffer unibyte
6116         when some stuff was actually read.  (Bug#22162)
6118 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
6120         Fix regex matching keyval labels
6122         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Fix regexp
6123         matching keyval labels.
6125 2015-12-13  Michael Albinus  <michael.albinus@gmx.de>
6127         * lisp/ido.el (ido-file-name-all-completions-1): Do not raise an error
6129         ... in case of Tramp.  (Bug#20821)
6131 2015-12-12  Paul Eggert  <eggert@cs.ucla.edu>
6133         Fix performance regression with gcc -O0
6135         This fixes the smaller performance hit that I noted in:
6136         https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00357.html
6137         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, macro_XPNTR):
6138         * src/puresize.h (puresize_h_PURE_P)
6139         (puresize_h_CHECK_IMPURE):
6140         New macros, with the old contents of the functions.
6141         * src/alloc.c (XPNTR_OR_SYMBOL_OFFSET, XPNTR):
6142         * src/puresize.h (PURE_P, CHECK_IMPURE):
6143         Use the new macros.  Also macros, if DEFINE_KEY_OPS_AS_MACROS.
6144         * src/conf_post.h (ATTRIBUTE_UNUSED):
6145         * src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): New macros.
6147 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6149         * lisp/emacs-lisp/package.el (package-unpack): Security check
6151         Check that we received the package we were offered.
6153 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6155         * lisp/emacs-lisp/package.el (package--compile): Don't activate
6157         `package-unpack' takes care of all activations now (other than
6158         `package-initialize).  `package--compile' now only compiles.
6160 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6162         Document the new bindings of <UP> and <DOWN> in the minibuffer
6164         * doc/emacs/mini.texi (Minibuffer History): Describe the new
6165         bindings of <UP> and <DOWN> in the minibuffer.
6167 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6169         Document new features of Ido
6171         * doc/misc/ido.texi (Misc): Document 'C-S-b'.
6173 2015-12-12  Martin Rudalics  <rudalics@gmx.at>
6175         Fix frame height calculations with added menu bar on Windows (Bug#22105)
6177         * doc/lispref/frames.texi (Parameter Access): Mention pitfalls
6178         when simultaneously specifying multiple parameters for
6179         `modify-frame-parameters' that all may change the frame's size.
6180         * src/w32fns.c (x_set_menu_bar_lines): Don't set
6181         windows_or_buffers_changed here.
6182         (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect
6183         with third argument false.
6184         * src/w32menu.c (set_frame_menubar): Set
6185         windows_or_buffers_changed here.
6186         * src/w32term.c (x_set_window_size): Determine third argument of
6187         AdjustWindowRect from whether the frame has a menu bar and not
6188         from whether it wants one.
6190 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6192         Document the change in interactive shell mode
6194         * doc/emacs/misc.texi (Interactive Shell): Document that the
6195         '*shell*' buffer by default displays in a new window.
6197 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6199         Document new features of package.el
6201         * doc/emacs/package.texi (Package Menu): Document the 'external'
6202         status and the new menu commands.
6203         (Package Installation): Document archive priorities.
6205         * lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
6206         (package-menu-hide-low-priority): Doc fix.
6208 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6210         Update and document new features of xterm support
6212         * doc/emacs/frames.texi (Text-Only Mouse): Document that
6213         track-mouse is supported by newer xterm versions.
6215 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6217         Document new features of Prettify Mode
6219         * doc/emacs/programs.texi (Misc for Programs): Document
6220         'prettify-symbols-compose-predicate' and
6221         'prettify-symbols-unprettify-at-point'.
6223         * lisp/progmodes/prog-mode.el (prettify-symbols-alist)
6224         (prettify-symbols-default-compose-p)
6225         (prettify-symbols-compose-predicate)
6226         (prettify-symbols--compose-symbol): Doc fixes.
6228 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6230         Document multi-mode indentation facilities
6232         * doc/lispref/text.texi (Mode-Specific Indent): Document
6233         'prog-indentation-context', 'prog-first-column', and 'prog-widen'.
6235         * lisp/progmodes/prog-mode.el (prog-indentation-context)
6236         (prog-widen): Doc fixes.
6238 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6240         Document 'vc-refresh-state'
6242         * doc/emacs/maintaining.texi (Version Control): Document
6243         'vc-refresh-state'.
6245         * lisp/vc/vc-hooks.el (vc-refresh-state): Doc fix.
6247 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6249         Fix echo for "C-u"
6251         * src/keyboard.c (command_loop_1): Undo last change.  It caused
6252         duplicate echo of C-u.  (Bug#22107)
6254 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6256         Avoid errors when creating files under SVN in new directory
6258         * lisp/vc/vc-svn.el (vc-svn-registered): Use
6259         file-accessible-directory-p, to avoid cd'ing to a non-existing
6260         directory, which signals an error on some systems.  (Bug#21984)
6261         (vc-svn-checkin): Call log-edit-extract-headers with 2 arguments.
6262         Use declare-function to avoid byte-compiler warnings.
6264 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6266         Improve Lua support in etags
6268         * lib-src/etags.c (Lua_functions): Skip spaces before looking for
6269         "function".
6271         * etc/NEWS: Mention improved Lua support by 'etags'.
6273         * test/etags/lua-src/test.lua (test): Add tests for indented
6274         function definitions.
6275         * test/etags/ETAGS.good_1:
6276         * test/etags/ETAGS.good_2:
6277         * test/etags/ETAGS.good_3:
6278         * test/etags/ETAGS.good_4:
6279         * test/etags/ETAGS.good_5:
6280         * test/etags/ETAGS.good_6:
6281         * test/etags/CTAGS.good: Adapt to the modified Lua tests.
6283 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6285         Fix 'this-command-keys' wrt prefix argument
6287         * src/keyboard.c (command_loop_1): Restore the feature whereby C-u
6288         was part of this-command-keys, but not of this-single-command-keys.
6289         (Bug#22107)
6291         * lisp/simple.el (internal-echo-keystrokes-prefix): Add
6292         commentary about the function's return value.
6294 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6296         * lisp/files.el (load-library): Doc fix.  (Bug#22140)
6298 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6300         Improve and document Ruby support in 'etags'
6302         * lib-src/etags.c (Ruby_suffixes): Add ".ruby".
6303         (Ruby_functions): Support "module" and overloaded operators.
6304         (Ruby_help): Mention "module".
6306         * test/etags/ruby-src/test.rb:
6307         * test/etags/ruby-src/test1.ruby: New files.
6308         * test/etags/Makefile (RBSRC): New tests.
6309         (SRCS): Add ${RBSRC}.
6310         * test/etags/ETAGS.good_1:
6311         * test/etags/ETAGS.good_2:
6312         * test/etags/ETAGS.good_3:
6313         * test/etags/ETAGS.good_4:
6314         * test/etags/ETAGS.good_5:
6315         * test/etags/ETAGS.good_6:
6316         * test/etags/CTAGS.good: Adapt to the new Ruby tests.
6318         * doc/man/etags.1: Mention Ruby support.
6319         * etc/NEWS: Mention Ruby support.
6321 2015-12-11  Xi Lu  <lx@shellcodes.org>
6323         Initial support for Ruby in 'etags'
6325         * lib-src/etags.c <Ruby_suffixes>: New variable.
6326         (lang_names): Add an entry for Ruby.
6327         (Ruby_functions): New function.  (Bug#22116)
6329 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6331         Clarify documentation of 'modify-frame-parameters'
6333         * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
6334         PARMs" mean for 'modify-frame-parameters'.
6336         * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
6337         PARMs" mean for this function.  (Bug#22104)
6339 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6341         Fix setting buffer unibyte when reading from a device
6343         * src/fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
6344         to make a (possibly non-empty) buffer unibyte.  (Bug#22096)
6346 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6348         Clarify documentation of 'values'
6350         * doc/lispref/eval.texi (Eval): Clarify that 'values' are not
6351         updated by any evaluation commands in 'lisp-interaction-mode'.
6352         (Bug#22056)
6354 2015-12-11  Anders Lindgren  <andlind@gmail.com>
6356         Fixed subversion vc error when opening file in new directory (bug#21984).
6358         * lisp/vc/vc-svn.el (vc-svn-registered): Check if directory exists.
6360 2015-12-09  Eli Zaretskii  <eliz@gnu.org>
6362         Yet another fix for when point ends up in invisible text
6364         * src/xdisp.c (redisplay_window): When someone forced
6365         window-start, and honoring that failed to show the cursor, try
6366         moving out of invisible text, before falling back to the middle of
6367         the window.  (Bug#22098)
6369 2015-12-09  Michael Albinus  <michael.albinus@gmx.de>
6371         Fix error in Tramp perl script for cygwin
6373         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not raise an
6374         error if file doesn't exist.
6376 2015-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6378         Remove font workaround for limited outdated versions
6380         * src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove
6381         workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1.
6383 2015-12-09  Anders Lindgren  <andlind@gmail.com>
6385         Don't add "." to load path (bug#21104)
6387         When configured with --enable-locallisppath=no, which is the
6388         default for OS X, the load-path incorrectly was populated with ".".
6390         * src/lread.c (init_lread): Don't call `decode_env_path' when
6391         PATH_SITELOADSEARCH is empty.
6393 2015-12-08  Artur Malabarba  <bruce.connor.am@gmail.com>
6395         * lisp/emacs-lisp/package.el (package--with-response-buffer):
6397         Search for the blank-line in the right buffer.
6399 2015-12-08  Glenn Morris  <rgm@gnu.org>
6401         * test/automated/simple-test.el (undo-auto-boundary-timer): Update
6402         for recent change.
6404 2015-12-08  Glenn Morris  <rgm@gnu.org>
6406         Fix some display-warning usage.
6408         * lisp/files.el (hack-local-variables, hack-dir-local-variables):
6409         * lisp/calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
6410         * lisp/calendar/holidays.el (calendar-holiday-list):
6411         * lisp/mail/rmailout.el (rmail-output-read-file-name):
6412         Fix display-warning usage.
6414 2015-12-07  Glenn Morris  <rgm@gnu.org>
6416         * lisp/calendar/cal-html.el: Require diary-lib.
6418         (cal-html-list-diary-entries): Handle no diary.  (Bug#21994)
6420 2015-12-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6422         Add Obsolete-since header to eudcb-ph.el
6424         * eudcb-ph.el: Add Obsolete-since header.
6426 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
6428         Spelling fixes
6430         * doc/misc/calc.texi (Predefined Units): Use the bland modern
6431         scientific style for spelling the units “ampere” and
6432         “angstrom” rather than the older style “Ampere” and
6433         “Ångstrom”.  The latter spelling was wrong anyway (it should
6434         have been “Ångström”).
6435         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
6436         Fix misspelling of ‘atom’ in code.
6438 2015-12-07  Eli Zaretskii  <eliz@gnu.org>
6440         Improve documentation of kill commands
6442         * lisp/simple.el (region-extract-function, delete-backward-char)
6443         (delete-forward-char, kill-region, copy-region-as-kill)
6444         (kill-ring-save): Better document the optional argument REGION in
6445         the doc strings.  Mention in the doc strings that text put in the
6446         kill-ring can be filtered by 'filter-buffer-substring'.
6448         * doc/lispref/text.texi (Kill Functions): Mention that functions
6449         described in this subsection can filter text they put in the
6450         kill-ring.  Add a cross-reference to "Buffer Contents" and an
6451         index entry.  Document the optional argument 'region' and its
6452         effect.
6453         (Bug#21315)
6455 2015-12-07  Alan Mackenzie  <acm@muc.de>
6457         Further progress making Isearch, Ispell, Replace work with Follow Mode.
6459         * lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which
6460         no longer exists.  Add follow-post-command-hook to  three special purpose
6461         hooks at setup, and remove them at tear down.
6463         * lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before
6464         isearch-lazy-highlight-new-loop.
6465         (isearch-lazy-highlight-new-loop): Restore this function to what it previously
6466         was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into
6467         it.
6468         (isearch-lazy-highlight-maybe-new-loop): function removed.
6470         * lisp/replace.el: (replace-update-post-hook): New hook variable.
6471         (perform-replace): Add second (nil) argument to looking-back.  Invoke
6472         replace-update-post-hook before calling replace-highlight.
6474         * lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable.
6475         (ispell-command-loop): invoke ispell-update-post-hook.  Add GROUP argument to
6476         call of pos-visible-in-window-p.
6477         (ispell-display-buffer): Place *Choices* window at the top of the last window
6478         in a window group.
6480 2015-12-07  Alan Mackenzie  <acm@muc.de>
6482         Amend doc of `mapconcat': it can take sequences, not merely strings.
6484         * doc/lispref/functions.texi (Mapping Functions): Amend the doc of `mapconcat'
6485         to say that SEPARATOR and the results from FUNCTION may be any character
6486         sequences, not just strings.  Add an @xref to "Sequences Arrays Vectors".
6488 2015-12-07  Michael Albinus  <michael.albinus@gmx.de>
6490         Fix an utf8 problem for Tramp on BSD
6492         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6493         Make lax check for utf8.
6494         (tramp-get-remote-locale): Add "en_US.UTF-8" as candidate.
6496 2015-12-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6498         Make eudcb-ph.el obsolete
6500         * doc/misc/eudc.texi: Bump version to 1.40.0.
6501         Remove PH/QI sections and mentions.
6502         * lisp/obsolete/eudcb-ph.el: Make obsolete.
6503         * lisp/net/eudc-vars.el (eudc-known-protocols): Remove ph.
6504         (eudc-ph-bbdb-conversion-alist): Make obsolete.
6505         * etc/NEWS: Mention this.  (Bug#21191)
6507 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6509         Remove overenthusiastic eassert
6511         * src/lisp.h (XSYMBOL): Remove eassert incorrectly added in
6512         previous change.  It breaks on MS-Windows --with-wide-int.
6513         Problem reported by Eli Zaretskii in:
6514         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00275.html
6516 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6518         Pacify gcc -Wparentheses
6520         * src/xdisp.c (row_containing_pos): Reparenthesize.
6522 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6524         Port mod-test to 32-bit Emacs --without-wide-int
6526         * modules/mod-test/test.el (mod-test-sum-test):
6527         Bring back the 2**29 tests, but port them to 32-bit Emacs
6528         --without-wide-int.
6530 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
6532         Fix minor Tramp problems found on BSD
6534         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
6535         trailing slash.  Quote apostrophes.
6536         (tramp-sh-handle-file-truename): Do not append trailing slash in
6537         the "ls" case.
6538         (tramp-get-ls-command-with-w-option): New defun.
6539         (tramp-do-file-attributes-with-ls)
6540         (tramp-do-directory-files-and-attributes-with-stat): Use it.
6542         * test/automated/tramp-tests.el
6543         (tramp-test31-special-characters-with-perl)
6544         (tramp-test31-special-characters-with-ls)
6545         (tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
6546         Suppress also readlink.
6548 2015-12-06  Eli Zaretskii  <eliz@gnu.org>
6550         Fix cursor display when invisible text is at line beginning
6552         * src/xdisp.c (redisplay_window): When scrolling fails to show
6553         point, prefer using the desired matrix if possible for finding the
6554         fallback glyph row for displaying the cursor.  (Bug#22098)
6555         (row_containing_pos): Exit the loop as soon as we hit the first
6556         disabled glyph row.  Otherwise we risk accessing garbled data and
6557         departing to the no-no land.
6559 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6561         Improve module interface when WIDE_EMACS_INT
6563         * src/emacs-module.c (plain_values): New constant.
6564         (module_nil): Now a constant.
6565         (Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits)
6566         (syms_of_module): Use if, not #ifdef, so that both sides are
6567         checked at compile-time, and so that GCC doesn’t complain
6568         about an unused var in the typical case.  Also, depend on
6569         plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume
6570         that WIDE_EMACS_INT implies !USE_LSB_TAG.
6571         (value_to_lisp_bits, lisp_to_value_bits): New functions.
6572         Sign-extend integers rather than zero-extending them, as small
6573         negative integers are more likely.
6574         (value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits
6575         functions.
6576         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined.
6577         (mark_modules): Remove.  All uses removed.
6578         (lisp_to_value): Don’t assume Fcons returns a pointer aligned
6579         to GCALIGNMENT.
6580         (syms_of_module): Check that module_nil converts to Qnil.
6581         * src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since
6582         we prefer signed to unsigned when either will do.
6583         (TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is
6584         a bit better for emacs-module.c.
6586 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6588         Port mod-test to x86-64 GNU/Linux running 32-bit
6590         * modules/mod-test/test.el (mod-test-sum-test):
6591         Don’t attempt to match descriptions to operating systems.
6592         It didn’t work on Fedora x86-64 running a 32-bit executable,
6593         and it’s not worth the trouble anyway.
6594         Port to 32-bit platforms by removing an assumption about
6595         fixnum widths.
6597 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
6599         Fix auto-revert-tests.el when filenotify isn't used
6601         * test/automated/auto-revert-tests.el (auto-revert--wait-for-revert):
6602         Make it working also when filenotify isn't used.
6604 2015-12-05  Juri Linkov  <juri@linkov.net>
6606         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
6608         Let-bind isearch-regexp-function to nil.  (Bug#22097)
6610 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
6612         * lisp/emacs-lisp/package.el: Don't install bad signatures (bug#22089)
6614         (package--with-response-buffer): NOERROR and ERROR-FORM only
6615         handle connection errors.
6616         (bad-signature): New error type.
6617         (package--check-signature-content): Use it.
6618         (package--check-signature): Properly distinguish connection errors
6619         from bad-signature errors.  Do the check for
6620         `package-check-signature' `allow-unsigned' here instead of forcing
6621         the callbacks to do it.  Add a new argument, UNWIND.
6622         (package--download-one-archive, package-install-from-archive):
6623         Update usage of `package--check-signature'.
6625 2015-12-05  Ulf Jasper  <ulf.jasper@web.de>
6627         Fix Bug#22092.
6629         * lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
6630           Clean up inconsistent line endings. (Bug#22092)
6631           (icalendar--clean-up-line-endings): New.
6632         * test/automated/icalendar-tests.el (icalendar-real-world): Add test
6633           for Bug#22092.
6635 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6637         Document 'bookmark-set-no-overwrite'
6639         * doc/emacs/regs.texi (Bookmarks): Document the new command
6640         'bookmark-set-no-overwrite' and its keybinding.
6642 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6644         Document new binding of 'mouse-buffer-menu'
6646         * doc/emacs/buffers.texi (Buffer Menus): 'mouse-buffer-menu' is
6647         now also on C-F10.
6649 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6651         Initial documentation of dynamic modules
6653         * doc/lispref/loading.texi (Dynamic Modules): New section with
6654         initial documentation for dynamic modules.
6655         * doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the
6656         detailed menu
6658         * etc/NEWS: Fix typos in dynamic modules' entry.
6660 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
6662         Remove copyright statements from trivial test files
6664 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6666         Add "Preliminaries" section to etc/DEBUG
6668         * etc/DEBUG: Add the "Preliminaries" section for GDB beginners.
6669         Most of the content was suggested by Phillip Lord
6670         <phillip.lord@russet.org.uk>.  Remove the section about debugging
6671         with the Visual Studio, as building Emacs with the Microsoft
6672         compilers is no longer supported.  Minor fixes in some other
6673         sections.
6675 2015-12-05  Alex Dunn  <dunn.alex@gmail.com>  (tiny change)
6677         Improve parsing of version strings
6679         * lisp/subr.el (version-regexp-alist): Allow "." as priority separator
6680         (version-to-list): More helpful error messages.
6681         (version-to-list): ".5" is valid (update docstring).  Make
6682         "22.8X3" invalid, as the doc string says.
6684         * test/automated/subr-tests.el (ert-test-version-parsing): New
6685         tests for version string processing.
6687 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6689         Fix documentation of 'undo' changes
6691         * doc/lispref/text.texi (Undo): Minor wording changes.  Use US
6692         English conventions for spelling and whitespace between sentences.
6694         * etc/NEWS: Fix wording and spelling of undo-related entries.
6695         Mark them as documented.
6697 2015-12-04  Glenn Morris  <rgm@gnu.org>
6699         * lisp/net/net-utils.el: Small improvements.
6701         (net-utils--executable-find-sbin): New function.
6702         (ifconfig-program): Check sbin directories.
6703         Fallback to "ip".  (Bug#22091)
6704         (ifconfig-program-options): Check the actual program in use.
6705         (arp-program): Check sbin directories.
6707 2015-12-04  Arash Esbati  <esbati@gmx.de>  (tiny change)
6709         Fix wrong-type-argument integer-or-marker-p nil error
6711         * lisp/textmodes/reftex-auc.el (reftex-what-index-tag):
6712         Fix (wrong-type-argument integer-or-marker-p nil) error (bug#22077).
6714 2015-12-04  Alan Mackenzie  <acm@muc.de>
6716         Merge branch 'scratch/follow' of /home/acm/emacs/emacs.git/emacs-25 into scratch/follow
6718         Merge necessitated by a rebase operation.
6720 2015-12-04  Alan Mackenzie  <acm@muc.de>
6722         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
6724 2015-12-04  Alan Mackenzie  <acm@muc.de>
6726         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
6728         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
6729         Windows" and new @defun selected-window-group.
6730         (Window Start and End): Describe new &optional parameter GROUP and
6731         ...-group-function for window-start, window-end, set-window-start, and
6732         pos-visible-in-window-p.
6733         (Textual Scrolling) Describe the same for recenter.
6734         doc/lispref/positions.texi (Screen Lines): Describe the same for
6735         move-to-window-line.
6737         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
6738         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
6739         new optional parameter "group".  At the beginning of each, check whether the
6740         corresponding ...-group-function is set to a function, and if so execute this
6741         function in place of the normal processing.
6742         (syms_of_window): Define symbols for the six new variables below.
6743         (window-start-group-function, window-end-group-function)
6744         (set-window-start-group-function, recenter-group-function)
6745         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
6746         New permanent local buffer local variables.
6747         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
6748         Fpos_visible_in_window_p.
6750         lisp/window.el (selected-window-group-function): New permanent local buffer
6751         local variable.
6752         (selected-window-group): New function.
6754         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
6755         enable, kill them at mode disable.  Add/remove follow-after-change to/from
6756         after-change-functions.
6757         (follow-start-end-invalid): New variable.
6758         (follow-redisplay): Manipulate follow-start-end-invalid.
6759         (follow-after-change, follow-window-start, follow-window-end)
6760         (follow-set-window-start, follow-pos-visible-in-window-p)
6761         (follow-move-to-window-line, follow-sit-for): New functions.
6763         lisp/isearch.el (isearch-call-message): New macro.
6764         (isearch-update, with-isearch-suspended, isearch-del-char)
6765         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
6766         (with-isearch-suspended): Rearrange code such that isearch-call-message is
6767         invoked before point is moved.
6768         (isearch-message): Add comment about where point must be at function call.
6769         (isearch-search): Remove call to isearch-message.
6770         (isearch-lazy-highlight-window-group): New variable.
6771         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
6772         the battery of tests to ...
6773         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
6774         Note: (sit-for 0) is still called.
6775         (isearch-lazy-highlight-update): Check membership of
6776         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
6777         property.
6778         (isearch-update, isearch-done, isearch-string-out-of-window)
6779         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
6780         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
6781         (isearch-lazy-highlight-update): Call the six amended primitives (see
6782         src/window.c above) with the new `group' argument set to t, to cooperate
6783         with Follow Mode.
6785 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6787         * lisp/emacs-lisp/ert.el: Prefer pcase over cl-typecase
6789         * lisp/emacs-lisp/ert.el (ert--should-error-handle-error)
6790         (ert--explain-format-atom, ert--explain-equal-rec)
6791         (ert--print-backtrace, ert-test-result-type-p, ert-select-tests)
6792         (ert--insert-human-readable-selector): Prefer pcase over cl-typecase.
6794 2015-12-04  Artur Malabarba  <bruce.connor.am@gmail.com>
6796         * lisp/character-fold.el: Remove special case-folding support
6798         (character-fold-to-regexp): Remove special code for
6799         case-folding.  Char-fold search still respects the
6800         `case-fold-search' variable (i.e., f matches F).  This only
6801         removes the code that was added to ensure that f also matched
6802         all chars that F matched.  For instance, after this commit, f
6803         no longer matches 𝔽.
6805         This was necessary because the logic created a regexp with
6806         2^(length of the string) redundant paths.  So, when a very
6807         long string "almost" matched, Emacs took a very long time to
6808         figure out that it didn't.  This became particularly relevant
6809         because isearch's lazy-highlight does a search bounded by (1-
6810         match-end) (which, in most circumstances, is a search that
6811         almost matches).  A recipe for this can be found in bug#22090.
6813 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6815         * lisp/emacs-lisp/cl-macs.el (character): Can't be negative
6816         Fixes (bug#21701)
6818 2015-12-04  Daiki Ueno  <ueno@gnu.org>
6820         lisp/gnus/qp.el: Don't replace "from " at bol
6822         * lisp/gnus/qp.el (quoted-printable-encode-region): Bind `case-fold-search'
6823         to nil when looking for "^From ".  Problem reported by Simon Josefsson.
6825 2015-12-03  Phillip Lord  <phillip.lord@russet.org.uk>
6827         Externalize some symbols in undo-auto
6829          * doc/lispref/text.texi: Update symbols.
6830          * lisp/simple.el (undo-auto--amalgamate,
6831            undo-auto--current-boundary-timer): Make symbols public.
6832          * src/cmds.c (Fself_insert_command,Fdelete_char): Call
6833            updated symbol.
6835 2015-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6837         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix BOB "token"
6839 2015-12-03  Michael Albinus  <michael.albinus@gmx.de>
6841         Some error message improvements in tramp-sh.el
6843         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6844         Suppress error messages for "mesg" and "biff" calls.
6845         (tramp-get-remote-path): Ignore errors when expanding
6846         `tramp-own-remote-path'.  Raise a warning instead.
6848 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
6850         Document 'nacl' value for 'system-type'
6852         * doc/lispref/os.texi (System Environment): Document the 'nacl'
6853         value of 'system-type'.
6855 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
6857         Document 'window-max-chars-per-line'
6859         * doc/lispref/windows.texi (Window Sizes): Document
6860         'window-max-chars-per-line'.
6862 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
6864         Fix some file headers for the purpose of `package--builtins'
6866         * lisp/emacs-lisp/cl-preloaded.el
6867         * lisp/emacs-lisp/eieio-compat.el
6868         * lisp/net/sasl-scram-rfc.el: Add a "Package:" header
6870         * lisp/ielm.el: Fix summary line.
6872 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
6874         * lisp/emacs-lisp/package.el (package-unpack): Load before compiling
6876         Reload any previously loaded package files before compiling
6877         the package (also reload the same files after compiling).
6878         This ensures that we have the most recent definitions during
6879         compilation, and avoids generating bad elc files when a macro
6880         changes and it is used in a different file from the one it's
6881         defined in.
6883 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
6885         * lisp/emacs-lisp/package.el: Refactor package activation code
6887         (package-activate): Move code that activates dependencies into
6888         package-activate-1.
6889         (package--load-files-for-activation): New function.
6890         (package-activate-1): Add code for (optionally) activating
6891         dependencies, and move file-loading code into
6892         `package--load-files-for-activation'.
6894 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
6896         Document new font-related functionality
6898         * doc/lispref/display.texi (Low-Level Font): Document
6899         'default-font-width', 'default-font-height', 'window-font-width',
6900         and 'window-font-height'.
6902         * etc/NEWS: Move entries for 'default-font-width',
6903         'default-font-height', 'window-font-width', and 'window-font-height'
6904         to their place and mark them documented.
6906 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
6908         Fix documentation and implementation of 'directory-name-p'
6910         * lisp/files.el (directory-name-p): Modify to recognize
6911         backslashes on MS-Windows and MS-DOS.  Adjust the doc string
6912         accordingly.  Use '=', not char-equal, for comparison, as
6913         letter-case cannot possibly be an issue here.
6915         * doc/lispref/files.texi (Directory Names): Move the documentation
6916         of directory-name-p here from "Relative File Names".  Update the
6917         description per the changes in implementation.
6919         * etc/NEWS: Move the entry for 'directory-name-p' to its proper
6920         place and mark it documented.
6922 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
6924         Minor copyedit in Emacs manual
6926         * doc/emacs/search.texi (Lax Search): Make wording about character
6927         folding by default less definitive.  (Bug#22043)
6929 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
6931         More emacs-module.c fixes for wide ints
6933         * src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
6934         unsigned data types to manipulate pointers, to avoid sign
6935         extension coming after us with a vengeance.
6937         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
6938         Emacs with wide ints that verify integer values near the critical
6939         value that requires us to switch to a cons cell.
6941 2015-12-02  Stephen Leake  <stephen_leake@stephe-leake.org>
6943         Fix bug#22069 in cl-generic.el
6945         * lisp/emacs-lisp/cl-generic.el (cl-no-method): Remove %S; this string is
6946         not run thru `format'.
6948 2015-12-01  Dmitry Gutov  <dgutov@yandex.ru>
6950         APPEND etags--xref-backend to xref-backend-functions
6952         * lisp/progmodes/xref.el (xref-backend-functions):
6953         Use APPEND when adding the default element
6954         (http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00061.html).
6956 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
6958         More accurate documentation of lax whitespace matching
6960         * lisp/isearch.el (isearch-forward-word, isearch-forward-symbol)
6961         (word-search-backward, word-search-forward)
6962         (word-search-backward-lax, word-search-forward-lax): Mention in
6963         doc strings that toggling lax whitespace matching has no effect on
6964         these commands.
6966         * doc/emacs/search.texi (Word Search, Symbol Search): Clarify that
6967         lax whitespace matching has no effect on these commands.
6969 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
6971         Fix emacs-module.c for wide ints
6973         * src/emacs-module.c (lisp_to_value): Compare the produced value
6974         with the original Lisp object, not with the one potentially
6975         converted into a Lisp_Cons.  Fixes assertion violations when
6976         working with integers larger than fit into a 32-bit value.
6978         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
6979         large integers, to test --with-wide-int.
6981 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
6983         Document 'directory-files-recursively'
6985         * lisp/files.el (directory-files-recursively): Doc fix.  Rename
6986         the argument MATCH to REGEXP, to be more explicit about its form.
6988         * doc/lispref/files.texi (Contents of Directories): Improve the
6989         documentation of 'directory-files-recursively'.  Add
6990         cross-references.
6992         * etc/NEWS: Move the entry for 'directory-files-recursively' to
6993         its place and mark it documented.
6995 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
6997         Document 'inhibit-read-only' property
6999         * doc/lispref/text.texi (Special Properties): Describe the new
7000         'inhibit-read-only' text property.  Add cross-reference to where
7001         read-only buffers are described.
7002         * doc/lispref/buffers.texi (Read Only Buffers): Mention that
7003         'inhibit-read-only' property exempts text from being read-only.
7004         Add cross-reference to "Special Properties".
7006         * etc/NEWS: Move the entry about 'inhibit-read-only' property to
7007         its place and mark it documented.
7009 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
7011         * lisp/emacs-lisp/package.el: Update header comments
7013 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
7015         * lisp/character-fold.el: Add back multi-char matching
7017         (character-fold-to-regexp): Uncomment recently commented code
7018         and make the algorithm "dummer" by not checking every possible
7019         combination.  This will miss some possible matches, but it
7020         greatly reduces regexp size.
7022         * test/automated/character-fold-tests.el
7023         (character-fold--test-fold-to-regexp): Comment out test of
7024         functionality no longer supported.
7026 2015-12-01  Xue Fuqiao  <xfq.free@gmail.com>
7028         * doc/emacs/ack.texi (Acknowledgments): Update.
7030 2015-12-01  Michael Albinus  <michael.albinus@gmx.de>
7032         Check `file-remote-p' over absolute files names in files.el
7034         * lisp/files.el (directory-files-recursively)
7035         (get-free-disk-space): Check `file-remote-p' over absolute files names.
7037 2015-12-01  Andreas Schwab  <schwab@linux-m68k.org>
7039                 * src/lread.c (syms_of_lread): Doc fix.
7041 2015-11-30  Dmitry Gutov  <dgutov@yandex.ru>
7043         Don't mistake certain JS method calls for keywords
7045         * lisp/progmodes/js.el (js--ctrl-statement-indentation):
7046         Braceless keyword can't come after a period (bug#22063).
7048 2015-11-30  David Reitter  <david.reitter@gmail.com>
7050         Read frame_title_format from buffer-local variable for NS port
7052         * src/nsfns.m (x_implicitly_set_name): Read frame-title-format and
7053         icon-title-format variables from buffer in appropriate window.
7054         (Bug#22048)
7056 2015-11-30  Juri Linkov  <juri@linkov.net>
7058         * lisp/replace.el (occur-engine): Count matches in empty lines.
7060         (Bug#22062)
7062 2015-11-30  Aurélien Aptel  <aurelien.aptel@gmail.com>
7064         * src/emacs-module.h: Fix finalizer typedef for C++11
7066         C++11 standard doesn't allow exception-specification in typedef.
7067         The workaround is to declare a dummy function prototype and use
7068         decltype on it.
7070 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
7072         Fix last change
7074         * src/emacs-module.c (lisp_to_value, value_to_lisp)
7075         [WIDE_EMACS_INT]: Avoid compiler warnings.
7077 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
7079         Rely on conservative stack scanning to find "emacs_value"s
7081         * src/emacs-module.c (struct emacs_value_tag)
7082         (struct emacs_value_frame, struct emacs_value_storage): Remove.
7083         (value_frame_size): Remove constant.
7084         (struct emacs_env_private): Use Lisp_Object for non_local_exit info.
7085         (lisp_to_value): Remove first arg.
7086         (module_nil): New constant.
7087         Use it instead of NULL when returning an emacs_value.
7088         (module_make_function): Adjust to new calling convention of
7089         Qinternal_module_call.
7090         (DEFUN): Receive args in an array rather than a list.
7091         Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
7092         we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
7093         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
7094         Adjust to new type of non_local_exit info.
7095         (ltv_mark) [WIDE_EMACS_INT]: New constant.
7096         (value_to_lisp, lisp_to_value): Rewrite.
7097         (initialize_frame, initialize_storage, finalize_storage): Remove functions.
7098         (allocate_emacs_value): Remove function.
7099         (mark_modules): Gut it.
7100         (initialize_environment): Don't initialize storage any more.
7101         Keep the actual env object on Vmodule_environments.
7102         (finalize_environment): Don't finalize storage any more.
7103         (syms_of_module): Initialize ltv_mark and module_nil.
7105         * src/emacs-module.h (emacs_value): Make it more clear that this type
7106         is really opaque, including the fact that NULL may not be valid.
7108         * modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
7109         Don't assume that NULL is a valid emacs_value.
7111 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
7113         Yet another doc improvement for search commands
7115         * doc/emacs/search.texi (Word Search, Symbol Search)
7116         (Regexp Search): Document commands that don't support lax
7117         whitespace matching or character folding.
7118         (Nonincremental Search): Mention the search commands that can be
7119         invoked from the menu bar.
7121         * lisp/isearch.el (isearch-define-mode-toggle-word)
7122         (isearch-define-mode-toggle-symbol)
7123         (isearch-define-mode-toggle-character-fold): Note in the doc
7124         string that turning these on exits the regexp mode.
7125         (isearch-forward-regexp, isearch-forward-word)
7126         (isearch-forward-symbol, isearch-backward-regexp)
7127         (word-search-backward, word-search-forward)
7128         (word-search-backward-lax, word-search-forward-lax): State in the
7129         doc string which commands don't support character folding and/or
7130         lax-whitespace matching.
7132 2015-11-30  Martin Rudalics  <rudalics@gmx.at>
7134         Run `window-size-change-functions' also when reading from minibuffer
7136         * src/xdisp.c (redisplay_internal): Run `window-size-change-functions'
7137         also when reading from minibuffer.
7139 2015-11-30  Ulf Jasper  <ulf.jasper@web.de>
7141         Fix scrambling of html-rendered item buffers
7143         * lisp/net/newst-treeview.el (newsticker--treeview-render-text): Fix
7144           scrambling of contents by wrapping call to html-renderer in
7145           save-selected-window.
7147 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
7149         Fix font typo in previous doc fix.
7151 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
7153         A bit more security doc, esp. file local vars
7155         * doc/emacs/emacs.texi (Top):
7156         * doc/emacs/misc.texi (Miscellaneous Commands):
7157         Refer to new Host Security section.
7158         (Host Security): New section.
7159         * doc/lispref/os.texi (Security Considerations):
7160         Mention file local variables.
7162 2015-11-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7164         * lisp/character-fold.el: Comment out branching code
7166         (character-fold-to-regexp): Comment out code that uses multi-char
7167         table.  The branching caused by this induces absurdly long regexps,
7168         up to 10k chars for as little as 25 input characters.
7170 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
7172         Spelling and grammar fixes
7174 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
7176         Make lisp-completion-at-point a wrapper instead of an alias
7178         * lisp/progmodes/elisp-mode.el (lisp-completion-at-point):
7179         Turn into an obsolete wrapper around elisp-completion-at-point
7180         (bug#20455).
7182 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7184         * lisp/isearch.el (isearch-search-fun-default): Nicer error
7186         message when the search fails.
7188 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
7190         Update menu-bar-goto-uses-etags-p for the current xref API
7192         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult
7193         xref-backend-functions, instead of now-nonexistent
7194         xref-find-function.
7196 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7198         * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding
7200 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7202         * lisp/menu-bar.el: Use folding in searches
7204         (nonincremental-search-forward): Use `isearch-search-fun-default'
7205         to determine the search function.
7206         (nonincremental-search-backward)
7207         (nonincremental-repeat-search-forward)
7208         (nonincremental-repeat-search-backward): Use it.
7210 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7212         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning
7214 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7216         * lisp/character-fold.el (character-fold-to-regexp): Be careful
7218         not to return huge regexps.
7220 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
7222         Improve documentation of string-collate-* functions
7224         * doc/lispref/strings.texi (Text Comparison): Improve wording and
7225         indexing of 'string-collate-equalp' and 'string-collate-lessp'.
7227         * etc/NEWS: Move the entry of 'string-collate-equalp' and
7228         'string-collate-lessp' to "Lisp Changes" section and mark it as
7229         documented.
7231 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
7233         Document truncate-string-ellipsis
7235         * doc/lispref/display.texi (Size of Displayed Text): Document
7236         'truncate-string-ellipsis'.
7238         * lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix.
7239         (truncate-string-to-width): Mention in the doc string that the
7240         default for ELLIPSIS comes from 'truncate-string-ellipsis'.
7242         * etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp
7243         Changes" section.
7245 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
7247         Fix confusion wrt character folding in the Emacs manual
7249         * doc/emacs/search.texi (Nonincremental Search, Regexp Search):
7250         Document that invoking search-forward/backward and
7251         re-search-forward/backward supports only case folding, but not the
7252         rest of the lax-search features.  Reported by Mike Kupfer
7253         <m.kupfer@acm.org>.
7255 2015-11-29  Ken Brown  <kbrown@cornell.edu>
7257         Update mod-test-sum-test
7259         * modules/mod-test/test.el (mod-test-sum-test): Update to
7260         accommodate the lack of dladdr on Cygwin.
7262 2015-11-29  Alan Mackenzie  <acm@muc.de>
7264         Byte compiler: Catch missing argument to `funcall'.  Fixes bug#22051.
7266         * lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
7267         to `funcall', (i) Output an error message; (ii) Generate code to signal a
7268         `wrong-number-of-arguments' error.
7270 2015-11-29  Martin Rudalics  <rudalics@gmx.at>
7272         * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil.
7274 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7276         * lisp/character-fold.el (character-fold-to-regexp)
7278         Warn about using long strings.
7280         * test/automated/character-fold-tests.el
7281         (character-fold--test-lax-whitespace)
7282         (character-fold--test-consistency): Reduce string size for tests.
7284 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7286         Document renaming of x-select-enable-* variables
7288         * doc/emacs/killing.texi (Clipboard): Rename
7289         x-select-enable-clipboard to select-enable-clipboard and
7290         x-select-enable-primary to select-enable-primary.  Update index
7291         entries.
7293         * etc/NEWS: Mark entry as documented.
7295 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7297         Document the shorthand hints displayed by M-x
7299         * doc/emacs/m-x.texi (M-x): Document the numeric meaning of
7300         suggest-key-bindings.  Document the shorthand hints for commands
7301         that have no key bindings.  Document that M-x completion ignores
7302         obsolete commands.
7304         * etc/NEWS: Move the M-x entry to "Editing Changes" and mark it as
7305         documented.
7307 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7309         Update docs of character folding
7311         * doc/emacs/search.texi (Lax Search): Update the description of
7312         character folding for the latest changes.
7314 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7316         * lisp/character-fold.el: Also play nice with case-folding
7318         (character-fold-to-regexp): Take `case-fold-search' into account.
7320 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7322         * lisp/character-fold.el: Add support for multi-char matches
7324         (character-fold-table): Now has an extra-slot. This is a second
7325         char-table that holds multi-character matches.  See docstring for
7326         details.
7327         (character-fold-to-regexp): Can build branching regexps when a
7328         character's entry the extra slot of `character-fold-table' matches the
7329         characters that succeed it.
7331 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7333         * lisp/character-fold.el: Code simplifications
7335         (character-fold-table): Reduce the scope of a variable.
7336         (character-fold-to-regexp): Change logic to work directly on the
7337         input string.  It's a little easier to understand, probably
7338         faster, and sets us up for implementing multi-char matches.
7340         * test/automated/character-fold-tests.el
7341         (character-fold--test-fold-to-regexp): New test.
7343 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7345         Document changes in "C-h l"
7347         * doc/emacs/help.texi (Misc Help): Document the changes in "C-h l".
7349         * etc/NEWS: mark "C-h l" changes as documented.
7351 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7353         Finalize documentation of 'custom-prompt-customize-unsaved-options'
7355         * doc/emacs/custom.texi (Saving Customizations): Index the new
7356         function 'custom-prompt-customize-unsaved-options'.
7358         * etc/NEWS: Mention when 'custom-prompt-customize-unsaved-options'
7359         is useful.
7361 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7363         Document 'comment-line'
7365         * doc/emacs/programs.texi (Comment Commands): Document
7366         'comment-line'.
7368         * etc/NEWS: Move the entry for 'comment-line' into "Editing Changes".
7370 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7372         Document new checkdoc features
7374         * doc/lispref/tips.texi (Tips, Library Headers): Document the
7375         keyword-checking features of checkdoc and the commands
7376         'checkdoc-file' and 'checkdoc-current-buffer'.
7378         * etc/NEWS: Move the checkdoc-related entries to their own
7379         section.
7381 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
7383         Simplify the prologue of emacs-module.c functions
7385         * src/emacs-module.c (MODULE_FUNCTION_BEGIN): New macro.
7386         (module_make_global_ref)
7387         (module_free_global_ref, module_make_function, module_funcall)
7388         (module_intern, module_type_of, module_extract_integer)
7389         (module_make_integer, module_extract_float, module_make_float)
7390         (module_copy_string_contents, module_make_string)
7391         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
7392         (module_get_user_finalizer, module_set_user_finalizer)
7393         (module_vec_set, module_vec_get, module_vec_size): Use new helper
7394         macro MODULE_FUNCTION_BEGIN.
7396 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7398         Don't reject module calls with no arguments
7400         * src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil.
7402 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
7404         Make module-call be visible from Lisp
7406         * src/emacs-module.c (module_make_function): Use internal--module-call.
7407         (Finternal_module_call): Renamed from Fmodule_call.  Add safety
7408         checks.
7409         (syms_of_module): DEFSYM save-value-p and save-pointer-p.  Do
7410         defsubr internal--module-call.
7412 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7414         Add etags tests for the recent Lua-related bugfix
7416         * test/etags/lua-src/test.lua: New file, tests the issues raised
7417         by bug#21934.
7418         * test/etags/Makefile (LUASRC): Add test.lua.
7419         * test/etags/ETAGS.good_1:
7420         * test/etags/ETAGS.good_2:
7421         * test/etags/ETAGS.good_3:
7422         * test/etags/ETAGS.good_4:
7423         * test/etags/ETAGS.good_5:
7424         * test/etags/ETAGS.good_6:
7425         * test/etags/CTAGS.good: Adapt to the new Lua test.  Also, an old
7426         regression fix, resolved around 25 May 2015, required changes to
7427         the "good" ETAGS files.
7429 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7431         Fix Lua tags when a function name includes '.' or ':'
7433         * lib-src/etags.c (Lua_functions): Add a tag for the last element
7434         of a function name after a dot or a colon.  (Bug#21934)
7436 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7438         Improve documentation of search and replace commands
7440         * doc/emacs/search.texi (Replacement and Lax Matches): Document
7441         which commands are affected by 'replace-character-fold'.
7442         (Lax Search): Add a cross reference to "Replacement and Lax
7443         Matches".  Improve wording.  Fix lost extra whitespace.
7444         (Search Customizations): Improve wording.  (Bug#22036)
7445         See also comments in
7446         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.
7448         * lisp/replace.el (query-replace, query-replace-regexp)
7449         (query-replace-regexp-eval, replace-string, replace-regexp):
7450         Mention 'replace-character-fold' in the doc strings.
7452 2015-11-28  Paul Eggert  <eggert@cs.ucla.edu>
7454         Fix minor problems found by static checking
7456         * src/undo.c (prepare_record): Add proper prototype for C.
7458 2015-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7460         * src/emacs-module.c (struct env_storage): Delete
7462         (struct emacs_runtime_private): Keep an emacs_env instead.
7463         (Fmodule_load, Fmodule_call): Declare emacs_env_private separately.
7464         (initialize_environment): Split the arg in two.  Adjust all callers.
7465         Only store the private part in Vmodule_environments.
7466         (finalize_environment): Change the arg to only be the private env.
7467         Adjust all callers.
7469 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7471         Improve documentation of 'replace-character-fold'
7473         * lisp/replace.el (replace-character-fold): Clarify which commands
7474         are affected by this variable.
7476 2015-11-27  Dmitry Gutov  <dgutov@yandex.ru>
7478         Autoload etags when using its xref backend
7480         * lisp/progmodes/xref.el (xref--etags-backend):
7481         Rename to etags--xref-backend.  Move to etags.el.  Autoload.
7482         (Bug#22026)
7484 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7486         * lisp/character-fold.el: Allow complex chars to match their decomposition
7488         (character-fold-table): When a character's decomposition does not
7489         involve a formatting tag (i.e., if it has an "exact" description via
7490         other characters), then this character is allowed to match the
7491         decomposition.
7493 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7495         * lisp/character-fold.el: More descriptive variable names
7497         (character-fold-table): Rename a lot of the lexical variables to
7498         make the code easier to read.
7500 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7502         * lisp/isearch.el: Ensure we still support `isearch-new-word'
7504         (isearch-new-regexp-function): Define variable.
7505         (isearch-new-word): Define as an obsolete alias. (Bug#22018)
7507 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7509         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
7511 2015-11-27  Lee Bochicchio  <lboc.home@gmail.com>
7513         * test/lisp/abbrev-tests.el: Define more tests
7515         (abbrev-table-name-test, kill-all-abbrevs-test)
7516         (clear-abbrev-table-test): New tests.
7518 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7520         Add module tests for wrong-type-argument
7522         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
7523         wrong-type-argument.
7525 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7527         Improve handling of signals and 'throw' in modules
7529         * src/emacs-module.c: Add commentary explaining how to write
7530         functions in this file.
7531         (module_make_global_ref, module_free_global_ref)
7532         (module_non_local_exit_signal, module_non_local_exit_throw)
7533         (module_make_function, module_funcall, module_intern)
7534         (module_type_of, module_is_not_nil, module_eq)
7535         (module_extract_integer, module_make_integer)
7536         (module_extract_float, module_make_float)
7537         (module_copy_string_contents, module_make_string)
7538         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
7539         (module_get_user_finalizer, module_set_user_finalizer)
7540         (module_vec_set, module_vec_get, module_vec_size)
7541         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
7542         Do nothing and return with failure indication immediately, if some
7543         previous module call signaled an error or wants to throw.  See
7544         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html
7545         for the relevant discussions.
7547 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7549         Add ':version' tag to 'checkdoc-package-keywords-flag'
7551         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
7552         Add a ':version' tag.
7554 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7556         Improve documentation of 'eval-buffer' and 'eval-region'
7558         * src/lread.c (Feval_buffer, Feval_region): Doc fixes.  (Bug#22023)
7560         * doc/lispref/eval.texi (Eval): Mention narrowing to clarify
7561         "accessible portion of buffer".
7563 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7565         Unbreak the Cygwin w32 build
7567         * src/emacs.c (main): Call w32_init_main_thread in the Cygwin w32
7568         build as well.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
7570 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7572         Improve commentary in character-fold.el
7574         * lisp/character-fold.el (character-fold-to-regexp): Move detailed
7575         description from commit log message to comments.  (Bug#22019)
7577 2015-11-26  Alan Mackenzie  <acm@muc.de>
7579         Byte Compiler: generate code to adjust stack count after call to `signal'.
7581         Corrects change from earlier today.
7583         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
7584         `byte-compile--for-effect' as argument to `byte-compile-form'.
7586 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
7588         Improve commentary of prepare_to_modify_buffer_1
7590         * src/insdel.c (prepare_to_modify_buffer_1): Mention in commentary
7591         that this function runs Lisp.  Suggested by Richard Stallman
7592         <rms@gnu.org>.
7594 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
7596         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
7598 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
7600         Fix regression after merge.
7602          * src/undo.c (prepare_record): Remove call to run_undoable_change.
7604 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
7606         After delete, record point location in undo.
7608         Addresses Bug #21968.
7610                 * lisp/simple.el (undo-auto--add-boundary): Clean up code to
7611                 better support intercalating calls.
7612                 * src/keyboard.c, src/keyboard.h (command_loop_1): Store value of
7613                 point and current buffer before each command.
7614                 * src/undo.c (record_point): Now only record the point.
7615                 * src/undo.c (prepare_record): Functionality removed form
7616                 record_point.
7617                 * src/undo.c (record_delete): Check if point needs recording.
7618                 * src/undo.c (undo-boundary): Record value of point before each
7619                 boundary.
7620                 * test/automated/simple-test.el: New tests.
7622         Conflicts:
7623                 src/undo.c
7625 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
7627         Fix compiler warnings in w32.c
7629         * src/w32.c (sys_socket): In case of error, use -1 as return
7630         value, not INVALID_SOCKET, which causes compiler warnings.
7631         (maybe_load_unicows_dll): Cast the return value of GetProcAddress
7632         to the appropriate function signature, to avoid compiler errors.
7633         Reported by Andy Moreton <andrewjmoreton@gmail.com>.  (Bug#21953)
7635 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
7637         Check if the file exists on disk before producing the revert diff
7639         * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file
7640         exists on disk (bug#20558).
7642 2015-11-26  Alan Mackenzie  <acm@muc.de>
7644         Byte compiler: on setq with an odd number of arguments, generate a `signal'
7646         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
7647         it has an odd number of arguments, to allow bytecomp to handle the error.
7649         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
7650         odd number of arguments, generate a `signal' instead of the normal code.
7652 2015-11-25  Dmitry Gutov  <dgutov@yandex.ru>
7654         Use find-tag-default for xref-backend-identifier-at-point
7656         * lisp/progmodes/etags.el (find-tag-tag)
7657         (tags-completion-at-point-function): Extract common code as
7658         find-tag--default.
7659         (xref-backend-identifier-at-point): Define in terms of the new
7660         function.
7662 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7664         * src/undo.c (record_property_change): Remove now-unused local.
7666 2015-11-25  Phillip Lord  <phillip.lord@russet.org.uk>
7668         run_undoable_changes now called from insdel.
7670         The original calls from inside undo.c are not always at a safe position
7671         to call lisp, as they originate in varied positions within insdel.c.
7672         Calling them directly from prepare_to_modify_buffer_1 ensures that they
7673         are always run at the same point.
7675          * src/undo.c (run_undoable_changes,syms_of_undo): Remove function
7676          and symbol used.
7677          * src/insdel.c (run_undoable_changes): Add function and symbol.
7679 2015-11-25  Eli Zaretskii  <eliz@gnu.org>
7681         Improve and update documentation of search commands
7683         * doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
7684         all references changed.  Move the description of lax-whitespace
7685         here.  Add description of the new character folding features and
7686         additional customizable options.
7687         (Isearch Yank): Move before "Error in Search".
7688         (Basic Isearch): Improve wording.  Add index entries.  Add short
7689         description of how to abandon search, making this subsection a
7690         complete introduction to search basics.
7691         (Repeat Isearch): Add index entries.  Describe additional
7692         customizable options.  Describe mouse clicks.
7693         (Isearch Yank): Add index entries.  Describe mouse-2 click in echo
7694         area.  Describe more customizable options.
7695         (Error in Isearch): Add index entries.
7696         (Special Isearch): Move actual description of some isearch
7697         commands to other sections, leaving here just the summary of the
7698         commands.  Add command that toggles character folding.  Describe
7699         commands, like "C-h C-h", that were previously omitted for some
7700         reason.
7701         (Not Exiting Isearch): Describe search-exit-option.  Add index
7702         entries.
7703         (Word Search): Describe eww-search-word and eww-search-prefix.
7704         (Symbol Search): Add index entries.
7705         (Regexp Search): Describe regexp-search-ring-max.
7706         (Replacement and Lax Matches): Renamed from "Replacement and
7707         Case"; all references changed.  Describe lax-whitespace matching
7708         in replace commands and related options.  Describe character
7709         folding in replace commands and related options.
7710         (Query Replace): Describe query-replace-from-to-separator and the
7711         new history features.  Add index entries for highlighted text.
7712         Describe query-replace-skip-read-only.  Describe more keys
7713         accepted by query-replace.
7714         (Other Repeating Search): More index entries for Occur.  Describe
7715         list-matching-lines-default-context-lines.
7716         (Search Customizations): New section, documents customizable
7717         options that were not documented until now.
7718         * doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
7719         "Character Folding".
7721         * etc/NEWS: Move search- and replace-related entries to a single
7722         parent section.
7724         * lisp/replace.el (query-replace-show-replacement): Doc fix.
7725         * lisp/isearch.el (search-nonincremental-instead)
7726         (isearch-hide-immediately): Doc fixes.
7728 2015-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
7730         Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
7732         * lisp/gnus/nnml.el (nnml-retrieve-groups): Remove.  See:
7733         <http://thread.gmane.org/gmane.emacs.gnus.general/86308> and
7734         <http://thread.gmane.org/gmane.emacs.gnus.general/86321>
7736 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7738         Fix module_format_fun_env when dynlib_addr fails
7740         * src/emacs-module.c (module_format_fun_env):
7741         exprintf doesn’t support %p, so use %x.  Reported by Eli Zaretskii in:
7742         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html
7744 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7746         Disambiguate variable help a bit better
7748         * lisp/help-fns.el (describe-variable): Quote the
7749         variable’s value if it is a symbol other than t or nil.
7750         See: T.V Raman in:
7751         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
7753 2015-11-24  Dmitry Gutov  <dgutov@yandex.ru>
7755         Pass SVN commit message through log-edit-extract-headers
7757         * lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through
7758         log-edit-extract-headers (bug#18954).
7760 2015-11-24  Alan Mackenzie  <acm@muc.de>
7762         CC Mode: Eliminate compiler warning messages.
7764         * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
7765         `font-lock-syntactic-keywords' (which CC Mode doesn't use).
7766         * lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
7767         (c-awk-set-syntax-table-properties): Clarify comments about
7768         `font-lock-syntactic-keywords'.
7770         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
7771         of this before the real (interpreted) one, to satisfy the byte compiler.
7773 2015-11-24  Simen Heggestøyl  <simenheg@gmail.com>
7775         Extend the test suite for json.el
7777         * lisp/json.el (json-plist-p): Clarify docstring.
7779         * test/automated/json-tests.el (json-tests--with-temp-buffer): New
7780         macro.
7781         (test-json-join, test-json-alist-p)
7782         (test-json-plist-p, test-json-advance, test-json-peek)
7783         (test-json-pop, test-json-skip-whitespace)
7784         (test-json-read-keyword, test-json-encode-keyword)
7785         (test-json-read-number, test-json-encode-number)
7786         (test-json-read-escaped-char, test-json-read-string)
7787         (test-json-encode-string, test-json-encode-key)
7788         (test-json-new-object, test-json-add-to-object)
7789         (test-json-read-object, test-json-encode-list)
7790         (test-json-read-array, test-json-encode-array)
7791         (test-json-read, test-json-read-from-string)
7792         (test-json-encode): New tests.
7793         (json-read-simple-alist): Merged into `test-json-read-object'.
7794         (json-encode-string-with-special-chars): Merged into
7795         `test-json-encode-string'.
7796         (json-read-string-with-special-chars): Split into
7797         `test-json-encode-string' and `test-json-read-from-string'.
7799 2015-11-24  Anders Lindgren  <andlind@gmail.com>
7801         Fixed bug#18283: Enable applescript in NextStep.
7803         * nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES.
7805 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
7807         Allow completion on dynamic module files in load-library
7809         * lisp/files.el (load-library): Bind completion-ignored-extensions
7810         to nil, to allow completion on dynamic modules typed as file
7811         names.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
7813 2015-11-24  Alan Mackenzie  <acm@muc.de>
7815         CC Mode: eliminate almost all byte compilation warnings
7817         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
7818         (cc-require): Remove the crude hack that saved and restored
7819         byte-compile-noruntime-functions.
7820         (cc-conditional-require, cc-conditional-require-after-load): New macros.
7822         * lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
7823         cc-fix.el using the new macros in cc-bytecomp.el.
7825         * lisp/progmodes/cc-langs.el (c++-template-syntax-table)
7826         (c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
7827         forms to remove the superflous quotes.
7829 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
7831         Add one more mod-test test
7833         * modules/mod-test/test.el (mod-test-sum-test): Test the error
7834         signaled when the function is invoked with a wrong number of
7835         arguments.
7837 2015-11-24  Philipp Stephani  <phst@google.com>
7839         * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args.
7841 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
7843         Implement dynlib_addr for MS-Windows
7845         * src/dynlib.c [WINDOWSNT]: Include w32common.h.
7846         <g_b_init_get_module_handle_ex> [WINDOWSNT]: New static variable.
7847         (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
7848         (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define
7849         if undefined.
7850         (dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to
7851         zero.
7852         (dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report
7853         the full file name of the module for a given address.
7855 2015-11-24  Alan Mackenzie  <acm@muc.de>
7857         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
7859 2015-11-24  Alan Mackenzie  <acm@muc.de>
7861         Squashed commit of the following:
7863         commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
7864         Author: Alan Mackenzie <acm@muc.de>
7865         Date:   Tue Nov 24 16:50:09 2015 +0000
7867             Byte compile: minor amendments.
7869             * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
7870             add a comment to explain the binding of variables around a subsidiary
7871             compilation.
7872             (byte-compile-new-defuns): Amend the doc string.
7874         commit c537bfed1dda1593d218956ff00c6105a3ff0316
7875         Author: Alan Mackenzie <acm@muc.de>
7876         Date:   Sat Nov 21 18:43:57 2015 +0000
7878             Byte compiler: fix spurious warnings "might not be defined at runtime".
7880             Also initialize byte-compile-noruntime-functions between runs.
7882             * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
7883             (byte-compile-initial-macro-environment): For eval-when-compile: bind
7884             byte-compile-unresolved-functions and byte-compile-new-defuns around
7885             byte-compile-top-level, to prevent spurious entries being made.
7886             (byte-compile-warn-about-unresolved-functions): Check whether function is
7887             in byte-compile-new-defuns before emitting a warning about it.
7888             (byte-compile-from-buffer): Initialize new variable and
7889             byte-compile-noruntime-functions to nil.
7890             (byte-compile-file-form-require): record all new functions defined by a
7891             `require' in byte-compile-new-defuns.
7892             (byte-compile-file-form-defmumble): record the new alias in
7893             byte-compile-new-defuns.
7895 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
7897         Fix crash at startup related to GC of font entities
7899         * src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P)
7900         (GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY)
7901         (GC_XFONT_OBJECT): New macros, for use in garbage collector.
7902         * src/alloc.c (compact_font_cache_entry, compact_font_caches):
7903         Don't ifdef away font cache compaction on NT_GUI, as the problems
7904         which led to that seem to have been solved.
7905         (compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC,
7906         GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_
7907         cousins.  (Bug#21999)
7909 2015-11-24  Alan Mackenzie  <acm@muc.de>
7911         Byte compile: Output an error, not a warning, for odd number of args to setq
7913         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend.
7915 2015-11-24  Ken Raeburn  <raeburn@raeburn.org>
7917         Fix kbd_buffer iteration loop in readable_events
7919         * src/keyboard.c (readable_events): Wrap the event pointer back to the
7920         start of the kbd_buffer array inside the top of the loop instead of
7921         right before checking the loop condition, since kbd_fetch_ptr and
7922         kbd_store_ptr point past the end of the array to mean that element 0
7923         is next. (bug#21935)
7925 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7927         Improve text-quoting-style doc again
7929         * doc/lispref/help.texi (Keys in Documentation):
7930         Omit overkill discussion of ‘setq’.  Mention Emacs versions
7931         where ‘grave’ style was standard.
7933 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
7935         Improve text-quoting-style doc
7937 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
7939         Simplify module_make_function
7941         * src/emacs-module.c (module_make_function):
7942         Simplify by calling build_unibyte_string.
7944 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
7946         Port better to FreeBSD’s dlfunc vs dlsym
7948         This avoids warnings when converting between void * and
7949         function pointers, which strict C11 does not allow.
7950         * configure.ac (dlfunc): Check for existence.
7951         * src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
7952         (dynlib_func): New function.
7953         * src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
7954         * src/emacs-module.c (Fmodule_load): Use dynlib_func, not
7955         dynlib_sym, for function pointers.
7957 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
7959         Simplify use of emacs_finalizer_function type
7961         * src/emacs-module.h (emacs_finalizer_function):
7962         Now EMACS_NOEXCEPT.  All users simplified to omit EMACS_NOEXCEPT.
7963         (struct emacs_env_25): Use emacs_finalizer_function where applicable.
7965 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
7967         module_format_fun_env fixes
7969         * src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case.
7970         * src/emacs-module.c (module_format_fun_env):
7971         Convert path and sym to UTF-8.
7972         Don’t use VLAs, as the C11 standard says they’re optional,
7973         and anyway they can cause core dumps with large allocations.
7974         Use exprintf rather than snprintf, as exprintf handles arbitrarily
7975         long strings.  Simplify the code a bit.
7977 2015-11-23  Dmitry Gutov  <dgutov@yandex.ru>
7979         Don't use package-user-dir in elisp-library-roots if it's not bound
7981         * lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
7982         use package-user-dir if it's not bound (bug#19759).
7984 2015-11-23  Anders Lindgren  <andlind@gmail.com>
7986         New visible-bell for NextStep (OS X El Capitan compatible).
7988         Instead of inverting a rectangle in the middle of the frame, use
7989         the standard NextStep image "caution", represented using an
7990         warning sign with an exclamation mark.  (Bug#21662)
7992         Implemented based on a suggestion drafted by Mustafa Kocaturk.
7994         * src/nsterm.m (EmacsBell): New class for managing the caution
7995         image.  Support multiple active bells, the image is removed once
7996         all bells have timed out.
7997         (ns_timeout): Removed, no longer used.
7998         (ns_ring_bell): Reimplemented to use EmacsBell.
8000 2015-11-23  Johan Bockgård  <bojohan@gnu.org>
8002         * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec.
8004         (remove-function): Ditto. (Bug#20376)
8006 2015-11-23  Mark Oteiza  <mvoteiza@udel.edu>
8008         * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes.
8010 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
8012         Improve how non-ASCII strings are accepted from modules
8014         * src/emacs-module.c (module_make_function, module_make_string):
8015         Build a unibyte Lisp string and then decode it by UTF-8, instead
8016         of building a multibyte string without decoding.  This is more
8017         tolerant to deviations from UTF-8.
8019 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
8021         Port recent module changes to pickier compilers
8023         * src/emacs-module.c (module_make_function)
8024         (module_make_string): Add casts to fix pointer signedness issues.
8026 2015-11-23  Philipp Stephani  <phst@google.com>
8028         Fix how strings are accepted from modules
8030         * emacs-module.c (module_make_function, module_make_string): Use
8031         make_multibyte_string.
8032         (module_copy_string_contents): Encode before reading the byte
8033         size.  Return false if and only if an error occurred.
8035 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
8037         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
8039 2015-11-23  Shakthi Kannan  <shakthimaan@gmail.com>
8041         Add the tamil-dvorak input method
8043         * lisp/leim/quail/tamil-dvorak.el: New file.  (Bug#21768)
8045         * etc/NEWS: Mention the new input method.
8047 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
8049         Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows.
8051         * src/frame.c (adjust_frame_size): Don't set
8052         FRAME_WINDOW_SIZES_CHANGED here ...
8053         * src/window.c (resize_frame_windows): ... but here, as suggested
8054         by Stefan Monnier.  Also remove some dead code along the way.
8056 2015-11-23  Alan Mackenzie  <acm@muc.de>
8058         * /etc/NEWS (Incompatible Lisp Changes): Also `setf' needs an even # of args.
8060 2015-11-23  Alan Mackenzie  <acm@muc.de>
8062         Signal an error when `setf' gets an odd number of arguments.
8064         * lisp/emacs-lisp/gv.el (setf): Amend.
8066 2015-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
8068         * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
8070 2015-11-23  Alan Mackenzie  <acm@muc.de>
8072         * etc/NEWS (Incompatible Lisp Changes): Document new restriction on `setq'.
8074 2015-11-23  Alan Mackenzie  <acm@muc.de>
8076         Expunge occurrences of `setq' with an odd number of arguments.
8078         * lisp/apropos.el (apropos-documentation):
8079         * lisp/obsolete/complete.el (PC-include-file-all-completions):
8080         * lisp/progmodes/compile.el (compilation-goto-locus):
8081         * lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
8082         Insert missing nil at end of `setq' forms.
8084         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
8085         erroneous trailing variable name from a setq, thus allowing a compilation
8086         properly to track functions not defined at runtime.
8088 2015-11-23  John Wiegley  <johnw@newartisans.com>
8090         Add a note about a questionable use of bool in xdisp.c
8092 2015-11-23  Alan Mackenzie  <acm@muc.de>
8094         Issue a warning from the byte compiler on a malformed `setq' form.
8096         Partly fixes bug#20241.
8097         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
8098         `setq' form with an odd number of arguments is compiled.
8100 2015-11-23  Alan Mackenzie  <acm@muc.de>
8102         Don't let cconv_convert insert a nil argument into a `setq' form.
8104         Fixes bug#21983.
8105         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
8106         argument into a `setq' when there're an odd number of args.  This enables the
8107         byte compiler to issue a message in this case.
8109 2015-11-23  Alan Mackenzie  <acm@muc.de>
8111         Signal an error when `setq' has an odd number of arguments.  Fixes bug#20241.
8113         * src/eval.c (Fsetq): Signal an error on an odd number of arguments.
8114         (syms_of_eval): Add a DEFSYM for Qsetq.
8116 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
8118         * doc/lispref/windows.texi (Window Sizes): Fix indices and references.
8120         * src/frame.c (adjust_frame_size): Set FRAME_WINDOW_SIZES_CHANGED (Bug#21975).
8122 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8124         Add EUDC BBDB 3 entry in NEWS
8126         * NEWS: Mention EUDC BBDB backend support for BBDB 3.
8128 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8130         Improve EUDC to BBDB 3 export
8132         * eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
8133         entry to single item.  Add company conversion.
8134         * eudc-export.el (eudc-bbdbify-company): New function.
8135         (bbdb-parse-phone): Declare function.
8136         (eudc-bbdbify-phone): Add BBDB 3 support.
8137         (Bug#21971)
8139 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8141         Add BBDB 3 support for EUDC export
8143         * eudc.el: Add bbdb-version defvar.
8144         (eudc--using-bbdb-3-or-newer-p): New function.
8145         * eudc-export.el (eudc-create-bbdb-record): Add support for
8146         bbdb-create-internal argument list changes introduced in BBDB 3.
8147         * eudcb-bbdb.el: Remove bbdb-version defvar.
8148         (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
8149         (Bug#21971)
8151 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
8153         Allow loading modules by 'load-file'
8155         * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
8156         2nd arg, to avoid the "binding stack not balanced" error.
8157         (syms_of_lread) <module-file-suffix>: New Lisp variable.
8159         * lisp/files.el (module-file-suffix): Declare.
8160         (load-file): Remove 'module-file-suffix' from
8161         'completion-ignored-extensions', to allow completion on modules.
8163         * etc/NEWS: Mention 'module-file-suffix'.
8165 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
8167         Fix unoptimized builds
8169         * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized
8170         builds.
8172 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
8174         Work around the asynchronous-empty-diff problem
8176         * lisp/vc/vc-rcs.el (vc-rcs-diff):
8177         * lisp/vc/vc-mtn.el (vc-mtn-diff):
8178         * lisp/vc/vc-hg.el (vc-hg-diff):
8179         * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument,
8180         do a synchronous process call (bug#21969).
8182 2015-11-21  Karl Fogel  <kfogel@red-bean.com>
8184         Finish excising electric indent from `open-line'
8186         * lisp/simple.el (open-line): Remove INTERACTIVE argument.
8188         * test/automated/simple-test.el (open-line-indent, open-line-hook):
8189           Adjust accordingly.
8191         This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
8192         (git commit c59353896) started.  It turns out that having INTERACTIVE
8193         cause `post-self-insert-hook' to run (via `newline') meant `open-line'
8194         still had the electric indent behavior, as `post-self-insert-hook'
8195         normally contains `electric-indent-post-self-insert-function' ever
8196         since `electric-indent-mode' has been on by default.  Tracing the code
8197         change in `open-line' is mildly twisty, because Artur Malabarba's
8198         earliest two commits of 24 Oct 2015 first removed the `interactive'
8199         form entirely (git commit 6939896e2) and then restored it with the new
8200         extra "p" already added (git commit bd4f04f86), such that there is no
8201         single-commit diff in which one sees the second "p" appear.  Thus this
8202         change is effectively a reversion of parts of each of those commits.
8204         This could close bug#21884, at least until further discussion.
8206 2015-11-21  Dmitry Gutov  <dgutov@yandex.ru>
8208         Adhere closer to the "implicit tag name" definition
8210         * lisp/progmodes/etags.el (etags-tags-completion-table):
8211         Adhere closer to the "implicit tag name" definition.  Simplify
8212         the regexp.  Search for the explicit tag name first, and when
8213         not found, search locally for the implicit one.  (Bug#21934)
8215 2015-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
8217         Unrevert most of regexp reentrancy abort patch
8219         The problem was in:
8220           * src/syntax.c (update_syntax_table_forward): Propertize even when truncated
8221         which is hence not unreverted.
8222         The rest is:
8223         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
8224         (UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
8225         All callers in regex.c changed back to the _FAST versions.
8227         * test/automated/message-mode-tests.el: Tweak the test to rely on auto
8228         propertization in backward-sexp.
8230 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
8232         Revert regexp reentrancy abort patch
8234         Although the patch does fix Bug#21688 and prevents a core dump,
8235         it also makes the message-mode-propertize test fail; see:
8236         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html
8237         Perhaps someone else can come up with a better fix some day.
8238         * src/syntax.c (update_syntax_table_forward):
8239         Propertize even when truncated.
8240         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
8241         (UPDATE_SYNTAX_TABLE_FAST): Remove.
8242         All callers changed back to the non-_FAST versions.
8244 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
8246         Add a few safety checks when ENABLE_CHECKING
8248         This was motivated by the recent addition of module code,
8249         which added some ENABLE_CHECKING-enabled checks that are
8250         useful elsewhere too.
8251         * src/alloc.c (compact_font_cache_entry):
8252         * src/fns.c (sweep_weak_table):
8253         * src/lread.c (oblookup):
8254         Use gc_asize rather than doing it by hand.
8255         * src/emacs-module.c (module_make_global_ref)
8256         (module_free_global_ref, module_vec_size):
8257         Omit assertions that lisp.h now checks.
8258         * src/lisp.h (XFASTINT, ASIZE): In functional implementations,
8259         check that the result is nonnegative.  Use eassume, as this
8260         info can help a bit when optimizing production code.
8261         (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
8262         to be consistent with the USE_LSB_TAG case.
8263         (gc_asize): New function, when ASIZE is needed in the gc.
8264         (gc_aset): Use it.
8265         (HASH_TABLE_P): Move definition up, so that it can be used ...
8266         (XHASH_TABLE): ... here, to assert that the arg is a hash table.
8268 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
8270         Simplify recording of main thread's ID on MS-Windows
8272         * src/w32term.c (w32_initialize):
8273         * src/w32console.c (initialize_w32_display):
8274         * src/w32fns.c (globals_of_w32fns): Don't record the main thread
8275         ID independently for each type of session (GUI, TTY, batch).
8276         * src/w32term.c (w32_init_main_thread): New function, records the
8277         main thread's thread ID.
8278         * src/w32term.h: Add prototype for w32_init_main_thread.
8279         * src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread.
8281         * src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to
8282         main_thread, for consistency with other threading libraries.  All
8283         users changed.  Include w32term.h.
8284         (check_main_thread) [WINDOWSNT]: Simplify the test: no need to
8285         make sure the main thread is alive, as we hold a handle on it
8286         opened by w32_init_main_thread.
8287         (module_init) [WINDOWSNT]: Reuse the thread ID recorded by
8288         w32_init_main_thread, instead of calling the requisite APIs once
8289         more.
8291 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
8293         Call 'window-size-change-functions' for mini-windows
8295         * src/window.c (grow_mini_window, shrink_mini_window): Set the
8296         frame's 'window_sizes_changed' flag.
8297         * src/xdisp.c (redisplay_internal): Call the hooks on
8298         'window-size-change-functions' if the call to 'echo_area_display'
8299         sets the frame's 'window_sizes_changed' flag.
8300         (syms_of_xdisp) <window-size-change-functions>:
8301         Update doc string to indicate the mini-window resizes trigger a
8302         call to the hooks, and don't promise that will happen "before
8303         redisplay".  (Bug#19576, Bug#21333)
8305         * doc/lispref/windows.texi (Window Hooks): Update the description
8306         of 'window-size-change-functions'.
8308 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
8310         Improve documentation of dynamic modules
8312         * src/fns.c (Frequire): Doc fix to include the dynamic module
8313         support.
8314         * src/lread.c (Fload, Vload_suffixes): Doc fixes to include the
8315         dynamic module support.
8316         (Fload): Treat the module suffix the same as '*.el' and '*.elc'
8317         wrt the MUST-SUFFIX argument.
8319         * etc/NEWS: Expand documentation of dynamically loaded modules.
8321 2015-11-21  Philipp Stephani  <phst@google.com>  (tiny change)
8323         Initial documentation for dynamic modules
8325         * etc/NEWS: Mention the new support for dynamically loaded modules.
8327 2015-11-20  Dmitry Gutov  <dgutov@yandex.ru>
8329         Add xref--etags-backend to xref-backing-functions using add-hook
8331         * lisp/progmodes/xref.el (xref-backend-functions): Move the
8332         default value into a separate `add-hook' call (bug#21964).
8334         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
8335         Don't declare the xref-backend-functions variable.
8336         It doesn't make any difference.
8338 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8340         Fix double-decrement bug when freeing global refs
8342         * src/emacs-module.c (module_free_global_ref): Add a FIXME
8343         comment about error reporting.  Fix a recently-introduced typo
8344         that double-decremented the refcount.
8346 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8348         Declare emacs_module_init in the module API
8350         * src/emacs-module.h (emacs_module_init): New decl.
8351         Without it, GCC might complain about a module that defines
8352         emacs_module_init without using it.  This also checks the
8353         API better.
8355 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8357         Fix module test to use ptrdiff_t nargs too
8359         * modules/mod-test/mod-test.c (Fmod_test_return_t)
8360         (Fmod_test_sum, Fmod_test_signal, Fmod_test_throw)
8361         (Fmod_test_non_local_exit_funcall, Fmod_test_globref_make)
8362         (Fmod_test_string_a_to_b, Fmod_test_userptr_make)
8363         (Fmod_test_userptr_get, Fmod_test_vector_fill)
8364         (Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int.
8365         (finalizer): Remove; no longer used.
8367 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8369         Fix reindent-introduced typo in module code
8371         * src/emacs-module.c (MODULE_SETJMP_1): Fix typo that I
8372         introduced while reindenting the code earlier, and add a
8373         comment explaining the unusual use of do-while here.
8375 2015-11-20  Anders Lindgren  <andlind@gmail.com>
8377         Fixed bug#19576: `write-file' saves wrong buffer.
8379         If a function on the hook `window-size-change-functions' doesn't
8380         restore the current buffer, functions that save and restore the
8381         current window configuration (like `y-or-no-p') could silently
8382         change the current buffer.  When `write-file' asked the user
8383         confirmation to overwrite a file, `y-or-no-p' changed the current
8384         buffer, and the wrong buffer was saved to the file.
8386         * lisp/follow.el (follow-windows-start-end): Call `select-frame'
8387         using the `norecord' parameter.
8388         (follow-window-size-change): Restore current buffer. Call
8389         `select-frame' using the `norecord' parameter. Cleanup.
8391 2015-11-20  John Wiegley  <johnw@newartisans.com>
8393         Correct a documentation error in frames.texi
8395 2015-11-20  Stephen Leake  <stephen_leake@stephe-leake.org>
8397         * lisp/cedet/mode-local.el: Delete obsolete comment
8399 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8401         Module function arg counts are ptrdiff_t, not int
8403         * src/emacs-module.c (struct module_fun_env)
8404         (module_make_function, module_funcall, Fmodule_call):
8405         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
8406         Use ptrdiff_t, not int, for arg counts.
8407         * src/emacs-module.c (module_make_function): Don’t bother
8408         checking arity against MOST_POSITIVE_FIXNUM, as that’s
8409         unnecessary here.  Make the checking clearer by negating it.
8410         (module_make_function, Fmodule_call): No need to use xzalloc
8411         since the storage doesn’t need to be cleared.
8412         (module_funcall): Don’t use VLA, since C11 doesn’t guarantee support
8413         for it, and many implementations are buggy with large VLAs anyway.
8414         Use SAFE_ALLOCA_LISP instead.
8415         (module_vec_set): Don’t crash if i < 0.
8416         (module_vec_get): Don’t crash if i < MOST_NEGATIVE_FIXNUM.
8417         (module_vec_set, module_vec_get): Do fixnum checks only when
8418         i is out of array bounds, for efficiency in the usual case.
8419         (Fmodule_load): Simplify fixnum range check.
8420         (Fmodule_call): Simplify arity check.  Use xnmalloc to detect
8421         integer overflow in array allocation size.
8423 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
8425         Minor improvements in module test
8427         * modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings
8428         about missing prototype of malloc.
8429         * modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid
8430         compiler warnings.
8432 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
8434         Improve MS-Windows implementation in dynlib.c
8436         * src/dynlib.c [WINDOWSNT]: Include errno.h, lisp.h, and w32.h.
8437         No need to include windows.h, as w32.h already does that.
8438         <dynlib_last_err>: New static variable.
8439         (dynlib_reset_last_error): New function.
8440         (dynlib_open): Convert forward slashes to backslashes.  Convert
8441         file names from UTF-8 to either UTF-16 or the current ANSI
8442         codepage, and call either LoadLibraryW or LoadLibraryA.  If the
8443         argument is NULL, return a handle to the main module, like
8444         'dlopen' does.  Record the error, if any, for use by dynlib_error.
8445         (dynlib_sym): Check the handle for validity. Record the error, if
8446         any, for use by dynlib_error.
8447         (dynlib_error): Call w32_strerror to produce the error string, and
8448         zero out the last error code, like dlerror does.
8449         (dynlib_close): Check the handle for validity.  Record the error,
8450         if any, for use by dynlib_error.  Don't call FreeLibrary with a
8451         handle for the main module.
8452         * src/w32.c (globals_of_w32): Call dynlib_reset_last_error.
8454 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8456         Include-file tweaks for modules
8458         * src/dynlib.c, src/emacs-module.c: Include <config.h> first.
8459         * src/dynlib.h: Do not include config.h.
8460         It’s every .c file’s responsibility to include config.h first.
8461         * src/emacs-module.c: Include emacs-module.h immediately after
8462         config.h, to test that emacs-module.h doesn’t depend on
8463         include files other than config.h.
8465 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8467         Simplify push_handler and profile its malloc
8469         * src/lisp.h (PUSH_HANDLER): Remove.
8470         All callers changed to use push_handler directly.
8471         * src/eval.c (internal_condition_case)
8472         (internal_condition_case_1, internal_condition_case_2)
8473         (internal_condition_case_n):
8474         Use same pattern as for other invokers of push_handler.
8475         (push_handler, push_handler_nosignal): Use call-by-value
8476         instead of call-by-reference.  All uses changed.
8477         (push_handler): Simplify by rewriting in terms of
8478         push_handler_nosignal.
8479         (push_handler_nosignal): Profile any newly allocated memory.
8481 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8483         * src/emacs-module.h: Include stddef.h, not stdlib.h.
8485 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
8487         Discover repository version in linked worktrees (bug#21930)
8489         * lisp/version.el (emacs-repository--version-git-1): Do not assume
8490         HEAD is at .git/HEAD, it can also be at .git/worktrees/<branch>/HEAD.
8491         (emacs-repository-get-version): Grok linked worktrees when EXTERNAL
8492         is nil too.
8494 2015-11-19  Juri Linkov  <juri@linkov.net>
8496         * lisp/replace.el (occur-regexp-descr): New function.
8497         (occur-1, occur-engine): Use it.
8499         * lisp/isearch.el (isearch-occur): Propertize regexp with
8500         isearch-string and isearch-regexp-function-descr for
8501         occur-regexp-descr to display the correct description
8502         message in the header (bug#21176, bug#21180).
8504 2015-11-19  Karl Fogel  <kfogel@red-bean.com>
8506         Revert `open-line' electric-indent sensitivity
8508         * lisp/simple.el (open-line): Remove electric indent code.
8509           (electric-indent-just-newline): Don't declare.
8511         * test/automated/simple-test.el (open-line-indent): Adjust test.
8513         This partly reverts Artur Malabarba's change that added electric
8514         indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git
8515         commit bd4f04f86), and adjusts a new test he added right afterwards
8516         (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly.
8517         However, the new INTERACTIVE argument to `open-line', which he also
8518         added in the first commit, is not reverted here.
8520         See the thread "Questioning the new behavior of `open-line'." on the
8521         Emacs Devel mailing list, and in particular this message:
8523           From: Artur Malabarba
8524           Subject: Re: Questioning the new behavior of `open-line'.
8525           To: Karl Fogel
8526           Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel
8527           Date: Wed, 18 Nov 2015 21:03:58 +0000
8528           Message-ID: \
8529             <CAAdUY-KN06pvCMy5bt3+Buk3yeKjf6n9iB2FaSTTOPpCqPwyhA@mail.gmail.com>
8531           https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html
8533 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8535         Omit unnecessary clear in Fmodule_load
8537         * src/emacs-module.c (Fmodule_load):
8538         Simplify and avoid unnecessary initialization of priv member to 0.
8540         * src/emacs-module.c: (module_vec_set, module_vec_get, module_vec_size)
8542 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8544         Prefer signed integer types in module code
8546         Generally speaking, at the C level the Emacs source code prefers
8547         signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’,
8548         partly to avoid the usual signedness confusion when comparing values.
8549         Change the module API to follow this convention.
8550         Use ‘int’ for small values that can’t exceed INT_MAX.
8551         * modules/mod-test/mod-test.c (Fmod_test_globref_make)
8552         (Fmod_test_string_a_to_b, Fmod_test_vector_fill)
8553         (Fmod_test_vector_eq):
8554         * src/emacs-module.c (struct emacs_value_frame)
8555         (module_make_global_ref, module_free_global_ref)
8556         (module_copy_string_contents, module_make_string)
8557         (module_vec_set, module_vec_get, module_vec_size):
8558         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
8559         * src/lread.c (suffix_p):
8560         Prefer signed to unsigned integer types.
8562 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8564         Omit ‘const’ on locals
8566         Remove ‘const’ qualifier from locals that were newly added.
8567         We don’t normally bother declaring locals with ‘const’ even
8568         though they are not modified, for the same reason we don’t
8569         bother declaring them with ‘register’ even though their
8570         addresses are not taken; the advantage in compile-time
8571         checking isn’t worth the loss of readability.
8572         * modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall)
8573         (Fmod_test_vector_fill, Fmod_test_vector_eq):
8574         * src/emacs-module.c (MODULE_SETJMP_1)
8575         (module_make_global_ref, module_free_global_ref)
8576         (module_non_local_exit_get, module_make_function)
8577         (module_extract_integer, module_extract_float)
8578         (module_get_user_ptr, module_set_user_ptr)
8579         (module_get_user_finalizer, module_set_user_finalizer)
8580         (module_vec_get, Fmodule_call)
8581         (module_non_local_exit_signal_1)
8582         (module_non_local_exit_throw_1, lisp_to_value)
8583         (finalize_storage, allocate_emacs_value, mark_modules)
8584         (module_handle_signal, module_handle_throw)
8585         (module_format_fun_env):
8586         * src/eval.c (push_handler, push_handler_nosignal)
8587         (init_handler):
8588         * src/lread.c (suffix_p):
8589         Omit unnecessary ‘const’.
8591 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8593         Prefer intmax_t to int64_t in module code
8595         * modules/mod-test/mod-test.c (sum, Fmod_test_sum):
8596         * src/emacs-module.c (module_extract_integer)
8597         (module_make_integer):
8598         * src/emacs-module.h (struct emacs_env_25):
8599         Prefer intmax_t to int64_t.  This doesn’t change the generated
8600         code on any of the machines Emacs currently ports to, but it’s
8601         at least in theory more future-proof as C99 doesn’t guarantee
8602         that int64_t exists.
8604 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8606         Rename module.c to emacs-module.c, etc.
8608         * src/emacs-module.c: Rename from src/module.c.
8609         * src/emacs-module.h: Rename from src/module.h.
8610         All uses changed.
8612 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8614         Fix minor module problems found by static checking
8616         * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used.
8617         * src/eval.c, src/lisp.h (lisp_eval_depth): Now static.
8618         * src/module.c (Fmodule_load): Fix pointer signedness bug.
8619         (Fmodule_call): Tell GCC that the default case is unreachable.
8621 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8623         Style fixes for indenting etc. in module code
8625         This is mostly indenting and spacing changes.  Also, remove
8626         some unnecessary static decls instead of bothering to reindent them.
8627         * src/module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
8628         as most other Emacs files do for this sort of thing.
8630 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
8632         Minor improvements in modules testing Makefile
8634         * modules/mod-test/Makefile (EMACS, SO): New variables.
8635         (CFLAGS): When SO = dll, don't use -fPIC.
8636         (check): New target, runs the test.
8638 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
8640         * .gitignore: Add "*.dll".
8642 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8644         Migrate modules/.gitignore into .gitignore
8646         * .gitignore: Add former contents of modules/.gitignore.
8647         * modules/.gitignore: Remove.
8649 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8651         Add copyright notices to module code
8653         Put them in the usual format for GNU Emacs copyright notices.
8655 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8657         Rename emacs_module.h to module.h
8659         * src/module.h: Rename from src/emacs_module.h.
8660         All uses changed.
8662 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
8664         * src/module.c (Fmodule_load): Remove unused vars `doc_name', `args'
8666         * src/lread.c (Fload): Remove unused variable `size'
8668 2015-11-19  Alan Mackenzie  <acm@muc.de>
8670         src/keyboard.c (pre-command-hook): Fix typo in doc string: "pre" -> "post".
8672 2015-11-18  Dmitry Gutov  <dgutov@yandex.ru>
8674         Prioritize looking inside vc-parent-buffer over log-view-mode fallback
8676         * lisp/vc/vc.el (vc-deduce-fileset): Prioritize looking inside
8677         vc-parent-buffer over log-view-mode fallback (bug#21955).
8679 2015-11-18  Alan Mackenzie  <acm@muc.de>
8681         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
8683 2015-11-18  Ken Brown  <kbrown@cornell.edu>
8685         * configure.ac (LIBMODULES): Don’t define on Cygwin
8687 2015-11-18  Eli Zaretskii  <eliz@gnu.org>
8689         Fix MS-Windows build --with-modules
8691         * src/module.c: Reformat copyright commentary.
8692         (module_vec_get): Use explicit cast to size_t to avoid compiler
8693         warning in 32-bit builds.
8694         (check_main_thread) [WINDOWSNT]: Fix letter-case in Windows APIs.
8695         Compare thread IDs directly, as GetThreadId is not available
8696         before Windows Vista.
8697         (check_main_thread) [WINDOWSNT]: Duplicate the thread handle
8698         without using APIs and constants not available on XP and older
8699         systems.  Obtain and store the thread ID as well.
8701 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
8702             Philipp Stephani  <phst@google.com>
8704         Add dynamic module test and helper script
8706         Add 'modhelp.py' script (python2) to automate module testing and
8707         module generation.
8709         To build and test all modules in the modules/ dir
8710           $ ./modhelp.py test
8712         To generate a module from template code (good starting point)
8713           $ ./modhelp init mynewtestmodule
8715         See the script -h option for more documentation.
8717         * modules/modhelp.py: New module helper script.
8718         * modules/mod-test/Makefile: New file. Makefile for the test module.
8719         * modules/mod-test/mod-test.c: New file. Test module source file.
8720         * modules/mod-test/test.el: New file. ert test suite for the test module.
8721         * modules/.gitignore: New file. Local .gitignore file.
8723 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
8725         Make 'Fload' look for modules
8727         'Fload' can now load dynamic modules. This also makes 'require' work.
8729         * src/lread.c:
8730           (suffix_p): New function.
8731           (Fload): Use 'suffix_p'.  Call 'Fmodule_load' when we try to load a file
8732           with a module suffix.
8733           (syms_of_lread): Append module suffix to 'Vload_suffixes'.
8735 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
8736             Philipp Stephani  <phst@google.com>
8738         Add dynamic module module support
8740         * configure.ac: Add '--with-modules' option.  Conditionally add
8741           dynlib.o and module.o to the list of objects.  Add any system
8742           specific flags to the linker flags to support dynamic libraries.
8743         * m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
8744           attributes.
8745         * src/Makefile.in: Conditionally add module objects and linker flags.
8746         * src/alloc.c (garbage_collect_1): protect module local values from
8747           GC.
8748         * src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
8749         * src/emacs_module.h: New header file included by modules.  Public
8750           module API.
8751         * src/module.c: New module implementation file.
8753 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
8755         Add new User Pointer (User_Ptr) type
8757         * src/lisp.h: Add new Lisp_Misc_User_Ptr type.
8758         (XUSER_PTR): New User_Ptr accessor.
8759         * src/alloc.c (make_user_ptr): New function.
8760         (mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr.
8761         * src/data.c (Ftype_of): Return 'user-ptr' for user pointer.
8762         (Fuser-ptrp): New user pointer type predicate function.
8763         (syms_of_data): New 'user-ptrp', 'user-ptr' symbol.  New 'user-ptrp'
8764         subr.
8765         * src/print.c (print_object): Add printer for User_Ptr type.
8767 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
8768             Philipp Stephani  <phst@google.com>
8770         Add portable layer for dynamic loading
8772         * src/dynlib.h: New file.
8773         * src/dynlib.c: New file.
8775 2015-11-18  Philipp Stephani  <phst@google.com>
8777         Add catch-all & no-signal version of PUSH_HANDLER
8779         Ground work for modules. Add a non-signaling version of PUSH_HANDLER and
8780         a new "catch-all" handler type.
8782         * src/eval.c (init_handler, push_handler, push_handler_nosignal): New
8783           functions.
8784         * src/fns.c (hash_remove_from_table): Expose function public.
8785         * src/lisp.h: New handler type, define macro to push_handler call.
8787 2015-11-18  Ken Brown  <kbrown@cornell.edu>
8789         Silence byte-compiler warning
8791         * lisp/server.el (server-process-filter): Silence byte-compiler
8792         warning.
8794 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
8796         Quote symbols in docstrings using `'
8798         Be more systematic about quoting symbols `like-this' rather than
8799         `like-this or 'like-this' in docstrings.  This follows up Artur
8800         Malabarba's email in:
8801         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html
8803 2015-11-18  Peder O. Klingenberg  <peder@klingenberg.no>
8805         Fix savegames in dunnet
8807         * lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead
8808           of separate implementation.
8810 2015-11-18  Artur Malabarba  <bruce.connor.am@gmail.com>
8812         * lisp/emacs-lisp/package.el (package--with-response-buffer):
8814         Ensure we're at the start of the buffer before searching for
8815         the end of headers.
8817 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
8819         * admin/release-process: Improve wording.
8821 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8823         Fix docstring quoting problems with ‘ '’
8825         Problem reported by Artur Malabarba in:
8826         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
8827         Most of these fixes are to documentation; many involve fixing
8828         longstanding quoting glitches that are independent of the
8829         recent substitute-command-keys changes.  The changes to code are:
8830         * lisp/cedet/mode-local.el (mode-local-augment-function-help)
8831         (describe-mode-local-overload):
8832         Substitute docstrings before displaying them.
8833         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
8834         Quote the generated docstring for later substitution.
8836 2015-11-17  Eli Zaretskii  <eliz@gnu.org>
8838         Improve configure --help text for wide ints
8840         * configure.ac (wide-int): Clarify user-level advantages and
8841         disadvantages.
8843 2015-11-17  Stephen Leake  <stephen_leake@stephe-leake.org>
8845         Improve doc string
8847         * lisp/progmodes/xref.el (xref-backend-references): Improve doc string.
8849 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8851         eval_sub followed dangling pointer when debugging
8853         Problem reported by Pip Cet (Bug#21245).
8854         This bug could occur in eval_sub if the C compiler reused
8855         storage associated with the ‘argvals’ local after ‘argvals’
8856         went out of scope, and if the Elisp debugger stopped on Elisp
8857         function exit and accessed ‘argvals’.  It could also occur if
8858         a variadic function was called with so many arguments (over
8859         2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then
8860         SAFE_FREE freed the arguments, then the memory manager used
8861         the storage for other purposes, then the debugger accessed the
8862         arguments.
8863         * src/eval.c (eval_sub): Declare ‘argvals’ at top level of
8864         function body.  Simplify local decls.
8865         When allocating args via SAFE_ALLOCA, call
8866         debugger before invoking SAFE_FREE, as the debugger needs
8867         access to the args.
8868         (eval_sub, apply_lambda): Rework to avoid need for
8869         set_backtrace_debug_on_exit hack.  This is cleaner,
8870         and should work better with buggy custom debuggers.
8872 2015-11-16  Daiki Ueno  <ueno@gnu.org>
8874         * lisp/image-mode.el: Support encrypted file
8876         (image-toggle-display-image): Read content from the buffer instead
8877         of the file, if the buffer holds a decrypted data.  (Bug#21870)
8879 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
8881         ELF unexec: align section header
8883         This ports the recent unexelf.c changes to Fedora x86-64
8884         when configured with GCC’s -fsanitize=undefined option.
8885         * src/unexelf.c (unexec): Align new_data2_size to a multiple
8886         of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a
8887         pointer aligned appropriately for its type.
8889 2015-11-16  Andreas Schwab  <schwab@linux-m68k.org>
8891         Do more checks on bytecode objects (Bug#21929)
8893         * src/eval.c (funcall_lambda): Check size of compiled function
8894         object.
8895         (Ffetch_bytecode): Likewise.
8897 2015-11-16  Johan Bockgård  <bojohan@gnu.org>
8899         pcase.el: Fix edebugging of backquoted cons patterns
8901         * lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
8902         cons patterns. (Bug#21920)
8904 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
8906         Improve fix for regex reentrancy abort
8908         Suggested by Stefan Monnier (Bug#21688).
8909         * src/syntax.c (update_syntax_table_forward):
8910         Remove recently-added PROPERTIZE arg, and assume it is true.
8911         All callers changed.
8912         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
8913         Invoke update_syntax_table directly.
8915 2015-11-16  Artur Malabarba  <bruce.connor.am@gmail.com>
8917         * lisp/faces.el (faces--attribute-at-point): Use `face-list-p'
8919         * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require
8921         * lisp/emacs-lisp/nadvice.el (add-function): Escape quote
8923 2015-11-15  Vasily Korytov  <vasily.korytov@yahoo.com>
8925         Recognize .rbw and .pyw files (bug#18753)
8927         * lisp/progmodes/python.el (auto-mode-alist):
8928         Recognize .pyw files.
8930         * lisp/progmodes/ruby-mode.el (auto-mode-alist):
8931         Recognize .rbw files.
8933 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
8935         Fix ruby-mode auto-mode-alist entry
8937         * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
8938         around the extensions (bug#21257).
8940 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
8942         Fix etags completion near eob
8944         * lisp/progmodes/etags.el (tags-completion-at-point-function):
8945         Use `goto-char', to avoid the end-of-buffer error (bug#20061).
8947 2015-11-15  Alan Mackenzie  <acm@muc.de>
8949         De-pessimize detection of C++ member initialization lists.
8951         list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
8952         (c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
8953         is only called when a construct "looks right" rather than continually.
8954         (c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
8956 2015-11-15  Stephen Leake  <stephen_leake@stephe-leake.org>
8958         Improve a few doc strings, comments
8960         * lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
8961         * lisp/cedet/ede/locate.el (ede-locate-base):
8962         * lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
8963         * src/fns.c (Fdelq): Improve doc string.
8965         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
8967 2015-11-15  Anders Lindgren  <andlind@gmail.com>
8969         Enhance NSTRACE (trace output for NextStep).
8971         Trace can be disabled for groups of functions. By default, event
8972         functions and functions that generate lots of output are disabled.
8974         Trace output of Objective-C functions now use the "[ClassName
8975         parameter:]" form.
8977         * src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
8978         (NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
8979         (NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
8980         controlling in which function groups trace should be active.
8981         (NSTRACE_WHEN): Support for silencing a function, this also
8982         silencing all called functions.
8983         (NSTRACE_UNSILENCE): New macro, used to re-enable trace.
8984         (NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
8985         print the full screen state in NSTRACE functions.
8987         * src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
8988         can be accessed from multiple threads.
8989         (nstrace_enabled_global): New variable, when FALSE, trace is
8990         silenced.
8991         (nstrace_restore_global_trace_state): New function, used to
8992         restore `nstrace_enabled_global' at end of block.
8993         ([EmacsView setFrame:], [EmacsWindow setFrame:display:])
8994         ([EmacsWindow setFrame:display:animation:])
8995         ([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
8996         and call corresponding super function.
8997         (Many functions): Add or enhance trace output.
8999         * src/nsimage.m (ns_image_from_file): Enhanced trace output.
9001         * src/nsfns.m (x_set_tool_bar_lines): Add trace output.
9003         * src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
9004         and call corresponding super function.
9006 2015-11-15  Anders Lindgren  <andlind@gmail.com>
9008         Fixed a toolbar related issue on OS X.
9010         Earlier, when toggling the tool-bar in a maximized frame, the
9011         frame size didn't match the number of text lines, leaving an
9012         unused area at the bottom of the frame.
9014         * nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
9015         fullscreen modes when tool bar is disabled.
9017 2015-11-15  Anders Lindgren  <andlind@gmail.com>
9019         Fixed OS X 10.6.8 build issue (bug#21862).
9021         * src/nsterm.h (EmacsView): Add missing declarations.
9022         * src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
9023         the standard method but without the notification parameter.
9024         Intended to be used for direct calls.
9025         ([EmacsView windowDidEnterFullScreen]): Call the non-notification
9026         version of `windowDidBecomeKey'. Made the notification method call
9027         the non-notification method instead of the vice versa.
9028         (NSWindowDidEnterFullScreenNotification): Deleted, no longer
9029         needed.
9031 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
9033         * lisp/faces.el (faces--attribute-at-point): Fix an issue
9035         Previous code would signal an error when the face at point was
9036         a manually built list of attributes such as '(:foregroud "white").
9038         * test/automated/faces-tests.el (faces--test-color-at-point): Add a test
9040 2015-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9042         Fix regex abort when it tries to reenter itself
9044         Problem reported by Ken Raeburn.
9045         Solution suggested by Stefan Monnier (Bug#21688).
9046         * src/regex.c (re_match_2_internal):
9047         Use new _FAST functions to avoid regex code reentering itself.
9048         * src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
9049         All callers changed.
9050         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
9051         (UPDATE_SYNTAX_TABLE_FAST): New inline functions.
9053 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
9055         Improve Ruby 1.9-style keyword keys highlighting
9057         * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
9058         Handle required keyword arguments (bug#21367).
9059         And highlight the colon together with the name.
9061 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
9063         Unify the absolutely equal xref-backend-references implementations
9065         * lisp/progmodes/elisp-mode.el (xref-backend-references):
9066         Remove.
9068         * lisp/progmodes/etags.el (xref-backend-references):
9069         Remove.
9071         * lisp/progmodes/xref.el (xref-backend-references):
9072         Define the default implementation.
9074 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
9076         Update project-find-regexp for the new xref API
9078         * lisp/progmodes/project.el (project--read-regexp):
9079         Update to use the new xref API methods.
9081         * lisp/progmodes/xref.el (xref-find-backend): Autoload.
9083 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
9085         Fix replacing a match with a shorter string
9087         In effect, partially reverting fe973fc.
9089         * lisp/progmodes/xref.el (xref-query-replace): Store the end
9090         of each match as a marker again, instead of length.
9091         (xref--query-replace-1): Update accordingly.
9093 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
9095         * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
9097         Signal user-errors instead.
9099 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
9101         Document 'describe-symbol'
9103         * doc/emacs/help.texi (Help Summary): Mention "C-h o".
9104         (Name Help): Document "C-h o" and describe-symbol.
9106         * lisp/help-fns.el (describe-symbol): Doc fix.
9108 2015-11-14  Paul Eggert  <eggert@cs.ucla.edu>
9110         Change test name to avoid spellcheck issue.
9112 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
9114         Avoid signaling an error in 'describe-symbol'
9116         * lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
9117         exists as a function/variable/face/etc., but is undocumented.
9119         * test/automated/help-fns.el (help-fns-test-describe-symbol): New
9120         test.
9122 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
9124         * INSTALL (--with-cairo): Document this new configure option.
9126 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
9128         Document that GNU Make >= 3.81 is required to build Emacs
9130         * doc/lispref/internals.texi (Building Emacs): Document that GNU
9131         Make 3.81 or later is now required.
9133 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
9135         * CONTRIBUTE (Branches): Improve wording for back-ported commits.
9137 2015-11-13  l3thal  <kwhite@gnu.org>
9139         Merge branch 'erc-async-reconnect' into emacs-25
9141         Reconnect asynchronously.
9143 2015-11-11  Alan Mackenzie  <acm@muc.de>
9145         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
9147         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
9148         Windows" and new @defun selected-window-group.
9149         (Window Start and End): Describe new &optional parameter GROUP and
9150         ...-group-function for window-start, window-end, set-window-start, and
9151         pos-visible-in-window-p.
9152         (Textual Scrolling) Describe the same for recenter.
9153         doc/lispref/positions.texi (Screen Lines): Describe the same for
9154         move-to-window-line.
9156         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
9157         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
9158         new optional parameter "group".  At the beginning of each, check whether the
9159         corresponding ...-group-function is set to a function, and if so execute this
9160         function in place of the normal processing.
9161         (syms_of_window): Define symbols for the six new variables below.
9162         (window-start-group-function, window-end-group-function)
9163         (set-window-start-group-function, recenter-group-function)
9164         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
9165         New permanent local buffer local variables.
9166         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
9167         Fpos_visible_in_window_p.
9169         lisp/window.el (selected-window-group-function): New permanent local buffer
9170         local variable.
9171         (selected-window-group): New function.
9173         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
9174         enable, kill them at mode disable.  Add/remove follow-after-change to/from
9175         after-change-functions.
9176         (follow-start-end-invalid): New variable.
9177         (follow-redisplay): Manipulate follow-start-end-invalid.
9178         (follow-after-change, follow-window-start, follow-window-end)
9179         (follow-set-window-start, follow-pos-visible-in-window-p)
9180         (follow-move-to-window-line, follow-sit-for): New functions.
9182         lisp/isearch.el (isearch-call-message): New macro.
9183         (isearch-update, with-isearch-suspended, isearch-del-char)
9184         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
9185         (with-isearch-suspended): Rearrange code such that isearch-call-message is
9186         invoked before point is moved.
9187         (isearch-message): Add comment about where point must be at function call.
9188         (isearch-search): Remove call to isearch-message.
9189         (isearch-lazy-highlight-window-group): New variable.
9190         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
9191         the battery of tests to ...
9192         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
9193         Note: (sit-for 0) is still called.
9194         (isearch-lazy-highlight-update): Check membership of
9195         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
9196         property.
9197         (isearch-update, isearch-done, isearch-string-out-of-window)
9198         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
9199         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
9200         (isearch-lazy-highlight-update): Call the six amended primitives (see
9201         src/window.c above) with the new `group' argument set to t, to cooperate
9202         with Follow Mode.
9204 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
9206         * shr.el (shr-descend): Allow using lambdas in external functions.
9208 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
9210         * admin/gitmerge.el: Tweaks that seemed necessary
9212         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
9213         (gitmerge-maybe-resume): Provide explicit empty commit message.
9215 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
9217         Use a different port for TLS erc
9219         * lisp/erc/erc.el (erc-default-port-tls): New variable
9220         (bug#19497).
9221         * lisp/erc/erc.el (erc-tls): Use it.
9223 2015-12-25  Alain Schneble  <a.s@realize.ch>
9225         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
9227         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
9228         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
9229         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
9230         information in URL-struct.
9231         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
9232         path and query into nil path and query, respectively.
9233         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
9234         empty path into an absolute ("/") path.
9235         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
9236         fragment-only URIs. Do not just return them unchanged.
9237         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
9238         reference URI should not drop the last segment.
9240 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9242         Let url use default file modes when copying files
9244         * lisp/url/url-handlers.el (url-copy-file): Use default file
9245         modes when copying files (bug#11400).
9247 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
9249         Doc fix for url-http
9251         * lisp/url/url-http.el (url-http): Document better return values
9252           (bug#13187) (tiny change)
9254 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9256         * eww.el (eww-display-html): Support <button> tags (bug#20485).
9258 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9260         Made ffap-url-p a defun instead of a defsubst
9262         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
9263         since there doesn't seem to be much of a reason for it to be a
9264         defsubst (bug#18203).
9266 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9268         Add a command to view files in the browser to dired
9270         * lisp/dired.el (dired-mode-map): Add the `W' command
9271         (bug#18810).
9273 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9275         Allow http://user:pass@foo/ URLs again
9277         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
9278         user/passwords in URLs (bug#19046).
9280 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9282         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
9284 2015-12-25  Samer Masterson  <samer@samertm.com>
9286         Autoload url-insert-buffer-contents
9288         * lisp/url/url-handlers.el: Add autoload cookie so that
9289         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
9291 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9293         Allow toggling colors in eww
9295         * doc/misc/eww.texi (Basics): Mention "C".
9297         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
9299         * lisp/net/shr.el (shr-use-colors): New variable.
9300         (shr-colorize-region): Use it.
9302 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9304         Follow meta refresh tags in eww
9306         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
9308 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9310         More eww file name coding fixes
9312         * eww.el (eww-decode-url-file-name): Use the base coding
9313         system to check for encodability.
9315 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9317         Always save eww history
9319         * eww.el (eww-setup-buffer): Always save history, even when
9320         called from outside the eww buffer (bug#19638).
9322 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9324         Default web pages to right-to-left
9326         * eww.el (eww-mode): Most web pages are left-to-right, so make
9327         that the default (bug#19801).
9329         * shr.el (shr-tag-html): Respect "dir" attributes
9330         (left-to-right, right-to-left).
9332 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9334         Make toggling checkboxes work again
9336         * eww.el (eww-update-field): Make toggling checkboxes work
9337         again (bug#21881).
9339 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9341         Don't store cookies with empty names
9343         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
9344         cookies with empty names (bug#21936).
9346 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9348         * shr.el (shr-descend): Stop rendering before we run out of
9349         specpdl room (bug#22117).
9351 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9353         Use cl-reduce, not reduce.
9355 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
9357         Allow several <tbody> tags in shr
9359         * shr.el (shr-table-body): New function to find the real body
9360         of a table.
9361         (shr-tag-table): Use it to render several <tbody> tags in a
9362         table (bug#22170).
9364 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
9366         Make prettier unique file names in eww
9368         (eww-make-unique-file-name): Make unique file names by making
9369         files like foo(2).jpg instead of foo(1)(2).jpg.
9371 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
9373         Decode hex-encoded URLs before using them as file names
9375         * eww.el (eww-decode-url-file-name): New function.
9376         (eww-download-callback): Use it to decode file names before
9377         saving them.
9379 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>  (tiny change)
9381         * doc/misc/emacs-gnutls.texi (Help For Users): Document FreeBSD bundle.
9382         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
9384 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
9386         Allow overriding shr functions from eww
9388         * eww.el (eww-display-html): Allow overriding elements in
9389         `shr-external-rendering-functions'.
9391 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
9393         Ignore invalid SVG images
9395         * shr.el (shr-tag-svg): Ignore SVG images that have no width
9396         or height, because these can't be displayed by ImageMagick,
9397         anyway.
9399 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
9401         shr table rendering fix
9403         * shr.el (shr-tag-table): Allow rendering body-less tables
9404         that have headers.
9406 2015-12-22  Sam Steingold  <sds@gnu.org>
9408         clipboard should still work even if interprogram-* is disabled
9410         (clipboard-yank): When `interprogram-cut-function' is nil,
9411         bind it to `gui-selection-value' - the default value.
9412         (clipboard-kill-region, clipboard-kill-ring-save): When
9413         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
9414         the default value.
9416 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
9418         Fix bootstrap issue with dired-loaddefs
9420         * lisp/dired.el: Autoloads for secondary files loaded optionally.
9422 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
9424         dired generate autoloads to non-versioned file.
9426         * lisp/dired.el: Remove autoloads.
9427         * lisp/Makefile.in: Add dired to autogenel.
9428         * lisp/dired-aux.el,lisp/dired-x.el: Update file local.
9429         * test/lisp/dired-tests.el: Add new test.
9431 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
9433         eieio generate autoloads to non-versioned file.
9435         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
9436         * lisp/emacs-lisp/eieio.el,lisp/emacs-lisp/eieio-core.el:
9437           Remove autoloads.
9438         * lisp/emacs-lisp/eieio-compat.el,lisp/emacs-lisp/eieio-custom.el,
9439           lisp/emacs-lisp/eieio-opt.el: Update file local.
9440         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
9442 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
9444         htmlfontify generate autoload to non-versioned file.
9446         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
9447         * lisp/hfy-cmap.el: Update file local.
9448         * lisp/htmlfontify.el: Remove autoloads, add require.
9449         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
9451 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
9453         ibuffer generate autoloads to non-versioned file.
9455         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
9456         * lisp/ibuf-ext.el: Update file local.
9457         * lisp/ibuffer.el: Remove autoloads and add a require.
9458         * test/lisp/ibuffer-tests.el: Test that autoload is working.
9460 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
9462         rmail generate autoloads to non-versioned file.
9464         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
9465         * lisp/mail/rmail.el: Remove autoloads, add require.
9466         * lisp/mail/rmailedit.el,lisp/mail/rmailkwd.el,
9467           lisp/mail/rmailmm.el,lisp/mail/rmailmsc.el,
9468           lisp/mail/rmailsort.el,lisp/mail/rmailsum.el,
9469           lisp/mail/undigest.el: Update file-local.
9470         * test/lisp/mail/rmail-tests.el:
9472 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
9474         Add autoload-force target.
9476         * lisp/Makefile.in (autoload-force): New target.
9478 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
9480         ps-print generate autoloads to non versioned file.
9482         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
9483         * lisp/ps-print.el: Remove autoloads.
9484         * lisp/ps-mule.el: Update file-local.
9485         * test/lisp/ps-print-tests.el: Test autoload functionality.
9487 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
9489         reftex generate autoloads to non versioned file.
9491         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
9492         * lisp/textmodes/reftex.el: Remove autoloads.
9493         * lisp/textmodes/reftex-auc.el,lisp/textmodes/reftex-cite.el,
9494           lisp/textmodes/reftex-dcr.el,lisp/textmodes/reftex-global.el,
9495           lisp/textmodes/reftex-index.el,lisp/textmodes/reftex-parse.el,
9496           lisp/textmodes/reftex-ref.el,lisp/textmodes/reftex-sel.el,
9497           lisp/textmodes/reftex-toc.el: Update autoload file-local.
9498         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
9499           function.
9501 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
9503         * lisp/calculator.el (calculator-define-key): Undo last change
9505         Make map argument mandatory instead (bug#22106).
9506         (calculator-add-operators): Pass the argument that's not optional any more.
9508 2015-12-03  Glenn Morris  <rgm@gnu.org>
9510         * Makefile.in: Avoid duplication.
9512         (have-tests): New rule.
9513         (check, check-maybe): Use it.
9515 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
9517         make check unconditional, check-maybe top-level.
9519          * Makefile.in: Add check-maybe target.
9520          * test/Makefile.in: Restore unconditional behaviour to make check.
9522 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
9524         Tests now support out-of-source-build.
9526          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
9527            about current working directory.
9529 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
9531         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
9533 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
9535         Improve documentation and clean up.
9537          * test/Makefile.in: Improve documentation, use EMACS variable
9538            correctly, and clean up makefile rules.
9540 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
9542         Update file headers for name change.
9544          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
9546 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
9548         Test files renamed to new scheme.
9550          * (finalizer-tests.el): Now renamed alloc-tests.el
9551          * (zlib-tests.el): Now renamed decompress-tests.el.
9553 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
9555         Tests now depend on source files
9557          * test/Makefile.in: Include dependences from tests to source files.
9558          * test/make-test-deps.emacs-lisp: New file
9559          * .gitignore: Ignore generated make include file
9561 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
9563         * lisp/progmodes/which-func.el: Improve disabling the mode
9565         Use lexical-binding.
9566         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
9567         (which-func, which-func-format): Remove redundant :group arg.
9568         (which-func-try-to-enable): New function.
9569         (which-func-ff-hook, which-function-mode): Use it.
9570         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
9571         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
9573 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
9575         * lisp/calculator.el (calculator-define-key): Silence warning
9577         ...about unknown calculator-mode-map.
9579 2015-11-29  Eli Barzilay  <eli@barzilay.org>
9581         * lisp/calculator.el: more improvements and bugfixes.
9583         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
9584           effect anyway.)
9586         - Simplify `calculator-number-to-string' by throwing most of the work
9587           onto `number-to-string', leaving just some tweaks for decimal inputs.
9588           This leads to some minor changes, for example, pasting "1x1" in hex
9589           mode would warn that "x" is ignored and result in "11" (and it wasn't
9590           done in decimal mode), whereas now it just ignores everything from the
9591           "x" and on and result in a "1" just like in decimal input mode.  Also,
9592           overflows are left for `number-to-string' to deal with.
9594         - `calculator-paste' is very simple as a result.
9596         - Extend the simplified `calculator-paste': with a prefix argument it
9597           pastes a string as if the characters were entered.  This can be used
9598           to reduce expressions, but note that it's a simple literal operation,
9599           so precedence can be messed, a number can be paster while entering a
9600           number, spaces and newlines matter, etc.
9602         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
9603           operator.
9605         - Fix a bug in `calculator-put-value': avoid grouping in the display
9606           that is used to construct `calculator-curnum'.  This would trigger
9607           when pasting or getting a value from a register in some radix mode
9608           with a large enough value.  Another fix: make the output radix equal
9609           the input one, otherwise numbers could be converted twice.
9611 2015-11-29  Eli Barzilay  <eli@barzilay.org>
9613         * lisp/calculator.el: Re-do key bindings.
9615         Use a helper function that arranges a parent keymap that binds alternate
9616         case keys so if some letter key is unbound and it's un/shifted version
9617         is, it will get used.  This makes the global-map trickery unnecessary.
9619         Also switch to passing strings that name keys through `kbd'.
9621 2015-11-29  Eli Barzilay  <eli@barzilay.org>
9623         * lisp/calculator.el: improve radix modes
9625         Fix prompt for some input radix with decimal output (eg, "BD" instead of
9626         the incorrect "B="); also, some minor docstring tweaks for these.
9628 2015-11-29  Eli Barzilay  <eli@barzilay.org>
9630         * lisp/calculator.el: better reading of register names
9632         Use `register-read-with-preview' with a dynamically bound
9633         `register-alist' and a proper preview function to read register names.
9635 2015-11-29  Eli Barzilay  <eli@barzilay.org>
9637         * lisp/calculator.el: General improvements
9639         Use things like `when', `unless', and `push'.
9641         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
9642         non-electric mode.
9644 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
9646         Fix a problem with gfilenotify in filenotify-tests.el
9648         * test/lisp/filenotify-tests.el
9649         (file-notify--test-expected-events): Remove.
9650         (file-notify--test-cleanup): Do not set that variable.
9651         (file-notify--test-with-events): EVENTS can also be a list of lists.
9652         (file-notify-test02-events, file-notify-test04-file-validity):
9653         Adapt expected result.
9655 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
9657         * .gitignore: Adjust to changes in 'test' directory structure.
9659 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
9661         Fix test/manual/etags/Makefile
9663         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
9664         changes in 'test' directory structure.
9666 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
9668         Exclude resource dirs from search for tests.
9670         * test/Makefile.in: Test file locations are now found with find
9671           rather than using finds native functions.
9673 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
9675         Add test targets without directory names.
9677          * (test/Makefile.in): Extend test_template to add two targets for each
9678            file.
9680 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
9682         * lisp/emacs-lisp/package.el: Require url-handlers
9684 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
9686         Move elisp-mode-tests to new function names.
9688          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
9689          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
9691 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
9693         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
9695 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
9697         Merge branch 'feature/standard-test-location'
9699 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
9701         * lisp/emacs-lisp/eieio.el: Add some default implementations
9703         (standard-class): Mark it obsolete.
9704         (slot-missing): Give it a default implementation.
9705         (destructor): Simplify and mark it obsolete.
9706         (object-print): Give it a default implementation.
9707         (eieio-change-class): Rename from change-class.
9708         (change-class): Redefine as obsolete alias.
9710 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9712         Some final fixes in file notification before merging with master
9714         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
9715         (file-notify-callback): Improve check for `stopped' event.  Call
9716         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
9717         (file-notify-add-watch): In case FILE is not a directory, call the
9718         file monitor for the kqueue backend.  Otherwise, call the
9719         directory monitor for the upper directory.
9721         * src/inotify.c (inotifyevent_to_event): Extract file name from
9722         watch_object if the event doesn't provide it.
9723         (Finotify_add_watch): Add file name to watch_object.
9725         * test/automated/file-notify-tests.el (file-notify--test-timeout):
9726         Use different timeouts for different libraries.
9727         (file-notify--test-with-events): Suppress lock files.  Flush
9728         outstanding events before running the body.
9729         (file-notify-test02-events, file-notify-test04-file-validity): Do
9730         not skip cygwin tests.  Add additional test for file creation.
9731         Adapt expected result for different backends.
9732         (file-notify-test03-autorevert): Some of the tests don't work for
9733         w32notify.
9734         (file-notify-test06-many-events): Rename into both directions.
9736 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9738         Rework file notifications, kqueue has problems with directory monitors
9740         * lisp/filenotify.el (file-notify-add-watch): Call the native
9741         add-watch function on the file, not on the dir.
9743         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
9744         about already deleted entries.
9746         * test/automated/auto-revert-tests.el
9747         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
9748         since this deletes the target file first.
9750         * test/automated/file-notify-tests.el (file-notify--test-event-test):
9751         Make stronger checks.
9752         (file-notify-test01-add-watch, file-notify-test02-events)
9753         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
9754         Rewrite in order to call file monitors but directory monitors.
9755         (file-notify-test06-many-events): Ler rename work in both directions.
9757 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9759         Continue with pending events
9761         * src/kqueue.c (pending_events): Remove global variable.
9762         (kqueue_compare_dir_list): Create `write' event for not used
9763         pending events.
9764         (globals_of_kqueue): Remove initialization of pending_events.
9766 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9768         Improve loops in file-notify-test06-many-events
9770         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
9771         Use `read-event' pauses for the `write-file' loops; otherwise
9772         events are lost in inotify and gfilenotify cases.
9774 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9776         Handle more complex rename operation in kqueue
9778         * src/kqueue.c (pending_events): New variable.
9779         (kqueue_compare_dir_list): Handle more complex rename operation.
9780         (globals_of_kqueue): Initialize pending_events.
9782         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
9783         Adapt expected events in the `rename-file' case.
9784         (file-notify-test06-many-events-remote): Declare.
9786 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
9788         New test with a larger number of events
9790         * test/automated/file-notify-tests.el (file-notify--test-with-events):
9791         Make timeout heuristically depend on the number of events.
9793         (file-notify-test06-many-events): Use it for new test.
9795 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9797         Further fixes for kqueue
9799         * lisp/filenotify.el (file-notify-callback): Raise also event if
9800         directory name matches.
9801         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
9803         * src/kqueue.c (kqueue_generate_event): Use watch_object as
9804         argument instead of ident.  Remove callback argument.  Adapt
9805         callees.  Check actions whether they are monitored flags.
9807         * test/automated/file-notify-tests.el (file-notify--test-library):
9808         New defun.
9809         (file-notify-test00-availability, file-notify-test02-events)
9810         (file-notify-test04-file-validity)
9811         (file-notify-test05-dir-validity): Use it.
9812         (file-notify-test02-events, file-notify-test04-file-validity): Add
9813         `read-event' calls between different file actions, in order to
9814         give the backends a chance to rais an event.  Needed especially
9815         for kqueue.  In case of deleting a directory, there are two
9816         `deleted' events.
9818 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9820         Code cleanup of kqueue.c
9822         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
9823         (kqueue_compare_dir_list): Do not loop when calling
9824         directory_files_internal.  Remove checks for "." and "..", this is
9825         done in kqueue_directory_listing now.
9826         (Fkqueue_add_watch): Check for proper emacs_open flags.
9828 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9830         Doc changes for kqueue
9832         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
9833         Fix some glitches in the example.
9835 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9837         Finish implementation in kqueue.c
9839         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
9840         Simplify access to list.
9841         (kqueue_compare_dir_list): Simplify access to list.  Raise
9842         `delete' event if directory does not exist any longer.  Otherwise,
9843         wait until directory contents has changed.  Fix error in check.
9845 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9847         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
9849 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9851         More work on kqueue
9853         * lisp/filenotify.el (file-notify-callback): Handle also the
9854         `rename' event from kqueue.
9855         (file-notify-add-watch): Do not register an entry twice.
9857         * src/kqueue.c (kqueue_directory_listing): New function.
9858         (kqueue_generate_event): New argument FILE1.  Adapt callees.
9859         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
9861 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9863         Implement directory events
9865         * lisp/filenotify.el (file-notify-handle-event)
9866         (file-notify-callback): Remove traces.
9868         * src/kqueue.c: Include <sys/time.h>.
9869         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
9870         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
9871         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
9872         Compute initial directory listing.  Close file descriptor in case
9873         of errors.
9874         (syms_of_kqueue): Declare Qcreate.
9876 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
9878         Build fixes for kqueue support
9880         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
9881         flag.
9883         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
9884         kqueue on *BSD.
9886 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9888         Continue kqueue implementation
9890         * lisp/filenotify.el (file-notify-handle-event)
9891         (file-notify-callback): Enable trace messages.
9893         * src/kqueue.c: Include also <sys/types.h>.
9894         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
9895         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
9896         (syms_of_kqueue): Add them.
9898 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9900         Work on kqueue
9902         * lisp/filenotify.el (file-notify--library)
9903         (file-notify-descriptors, file-notify-callback)
9904         (file-notify-add-watch, file-notify-rm-watch)
9905         (file-notify-valid-p): Add kqueue support.
9907         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
9909 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
9911         Add kqueue support
9913         * configure.ac (--with-file-notification): Add kqueue.
9914         (top): Remove special test for "${HAVE_NS}" and
9915         ${with_file_notification}, this is handled inside gfilenotify
9916         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
9917         instead of library specific variables.
9919         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
9921         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
9923         * src/kqueue.c: New file.
9925         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
9927 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
9929         Update elisp-mode-tests for changed file location.
9931          * test/lisp/progmodes/elisp-mode-tests.el:
9933 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
9935         Exclude manual tests from Makefile
9937          * test/Makefile.in:
9939 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
9941         Move package test files to new directory.
9943          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
9944          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
9946 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
9948         Restore delete Makefiles and fix .gitignore.
9950          * .gitignore: Update Makefiles to changed locations
9951          * test/lisp/progmodes/flymake-resources/Makefile,
9952            test/manual/etags/Makefile,
9953            test/manual/etags/make-src/Makefile,
9954            test/manual/indent/Makefile: Restored and moved to new location.
9956 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
9958         Test infrastructure: updates after directory move
9960          * (test/Makefile.in): Support directories several levels deep.
9961          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
9962          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
9964 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
9966         Rename all test files to reflect source layout.
9968          * CONTRIBUTE,Makefile.in,configure.ac: Update to reflect
9969            test directory moves.
9970          * test/file-organisation.org: New file.
9971          * test/automated/Makefile.in
9972            test/automated/data/decompress/foo.gz
9973            test/automated/data/epg/pubkey.asc
9974            test/automated/data/epg/seckey.asc
9975            test/automated/data/files-bug18141.el.gz
9976            test/automated/data/flymake/test.c
9977            test/automated/data/flymake/test.pl
9978            test/automated/data/package/archive-contents
9979            test/automated/data/package/key.pub
9980            test/automated/data/package/key.sec
9981            test/automated/data/package/multi-file-0.2.3.tar
9982            test/automated/data/package/multi-file-readme.txt
9983            test/automated/data/package/newer-versions/archive-contents
9984            test/automated/data/package/newer-versions/new-pkg-1.0.el
9985            test/automated/data/package/newer-versions/simple-single-1.4.el
9986            test/automated/data/package/package-test-server.py
9987            test/automated/data/package/signed/archive-contents
9988            test/automated/data/package/signed/archive-contents.sig
9989            test/automated/data/package/signed/signed-bad-1.0.el
9990            test/automated/data/package/signed/signed-bad-1.0.el.sig
9991            test/automated/data/package/signed/signed-good-1.0.el
9992            test/automated/data/package/signed/signed-good-1.0.el.sig
9993            test/automated/data/package/simple-depend-1.0.el
9994            test/automated/data/package/simple-single-1.3.el
9995            test/automated/data/package/simple-single-readme.txt
9996            test/automated/data/package/simple-two-depend-1.1.el
9997            test/automated/abbrev-tests.el
9998            test/automated/auto-revert-tests.el
9999            test/automated/calc-tests.el
10000            test/automated/icalendar-tests.el
10001            test/automated/character-fold-tests.el
10002            test/automated/comint-testsuite.el
10003            test/automated/descr-text-test.el
10004            test/automated/electric-tests.el
10005            test/automated/cl-generic-tests.el
10006            test/automated/cl-lib-tests.el
10007            test/automated/eieio-test-methodinvoke.el
10008            test/automated/eieio-test-persist.el
10009            test/automated/eieio-tests.el
10010            test/automated/ert-tests.el
10011            test/automated/ert-x-tests.el
10012            test/automated/generator-tests.el
10013            test/automated/let-alist.el
10014            test/automated/map-tests.el
10015            test/automated/advice-tests.el
10016            test/automated/package-test.el
10017            test/automated/pcase-tests.el
10018            test/automated/regexp-tests.el
10019            test/automated/seq-tests.el
10020            test/automated/subr-x-tests.el
10021            test/automated/tabulated-list-test.el
10022            test/automated/thunk-tests.el
10023            test/automated/timer-tests.el
10024            test/automated/epg-tests.el
10025            test/automated/eshell.el
10026            test/automated/faces-tests.el
10027            test/automated/file-notify-tests.el
10028            test/automated/auth-source-tests.el
10029            test/automated/gnus-tests.el
10030            test/automated/message-mode-tests.el
10031            test/automated/help-fns.el
10032            test/automated/imenu-test.el
10033            test/automated/info-xref.el
10034            test/automated/mule-util.el
10035            test/automated/isearch-tests.el
10036            test/automated/json-tests.el
10037            test/automated/bytecomp-tests.el
10038            test/automated/coding-tests.el
10039            test/automated/core-elisp-tests.el
10040            test/automated/decoder-tests.el
10041            test/automated/files.el
10042            test/automated/font-parse-tests.el
10043            test/automated/lexbind-tests.el
10044            test/automated/occur-tests.el
10045            test/automated/process-tests.el
10046            test/automated/syntax-tests.el
10047            test/automated/textprop-tests.el
10048            test/automated/undo-tests.el
10049            test/automated/man-tests.el
10050            test/automated/completion-tests.el
10051            test/automated/dbus-tests.el
10052            test/automated/newsticker-tests.el
10053            test/automated/sasl-scram-rfc-tests.el
10054            test/automated/tramp-tests.el
10055            test/automated/obarray-tests.el
10056            test/automated/compile-tests.el
10057            test/automated/elisp-mode-tests.el
10058            test/automated/f90.el
10059            test/automated/flymake-tests.el
10060            test/automated/python-tests.el
10061            test/automated/ruby-mode-tests.el
10062            test/automated/subword-tests.el
10063            test/automated/replace-tests.el
10064            test/automated/simple-test.el
10065            test/automated/sort-tests.el
10066            test/automated/subr-tests.el
10067            test/automated/reftex-tests.el
10068            test/automated/sgml-mode-tests.el
10069            test/automated/tildify-tests.el
10070            test/automated/thingatpt.el
10071            test/automated/url-future-tests.el
10072            test/automated/url-util-tests.el
10073            test/automated/add-log-tests.el
10074            test/automated/vc-bzr.el
10075            test/automated/vc-tests.el
10076            test/automated/xml-parse-tests.el
10077            test/BidiCharacterTest.txt
10078            test/biditest.el
10079            test/cedet/cedet-utests.el
10080            test/cedet/ede-tests.el
10081            test/cedet/semantic-ia-utest.el
10082            test/cedet/semantic-tests.el
10083            test/cedet/semantic-utest-c.el
10084            test/cedet/semantic-utest.el
10085            test/cedet/srecode-tests.el
10086            test/cedet/tests/test.c
10087            test/cedet/tests/test.el
10088            test/cedet/tests/test.make
10089            test/cedet/tests/testdoublens.cpp
10090            test/cedet/tests/testdoublens.hpp
10091            test/cedet/tests/testfriends.cpp
10092            test/cedet/tests/testjavacomp.java
10093            test/cedet/tests/testnsp.cpp
10094            test/cedet/tests/testpolymorph.cpp
10095            test/cedet/tests/testspp.c
10096            test/cedet/tests/testsppcomplete.c
10097            test/cedet/tests/testsppreplace.c
10098            test/cedet/tests/testsppreplaced.c
10099            test/cedet/tests/testsubclass.cpp
10100            test/cedet/tests/testsubclass.hh
10101            test/cedet/tests/testtypedefs.cpp
10102            test/cedet/tests/testvarnames.c
10103            test/etags/CTAGS.good
10104            test/etags/ETAGS.good_1
10105            test/etags/ETAGS.good_2
10106            test/etags/ETAGS.good_3
10107            test/etags/ETAGS.good_4
10108            test/etags/ETAGS.good_5
10109            test/etags/ETAGS.good_6
10110            test/etags/a-src/empty.zz
10111            test/etags/a-src/empty.zz.gz
10112            test/etags/ada-src/2ataspri.adb
10113            test/etags/ada-src/2ataspri.ads
10114            test/etags/ada-src/etags-test-for.ada
10115            test/etags/ada-src/waroquiers.ada
10116            test/etags/c-src/a/b/b.c
10117            test/etags/c-src/abbrev.c
10118            test/etags/c-src/c.c
10119            test/etags/c-src/dostorture.c
10120            test/etags/c-src/emacs/src/gmalloc.c
10121            test/etags/c-src/emacs/src/keyboard.c
10122            test/etags/c-src/emacs/src/lisp.h
10123            test/etags/c-src/emacs/src/regex.h
10124            test/etags/c-src/etags.c
10125            test/etags/c-src/exit.c
10126            test/etags/c-src/exit.strange_suffix
10127            test/etags/c-src/fail.c
10128            test/etags/c-src/getopt.h
10129            test/etags/c-src/h.h
10130            test/etags/c-src/machsyscalls.c
10131            test/etags/c-src/machsyscalls.h
10132            test/etags/c-src/sysdep.h
10133            test/etags/c-src/tab.c
10134            test/etags/c-src/torture.c
10135            test/etags/cp-src/MDiagArray2.h
10136            test/etags/cp-src/Range.h
10137            test/etags/cp-src/burton.cpp
10138            test/etags/cp-src/c.C
10139            test/etags/cp-src/clheir.cpp.gz
10140            test/etags/cp-src/clheir.hpp
10141            test/etags/cp-src/conway.cpp
10142            test/etags/cp-src/conway.hpp
10143            test/etags/cp-src/fail.C
10144            test/etags/cp-src/functions.cpp
10145            test/etags/cp-src/screen.cpp
10146            test/etags/cp-src/screen.hpp
10147            test/etags/cp-src/x.cc
10148            test/etags/el-src/TAGTEST.EL
10149            test/etags/el-src/emacs/lisp/progmodes/etags.el
10150            test/etags/erl-src/gs_dialog.erl
10151            test/etags/f-src/entry.for
10152            test/etags/f-src/entry.strange.gz
10153            test/etags/f-src/entry.strange_suffix
10154            test/etags/forth-src/test-forth.fth
10155            test/etags/html-src/algrthms.html
10156            test/etags/html-src/index.shtml
10157            test/etags/html-src/software.html
10158            test/etags/html-src/softwarelibero.html
10159            test/etags/lua-src/allegro.lua
10160            test/etags/objc-src/PackInsp.h
10161            test/etags/objc-src/PackInsp.m
10162            test/etags/objc-src/Subprocess.h
10163            test/etags/objc-src/Subprocess.m
10164            test/etags/objcpp-src/SimpleCalc.H
10165            test/etags/objcpp-src/SimpleCalc.M
10166            test/etags/pas-src/common.pas
10167            test/etags/perl-src/htlmify-cystic
10168            test/etags/perl-src/kai-test.pl
10169            test/etags/perl-src/yagrip.pl
10170            test/etags/php-src/lce_functions.php
10171            test/etags/php-src/ptest.php
10172            test/etags/php-src/sendmail.php
10173            test/etags/prol-src/natded.prolog
10174            test/etags/prol-src/ordsets.prolog
10175            test/etags/ps-src/rfc1245.ps
10176            test/etags/pyt-src/server.py
10177            test/etags/tex-src/gzip.texi
10178            test/etags/tex-src/nonewline.tex
10179            test/etags/tex-src/testenv.tex
10180            test/etags/tex-src/texinfo.tex
10181            test/etags/y-src/atest.y
10182            test/etags/y-src/cccp.c
10183            test/etags/y-src/cccp.y
10184            test/etags/y-src/parse.c
10185            test/etags/y-src/parse.y
10186            test/indent/css-mode.css
10187            test/indent/js-indent-init-dynamic.js
10188            test/indent/js-indent-init-t.js
10189            test/indent/js-jsx.js
10190            test/indent/js.js
10191            test/indent/latex-mode.tex
10192            test/indent/modula2.mod
10193            test/indent/nxml.xml
10194            test/indent/octave.m
10195            test/indent/pascal.pas
10196            test/indent/perl.perl
10197            test/indent/prolog.prolog
10198            test/indent/ps-mode.ps
10199            test/indent/ruby.rb
10200            test/indent/scheme.scm
10201            test/indent/scss-mode.scss
10202            test/indent/sgml-mode-attribute.html
10203            test/indent/shell.rc
10204            test/indent/shell.sh
10205            test/redisplay-testsuite.el
10206            test/rmailmm.el
10207            test/automated/buffer-tests.el
10208            test/automated/cmds-tests.el
10209            test/automated/data-tests.el
10210            test/automated/finalizer-tests.el
10211            test/automated/fns-tests.el
10212            test/automated/inotify-test.el
10213            test/automated/keymap-tests.el
10214            test/automated/print-tests.el
10215            test/automated/libxml-tests.el
10216            test/automated/zlib-tests.el: Files Moved.
10218 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
10220         Rework file notifications, kqueue has problems with directory monitors
10222         * lisp/filenotify.el (file-notify-add-watch): Call the native
10223         add-watch function on the file, not on the dir.
10225         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
10226         about already deleted entries.
10228         * test/automated/auto-revert-tests.el
10229         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
10230         since this deletes the target file first.
10232         * test/automated/file-notify-tests.el (file-notify--test-event-test):
10233         Make stronger checks.
10234         (file-notify-test01-add-watch, file-notify-test02-events)
10235         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
10236         Rewrite in order to call file monitors but directory monitors.
10237         (file-notify-test06-many-events): Ler rename work in both directions.
10239 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
10241         Continie with pending events
10243         * src/kqueue.c (pending_events): Remove global variable.
10244         (kqueue_compare_dir_list): Create `write' event for not used
10245         pending events.
10246         (globals_of_kqueue): Remove initialization of pending_events.
10248 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
10250         Improve loops in file-notify-test06-many-events
10252         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
10253         Use `read-event' pauses for the `write-file' loops; otherwise
10254         events are lost in inotify and gfilenotify cases.
10256 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
10258         Handle more complex rename operation in kqueue
10260         * src/kqueue.c (pending_events): New variable.
10261         (kqueue_compare_dir_list): Handle more complex rename operation.
10262         (globals_of_kqueue): Initialize pending_events.
10264         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
10265         Adapt expected events in the `rename-file' case.
10266         (file-notify-test06-many-events-remote): Declare.
10268 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
10270         New test with a larger number of events.
10272         * test/automated/file-notify-tests.el (file-notify--test-with-events):
10273         Make timeout heuristically depend on the number of events.
10275         (file-notify-test06-many-events): Use it for new test.
10277 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
10279         Further fixes for kqueue.
10281         * lisp/filenotify.el (file-notify-callback): Raise also event if
10282         directory name matches.
10283         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
10285         * src/kqueue.c (kqueue_generate_event): Use watch_object as
10286         argument instead of ident.  Remove callback argument.  Adapt
10287         callees.  Check actions whether they are monitored flags.
10289         * test/automated/file-notify-tests.el (file-notify--test-library):
10290         New defun.
10291         (file-notify-test00-availability, file-notify-test02-events)
10292         (file-notify-test04-file-validity)
10293         (file-notify-test05-dir-validity): Use it.
10294         (file-notify-test02-events, file-notify-test04-file-validity): Add
10295         `read-event' calls between different file actions, in order to
10296         give the backends a chance to rais an event.  Needed especially
10297         for kqueue.  In case of deleting a directory, there are two
10298         `deleted' events.
10300 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
10302         Code cleanup of kqueue.c
10304         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
10305         (kqueue_compare_dir_list): Do not loop when calling
10306         directory_files_internal.  Remove checks for "." and "..", this is
10307         done in kqueue_directory_listing now.
10308         (Fkqueue_add_watch): Check for proper emacs_open flags.
10310 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
10312         Doc changes for kqueue
10314         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
10315         Fix some glitches in the example.
10317 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
10319         Finish implementation in kqueue.c
10321         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
10322         Simplify access to list.
10323         (kqueue_compare_dir_list): Simplify access to list.  Raise
10324         `delete' event if directory does not exist any longer.  Otherwise,
10325         wait until directory contents has changed.  Fix error in check.
10327 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
10329         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
10331 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
10333         More work on kqueue
10335         * lisp/filenotify.el (file-notify-callback): Handle also the
10336         `rename' event from kqueue.
10337         (file-notify-add-watch): Do not register an entry twice.
10339         * src/kqueue.c (kqueue_directory_listing): New function.
10340         (kqueue_generate_event): New argument FILE1.  Adapt callees.
10341         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
10343 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
10345         Implement directory events
10347         * lisp/filenotify.el (file-notify-handle-event)
10348         (file-notify-callback): Remove traces.
10350         * src/kqueue.c: Include <sys/time.h>.
10351         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
10352         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
10353         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
10354         Compute initial directory listing.  Close file descriptor in case
10355         of errors.
10356         (syms_of_kqueue): Declare Qcreate.
10358 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
10360         Build fixes for kqueue support.
10362         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
10363         flag.
10365         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
10366         kqueue on *BSD.
10368 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
10370         Continue kqueue implementation
10372         * lisp/filenotify.el (file-notify-handle-event)
10373         (file-notify-callback): Enable trace messages.
10375         * src/kqueue.c: Include also <sys/types.h>.
10376         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
10377         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
10378         (syms_of_kqueue): Add them.
10380 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
10382         Work on kqueue
10384         * lisp/filenotify.el (file-notify--library)
10385         (file-notify-descriptors, file-notify-callback)
10386         (file-notify-add-watch, file-notify-rm-watch)
10387         (file-notify-valid-p): Add kqueue support.
10389         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
10391 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
10393         Add kqueue support
10395         * configure.ac (--with-file-notification): Add kqueue.
10396         (top): Remove special test for "${HAVE_NS}" and
10397         ${with_file_notification}, this is handled inside gfilenotify
10398         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
10399         instead of library specific variables.
10401         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
10403         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
10405         * src/kqueue.c: New file.
10407         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
10409 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
10411         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
10413         * verilog-mode.el (verilog-save-font-no-change-functions):
10414         Commentary and fix pre-Emacs 21 behavior.
10416 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
10418         Use obarray functions from obarray.
10420         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
10421           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
10422           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
10423           delegate to obarray.el functions.
10424         * lisp/loadup.el: load obarray before abbrev
10425         * test/automated/abbrev-tests.el: new tests
10427 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
10429         epa.el: Add option to replace original text
10431         * lisp/epa.el (epa-replace-original-text): New user option.
10432         (Bug#21947)
10434 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
10436         Add interactive seek command.
10438         * lisp/mpc.el (mpc-cmd-seekcur): New function.
10439         (mpc-seek-current): New command.
10440         (mpc-mode-menu): Add entry for mpc-seek-current
10441         (mpc-mode-map): Bind mpc-seek-current to "g"
10443 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
10445         Fix issue where a new tempfile was created every refresh
10447         * lisp/mpc.el (mpc-format): Leave dir as relative path
10449 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
10451         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
10453         (c-save-buffer-state): Use with-silent-modifications when available.
10454         (c--macroexpand-all): Check macroexpand-all directly rather than
10455         c--mapcan-status.
10457 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
10459         * lisp/loadup.el: Set max-lisp-eval-depth here
10461         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
10462         (BYTE_COMPILE_FLAGS): Adjust accordingly.
10464 2015-11-17  João Távora  <joaotavora@gmail.com>
10466         Minor fix to comment indentation and typo in last commit
10468         * linum.el (linum-update-window): Fix comment indentation and a
10469         typo.
10471 2015-11-17  João Távora  <joaotavora@gmail.com>
10473         linum-mode plays more nicely with other margin-setting extensions
10475         linum.el will only modify the left margin if it needs to, and will
10476         only reset the it back to 0 if it guesses that no-one has touched that
10477         margin in the meantime.
10479         As such, this is a more of a workaround than an actual fix, but fixes
10480         the problems described in bug#20674 regarding the interaction with
10481         modes such as darkroom-mode and olivetti-mode.
10483         A similar fix was commited to nlinum.el in ELPA.git's
10484         e7f5f549fbfb740b911fb7f33b42381ecece56d8
10486         * linum.el (linum-delete-overlays): Restore margins more
10487         criteriously.
10488         (linum-update-window): Set margins more criteriously.
10490 2015-11-16  Daiki Ueno  <ueno@gnu.org>
10492         * lisp/image-mode.el: Support encrypted file
10494         (image-toggle-display-image): Read content from the buffer instead
10495         of the file, if the buffer holds a decrypted data.  (Bug#21870)
10497 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
10499         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
10501 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
10503         * lisp/emacs-lisp/package.el: Fix a decoding issue
10505         (package--with-response-buffer): Use `url-insert-buffer-contents'.
10506         The previous code had some issues with decoding. Refactoring that
10507         function allows us to use the decoding from url-handlers while still
10508         treating both sync and async requests the same.
10510         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
10511         `url-insert-buffer-contents'.
10512         (url-insert-buffer-contents): New function
10514 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10516         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
10518         (verilog-save-buffer-state): Use with-silent-modifications when available.
10519         (verilog-save-font-no-change-functions): Don't bind
10520         before/after-change-functions if it's not needed.
10522 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
10524         * CONTRIBUTE: Remove information about feature freeze.
10526         Merge branch 'release-process-lowercase'
10528 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
10530         Document the release process
10532         * admin/notes/versioning: Add information about RC releases.
10533         * admin/release-process: Document the release process.
10534         * admin/authors.el (authors-ignored-files):
10535         * admin/README: Change FOR-RELEASE to release-process.
10536         * CONTRIBUTE:
10537         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
10539 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
10541         * admin/release-process: Rename from admin/FOR-RELEASE.
10543 2015-11-14  David Engster  <deng@randomsample.de>
10545         gitmerge: Fix git log command
10547         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
10548         only want commits from the branch that is to be merged.
10549         (gitmerge-setup-log-buffer): Use the same symmetric range as in
10550         `gitmerge-missing'.
10552 2015-11-14  David Engster  <deng@randomsample.de>
10554         gitmerge: Try to detect cherry-picks
10556         * admin/gitmerge.el (gitmerge-default-branch): Change to
10557         origin/emacs-25.
10558         (gitmerge-missing): Use symmetric difference ('...') between
10559         branch and master so that cherry-picks can be detected.
10561 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
10563         Increment Emacs version on master branch
10565         * lisp/cus-edit.el (customize-changed-options-previous-release):
10566         Increase previous version to 24.5.
10568         * configure.ac:
10569         * msdos/sed2v2.inp: Bump version to 25.1.50.
10571 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
10573         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
10574         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
10575         * README: Mention CONTRIBUTE.
10577 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
10579         Update verilog-mode.el to 2015-11-09-b121d60-vpo
10581         * verilog-mode.el (verilog-auto, verilog-delete-auto)
10582         (verilog-modi-cache-results, verilog-save-buffer-state)
10583         (verilog-save-font-no-change-functions): When internally suppressing
10584         change functions, use `inhibit-modification-hooks' and call
10585         `after-change-funtions' to more nicely work with user hooks.
10586         Reported by Stefan Monnier.
10587         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
10588         Create `verilog-delete-auto-buffer' to avoid double-calling
10589         fontification hooks.
10590         (verilog-restore-buffer-modified-p, verilog-auto)
10591         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
10592         set-buffer-modified-p.  Reported by Stefan Monnier.
10593         (verilog-diff-auto, verilog-diff-buffers-p)
10594         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
10595         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
10596         AUTOINST with unpacked dimensional parameters, bug981.  Reported by
10597         by Amol Nagapurkar.
10598         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
10599         properties inside internal structures.  No functional change
10600         intended.
10602 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
10604         Use generic dispatch for xref backends
10606         * lisp/progmodes/xref.el (xref-backend-functions):
10607         New variable.
10608         (xref-find-function): Remove.
10609         (xref-find-backend)
10610         (xref--etags-backend): New functions.
10611         (xref-identifier-at-point-function)
10612         (xref-identifier-completion-table-function): Remove.
10613         (xref-backend-definitions, xref-backend-references)
10614         (xref-backend-apropos, xref-backend-identifier-at-point)
10615         (xref-backend-identifier-completion-table):
10616         New generic functions.
10618         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
10619         Add `elisp--xref-backend' to the beginning of
10620         `xref-backend-functions', locally.  Delete references to
10621         removed functions and vars.
10622         (elisp-xref-find): Remove.
10623         (elisp--xref-backend): New function.
10624         (elisp--xref-find-references, elisp--xref-find-apropos)
10625         (elisp--xref-identifier-completion-table):
10626         Turn into appropriately named generic methods.
10628         * lisp/progmodes/etags.el (etags-xref-find): Remove.
10629         (xref-backend-identifier-completion-table)
10630         (xref-backend-references, xref-backend-definitions)
10631         (xref-backend-apropos): New generic methods.
10633 2015-11-13  Juri Linkov  <juri@linkov.net>
10635         Support rectangular regions for more commands
10637         * lisp/simple.el (region-extract-function): Handle the arg
10638         value ‘bounds’.
10639         (region-insert-function): New function.
10640         (shell-command-on-region): Add arg ‘region-noncontiguous-p’.
10641         If non-nil, operate on multiple chunks.
10642         (region-noncontiguous-p): New function.
10644         * lisp/rect.el: Add function rectangle--insert-region
10645         around region-insert-function.
10646         (extract-rectangle-bounds): New function.
10647         (rectangle--extract-region): Handle the arg value ‘bounds’.
10648         (rectangle--insert-region): New function.
10650         * lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
10651         around region-insert-function.
10652         (cua--extract-rectangle-bounds): New function.
10653         (cua--rectangle-region-extract): Handle the arg value ‘bounds’.
10655         * lisp/replace.el (query-replace, query-replace-regexp): Add arg
10656         ‘region-noncontiguous-p’.  Use ‘use-region-p’.
10657         (query-replace-regexp-eval, map-query-replace-regexp)
10658         (replace-string, replace-regexp): Use ‘use-region-p’.
10659         (keep-lines, flush-lines, how-many): Use ‘use-region-p’.
10660         (perform-replace): Add arg ‘region-noncontiguous-p’.
10661         If non-nil, operate on multiple chunks.
10663         * src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
10664         If non-nil, operate on multiple chunks.  (Bug#19829)
10666 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
10668         Handle multiple matches on the same line; add highlighting
10670         * lisp/progmodes/xref.el (xref-location-marker): Interpret the
10671         column value in characters.
10672         (xref--collect-matches): Rename from `xref--collect-match'.
10673         Search for all matches in the hit line.  Add `highlight' face to
10674         the matched region in the summary.  Update both callers.
10676 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
10678         Replace xref-match-bounds with xref-match-length
10680         Relying on xref-location-marker to point to the beginning of the match
10682         * lisp/progmodes/xref.el (xref-match-bounds): Remove.
10683         (xref-match-length): Add.
10684         (xref-make-match): Change the arguments.
10685         (xref--match-buffer-bounds): Remove.
10686         (xref-match-item): Store length, instead of end-column.
10687         (xref-pulse-momentarily)
10688         (xref--collect-match)
10689         (xref--query-replace-1): Update accordingly.
10690         (xref-query-replace): Ditto.  And check that the search results
10691         are up-to-date.
10693 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
10695         Merge from gnulib
10697         This incorporates:
10698         2015-11-13 xalloc-oversized: improve performance with GCC 5
10699         * lib/xalloc-oversized.h: Copy from gnulib.
10701 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
10703         Spruce up ftfont.c memory allocation
10705         * src/ftfont.c (setup_otf_gstring):
10706         Avoid O(N**2) behavior when reallocating.
10707         (ftfont_shape_by_flt): Prefer xpalloc to xrealloc when
10708         reallocating buffers; this simplifies the code.  Do not trust
10709         mflt_run to leave the output areas unchanged on failure, as
10710         this isn’t part of its interface spec.
10712 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
10714         Port recent XCB changes to 64-bit ‘long int’
10716         For historical reasons, libX11 represents 32-bit values like Atoms as
10717         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
10718         do that, so adapt the recent XCB code to behave properly on 64-bit
10719         platforms.  Also, fix what appears to be a bug in the interpretation
10720         of xcb_get_property_value_length, at least on my Fedora platform
10721         which is running libxcb-1.11-5.fc21.
10722         * src/xfns.c (x_real_pos_and_offsets):
10723         * src/xterm.c (get_current_wm_state):
10724         xcb_get_property_value_length returns a byte count, not a word count.
10725         For 32-bit quantities, xcb_get_property_value returns a vector
10726         of 32-bit words, not of (possibly 64-bit) long int.
10728 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
10730         * src/undo.c (run_undoable_change): Now static.
10732 2016-01-30  Michael Albinus  <michael.albinus@gmx.de>
10734         Adapt Tramp version, do not merge with master
10736         * doc/misc/trampver.texi (trampver):
10737         * lisp/net/trampver.el (tramp-version): Set to "2.2.13-25.1".
10739 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
10741         Remove support for ':timeout' from w32 tray notifications
10743         * src/w32fns.c (Fw32_notification_notify): Delete the code that
10744         supports ':timeout'.
10745         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
10746         with dbusbind.c when D-Bus is compiled in.
10748         * doc/lispref/os.texi (Desktop Notifications): Don't mention
10749         ':timeout'.
10751 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
10753         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
10754         (simple-test--transpositions): New macro.
10755         (simple-transpose-subr): New test.
10757 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
10759         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
10761 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
10763         * src/undo.c: Small fixes for previous change
10764         (run_undoable_change): Mark void argument list.
10765         (record_property_change): Remove unused variable `boundary'.
10767 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
10769         Add a few more variables to redisplay--variables
10771         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
10772         and bidi-display-reordering to the list.
10774 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
10776         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
10778 2015-11-13  Eli Barzilay  <eli@barzilay.org>
10780         Fix point positioning after transposing with negative arg
10782         * lisp/simple.el (transpose-subr): When invoked with a negative
10783         argument, move point to after the transposed text, like we do
10784         when invoked with a positive argument.  (Bug#21885)
10786 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
10788         Fix last change in shr.el
10790         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
10791         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
10793 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
10795         Fix last change
10797         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
10798         Don't DEFSYM tray notification symbols if D-Bus is being used.
10800 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
10802         Another fix for MinGW64 and Cygwin builds due to notifications
10804         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
10805         being compiled into Emacs.
10806         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
10807         Sw32_notification_notify and Sw32_notification_close if the code
10808         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
10810 2016-01-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10811 2015-11-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10813         Remove intern calls and XXX comments from Fx_export_frames
10815         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
10816         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
10817         for consistency with image types.  Remove XXX comments.
10818         (syms_of_xfns) <Qpdf>: DEFSYM it.
10820 2016-01-30  Eric Hanchrow  <eric.hanchrow@gmail.com>
10821 2015-11-12  Eric Hanchrow  <eric.hanchrow@gmail.com>
10823         shr: don't invoke unbound function (Bug#21895)
10825         * lisp/net/shr.el (have-fringes-p): New function.
10826         (shr-insert-document, shr-fill-text): Use it.
10828 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
10830         * test/automated/keymap-tests.el: Fix test to make it repeatable
10832         (keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map
10833         entry to its initial value to make the test repeatable in interactive
10834         sessions (assuming it doesn't fail and crashes Emacs, of course).
10836 2016-01-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10838         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
10840 2016-01-30  Phillip Lord  <phillip.lord@russet.org.uk>
10842         : Tests for undo-auto functionality.
10843 2015-11-12  Artur Malabarba  <bruce.connor.am@gmail.com>
10845         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
10846         Small fix.
10848 2015-11-12  Phillip Lord  <phillip.lord@newcastle.ac.uk>
10850         The heuristic that Emacs uses to add an `undo-boundary' has been
10851         reworked, as it interacts poorly with functions on `post-command-hook'
10852         or `after-change-functions'.
10854         * lisp/simple.el: New section added.
10855         * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
10856         (self_insert_command): Calls simple.el to amalgamate.
10857         (delete_char): Calls simple.el to amalgamate.
10858         * src/keyboard.c (last_undo_boundary): Removed.
10859         * src/undo.c (run_undoable_change): New function.
10861 2015-11-12  Juri Linkov  <juri@linkov.net>
10863         Bind [?\S-\ ] to previous line command in Dired-like modes.
10865         * lisp/arc-mode.el (archive-mode-map):
10866         * lisp/dired.el (dired-mode-map):
10867         * lisp/proced.el (proced-mode-map):
10868         * lisp/vc/vc-dir.el (vc-dir-mode-map):
10869         Bind [?\S-\ ] to previous line command.
10870         (Bug#20790)
10872 2015-11-12  Eli Zaretskii  <eliz@gnu.org>
10874         Fix the MinGW64 and Cygwin-w32 builds
10876         * src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
10877         (MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
10878         use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
10879         which cause trouble with MinGW42 headers.  Ifdef away tray
10880         notifications code for Cygwin.  Reported by Andy Moreton
10881         <andrewjmoreton@gmail.com>.
10883 2015-11-12  Simen Heggestøyl  <simenheg@gmail.com>
10885         Enable sorting of JSON object keys when encoding
10887         * lisp/json.el (json-encoding-object-sort-predicate): New variable
10888         for specifying a sorting predicate for JSON objects during encoding.
10889         (json--plist-to-alist): New utility function.
10890         (json-encode-hash-table): Re-use `json-encode-alist' when object keys
10891         are to be sorted.
10892         (json-encode-alist): Sort output by
10893         `json-encoding-object-sort-predicate, when set.
10894         (json-encode-plist): Re-use `json-encode-alist' when object keys are
10895         to be sorted.
10896         (json-pretty-print-buffer-ordered): New command to pretty print the
10897         buffer with object keys sorted alphabetically.
10898         (json-pretty-print-ordered): New command to pretty print the region
10899         with object keys sorted alphabetically.
10901         * test/automated/json-tests.el (test-json-plist-to-alist)
10902         (test-json-encode-plist, test-json-encode-hash-table)
10903         (test-json-encode-alist-with-sort-predicate)
10904         (test-json-encode-plist-with-sort-predicate): New tests.
10906         * etc/NEWS: Add an entry for the new commands.
10908 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
10910         * test/automated/keymap-tests.el: New test file.
10912 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
10914         Speed up x_real_pos_and_offsets using XCB
10916         * src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of
10917         all X calls, and pipeline requests when possible, collecting results
10918         later.  Eliminate use of x_catch_errors (and thus XSync) in XCB case.
10920 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
10922         Enable use of XCB for checking window manager state
10924         * src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead
10925         of XGetWindowProperty plus error-catching, since we can explicitly
10926         check for errors in the XCB version.  This eliminates 3 XSync calls on
10927         top of the round-trip actually fetching the information.
10929 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
10931         Detect XCB and save a connection handle
10933         * configure.ac: If using X11, check for XCB libraries and header.
10934         * src/Makefile.in (XCB_LIBS): Define.
10935         (LIBX_EXTRA): Include it.
10937         * src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
10938         (struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
10939         * src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
10941 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
10943         Reduce some data dependencies between X calls
10945         Gains nothing in the traditional-Xlib code, but more closely aligns
10946         with how the XCB version will work.
10948         * src/xfns.c (x_real_pos_and_offsets): When translating coordinates,
10949         send coordinates (0,0) to the X server and add in the real coordinates
10950         after getting the response.  Move XGetGeometry for outer window inside
10951         error-trapping block.  Use DPY variable more, since it's available.
10953 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
10955         Use color cache for creating bitmap
10957         * src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]:
10958         Set attributes to use the caching color allocator.  Initialize and
10959         free the cache.
10961 2015-11-12  Eli Barzilay  <eli@barzilay.org>
10963         Add "^" to the interactive specs of `dired-next/previous-line'
10965         * lisp/dired.el (dired-next-line, dired-previous-line): It makes sense
10966         to bind these commands to the arrow keys, and that means that they work
10967         better with a "^" in the `interactive' declaration so selection works
10968         as expected.
10970 2016-01-30  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10972         Sync with soap-client repository, version 3.0.2
10974         * lisp/net/soap-client.el: Bump version to 3.0.2.
10976         * lisp/net/soap-client.el (soap-warning): Use format, not format-message.
10978         * lisp/net/soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
10979         (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.
10981         * lisp/net/soap-client.el: Support Emacs versions that do not have
10982         define-error.
10984         * lisp/net/soap-inspect.el: Remove version header.
10986         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Fix first line header
10987 2015-11-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10989         Sync with soap-client repository, version 3.0.2
10991         * soap-client.el: Bump version to 3.0.2.
10993         * soap-client.el (soap-warning): Use format, not format-message.
10995         * soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
10996         (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.
10998         * soap-client.el: Support Emacs versions that do not have
10999         define-error.
11001         * soap-inspect.el: Remove version header.
11003         * soap-client.el, soap-inspect.el, jira2.el: Fix first line header
11004         format.
11006 2015-11-11  Alan Mackenzie  <acm@muc.de>
11008         CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
11010         * lisp/progmodes/cc-engine.el (c-backward-single-comment)
11011         (c-backward-comments, c-invalidate-state-cache-1, c-parse-state-1)
11012         (c-guess-basic-syntax):
11013         Remove bindings of open-paren-in-column-0-is-defun-start to nil.
11014         (c-get-fallback-scan-pos): "New" function (existed several years ago).
11015         (c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using
11016         c-get-fallback-scan-pos.
11017         (c-parse-state-1): Handle 'BOD strategy.
11019         * lisp/progmodes/cc-mode.el (c-before-change, c-after-change)
11020         (c-font-lock-fontify-region): Remove bindings of
11021         open-paren-in-column-0-is-defun-start to nil.
11023         * doc/misc/cc-mode.texi (Performance Issues)
11024         (Limitations and Known Bugs): Fix mix up between @chapter and @appendix.
11026 2015-11-11  Artur Malabarba  <bruce.connor.am@gmail.com>
11028         * lisp/obarray.el: Fix shadowed variables.
11029         (obarray-map, obarray-remove, obarray-put, obarray-get):
11030         Change OBARRAY arg to OB to avoid shadowing ‘obarray’.
11032 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
11034         Avoid error in submitting a form with EWW
11036         * lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument
11037         CHUNK to be nil.  (Bug#21881)
11039 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
11041         Rename seq-p and map-p to seqp and mapp
11043         * lisp/emacs-lisp/seq.el (seqp): New name.
11044         * lisp/emacs-lisp/map.el (mapp): New name.
11045         * doc/lispref/sequences.texi: Update the documentation for seqp.
11046         * test/automated/map-tests.el: Update the tests for mapp.
11048 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
11050         Rename obarray-p to obarrayp
11052         * lisp/obarray.el (obarrayp): New name.
11053         * test/automated/obarray-tests.el: Update the tests.
11055 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
11057         Rename obarray-foreach to obarray-map
11059         * lisp/obarray.el (obarray-map): New name.
11060         * test/automated/obarray-tests.el: Update the corresponding tests.
11062 2015-11-11  Przemysław Wojnowski  <esperanto@cumego.com>
11064         New file with obarray functions.
11066         * lisp/obarray.el: Basic obarray functions extracted from abbrev.el.
11067         * test/automated/obarray-tests.el: New file.
11069 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
11071         Implement tray notifications for MS-Windows
11073         * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef.
11074         (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE)
11075         (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO)
11076         (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID)
11077         (EMACS_NOTIFICATION_MSG): New macros.
11078         (NI_Severity): New enumeration.
11079         (get_dll_version, utf8_mbslen_lim, add_tray_notification)
11080         (delete_tray_notification, Fw32_notification_notify)
11081         (Fw32_notification_close): New functions.
11082         (syms_of_w32fns): Defsubr functions exposed to Lisp.  DEFSYM
11083         keywords used by w32-notification-notify.
11085         * doc/lispref/os.texi (Desktop Notifications): Describe the native
11086         w32 tray notifications.
11088 2016-01-30  Alan Mackenzie  <acm@muc.de>
11090         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
11092         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
11093         Windows" and new @defun selected-window-group.
11094         (Window Start and End): Describe new &optional parameter GROUP and
11095         ...-group-function for window-start, window-end, set-window-start, and
11096         pos-visible-in-window-p.
11097         (Textual Scrolling) Describe the same for recenter.
11098         doc/lispref/positions.texi (Screen Lines): Describe the same for
11099         move-to-window-line.
11101         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
11102         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
11103         new optional parameter "group".  At the beginning of each, check whether the
11104         corresponding ...-group-function is set to a function, and if so execute this
11105         function in place of the normal processing.
11106         (syms_of_window): Define symbols for the six new variables below.
11107         (window-start-group-function, window-end-group-function)
11108         (set-window-start-group-function, recenter-group-function)
11109         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
11110         New permanent local buffer local variables.
11111         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
11112         Fpos_visible_in_window_p.
11114         lisp/window.el (selected-window-group-function): New permanent local buffer
11115         local variable.
11116         (selected-window-group): New function.
11118         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
11119         enable, kill them at mode disable.  Add/remove follow-after-change to/from
11120         after-change-functions.
11121         (follow-start-end-invalid): New variable.
11122         (follow-redisplay): Manipulate follow-start-end-invalid.
11123         (follow-after-change, follow-window-start, follow-window-end)
11124         (follow-set-window-start, follow-pos-visible-in-window-p)
11125         (follow-move-to-window-line, follow-sit-for): New functions.
11127         lisp/isearch.el (isearch-call-message): New macro.
11128         (isearch-update, with-isearch-suspended, isearch-del-char)
11129         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
11130         (with-isearch-suspended): Rearrange code such that isearch-call-message is
11131         invoked before point is moved.
11132         (isearch-message): Add comment about where point must be at function call.
11133         (isearch-search): Remove call to isearch-message.
11134         (isearch-lazy-highlight-window-group): New variable.
11135         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
11136         the battery of tests to ...
11137         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
11138         Note: (sit-for 0) is still called.
11139         (isearch-lazy-highlight-update): Check membership of
11140         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
11141         property.
11142         (isearch-update, isearch-done, isearch-string-out-of-window)
11143         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
11144         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
11145         (isearch-lazy-highlight-update): Call the six amended primitives (see
11146         src/window.c above) with the new `group' argument set to t, to cooperate
11147         with Follow Mode.
11149 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
11151         Optimize `file-equal-p' and `file-in-directory-p' in Tramp
11153         * lisp/net/tramp.el (tramp-handle-file-equal-p)
11154         (tramp-handle-file-in-directory-p): New defuns.  Suggested by
11155         Harvey Chapman <hchapman@3gfp.com>.
11157         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
11158         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
11159         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
11160         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
11162 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
11164         * CONTRIBUTE: Encourage adding tests.
11166         Based on this post from John Wiegley:
11168           From: "John Wiegley" <johnw@newartisans.com>
11169           Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test
11170           To: Juanma Barranquero <lekktu@gmail.com>
11171           Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com,
11172               emacs-devel <emacs-devel@gnu.org>
11173           Date: Wed, 28 Oct 2015 18:45:29 -0700
11174           Message-ID: <m2y4emqwg6.fsf@newartisans.com>
11176           https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
11178 2015-11-10  David Reitter  <david.reitter@gmail.com>
11180         Avoid creating notification objects when possible
11182         * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:)
11183         (windowDidEnterFullScreen, windowDidExitFullScreen): Provide convenience
11184         functions that do not require a notification object.  When needed,
11185         define NSWindowDidEnterFullScreenNotification to allow for compilation
11186         on OS X 10.6.8.
11188 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11190         Move INTEGER_TO_CONS body out of .h file
11192         * src/data.c (INTBIG_TO_LISP): New macro, with most
11193         of the contents of the old INTEGER_TO_CONS.
11194         (intbig_to_lisp, uintbig_to_lisp): New functions.
11195         * src/lisp.h (INTEGER_TO_CONS):
11196         Simplify by using EXPR_SIGNED and the new functions.
11197         This shrinks code size a bit, and makes it easier to
11198         put a breakpoint on handling of large integers.
11200 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11202         Merge from gnulib
11204         This incorporates:
11205         2015-11-10 intprops: new public macro EXPR_SIGNED
11206         2015-11-10 intprops: fix typo in clang port
11207         * lib/intprops.h: Copy from gnulib.
11209 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11211         Spelling fixes
11213         * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type):
11214         Fix misspelling in output.
11216 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
11218         * doc/lispref/variables.texi (Directory Local Variables):
11219         Document dir-locals wildcards.
11221         * lisp/files.el (dir-locals-file): Point to Info node.
11223         * doc/emacs/custom.texi (Directory Variables):
11224         Document dir-locals wildcards.
11226         * etc/NEWS: Document new functionality.
11228 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
11230         * lisp/files.el: Don't allow customization of dir-locals sorting.
11231         In retrospect, this is not a good idea for the same reason that
11232         `dir-locals-file' is a defconst, because it is important that this
11233         behaviour be "uniform across different environments and users".
11234         Sure, the user can still change the sorting with a hack, but we
11235         shouldn't encourage them to change it.
11236         (dir-locals--all-files): Return list in the order returned by
11237         `file-expand-wildcards'.
11238         (file-expand-wildcards): Document the sorting predicate used.
11239         (dir-locals-sort-predicate): Delete variable.
11241 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
11243         * lisp/files.el (dir-locals-read-from-file): Better handle errors.
11245         * lisp/isearch.el (search-default-regexp-mode): Change default value.
11247 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
11249         * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files.
11250         `locate-dominating-file' will now keep looking if the files it finds in
11251         a given directory are unreadable (or not files).
11253 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
11255         * lisp/files.el (dir-locals-file): Allow wildcards.
11256         (dir-locals-find-file, dir-locals-collect-variables)
11257         (dir-locals-read-from-file): Update accordingly.
11258         (hack-dir-local-variables): Rename a local variable.
11260         * lisp/files-x.el (modify-dir-local-variable): Update accordingly.
11262         * lisp/help-fns.el (describe-variable): Update accordingly.
11264         * .gitignore: Add .dir-locals?.el.
11266 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
11268         * lisp/emacs-lisp/map.el (map-merge-with): New function.
11270         * test/automated/map-tests.el (test-map-merge-with): New test.
11272 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
11274         Fix some recently-perturbed bookmark autoloads
11276         * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload.
11277         (bookmark-set): Restore autoload.
11278         (bookmark-set-no-overwrite): Add autoload.
11280         Thanks to Juanma Barranquero for noticing the autoload problems
11281         introduced by my recent commit adding/changing the above functions
11282         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
11284 2016-01-30  Noah Friedman  <friedman@splode.com>
11286         (ydump-buffer): Handle case where gap is at the start of buffer.
11287         I don't recall if older versions of gdb were less strict but you
11288         cannot dump a 0-length range in gdb 7.9.1.
11290 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
11291 2015-11-09  Noah Friedman  <friedman@splode.com>
11293         * etc/emacs-buffer.gdb (ydump-buffer): Handle case where gap is at
11294         the start of buffer.  I don't recall if older versions of gdb were
11295         less strict but you cannot dump a 0-length range in gdb 7.9.1.
11297 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
11299         * lisp/progmodes/project.el: Update Commentary.
11301         Merge branch 'project-next'
11303 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
11305         Fold `project-ask-user' into `project-current'
11307         * lisp/progmodes/project.el (project-find-functions): Remove
11308         `project-ask-user'.
11309 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
11311         Fold `project-ask-user' into `project-current'
11313         * lisp/progmodes/project.el (project-find-functions):
11314         Remove `project-ask-user'.
11315         (project-ask-user): Remove function and the corresponding
11316         `project-roots' implementation.
11317         (project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
11318         user in case there's no project in the current directory.  Update
11319         all callers.
11321 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
11323         When VC detects a conflict, specify which file
11325         * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function.
11326         * lisp/vc/vc-svn.el (vc-svn-find-file-hook):
11327         * lisp/vc/vc-hg.el (vc-hg-find-file-hook):
11328         * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook):
11329         * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function
11330           to display a standard message that specifies the conflicted file.
11332         Before this change, the message VC used for indicating a conflicted
11333         file was just "There are unresolved conflicts in this file" without
11334         naming the file (and this language was duplicated in several places).
11335         After this change, it's "There are unresolved conflicts in file FOO"
11336         (and this language is now centralized in one function in vc.el).
11338         Justification: It's important for the message to name the conflicted
11339         file because the moment when VC realizes a file is conflicted does not
11340         always come interactively.  For example, some people automatically
11341         find a set of Org Mode files on startup, and may keep those .org files
11342         under version control.  If any of the files are conflicted, the user
11343         just sees some messages fly by, and might later check the "*Messages*"
11344         buffer to find out what files were conflicted.  I'm not saying this
11345         happened to me or anything; it's a purely hypothetical example.
11347 2015-11-09  Eli Zaretskii  <eliz@gnu.org>
11349         Fix assertion violation in define-key
11351         * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character
11352         objects.  Reported by Drew Adams <drew.adams@oracle.com>
11353         and Juanma Barranquero <lekktu@gmail.com>.
11355 2015-11-09  Dima Kogan  <dima@secretsauce.net>
11357         Fix a memory leak in GC of font cache
11359         * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font
11360         entities if some of the fonts it references are marked.  This
11361         plugs a memory leak.  (Bug#21556)
11363 2015-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11365         Use INT_ADD_WRAPV etc. to check integer overflow
11367         * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string):
11368         * src/buffer.c (record_overlay_string, overlay_strings):
11369         * src/casefiddle.c (casify_object):
11370         * src/ccl.c (Fccl_execute_on_string):
11371         * src/character.c (char_width, c_string_width, lisp_string_width)
11372         (count_size_as_multibyte, string_escape_byte8):
11373         * src/coding.c (coding_alloc_by_realloc, produce_chars):
11374         * src/data.c (arith_driver):
11375         * src/dispnew.c (realloc_glyph_pool, init_display):
11376         * src/editfns.c (styled_format):
11377         * src/fns.c (Ffillarray):
11378         * src/ftfont.c (ftfont_shape_by_flt):
11379         * src/gnutls.c (gnutls_hex_string):
11380         * src/gtkutil.c (get_utf8_string):
11381         * src/image.c (x_to_xcolors, x_detect_edges, png_load_body):
11382         * src/keymap.c (Fkey_description):
11383         * src/lisp.h (SAFE_ALLOCA_LISP):
11384         * src/term.c (encode_terminal_code):
11385         * src/tparam.c (tparam1):
11386         * src/xselect.c (x_property_data_to_lisp):
11387         * src/xsmfns.c (smc_save_yourself_CB):
11388         * src/xterm.c (x_term_init):
11389         When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to
11390         more-complicated code involving division and/or
11391         INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and
11392         subtraction and/or INT_ADD_OVERFLOW.
11393         * src/casefiddle.c (casify_object): Simplify multibyte size check.
11394         * src/character.c: Remove some obsolete ‘#ifdef emacs’s.
11395         * src/data.c (arith_driver): Also check for division overflow,
11396         as that’s now possible given that the accumulator can now contain
11397         any Emacs integer.
11398         * src/lisp.h (lisp_word_count): Remove; no longer used.
11400 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
11401 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
11403         Make sure that the ignore file exists
11405         * lisp/vc/vc.el (vc-default-ignore-completion-table):
11406         Make sure that the ignore file exists.
11408 2016-01-30  Michael Sperber  <mike@xemacs.org>
11410         * lisp/gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
11411 2015-11-08  Michael Sperber  <mike@xemacs.org>
11413         * gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
11414         `gnus-summary-delete-article` in a way that also works on XEmacs.
11416 2015-11-08  Simen Heggestøyl  <simenheg@gmail.com>
11418         Add support for retrieving paths to JSON elements
11420         Add support for retrieving the path to a JSON element. This can for
11421         instance be useful to retrieve paths in deeply nested JSON
11422         structures.
11424         * lisp/json.el (json-pre-element-read-function)
11425         (json-post-element-read-function): New variables to hold pre- and post
11426         read callback functions for `json-read-array' and `json-read-object'.
11427         (json--path): New variable used internally by `json-path-to-position'.
11428         (json--record-path, json--check-position): New functions used
11429         internally by `json-path-to-position'.
11430         (json-path-to-position): New function for retrieving the path to a
11431         JSON element at a given position.
11432         (json-read-object, json-read-array): Call
11433         `json-pre-element-read-function' and `json-post-element-read-function'
11434         when set.
11436         * test/automated/json-tests.el (test-json-path-to-position-with-objects)
11437         (test-json-path-to-position-with-arrays)
11438         (test-json-path-to-position-no-match): New tests for
11439         `json-path-to-position'.
11441 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
11443         * etc/NEWS: Mention new `bookmark-set-no-overwrite'.
11445         This really should been part of my previous commit
11446         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
11448 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
11450         Offer non-overwrite bookmark setter (Bug#15746)
11452         * lisp/bookmark.el (bookmark-set-internal): New helper function to do
11453         what `bookmark-set' used to do, but with more choices for overwrite
11454         vs push, and with minor changes to the interactive prompt format.
11455         (bookmark-set): Rewrite as wrapper around above.
11456         If overwriting, inform the user of that in the prompt.
11457         (bookmark-set-no-overwrite): New function, also done as wrapper.
11458         Bind to "M" in `ctl-x-r-map' autoloads.
11459         (bookmark-map): Similarly bind "M" here.
11461 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
11463         * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614).
11465 2015-11-08  Alan Modra  <amodra@gmail.com>
11467         ELF unexec: Don't insert a new section
11469         Reuse the .bss section instead, making it SHT_PROGBITS.  This way we
11470         don't need to mess with symbol st_shndx, or section sh_link and
11471         sh_info.
11473         This does lead to eu-elflint complaints about symbols defined in .bss
11474         with a needed version, because normally it is undefined symbols that
11475         have needed versions;  Defined symbols have version definitions.
11476         The exception is symbols defined by the linker in .dynbss for
11477         variables copied from a shared library in order to avoid text
11478         relocations, with copy relocs to copy their initial values from the
11479         shared library.  These symbols are both defined and have needed
11480         versions, and eu-elflink only expects to see them in SHT_NOBITS
11481         sections.  Of course there is no real problem with having such symbols
11482         in SHT_PROGBITS sections.  glibc ld.so handles them fine.
11484         * src/unexelf.c: Delete outdated comments.
11485         (PATCH_INDEX): Delete.
11486         (find_section): Delete.
11487         (unexec): Don't add a new section.  Instead reuse the last bss
11488         section, extending it to cover dumped data.  Make bss sections
11489         SHT_PROGBITS.  Remove all patching of sh_link, sh_info and
11490         st_shndx.  Rename bss sections.
11492 2015-11-08  Alan Modra  <amodra@gmail.com>
11494         ELF unexec: Drive from PT_LOAD header rather than sections
11496         This rewrites bss handling in the ELF unexec code.  Finding bss
11497         sections by name results in complicated code that
11498         - does not account for all names of possible bss sections,
11499         - assumes specific ordering of bss sections,
11500         - can wrongly choose a SHT_NOBITS section not in the bss segment,
11501         - incorrectly calculates bss size (no accounting for alignment gaps),
11502         - assumes .data and .bss are in the same segment.
11504         All of these problems and more are solved by finding the bss segment
11505         in PT_LOAD headers, ie. the address range included in p_memsz but not
11506         p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections
11507         in that address range.
11509         * src/unexelf.c: Delete old ppc comment.
11510         (OLD_PROGRAM_H): Define.
11511         (round_up): Delete.
11512         (unexec): Don't search for bss style sections by name.  Instead,
11513         use the last PT_LOAD header address range covered by p_memsz
11514         but not p_filesz and match any SHT_NOBITS section in that
11515         address range.  Simplify initialisation of section header vars.
11516         Don't assume that section headers are above bss segment.  Move
11517         copying of bss area out of section loop.  Align .data2 section
11518         to 1, since it now covers the entire bss area.  For SHT_NOBITS
11519         sections in the bss segment, leave sh_addr and sh_addralign
11520         unchanged, but correct sh_offset.  Clear memory corresponding
11521         to SHT_NOBITS .plt section.  Delete comment and hacks for
11522         sections partly overlapping bss range now that the full range
11523         is properly calculated.  Delete now dead .sbss code.
11524         (Bug#20614)
11526 2015-11-08  Alan Modra  <amodra@gmail.com>
11528         ELF unexec: R_*_NONE relocs
11530         These should be ignored on all targets.
11532         * src/unexelf.c (unexec): Ignore R_*_NONE relocs for any target,
11533         not just Alpha.  Comment on reloc size assumption.
11535 2015-11-08  Alan Modra  <amodra@gmail.com>
11537         ELF unexec: _OBJC_ symbols in bss sections
11539         This code assumed that there was only one bss section.  Rather than
11540         checking for a particular index, check the section type.  Also, handle
11541         the possibility that the section was SHT_NOBITS originally and is
11542         unchanged, in which case no clearing is needed (and sh_offset isn't
11543         necessarily valid, which can lead to a wild memset).
11545         * src/unexelf.c (unexec): Properly handle _OBJC_ symbols in
11546         bss sections.
11548 2015-11-08  Alan Modra  <amodra@gmail.com>
11550         ELF unexec: Symbol table patching
11552         No st_shndx value larger than SHN_LORESERVE should be changed.
11553         * src/unexelf.c (unexec): Don't adjust any st_shndx larger than
11554         SHN_LORESERVE.  Error on SHN_XINDEX.
11556 2015-11-08  Alan Modra  <amodra@gmail.com>
11558         ELF unexec: Merge Alpha and MIPS COFF debug handling
11560         * src/unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling.
11561         Don't find .mdebug section index, find the section in the loop.
11562         Allow for unlikely possibility that .mdebug is located at sh_offset
11563         before bss segment, by calculating move from difference in
11564         sh_offset rather than just assuming new_data2_size.  Simplify
11565         cbLineOffset handling.
11567 2015-11-08  Alan Modra  <amodra@gmail.com>
11569         ELF unexec: Tidy code
11571         Separate out some of the more mechanical changes so following patches
11572         are smaller.
11574         * src/unexelf.c (unexec): Rearrange initialisation of program
11575         header vars.  Use pointer vars in loops rather than indexing
11576         section header array via macros.  Simplify _OBJC_ sym code
11577         and reloc handling code.
11579 2015-11-08  Alan Modra  <amodra@gmail.com>
11581         ELF unexec: Correct section header index
11583         First a small fix.  The code incorrectly uses "NEW_SECTION_H (n)" when
11584         it should have been using "NEW_SECTION_H (nn)" to find the name of the
11585         section currently being processed.  Of course, before the bss
11586         sections, n and nn have the same value, so this doesn't matter except
11587         in the case of .sbss.  For .sbss this probably meant .bss (most likely
11588         the next section) was copied from memory.  A later patch removes the
11589         bogus .sbss handling anyway.
11591         * src/unexelf.c (unexec): Use correct index to look up names.
11593 2015-11-08  Michael Albinus  <michael.albinus@gmx.de>
11595         Fix Bug#21841
11597         * lisp/filenotify.el (file-notify--rm-descriptor):
11598         Use `descriptor' instead of computing its value.
11599         (file-notify--descriptor): Additional argument FILE.  Adapt all callees.
11600         (file-notify-rm-watch): Use `descriptor' when calling file name handler.
11601         (Bug#21841)
11603 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
11605         Remove dirs in vc project roots from the the vc project library roots
11607         * lisp/progmodes/project.el (project-library-roots):
11608         Remove directories inside the project roots from the result.
11609         (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
11611 2015-11-07  Dmitry Gutov  <dgutov@yandex.ru>
11613         Move and rename xref-find-regexp to the project package
11615         * lisp/progmodes/project.el (project-find-regexp)
11616         (project--read-regexp)
11617         (project--find-regexp-in): New functions.
11619         * lisp/progmodes/xref.el (xref--find-xrefs): Extract from
11620         xref--show-xrefs.  Use in existing callers in place of that
11621         function.
11622         (xref--show-xrefs): Only do the "show" part.
11623         (xref-find-regexp): Rename, more or less, to
11624         project-or-libraries-find-regexp.
11626 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
11628         Abolish temporary buffer management for xref
11630         * lisp/progmodes/xref.el (xref--temporary-buffers)
11631         (xref--current)
11632         (xref--inhibit-mark-current)
11633         (xref--mark-selected): Remove.  Remove all references.
11634         (xref--show-xrefs): Do not construct the
11635         list of the temporary buffers, nor pass it along.
11637 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
11639         Rename "search path" to "library roots"
11641         * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
11642         of the elements from CL-LIST1.
11644         * test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
11645         Update WRT to the above change.
11647         * lisp/progmodes/project.el (project-search-path-function): Rename
11648         to project-library-roots-function, update the documentation and
11649         references.
11650         (project-search-path): Likewise, to project-library-roots.
11651         (project-roots): Clarify documentation.
11652         (project-vc-search-path): Likewise, to project-vc-library-roots.
11653         (project-library-roots): In addition to the renames, thread the
11654         results through file-name-as-directory.
11655         (project-prune-directories): Accept a variable number of
11656         arguments.  Rename to project-combine-directories.
11657         (project-subtract-directories): New function.
11659         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
11660         Append project-roots and project-library-roots together.
11662         * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
11664 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
11666         Prefer xpalloc to doubling buffers by hand
11668         * src/lread.c (grow_read_buffer): New function, which uses xpalloc.
11669         (read1): Use it for simplicity.
11670         * src/macros.c (store_kbd_macro_char):
11671         * src/minibuf.c (read_minibuf_noninteractive):
11672         * src/term.c (encode_terminal_code):
11673         * src/xrdb.c (magic_db):
11674         Prefer xpalloc to growing buffers by hand.
11675         This doesn’t fix any bugs, but simplifies the code a bit.
11677 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
11679         Merge from gnulib
11681         This incorporates:
11682         2015-11-05 timespec-sub: fix overflow bug; add tests
11683         2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW
11684         2015-11-03 intprops: add parentheses
11685         * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c:
11686         Copy from gnulib.
11688 2015-11-07  David Reitter  <david.reitter@gmail.com>
11690         Provide NS notification objects where required to eliminate warnings
11692         * src/nsterm.m (windowDidResize:, toggleFullScreen:):
11693         Call notification functions with notification objects
11694         as per delegate APIs.
11696 2015-11-07  Noam Postavsky  <npostavs@users.sourceforge.net>
11698         Add test for bug #21824
11700         * test/automated/buffer-tests.el: New file.
11701         (overlay-modification-hooks-message-other-buf): New test.
11703 2015-11-07  Kelvin White  <kwhite@gnu.org>
11705         * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771.
11707 2015-11-07  David Reitter  <david.reitter@gmail.com>
11709         Ignore fullscreen exit notifications on NS when frame is dead
11711         * src/nsterm.m (windowDidResize:, windowWillExitFullScreen:)
11712         (windowDidExitFullScreen:): Return if frame is dead.
11713         These functions may be called when a fullscreen frame
11714         is closed; they are called before, not after.
11716         May address Bug#21428.
11718 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
11720         Speed up lookup in redisplay--variables
11722         * lisp/frame.el (redisplay--variables): Make it a hash-table.
11724         * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
11725         as a hash-table.  This speeds up this function by an order of
11726         magnitude: where previously a setq was slowed down by 100% by
11727         introducing the maybe_set_redisplay test, it is now only 5%
11728         slower.
11729         (syms_of_xdisp) <redisplay--variables>: Doc fix.
11731 2015-11-07  Artur Malabarba  <bruce.connor.am@gmail.com>
11733         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug.
11735         The defsubst was being created as:
11736             (cl-defsubst name (args) ("DOC") ...)
11738         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
11739         Add test.
11741 2015-11-07  Mihai Olteanu  <mihai_olteanu@fastmail.fm>  (tiny change)
11743         Update doc string of hexl-mode
11745         * lisp/hexl.el (hexl-mode): Doc fix.  (Bug#21800)
11747 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
11749         Fix error in copy-abbrev-table
11751         * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff
11752         property of the abbrev-table.  (Bug#21828)
11754         * test/automated/abbrev-tests.el: New file.
11756 2015-11-07  Michael Albinus  <michael.albinus@gmx.de>
11758         Add test to auto-revert-tests.el for Bug#21841
11760         * test/automated/auto-revert-tests.el
11761         (auto-revert-test01-auto-revert-several-files): New test.
11762         (auto-revert-test02-auto-revert-tail-mode)
11763         (auto-revert-test03-auto-revert-mode-dired): Rename them.
11765 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
11767         * doc/lispref/windows.texi (Coordinates and Windows): Fix typo.
11769 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
11771         In x_consider_frame_title don't set title of tooltip frames
11773         * src/xdisp.c (x_consider_frame_title): Return immediately for
11774         tooltip frames to avoid displaying empty tooltips.
11776 2015-11-06  Anders Lindgren  <andlind@gmail.com>
11778         Fixed NextStep fullscreen problem (bug#21770).
11780         * src/nsterm.m (ns_constrain_all_frames): Don't constrain
11781         fullscreen frames.
11783 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
11785         Ensure redisplay after evaluation
11787         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
11788         Revert last change.
11789         * lisp/frame.el (redisplay--variables): Populate the
11790         redisplay--variables list.
11791         * src/xdisp.c (maybe_set_redisplay): New function.
11792         (syms_of_xdisp) <redisplay--variables>: New variable.
11793         * src/window.h (maybe_set_redisplay): Declare prototype.
11794         * src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
11796 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
11798         * test/automated/subr-tests.el (subr-test-when): Fix again.
11800 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
11802         Don't invoke overlay modification hooks in wrong buffer
11804         * src/buffer.c (report_overlay_modification): When called with
11805         AFTER non-zero, don't invoke overlay modification hooks if the
11806         buffer recorded in last_overlay_modification_hooks is different
11807         from the current buffer.  (Bug#21824)
11809 2015-11-06  Juanma Barranquero  <lekktu@gmail.com>
11811         * admin/notes/repo: Fix a few obsolete references to Bazaar.
11813 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
11815         * test/automated/subr-tests.el (subr-test-when): Fix test.
11817 2015-11-06  Martin Rudalics  <rudalics@gmx.at>
11819         Avoid division by zero crash observed by Yuan MEI
11821         See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html.
11823         * src/dispnew.c (required_matrix_height, required_matrix_width):
11824         Avoid division by zero.
11825         * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and
11826         dpyinfo->smallest_char_width to 1.
11828 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
11830         Ensure redisplay after "C-x C-e"
11832         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure
11833         redisplay happens to account for any side effects of the evaluated
11834         sexp.  (Bug#21835)
11836 2015-11-06  Michael Albinus  <michael.albinus@gmx.de>
11838         Skip some file notification tests for cygwin
11840         * test/automated/file-notify-tests.el (file-notify--test-with-events):
11841         Remove argument TIMEOUT.  Adapt all callees.
11842         (file-notify-test02-events, file-notify-test04-file-validity):
11843         Skip for cygwin.  (Bug#21804)
11845 2015-11-05  Stephen Leake  <stephen_leake@stephe-leake.org>
11847         * lisp/progmodes/xref.el: Require semantic/symref during compilation.
11849 2015-11-05  Daiki Ueno  <ueno@gnu.org>
11851         Suppress redundant Pinentry startup messages
11853         * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument.
11854         * lisp/epg.el: Declare `pinentry-start'.
11855         (epg--start): Call `pinentry-start' with QUIET argument set.
11857 2015-11-05  Xue Fuqiao  <xfq.free@gmail.com>
11859         * doc/emacs/ack.texi (Acknowledgments): Updates.
11861 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
11863         * test/automated/elisp-mode-tests.el: Silence some run-time warnings.
11864         (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
11866 2015-11-05  Tassilo Horn  <tsdh@gnu.org>
11868         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
11869         Add prettification support for \times.
11871 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
11873         * test/automated/process-tests.el: Skip tests when bash is unavailable.
11874         (process-test-sentinel-accept-process-output)
11875         (process-test-sentinel-sit-for): skip-unless bash executable found.
11877 2015-11-05  Eli Zaretskii  <eliz@gnu.org>
11879         Add test for bug #21831
11881         * test/automated/process-tests.el
11882         (start-process-should-not-modify-arguments): New test.  (Bug#21831)
11883         Suggested by Nicolas Richard <youngfrog@members.fsf.org>
11885 2015-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
11887         * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests.
11889         (eieio--generic-static-object-generalizer): Fix typo.
11890         * test/automated/eieio-tests.el: Byte-compile it again.  It looks
11891         like the underlying cause of bug#17852 was fixed in the mean time.
11893 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
11895         Revert "* lisp/subr.el (when): Use `macroexp-progn'"
11897         This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8.
11898         It breaks bootstrapping (duh).
11900 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
11902         * lisp/files.el (report-errors): Obsolete.
11904         (normal-mode, hack-local-variables, dir-locals-find-file):
11905         Use `with-demoted-errors' instead.
11907 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
11909         * lisp/subr.el (when): Use `macroexp-progn'.
11911         * test/automated/subr-tests.el (subr-test-when): New test.
11913 2015-11-04  Juanma Barranquero  <lekktu@gmail.com>
11915         * lisp/progmodes/xref.el: Doc fixes.
11916         (xref-make-file-location, xref-make-buffer-location, xref-make)
11917         (xref-make-bogus-location, xref-make-match): Add cross-references.
11918         (xref--insert-xrefs): Fix typo in docstring.
11920 2015-11-04  Anders Lindgren  <andlind@gmail.com>
11922         Render fringe bitmaps correctly on NextStep (bug#21301)
11924         The fringe bitmaps were inverted, the background was not transparent,
11925         the image data was horizontally mirrored, and periodic fringe bitmaps
11926         were not supported.
11928         * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]):
11929         When both background and foreground colors are 0, set the background
11930         alpha channel to 0 (making the background transparent).  When
11931         copying the image data, do this from the most significant bit
11932         (leftmost) to the least (rightmost), to avoid mirroring.
11933         * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits.
11934         Add support for periodic images (e.g. the empty line indicator).
11936 2015-11-03  Michael Heerdegen  <michael_heerdegen@web.de>
11938         * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring.
11940 2015-11-03  Nicolas Petton  <nicolas@petton.fr>
11942         * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el.
11944         * admin/MAINTAINERS: Add thunk.el.
11946 2015-11-03  Jay Belanger  <jay.p.belanger@gmail.com>
11948         * lisp/calc/calc.el (calc-bug-address): Change maintainer address.
11950 2015-11-03  Michael Albinus  <michael.albinus@gmx.de>
11952         Fix a stupid error in gfilenotify.c
11954         * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only,
11955         if we've got a `deleted' signal AND the file name is the watched one.
11957 2015-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
11959         Fix Bug#21816; case insensitive file system in elisp-mode-tests.el
11961         * test/automated/elisp-mode-tests.el (xref-elisp-test-run):
11962         Use case-insensitive string compare for file names.
11963         (emacs-test-dir): Add 'downcase' to cause case differences (at
11964         least on my system).
11966 2015-11-02  Juanma Barranquero  <lekktu@gmail.com>
11968         flymake-tests.el (warning-predicate-rx-gcc): Fix check
11970         * test/automated/flymake-tests.el (warning-predicate-rx-gcc):
11971         Also check that "make" is available, not just "gcc".
11973 2015-11-02  Ken Brown  <kbrown@cornell.edu>
11975         Document behavior of collation on Cygwin
11977         * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as
11978         expected failure on Cygwin.
11979         * doc/lispref/strings.texi (Text Comparison): Document that
11980         punctuation and whitespace are not ignored for sorting on Cygwin.
11982 2015-11-02  Dani Moncayo  <dmoncayo@gmail.com>
11984         * build-aux/msys-to-w32: Prevent double slashes in w32 path list.
11986 2015-11-01  Glenn Morris  <rgm@gnu.org>
11988         * lisp/progmodes/f90.el (f90-no-block-limit): Add associate.
11989         (Bug#21794)
11990         * test/automated/f90.el (f90-test-bug21794): New test.
11992 2015-11-01  Juanma Barranquero  <lekktu@gmail.com>
11994         Fix incompatibility with TCC in test for bug#18745
11996         * test/automated/process-tests.el (process-test-quoted-batfile):
11997         Remove spaces unrelated to the bug being tested.
11999 2015-11-01  Michael Albinus  <michael.albinus@gmx.de>
12001         Improve completion in tramp-gvfs.el
12003         * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names):
12004         Rename from `tramp-zeroconf-parse-service-device-names'.
12005         (tramp-zeroconf-parse-webdav-device-names): Remove.  Code merged
12006         with `tramp-zeroconf-parse-device-names'.
12007         (tramp-gvfs-parse-device-names): New defun.
12008         (top): Use it when `tramp-zeroconf-parse-device-names' is not
12009         applicable.
12011         * lisp/net/tramp.el (tramp-set-completion-function): The argument
12012         could also be a zeroconf service type.
12014 2015-10-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12016         * lisp/net/ntlm.el: Change version to 2.0.0.
12018 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
12020         Fix bug#21762
12021         * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
12022         `eql' instead of `=' to accommodate the case that (syntax-after (point))
12023         returns nil.
12024         * test/automated/python-tests.el (python-indent-inside-paren-7):
12025         New test.
12027 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
12029         * test/automated/python-tests.el: Avoid warnings.
12030         (python-tests-with-temp-buffer, python-tests-with-temp-file):
12031         Bind `python-indent-guess-indent-offset' to nil.
12033 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
12035         * src/alloc.c: Silence compiler warnings.
12036         (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC.
12038 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
12040         * etc/NEWS: Fix js-jsx-mode entry punctuation.
12042 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
12044         Add JSX indentation via js-jsx-mode  (Bug#21799)
12046         * lisp/progmodes/js.el: Add JSX indentation support.
12047         (js--jsx-end-tag-re)
12048         (js--jsx-after-tag-re): New variables.
12049         (js--jsx-find-before-tag)
12050         (js--jsx-indented-element-p)
12051         (js--as-sgml)
12052         (js--expression-in-sgml-indent-line)
12053         (js-jsx-indent-line)
12054         (js-jsx-mode): New functions.
12055         * test/indent/js-jsx.js: New file.
12056         * etc/NEWS: Add information about js-jsx-mode.
12058 2015-10-31  Michael Albinus  <michael.albinus@gmx.de>
12060         Minor fix in filenotify.el
12062         * lisp/filenotify.el (file-notify--event-file-name)
12063         (file-notify--event-file1-name): Normalize result with
12064         `directory-file-name'.
12066 2015-10-31  Eli Zaretskii  <eliz@gnu.org>
12068         Avoid errors in redisplay--pre-redisplay-functions
12070         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
12071         use 'bobp', instead compare window-point with 1.  (Bug#21730)
12073 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12075         Merge from gnulib
12077         This incorporates:
12078         2015-10-30 intprops: add WRAPV and const flavors for GCC 5
12079         2015-10-25 stdalign: port to Sun C 5.9
12080         * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h:
12081         Copy from gnulib.
12083 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
12085         * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro.
12086         (w32_compare_strings): Adjust for the correction.
12088 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
12090         * test/automated/vc-tests.el (vc-test--state)
12091         (vc-test--working-revision, vc-test--checkout-model):
12092         Add result messages.
12094 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
12096         * test/automated/faces-tests.el: Add another test
12098 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
12100         * lisp/faces.el (faces--attribute-at-point): Fix bug
12101         introduced by previous commit.
12103 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
12105         * test/automated/faces-tests.el: New file.
12107 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
12109         * lisp/faces.el: Refactor common code and fix a bug.
12110         (faces--attribute-at-point): New function.  Fix a bug when the
12111         face at point is a list of faces and the desired attribute is not
12112         on the first one.
12113         (foreground-color-at-point, background-color-at-point): Use it.
12115 2015-10-30  Przemysław Wojnowski  <esperanto@cumego.com>
12117         * etc/tutorials/TUTORIAL.translators: Fix PL names.
12119 2015-10-30  Juanma Barranquero  <lekktu@gmail.com>
12121         * lisp/character-fold.el: Provide `character-fold'.
12123 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
12125         * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces
12126         for Gnus and ivy.
12128 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
12130         Some minor fixes for tramp-gvfs.el
12132         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
12133         An attribute returned by gvfs-info might be empty.  In case of
12134         undetermined uid or gid, return "UNKNOWN" or -1, respectively.
12135         (tramp-zeroconf-parse-service-device-names): New defun.
12136         Derived from `tramp-zeroconf-parse-workstation-device-names'.
12137         (top): Add completion functions for "afp" and "smb" methods.
12139 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
12141         * test/automated/character-fold-tests.el: New file
12143 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
12145         * test/automated/sort-tests.el: New file.
12146         Tests in this file are randomly generated and then tested with
12147         regular, reverse, and case-fold sorting.
12149 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
12151         Describe known problems with pinning Emacs to taskbar
12153         * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar
12154         on Windows 10.  For the details, see the discussion starting at
12155         http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html.
12157 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
12159         * lisp/isearch.el: Avoid an error that blocks isearch.
12160         (isearch-update): Don't error if `isearch--current-buffer' has
12161         been killed.
12163         * test/automated/isearch-tests.el (isearch--test-update):
12164         New file.
12166 2015-10-30  Phil Sainty  <psainty@orcon.net.nz>
12168         Fix documentation of 'beginning/end-of-buffer'
12170         * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify
12171         conditions under which the mark will be pushed at the previous
12172         position.  (Bug#21748)
12174 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
12176         Add RefTeX feature idea: editing RefTeX TOC buffers
12178         More face defs for ivy, swiper, ace-window, eshell
12180 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12182         * lisp/gnus/auth-source.el: Silence lexical-binding warnings.
12183         (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to
12184         just VAR.
12185         (auth-source-backend-parse): Use make-instance.
12186         (auth-source-search): Remove unused key args.
12187         Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
12188         (auth-source-search-backends): Use slot names rather than their initarg.
12189         (auth-source-netrc-create):
12190         (auth-source-delete):
12191         (auth-source-secrets-create, auth-source-plstore-search)
12192         (auth-source-macos-keychain-create, auth-source-macos-keychain-search)
12193         (auth-source-plstore-create, auth-source-netrc-search)
12194         (auth-source-netrc-parse): Remove unused key args.
12195         (auth-source-forget+): Simplify the arglist.
12196         (auth-source-macos-keychain-search-items)
12197         (auth-source-token-passphrase-callback-function): Mark unused args.
12198         (auth-source-epa-extract-gpg-token): Remove unused var `plain'.
12199         (pp-escape-newlines): Declare.
12200         (auto-source--symbol-keyword): New function.
12201         (auth-source-plstore-create, auth-source-netrc-create)
12202         (auth-source-netrc-normalize): Use it.
12203         (auth-source-netrc-search): Don't pass :delete to
12204         auth-source-netrc-parse since it doesn't use it.
12205         (auth-source-plstore-create, auth-source-netrc-create): Use plist-get
12206         symbol-value to index in keyword args.
12207         (auth-source-macos-keychain-result-append): Avoid setq.
12208         (auth-source-netrc-create): Remove unused vars `file' and `add'.
12209         (auth-source-user-or-password): Remove unused var `cname'.
12211 2015-10-29  Juri Linkov  <juri@linkov.net>
12213         * lisp/dired.el (dired-unmark-all-files-query): Declare.
12214         (dired-unmark-all-files): Let-bind it and use instead of ‘query’.
12215         (Bug#21746)
12217 2015-10-29  Juri Linkov  <juri@linkov.net>
12219         * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol
12220         to go to the beginning of text line instead of command line.
12221         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html
12223 2015-10-29  Eli Zaretskii  <eliz@gnu.org>
12225         Fix encoding of saving *Help* buffers
12227         * lisp/help-fns.el (describe-function-1): If we use curved quotes,
12228         set help buffer's buffer-file-coding-system to UTF-8.  (Bug#21780)
12230 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12232         * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context.
12233         (cl--generic-derived-specializers): New function.
12234         (cl--generic-derived-generalizer): New generalizer.
12235         (cl-generic-generalizers): New specializer (derived-mode MODE).
12236         (cl--generic-split-args): Apply the rewriter, if any.
12237         (cl-generic-define-context-rewriter): New macro.
12238         (major-mode): Use it to define a new context-rewriter, so we can write
12239         `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
12241         * lisp/frame.el (window-system): New context-rewriter so we can write
12242         `(window-system VAL)' instead of (window-system (eql VAL)).
12243         (cl--generic-split-args): Apply the rewriter, if any.
12244         (frame-creation-function): Use the new syntax.
12246         * lisp/term/x-win.el (window-system-initialization)
12247         (handle-args-function, frame-creation-function)
12248         (gui-backend-set-selection, gui-backend-selection-owner-p)
12249         (gui-backend-selection-exists-p, gui-backend-get-selection):
12250         * lisp/term/w32-win.el (window-system-initialization)
12251         (handle-args-function, frame-creation-function)
12252         (gui-backend-set-selection, gui-backend-get-selection)
12253         (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
12254         * lisp/term/pc-win.el (gui-backend-get-selection)
12255         (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
12256         (gui-backend-set-selection, window-system-initialization)
12257         (frame-creation-function, handle-args-function):
12258         * lisp/term/ns-win.el (window-system-initialization)
12259         (handle-args-function, frame-creation-function)
12260         (gui-backend-set-selection, gui-backend-selection-exists-p)
12261         (gui-backend-get-selection):
12262         * lisp/startup.el (handle-args-function):
12263         * lisp/term/xterm.el (gui-backend-get-selection)
12264         (gui-backend-set-selection): Use the new syntax.
12266 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12268         * test/indent/css-mode.css: Add tests for url(...) syntax.
12270 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12272         * lisp/emacs-lisp/smie.el: Use `declare' for `pure'.
12273         (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2)
12274         (smie-prec2->grammar): Use `declare'.
12276 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12278         * lisp/emacs-lisp/cl-generic.el: Accommodate future changes.
12279         (cl--generic-generalizer): Add `name' field.
12280         (cl-generic-make-generalizer): Add corresponding `name' argument.
12281         (cl-generic-define-generalizer): New macro.
12282         (cl--generic-head-generalizer, cl--generic-eql-generalizer)
12283         (cl--generic-struct-generalizer, cl--generic-typeof-generalizer)
12284         (cl--generic-t-generalizer): Use it.
12285         (cl-generic-ensure-function): Add `noerror' argument.
12286         (cl-generic-define): Use it so we don't follow aliases.
12287         (cl-generic-define-method): Preserve pre-existing ordering of methods.
12288         (cl--generic-arg-specializer): New function.
12289         (cl--generic-cache-miss): Use it.
12290         (cl-generic-generalizers): Only fset a temporary definition
12291         during bootstrap.
12292         (cl--generic-struct-tag, cl--generic-struct-specializers):
12293         Allow extra arguments.
12295         * lisp/emacs-lisp/eieio-compat.el
12296         (eieio--generic-static-symbol-generalizer)
12297         (eieio--generic-static-object-generalizer):
12298         Use cl-generic-define-generalizer.
12299         (eieio--generic-static-symbol-specializers): Allow extra arguments.
12301         * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
12302         (eieio--generic-subclass-generalizer):
12303         Use cl-generic-define-generalizer.
12304         (eieio--generic-subclass-specializers): Allow extra arguments.
12306 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12308         * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope.
12310 2015-10-29  Michael Albinus  <michael.albinus@gmx.de>
12312         Add "afp" method to Tramp
12314         * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
12316         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
12317         (tramp-gvfs-handle-expand-file-name)
12318         (tramp-gvfs-handler-mounted-unmounted)
12319         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
12320         (tramp-gvfs-maybe-open-connection): Support also "afp".
12321         (tramp-gvfs-handle-file-attributes): Handle the case of empty
12322         "owner::user" and "owner::group" entries.
12324 2015-10-29  Andy Moreton  <andrewjmoreton@gmail.com>
12326         Handle negative coordinates in ‘x_calc_absolute_position’
12328         * src/w32term.c (x_calc_absolute_position): Find display origin to
12329         allow for negative coordinates.
12331 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12333         (internal--syntax-propertize): Save match-data here (bug#21766)
12335         * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data.
12336         * lisp/simple.el (delete-trailing-whitespace): Undo last change.
12338 2015-10-28  Dmitry Gutov  <dgutov@yandex.ru>
12340         Don't require default-directory to end with a slash
12342         * doc/lispref/files.texi (Magic File Names): Document the change
12343         in unhandled-file-name-directory.
12345         * lisp/url/url-handlers.el
12346         (url-handler-unhandled-file-name-directory): Update accordingly.
12348         * src/buffer.c (default-directory): Update the docsting.
12350         * src/fileio.c (unhandled-file-name-directory): Default to calling
12351         `file-name-as-directory'
12352         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
12354 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
12356         * lisp/isearch.el: Delete some outdated comments.
12358 2015-10-28  Vibhav Pant  <vibhavp@gmail.com>
12360         Fix eshell/clear not working if the output has a small line count
12362         * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the
12363         number of newlines to be inserted. This fixes the issue where
12364         eshell/clear wouldn't work if the prompt was not at the bottom of the
12365         window, and the output wasn't too long.
12367 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12369         * lisp/files.el (write-file): Use vc-refresh-state.
12371         * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state.
12373         * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state.
12375 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12377         * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations.
12378         (macroexp-unprogn): Make sure we never return an empty list.
12379         (macroexp-if): Remove unused (and unsafe) optimization.
12380         Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does
12381         occur occasionally.
12383 2015-10-28  Juanma Barranquero  <lekktu@gmail.com>
12385         Fix bug#21766 and add test
12386         * lisp/simple.el (delete-trailing-whitespace): Save match data when
12387         calling `skip-syntax-backward'.
12388         * test/automated/simple-test.el (simple-delete-trailing-whitespace):
12389         New test.
12391 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
12393         * doc/lispref/sequences.texi (Sequence Functions): Fix typo.
12395 2015-10-28  Paul Eggert  <eggert@cs.ucla.edu>
12397         * src/dispnew.c (init_display): Simplify overflow checking.
12399 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
12401         * lisp/character-fold.el (character-fold-to-regexp): Fix case
12402         where string ends in space
12404 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
12406         * lisp/emacs-lisp/seq.el (seq-mapn): New function.
12408         * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn.
12410 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
12412         * lisp/character-fold.el: Make compatible with lax-whitespace.
12413         (character-fold-to-regexp): Rework internals to play nice with
12414         lax-whitespacing.
12416         When the user types a space, we want to match the table entry for
12417         ?\s, which is generally a regexp like "[ ...]".  However, the
12418         `search-spaces-regexp' variable doesn't "see" spaces inside these
12419         regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to
12420         manually expose a space).
12422         Furthermore, the lax search engine acts on a bunch of spaces, not
12423         on individual spaces, so if the string contains sequential spaces
12424         like "  ", we need to keep them grouped together like this:
12425         "\\(  \\|[ ...][ ...]\\)".
12427 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
12429         * lisp/isearch.el: Refactor momentary messages.
12430         (isearch--momentary-message): New function.
12431         (isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
12432         (isearch-toggle-invisible): Use it.
12434 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
12436         * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'.
12437         (isearch-define-mode-toggle): New macro.
12438         (isearch-toggle-invisible): Rename to
12439         `isearch-define-mode-toggle'.
12440         (isearch-toggle-case-fold, isearch-toggle-invisible)
12441         (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
12442         with `isearch-define-mode-toggle'.
12444 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
12446         Avoid using `add-to-list' on a let-local var in tramp-smb.el
12448         * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun.
12449         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
12451 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
12453         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
12454         Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups'
12455         does not exist in XEmacs 21.4.
12457 2015-10-28  Anders Lindgren  <andlind@gmail.com>
12459         Fixed OS X startup crash
12461         Input events started to arrive before ns_term_init() was finished.
12462         Solved by blocking input.  This also seems to correct the "You
12463         can't open the application "Emacs" because it may be damaged or
12464         incomplete" error issued when double-clicking on the Emacs
12465         application.
12467         * src/nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
12468         * src/nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
12470 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
12472         * src/process.c (Fget_buffer_process): Improve docstring.
12473         Document the fact that it doesn't return dead processes.
12475 2015-10-28  Anders Lindgren  <andlind@gmail.com>
12477         Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
12479         * src/nsterm.h (struct ns_output): New flag, in_animation.
12480         * src/nsfns.m (Fx_create_frame): Initialize in_animation flag.
12481         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
12482         in_animation flag around call to "setVisible". Set new tool bar
12483         height before call to setVisible.
12484         * src/nsterm.m (x_set_window_size): Don't call [view setRow:
12485         andColumns:] as this fools the subsequent call to updateFrameSize
12486         from performing the real resize.
12487         (windowDidResize): Don't update anything when in_animation is
12488         non-zero.
12490         Trace output.
12492         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
12493         (EmacsToolbar):
12494         * src/nsterm.m (x_set_window_size, updateFrameSize)
12495         ([EmacsView setRows: andColumns:])
12497 2015-10-28  Nicolas Petton  <nicolas@petton.fr>
12499         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro.
12501 2015-10-28  Tassilo Horn  <tsdh@gnu.org>
12503         Prettify TeX macros not ending in a word char
12505         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
12506         Prettify macros which don't end in a word character.
12508 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
12510         Pipe Hg commit descriptions through 'tabindent'
12512         * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description
12513         through 'tabindent'.
12514         (vc-hg-log-view-mode): Set tab-width to 2 locally.
12515         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html)
12517 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12519         * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var.
12520         (tramp-smb-handle-directory-files): Use `delete-dups'.
12522         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
12524 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12526         * lisp/international/ccl.el: Use lexical-binding.
12527         (ccl-compile-if): Remove unused var `false-ic'.
12528         (ccl-compile-write-repeat): Remove unused var `i'.
12529         (ccl-compile-map-single): Remove unused var `id'.
12530         (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the
12531         dynamic var `ccl-code'.
12533 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12535         * lisp/json.el (json-new-object): Optimize trivial `list' call.
12537 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12539         * lisp/help.el: Fix bug with incorrect arglist string.
12540         (help-add-fundoc-usage): Don't mistake a mis-formatted string
12541         for a list.
12543 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12545         * lisp/gnus/gnus-topic.el: Silence some warnings.
12546         (gnus-topic-prepare-topic): Remove unused var `topic'.
12547         (gnus-topic-remove-topic): Mark unused arg `hide'.
12548         (gnus-tmp-header): Declare.
12549         (gnus-topic-goto-missing-group): Remove unused var `entry'.
12550         (gnus-topic-unmark-topic): Mark unused arg `dummy'.
12551         (gnus-topic-copy-matching): Mark unused arg `copyp'.
12552         Move initialization of `topic' into its declaration.
12554 2015-10-27  Stephen Leake  <stephen_leake@stephe-leake.org>
12556         Minor CEDET fixes
12558         * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call):
12559         Handle warnings from gtags about invalid options.
12560         (cedet-gnu-global-create/update-database): Do incremental update
12561         properly.
12563         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
12564         Get monotone root right.
12566 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
12568         Fall back to polling in autorevert when needed
12570         * lisp/autorevert.el (auto-revert-notify-handler): When a
12571         `stopped' event arrives from file notification, fall back to polling.
12573         * test/automated/file-notify-tests.el
12574         (file-notify-test03-autorevert): Extend test for polling when file
12575         notification ceases to work.
12577 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
12579         Show full commit messages in 'hg log' when appropriate
12581         * lisp/vc/vc-hg.el (vc-hg-log-format): New variable.
12582         (vc-hg-print-log, vc-hg-expanded-log-entry): Use it.
12583         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html)
12585 2015-10-27  Nicolas Petton  <nicolas@petton.fr>
12587         Use a plain SVG file for the icon
12589         * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG
12590           format instead of the Inkscape SVG format.
12592 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
12594         Fix subtle bug in auto-revert-tests.el
12596         * test/automated/auto-revert-tests.el
12597         (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages*
12598         buffer where it belongs to.  (Bug#21668)
12600 2015-10-26  Nicolas Petton  <nicolas@petton.fr>
12602         * lisp/emacs-lisp/map.el: Better docstrings.
12604         * lisp/emacs-lisp/seq.el: Better docstrings.
12606         * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence.
12608 2015-10-26  Phillip Lord  <phillip.lord@russet.org.uk>
12610         * lisp/emacs-lisp/ert.el: Print results without newline escaping.
12612 2015-10-26  Stephen Leake  <stephen_leake@stephe-leake.org>
12614         Clarify that load-path contents should be directory file names
12616         * doc/lispref/files.texi (Directory Names): Define and use "directory
12617         file name".  Recommend `expand-file-name'.
12619         * src/lread.c (load-path): Fix doc string; elements are directory file
12620         names.
12622 2015-10-26  Eli Zaretskii  <eliz@gnu.org>
12624         Fix simple-test.el test
12626         * test/automated/simple-test.el (simple-test--dummy-buffer):
12627         Make sure indentation doesn't use TABs, otherwise the 6th test
12628         might fail.
12630 2015-10-26  Mark Oteiza  <mvoteiza@udel.edu>
12632         * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width.
12633         `substring' does not account for full width characters.
12635 2015-10-26  Michael Albinus  <michael.albinus@gmx.de>
12637         Further work on `stopped' events in filenotify.el
12639         * doc/lispref/os.texi (File Notifications): Rework examples.
12641         * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter.
12642         (file-notify--rm-descriptor, file-notify-callback): Improve check
12643         for sending `stopped' event.
12644         (file-notify-add-watch): Check for more events for `inotify'.
12646         * test/automated/file-notify-tests.el
12647         (file-notify--test-expected-events): New defvar.
12648         (file-notify--test-with-events): Use it.
12649         (file-notify--test-cleanup): Make it more robust when deleting
12650         directories.
12651         (file-notify--test-event-test): Check also for watched directories.
12652         (file-notify--test-event-handler): Suppress temporary .#files.
12653         (file-notify-test02-events, file-notify-test04-file-validity):
12654         Rework `stopped' events.
12655         (file-notify-test05-dir-validity): Wait for events when appropriate.
12657 2015-10-26  Artur Malabarba  <bruce.connor.am@gmail.com>
12659         * src/keyboard.c (post-command-hook): Shorten docstring.
12661 2015-10-26  Tassilo Horn  <tsdh@gnu.org>
12663         Fix infinite loop in sh-script's SMIE code
12665         * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite
12666         loop (bug#21747).
12668 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
12670         * lisp/isearch.el (search-default-regexp-mode): Revert to nil.
12671         Character-fold search _still_ doesn't play well with
12672         lax-whitespace.  So disable it by default (again) for now.
12674 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
12676         * lisp/isearch.el: No visual feedback for default search mode.
12677         During an isearch where character-folding is the default, we don't
12678         want to take up minibuffer space just to tell the user that
12679         "Char-fold " is on.  The same goes for other modes, if the user
12680         changes the default.  In contrast, if the user toggles OFF the
12681         default mode, they should see "Literal", to distinguish it from
12682         the default mode.
12683         (isearch--describe-regexp-mode): Return "" if describing the
12684         default mode, and return "literal " if describing a plain search
12685         and it is not default.
12687 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
12689         * test/automated/simple-test.el: New file.
12690         Define tests for `newline' and `open-line'.
12692 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
12694         * lisp/simple.el (open-line): Integrate with electric-indent-mode.
12695         Also run `post-self-insert-hook' when called interactively.
12697 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
12699         * lisp/simple.el (open-line): Fix docstring.
12700         Also explain apparently redundant line.
12702 2015-10-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12703             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
12705         Sync with soap-client repository, version 3.0.1
12707         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
12708         Bump version to 3.0.1.
12710         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page.
12712 2015-10-25  Eli Zaretskii  <eliz@gnu.org>
12714         * lisp/progmodes/grep.el (grep): Doc fix.  (Bug#21754)
12716 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
12718         * src/keyboard.c (post-command-hook): Extend the docstring.
12719         Mainly, explain how to use it without hanging Emacs, or giving the
12720         impression that it is hanging.  Also mention `pre-command-hook'.
12721         (pre-command-hook): Mention `post-command-hook'.
12723 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
12725         * lisp/custom.el (custom-declare-variable): Shorten code again.
12726         Without using pcase this time.  We can't use pcase because it is
12727         loaded after custom in loadup.el.  Also add a comment explaining
12728         this to future dummies like me.
12730 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
12732         * doc/lispref/os.texi (File Notifications): Document `stopped event'.
12734 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
12736         Introduce `stopped' event in file notification
12738         * lisp/filenotify.el (file-notify--rm-descriptor): New defun.
12739         (file-notify-rm-watch): Use it.
12740         (file-notify-callback): Implement `stopped' event.
12741         (file-notify-add-watch): Mention `stopped' in the docstring.
12742         Check, that upper directory exists.
12744         * test/automated/file-notify-tests.el (file-notify-test01-add-watch):
12745         Add two test cases.
12746         (file-notify-test02-events): Handle also `stopped' event.
12747         (file-notify-test04-file-validity): Add another test case.
12749 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
12751         Revert commit that broke 'make bootstrap'
12753         * lisp/custom.el (custom-declare-variable): Revert commit
12754         79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
12755         even when pcase has not been defined yet, when doing bootstrapping.
12757 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
12759         Port recent inline functions fix to Standard C
12761         * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove.
12762         All uses rewritten to define the function directly rather than to
12763         use a macro to define the function.  This conforms to Standard C,
12764         which does not allow stray semicolons at the top level.  I hope it
12765         also avoids the problems with TAGS.  Those macros, though clever,
12766         were pretty confusing anyway, and it wasn’t clear they were worth
12767         the aggravation even without the TAGS problem.
12769 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
12771         * lisp/isearch.el: Make character-fold search the default again.
12773 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
12775         * lisp/character-fold.el: Many improvements.
12776         (character-fold-search-forward, character-fold-search-backward):
12777         New command.
12778         (character-fold-to-regexp): Remove lax-whitespace hack.
12779         (character-fold-search): Remove variable.  Only isearch and
12780         query-replace use char-folding, and they both have their own
12781         variables to configure that.
12783 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
12785         * lisp/isearch.el: Generalize definition of regexp-function toggles.
12786         (isearch-specify-regexp-function): New macro for specifying
12787         possible values of `isearch-regexp-function'.
12788         (isearch-toggle-character-fold, isearch-toggle-symbol)
12789         (isearch-toggle-word): Define with `isearch-specify-regexp-function'.
12791 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
12793         * lisp/isearch.el (search-default-regexp-mode): New variable.
12794         (isearch-mode): Use it.
12796 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
12798         * lisp/isearch.el (search-exit-option, search-slow-window-lines)
12799         (search-slow-speed, search-upper-case)
12800         (search-nonincremental-instead, search-whitespace-regexp)
12801         (search-invisible, isearch-hide-immediately)
12802         (isearch-resume-in-command-history, search-ring-max)
12803         (regexp-search-ring-max, search-ring-update, search-highlight)
12804         (isearch-fail): Delete :group entries.
12806 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
12808         * lisp/custom.el (custom-declare-variable): Shorten code a bit.
12810 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
12812         addpm.c: Silence some warnings.
12814         * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction
12815         to LPBYTE.
12816         (add_registry): Pass NULL to optional lpClass argument of
12817         RegCreateKeyEx, not an empty string.
12819 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
12821         addpm.c: Do not add obsolete GTK libraries to the path.
12823         * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete.
12824         (add_registry): Remove variables `size' and `gtk_key'.
12825         Do not add the GTK DLL directory to the library search path; it is
12826         confusing behavior (in particular, the same Emacs version with and
12827         without invoking addpm will use a different path), and the GTK image
12828         libraries are obsolete anyway.
12830 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
12832         addpm.c: Replace existing registry entries, but do not create new ones
12834         * nt/addpm.c (add_registry): If the Emacs registry key exists, replace
12835         existing values from previous versions, but do not add new ones; the
12836         key could exist for other reasons unrelated to old Emacsen, like X-style
12837         resources, or to set some environment variables like HOME or LANG, and
12838         in that case we don't want to populate it with obsolete values.
12840 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
12842         * nt/addpm.c (add_registry): Do not compute unused return value.
12844 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
12846         addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx
12848         * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of
12849         RegOpenKeyEx, not REG_OPTION_NON_VOLATILE.  This doesn't change
12850         current behavior because REG_OPTION_NON_VOLATILE is defined to
12851         be 0L anyway, but that option is actually documented only for
12852         RegCreateKeyEx.
12854 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
12856         * src/w32notify.c (Fw32notify_add_watch): Fix version check.
12858 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
12860         Update frame title when redisplay scrolls selected window
12862         * src/xdisp.c (redisplay_window): Reconsider the frame's title
12863         when the mode-line of the frame's selected window needs to be
12864         updated.
12866 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
12868         Update frame title when scrolling the selected window
12870         * src/window.c (wset_update_mode_line): New function, sets either
12871         the window's update_mode_line flag or the global update_mode_lines
12872         variable.
12873         (Fset_window_start, set_window_buffer, window_scroll_pixel_based)
12874         (window_scroll_line_based): Call it instead of only setting the
12875         window's update_mode_line flag.
12877 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
12879         An even better fix for bug#21739
12881         * src/window.c (set_window_buffer): If the window is the frame's
12882         selected window, set update_mode_lines, not the window's
12883         update_mode_line flag.
12884         * src/buffer.c (Fkill_buffer): Undo last change.
12885         (set_update_modelines_for_buf): Function deleted.
12887 2015-10-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12888             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
12890         Sync with soap-client repository, version 3.0.0
12892         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
12893         Bump version to 3.0.0.
12895         * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch.
12897         * lisp/net/soap-client.el: Merge in changes from Emacs master branch.
12899         * lisp/net/soap-inspect.el: Shorten first line description.
12901         * lisp/net/soap-client.el: Make a small whitespace fix.
12903         * lisp/net/soap-inspect.el: Update copyright years.
12905         * lisp/net/soap-client.el (soap-encoded-namespaces): Move above
12906         first use in soap-encode-xs-element.
12908         * lisp/net/soap-client.el (soap-type-is-array?): new defun
12909         (soap-encode-xs-element): handle array elements in this function
12910         (soap-encode-xs-complex-type): flag error if asked to encode an
12911         array type, this is handled in `soap-encode-xs-element'
12913         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group):
12914         Do not print type for attribute group.
12916         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group)
12917         New function.
12918         (soap-inspect-xs-attribute-group): Likewise.
12920         * lisp/net/soap-inspect.el
12921         (soap-resolve-references-for-xs-attribute-group): Resolve
12922         references of attributes in an attribute group.
12924         * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute
12925         type directly, not through soap-wsdl-get.
12927         * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference
12928         nil if reference attribute is nil.
12930         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
12931         Convert XML schema attributes to xsd:string.
12933         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute):
12934         New function.
12935         (soap-sample-value-for-xs-simple-type): Prepend attributes to result.
12936         (soap-sample-value-for-xs-complex-type): Likewise.
12937         (soap-inspect-xs-attribute): New function.
12938         (soap-inspect-xs-simple-type): Print attributes.
12939         (soap-inspect-xs-complex-type): Likewise.
12941         * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type):
12942         Resolve references for attributes.
12943         (soap-resolve-references-for-xs-complex-type): Likewise.
12945         * lisp/net/soap-client.el (soap-xml-node-find-matching-child):
12946         Rename from soap-xml-node-first-child.
12947         (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child.
12948         (soap-xs-parse-simple-type): Likewise.
12950         * lisp/net/soap-client.el (soap-invoke-async): Add error checking.
12952         * lisp/net/soap-client.el (soap-invoke-internal): New function.
12953         (soap-invoke-async): Call soap-invoke-internal.
12954         (soap-invoke): Likewise.
12956         * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to
12957         url-retrieve callback is killed.
12959         * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node):
12960         Rename function.
12961         (soap-parse-wsdl-phase-fetch-imports): Likewise.
12962         (soap-parse-wsdl-phase-parse-schema): Likewise.
12963         (soap-parse-wsdl-phase-fetch-schema): Likewise.
12964         (soap-parse-wsdl-phase-finish-parsing): Likewise.
12965         (soap-parse-wsdl): Update calls.
12967         * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation.
12969         * lisp/net/soap-client.el (soap-invoke-async): New function.
12970         (soap-invoke): Reimplement using soap-invoke-async.
12972         * lisp/net/soap-client.el (soap-parse-server-response):
12973         Improve docstring.
12974         (soap-invoke): Inline call to soap-parse-server-response.
12976         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
12977         Prevent incorrect warning.
12979         * lisp/net/soap-client.el (soap-parse-server-response):
12980         Rename soap-process-url-response.  Destroy the mime part.
12981         (soap-invoke): Call soap-parse-server-response.
12983         * lisp/net/soap-client.el: Update copyright date.
12985         * lisp/net/soap-client.el: Fix checkdoc issues.
12987         * lisp/net/soap-client.el: Fix indentation and long lines.
12989         * lisp/net/soap-client.el (soap-time-format): Remove variable.
12990         (soap-encode-xs-basic-type): Simplify date-time format detection.
12991         (soap-decode-xs-basic-type): Remove soap-time-format support.
12993         * lisp/net/soap-client.el (soap-process-url-response): New function.
12994         (soap-fetch-xml-from-url): Call soap-process-url-response.
12995         (soap-parse-wsdl-phase-1): New function.
12996         (soap-parse-wsdl-phase-2): Likewise.
12997         (soap-parse-wsdl-phase-3): Likewise.
12998         (soap-parse-wsdl-phase-4): Likewise.
12999         (soap-parse-wsdl-phase-5): Likewise.
13000         (soap-parse-wsdl): Call phase functions.
13002         * lisp/net/soap-client.el (soap-decode-xs-basic-type):
13003         Remove one-argument and call.
13005         * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring.
13007         * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable.
13008         (soap-parse-schema): Add wsdl argument.  Look up XML schema
13009         imports from wsdl.
13010         (soap-load-wsdl): Do not set soap-xmlschema-imports.
13011         (soap-parse-wsdl): Get XML schema imports from wsdl.
13013         * lisp/net/soap-client.el (soap-current-file): Remove variable.
13014         (soap-wsdl): Add current-file slot.
13015         (soap-fetch-xml-from-url): Add wsdl argument.  Look up current
13016         file from wsdl.
13017         (soap-fetch-xml-from-file): Likewise.
13018         (soap-fetch-xml): Likewise.
13019         (soap-load-wsdl): Always create wsdl object first.
13020         (soap-parse-wsdl): Pass wsdl to soap-fetch-xml.
13022         * lisp/net/soap-client.el (soap-xs-element): Add is-group slot.
13023         (soap-xs-parse-element): Set is-group slot.
13024         (soap-resolve-references-for-xs-element): Skip is-group elements.
13025         (soap-xs-complex-type): Add is-group slot.
13026         (soap-xs-parse-complex-type): Set is-group slot.
13027         (soap-xs-parse-sequence): Parse xsd:group elements.
13028         (soap-resolve-references-for-xs-complex-type): Inline elements
13029         from referenced xsd:group nodes.
13030         (soap-parse-schema): Parse xsd:group nodes.
13032         * lisp/net/soap-client.el (soap-invoke):
13033         Don't set url-http-version to 1.0.
13035         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
13036         Allow choice nodes to accept multiple values.
13038         * lisp/net/soap-client.el (soap-encode-body): Check parameters argument
13039         for extra header values.
13041         * lisp/net/soap-client.el (soap-well-known-xmlns):
13042         Add wsa and wsaw tags.
13043         (soap-operation): Add input-action and output-action slots.
13044         (soap-parse-operation): Parse wsaw:Action nodes.
13045         (soap-encode-body): Encode service-url for WS-Addressing.
13046         (soap-create-envelope): Likewise.
13047         (soap-invoke): Update soap-create-envelope call to provide
13048         service-url argument.
13050         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
13051         Support xsi:type override attribute.
13052         (soap-decode-array): Likewise.
13054         * lisp/net/soap-client.el (soap-parse-schema):
13055         Handle location attribute.
13057         * lisp/net/soap-client.el (soap-decode-type): Check that multiRef
13058         matched validation regexp.
13060         * lisp/net/soap-client.el (soap-encode-xs-simple-type):
13061         Encode xsd:list nodes.
13062         (soap-decode-xs-simple-type): Decode xsd:list nodes.
13064         * lisp/net/soap-client.el (soap-get-candidate-elements):
13065         Fix reference handling.
13067         * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot.
13068         (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes.
13069         (soap-xs-add-list): New function.
13071         * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is
13072         expected, interpret nil as "false".
13074         * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth,
13075         gYear, gMonthDay, gDay and gMonth.
13077         * lisp/net/soap-client.el (soap-time-format): New variable.
13078         (soap-encode-xs-basic-type): Handle dateTime, time, date,
13079         gYearMonth, gYear, gMonthDay, gDay and gMonth.
13080         (soap-decode-date-time): New function.
13081         (soap-decode-xs-basic-type): Use soap-decode-date-time.
13083         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value
13084         after encoding.
13085         (soap-decode-xs-basic-type): Validate value before decoding.
13087         * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function.
13088         (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type.
13090         * lisp/net/soap-client.el (soap-xs-add-union): Append result to base
13091         instead of overwriting it.
13092         (soap-validate-xs-simple-type): Add union support.
13094         * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern
13095         to Emacs regexp using xsdre-translate.
13096         (soap-validate-xs-simple-type): Validate value against pattern.
13098         * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of
13099         inline simpleType nodes.
13100         (soap-decode-type): Handle union types.
13102         * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type
13103         attributes.
13105         * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename
13106         from soap-xs-attribute-group-consolidate, all callers updated
13107         (soap-get-xs-attributes): Rename from
13108         soap-xs-attributes-consolidate, all callers updated
13110         * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot.
13111         (soap-xs-attribute-group): New type.
13112         (soap-xs-parse-attribute-group): New function.
13113         (soap-resolve-references-for-xs-attribute-group): Likewise.
13114         (soap-xs-add-extension): Handle attribute groups.
13115         (soap-resolve-references-for-xs-simple-type): Likewise.
13116         (soap-xs-parse-complex-type): Likewise.
13117         (soap-xs-parse-extension-or-restriction): Likewise.
13118         (soap-resolve-references-for-xs-complex-type): Likewise.
13119         (soap-xs-attribute-group-consolidate): New function.
13120         (soap-xs-attributes-consolidate): Handle attribute groups.
13121         (soap-parse-schema): Likewise.
13123         * lisp/net/soap-client.el (soap-encode-xs-basic-type):
13124         Fix boolean encoding.
13126         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref
13127         element names in warnings.
13129         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing.
13131         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
13132         Eliminate invalid warnings for choice types.
13134         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
13135         Also encode base type attributes.
13137         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation
13138         warning.  Print e-name in warnings, or element if e-name is nil.
13140         * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot.
13141         (soap-xs-parse-element): Set substitution-group.
13142         (soap-resolve-references-for-xs-element): Populate alternatives slot.
13143         (soap-get-candidate-elements): New function.
13144         (soap-encode-xs-complex-type): Iterate through all candidate elements.
13145         Handle types with nil type indicator.  Fix warning logic.
13147         * lisp/net/soap-client.el (soap-current-wsdl): Move declaration
13148         earlier in the file to prevent compiler warning.
13150         * lisp/net/soap-client.el (soap-node-optional): New function.
13151         (soap-node-multiple): Likewise.
13152         (soap-xs-parse-element): Call soap-node-optional and
13153         soap-node-multiple.
13154         (soap-xs-complex-type): Add optional? and multiple? slots.
13155         (soap-xml-get-children-fq): New function.
13156         (soap-xs-element-get-fq-name): Likewise.
13157         (soap-xs-complex-type-optional-p): Likewise.
13158         (soap-xs-complex-type-multiple-p): Likewise.
13159         (soap-xs-attributes-consolidate): Likewise.
13160         (soap-decode-xs-attributes): Likewise.
13161         (soap-decode-xs-complex-type): Decode types with nil type indicator.
13162         Support children that use local namespaces.  Decode attributes.
13163         Add type considerations to optional? and multiple? warnings.
13165         * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction):
13166         Store parsed attributes.
13167         (soap-encode-xs-complex-type-attributes): Encode custom attributes.
13169         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
13170         Don't add the xsi:type attribute (Exchange refuses requests which have
13171         this attribute).
13173         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Convert to lexical binding,
13174         correct compiler warnings about unused function arguments and
13175         local variables.
13177         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil
13178         type indicator.
13179         (soap-parse-envelope): Handle response headers.
13180         (soap-parse-response): Likewise.  Only return non-nil decoded values.
13182         * lisp/net/soap-client.el (soap-validate-xs-simple-type):
13183         Return validated value.
13185         * lisp/net/soap-client.el (soap-xs-parse-element)
13186         (soap-xs-parse-simple-type)
13187         (soap-xs-parse-complex-type)
13188         (soap-parse-message)
13189         (soap-parse-operation): Add the current namespace to the element
13190         being created.
13191         (soap-resolve-references-for-xs-element)
13192         (soap-resolve-references-for-xs-simple-type)
13193         (soap-resolve-references-for-xs-complex-type)
13194         (soap-resolve-references-for-operation): Resolve the namespace to
13195         the namespace tag.
13196         (soap-make-wsdl): specify a namespace tag when creating the xsd
13197         and soapenc namespaces
13198         (soap-wsdl-resolve-references): don't update namespace tags in
13199         elements here
13200         (soap-parse-port-type): bind the urn: to soap-target-xmlns
13201         (soap-encode-body): don't add nil namespace tags to
13202         soap-encoded-namespaces
13204         * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object
13205         for registering the soap-inspect method.  Make debbugs tests pass.
13206         * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the
13207         type name, also skip string only nodes when decoding a structure.
13208         (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice
13209         types too.
13210         (soap-encode-body): Grab the header value from the param table.
13212         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
13213         New function.
13214         (soap-encode-xs-element): Don't encode nil value unless needed.
13216         * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`.
13217         (soap-parse-binding): Parse the message parts required in the body.
13218         (soap-encode-body): Encode only the parts that are declared to be
13219         part of the body.
13221         * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name
13222         when writing out the tag.
13223         (soap-encode-body): Remove hack that inserts the xmlns in the
13224         element attributes list.
13226         * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot.
13227         (soap-xs-parse-attribute): Default slot is set from the XML
13228         "fixed" attribute.
13229         (soap-encode-xs-complex-type-attributes): Encode any attributes
13230         that have a default value.  Also, don't put the xsi:nil attribute
13231         when the complex type has no content anyway.
13233         * lisp/net/soap-client.el (soap-well-known-xmlns):
13234         Add the xml namespace.
13235         (soap-local-xmlns): Start with the xml namespace.
13236         (soap-xml-node-first-child): Skip xsd:annotation nodes too.
13237         (soap-make-xs-basic-types): More xsd types added.
13238         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
13239         Handle "language", "time", "date", "nonNegativeInteger".
13240         (soap-resolve-references-for-xs-element): Don't signal an error if
13241         the element does not have a type.
13242         (soap-xs-parse-simple-type): Subtypes are handled with ecase,
13243         added stum for xsd:list.
13244         (soap-xs-add-union): Call soap-l2fq on all union members.
13245         (soap-xs-add-extension): Call soap-l2fq on the base member.
13246         (soap-resolve-references-for-xs-simple-type): Don't signal an
13247         error if the simple type has no base.
13248         (soap-resolve-references-for-xs-simple-type): Bugfix, call
13249         soap-wsdl-get on each type of the base.
13251         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
13252         Referenced type can be eiher a simple type or a basic type.
13253         (soap-xs-add-restriction)
13254         (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base.
13255         (soap-make-xs-basic-types)
13256         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
13257         Add support for more XMLSchema basic types.
13258         (soap-current-file, soap-xmlschema-imports): New defvars.
13259         (soap-parse-schema): Add locations from xsd:import tags to
13260         `soap-xmlschema-imports'.
13261         (soap-wsdl): Make destructor private.
13262         (soap-make-wsdl): New defun, SOAP-WSDL object constructor.
13263         (soap-wsdl-add-alias): Check if we try to replace aliases.
13264         (soap-fetch-xml-from-url, soap-fetch-xml-from-file)
13265         (soap-fetch-xml): New defuns.
13266         (soap-load-wsdl): Update to load the WSDL from either a file or
13267         an url.
13268         (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'.
13269         (soap-parse-wsdl): Process wsdl:import tags and imports from
13270         `soap-xmlschema-imports'.
13271         * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of
13272         symbol-name.
13273         (soap-l2fq): Make the name part always a string.
13274         (soap-name-p): New defun, used for name tests.
13276         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type):
13277         Supply sample values for choice types with a special tag.
13278         * lisp/net/soap-client.el (soap-encode-xs-complex-type):
13279         Handle anonymous elements correctly.
13280         (soap-encode-value): Accept nodes that have no namespace tag.
13282         * lisp/net/soap-client.el (soap-invoke): Encode the string for
13283         `url-request-data' as UTF-8.  Fixes issue 16.
13285 2015-10-24  Nicolas Petton  <nicolas@petton.fr>
13287         Update the new icon
13289         Move the E slightly to the right in the circle.
13291         * etc/images/icons/hicolor/128x128/apps/emacs.png:
13292         * etc/images/icons/hicolor/16x16/apps/emacs.png:
13293         * etc/images/icons/hicolor/24x24/apps/emacs.png:
13294         * etc/images/icons/hicolor/32x32/apps/emacs.png:
13295         * etc/images/icons/hicolor/48x48/apps/emacs.png:
13296         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
13297         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
13298         * nt/icons/emacs.ico: New icom update.
13300 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
13302         Avoid missing inline functions from lisp.h in TAGS
13304         * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
13305         need to end each invocation with a semi-colon.
13306         Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
13307         and LISP_MACRO_DEFUN_VOID.  This is to avoid missing in TAGS
13308         inline functions defined immediately after each invocation, and
13309         also avoid tagging every invocation of these macros.
13311 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
13313         A better fix for bug#21739
13315         * src/buffer.c (set_update_modelines_for_buf): New function.
13316         (Fkill_buffer): Use it to set the global variable
13317         update_mode_lines if the killed buffer was displayed in some
13318         window.  Don't set windows_or_buffers_changed.  This is a better
13319         fix for bug#21739 than the previous fix, since it will cause only
13320         redisplay of mode lines, not of entire windows, but will still
13321         catch attention of x_consider_frame_title in xdisp.c, which
13322         redraws the frame title.
13324 2015-10-24  Tassilo Horn  <tsdh@gnu.org>
13326         * lisp/dired-aux.el (dired-compress-files-alist): Add support for
13327         tar.bz2 and tar.xz archives.
13329 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
13331         Fix infloop in redisplay introduced by a recent change
13333         * src/xdisp.c (redisplay_internal): Avoid inflooping when
13334         redisplaying the selected window sets the selected frame's
13335         redisplay flag.  (Bug#21745)
13337 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
13339         * lisp/emacs-lisp/thunk.el: Better documentation.
13341 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
13343         Replace the old icon for Windows and Mac OSX
13345         * nt/icons/emacs.ico:
13346         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
13347         Use the new icons.
13349 2015-10-23  Stephen Leake  <stephen_leake@stephe-leake.org>
13351         * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
13352         `load-path' should contain only directory names.
13354 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
13356         New library thunk.el
13358         thunk.el is extracted from stream.el in ELPA, with additional tests.
13360         * lisp/emacs-lisp/thunk.el: New file.
13361         * test/automated/thunk-tests.el: New file.
13362         * etc/NEWS: Add information about thunk.el
13364 2015-10-23  Michael Albinus  <michael.albinus@gmx.de>
13366         Fix bug#21669
13368         * lisp/filenotify.el (file-notify-rm-watch): Improve check for
13369         calling low-level functions.
13371         * test/automated/file-notify-tests.el (file-notify--test-timeout):
13372         Decrase to 6 seconds for remote directories.
13373         (file-notify-test02-events): Expect different number of
13374         `attribute-changed' events for the local and remote cases.  Apply
13375         short delays between the operations, in order to receive all
13376         events in the remote case.  Combine `attribute-change' tests.
13377         (Bug#21669)
13379 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
13381         Decode the HTML source when displaying it in EWW
13383         * lisp/net/eww.el (eww-view-source): Decode the HTML source
13384         according to its headers.
13386 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
13388         New default icon
13390         * etc/images/icons/hicolor/128x128/apps/emacs23.png:
13391         * etc/images/icons/hicolor/16x16/apps/emacs23.png:
13392         * etc/images/icons/hicolor/24x24/apps/emacs23.png:
13393         * etc/images/icons/hicolor/32x32/apps/emacs23.png:
13394         * etc/images/icons/hicolor/48x48/apps/emacs23.png:
13395         * etc/images/icons/hicolor/scalable/apps/emacs23.svg:
13396         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg:
13397         Move the old logo files to emacs23.*.
13398         * etc/images/icons/hicolor/128x128/apps/emacs.png:
13399         * etc/images/icons/hicolor/16x16/apps/emacs.png:
13400         * etc/images/icons/hicolor/24x24/apps/emacs.png:
13401         * etc/images/icons/hicolor/32x32/apps/emacs.png:
13402         * etc/images/icons/hicolor/48x48/apps/emacs.png:
13403         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
13404         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
13405         New files.
13406         * etc/images/icons/README: Update the copyright information.
13408 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
13410         Fix redisplay of frame title when current buffer is killed
13412         * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a
13413         non-zero value, to redisplay more than just the affected windows.
13414         (Bug#21739)
13416 2015-10-23  Anders Lindgren  <andlind@gmail.com>
13418         NextStep maximization and NSTRACE rewrite
13420         Full-height, full-width, and maximized windows now cover the
13421         entire screen (except the menu bar), including the part where the
13422         system dock is placed.  The system zoom animation is no longer
13423         used.
13425         Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
13426         original size.
13428         * src/nsterm.m (ns_menu_bar_height): New function, return height of
13429         the menu bar, or 0 when it's hidden.
13430         (constrain_frame_rect): New function for constraining a frame.
13431         (ns_constrain_all_frames): Set frame size explicitly rather than
13432         relying on the system doing it for us by writing back the current
13433         frame size.
13434         (windowWillUseStandardFrame): Register non-maximized width or
13435         height as new user size.  When entering full width or height,
13436         the other size component is taken from the user size.
13437         (fullscreenState): New method for accessing the fullscreen state.
13438         (constrainFrameRect): Restrict frame to be placed under the menu bar,
13439         if present.  The old version, sometimes, restricted the height of a
13440         frame to the screen, this version never does this.
13441         (zoom): Perform zoom by setting the frame to the full size of the
13442         screen (minus the menu bar).  The default system function, with the
13443         zoom animation, is no longer used, as the final frame size doesn't
13444         cover the entire screen.
13446         Rework how to constrain resizing to the character grid.  The old
13447         system used "resizeIncrements" in NSWindows.  However, once a frame
13448         was resized so that it was not aligned to the text grid, it
13449         remained unaligned even after a resize.  In addition, it conflicted
13450         when resizing a fullheight window.
13452         * src/nsterm.m (windowWillResize): Restrict frame size to text grid,
13453         unless when pixelwise frame resizing is enabled.
13454         (updateFrameSize, initFrameFromEmacs)
13455         (toggleFullScreen, handleFS): Don't set resizeIncrements.
13457         Redesign the NS trace system.  The call structure is represented
13458         using indentations and vertical lines.  The NSTRACE macro accepts
13459         printf-style arguments.  New macros for printing various
13460         information.
13462         * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
13463         (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new
13464         block (typically a function), accept printf-style arguments.
13465         (NSTRACE_MSG): Macro for extra information, accepts
13466         printf-style arguments.
13467         (NSTRACE_what): Macros for printing various types.
13468         (NSTRACE_FMT_what): Macro with printf format string snippets.
13469         (NSTRACE_ARG_what): Macros for passing printf-style arguments,
13470         corresponds to NSTRACE_FMT_what.
13471         (NSTRACE_RETURN): Macro to print return value, accept
13472         printf-style arguments.
13473         (NSTRACE_RETURN_what): Macros to print return value for
13474         various types.
13476         * src/nsterm.m: Remove old NSTRACE macro
13477         * src/nsterm.m (nstrace_num): Trace counter.
13478         (nstrace_depth): Current call depth.
13479         (nstrace_leave): NSTRACE support function, called when the
13480         local variable "nstrace_enabled" goes out of scope using the
13481         "cleanup" extension.
13482         (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function.
13483         (constrain_frame_rect, ns_constrain_all_frames)
13484         (ns_update_auto_hide_menu_bar, ns_update_begin)
13485         (ns_update_window_begin, update_window_end, ns_update_end)
13486         (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
13487         (ns_frame_rehighlight, x_make_frame_visible)
13488         (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
13489         (x_destroy_window, x_set_offset, x_set_window_size)
13490         (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
13491         (ns_defined_color, frame_set_mouse_pixel_position)
13492         (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
13493         (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
13494         (ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
13495         (ns_after_update_window_line, ns_shift_glyphs_for_insert)
13496         (dumpcursor, ns_draw_vertical_window_border)
13497         (ns_draw_window_divider, ns_draw_relief)
13498         (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
13499         (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
13500         (ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
13501         (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
13502         (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
13503         (ns_create_terminal, ns_term_init, sendEvent)
13504         (applicationDidFinishLaunching, applicationDidBecomeActive)
13505         (timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
13506         (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
13507         (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
13508         (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
13509         (mouse_autoselect_window, in_window, mouseDragged)
13510         (rightMouseDragged, otherMouseDragged, windowShouldClose)
13511         (updateFrameSize, windowWillResize, windowDidResize)
13512         (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
13513         (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
13514         (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
13515         (windowDidEnterFullScreen, windowWillExitFullScreen)
13516         (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
13517         (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
13518         (draggingEntered, performDragOperation, validRequestorForSendType)
13519         (setMiniwindowImage, constrainFrameRect, performZoom, zoom)
13520         (EmacsScroller_initFrame, EmacsScroller_setFrame)
13521         (EmacsScroller_dealloc, condemn, reprieve, judge)
13522         (resetCursorRects, setPosition, EmacsScroller_mouseDown)
13523         (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
13525         * src/nsfns.m: Remove old NSTRACE macro
13526         * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
13527         (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
13528         (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
13530         * src/nsimage.m: Remove old NSTRACE macro
13531         * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
13532         (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
13534         * src/nsmenu.m: Remove old NSTRACE macro
13535         * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
13536         Use new trace system.
13538 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
13540         No need to use eval-and-compile
13542         * lisp/gnus/auth-source.el: Do require epg (when compiling) before
13543         autoload epg functions.
13545 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
13547         Fix auth-source-epa-make-gpg-token compilation (bug#21724)
13549         * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for
13550         epg-context-set-passphrase-callback, epg-decrypt-string, and
13551         epg-encrypt-string; require epg when compiling for the setf-method
13552         for epg-context-armor. (bug#21724)
13554 2015-10-22  Eli Zaretskii  <eliz@gnu.org>
13556         Include file cleanup for w32 files in src directory
13558         * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h,
13559         fontset.h, blockinput.h.
13560         * src/w32uniscribe.c: Don't include dispextern.h, character.h,
13561         charset.h, fontset.h.
13562         * src/w32term.c: Don't include systty.h, systime.h, charset.h,
13563         character.h, ccl.h, dispextern.h, disptab.h, intervals.h,
13564         process.h, atimer.h, keymap.h, w32heap.h.  Include bitmap/gray.xbm
13565         in an ifdef-ed away block.
13566         Include fcntl.h for CYGWIN.
13567         (set_frame_param): Remove unused function.
13568         * src/w32select.c: Don't include charset.h and composite.h.
13569         (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings
13570         due to pointer signedness mismatches.
13571         * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings
13572         due to pointer signedness mismatches.
13573         * src/w32proc.c: Include unistd.h.  Don't include systime.h,
13574         process.h, dispextern.h.
13575         (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name)
13576         (Fw32_application_type): Avoid compiler warnings due to pointer
13577         signedness mismatches.
13578         * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h,
13579         character.h, charset.h, dispextern.h.
13580         (simple_dialog_show, add_menu_item): Avoid compiler warnings due
13581         to pointer signedness mismatches.
13582         * src/w32inevt.c: Don't include dispextern.h, window.h,
13583         termhooks.h, w32heap.h.
13584         * src/w32font.c: Don't include dispextern.h, character.h,
13585         charset.h, fontset.h, font.h.
13586         (intern_font_name, add_font_entity_to_list)
13587         (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont)
13588         (list_all_matching_fonts): Avoid compiler warnings due to pointer
13589         signedness mismatches.
13590         * src/w32fns.c: Don't include character.h, intervals.h,
13591         dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h,
13592         termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h.
13593         (w32_color_map_lookup, add_system_logical_colors_to_map)
13594         (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p)
13595         (Fxw_color_values, x_display_info_for_name, Fset_message_beep)
13596         (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash)
13597         (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid
13598         compiler warnings, mainly due to pointer signedness mismatches.
13599         (unwind_create_frame_1): Remove unused function.
13600         * src/w32console.c: Don't include character.h, disptab.h, frame.h,
13601         window.h, termhooks.h, dispextern.h.
13602         (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer
13603         signedness mismatch.
13604         * src/w32.c: Include c-strcase.h and systty.h.  Don't include
13605         w32heap.h.
13607 2015-10-22  Tassilo Horn  <tsdh@gnu.org>
13609         Improve doc-view wrt. auto-revert-mode
13611         * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file
13612         is corrupted (bug#21729).
13613         (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function.
13615 2015-10-22  Oleh Krehel  <ohwoeowho@gmail.com>
13617         Describe dired-do-compress-to in the manual
13619         * etc/NEWS: Update.
13621         * lisp/dired-aux.el: Fix typo.
13623         * doc/emacs/dired.texi: Add entry.
13625 2015-10-22  Jürgen Hötzel  <juergen@archlinux.org>
13627         Further fix for proper locale handling in tramp-gvfs.el
13629         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
13630         Just suppress LC_MESSAGES locale category settings.
13632 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13634         New lispref section “Security Considerations”
13636         This attempts to document some of the issues recently discussed
13637         on emacs-devel, and to indicate other such issues.  The section
13638         could be a lot longer.
13639         * doc/lispref/os.texi (Security Considerations):
13640         New node.
13641         * doc/lispref/elisp.texi (Top):
13642         * doc/lispref/processes.texi (Shell Arguments):
13643         * lisp/subr.el (shell-quote-argument):
13644         * src/callproc.c (syms_of_callproc):
13645         Reference it.
13647 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13649         Merge from gnulib
13651         This incorporates:
13652         2015-10-18 stdalign: work around pre-4.9 GCC x86 bug
13653         2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
13654         * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c:
13655         Copy from gnulib.
13657 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
13659         * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks.
13660         (mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.
13662 2015-10-21  Ken Brown  <kbrown@cornell.edu>
13664         Further include-file cleanup
13666         * src/sheap.c: Include stdlib.h.
13667         * src/unexcw.c: Include string.h.
13669 2015-10-21  Eli Zaretskii  <eliz@gnu.org>
13671         Fix logic in 'server-kill-emacs-query-function'
13673         * lisp/server.el (server-kill-emacs-query-function): Correct the
13674         logic that controls whether the user is asked for confirmation.
13675         (Bug#21723)
13677 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
13679         * lisp/isearch.el (isearch-search-fun-default): Simplify logic.
13680         (isearch--lax-regexp-function-p): New function.
13682 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
13684         * lisp/isearch.el: Support lax-whitespace in regexp-function searches.
13685         (isearch-search-fun-default): Let-bind `search-spaces-regexp'
13686         around `isearch-regexp-function'.
13688 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
13690         * lisp/isearch.el: Rename word search to regexp-function search.
13691         `isearch-word' went well beyond its original purpose, and the name
13692         no longer makes sense.  It is now called
13693         `isearch-regexp-function', and its value should always be a function
13694         that converts a string to a regexp (though setting it to t is still
13695         supported for now).
13696         (isearch-word): Make obsolete.
13697         (isearch-regexp-function): New variable.
13698         (isearch-mode, isearch-done, isearch--state, isearch--set-state)
13699         (with-isearch-suspended, isearch-toggle-regexp)
13700         (isearch-toggle-word, isearch-toggle-symbol)
13701         (isearch-toggle-character-fold, isearch-query-replace)
13702         (isearch-occur, isearch-highlight-regexp)
13703         (isearch-search-and-update, isearch-message-prefix)
13704         (isearch-search-fun-default, isearch-search)
13705         (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
13706         Use it.
13707         (isearch-lazy-highlight-regexp-function): New var.
13708         (isearch-lazy-highlight-word): Make obsolete.
13709         (isearch--describe-regexp-mode): New function.
13710         (isearch--describe-word-mode): Make obsolete.
13712         * lisp/info.el (Info-isearch-search):
13713         * lisp/replace.el (replace-search, replace-highlight):
13714         * lisp/obsolete/longlines.el (longlines-search-function):
13715         * lisp/hexl.el (hexl-isearch-search-function):
13716         * lisp/cedet/semantic/senator.el (senator-isearch-search-fun):
13717         Use the new var.
13719 2015-10-21  Oleh Krehel  <ohwoeowho@gmail.com>
13721         Add dired-do-compress-to command bound to "c"
13723         * lisp/dired-aux.el (dired-shell-command): Use the caller's
13724           `default-directory', return the result of `process-file'.
13725         (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
13726         used by default.
13727         (dired-compress-files-alist): New defvar.
13728         (dired-do-compress-to): New command.
13730         * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
13731         (dired-do-compress-to): Add an autoload entry.
13733         * etc/NEWS: Add two entries.
13735 2015-10-21  Tassilo Horn  <tsdh@gnu.org>
13737         Make RefTeX work with LaTeX subfiles package
13739         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles
13740         document class argument as master file for referencing purposes.
13742 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
13744         * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.
13746 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
13748         Include-file cleanup for src directory
13750         Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
13751         In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
13752         but does not include it directly.  As a general rule, a source
13753         file should include foo.h if it needs the interfaces that foo.h
13754         defines.
13755         * src/alloc.c: Don’t include process.h.  Include dispextern.h,
13756         systime.h.
13757         * src/atimer.c: Don’t include blockinput.h.
13758         * src/buffer.c: Include coding.h, systime.h.  Don’t include
13759         keyboard.h, coding.h.
13760         * src/callint.c: Don’t include commands.h, keymap.h.
13761         * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
13762         systty.h, termhooks.h.
13763         * src/casetab.c: Don’t include character.h.
13764         * src/category.c: Don’t include charset.h, keymap.h.
13765         * src/ccl.h: Don’t include character.h.
13766         * src/character.c: Don’t include charset.h.
13767         * src/charset.c: Don’t include disptab.h.
13768         * src/chartab.c: Don’t include ccl.h.
13769         * src/cm.c: Don’t include frame.h, termhooks.h.
13770         * src/cmds.c: Don’t include window.h, dispextern.h.
13771         * src/coding.c: Don’t include window.h, frame.h.
13772         * src/composite.c: Include composite.h.  Don’t include window.h,
13773         font.h.
13774         * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
13775         * src/dbusbind.c: Don’t include frame.h.
13776         * src/decompress.c: Don’t include character.h.
13777         * src/dired.c: Don’t include character.h, commands.h, charset.h.
13778         * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
13779         process.h, timespec.h.  Include systime.h.
13780         * src/doc.c: Include coding.h.  Don’t include keyboard.h.
13781         * src/editfns.c: Include composite.h.  Don’t include frame.h.
13782         * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
13783         commands.h, systty.h..
13784         * src/fileio.c: Don’t include intervals.h, dispextern.h.
13785         Include composite.h.
13786         * src/filelock.c: Don’t include character.h, systime.h.
13787         * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
13788         keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
13789         * src/font.c: Include termhooks.h.
13790         * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
13791         struct composition_it, struct face, struct glyph_string.
13792         * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
13793         intervals.h, window.h, termhooks.h.
13794         * src/frame.c: Don’t include character.h, commands.h, font.h.
13795         * src/frame.h: Don’t include dispextern.h.
13796         * src/fringe.c: Don’t include character.h.
13797         * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
13798         character.h, charset.h, fontset.h.
13799         * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
13800         fontset.h.
13801         * src/ftxfont.c: Don’t include dispextern.h, character.h,
13802         charset.h, fontset.h.
13803         * src/gfilenotify.c: Don’t include frame.h, process.h.
13804         * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
13805         Don’t include syssignal.h, buffer.h, charset.h, font.h.
13806         * src/gtkutil.h: Don’t include frame.h.
13807         * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
13808         Don’t include character.h.
13809         * src/indent.c: Don’t include keyboard.h, termchar.h.
13810         * src/inotify.c: Don’t include character.h, frame.h.
13811         * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
13812         * src/intervals.c: Don’t include character.h, keyboard.h.
13813         * src/intervals.h: Don’t include dispextern.h, composite.h.
13814         * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
13815         Include coding.h.
13816         * src/keyboard.h: Don’t incldue systime.h.
13817         * src/keymap.c: Don’t include charset.h, frame.h.
13818         * src/lread.c: Include dispextern.h and systime.h.
13819         Don’t include frame.h.  Include systime.h.
13820         * src/macros.c: Don’t include commands.h, character.h, buffer.h.
13821         * src/menu.c: Include character.h, coding.h.  Don’t include
13822         dispextern.h.
13823         * src/menu.h: Don’t include systime.h.
13824         * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
13825         intervals.h, termhooks.h.
13826         * src/print.c: Include coding.h.  Don’t include keyboard.h,
13827         window.h, dispextern.h, termchar.h, termhooks.h, font.h.
13828         Add forward decl of struct terminal.
13829         * src/process.c: Don’t include termhooks.h, commands.h,
13830         dispextern.h, composite.h.
13831         * src/region-cache.c: Don’t include character.h.
13832         * src/scroll.c: Don’t include keyboard.h, window.h.
13833         * src/search.c: Don’t include category.h, commands.h.
13834         * src/sound.c: Don’t include dispextern.h.
13835         * src/syntax.c: Don’t include command.h, keymap.h.
13836         * src/sysdep.c: Don’t include window.h, dispextern.h.
13837         * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
13838         * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
13839         * src/terminal.c: Include character.h.
13840         Don’t include charset.h, coding.h.
13841         * src/textprop.c: Don’t include character.h.
13842         * src/undo.c: Don’t include character.h, commands.h, window.h.
13843         * src/unexsol.c: Don’t include character.h, charset.h.
13844         * src/widget.c: Include widget.h.  Don’t include keyboard.h,
13845         window.h, dispextern.h, blockinput.h, character.h, font.h.
13846         * src/widgetprv.h: Don’t include widget.h.
13847         * src/window.c: Don’t include character.h, menu.h, intervals.h.
13848         * src/xdisp.c: Include composite.h, systime.h.  Don’t include
13849         macros.h, process.h.
13850         * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
13851         intervals.h.
13852         * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
13853         epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
13854         * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
13855         * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
13856         * src/xgselect.c: Don’t include timespec.h, frame.h.
13857         Include systime.h.
13858         * src/xgselect.h: Don’t include time.h.
13859         Use a forward decl to struct timespec instead.
13860         * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
13861         dispextern.h.  Include systime.h.
13862         * src/xml.c: Don’t include character.h.
13863         * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
13864         * src/xselect.c: Don’t include dispextern.h, character.h,
13865         buffer.h, process.h.
13866         * src/xsmfns.c: Don’t include systime.h, sysselect.h.
13867         * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
13868         intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
13870 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
13872         (/ N) now returns the reciprocal of N
13874         This is more compatible with Common Lisp and XEmacs (Bug#21690).  See:
13875         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
13876         * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
13877         (color-xyz-to-srgb, color-xyz-to-lab):
13878         * lisp/emacs-lisp/cl-extra.el (cl-float-limits):
13879         * lisp/net/shr-color.el (shr-color-hue-to-rgb)
13880         (shr-color-hsl-to-rgb-fractions):
13881         Exploit the change to simplify the code a bit.
13882         * lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
13883         Don’t complain about single-argument calls to ‘/’.
13884         * src/data.c (arith_driver, float_arith_driver):
13885         Implement the change.
13887 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
13889         Call vc-dir-refresh after stash operations
13891         * lisp/vc/vc-git.el (vc-git-stash-apply-at-point)
13892         (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960).
13894         * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well,
13895         since it can be abbreviated (as returned by vc-find-root).
13897 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
13899         * lisp/vc/vc-svn.el:
13900         * lisp/vc/vc-mtn.el:
13901         * lisp/vc/vc-hg.el:
13902         * lisp/vc/vc-cvs.el:
13903         * lisp/vc/vc-git.el:
13904         * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore.
13905         Its usages have been replaced with vc-run-delayed.
13907 2015-10-20  Dima Kogan  <dima@secretsauce.net>
13909         Fix memory leak in fontset handling
13911         * src/font.c (copy_font_spec): Make a deep copy of the input
13912         argument FONT.  (Bug#21651)
13914 2015-10-20  Michael Sperber  <mike@xemacs.org>
13916         * lisp/gnus/mailcap.el (mailcap-mime-data):
13917         Conditonalize `doc-view-mode', which does not exist on XEmacs.
13919 2015-10-20  Oleh Krehel  <ohwoeowho@gmail.com>
13921         Update the way directories are compressed
13923         * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
13924         for *.tar.gz decompression to use a pipe.
13925         Add an entry for the default directory compression (to *.tar.g).
13926         (dired-compress-file): Update.
13928         See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html.
13930 2015-10-20  Michael Sperber  <mike@xemacs.org>
13932         Unbreak `group' option for `mail-sources'
13934         * lisp/gnus/nnml.el (nnml-retrieve-groups, nnml-request-scan):
13935         * lisp/gnus/nnmail.el (nnmail-get-new-mail-per-group)
13936         (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
13938 2015-10-19  Nicolas Petton  <nicolas@petton.fr>
13940         New function seq-position
13942         * lisp/emacs-lisp/seq.el (seq-position): New function.
13943         * test/automated/seq-tests.el: New tests for seq-position.
13944         * doc/lispref/sequences.texi: Add documentation for `seq-position'.
13946 2015-10-19  Ken Brown  <kbrown@cornell.edu>
13948         Enable --with-wide-int build on 32-bit Cygwin
13950         * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86
13951         and x86_64 to enable --with-wide-int build on 32-bit Cygwin.
13953 2015-10-19  Glenn Morris  <rgm@gnu.org>
13955         * doc/emacs/ack.texi (Acknowledgments): Small, sad, update.
13957 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
13959         Resurrect image loading under auto-image-file-mode
13961         * src/image.c (x_find_image_fd): Handle the case of -2 returned by
13962         'openp' specially.  This special case was lost in the changes on
13963         2015-08-18.  (Bug#21685)
13965 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
13967         Fix return value of 'set-file-extended-attributes'
13969         * lisp/files.el (set-file-extended-attributes): Return non-nil
13970         when setting either ACLs or SELinux context succeeds.  Document
13971         the return value.  (Bug#21699)
13973         * doc/lispref/files.texi (Changing Files): Document the return
13974         value of set-file-extended-attributes.
13976 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
13978         Improve documentation of functions that change files
13980         * doc/lispref/files.texi (Changing Files): Document that these
13981         functions signal an error on failure.
13983 2015-10-18  Eli Zaretskii  <eliz@gnu.org>
13985         Fix doc string of 'shell-quote-argument'
13987         * lisp/subr.el (shell-quote-argument): Doc fix.  (Bug#21702)
13989 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
13991         Some minor Tramp changes
13993         * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning.
13995         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
13996         Expand `tramp-auto-save-directory'.
13998 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
14000         Minor edits in Tramp
14002         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp):
14003         Declare it.
14005         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
14006         Remove declaration.
14008 2015-10-17  Mark Oteiza  <mvoteiza@udel.edu>
14010         * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list.
14012 2015-10-17  Eli Zaretskii  <eliz@gnu.org>
14014         Avoid crashes when redisplayng a window changes faces or fonts
14016         * src/xdisp.c (redisplay_internal): If redisplaying the selected
14017         window or one of the frames turns on the frame's 'redisplay' flag,
14018         redisplay again.  (Bug#21428)
14020         * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag.
14022 2015-10-17  Michael Albinus  <michael.albinus@gmx.de>
14024         Solve timimg issues in file-notify-tests.el
14026         * test/automated/file-notify-tests.el (file-notify-test02-events):
14027         Rectify `attribute-change' tests.  There are timing issues with
14028         gfilenotify.  (Bug#21669)
14030 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
14032         Fix quoting of data within htmlfontify doc
14034         * doc/misc/htmlfontify.texi (Data Structures, Customization):
14035         Fix quoting of data structures.  A Lisp quote is needed only
14036         when data appears within Lisp code.
14038 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
14040         * lisp/emacs-lisp/package.el: Reload archive-contents if
14041         priorities change.
14042         (package--old-archive-priorities): New variable.
14043         (package-read-all-archive-contents, package-menu--refresh): Use it
14044         to decide when the `package-archive-contents' needs to be read
14045         again.
14047 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
14049         Make src headers idempotent and standalone
14051         Redo src/*.h so that each include file is idempotent (that is, can
14052         be included multiple times with the latter inclusions having no
14053         effect) and standalone (that is, can be included by itself,
14054         with no include file other than config.h needed as a prerequisite).
14055         This is standard practice in GNU programs nowadays.
14056         * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h:
14057         * src/charset.h, src/coding.h, src/commands.h, src/disptab.h:
14058         * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h:
14059         * src/regex.h [emacs]:
14060         * src/syntax.h, src/systty.h, src/termhooks.h:
14061         Include lisp.h, for Lisp_Object.
14062         * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h:
14063         * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h:
14064         * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h:
14065         * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h:
14066         * src/termopts.h, src/tparam.h, src/unexec.h:
14067         Protect against multiple inclusion.
14068         * src/buffer.h: Include character.h, for STRING_CHAR.
14069         * src/emacsgtkfixed.h (struct frame):
14070         * src/fontset.h (struct face):
14071         * src/region-cache.h (struct buffer):
14072         * src/termhooks.h (struct glyph):
14073         * src/xsettings.h (struct x_display_info):
14074         Add possibly-forward decl.
14075         * src/syntax.h: Include buffer.h, for BVAR.
14076         * src/sysselect.h: Include lisp.h, for eassume.
14077         * src/termchar.h: Include <stdio.h>, for FILE.
14078         * src/widget.h: Include <X11/IntrinsicP.h>, for Widget.
14079         * src/xsettings.h: Include <X11/Xlib.h>, for XEvent.
14081 2015-10-16  Jürgen Hötzel  <juergen@archlinux.org>
14083         Handle symlink targets containing spaces in tramp-gvfs.el
14085         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
14086         Handle symlink targets containing spaces.
14088 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
14090         * lisp/custom.el (custom-theme-load-path): Demote to defvar.
14092         `custom-theme-load-path' was a defcustom, but it shouldn't be for the
14093         same reason that `load-path' shouldn't.  Setting it via the customize
14094         interface is a trap for the user.
14096         Installed themes commonly add themselves to this variable, which means
14097         its value is not fit for being saved (it will permanently remember dirs
14098         that don't exist anymore).
14100         This is aggravated by the fact that Emacs always applies the `user'
14101         theme on top of any theme that's loaded, since this will apply the old
14102         variable value and remove any new directories that had been recently
14103         added by themes themselves.
14105         Not to mention, we already have `custom-theme-directory', which is safe
14106         to customize.
14108 2015-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
14110         * lisp/mpc.el: Rename the new toggling commands.
14111         (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single)
14112         (mpc-toggle-shuffle): Add "-toggle" in the name.
14114 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
14116         Improve the doc string of 'completion-boundaries'
14118         * lisp/minibuffer.el (completion-boundaries): Rename the argument
14119         TABLE to COLLECTION, for consistency with other high-level
14120         completion functions.  Document how COLLECTION is called if it
14121         is a function.  (Bug#21644)
14123 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
14125         * lisp/dired-aux.el (dired-shell-command): Fix compile warning.
14127 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
14129         Make dired-do-compress work for *.zip files
14131         * lisp/dired-aux.el (dired-check-process): Transform the top-level
14132           comment into a docstring.
14133         (dired-shell-command): New command.  This mirrors
14134         `dired-check-process', but is more user-friendly for passing
14135         arguments.
14136         (dired-compress-file-suffixes): Allow to specify the command switches
14137         along with input (%i) and output (%o) inside the PROGRAM part.
14138         Add an entry for *.zip files, and update the entry for *.tar.gz files
14139         to the new style.  Update the docstring.
14140         (dired-compress-file): When PROGRAM matches %i or %o, use the new
14141         logic.
14142         (dired-update-file-line): Avoid an error when at end of buffer.
14144         Fixes bug#21637.
14146 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
14148         Minor improvement in documentation of internals
14150         * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
14152 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
14154         Improve documentation of COLLECTION in completion functions
14156         * doc/lispref/minibuf.texi (Minibuffer Completion): Add a
14157         cross-reference to "Programmed Completion".
14159         * src/minibuf.c (Fcompleting_read): Improve the doc string.
14160         (Bug#21644)
14162 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
14164         Add more release info to etc/HISTORY
14166         * etc/HISTORY: Add more release information about 19.x and 20.x
14167         versions.
14169 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
14171         New file etc/HISTORY
14173         * admin/FOR-RELEASE: Procedure for etc/HISTORY.
14174         * etc/HISTORY: New file.
14175         * etc/NEWS: Mention it.
14177 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
14179         js-mode: Don't misindent generator methods
14181         * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
14182         generator methods from multiplication operator
14183         (https://github.com/mooz/js2-mode/issues/275).
14185 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
14187         Fix animation timeout delay calculation
14189         * lisp/image.el (image-animate-timeout):
14190         Don’t assume speed is floating-point.
14192 2015-10-15  Mark Oteiza  <mvoteiza@udel.edu>
14194         Add commands for controlling MPD modes
14196         * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat)
14197         (mpc-cmd-single): New functions.
14198         (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands.
14199         (mpc-mode-menu): Add new commands as menu items.
14201 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
14203         Refer to `(elisp)Basic Completion' in completing-read docstring
14205         * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic
14206         Completion' in the docstring (bug#21644).
14208 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
14210         * lisp/mpc.el (mpc-format): Always push form to pred
14212 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
14214         Spelling fixes
14216         * configure.ac (bitmapdir): Fix misspelling of bmd_acc.
14217         * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
14218         Fix misspelling of nonexistent file name.
14220 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
14222         * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings
14224 2015-10-14  Michael Albinus  <michael.albinus@gmx.de>
14226         Some editing fixes in Tramp
14228         * lisp/net/tramp-gvfs.el:
14229         * doc/misc/tramp.texi: "customer option" -> "custom option".
14231         * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring.
14233 2015-10-14  Jürgen Hötzel  <juergen@archlinux.org>
14235         Use proper localization in tramp-gvfs.el
14237         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
14238         Suppress localized settings in order to proper parse gfvs output.
14240 2015-10-14  Warren Lynn  <wrn.lynn@gmail.com>  (tiny change)
14242         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
14243         Quote argument in proper order.  (Bug#21562)
14245 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
14247         Fix typos in docstrings
14249         * lisp/emacs-lisp/map.el:
14250         * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
14251           macros.
14253 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
14255         * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live.
14257 2015-10-14  Oleh Krehel  <ohwoeowho@gmail.com>
14259         Make dired-jump work with tar-subfile-mode
14261         * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of
14262           emitting an error, switch to `tar-superior-buffer'.
14264 2015-10-14  Juanma Barranquero  <lekktu@gmail.com>
14266         * .gitignore: Add build-aux/ar-lib.
14268 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
14270         Better docstrings in seq.el and map.el
14272         * lisp/emacs-lisp/map.el:
14273         * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
14275 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
14277         Merge from gnulib
14279         This incorporates:
14280         2015-10-13 binary-io, u64, unistd: port to strict C
14281         2015-09-26 c-ctype: do not worry about EBCDIC + char signed
14282         2015-09-25 c-ctype: port better to z/OS EBCDIC
14283         2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
14284         * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
14285         * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
14286         Copy from gnulib.
14288 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
14290         Take XPNTR private
14292         * src/alloc.c (PURE_POINTER_P): Remove.
14293         All uses replaced with PURE_P.
14294         (XPNTR_OR_SYMBOL_OFFSET): New function.
14295         (XPNTR): Move here from lisp.h.
14296         Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET.
14297         (mark_maybe_object, valid_lisp_object_p, survives_gc_p):
14298         Remove unnecessary cast.
14299         (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR,
14300         to avoid an unnecessary runtime test for symbols.
14301         * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c.
14302         Only alloc.c needs XPNTR now.
14304 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
14306         Add MPC play/pause command
14308         * lisp/mpc.el (mpc-toggle-play): New command.
14309         (mpc-mode-map): Bind it to "s".
14310         (mpc-mode-menu): Add corresponding menu item.
14312 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
14314         Add bindings and menu items for prev and next tracks
14316         * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next,
14317         "<" to mpc-prev.
14318         (mpc-mode-menu): Add corresponding menu items
14320 2015-10-13  Ken Raeburn  <raeburn@raeburn.org>
14322         Reduce face-related consing during frame creation.
14324         * lisp/faces.el (face--attributes-unspecified): Compute the "unspecified"
14325         attribute list once.
14326         (face-spec-reset-face): Use it instead of building the list.
14328 2015-10-13  Ken Raeburn  <raeburn@permabit.com>
14330         Do process ConfigureNotify events indicating size changes.
14332         * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify
14333         events don't have the same size, process each one.
14335 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
14337         Derive mpc-mode from special-mode
14339         lisp/mpc.el (mpc-mode-map): Make from sparse keymap.  Unbind g.
14340         (mpc-mode): Derive from special mode.
14341         (mpc-songs-mode-map): Don't set parent keymap.
14343 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
14345         Fix error messages for when covers are not found.
14347         The last change to mpc-format let the binding to file call
14348         mpc-file-local-copy with nil argument.  Instead, employ if-let here
14349         so nil bindings don't result in needless computation and errors.
14350         * lisp/mpc.el: Require 'subr-x at compile time.
14351         * lisp/mpc.el (mpc-format): Use if-let.
14353 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
14355         Make dired-do-compress work for *.tar.gz files
14357         * lisp/dired-aux.el (dired-compress-file-suffixes): Associate
14358           "tar -zxvf" to *.tar.gz; update docstring.
14360         (dired-compress-file): Allow to specify switches after the command in
14361         `dired-compress-file-suffixes'.
14363 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
14365         Make dired-do-compress work for directories
14367         * lisp/dired-aux.el (dired-compress-file): When FILE is a directory,
14368           instead of emitting an error, call "tar -czf FILE.tar.gz FILE".
14369         Also convert the top comment into a docstring.
14371 2015-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
14373         * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active'
14375         ... since it might come straight from the memoizing table.
14377 2015-10-13  Juanma Barranquero  <lekktu@gmail.com>
14379         * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame.
14381 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
14383         Use special-mode in eww list modes
14385         * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode)
14386         (eww-buffers-mode): Derive from special-mode and remove redundant
14387         setting of buffer-read-only.
14388         (eww-mode-map): Remove redundant keymap parent setting.
14389         (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map):
14390         Remove redundant keymap suppressions and mappings.
14392 2015-10-13  Martin Rudalics  <rudalics@gmx.at>
14394         Allow setting frame pixel sizes from frame parameters (Bug#21415)
14396         Also fix some misfeatures in frame (re-)sizing code, add more
14397         debugging information and remove some dead code.
14399         * lisp/frame.el (frame-notice-user-settings, make-frame): Change
14400         parameter names when setting `frame-size-history'.
14401         (frame--size-history): New function.
14403         * src/frame.c (frame_inhibit_resize): If frame has not been made
14404         yet, return t if inhibit_horizontal_resize or
14405         inhibit_vertical_resize bit have been set.
14406         (adjust_frame_size): Simplify.
14407         (make_frame): Initialize inhibit_horizontal_resize,
14408         inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
14409         (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
14410         inhibit_vertical_resize slots.
14411         (x_set_frame_parameters): Handle `text-pixels' specification for
14412         width and height parameters.  Don't consider new_height or
14413         new_width changes.  Call adjust_frame_size instead of
14414         Fset_frame_size.
14415         (x_figure_window_size): Two new arguments x_width and y_width
14416         returning frame's figures width and height.  Calculate tool bar
14417         height before frame sizes so SET_FRAME_HEIGHT can pick it up.
14418         Handle `text-pixels' specification for width and height
14419         parameters.
14420         (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
14421         (Qx_set_window_size_1, Qx_set_window_size_2)
14422         (Qx_set_window_size_3, Qx_set_menu_bar_lines)
14423         (Qupdate_frame_menubar, Qfree_frame_menubar_1)
14424         (Qfree_frame_menubar_2): New symbols.
14425         * src/frame.h (structure frame): New booleans
14426         tool_bar_redisplayed, tool_bar_resized,
14427         inhibit_horizontal_resize, inhibit_vertical_resize.
14428         (x_figure_window_size): Update external declaration.
14429         * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
14430         calling gtk_window_resize.
14431         (update_frame_tool_bar): Make inhibiting of frame resizing more
14432         discriminative.  Set tool_bar_resized bit.
14433         * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
14434         resizing more discriminative.  Call adjust_frame_size instead of
14435         x_set_window_size.
14436         (Fx_create_frame): Handle x_width and x_height if
14437         set by x_figure_window_size.
14438         * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
14439         subtract 3 from tool bar height.
14440         (x_set_window_size): Add frame_size_history_add call.
14441         (x_new_font): Call adjust_frame_size instead of
14442         x_set_window_size.
14443         * src/w32fns.c (x_change_tool_bar_height): Reset
14444         tool_bar_redisplayed and tool_bar_resized bits when adding tool
14445         bar.  Make inhibiting of frame resizing more discriminative.
14446         (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
14447         (Fx_create_frame): Handle x_width and x_height if set by
14448         x_figure_window_size.  Set size hints before adjusting frame size.
14449         (x_create_tip_frame): Adjust x_figure_window_size call.
14450         * src/w32term.c (x_set_window_size): Add frame_size_history_add
14451         call.
14452         * src/widget.c (set_frame_size): Remove dead code.  Add
14453         frame_size_history_add call.  When frame_resize_pixelwise is t
14454         use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
14455         pixel_width and pixel_height.
14456         (update_various_frame_slots): Remove dead code.
14457         (EmacsFrameResize): Add more information in
14458         frame_size_history_add call.
14459         (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
14460         is not set.
14461         * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
14462         * src/xfns.c (x_set_menu_bar_lines): Change argument name.
14463         (x_change_tool_bar_height): Reset tool_bar_redisplayed and
14464         tool_bar_resized bits when adding tool bar.  Make inhibiting of
14465         frame resizing more discriminative.
14466         (Fx_create_frame): Handle x_width and x_height if set by
14467         x_figure_window_size.  Set size hints before adjusting frame size.
14468         (x_create_tip_frame): Adjust x_figure_window_size call.
14469         * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
14470         (set_frame_menubar): On Lucid never add core-border-width to
14471         avoid that adding XtNinternalBorderWidth adds it again.
14472         (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
14473         * src/xterm.c (x_new_font): In non-toolkit case handle size
14474         change of menu bar.
14475         (x_set_window_size_1): Fix calls to frame_size_history_add.
14476         (x_wm_set_size_hint): Remove dead code.  Set
14477         size_hints.min_width and size_hints.min_height to base_width and
14478         base_height.
14480 2015-10-13  Michael Albinus  <michael.albinus@gmx.de>
14482         * test/automated/file-notify-tests.el (file-notify--test-timeout):
14483         Add docstring.  Increase to 10 seconds for remote
14484         directories.  (Bug#21669)
14486 2015-10-12  Paul Eggert  <eggert@cs.ucla.edu>
14488         Unmacroize ebrowse.c and etags.c a bit
14490         * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant.
14491         (streq, filename_eq, set_flag, has_flag): Now inline functions.
14492         (set_flag): First arg is now an address, not an lvalue.
14493         All callers changed.
14494         (filename_eq, set_flag, has_flag):
14495         Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG.
14496         All callers changed.
14497         * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq):
14498         Now inline functions.  Remove asserts that are unnecessary these
14499         days (and in some cases were too-generous anyway).
14501 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
14503         Use highlight for current items
14505         * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select):
14506         Apply highlight face instead of region face.
14508 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
14510         Search for more cover image names in MPC
14512         * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg
14513         case insensitively
14515 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
14517         Remove or comment out unused variables
14519         * src/w32fns.c (x_set_mouse_color): Comment out variables cursor,
14520         nontext_cursor, mode_cursor, hand_cursor and count.
14521         (x_change_tool_bar_height): Remove variable old_text_height.
14522         (deliver_wm_chars): Remove variable strip_Alt.
14523         (Fw32_shell_execute): Remove variable document_a.
14524         (Fw32_frame_geometry): Remove variable fullboth.
14525         * src/w32term.c (w32_setup_relief_color): Comment out variable
14526         w32_display_info.
14527         (w32_horizontal_scroll_bar_handle_click): Remove variables start, end.
14528         (w32_read_socket): Comment out variables rows, columns.
14529         * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest.
14531 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
14533         * src/w32proc.c (sys_select): Fix bitwise test.
14535 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
14537         Minor typo corrections in doc strings
14539         * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position):
14540         Doc fixes.
14542 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
14544         * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports.
14546 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
14548         Attempt to avoid crashes in plist-member
14550         * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test
14551         and a call to XCDR.  (Bug#21655)
14553 2015-10-12  Mike FABIAN  <mfabian@redhat.com>
14555         * lisp/select.el (gui-get-primary-selection): In
14556         gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
14558 2015-10-12  Tassilo Horn  <tsdh@gnu.org>
14560         Support RTF in doc-view
14562         * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension.
14564 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
14566         * src/w32fns.c (get_wm_chars): Increment counter, not pointer.
14568 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
14570         Replace the usage of an obsolete function in auth-source.el
14572         * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token):
14573         Replace an usage of `epg-context-set-armor' with `setf'.
14575 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
14577         * lisp/gnus/auth-source.el: Use sharp-quoting with functions.
14579 2015-10-11  Jay Belanger  <jay.p.belanger@gmail.com>
14581         Have calc-yank recognize numbers in different bases.
14583         * lisp/calc/calc-yank.el (math-number-regexp): New function.
14584         (calc-yank): Use `math-number-regexp' to recognize numbers.
14586 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
14588         Handle an opaque-move X11 window manager operation more efficiently
14590         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
14591         followed by more ConfigureNotify events for the same window, process
14592         only the last one.
14594 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
14596         Fix cursor setting for tip frame; re-enable cursor generation
14598         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
14599         attributes sent when creating the new X window.  Don't skip setting
14600         the pointerColor parameter.
14602 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
14604         Rewrite x_set_mouse_color to sync less
14606         We can track serial numbers of X requests and correlate error events
14607         with the associated requests.  This way we can identify errors for
14608         specific calls without having to use XSync after every one.
14610         * src/xfns.c (enum mouse_cursor): New type.
14611         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
14612         (mouse_cursor_types): New array listing the Lisp variables and default
14613         cursor appearances for each cursor type.
14614         (x_set_mouse_color_handler): New function; checks error event serial
14615         number against submitted requests.
14616         (x_set_mouse_color): Updated to use the new error handler callback,
14617         and to be more table-driven, to simplify repetitious code.
14619 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
14621         Add x_catch_errors_with_handler
14623         * src/xterm.c (struct x_error_message_stack): Add new fields for a
14624         callback function and associated data pointer.
14625         (x_error_catcher): If the callback function is set, call it after
14626         saving the error message string.
14627         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
14628         accepts a callback function and data pointer.
14629         (x_catch_errors): Now a wrapper function.
14630         * src/xterm.h (x_special_error_handler): New typedef.
14631         (x_catch_errors_with_handler): Declare.
14633 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
14635         Introduce x_uncatch_errors_after_check to reduce XSync calls
14637         Both x_had_errors_p and x_check_errors call XSync, so if they're
14638         immediately followed by x_uncatch_errors, its XSync call will be
14639         redundant, resulting in a wasted round trip to the X server.
14641         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
14642         x_uncatch_errors without the XSync call.
14643         (XTmouse_position, x_wm_supports):
14644         * src/xfns.c (x_set_mouse_color):
14645         * src/xmenu.c (Fx_menu_bar_open_internal):
14646         * src/xselect.c (x_own_selection, x_get_foreign_selection):
14647         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
14648         * src/xterm.h (x_uncatch_errors_after_check): Declare.
14650 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
14652         Document the optional prefix to `calc-yank'
14654         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
14655         prefix to `calc-yank'.
14656         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
14657         the Calc buffer are yanked back unchanged.
14659 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
14661         * lisp/calendar/calendar.el: Display buffer before executing body.
14663         In each use of this macro, the modeline is derived from a window width
14664         calculation, which will be wrong if (display-buffer) splits the window
14665         horizontally.
14667 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14669         Use ‘echo’ safely with ‘\’ or leading ‘-’
14671         POSIX says that ‘echo FOO’ produces implementation-defined output
14672         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
14673         behavior in that case.
14674         * Makefile.in (removenullpaths): Remove.
14675         (epaths-force): Rewrite to avoid the need for ‘echo’.
14676         (install-etc): Be clearer about escaping the shell metacharacters
14677         ‘\’ and ‘$’.
14678         * Makefile.in (install-arch-indep, install-etcdoc):
14679         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
14680         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
14681         * configure.ac, lib-src/rcs2log, make-dist:
14682         * src/Makefile.in (lisp.mk):
14683         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
14684         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
14685         if $foo can contain arbitrary characters.
14686         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
14687         * doc/lispref/two-volume.make (vol1.pdf):
14688         * test/etags/make-src/Makefile (web ftp publish):
14689         Use ‘printf’ rather than ‘echo -e’.
14691 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
14693         Allow numbers with different radixes to be yanked.
14695         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
14696         default base 10.
14698 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14700         Improve CHECK_IMPURE and PURE_P speedup
14702         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
14704 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
14706         Use events instead of chars to keep track of steps.
14708         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
14709         to keep track of steps.
14711 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14713         Fix --enable-gcc-warnings problem with older GCC
14715         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
14716         This is for building with --enable-gcc-warnings with
14717         GCC 4.6 through 5.0.
14719 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
14721         Fix vertical-motion in truncated lines that end in a stretch
14723         * src/indent.c (Fvertical_motion): Expect overshoot when point is
14724         beyond window margin and lines are truncated, even if we have a
14725         stretch at point.  (Bug#21468)
14727 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
14729         Avoid link-time errors due to inline functions
14731         * src/emacs.c: Include puresize.h, to avoid link-time errors in
14732         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
14733         inline functions.
14735 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
14737         * src/data.c (Faset): Fix last change.
14739 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14741         CHECK_IMPURE and PURE_P speedup
14743         * src/intervals.c (create_root_interval):
14744         Do CHECK_IMPURE only for strings; not needed for buffers.
14745         Prefer ! STRINGP to BUFFERP, for a tad more speed.
14746         * src/puresize.h (CHECK_IMPURE, PURE_P):
14747         Now inline functions instead of macros.
14748         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
14749         All callers changed.
14750         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
14751         All callers changed.
14753 2015-10-09  Noah Friedman  <friedman@splode.com>
14755         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
14757 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14759         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
14761         our after-change-function, rather than re-adding it if it was removed.
14763 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14765         * lisp/cedet/ede: Silence some compiler warnings
14767         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
14768         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
14769         (ede-apply-object-keymap, ede-reset-all-buffers)
14770         (ede-auto-add-to-target): Use dolist.
14771         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
14772         Use field names rather than initarg names in `oref'.
14773         (ede-load-project-file): Remove unused var `file'.
14774         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
14775         (ede-set): Remove unused var `a'.
14777         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
14778         (ede-project-autoload): Avoid the old-style "name" argument.
14779         (ede-emacs-find-matching-target): Use field names rather than initarg
14780         names in `oref'.
14782         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
14783         (ede-linux-load, ede-project-autoload): Avoid the old-style
14784         "name" argument.
14785         (ede-linux-find-matching-target): Use field names rather than initarg
14786         names in `oref'.
14788 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14790         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
14792 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14794         * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid
14795         indenting too far after ":-".
14797 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
14799         Update case-table and categories of recently added characters
14801         * lisp/international/characters.el: Update information about Latin
14802         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
14803         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
14804         blocks.  (Byug#21654)
14806 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
14808         * src/frame.c (adjust_frame_size): In minibuffer-only windows
14809         don't count minibuffer height twice.  (Bug#21643)
14811 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
14813         Avoid inflooping in font-lock
14815         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
14816         inhibit-field-text-motion around the call to
14817         line-beginning-position, to avoid inflooping.  (Bug#21615)
14819 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
14821         Refactor duplicated code; ensure default is in completions
14823         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps):
14824         New function.
14825         (reftex-extract-bib-entries): Use it.
14826         (reftex-extract-bib-entries-from-thebibliography): Use it.
14828 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
14830         * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst"
14831         in the example.
14833 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
14835         * lisp/calc/calc.el: Silence byte-compiler warnings.
14836         (calc-scan-for-dels): Use ignore-errors.
14837         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
14838         (calc-read-key-sequence): Remove unused var `prompt2'.
14839         (calc-kill-stack-buffer): Remove unused var `buflist'.
14840         (calc): Remove unused var `oldbuf'.
14841         (calc-refresh): Use inhibit-read-only.
14842         (calc-can-abbrev-vectors): Declare.
14843         (calc-record): Remove unused var `mainbuf'.
14844         (math-sub-bignum): Remove unused var `sum'.
14845         (math-svo-c, math-svo-wid, math-svo-off): Declare.
14847 2015-10-08  Daiki Ueno  <ueno@gnu.org>
14849         Use g_clear_error instead of g_error_free
14851         * src/image.c: Define g_clear_error instead of g_error_free.
14852         (init_svg_functions): Resolve symbol g_clear_error instead of
14853         g_error_free.
14854         (svg_load_image): Use g_clear_error instead of g_error_free, to
14855         suppress GLib warnings when ERR is not set.  See bug#21641.
14857 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14859         * src/image.c (image_size_error): Simplify.
14861 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14863         Fix problems caught with --enable-gcc-warnings
14865         * src/image.c (lookup_rgb_color):
14866         * src/xfns.c (x_defined_color):
14867         * src/xterm.c (x_parse_color):
14868         Remove unused locals.
14870 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
14872         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
14874 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
14876         Format initial input uniformly
14878         * lisp/calc/calc.el (calc-digit-start-entry): New function.
14879         * lisp/calc/calc.el (calcDigit-start):
14880         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
14881         Use `calc-digit-start-entry' to format input.
14883 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
14885         Disable non-working pointerColor setting for X tooltip frame
14887         It generates a bunch of server traffic, but there's some bug wherein
14888         the new mouse cursor settings don't seem to get used.  In most
14889         situations the cursor isn't likely to be seen anyway, so it's not
14890         urgent to fix.
14892         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
14894 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
14896         Reduce some unnecessary X calls
14898         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
14899         call.  If border width is wanted, get it from the XGetGeometry call
14900         instead of calling XGetWindowAttributes on the same window.  Skip some
14901         X calls if we've already detected an error from the X server.
14902         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
14903         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
14905 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
14907         Reduce color allocation/query traffic in the TrueColor case
14909         When working with an X visual with TrueColor class, pixel values can
14910         be generated from the RGB values according to mask value provided by
14911         the server on connection.  Some of the image-handling code was already
14912         doing this.
14914         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
14915         lookup_rgb_color.
14916         (x_mutable_colormap): New function.
14917         * src/image.c (lookup_rgb_color): Move pixel composition code to
14918         x_make_truecolor_pixel.
14919         (x_kill_gs_process): Call x_mutable_colormap.
14920         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
14921         x_mutable_colormap.
14922         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
14923         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
14924         pixel value into RGB values directly, and don't send a request to the
14925         server.
14926         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
14927         value with x_make_truecolor_pixel.
14928         (x_copy_color): For an immutable color map, just return the provided
14929         pixel value.
14931 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
14933         Cache XParseColor results in the X display info structure
14935         With repeated lookups of foreground and background colors for multiple
14936         faces per frame, we issue a lot of redundant color name lookups to the
14937         X server, waiting every time for the response.  On a remote network
14938         with, say, 30ms round-trip time, this can add nearly a full second to
14939         creation of a new frame.
14941         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
14942         * src/image.c (get_spec_bg_or_alpha_as_argb):
14943         (xpm_init_color_cache, xpm_lookup_color):
14944         * src/xfns.c (x_defined_color):
14945         * src/xterm.c (x_parse_color): New function; caches color names not
14946         starting with "#" in the display-info structure.
14947         (x_delete_display): Delete the cache content.
14948         * src/xterm.h (struct color_name_cache_entry): New type.
14949         (x_parse_color): Declare.
14950         (struct x_display_info): Add a new field for the cache.
14952 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
14954         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local.
14956 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
14958         Fix segfault in image_size_error
14960         * src/image.c (image_size_error): Pass a Lisp string to
14961         image_error, not a C string.  (Bug#21641)
14963 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
14965         Highlight CSS variable definitions
14967         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
14968         CSS variables.  (Bug#21638)
14970 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14972         * test/automated/tabulated-list-test.el: New file.
14973         Test bug#21639 and some basic functionality.
14975 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14977         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
14978         Check if column can be sorted before trying.  (Bug#21639)
14980 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
14982         Add test for `self-insert-command' (bug#21633)
14984         * test/automated/cmds-tests.el: New file.
14986 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
14988         * src/window.c (resize_frame_windows): Don't set root window's
14989         top position when resizing horizontally.
14991 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14993         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
14994         Document more possible values.
14996 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
14998         * lisp/textmodes/tex-mode.el: Use lexical-binding.
15000 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
15002         * lisp/indent.el (indent--default-inside-comment): New function.
15003         (indent-for-tab-command): Use it for `noindent' indentation.
15005 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
15007         Fix bug in GC_CHECK_MARKED_OBJECTS check
15009         * src/alloc.c (mark_object): Fix bug in checking code.
15010         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
15011         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
15012         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
15013         bucket.  The bug did not affect behavior either in the normal case
15014         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
15015         not have an internal error that a properly-written
15016         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
15018 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
15020         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
15021         Add prettified version for \\Bbb{Q}.
15023 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
15025         * test/automated/package-test.el (package-test-install-single):
15026         Add a test for bug#21625.
15028 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
15030         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
15031           not a package-desc object.  Also clarify documentation.  (Bug#21625)
15033 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
15035         Fix display of characters adjacent to ZWJ and ZWNJ
15037         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
15038         characters the same as directional formatting controls.
15039         (bidi_level_of_next_char): Include all Bn characters in rule L1,
15040         as mandated by the UBA.
15042 2015-10-06  Andreas Schwab  <schwab@suse.de>
15044         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
15045         number.  (Bug#21633)
15047 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
15049         * doc/lispref/objects.texi (Window Type): Add a cross reference.
15051         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
15053 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
15055         * lisp/language/misc-lang.el (composition-function-table):
15056         Fix entries for Arabic and Syriac.
15058 2015-10-05  Damien Cassou  <damien@cassou.me>
15060         Add first unit tests for auth-source.el
15062         * test/automated/auth-source-tests.el: New file.
15064 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
15066         Remove redundant redisplay code
15068         * src/xdisp.c (redisplay_internal, try_cursor_movement)
15069         (try_window_reusing_current_matrix, try_window_id): Remove
15070         redundant restrictions on redisplay optimizations based on the
15071         frame's 'redisplay' flag.  See
15072         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
15073         discussions.
15075 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
15077         * src/xdisp.c (windows_or_buffers_changed): Improve docstring.
15079 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
15081         Update tutorials/TUTORIAL.cn
15083         * etc/tutorials/TUTORIAL.cn: Improve translation.
15085 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
15087         * src/macfont.m (macfont_encode_char, syms_of_macfont):
15088         Remove unused vars.
15090 2015-10-04  Stefan Merten  <stefan@merten-home.de>
15092         Pull in version numbers from rst.el upstream release.
15094         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
15095         (rst-svn-timestamp, rst-official-version)
15096         (rst-official-cvs-rev, rst-package-emacs-version-alist):
15097         Update version numbers.
15099 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
15101         * test/automated/coding-tests.el: New file.
15103 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
15105         Improve XEmacs compatibility of Tramp
15107         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
15108         Declare if it doesn't exist.
15109         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
15110         (redisplay): Make it an alias if it doesn't exist.
15112         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
15113         `file-remote-p' (due to XEmacs compatibility).
15115         * lisp/net/trampver.el (locate-dominating-file)
15116         (tramp-compat-replace-regexp-in-string): Autoload.
15117         (tramp-repository-get-version): Do not dupe byte-compiler.
15119 2015-09-02  K. Handa  <handa@gnu.org>
15121         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
15123         * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
15124         Adjusted for the change of type of elements in the array
15125         MFLTGlyphString.glyphs.
15127 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
15128             Michael Heerdegen  <michael_heerdegen@web.de>
15130         shr: fix too long lines in rendered buffers (Bug#21012)
15132         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
15133         Correct calculation of available width.
15134         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
15135         is nil.
15137 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
15139         Restore blank line before next section, erroneously erased
15140         in my previous commit
15142         * etc/compilation.txt (symbol ant): Add an additional trailing blank
15143         line to this section, so that there are two of them immediately before
15144         the next section.
15146 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
15148         Support MSW filename style for ant compilation error regexp
15150         * etc/compilation.txt (symbol ant):
15151         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
15152         Support MSW filename style.
15154 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
15156         * nt/INSTALL: Minor spelling and quote fixes.
15158         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
15160 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
15162         Maintain ordering of JSON object keys by default
15164         * lisp/json.el (json-object-type): Mention order handling in doc-string.
15165         (json--plist-reverse): New utility function.
15166         (json-read-object): Maintain ordering for alists and plists.
15167         (json-pretty-print): Ensure that ordering is maintained.
15169         * test/automated/json-tests.el (test-json-plist-reverse): New test for
15170         `json--plist-reverse'.
15171         (json-read-simple-alist): Update test to accommodate for changes in
15172         `json-read-object'.
15174         * etc/NEWS: Document the new behavior of the pretty printing functions.
15176 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
15178         * src/coding.c (complement_process_encoding_system): Revert last change.
15180 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
15182         * admin/MAINTAINERS: Add entry for Ulf Jasper.
15184 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
15186         Doc fix for `defmacro'
15188         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
15190 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
15192         More validatation of coding systems
15194         * src/fileio.c (Finsert_file_contents): Remove redundant
15195         coding-system check.
15196         (choose_write_coding_system): Likewise.
15197         * src/coding.c (complement_process_encoding_system): Check argument
15198         for valid coding system.
15200 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
15202         Avoid crashes in coding_inherit_eol_type
15204         * src/coding.c (coding_inherit_eol_type): Check the validity of
15205         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
15206         (Bug#21602)
15208 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
15210         More validatation of coding system in 'write-region'
15212         * src/coding.c (choose_write_coding_system): More validation of
15213         coding-system from various sources.  Suggested by Andreas Schwab
15214         <schwab@linux-m68k.org>.  (Bug#21602)
15216 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
15218         Avoid crashes due to invalid coding-system
15220         * src/fileio.c (choose_write_coding_system)
15221         (Finsert_file_contents): Check validity of coding-system-for-write
15222         and coding-system-for-read bound by the caller.  (Bug#21602)
15224 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
15226         Adapt to new prettify-symbols-unprettify-at-point default
15228         * etc/NEWS: Mention that unprettication of symbol at point is off
15229         by default.
15231 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
15233         Revert my two recent process.c changes
15235         Revert "Improve last commit to process.c" and "Remove callback-handled
15236         channels from Available set" because they did not fix bug#21313.
15238         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
15239         27f871907cc24f33a7d12ac3a4ab71a88f0bc554.
15241 2015-10-02  Markus Triska  <triska@metalevel.at>
15243         * lisp/progmodes/prolog.el: Update and extend operator table.
15244         (prolog-smie-grammar): Add multifile, public etc.
15246 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
15248         Allow autogen even when Git is not installed
15250         * autogen.sh: Test ‘git status’ before trying to use Git.
15252 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
15254         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes.
15255         Adjust lto/lfrom when we have uncommitted changes.
15257 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
15259         Fix problems found by clang 3.5.0
15261         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
15262         * src/font.c (font_parse_family_registry):
15263         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
15265 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
15267         * nt/INSTALL: Update instructions for running autogen.sh.
15269         * nt/INSTALL: Point to ezwinports for libXpm binaries.
15271 2015-10-02  Daniel Colascione  <dancol@dancol.org>
15273         Fix winner in cl-lib not loaded case
15275         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
15276         without requiring CL
15278 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
15280         Fix a few problems with directed quotes
15282         This is in response to a problem report by Kaushal Modi in:
15283         http://bugs.gnu.org/21588#25
15284         * lisp/cedet/mode-local.el (describe-mode-local-overload):
15285         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
15286         * lisp/info-xref.el (info-xref-check-all-custom):
15287         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
15288         Prefer directed to undirected single quotes in diagnostics.
15290 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
15292         Revert "Attempt to fix slow redisplay caused by last changes"
15294         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
15295         (try_cursor_movement): Don't relax requirements for redisplay
15296         optimizations for the selected frame.  (Bug#21597)
15298         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
15300 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
15302         Fix slow redisplay when daemon frame exists
15304         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
15305         when looking for frames that need to be redisplayed.  (Bug#21597)
15307 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
15309         Attempt to fix slow redisplay caused by last changes
15311         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
15312         (try_cursor_movement): Relax requirements for redisplay
15313         optimizations for the selected frame.  (Bug#21597)
15315 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
15317         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
15318         Improve doc string.
15320 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
15322         * lisp/minibuffer.el (minibuffer-completion-help):
15323         Set default base-size, in case completion table does not set it.
15325 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
15327         Fix GUD display of GDB output with non-ASCII text
15329         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
15330         (gdb-mi-decode): New function.
15331         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
15332         decode octal escapes in GDB output.  (Bug#21572)
15334 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
15336         * nt/INSTALL: Document where to find XPM support files.
15338 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
15340         Un- and re-prettification are not exclusive
15342         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
15343         Re-apply prettification to previous symbol also when unprettifying
15344         next one.
15346 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
15348         Don't unprettify symbol at point by default
15350         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
15351         Default to disabled (nil).
15353 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
15355         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
15356         Support unprettifying when point is after a symbol.
15358         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'.
15360 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
15362         Avoid assertion violations in push_prefix_prop
15364         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
15365         a line that has a line-prefix defined starts with an image.  (Bug#21428)
15367 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
15369         Disable some display optimizations when frames need redisplay
15371         These optimizations were previously disabled by the
15372         windows_or_buffers_changed flag, which now is not set
15373         when only some frames need to be redrawn.
15374         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
15375         'redisplay' flag is set.
15376         (try_window_reusing_current_matrix, try_window_id)
15377         (try_cursor_movement): Disable these optimizations when the
15378         frame's 'redisplay' flag is set.
15380 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
15382         Don't modify buffer by unprettification
15384         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
15385         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
15386         modify buffer when setting/removing custom prettify-symbols-start/end
15387         text properties.  Add them to font-lock-extra-managed-props, too.
15389 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
15391         Try to avoid redisplaying all frames when creating a new one
15393         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
15394         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
15395         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
15396         * src/frame.c (x_set_screen_gamma): Set the specific frame's
15397         `redisplay' bit rather than windows_or_buffers_changed.
15399         * src/window.c (apply_window_adjustment): Remove redundant setting of
15400         windows_or_buffers_changed.
15402         * src/xdisp.c (redisplay_internal): Set the specific frame's
15403         `redisplay' bit rather than update_mode_lines in response to
15404         cursor_type_changed.
15405         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
15406         (AINC): Adjust accordingly.
15408 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
15410         Implement unprettification of symbol at point
15412         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
15413         symbol at point.
15414         (prettify-symbols--current-symbol-bounds): New variable.
15415         (prettify-symbols--post-command-hook): New function.
15416         (prettify-symbols-unprettify-at-point): New defcustom.
15417         (prettify-symbols-mode): Use it.
15418         (prettify-symbols--compose-symbol): Use them.
15420 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
15422         * src/macfont.m (mac_font_descriptor_supports_languages):
15423         Regard "zh" as synonym of "zh-Hans".
15425 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
15427         Work around crash when displaying etc/HELLO on OS X 10.11
15429         * src/macfont.m (mac_font_get_weight)
15430         (mac_font_descriptor_get_adjusted_weight): New functions.
15431         (macfont_store_descriptor_attributes): Adjust weight.
15433 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
15435         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
15437 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
15439         * lisp/arc-mode.el (archive-rar-summarize): Better alignment
15440         of the columns.
15442 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
15444         Use unar and lsar to handle RAR archives in arc-mode
15446         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
15447         on unar and lsar instead of unrar-free for RAR archives (bug#17663).
15449 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
15451         Clarify :create in auth-source's docs
15453         * lisp/gnus/auth-source.el (auth-source-search):
15454         Clarify :create's meaning.
15456 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
15458         Avoid empty -path arguments in rgrep
15460         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
15461         the list produced according to grep-find-ignored-directories,
15462         before passing it to Find/Grep invocation.  (Bug#21548)
15464 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
15466         Clarify documentation of pos-visible-in-window-p
15468         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
15469         t for POS.  See
15470         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
15471         for the original report.
15473         * doc/lispref/windows.texi (Window Start and End): Clarify the
15474         meaning of t for the POSITION argument of pos-visible-in-window-p.
15476 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
15478         * lisp/progmodes/prolog.el: Fix various indentation cases.
15479         (prolog-operator-chars): New const (add \\).
15480         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
15481         (prolog-smie-rules): Add rules according to bug#21526.
15483 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
15485         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent.
15486         (sh-indent-after-continuation): Add new value `always' (bug#17620)
15487         (sh-smie-sh-rules): Remove old handling of continued lines.
15488         (sh-smie--indent-continuation): New function.
15489         (sh-set-shell): Use it.
15491 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
15493         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun.
15494         Remove redundant :group keyword args.
15495         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
15496         Remove variables.
15497         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
15498         turn them into compile-time variables.
15499         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
15500         Add rules for break, continue, return, global, and persistent.
15501         Refine the rule for "until".
15502         (octave-smie--funcall-p, octave-smie--end-index-p)
15503         (octave-smie--in-parens-p): New functions.
15504         (octave-smie-backward-token, octave-smie-forward-token): Use them to
15505         distinguish the "enumeration" function and the "end" index from
15506         their corresponding keywords.
15507         (octave--block-offset-keywords): New constant.
15508         (octave-smie-rules): Use it.  Adjust rules for new global/persistent
15509         parsing.
15510         (octave-reserved-words): Redefine using octave-smie-grammar.
15511         (octave-font-lock-keywords): Use octave-smie--funcall-p and
15512         octave-smie--end-index-p.
15514 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
15516         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*.
15518 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
15520         * nt/INSTALL: Remove references to GTK site.
15521         That site no longer offers Windows downloads.
15523 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
15525         * nt/INSTALL: Add instructions for installing Git.
15527 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
15529         * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to
15530         use colors.  Suggested by Eli Zaretskii.
15532 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
15534         * lisp/net/shr.el (shr-colorize-region): Don't do it on a system
15535         not supporting 256 above colors (bug#21557).
15537 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
15539         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
15541         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
15543 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
15545         Add documentation for seq.el
15547         * doc/lispref/sequences.texi: Add documentation regarding extending
15548         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
15549         seq-do and seq-map.
15551 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
15553         Better documentation for seq-some
15555         * doc/lispref/sequences.texi:
15556         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
15557         guarantee that the returned value is the first non-nil value that
15558         resulted from applying the predicate.
15560 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
15562         * lisp/arc-mode.el: Sharp-quote function arguments.
15564 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
15566         Avoid redisplay error in ediff-regions-wordwise
15568         * lisp/vc/ediff-util.el
15569         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
15570         set before activating it.  (Bug#21567)
15572 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
15574         Another attempt to fix crashes due to prematurely freed faces
15576         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
15577         faces for as long as we might have desired matrices that reference
15578         those faces.  (Bug#21428)
15580 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
15582         Add auctex development list email address
15584 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
15586         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
15588 2015-09-28  Arash Esbati  <esbati@gmx.de>  (tiny change)
15590         Improve wrapfig package support and caption parsing
15592         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
15593         Correct description string and add wraptable environment.
15594         (reftex-default-context-regexps): Improve caption regexp.
15596 2015-09-28  Anders Lindgren  <andlind@gmail.com>
15598         Respect value of frame_resize_pixelwise when handling fullscreen state
15600         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
15601         setting size increments.
15603 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
15605         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
15607 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
15609         Add prettify-symbols-alist for js-mode
15611         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
15612         (js-mode): Use it.
15614 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
15616         * nt/subdirs.el: File deleted (no longer used).
15618 2015-09-26  Alan Mackenzie  <acm@muc.de>
15620         Fix follow-scroll-up/down, making them replacements for scroll-up/down
15622         1. Allow point to move between follow windows in scroll operations.
15623         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
15624         when EOB was isolated in the last follow window.
15626         * lisp/follow.el (follow-fixed-window): New variable.
15627         (follow-get-scrolled-point): New function.
15628         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
15629         Reformulate the code.  Put `scroll-command' properties on the functions.
15630         Correct minor errors in ...-down's doc string and code.
15631         (follow-calc-win-end): Amend incomplete doc string.  Use
15632         `pos-visible-in-window-p' to check whether EOB is in the window.
15633         (follow-estimate-first-window-start): Correct an off-by-1 error.
15634         (follow-adjust-window): Add handling for explicit scrolling operations.
15636 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
15638         * admin/MAINTAINERS: Add self, plus list some more files
15639         sans maintaners.
15641 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
15643         New DWIM commands for changing letter-case
15645         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
15646         New functions.  (Bug#21501)
15648 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
15650         * etc/PROBLEMS: Document problems with pasting on MS-Windows.
15652 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
15654         Make face realization be more frame-specific
15656         * src/frame.h (struct f): New flag face_change.
15657         * src/xfaces.c (Finternal_make_lisp_face)
15658         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
15659         (update_face_from_frame_parameter): Set the face_change flag only
15660         for the frame whose faces are affected.
15661         * src/xdisp.c (init_iterator): If a frame's face_change flag is
15662         set, free faces only on that frame.
15663         (redisplay_internal): Disable "display optimization 1" if the
15664         frame's face_change flag is set.
15665         (redisplay_window): Don't allow skipping a window's redisplay if
15666         its frame's face_change flag is set.
15667         * src/frame.c (x_set_screen_gamma): Instead of calling
15668         Fclear_face_cache, call clear_face_cache and set
15669         windows_or_buffers_changed to a non-zero value.  This avoids
15670         setting the global face_change flag that triggers face realization
15671         on all frames and thorough redisplay of all of them.
15673         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
15674         clear face cache if the selected frame is a GUI frame.
15676 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
15678         Remove font-latex specific check
15680         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
15681         Use syntax-ppss data to identify verbatim contents.
15683 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
15685         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
15686         Fix some false negatives.
15688 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
15690         Reorder Windows version in Emacs manifests
15692         * nt/emacs-x64.manifest:
15693         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
15694         highest.
15696 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
15698         Update Emacs manifest files for Windows 10
15700         * nt/emacs-x86.manifest:
15701         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
15703 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
15705         Avoid non-ASCII decoding errors in C src files
15707         * src/nsterm.m:
15708         * src/lisp.h:
15709         * src/editfns.c:
15710         * src/doprnt.c: Add 'coding' cookies -- these files include
15711         Unicode characters and should be decoded as UTF-8.
15713 2015-09-25  Alan Mackenzie  <acm@muc.de>
15715         Resurrect edebug-set-initial-mode, repurposing it to set the global mode
15717         * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
15718         amend to match current modes and functions.
15719         (edebug-set-initial-mode): Uncomment and change from setting a defun's
15720         `edebug-initial-mode''s property to setting the variable
15721         `edebug-initial-mode'.
15722         (top level): Create new binding C-x C-a C-m for
15723         `edebug-set-initial-mode'.
15725         * doc/lispref/edebug.texi (Edebug Execution Modes): Document
15726         `edebug-set-initial-mode' and its new key binding.
15727         (Edebug Options): Mention the new command in the pertinent place.
15729         * etc/NEWS: Write entry for this change.
15731 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
15733         Avoid non-ASCII decoding errors in Texinfo files
15735         * doc/misc/tramp.texi:
15736         * doc/lispref/strings.texi:
15737         * doc/lispref/positions.texi:
15738         * doc/lispref/help.texi:
15739         * doc/lispref/functions.texi:
15740         * doc/lispintro/emacs-lisp-intro.texi:
15741         * doc/emacs/text.texi:
15742         * doc/emacs/modes.texi:
15743         * doc/emacs/mini.texi:
15744         * doc/emacs/display.texi:
15745         * doc/emacs/custom.texi:
15746         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
15747         Unicode characters and should be decoded as UTF-8.
15748         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
15749         apostrophe unnecessarily.
15751 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
15753         Merge from gnulib
15755         This incorporates:
15756         2015-09-25 c-ctype: rewrite to use inline functions
15757         2015-09-24 maint: add coding cookies to non-ASCII sources
15758         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
15759         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
15760         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
15761         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
15762         * lib/set-permissions.c:
15763         Copy from gnulib.
15765 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
15767         Update publicsuffix.txt from upstream
15769         * etc/publicsuffix.txt: Update from
15770         https://publicsuffix.org/list/effective_tld_names.dat
15771         dated 2015-09-24 17:29:21 UTC.
15773 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
15775         Prevent timers from messing up TTY menus
15777         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
15778         the TTY menu is open.  (Bug#21530)
15780 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
15782         No need to mention K&R C in c-mode intro
15784 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
15786         Fix recent bootstrap problems
15788         * src/syntax.c (parse_sexp_propertize): Fix last fix.
15789         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
15790         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
15792 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
15794         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
15796 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
15798         Properly quote nested xml comments (Bug#6267) (Bug#20001)
15800         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function.
15801         (nxml-mode): Set comment-quote-nested-function.
15803 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
15805         Allow major-modes full control over quoting nested comments
15807         * lisp/newcomment.el (comment-quote-nested-function): New variable.
15808         (comment-quote-nested-default): New function.
15809         (comment-quote-nested): Use `comment-quote-nested-function'.
15811 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
15813         Prefer CALLN in a few more places
15815         * src/macfont.m (macfont_set_family_cache):
15816         * src/nsterm.m (append2):
15817         * src/xterm.c (x_cr_export_frames):
15818         Prefer CALLN to allocating the arg arrays by hand.
15820 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
15822         Adapt file-notify-test02-events test case
15824         * test/automated/file-notify-tests.el (file-notify-test02-events):
15825         Create a new watch for every test.
15827 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
15829         Continue gfilenotify.c implementation of missing parts
15831         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
15832         `gfile-add-watch' call.
15833         (file-notify-rm-watch): Modify `file-notify-descriptors' only
15834         after calling the low level functions.
15836         * src/gfilenotify.c (dir_monitor_callback): Check, whether
15837         event_type is expected.
15838         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
15839         (Fgfile_rm_watch): Fix typo.
15840         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
15842 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
15844         * src/syntax.c (parse_sexp_propertize): Handle spurious
15845         e_property_truncated flag.
15846         (update_syntax_table_forward): Remove invalid assertion.
15848 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
15850         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
15851         space display spec on text-mode terminals, by calling
15852         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the
15853         HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the
15854         test for a GUI frame.
15856 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
15858         Move let-when-compile to lisp-mode.el
15860         This fixes the bootstrapping problem of `let-when-compile' using
15861         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
15863 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
15865         * lisp/url/url-http.el (url-http-parse-headers): Do not
15866         automatically include Authorization header in redirect.
15867         (Bug#21350)
15869 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
15871         Clarify documentation of ':relative-width'
15873         * doc/lispref/display.texi (Specified Space): Document that
15874         ':relative-width' is only supported on GUI frames.
15876 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
15878         Fix 'current-column' in presence of :relative-width
15880         * src/indent.c (check_display_width): Support ':relative-width'
15881         in a display spec that specifies a stretch glyph.  (Bug#21533)
15883 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
15885         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
15887         ... to conform better to CONTRIBUTE guidelines.
15889 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
15891         * lisp/progmodes/prolog.el: Fix indentation of empty line
15893         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
15894         `empty-line-token' element.
15895         (smie-indent-empty-line): New function.
15896         (smie-indent-functions): Add it.
15898         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro
15899         behavior and use the new `empty-line-token' element (bug#21526).
15900         (prolog-mode-variables): Fix comment-start-skip setting to match
15901         comment-start.
15903         * test/indent/prolog.prolog: Add nested indentation tests.
15905         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
15906         comment-start-skip not to misuse submatch 1.
15908 2015-09-22  Alan Mackenzie  <acm@muc.de>
15910         Make description of `edebug-initial-mode' user friendly
15912         Fixes bug#21365.
15914         * doc/lispref/edebug.texi (Edebug Execution Modes): Change the
15915         description of `edebug-initial-mode' from that of its implementation
15916         to that of its visual effect and use.  Move the paragraph higher up.
15918 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
15920         lisp/progmodes/gud.el (gud-format-command): Fix last commit
15922         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
15923         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
15925 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
15927         Improve last commit to process.c
15929 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
15931         Implement gfile-valid-p
15933         * lisp/filenotify.el (file-notify-callback): Fix typo.
15934         (gfile-valid-p): Remove defalias.
15936         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
15937         the file or directory to be watched is deleted.
15938         (Fgfile_add_watch): Make watch_object a triple.
15939         (Fgfile_rm_watch): Check, whether watch is cancelled already.
15940         (Fgfile_valid_p): New defun.
15941         (syms_of_gfilenotify): Declare Sgfile_valid_p.
15943 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
15945         Remove callback-handled channels from Available set
15947         * src/process.c (wait_reading_process_output): Remove channel from
15948         Available set if it is handled by a callback, e.g., dbus or
15949         inotify (bug#21313).
15951 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
15953         Use lunate epsilon for TeX \epsilon
15955         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
15956         Add \varepsilon using GREEK SMALL LETTER EPSILON, and change
15957         \epsilon to use GREEK LUNATE EPSILON SYMBOL
15959 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15961         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
15963         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
15964         rather than outermost paren (bug#21526).
15966 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
15968         Improve git diff hunk headers for .el, .texi
15970         Problem reported by Alan Mackenzie in:
15971         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
15972         * .gitattributes (*.el, *.texi): New patterns.
15973         * autogen.sh: Configure diff.elisp.xfuncname and
15974         diff.texinfo.xfuncname if using Git.
15976 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
15978         Don't rely on defaults in decoding UTF-8 encoded Lisp files
15980         * lisp/replace.el:
15981         * lisp/textmodes/rst.el:
15982         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
15984 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
15986         Clarify or replace a few \u escapes
15988         * doc/lispref/nonascii.texi (Character Properties)
15989         More-detailed commentary for \u escapes.
15990         * lisp/progmodes/python.el (python--prettify-symbols-alist):
15991         * lisp/replace.el (query-replace-from-to-separator):
15992         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
15993         (rst-mode-syntax-table):
15994         * lisp/whitespace.el (whitespace-display-mappings):
15995         Prefer actual character to \u escape when this makes the code
15996         easier to follow in the usual case where Unicode chars can be
15997         displayed.
15999 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
16001         Pacify GCC -Wmaybe-uninitialized in xdisp.c
16003         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
16004         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
16005         charpos.  The loop should always execute at least once anyway.
16007 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
16009         Signal error on invalid regexp
16011         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
16012         Signal an error when the user tries searching with a regexp
16013         matching the empty string.
16015 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
16017         Another fix of file-notify-tests for w32notify
16019         * test/automated/file-notify-tests.el (file-notify-test02-events):
16020         Further adaptation for w32notify: reduce the number of expected
16021         'changed' events.  (Bug#21435)
16023 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
16025         Adapt tests and manual for w32notify
16027         * doc/lispref/os.texi (File Notifications): w32notify does not
16028         send `attribute-changed' events.
16030         * test/automated/file-notify-tests.el (file-notify--test-with-events):
16031         Simplify parameters.  Adapt all callees.
16032         (file-notify-test02-events): w32notify does not send
16033         `attribute-changed' events.
16034         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
16035         Do not skip in case of w32notify.  Simply ignore this part of the test.
16037 2015-09-21  Dima Kogan  <dima@secretsauce.net>
16039         Fix setting breakpoints when remote-debugging
16041         * lisp/progmodes/gud.el (gud-format-command): Send localized file
16042         names to the debugger running on the remote.  (Bug#13304)
16044 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
16046         Better docstring and parameter name for seq-find
16048         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
16049         the parameter `sentinel' to `default'.
16051         * doc/lispref/sequences.texi (Sequence Functions): Update the
16052           documentation for `seq-find' accordingly.
16054 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
16056         Avoid infinite recursion while displaying box face
16058         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
16059         the previous string/buffer character position under bidi
16060         iteration.  (Bug#21428)
16062 2015-09-21  Anders Lindgren  <andlind@gmail.com>
16064         Keep upper edge unchanged when changing size of NS frame
16066         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
16067         (Bug#21415).
16069 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
16071         * lisp/progmodes/prolog.el: Improve handling of if/then/else.
16072         (prolog-smie-rules): Accommodate standard if/then/else special
16073         indentation.
16074         (prolog-mode): Add . to electric-indent-chars.
16075         (prolog-electric--if-then-else): Re-indent the line before adding space
16076         after the new char (bug#21526).
16078 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
16080         Add prettify symbols to python-mode
16082         * lisp/progmodes/python.el (python-prettify-symbols-alist):
16083         New variable.
16084         (python-mode): Use it
16086 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
16088         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete.
16090 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
16092         (compilation-error-regexp-alist-alist): Tone down guile-file
16094         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
16095         Make guile-file a bit less enthusiastic (bug#21496).
16097 2015-09-20  Drew Csillag  <drew@thecsillags.com>
16099         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
16100         Fix m4_* highlighting.
16102         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
16103         of commands when they have a "m4_" prefix.
16105 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16107         '.' -> `.' in doc string
16109         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
16110         individual chars with grave quotes instead of straight quotes, as
16111         this works better when they are translated to curved quotes.
16113 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
16115         Improve file notifications, especially for Tramp
16117         * doc/lispref/files.texi (Magic File Names):
16118         Mention `file-notify-valid-p'.
16120         * doc/lispref/os.texi (File Notifications):
16121         Describe `file-notify-valid-p'.
16123         * etc/NEWS: Add `file-notify-valid-p'.
16125         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
16126         Improve implementation.
16127         (tramp-gvfs-monitor-file-process-filter): Rename from
16128         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
16129         process if appropriate.
16131         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
16132         Improve implementation.
16133         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
16134         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
16135         if appropriate.
16136         (tramp-sh-inotifywait-process-filter): Rename from
16137         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
16138         appropriate.
16140         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
16141         Use `delete-process'.
16142         (tramp-handle-file-notify-valid-p): Check also, that file or
16143         directory to be watched still exists.
16145         * test/automated/file-notify-tests.el (file-notify--test-timeout):
16146         New defun.  Use it at all places a timeout is needed.
16147         (file-notify--test-cleanup): Delete directories recursively.
16148         Cleanup also Tramp connections.
16149         (file-notify-test02-events): Add tests for `attribute-change'.
16150         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
16151         Add tests for `file-notify-rm-watch'.
16153 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16155         Use %s to format strings instead of splicing them
16157         If FOO might contain quotes that are part of a file or variable
16158         name, the quotes should not be translated when showing FOO’s name
16159         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
16160         is not quite right, as it would translate FOO’s quotes.
16161         Change it to (message "%s: bar" FOO) instead.
16162         * lisp/allout.el (allout-process-exposed):
16163         * lisp/calc/calc-ext.el (calc-do-prefix-help):
16164         * lisp/calc/calc-store.el (calc-store-into):
16165         * lisp/calendar/todo-mode.el (todo-category-completions):
16166         * lisp/cedet/semantic/complete.el (semantic-completion-message):
16167         * lisp/org/ob-latex.el (convert-pdf):
16168         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
16169         * lisp/org/ox-latex.el (org-latex-compile):
16170         * lisp/org/ox-man.el (org-man-compile):
16171         * lisp/org/ox-odt.el (org-odt--export-wrap):
16172         * lisp/org/ox-texinfo.el (org-texinfo-compile):
16173         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
16174         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
16175         (verilog-signals-combine-bus, verilog-read-defines)
16176         (verilog-getopt-file, verilog-expand-dirnames)
16177         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
16178         * lisp/term/ns-win.el (ns-spi-service-call):
16179         Use %s to avoid translating quotes of file names etc. in diagnostics.
16181 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
16183         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
16184         (js-mode): Don't set syntax-begin-function.
16186 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
16188         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
16189         syntax-begin-function is a symbol.
16191 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
16193         Improve documentation of 'run-at-time'
16194         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
16195         In particular, don't refer to 'diary-entry-time', because it is
16196         unavailable until diary-lib is loaded.  Also, refer to
16197         'timer-duration-words', not 'timer-duration', as the latter's doc
16198         string says nothing about the accepted strings.
16200 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
16202         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
16204 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
16206         Repair pdbtrack remote file tracking
16207         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
16208         Rectify pdbtrack so it follows transitions from one remote source
16209         file to the next.
16211 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
16213         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting.
16215 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
16217         Adapt vc-src to the old-new vc-checkin API
16218         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
16219         additional optional parameter.
16221 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
16223         Add overflow module to CSS property list
16224         * lisp/textmodes/css-mode.el (css-property-ids): Add properties
16225         from CSS Overflow Module Level 3.
16227 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
16229         Fix documentation of "C-u C-x v v"
16230         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
16231         documentation of "C-u C-x v v" match what the code does.
16233         Resurrect the ability to specify a revision in vc-next-action
16234         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
16235         * lisp/vc/vc-dav.el (vc-dav-checkin):
16236         * lisp/vc/vc-git.el (vc-git-checkin):
16237         * lisp/vc/vc-hg.el (vc-hg-checkin):
16238         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
16239         an additional optional argument, the revision to checkin.
16240         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
16241         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
16242         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
16243         a revision to checkin.
16244         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
16245         revision when checking in files.
16246         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
16247         for the details.
16249 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
16251         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
16252         (verilog-decls-princ, verilog-modport-princ)
16253         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
16255 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
16257         Fix the routine for help on Calc's prefixes
16258         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
16259         (calc-do-prefix-help): Use `read-char' to determine the next Calc
16260         command.
16262 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
16264         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove.
16265         (font-lock-fontify-block): Don't let-bind it.
16266         (font-lock-compile-keywords): Don't use it.
16267         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
16268         start one slot earlier, instead.
16269         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
16270         Don't declare.
16271         (syntax-ppss): Don't use it either.
16272         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
16273         from docstring.
16274         * doc/emacs/display.texi (Font Lock): Don't mention
16275         font-lock-beginning-of-syntax-function.
16276         * doc/lispref/modes.texi (Font Lock Basics): Update description of
16277         font-lock-defaults.
16278         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
16279         * lisp/loadhist.el (unload-feature-special-hooks):
16280         Remove font-lock-beginning-of-syntax-function.
16281         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
16282         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
16283         font-lock-beginning-of-syntax-function.
16285 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
16287         Backslash cleanup in Elisp source files
16288         This patch should not change behavior.  It typically omits backslashes
16289         where they are redundant (e.g., in the string literal "^\$").
16290         In a few places, insert backslashes where they make regular
16291         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
16292         "^\\*", which has the same effect as a regular expression.
16293         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
16294         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
16295         RCS IDs, as that makes it clearer that the backslash is intended.
16297         Some more minor backslash fixes
16298         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
16299         * test/automated/info-xref.el (info-xref-test-write-file):
16300         Double backslashes in strings.
16302         Fix several backslash typos in Elisp strings
16303         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
16304         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
16305         (todo-reset-done-string, todo-reset-comment-string)
16306         (todo-reset-highlight-item):
16307         * lisp/erc/erc-networks.el (erc-networks-alist):
16308         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
16309         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
16310         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
16311         (nntp-telnet-shell-prompt):
16312         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
16313         * lisp/image-dired.el (image-dired-rotate-original):
16314         (image-dired-get-exif-file-name):
16315         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
16316         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
16317         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
16318         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
16319         * lisp/net/shr-color.el (shr-color->hexadecimal):
16320         * lisp/org/org-bibtex.el (org-bibtex-fields):
16321         * lisp/org/org-docview.el (org-docview-export):
16322         * lisp/org/org-entities.el (org-entities):
16323         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
16324         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
16325         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
16326         (ebnf-style-database):
16327         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
16328         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
16329         * lisp/progmodes/sql.el (sql-product-alist):
16330         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
16331         (verilog-error-font-lock-keywords)
16332         (verilog-assignment-operator-re):
16333         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
16334         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
16335         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
16336         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
16337         For example, to get the regular expression ‘\.’ use the string
16338         literal "\\.", not "\." (which is equivalent to ".").
16339         * lisp/emulation/viper-util.el (viper-glob-unix-files):
16340         Remove stray ‘\j’ from string.
16341         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
16342         (nntp-telnet-shell-prompt):
16343         Treat > like $ when matching a shell prompt.
16344         * lisp/progmodes/make-mode.el (makefile-browse):
16345         Properly quote a diagnostic.
16347         Fix minor quoting problems in diagnostics
16348         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
16349         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
16350         Follow text-quoting-style in diagnostic, and quote a file name.
16352 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
16354         * doc/lispref/frames.texi (Cursor Parameters):
16355         Document 'x-stretch-cursor'.
16357 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
16359         Omit unnecessary \ before paren in C docstrings
16360         Although \( is needed in docstrings in Elisp code, it is not needed in
16361         docstrings in C code, since C function definitiions do not start with
16362         a parenthesis.  The backslashes made the docstrings a bit harder to
16363         read and to format in columns.  Also, some C docstrings had ( in
16364         column 1 and this did not appear to be causing any problems.  So,
16365         simplify C docstrings by replacing \( with ( and \) with ).
16367         A few more minor quoting fixes in a script and a text file
16369         Minor quoting fixes in scripts and doc
16370         Prefer straight quotes in random script files, as they are not
16371         converted.  Prefer grave quotes in a couple of places in the manual
16372         that were missed earlier, as these quotes are converted.
16374         Minor backslash fixes in manuals and scripts
16375         * Makefile.in (install-arch-indep):
16376         * admin/charsets/compact.awk:
16377         * admin/charsets/gb180302.awk (gb_to_index):
16378         * admin/charsets/gb180304.awk (gb_to_index):
16379         Avoid undefined behavior in Awk regular expression backslashes.
16380         * doc/misc/efaq.texi (Matching parentheses):
16381         Omit unnecessary backslashes.
16382         * doc/misc/gnus-faq.texi (FAQ 5-8):
16383         Avoid undefined behavior in suggested sed backslash usage.
16385         Add -Wswitch to --enable-gcc-warnings
16386         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
16387         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
16388         * lib-src/etags.c (main, consider_token, C_entries):
16389         * src/coding.c (encode_invocation_designation):
16390         * src/data.c (Ftype_of):
16391         * src/eval.c (Fdefvaralias, default_toplevel_binding)
16392         (Fbacktrace__locals, mark_specpdl):
16393         * src/lisp.h (record_xmalloc):
16394         * src/syntax.c (scan_lists, scan_sexps_forward):
16395         * src/window.c (window_relative_x_coord):
16396         * src/xdisp.c (push_it, pop_it):
16397         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
16398         Error out or do nothing (as appropriate) if a switch statement
16399         with an enum value does not cover all of the enum.
16400         * src/dispextern.h (struct iterator_stack_entry.u.comp):
16401         Remove unused member discovered by using -Wswitch.
16402         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
16403         * src/vm-limit.c (check_memory_limits):
16404         Simplify warning-diagnostic computation by using a table.
16406         etags ‘fatal’ function is now printf-like
16407         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
16408         Also, now static; not clear why it needed to be extern.
16409         (verror): New function, with most of the old contents of ‘error’.
16410         (fatal, error): Use it.
16412 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
16414         More adaptations in file-notify-tests.el
16415         * test/automated/file-notify-tests.el
16416         (file-notify-test05-dir-validity): Skip for w32notify in
16417         batch-mode.  (Bug#21432)
16419 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
16421         Adapt test in file-notify-tests.el
16422         * test/automated/file-notify-tests.el
16423         (file-notify-test04-file-validity): Skip for w32notify in
16424         batch-mode.  Add test lost last commit.
16426 2015-09-16  Dima Kogan  <dima@secretsauce.net>
16428         winner no longer holds on to dead frames
16429         * lisp/winner.el (winner-change-fun): Cull dead frames.
16430         This prevents a potentially massive memory leak.  See:
16431         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
16433 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
16435         Use common report_file_notify_error function
16436         * src/fileio.c (report_file_notify_error): New function.
16437         * src/inotify.c (report_inotify_error): Remove function.
16438         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
16439         (Finotify_rm_watch): Use report_file_notify_error.
16440         * src/lisp.h (report_file_notify_error): Declare external function.
16441         * src/w32notify.c (report_w32notify_error): Remove function.
16442         (Fw32notify_add_watch, Fw32notify_rm_watch):
16443         Use report_file_notify_error.
16445 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
16447         Fix documentation.
16448         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
16449         the documentation of the root mean square.
16451 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
16453         Remove tool_bar_redisplayed_once and associated code.
16454         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
16455         * src/frame.c (make_frame, x_set_font): Remove initialization of
16456         f->tool_bar_redisplayed_once.
16457         * src/w32fns.c (x_change_tool_bar_height):
16458         * src/xfns.c (x_change_tool_bar_height): Don't check for
16459         f->tool_bar_redisplayed_once.
16460         * src/xdisp.c (redisplay_internal): Remove handling of
16461         f->tool_bar_redisplayed_once.
16463 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
16465         Restore some of the quoting in the manuals
16466         * doc/lispref/windows.texi (Coordinates and Windows)
16467         (Coordinates and Windows):
16468         * doc/lispref/variables.texi (Lexical Binding)
16469         (File Local Variables):
16470         * doc/lispref/text.texi (Format Properties):
16471         * doc/lispref/symbols.texi (Symbol Components):
16472         * doc/lispref/strings.texi (Creating Strings):
16473         * doc/lispref/sequences.texi (Sequence Functions):
16474         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
16475         (Search and Replace):
16476         * doc/lispref/processes.texi (Bindat Spec):
16477         * doc/lispref/os.texi (Idle Timers):
16478         * doc/lispref/objects.texi (Basic Char Syntax):
16479         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
16480         * doc/lispref/nonascii.texi (Character Properties):
16481         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
16482         (Mode Line Variables):
16483         * doc/lispref/minibuf.texi (Text from Minibuffer):
16484         * doc/lispref/loading.texi (Autoload):
16485         * doc/lispref/keymaps.texi (Controlling Active Maps):
16486         * doc/lispref/frames.texi (Frame Layout, Size and Position)
16487         (Size Parameters, Implied Frame Resizing):
16488         * doc/lispref/files.texi (Changing Files, Magic File Names):
16489         * doc/lispref/eval.texi (Self-Evaluating Forms):
16490         * doc/lispref/display.texi (Progress, Abstract Display)
16491         (Abstract Display Example, Bidirectional Display):
16492         * doc/lispref/commands.texi (Event Mod):
16493         * doc/emacs/windows.texi (Displaying Buffers):
16494         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
16495         * doc/emacs/text.texi (Enriched Text):
16496         * doc/emacs/programs.texi (MixedCase Words):
16497         * doc/emacs/picture-xtra.texi (Insert in Picture)
16498         (Tabs in Picture):
16499         * doc/emacs/misc.texi (Emacs Server, Printing):
16500         * doc/emacs/mini.texi (Minibuffer History):
16501         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
16502         (Pulling / Pushing):
16503         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
16504         * doc/emacs/help.texi (Help, Help Echo):
16505         * doc/emacs/glossary.texi (Glossary):
16506         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
16507         (Frame Commands):
16508         * doc/emacs/files.texi (Reverting, Saving, Directories):
16509         * doc/emacs/entering.texi (Exiting):
16510         * doc/emacs/emacs.texi (Top):
16511         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
16512         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
16513         appropriate or replace quoting with @dfn.
16514         * doc/misc/ediff.texi (Window and Frame Configuration):
16515         * doc/lispref/processes.texi (Network Feature Testing):
16516         * doc/lispref/display.texi (Display Margins): Quote the phrase
16517         after "a.k.a." where appropriate.
16519 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
16521         Clarify reftex-extra-bindings docs
16522         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
16523         * doc/misc/reftex.texi (Key Bindings): Document that the variable
16524         only has an effect at load-time.
16526 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
16528         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
16529         search argument.  (Bug#21492) (Bug#21493)
16531 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
16533         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
16534         Add pretty symbols for \qquad and \varrho.
16536 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
16538         Add new functions for the root mean square of a (Calc) vector
16539         * lisp/calc/calc-stat.el (calcFunc-rms, calc-vector-rms):
16540         New functions.
16541         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
16542         `calc-vector-rms', add autoloads for `calc-vector-rms' and
16543         `calcFunc-rms'.
16544         * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for
16545         `calcFunc-rms'.
16546         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
16547         `calc-vector-rms'.
16548         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
16549         command.
16551 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
16553         Add monotone EDE generic project
16554         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
16555         Add monotone generic project.
16557         Revert premature commit
16558         * doc/lispref/files.texi: Revert premature commit of change to
16559         file-name-all-completions.
16561         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
16562         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
16563         with cl-generic defaults.
16564         (elisp--xref-find-references): Add doc string.
16565         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
16566         tests to find bug.
16568         Fix bugs in eieio-oref-default related to class symbols
16569         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
16570         (eieio-oref-default): Handle class properly.
16572 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
16574         Quote “fullboth” when defining it
16575         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
16576         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
16578 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
16580         Minor doc fix in emacs/ack.texi
16581         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
16582         first argument.
16584 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
16586         Adapt tests in auto-revert-tests.el
16587         * test/automated/auto-revert-tests.el (auto-revert--timeout):
16588         Make it a defconst.
16589         (auto-revert--wait-for-revert): New defun.
16590         (auto-revert-test00-auto-revert-mode)
16591         (auto-revert-test01-auto-revert-tail-mode)
16592         (auto-revert-test02-auto-revert-mode-dired): Use it.
16594 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
16596         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const.
16597         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
16598         (cl-lib-fdefs): Add defgeneric.
16599         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
16600         (eieio-kw, cl-lib-kw, el-kw): Remove.
16602 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
16604         Quote less in manuals
16605         The manuals often used quotes ``...'' when it is better to use @dfn or
16606         @code or capitalized words or no quoting at all.  For example, there is
16607         no need for the `` and '' in “if a variable has one effect for
16608         @code{nil} values and another effect for ``non-@code{nil}'' values”.
16609         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
16610         unnecessary quoting like this, and to use @dfn etc. instead when called
16611         for (Bug#21472).
16613 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
16615         * lisp/custom.el (load-theme): Only compute hash when needed.
16617 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
16619         Pacify --enable-gcc-warnings
16620         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
16622 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
16624         Improve error reports in inotify.c
16625         * src/inotify.c (report_inotify_error): New function.  Clone of
16626         report_w32notify_error.
16627         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
16628         (Finotify_rm_watch): Use it.
16630 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
16632         Fix the file-notify tests for watch validation on w32
16633         * test/automated/file-notify-tests.el
16634         (file-notify-test04-file-validity): Move the directory deletion
16635         out of the file-notify--test-with-events macro.
16636         (file-notify-test04-file-validity)
16637         (file-notify-test05-dir-validity): Enlarge the timeout of
16638         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
16640 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
16642         Use OPEN BOX instead of space for \quad.
16643         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
16644         character for \quad instead of a space.
16646 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
16648         Add missing *.pbm images
16649         * etc/images/connect.pbm: New file.
16650         * etc/images/custom/down-pushed.pbm: New file.
16651         * etc/images/custom/down.pbm: New file.
16652         * etc/images/custom/right-pushed.pbm: New file.
16653         * etc/images/custom/right.pbm: New file.
16654         * etc/images/describe.pbm: New file.
16655         * etc/images/disconnect.pbm: New file.
16656         * etc/images/ezimage/bits.pbm: New file.
16657         * etc/images/ezimage/bitsbang.pbm: New file.
16658         * etc/images/ezimage/box-minus.pbm: New file.
16659         * etc/images/ezimage/box-plus.pbm: New file.
16660         * etc/images/ezimage/box.pbm: New file.
16661         * etc/images/ezimage/checkmark.pbm: New file.
16662         * etc/images/ezimage/dir-minus.pbm: New file.
16663         * etc/images/ezimage/dir-plus.pbm: New file.
16664         * etc/images/ezimage/dir.pbm: New file.
16665         * etc/images/ezimage/doc-minus.pbm: New file.
16666         * etc/images/ezimage/doc-plus.pbm: New file.
16667         * etc/images/ezimage/doc.pbm: New file.
16668         * etc/images/ezimage/info.pbm: New file.
16669         * etc/images/ezimage/key.pbm: New file.
16670         * etc/images/ezimage/label.pbm: New file.
16671         * etc/images/ezimage/lock.pbm: New file.
16672         * etc/images/ezimage/mail.pbm: New file.
16673         * etc/images/ezimage/page-minus.pbm: New file.
16674         * etc/images/ezimage/page-plus.pbm: New file.
16675         * etc/images/ezimage/page.pbm: New file.
16676         * etc/images/ezimage/tag-gt.pbm: New file.
16677         * etc/images/ezimage/tag-minus.pbm: New file.
16678         * etc/images/ezimage/tag-plus.pbm: New file.
16679         * etc/images/ezimage/tag-type.pbm: New file.
16680         * etc/images/ezimage/tag-v.pbm: New file.
16681         * etc/images/ezimage/tag.pbm: New file.
16682         * etc/images/ezimage/unlock.pbm: New file.
16683         * etc/images/gnus/important.pbm: New file.
16684         * etc/images/gnus/mail-send.pbm: New file.
16685         * etc/images/gnus/receipt.pbm: New file.
16686         * etc/images/gnus/toggle-subscription.pbm: New file.
16687         * etc/images/gnus/unimportant.pbm: New file.
16688         * etc/images/gud/all.pbm: New file.
16689         * etc/images/gud/rcont.pbm: New file.
16690         * etc/images/gud/recstart.pbm: New file.
16691         * etc/images/gud/recstop.pbm: New file.
16692         * etc/images/gud/rfinish.pbm: New file.
16693         * etc/images/gud/rnext.pbm: New file.
16694         * etc/images/gud/rnexti.pbm: New file.
16695         * etc/images/gud/rstep.pbm: New file.
16696         * etc/images/gud/rstepi.pbm: New file.
16697         * etc/images/gud/thread.pbm: New file.
16698         * etc/images/lock-broken.pbm: New file.
16699         * etc/images/lock-ok.pbm: New file.
16700         * etc/images/lock.pbm: New file.
16701         * etc/images/mail/copy.pbm: New file.
16702         * etc/images/mail/forward.pbm: New file.
16703         * etc/images/mail/not-spam.pbm: New file.
16704         * etc/images/mail/outbox.pbm: New file.
16705         * etc/images/mail/preview.pbm: New file.
16706         * etc/images/mail/save-draft.pbm: New file.
16707         * etc/images/mh-logo.pbm: New file.
16708         * etc/images/mpc/add.pbm: New file.
16709         * etc/images/mpc/ffwd.pbm: New file.
16710         * etc/images/mpc/next.pbm: New file.
16711         * etc/images/mpc/pause.pbm: New file.
16712         * etc/images/mpc/play.pbm: New file.
16713         * etc/images/mpc/prev.pbm: New file.
16714         * etc/images/mpc/rewind.pbm: New file.
16715         * etc/images/mpc/stop.pbm: New file.
16716         * etc/images/redo.pbm: New file.
16717         * etc/images/smilies/braindamaged.pbm: New file.
16718         * etc/images/smilies/cry.pbm: New file.
16719         * etc/images/smilies/dead.pbm: New file.
16720         * etc/images/smilies/evil.pbm: New file.
16721         * etc/images/smilies/forced.pbm: New file.
16722         * etc/images/smilies/grin.pbm: New file.
16723         * etc/images/smilies/indifferent.pbm: New file.
16724         * etc/images/sort-ascending.pbm: New file.
16725         * etc/images/sort-column-ascending.pbm: New file.
16726         * etc/images/sort-criteria.pbm: New file.
16727         * etc/images/sort-descending.pbm: New file.
16728         * etc/images/sort-row-ascending.pbm: New file.
16729         * etc/images/unchecked.pbm: New file.
16730         * etc/images/zoom-in.pbm: New file.
16731         * etc/images/README: Update instructions for PBM files.
16733         Add separator.pbm tool-bar image
16734         * etc/images/separator.pbm: New file.  Having it avoids the side
16735         effect of changing the tool-bar height when the default font's size
16736         changes and XPM image support is not available, due to the SPC
16737         characters that are left in the Lisp string used to display the tool
16738         bar, because there are no images to display instead of those SPC
16739         characters.
16741         Make show-paren-match face visible on mono-color displays
16742         * lisp/faces.el (show-paren-match): Use the underline face for
16743         mono-color displays.  (Bug#21481)
16745 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
16747         Don’t double-encode non-ASCII mail clipboard
16748         * lisp/mail/mailclient.el (mailclient-send-it):
16749         Also fix the case when mailclient-place-body-on-clipboard-flag
16750         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
16752 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
16754         Adapt file-notify-tests.el test cases
16755         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
16756         * src/inotify.c (Finotify_valid_p): Adapt docstring.
16757         * test/automated/file-notify-tests.el
16758         (file-notify-test03-autorevert)
16759         (file-notify-test04-file-validity)
16760         (file-notify-test04-file-validity-remote)
16761         (file-notify-test05-dir-validity)
16762         (file-notify-test05-dir-validity-remote): Adapt docstring.
16763         (file-notify-test04-file-validity): Let events arrive before
16764         calling final `file-notify-valid-p'.  Do not ignore errors.
16765         (file-notify-test05-dir-validity): Do not manipulate
16766         `temporary-file-directory', it isn't necessary.  Let events arrive
16767         before calling final `file-notify-valid-p'.  Do not ignore errors.
16769 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
16771         Don’t double-encode non-ASCII for mail client
16772         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
16773         Use RFC 6068’s list of unreserved characters.
16774         (mailclient-send-it): When encoding the body as a URL,
16775         first decode it as per Content-Type: and Content-Transfer-Encoding:,
16776         as URLs must use percent-encoded UTF-8 (Bug#21471).
16777         * doc/misc/url.texi (mailto): Update RFC number.
16779 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
16781         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
16783 2015-09-14  Alan Mackenzie  <acm@muc.de>
16785         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs
16786         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
16787         `cadr/car'.
16789 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
16791         Clarify documentation of char-table extra slots
16792         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
16793         slot numbers are zero-based.  (Bug#21467)
16795 2015-09-14  Alan Mackenzie  <acm@muc.de>
16797         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
16798         Fixes bug#21449.
16799         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
16800         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
16801         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
16802         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
16803         Insert "\\|\\\\." into regexps which match symbols.
16805 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
16807         Improve the doc string of w32notify-valid-p
16808         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
16809         that removing a watch makes its object invalid.
16811 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
16813         Fix tests for file-notify-valid-p
16814         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
16815         Use delete-directory to delete file-notify--test-tmpfile if it is
16816         a directory.  Likewise for file-notify--test-tmpfile1.
16817         (file-notify-test04-file-validity)
16818         (file-notify-test05-dir-validity): Delete the parent directory of
16819         the test.  Ignore errors when cleaning up after the test.
16821 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
16823         Report file-notify-error in w32notify.c
16824         * src/w32notify.c (report_w32notify_error): New function.
16825         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
16826         errors, instead of calling report_file_error.  (Bug#21432)
16828         Implement w32notify-valid-p
16829         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
16830         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
16831         'identity'.
16833 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
16835         Test file-notify-valid-p
16836         * test/automated/file-notify-tests.el
16837         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
16838         New tests.
16840 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
16842         Fix markup in ELisp manual
16843         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
16844         of the 'alpha' parameter value.  (Bug#21470)
16846 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
16848         Introduce `file-notify-valid-p'
16849         * lisp/filenotify.el (file-notify-valid-p): New defun.
16850         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
16851         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
16852         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
16853         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
16854         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
16855         <file-notify-valid-p>: Add handler.
16856         * lisp/net/tramp.el (tramp-file-name-for-operation):
16857         Add `file-notify-valid-p'.
16858         (tramp-handle-file-notify-valid-p): New defun.
16859         * src/inotify.c (Finotify_valid_p): New defun.
16860         (syms_of_inotify): Declare Sinotify_valid_p.
16862 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16864         Port Unicode char detection to FreeBSD+svgalib
16865         Problem reported by Ashish SHUKLA in:
16866         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
16867         * configure.ac: Check for struct unipair.unicode instead of for
16868         <linux/kd.h>, since that’s more specific to what the code
16869         actually needs.
16870         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
16872         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
16874 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
16876         Fix vertical cursor motion across overlay strings with newlines
16877         * src/indent.c (Fvertical_motion): Don't leave point in the middle
16878         of an overlay string with newlines, as that will position the
16879         cursor after the string at whatever column is there.  (Bug#21468)
16881 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
16883         Fix tests in file-notify-tests.el
16884         * test/automated/file-notify-tests.el: Remove Tramp declarations.
16885         (file-notify-test00-availability): Print remote command w/o Tramp
16886         internal functions.
16887         (file-notify-test02-events, file-notify-test02-events-remote):
16888         Adapt docstring.
16889         (file-notify-test03-autorevert): Use `format-message' when
16890         inspecting *Messages* buffer.
16892 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
16894         Bind inhibit-modification-hooks rather than a/b-c-f
16895         * lisp/wid-edit.el (widget-editable-list-insert-before)
16896         (widget-editable-list-delete-at):
16897         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
16898         (cperl-font-lock-unfontify-region-function):
16899         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
16900         * lisp/obsolete/longlines.el (longlines-mode):
16901         * lisp/obsolete/fast-lock.el (save-buffer-state):
16902         * lisp/mouse.el (mouse-save-then-kill-delete-region):
16903         * lisp/gnus/message.el (message-hide-headers):
16904         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
16905         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
16906         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
16907         than after/before-change-functions to nil.
16909 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
16911         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
16912         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
16913         the buffers, even if the forced redisplay is interrupted.
16915         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
16917         Merge syntax-propertize--done and parse-sexp-propertize-done
16918         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
16919         (syntax-propertize): Set syntax-propertize--done even if
16920         syntax-propertize-function is nil.  Avoid recursive invocations.
16921         (syntax-propertize-chunks): New var.
16922         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
16923         Simplify.
16924         (parse-sexp-propertize-function): Don't set any more.
16925         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
16926         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
16927         Call Qinternal__syntax_propertize instead of
16928         Vparse_sexp_propertize_function.  Truncate e_property if needed.
16929         (update_syntax_table_forward): Streamline.
16930         (syms_of_syntax): Define Qinternal__syntax_propertize.
16931         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
16933 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16935         Prefer straight quoting in some text files
16936         Mostly this just changes ` to ' in static text.  Some exceptions:
16937         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
16938         typically does that now.
16939         * admin/quick-install-emacs (TRY, top level):
16940         Use straight quoting in diagnostics.
16941         * src/README: Fix working-directory confusion.
16943         * CONTRIBUTE: Move send-email here from git-workflow.
16945 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
16947         Improve file notifications in Tramp
16948         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
16949         Set proper events to watch for.
16950         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
16951         watched events.
16953 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
16955         Fix NS build with --enable-checking='glyphs'
16956         * src/nsfns.m (unwind_create_frame): Make the preprocessor
16957         conditionals for referencing 'dpyinfo' consistent throughout the
16958         function.  (Bug#21426)
16960 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
16962         Add seq-find
16963         This function is similar to `seq-some' but returns the found element.
16964         In the cases where nil can be the found element, a sentinel optional
16965         argument can be provided to avoid ambiguities.
16966         * lisp/emacs-lisp/seq.el (seq-find): New function.
16967         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
16968         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
16969         seq-find.
16971 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
16973         Document file-notify--test-with-events.
16974         * test/automated/file-notify-tests.el (file-notify--test-with-events):
16975         Add docstring.
16977 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
16979         Report used native library in file-notify-tests.el
16980         * test/automated/file-notify-tests.el
16981         (tramp-get-remote-gvfs-monitor-dir)
16982         (tramp-get-remote-inotifywait): Declare them.
16983         (file-notify-test00-availability): Print used native library.
16985 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
16987         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
16988         (mpc-file-local-copy): Check for absolute path.  Check more config
16989         locations.
16991 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
16993         Improve documentation of categories
16994         * doc/lispref/syntax.texi (Categories): Clarify the example of
16995         using define-category and modify-category-entry.  (Bug#21448)
16997 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16999         Revert some stray curved quotes I missed earlier
17000         Problem reported by David Kastrup in:
17001         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
17002         * lisp/international/mule-cmds.el (leim-list-header):
17003         Use format-message with an ASCII-only format.
17005         Prefer NUMBERP to spelling it out
17006         * src/editfns.c (styled_format):
17007         * src/frame.h (NUMVAL):
17008         * src/image.c (parse_image_spec):
17009         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
17010         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
17011         * src/process.c (Fsignal_process):
17012         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
17013         * src/xfaces.c (check_lface_attrs):
17014         * src/xselect.c (x_fill_property_data, x_send_client_event):
17015         Use NUMBERP rather than INTEGERP || FLOATP.
17017 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
17019         Improve file-notify-tests
17020         * test/automated/file-notify-tests.el: Use lexical-binding.
17021         (file-notify--test-cleanup): New function.
17022         (file-notify-test00-availability, file-notify-test01-add-watch)
17023         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
17024         (file-notify--test-with-events): New macro.
17025         (file-notify-test02-events): Use it.
17027 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
17029         Add patch-sending instructions to git-workflow
17030         From a suggestion by Mitchel Humpherys in:
17031         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
17032         * admin/notes/git-workflow (Sending patches): New section.
17034         Port to GIFLIB 5.0.6 and later
17035         Problem reported by Mitchel Humpherys in:
17036         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
17037         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
17038         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
17039         (gif_load) [HAVE_GIF]: Use it.
17041 2015-09-10  Glenn Morris  <rgm@gnu.org>
17043         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
17045 2015-09-09  Glenn Morris  <rgm@gnu.org>
17047         * test/automated/file-notify-tests.el (file-notify-test02-events):
17048         Fix recent change.
17050 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
17052         Refix movemail GCC pacification
17053         Problem reported by Ken Brown in:
17054         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
17055         * lib-src/movemail.c (main): Fix previous change.
17057 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
17059         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
17060         Mark unused vars with underscore.
17062         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
17063         (parse_sexp_propertize): ...from here.
17065         * lisp/filenotify.el: Use lexical-binding
17066         (file-notify-add-watch): Avoid add-to-list.
17068 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
17070         Start checking event types in file-notify tests
17071         * test/automated/file-notify-tests.el (file-notify--test-events):
17072         New variable.
17073         (file-notify--test-event-handler): Append received event to
17074         file-notify--test-events for later analysis.
17075         (file-notify-test02-events): Assert that the expected notifications have
17076         arrived in the expected order.
17078 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
17080         Merge from gnulib and texinfo
17081         This incorporates:
17082         2015-08-03 Improve port of stdalign to C++11
17083         * lib/stdalign.in.h: Copy from gnulib.
17084         * doc/misc/texinfo.tex: Copy from texinfo.
17086 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
17088         Make syntax.c call syntax-propertize on demand
17089         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
17090         (parse-sexp-propertize-function): Use it.
17091         (syntax-propertize): Disable parse-sexp-propertize-function.
17092         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
17093         New functions.
17094         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
17095         `parse-sexp-propertize-function'.
17096         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
17097         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
17098         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
17099         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
17100         Don't assume `point' is set.
17102 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
17104         Fix indentation of an @example in ELisp manual
17105         * doc/lispref/syntax.texi (Categories): Untabify the example.
17106         (Bug#21448)
17108 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
17110         Define internal-char-font even if --without-x
17111         The function is used now even in non-graphical environments.
17112         Problem reported by Glenn Morris in:
17113         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
17114         * src/font.c (Finternal_char_font): Move here ...
17115         * src/fontset.c (Finternal_char_font): ... from here.
17117 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
17119         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers):
17120         Remove warning.
17122 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
17124         Fix display of complex local data types in GDB-MI
17125         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
17126         variable has no value, display "<complex data type>" as a
17127         placeholder, instead of a confusing "nil".  (Bug#21438)
17129 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
17131         Remove redundant redefinition of seq-drop-while from seq.el
17132         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
17134 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
17136         * lisp/emacs-lisp/package.el (package--ensure-init-file):
17137         More robust check for `package-initialize' calls in init file.
17138         This function accepts an optional argument, but calls passing
17139         an argument would not have been detected.
17141 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
17143         Port movemail to RHEL 6 with --enable-gcc-warnings
17144         * lib-src/movemail.c (main): Declare local only if needed.
17146         Port recent Linux console changes to RHEL 6
17147         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
17149         Improvements for curved quotes on Linux consule
17150         This should help Emacs work better out-of-the-box on Linux consoles,
17151         which have only limited support for displaying Unicode characters.
17152         Also, undo the recent change that caused text-quoting-style to
17153         affect quote display on terminals, so that the two features are
17154         independent.  See Alan Mackenzie in:
17155         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
17156         Finally, add a style parameter to startup--setup-quote-display,
17157         so that this function can also be invoked after startup, with
17158         different styles depending on user preference at the time.
17159         * configure.ac: Check for linux/kd.h header.
17160         * doc/emacs/display.texi (Text Display): Document quote display.
17161         * doc/lispref/display.texi (Active Display Table):
17162         * etc/NEWS:
17163         * lisp/startup.el (startup--setup-quote-display, command-line):
17164         text-quoting-style no longer affects quote display.
17165         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
17166         * lisp/international/mule-util.el (char-displayable-p):
17167         * lisp/startup.el (startup--setup-quote-display):
17168         On a text terminal supporting glyph codes, use the reported
17169         glyph codes instead of the terminal coding system, as this
17170         is more accurate on the Linux console.
17171         * lisp/startup.el (startup--setup-quote-display):
17172         New optional arg STYLE.
17173         * src/fontset.c (Finternal_char_font):
17174         Report glyph codes for a text terminal, if they are available.
17175         Currently this is supported only for the Linux console.
17176         * src/termhooks.h (struct terminal): New member glyph-code-table.
17177         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
17178         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
17179         (terminal_glyph_code): New function.
17181 2015-09-08  Juri Linkov  <juri@linkov.net>
17183         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
17184         underline.  (Bug#21433)
17186 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
17188         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
17190 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
17192         Fix double-reporting of rename events with inotify
17193         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
17194         of rename events with inotify (bug#21435).
17196 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
17198         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
17199         (tetris-mode-map): Use it.
17201 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
17203         Remove a few simple cases of global redisplay
17204         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
17205         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
17206         rather than returning a "resized_p" boolean.
17207         (redisplay_internal): Adjust call accordingly.
17208         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
17209         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
17210         tracking of this undesirable situation.
17212         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
17213         * src/process.c (status_notify): Only set the update_mode_line on the
17214         relevant buffers rather than setting it globally.
17216 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17218         * lisp/electric.el (electric-quote-post-self-insert-function):
17219         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
17220         (electric-quote-mode): Activate everywhere in message-mode.
17222 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
17224         Go back to grave quoting in source-code docstrings etc.
17225         This reverts almost all my recent changes to use curved quotes
17226         in docstrings and/or strings used for error diagnostics.
17227         There are a few exceptions, e.g., Bahá’í proper names.
17228         * admin/unidata/unidata-gen.el (unidata-gen-table):
17229         * lisp/abbrev.el (expand-region-abbrevs):
17230         * lisp/align.el (align-region):
17231         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
17232         (outlineify-sticky):
17233         * lisp/apropos.el (apropos-library):
17234         * lisp/bookmark.el (bookmark-default-annotation-text):
17235         * lisp/button.el (button-category-symbol, button-put)
17236         (make-text-button):
17237         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
17238         * lisp/calc/calc-embed.el (calc-do-embedded):
17239         * lisp/calc/calc-ext.el (calc-user-function-list):
17240         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
17241         * lisp/calc/calc-help.el (calc-describe-key)
17242         (calc-describe-thing, calc-full-help):
17243         * lisp/calc/calc-lang.el (calc-c-language)
17244         (math-parse-fortran-vector-end, math-parse-tex-sum)
17245         (math-parse-eqn-matrix, math-parse-eqn-prime)
17246         (calc-yacas-language, calc-maxima-language, calc-giac-language)
17247         (math-read-giac-subscr, math-read-math-subscr)
17248         (math-read-big-rec, math-read-big-balance):
17249         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
17250         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
17251         (calc-auto-recompute):
17252         * lisp/calc/calc-prog.el (calc-fix-token-name)
17253         (calc-read-parse-table-part, calc-user-define-invocation)
17254         (math-do-arg-check):
17255         * lisp/calc/calc-store.el (calc-edit-variable):
17256         * lisp/calc/calc-units.el (math-build-units-table-buffer):
17257         * lisp/calc/calc-vec.el (math-read-brackets):
17258         * lisp/calc/calc-yank.el (calc-edit-mode):
17259         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
17260         * lisp/calendar/appt.el (appt-display-message):
17261         * lisp/calendar/diary-lib.el (diary-check-diary-file)
17262         (diary-mail-entries, diary-from-outlook):
17263         * lisp/calendar/icalendar.el (icalendar-export-region)
17264         (icalendar--convert-float-to-ical)
17265         (icalendar--convert-date-to-ical)
17266         (icalendar--convert-ical-to-diary)
17267         (icalendar--convert-recurring-to-diary)
17268         (icalendar--add-diary-entry):
17269         * lisp/calendar/time-date.el (format-seconds):
17270         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
17271         (timeclock-make-hours-explicit, timeclock-log-data):
17272         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
17273         (todo-item-mark, todo-check-format)
17274         (todo-insert-item--next-param, todo-edit-item--next-key)
17275         (todo-mode):
17276         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
17277         * lisp/cedet/mode-local.el (describe-mode-local-overload)
17278         (mode-local-print-binding, mode-local-describe-bindings-2):
17279         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
17280         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
17281         * lisp/cus-start.el (standard):
17282         * lisp/cus-theme.el (describe-theme-1):
17283         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
17284         (custom--sort-vars-1, load-theme):
17285         * lisp/descr-text.el (describe-text-properties-1, describe-char):
17286         * lisp/dired-x.el (dired-do-run-mail):
17287         * lisp/dired.el (dired-log):
17288         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
17289         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
17290         (ad-disable-advice, ad-remove-advice, ad-set-argument)
17291         (ad-set-arguments, ad--defalias-fset, ad-activate)
17292         (ad-deactivate):
17293         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
17294         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
17295         (byte-optimize-while, byte-optimize-apply):
17296         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
17297         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
17298         (byte-compile-log-file, byte-compile-format-warn)
17299         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
17300         (byte-compile-cl-warn)
17301         (byte-compile-warn-about-unresolved-functions)
17302         (byte-compile-file, byte-compile--declare-var)
17303         (byte-compile-file-form-defmumble, byte-compile-form)
17304         (byte-compile-normal-call, byte-compile-check-variable)
17305         (byte-compile-variable-ref, byte-compile-variable-set)
17306         (byte-compile-subr-wrong-args, byte-compile-setq-default)
17307         (byte-compile-negation-optimizer)
17308         (byte-compile-condition-case--old)
17309         (byte-compile-condition-case--new, byte-compile-save-excursion)
17310         (byte-compile-defvar, byte-compile-autoload)
17311         (byte-compile-lambda-form)
17312         (byte-compile-make-variable-buffer-local, display-call-tree)
17313         (batch-byte-compile):
17314         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
17315         * lisp/emacs-lisp/chart.el (chart-space-usage):
17316         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
17317         (check-declare-warn, check-declare-file)
17318         (check-declare-directory):
17319         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
17320         (checkdoc-message-text-engine):
17321         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
17322         (cl--describe-class):
17323         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
17324         (cl--generic-describe, cl-generic-generalizers):
17325         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
17326         (cl-symbol-macrolet):
17327         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
17328         * lisp/emacs-lisp/copyright.el (copyright)
17329         (copyright-update-directory):
17330         * lisp/emacs-lisp/edebug.el (edebug-read-list):
17331         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
17332         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
17333         (eieio-oref):
17334         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
17335         * lisp/emacs-lisp/eieio-speedbar.el:
17336         (eieio-speedbar-child-make-tag-lines)
17337         (eieio-speedbar-child-description):
17338         * lisp/emacs-lisp/eieio.el (defclass, change-class):
17339         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
17340         (elint-init-form, elint-check-defalias-form)
17341         (elint-check-let-form):
17342         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
17343         (ert-results-pop-to-backtrace-for-test-at-point)
17344         (ert-results-pop-to-messages-for-test-at-point)
17345         (ert-results-pop-to-should-forms-for-test-at-point)
17346         (ert-describe-test):
17347         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
17348         (find-function-library):
17349         * lisp/emacs-lisp/generator.el (iter-yield):
17350         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
17351         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
17352         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
17353         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
17354         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
17355         (advice--make, define-advice):
17356         * lisp/emacs-lisp/package-x.el (package-upload-file):
17357         * lisp/emacs-lisp/package.el (package-version-join)
17358         (package-disabled-p, package-activate-1, package-activate)
17359         (package--download-one-archive)
17360         (package--download-and-read-archives)
17361         (package-compute-transaction, package-install-from-archive)
17362         (package-install, package-install-selected-packages)
17363         (package-delete, package-autoremove, describe-package-1)
17364         (package-install-button-action, package-delete-button-action)
17365         (package-menu-hide-package, package-menu--list-to-prompt)
17366         (package-menu--perform-transaction)
17367         (package-menu--find-and-notify-upgrades):
17368         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
17369         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
17370         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
17371         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
17372         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
17373         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
17374         (rx-form):
17375         * lisp/emacs-lisp/smie.el (smie-config-save):
17376         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
17377         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
17378         * lisp/emacs-lisp/testcover.el (testcover-1value):
17379         * lisp/emacs-lisp/timer.el (timer-event-handler):
17380         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
17381         (viper-toggle-search-style, viper-kill-buffer)
17382         (viper-brac-function):
17383         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
17384         * lisp/env.el (setenv):
17385         * lisp/erc/erc-button.el (erc-nick-popup):
17386         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
17387         * lisp/eshell/em-dirs.el (eshell/cd):
17388         * lisp/eshell/em-glob.el (eshell-glob-regexp)
17389         (eshell-glob-entries):
17390         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
17391         * lisp/eshell/esh-opt.el (eshell-show-usage):
17392         * lisp/facemenu.el (facemenu-add-new-face)
17393         (facemenu-add-new-color):
17394         * lisp/faces.el (read-face-name, read-face-font, describe-face)
17395         (x-resolve-font-name):
17396         * lisp/files-x.el (modify-file-local-variable):
17397         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
17398         (set-auto-mode, hack-one-local-variable--obsolete)
17399         (dir-locals-set-directory-class, write-file, basic-save-buffer)
17400         (delete-directory, copy-directory, recover-session)
17401         (recover-session-finish, insert-directory)
17402         (file-modes-char-to-who, file-modes-symbolic-to-number)
17403         (move-file-to-trash):
17404         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
17405         * lisp/find-cmd.el (find-generic, find-to-string):
17406         * lisp/finder.el (finder-commentary):
17407         * lisp/font-lock.el (font-lock-fontify-buffer):
17408         * lisp/format.el (format-write-file, format-find-file)
17409         (format-insert-file):
17410         * lisp/frame.el (get-device-terminal, select-frame-by-name):
17411         * lisp/fringe.el (fringe--check-style):
17412         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
17413         * lisp/help-fns.el (help-fns--key-bindings)
17414         (help-fns--compiler-macro, help-fns--parent-mode)
17415         (help-fns--obsolete, help-fns--interactive-only)
17416         (describe-function-1, describe-variable):
17417         * lisp/help.el (describe-mode)
17418         (describe-minor-mode-from-indicator):
17419         * lisp/image.el (image-type):
17420         * lisp/international/ccl.el (ccl-dump):
17421         * lisp/international/fontset.el (x-must-resolve-font-name):
17422         * lisp/international/mule-cmds.el (prefer-coding-system)
17423         (select-safe-coding-system-interactively)
17424         (select-safe-coding-system, activate-input-method)
17425         (toggle-input-method, describe-current-input-method)
17426         (describe-language-environment):
17427         * lisp/international/mule-conf.el (code-offset):
17428         * lisp/international/mule-diag.el (describe-character-set)
17429         (list-input-methods-1):
17430         * lisp/mail/feedmail.el (feedmail-run-the-queue):
17431         * lisp/mouse.el (minor-mode-menu-from-indicator):
17432         * lisp/mpc.el (mpc-playlist-rename):
17433         * lisp/msb.el (msb--choose-menu):
17434         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
17435         * lisp/net/imap.el (imap-interactive-login):
17436         * lisp/net/mairix.el (mairix-widget-create-query):
17437         * lisp/net/newst-backend.el (newsticker--sentinel-work):
17438         * lisp/net/newst-treeview.el (newsticker--treeview-load):
17439         * lisp/net/rlogin.el (rlogin):
17440         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
17441         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
17442         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
17443         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
17444         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
17445         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
17446         (org-babel-goto-named-result):
17447         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
17448         * lisp/org/ob-ref.el (org-babel-ref-resolve):
17449         * lisp/org/org-agenda.el (org-agenda-prepare):
17450         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
17451         (org-clock-resolve):
17452         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
17453         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
17454         * lisp/org/org-habit.el (org-habit-parse-todo):
17455         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
17456         (org-mouse-context-menu):
17457         * lisp/org/org-table.el (org-table-edit-formulas):
17458         * lisp/org/ox.el (org-export-async-start):
17459         * lisp/proced.el (proced-log):
17460         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
17461         (ada-check-matching-start, ada-goto-matching-start):
17462         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
17463         * lisp/progmodes/ada-xref.el (ada-find-executable):
17464         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
17465         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
17466         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
17467         (flymake-start-syntax-check-process):
17468         * lisp/progmodes/python.el (python-shell-get-process-or-error)
17469         (python-define-auxiliary-skeleton):
17470         * lisp/progmodes/sql.el (sql-comint):
17471         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
17472         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
17473         * lisp/recentf.el (recentf-open-files):
17474         * lisp/replace.el (query-replace-read-from)
17475         (occur-after-change-function, occur-1):
17476         * lisp/scroll-bar.el (scroll-bar-columns):
17477         * lisp/server.el (server-get-auth-key):
17478         * lisp/simple.el (execute-extended-command)
17479         (undo-outer-limit-truncate, list-processes--refresh)
17480         (compose-mail, set-variable, choose-completion-string)
17481         (define-alternatives):
17482         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
17483         (command-line-1):
17484         * lisp/subr.el (noreturn, define-error, add-to-list)
17485         (read-char-choice, version-to-list):
17486         * lisp/term/common-win.el (x-handle-xrm-switch)
17487         (x-handle-name-switch, x-handle-args):
17488         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
17489         * lisp/textmodes/reftex-ref.el (reftex-label):
17490         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
17491         * lisp/textmodes/two-column.el (2C-split):
17492         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
17493         (tutorial--find-changed-keys):
17494         * lisp/type-break.el (type-break-noninteractive-query):
17495         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
17496         (wdired-do-perm-changes):
17497         * lisp/whitespace.el (whitespace-report-region):
17498         Prefer grave quoting in source-code strings used to generate help
17499         and diagnostics.
17500         * lisp/faces.el (face-documentation):
17501         No need to convert quotes, since the result is a docstring.
17502         * lisp/info.el (Info-virtual-index-find-node)
17503         (Info-virtual-index, info-apropos):
17504         Simplify by generating only curved quotes, since info files are
17505         typically that ways nowadays anyway.
17506         * lisp/international/mule-diag.el (list-input-methods):
17507         Don’t assume text quoting style is curved.
17508         * lisp/org/org-bibtex.el (org-bibtex-fields):
17509         Revert my recent changes, going back to the old quoting style.
17511 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
17513         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling.
17514         (package--autoloads-file-name)
17515         (package--activate-autoloads-and-load-path): New function.
17516         (package-activate-1): Delegate autoloading and load-path
17517         configuration to `package--activate-autoloads-and-load-path'.
17518         (package--compile): Before compilation, call
17519         `package--activate-autoloads-and-load-path' instead of
17520         `package-activate-1'.
17522 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17524         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
17526 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
17528         Fix deletion of symlinks to directories on MS-Windows
17529         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
17530         symlink to a directory, try again with 'rmdir'.
17531         (is_symlink): If the argument is a symlink to a directory, set a
17532         bit in the return value to indicate that fact.
17534 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
17536         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
17537         When `package-initialize' is called as part of loading the init file,
17538         the user probably doesn't want it to be called again afterwards.
17539         In this situation, `package-initialize' now sets
17540         `package-enable-at-startup' to nil to prevent that.  The user can have
17541         the old behavior by setting this variable to t after the call to
17542         `package-initialize'.  (Bug#21423)
17543         * doc/emacs/package.texi (Package Installation): Document it.
17544         * doc/lispref/package.texi (Packaging Basics): Document it.
17545         * etc/NEWS: Document it.
17547 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
17549         Bump version of ntlm.el to 2.00
17550         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.
17551         Add comm keyword.
17553 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
17555         * doc/misc/gnus.texi (Mail Source Specifiers):
17556         Allow :mailbox to be a list.
17558 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
17560         * lisp/progmodes/etags.el (etags-tags-completion-table):
17561         Allow even one non-regular character before the implicit tag name.
17562         Reported at http://emacs.stackexchange.com/questions/15269/.
17564 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
17566         Add support for NTLMv2 authentication
17567         * lisp/net/ntlm.el (ntlm): New customization group.
17568         (ntlm-compatibility-level): New defcustom.
17569         (ntlm-compute-timestamp): New function.
17570         (ntlm-generate-nonce): Likewise.
17571         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
17573 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
17575         * lisp/emacs-lisp/package.el: Rename custom faces.
17576         All of the recently introduced faces, like `package-name-face', have
17577         been renamed to no end in `-face' to comply with the convention
17578         described in (info "(elisp) Defining Faces").
17579         (package-name, package-description)
17580         (package-status-built-in, package-status-external)
17581         (package-status-available, package-status-new)
17582         (package-status-held, package-status-disabled)
17583         (package-status-installed, package-status-dependency)
17584         (package-status-unsigned, package-status-incompat)
17585         (package-status-avail-obso): New faces.
17586         (package-menu--print-info-simple): Use them.
17588 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
17590         mail-source.el: Make the imap mail-source's :mailbox handle a list
17591         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
17592         Allow :mailbox to be  a list.
17594 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
17596         nnimap.el: Handle nil arg to nnimap-request-group
17597         * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
17598         This arg isn't always passed in, check it's not nil before making it
17599         into a list.  The active arg will also be nil if the group is new,
17600         check for that.
17602 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
17604         File notifications: Support renaming over directory boundaries
17605         * lisp/filenotify.el (file-notify-handle-event):
17606         (file-notify--pending-event): Adapt docstring.
17607         (file-notify--descriptor, file-notify-callback): Reimplement in
17608         order to support renaming over directory boundaries.
17609         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
17610         * doc/lispref/os.texi (File Notifications): Remove limitation of
17611         file renaming to the same directory.
17613 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
17615         Spelling fix (Bug#21420)
17617 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
17619         Improve the semantic of map-some
17620         Update map-some to return the returned by the predicate, similar to
17621         seq-some.
17622         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
17623           return value of the predicate.
17624         * test/automated/map-tests.el (test-map-some): Update the test to check
17625           for non-nil values only.
17627         Rename map-contains-key-p and map-some-p
17628         Remove the "-p" suffix from both function names.
17629         * lisp/emacs-lisp/map.el (map-contains-key, map-some):
17630           Rename the functions.
17631         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
17632           Update both test functions.
17634         Improve the semantic of seq-some
17635         Update seq-some to return non-nil if the predicate returns non-nil for
17636         any element of the seq, in which case the returned value is the one
17637         returned by the predicate.
17638         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
17639           docstring.
17640         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
17641         * doc/lispref/sequences.texi (Sequence Functions): Update the
17642           documentation for seq-some.
17644         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
17645         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
17646           without the "-p" prefix.
17647         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
17648           the tests accordingly.
17649         * doc/lispref/sequences.texi (Sequence Functions): Update the
17650           documentation for seq.el.
17652 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
17654         text-quoting-style for usage of fn names with ‘’
17655         * lisp/help.el (help--docstring-quote): Don’t assume
17656         text-quoting-style is ‘curve’ when generating usage strings for
17657         functions whose names contain curved quotes.
17659 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
17661         Fix fix for describe-function keybinding confusion
17662         This fixes a bug introduced by the previous patch.
17663         * lisp/help-fns.el (help-fns--signature):
17664         Last arg of help-fns--signature is now a buffer, or nil if a
17665         raw signature is wanted.  All callers changed.
17666         (describe-function-1): Use this to do the right thing with signatures.
17668 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
17670         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
17672         Use PAT rather than UPAT in pcase macros
17673         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
17674         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
17675           than UPAT.
17677 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
17679         Fix describe-function keybinding confusion
17680         * lisp/help-fns.el (describe-function-1): Compute signature
17681         in the original buffer, not in standard-output, so that
17682         substitute-command-keys uses the proper keybindings.
17683         This fixes Bug#21412, introduced in commit
17684         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
17686 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
17688         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
17690 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
17692         Avoid read error messages from 'inotify'
17693         * src/process.c (wait_reading_process_output): Add a
17694         'tls_available' set and manipulate it instead of 'Available' when
17695         checking TLS inputs.  Assign the value to 'Available' only if we
17696         find any TLS data waiting to be read.  This avoids error messages
17697         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
17699 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
17701         Avoid errors in thing-at-point with 2nd argument non-nil
17702         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
17703         sequences.  (Bug#21391)
17705 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
17707         Fix segfaults due to using a stale face ID
17708         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
17709         (display_echo_area_1, redisplay_internal): Call it to avoid
17710         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
17711         faces, which could case a segfault if the frame's face cache was
17712         freed since the last redisplay.  (Bug#21394)
17713         * src/xfaces.c (free_realized_faces):
17714         Call forget_escape_and_glyphless_faces.
17715         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
17717 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
17719         Fix minor problems with " in manual
17721 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
17723         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
17724         multi-hop files.
17726 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
17728         Support automated ‘make check’ in non-C locale
17729         This lets the builder optionally test Emacs behavior in other locales.
17730         The C locale is still the default for tests.
17731         * test/automated/Makefile.in (TEST_LOCALE): New macro.
17732         (emacs): Use it.
17733         * test/automated/flymake-tests.el (flymake-tests--current-face):
17734         Use C locale for subprocesses so that tests behave as expected.
17735         * test/automated/python-tests.el:
17736         (python-shell-prompt-validate-regexps-1)
17737         (python-shell-prompt-validate-regexps-2)
17738         (python-shell-prompt-validate-regexps-3)
17739         (python-shell-prompt-validate-regexps-4)
17740         (python-shell-prompt-validate-regexps-5)
17741         (python-shell-prompt-validate-regexps-6)
17742         (python-shell-prompt-set-calculated-regexps-1):
17743         Adjust expected output to match locale.
17744         * test/automated/tildify-tests.el (tildify-test--test)
17745         (tildify-space-test--test, tildify-space-undo-test--test):
17746         This test assumes UTF-8 encoding.
17748 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
17750         Fix some more docstring etc. quoting problems
17751         Mostly these fixes prevent the transliteration of apostrophes
17752         that should stay apostrophes.  Also, prefer curved quotes in
17753         Bahá’í proper names, as that’s the preferred Bahá’í style and
17754         these names are chock-full of non-ASCII characters anyway.
17755         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
17756         (eieio-defclass-internal):
17757         * lisp/emacs-lisp/eieio.el (defclass):
17758         * lisp/hi-lock.el (hi-lock-mode):
17759         Don’t transliterate Lisp apostrophes when generating a
17760         doc string or diagnostic.
17761         * lisp/international/mule-diag.el (list-coding-systems-1):
17762         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
17763         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
17764         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
17765         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
17766         Substitute quotes before putting them in the help buffer.
17768 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
17770         Re-add the notion of echo_prompt lost in the translation
17771         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
17772         echo_prompt which contains the actual string.  Update all uses.
17773         * src/keyboard.c (kset_echo_prompt): New function.
17774         (echo_update): Add echo_prompt at the very beginning.
17775         (read_char): Remove workaround for bug#19875, not needed any more.
17776         (read_key_sequence): Set echo_prompt rather than echo_string
17777         (bug#21403).
17778         (mark_kboards): Mark echo_prompt.
17780         Fix disassembly of non-compiled lexical functions (bug#21377)
17781         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
17782         * lisp/emacs-lisp/disass.el: Use lexical-binding.
17783         (disassemble): Recognize `closure's as well.
17784         (disassemble-internal): Use indirect-function and
17785         help-function-arglist, and accept `closure's.
17786         (disassemble-internal): Use interactive-form.
17787         (disassemble-1): Use functionp.
17789         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
17790         Don't compose inside verbatim blocks!
17792 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
17794         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
17795         (bug#19441).
17797         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394).
17799 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
17801         vc-git-mode-line-string: Explicitly re-apply the face
17802         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
17803         the face (bug#21404).
17805 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17807         Treat initial-scratch-message as a doc string
17808         * doc/emacs/building.texi (Lisp Interaction):
17809         * doc/lispref/os.texi (Startup Summary):
17810         * etc/NEWS: Document this.
17811         * lisp/startup.el (initial-scratch-message):
17812         Look up find-file’s key rather than hardcoding it.
17813         (command-line-1): Substitute the doc string.
17814         This also substitutes the quotes, which will help test display
17815         quoting at startup.
17817         Fix describe-char bug with glyphs on terminals
17818         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
17819         buffers too, so don’t treat them differently from graphic displays.
17820         Without this fix, describe-char would throw an error on a terminal
17821         if given a glyph with a non-default face.
17823         Follow text-quoting-style in display table init
17824         This attempts to fix a problem reported by Alan Mackenzie in:
17825         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
17826         * doc/lispref/display.texi (Active Display Table):
17827         Mention how text-quoting-style affects it.
17828         * doc/lispref/help.texi (Keys in Documentation):
17829         Say how to set text-quoting-style in ~/.emacs.
17830         * etc/NEWS: Document the change.
17831         * lisp/startup.el (startup--setup-quote-display):
17832         Follow user preference if text-quoting-style is set.
17833         (command-line): Setup quote display again if user expresses
17834         a preference in .emacs.
17836 2015-09-02  K. Handa  <handa@gnu.org>
17838         Fix typo
17839         * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask
17840         -> OTF_positioning_type_components_mask.
17842         Fix previous change
17843         * src/ftfont.c (ftfont_drive_otf): Remember some bits of
17844         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
17846 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
17848         * lisp/vc/vc-hooks.el (vc-refresh-state): New command.
17849         Rename from vc-find-file-hook and make interactive.
17850         (vc-find-file-hook): Redefine as obsolete alias.
17852 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17854         Escape ` and ' in doc
17855         Escape apostrophes and grave accents in docstrings if they are
17856         are supposed to stand for themselves and are not quotes.  Remove
17857         apostrophes from docstring examples like ‘'(calendar-nth-named-day
17858         -1 0 10 year)’ that confuse source code with data.  Do some other
17859         minor docstring fixups as well, e.g., insert a missing close quote.
17861 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
17863         Generalize the prefix-command machinery of C-u
17864         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
17865         (prefix-command-preserve-state-hook): New hooks.
17866         (internal-echo-keystrokes-prefix): New function.
17867         (prefix-command--needs-update, prefix-command--last-echo): New vars.
17868         (prefix-command-update, prefix-command-preserve): New functions.
17869         (reset-this-command-lengths): New compatibility definition.
17870         (universal-argument--mode): Call prefix-command-update.
17871         (universal-argument, universal-argument-more, negative-argument)
17872         (digit-argument): Call prefix-command-preserve-state.
17873         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
17874         the "prefix argument" to echo.
17875         (this_command_key_count_reset, before_command_key_count)
17876         (before_command_echo_length): Delete variables.
17877         (echo_add_key): Always add a space.
17878         (echo_char): Remove.
17879         (echo_dash): Don't give up when this_command_key_count is 0, since that
17880         is now the case after a prefix command.
17881         (echo_update): New function, extracted from echo_now.
17882         (echo_now): Use it.
17883         (add_command_key, read_char, record_menu_key): Remove old disabled code.
17884         (command_loop_1): Don't refrain from pushing an undo boundary when
17885         prefix-arg is set.  Remove other prefix-arg special case, now handled
17886         directly in the prefix commands instead.  But call echo_now if there's
17887         a prefix state to echo.
17888         (read_char, record_menu_key): Use echo_update instead of echo_char.
17889         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
17890         (Freset_this_command_lengths): Delete function.
17891         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
17892         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
17893         * lisp/simple.el: Use those new hooks for C-u.
17894         (universal-argument--description): New function.
17895         (prefix-command-echo-keystrokes-functions): Use it.
17896         (universal-argument--preserve): New function.
17897         (prefix-command-preserve-state-hook): Use it.
17898         (command-execute): Call prefix-command-update if needed.
17899         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
17900         (kmacro-step-edit-prefix-index): Delete variables.
17901         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
17902         support for prefix arg commands.
17903         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
17904         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
17905         (cua--shift-control-prefix): Use prefix-command-preserve-state.
17906         Remove now unused arg `arg'.
17907         (cua--prefix-override-handler, cua--prefix-repeat-handler)
17908         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
17909         Update accordingly.
17910         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
17911         any more.
17912         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
17913         if the mark is not set.
17915 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17917         Rework quoting in Emacs Lisp Introduction
17918         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
17919         (if in more detail, type-of-animal in detail, else): Rework the
17920         early example to use " rather than ' so that we don’t burden
17921         complete novices with the low-priority detail of text quoting style.
17922         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
17923         (kill-new function, kill-ring-yank-pointer)
17924         (Complete forward-sentence, Loading Files)
17925         (Code for current-kill, Code for current-kill, yank):
17926         Resurrect the Emacs 22 versions of the code, which uses grave
17927         quoting style in doc strings.
17928         (Complete zap-to-char): Mention how quoting works in doc strings.
17930         Setup quote display only if interactive
17931         * lisp/startup.el (command-line):
17932         Skip call to startup--setup-quote-display if noninteractive.
17933         Without this change, python-shell-prompt-validate-regexps-1
17934         fails in test/automated/python-tests.el when run in an
17935         en_US.utf8 locale on Fedora.
17937 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
17939         Use defalias at the top level
17940         * lisp/gnus/gnus-util.el (gnus-format-message):
17941         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
17942         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
17944 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17946         terminal-init-w32console mimicks command-line
17947         Problem reported by Eli Zaretskii.
17948         * lisp/startup.el (startup--setup-quote-display):
17949         New function, refactored from a part of ‘command-line’.
17950         (command-line): Use it.
17951         * lisp/term/w32console.el (terminal-init-w32console):
17952         Use it, so that this function stays consistent with ‘command-line’.
17954         Display replacement quotes with shadow glyphs
17955         * lisp/startup.el (command-line): When displaying ASCII
17956         replacements for curved quotes, use a shadow glyph instead of a
17957         regular one, to avoid ambiguity.
17959 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
17961         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
17963 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17965         Docstring fixes re quotes in C code
17966         Fix some docstring quoting problems, mostly by escaping apostrophe.
17968 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
17970         Some Tramp password fixes
17971         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
17972         of the hops.
17973         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
17974         at the beginning of the command.  Otherwise, it could be
17975         interpreted as password prompt if the remote host echoes the
17976         command.
17977         (tramp-remote-coding-commands): Add "openssl enc -base64".
17979 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
17981         Make vc-git-working-revision always return the commit hash
17982         * lisp/vc/vc-git.el (vc-git-working-revision):
17983         Return the commit hash (bug#21383).
17984         (vc-git--symbolic-ref): New function, extracted from above.
17985         (vc-git-mode-line-string): Use it.
17987 2015-09-01  K. Handa  <handa@gnu.org>
17989         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs
17990         * src/ftfont.c (MFLTGlyphFT): New type.
17991         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
17992         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
17993         elements in the array MFLTGlyphString.glyphs.
17995 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
17997         Improve comments in elisp-mode.el, elisp-mode-tests.el
17998         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
18000         Delete Emacs 25 test in mode-local.el
18001         * lisp/cedet/mode-local.el (describe-mode-local-overload):
18002         Fix missed an edit in previous commit.
18004         Show all known mode-local overrides in *Help*
18005         * lisp/cedet/mode-local.el (describe-mode-local-overload):
18006         Assume Emacs 25. Add all known mode-local overrides.
18008 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
18010         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
18011         Ensure that the article where the search word is found is displayed
18012         and pointed to in the summary buffer.
18014 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
18016         * lisp/newcomment.el (comment-dwim): Use `use-region-p'.
18017         When the region is active, but is empty (length 0), act as though
18018         the region was not active; that is, put a comment at the end of
18019         the line.  (Bug#21119)
18021 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
18023         Port tls.el to older Emacs
18024         * lisp/net/tls.el (tls-format-message):
18025         Alias to format-message, or format if not available.
18026         (open-tls-stream): Use it.
18028 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
18030         hideif.el: Recognize .h++ as C++ header
18031         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
18033         isearch: Document character folding mode
18034         * lisp/isearch.el (isearch-forward):
18035         Mention `isearch-toggle-character-fold' in doc string.
18037 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18039         Quoting fixes in ERC and Eshell
18040         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
18041         * lisp/erc/erc-backend.el (define-erc-response-handler):
18042         * lisp/erc/erc-fill.el (erc-fill-static-center):
18043         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
18044         * lisp/eshell/em-glob.el (eshell-glob-entries):
18045         * lisp/eshell/em-hist.el (eshell-save-some-history):
18046         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
18047         (eshell-shuffle-files):
18048         * lisp/eshell/esh-cmd.el (eshell-do-eval):
18049         * lisp/eshell/esh-proc.el (eshell-process-interact)
18050         (eshell-query-kill-processes):
18051         Respect ‘text-quoting-style’ in diagnostics and doc strings.
18053         Quoting fixes in Gnus
18054         * lisp/gnus/gnus-agent.el:
18055         (gnus-agent-possibly-synchronize-flags-server):
18056         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
18057         * lisp/gnus/gnus-eform.el (gnus-edit-form):
18058         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
18059         (gnus-group-nnimap-edit-acl):
18060         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
18061         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
18062         * lisp/gnus/message.el (message-strip-subject-encoded-words)
18063         (message-check-recipients, message-send-form-letter):
18064         * lisp/gnus/mm-decode.el (mm-display-part):
18065         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
18066         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
18067         (mml-smime-get-ldap-cert):
18068         * lisp/gnus/spam-report.el (spam-report-process-queue):
18069         Respect ‘text-quoting-style’ in diagnostics.
18070         * lisp/gnus/gnus-art.el (article-display-face)
18071         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
18072         Use straight quoting in email.
18073         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
18074         Escape apostrophes in doc strings.
18076         Quoting fixes in lisp mail, mh-e, net, url
18077         * lisp/mail/emacsbug.el (report-emacs-bug)
18078         (report-emacs-bug-hook): Use straight quotes in outgoing email,
18079         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
18080         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
18081         * lisp/mail/rmailout.el (rmail-output-read-file-name):
18082         * lisp/net/imap.el (imap-interactive-login):
18083         * lisp/net/tls.el (open-tls-stream):
18084         * lisp/url/url-auth.el (url-register-auth-scheme):
18085         Respect ‘text-quoting-style’ in diagnostics.
18086         * lisp/mh-e/mh-e.el (mh-sortm-args):
18087         Quote docstring example using text quotes, not as a Lisp quote.
18089 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
18091         Fix some byte-compiler warnings in EDE
18092         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
18093         existing autoloader list, rather than add to it.
18094         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
18095         argument to eieio class constructor.
18096         (ede-show-supported-projects): New.
18097         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
18098         with (oref ... name).
18099         (ede-auto-load-project): Use slot name, not initarg key.
18100         * lisp/cedet/ede/generic.el (ede-generic-load)
18101         (ede-generic-find-matching-target): Use slot name, not initarg key.
18102         (ede-find-target): Use oref-default on class name.
18103         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
18104         class constructor.
18105         (ede-enable-generic-projects): Make project type names unique.
18107 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
18109         Fix directory accessibility tests for w32 network volumes
18110         * src/w32.c (faccessat): Don't fail with network volumes without a
18111         share.
18112         (w32_accessible_directory_p): Handle network volumes without a
18113         share.
18115         Fix handling long file names in readdir on MS-Windows
18116         * src/w32.c (sys_readdir): Append "\*" to the directory after
18117         converting it to UTF-16/ANSI, not before, to avoid overflowing the
18118         260-character limit on file names in filename_to_utf16/ansi.
18120         Make file-accessible-directory-p reliable on MS-Windows
18121         * src/w32.c (w32_accessible_directory_p): New function.
18122         * src/w32.h (w32_accessible_directory_p): Add prototype.
18123         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
18124         w32_accessible_directory_p to test a directory for accessibility
18125         by the current user.  (Bug#21346)
18126         (Ffile_accessible_directory_p): Remove the w32 specific caveat
18127         from the doc string.
18129 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
18131         Don't call do_pending_window_change in signal handlers (Bug#21380)
18132         * src/gtkutil.c (xg_frame_resized):
18133         * src/xterm.c (x_set_window_size):
18134         * src/w32term.c (x_set_window_size): Don't call
18135         do_pending_window_change.
18137 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18139         Quoting fixes in lisp/org
18140         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
18141         (org-tags-view):
18142         * lisp/org/org-capture.el (org-capture-mode)
18143         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
18144         (org-ctags-ask-append-topic):
18145         * lisp/org/org.el (org-time-string-to-time)
18146         (org-time-string-to-absolute):
18147         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
18148         (org-ctags-ask-append-topic):
18149         * lisp/org/org.el (org-time-string-to-time)
18150         (org-time-string-to-absolute):
18151         Respect ‘text-quoting-style’ in diagnostics.
18152         * lisp/org/org-agenda.el (org-agenda-custom-commands)
18153         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
18154         * lisp/org/org-capture.el (org-capture-fill-template):
18155         Avoid contraction in output file that might be ASCII.
18156         * lisp/org/org-compat.el (format-message):
18157         Define if not already defined, for backward compatibility.
18158         * lisp/org/org-src.el (org-edit-src-save):
18159         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
18160         Escape apostrophes in diagnostics.
18162         Treat “instead” strings as docstrings
18163         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
18164         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
18165         Substitute quotes in instead strings.
18167 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
18169         Better documentation of seq-let
18170         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
18171         documentation of seq-let.
18173 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18175         * lisp/international/ccl.el: Fix quoting.
18177         Quoting fixes in lisp/international and lisp/leim
18178         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
18179         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
18180         * lisp/international/mule-cmds.el:
18181         (select-safe-coding-system-interactively, leim-list-file-name):
18182         * lisp/international/quail.el (quail-use-package, quail-help):
18183         * lisp/international/titdic-cnv.el (tit-process-header)
18184         (miscdic-convert):
18185         Respect text quoting style in doc strings and diagnostics.
18186         * lisp/international/quail.el (lisp/international/quail.el):
18187         * lisp/leim/quail/ethiopic.el ("ethiopic"):
18188         Escape apostrophes in doc strings.
18190         Make ‘text-quoting-style’ a plain defvar
18191         It doesn’t need customization, as it’s likely useful only by experts.
18192         Suggested by Stefan Monnier in:
18193         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
18194         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
18196         Quoting fixes in lisp/textmodes
18197         * lisp/textmodes/bibtex.el (bibtex-validate)
18198         (bibtex-validate-globally, bibtex-search-entries):
18199         * lisp/textmodes/ispell.el (ispell-command-loop):
18200         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
18201         * lisp/textmodes/texinfmt.el (texinfmt-version)
18202         (texinfo-format-region, texinfo-format-buffer-1):
18203         * lisp/textmodes/two-column.el (2C-split):
18204         Respect text quoting style in doc strings and diagnostics.
18205         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
18206         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
18207         Escape apostrophes in doc strings.
18209         Documentation fixes re quotes
18210         Prefer curved quotes in examples if users will typically see
18211         curved quotes when the examples run.
18212         Mention format-message when appropriate.
18213         Don’t use @code in examples.
18214         Quote an apostrophe with @kbd.
18216         Quoting fixes in lisp/progmodes
18217         * lisp/progmodes/cc-engine.el (c-bos-report-error):
18218         * lisp/progmodes/cpp.el (cpp-edit-reset):
18219         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
18220         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
18221         (etags-tags-apropos, list-tags, tags-apropos):
18222         * lisp/progmodes/executable.el (executable-set-magic):
18223         * lisp/progmodes/octave.el (octave-sync-function-file-names)
18224         (octave-help, octave-find-definition-default-filename)
18225         (octave-find-definition):
18226         Respect text quoting style in doc strings and diagnostics.
18227         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
18228         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
18229         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
18230         Escape apostrophes in doc strings.
18231         * lisp/progmodes/cmacexp.el (c-macro-expansion):
18232         Use straight quoting in ASCII comment.
18233         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
18234         (idlwave-pad-keyword):
18235         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
18236         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
18237         (vhdl-electric-semicolon, vhdl-electric-comma)
18238         (vhdl-electric-period, vhdl-electric-equal):
18239         Use directed quotes in diagnostics and doc strings.
18241 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
18243         Minor documentation and NEWS tweak
18244         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let):
18245         Add an index entry.
18246         * etc/NEWS: Fix a typo in character-fold-to-regexp.
18248 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
18250         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
18251         Revert patch from 2015-08-24.  Tramp shall behave like for local files.
18252         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
18253         Adapt test.
18255 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
18257         Text quoting fixes in cedet, emulation, emacs-lisp
18258         * lisp/cedet/ede.el (ede-check-project-directory):
18259         * lisp/cedet/semantic/analyze/debug.el
18260         (semantic-analyzer-debug-insert-include-summary):
18261         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
18262         * lisp/cedet/semantic/decorate/include.el
18263         (semantic-decoration-unknown-include-describe)
18264         (semantic-decoration-all-include-summary):
18265         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
18266         * lisp/emulation/edt.el (edt-load-keys):
18267         * lisp/emulation/viper-cmd.el
18268         (viper-display-current-destructive-command)
18269         (viper-query-replace, viper-brac-function):
18270         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
18271         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
18272         Respect text quoting style in doc string or diagnostic.
18273         * lisp/cedet/mode-local.el (describe-mode-local-overload):
18274         Use format-message to avoid overtranslating quotes.
18275         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
18276         Escape an apostrophe in a docstring.
18277         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
18279 2015-08-29  Daniel Colascione  <dancol@dancol.org>
18281         Fix which-func for curly quotes: look for symbol, not message
18282         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
18283         imenu-unavailable error symbol instead of trying to match message
18284         exactly.
18285         * lisp/imenu.el (imenu-unavailable): New error.
18286         (imenu-unavailable-error): New function.
18288 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
18290         Fix Python tests on MS-Windows
18291         * test/automated/python-tests.el
18292         (python-shell-calculate-command-1): Run python-shell-interpreter
18293         through shell-quote-argument before comparing with what
18294         python-shell-calculate-command returns.
18295         (python-shell-calculate-pythonpath-1)
18296         (python-shell-calculate-pythonpath-2)
18297         (python-shell-calculate-process-environment-2): Use path-separator
18298         instead of a literal ':'.
18299         (python-shell-calculate-exec-path-2)
18300         (python-shell-calculate-exec-path-3)
18301         (python-shell-calculate-exec-path-4)
18302         (python-shell-with-environment-1)
18303         (python-shell-with-environment-2): Run "/env/bin" through
18304         expand-file-name before comparing with exec-path.  (Bug#21375)
18306 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
18308         Use Core Text types/functions/variables/enumerators directly
18309         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
18310         (CharacterCollection): Remove typedefs.  All uses replaced with
18311         definitions.
18312         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
18313         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
18314         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
18315         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
18316         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
18317         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
18318         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
18319         definitions.
18320         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
18321         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
18322         (MAC_FONT_FORMAT_BITMAP)
18323         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
18324         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.
18325         All uses replaced with definitions.
18326         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
18327         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
18328         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault):
18329         Add compatibility enumerators for older versions.
18330         (mac_font_descriptor_create_with_attributes)
18331         (mac_font_descriptor_create_matching_font_descriptors)
18332         (mac_font_descriptor_create_matching_font_descriptor)
18333         (mac_font_descriptor_copy_attribute)
18334         (mac_font_descriptor_supports_languages)
18335         (mac_font_create_with_name, mac_font_get_size)
18336         (mac_font_copy_family_name, mac_font_copy_character_set)
18337         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
18338         (mac_font_get_descent, mac_font_get_leading)
18339         (mac_font_get_underline_position)
18340         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
18341         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
18342         replaced with definitions.
18343         (mac_font_create_preferred_family_for_attributes)
18344         (mac_font_get_advance_width_for_glyph)
18345         (mac_font_get_bounding_rect_for_glyph)
18346         (mac_font_create_available_families, mac_font_shape):
18347         Remove macros for renamed functions.
18348         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
18349         * src/macfont.m (mac_font_descriptor_supports_languages):
18350         Rename from mac_ctfont_descriptor_supports_languages.
18351         (mac_font_create_preferred_family_for_attributes): Rename from
18352         mac_ctfont_create_preferred_family_for_attributes.
18353         (mac_font_get_advance_width_for_glyph): Rename from
18354         mac_ctfont_get_advance_width_for_glyph.
18355         Use kCTFontOrientationDefault also for older versions.
18356         (mac_font_get_bounding_rect_for_glyph): Rename from
18357         mac_ctfont_get_bounding_rect_for_glyph.
18358         Use kCTFontOrientationDefault also for older versions.
18359         (mac_font_create_available_families): Rename from
18360         mac_ctfont_create_available_families.
18361         (mac_font_equal_in_postscript_name): Rename from
18362         mac_ctfont_equal_in_postscript_name.  All uses changed.
18363         (mac_font_create_line_with_string_and_font): Rename from
18364         mac_ctfont_create_line_with_string_and_font.  All uses changed.
18365         (mac_font_shape): Rename from mac_ctfont_shape.
18366         (mac_font_family_compare): Remove unused declaration.
18368 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18370         Fix minor text quoting in calc, calendar, vc
18371         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
18372         * lisp/calc/calc-help.el (calc-j-prefix-help):
18373         * lisp/calc/calc-misc.el (calc-help):
18374         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
18375         Escape an apostrophe in a docstring.
18376         * lisp/calc/calc-forms.el (calc-hms-notation):
18377         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
18378         Escape an apostrophe in a diagnostic.
18379         * lisp/calc/calc-misc.el (calc-help):
18380         * lisp/calendar/diary-lib.el (diary-include-files):
18381         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
18382         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
18383         * lisp/vc/ediff-diff.el (ediff-same-contents):
18384         * lisp/vc/ediff-merg.el (ediff-re-merge):
18385         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
18386         * lisp/vc/ediff-util.el (ediff-test-save-region)
18387         (ediff-status-info):
18388         * lisp/vc/ediff.el (ediff-merge-revisions)
18389         (ediff-merge-revisions-with-ancestor):
18390         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
18391         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
18392         Respect text quoting style in doc string or diagnostic.
18393         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
18394         * lisp/vc/add-log.el (change-log-goto-source):
18395         Avoid double-formatting.
18396         * lisp/vc/ediff-init.el (format-message):
18397         New backward-compatibility alias.
18399 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
18401         Fix minor text quoting problems in lisp top level
18402         * lisp/apropos.el (apropos-describe-plist):
18403         * lisp/cus-theme.el (customize-themes):
18404         * lisp/dired.el (dired-log):
18405         * lisp/help-fns.el (describe-variable):
18406         * lisp/hexl.el (hexl-insert-multibyte-char):
18407         * lisp/info.el (Info-finder-find-node):
18408         * lisp/json.el (json-read-string):
18409         * lisp/novice.el (disabled-command-function)
18410         (disabled-command-function):
18411         * lisp/startup.el (normal-mouse-startup-screen):
18412         * lisp/woman.el (WoMan-log, WoMan-warn):
18413         Respect text quoting style in doc string or diagnostic.
18414         * lisp/replace.el (replace-character-fold):
18415         * src/syntax.c (Fmodify_syntax_entry):
18416         Escape an apostrophe in a docstring.
18417         * lisp/tempo.el (tempo-define-template):
18418         Remove confusing apostrophe from docstring.
18419         * lisp/whitespace.el (whitespace-mark-x):
18420         Use directed quotes in docstring.
18422 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
18424         Fix indentation rule in css-mode
18425         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
18426         brackets in presence of pseudo-selectors.  (Bug#21328)
18428 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
18430         Fix a bug in recording a macro while flyspell-mode is active
18431         * lisp/subr.el (sit-for): Don't call read-event when recording a
18432         macro.  (Bug#21329)
18434 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
18436         Tweak startup screen quoting
18437         * lisp/startup.el (normal-splash-screen): Use standard
18438         "M-" abbrevation rather than a confusingly-different one.
18439         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
18441 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
18443         Add test case for ‘format’ bug and refactor
18444         * src/editfns.c (styled_format): Refactor internally, mostly by
18445         moving declarations closer to uses.  This should not affect behavior.
18446         * test/automated/textprop-tests.el (textprop-tests-format): New test.
18448         Fix ‘format’ bug with property offsets
18449         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
18450         bug in calculating string property offsets (Bug#21351).
18452         Use straight quotes in lib-src diagnostics
18453         These auxiliary programs can’t use Emacs’s text-quoting-style,
18454         and it’s too much trouble to redo that mechanism by hand.
18455         So just use straight quotes for now.
18456         * lib-src/ebrowse.c (main):
18457         * lib-src/emacsclient.c (decode_options, main):
18458         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
18459         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
18460         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
18461         (none_help, print_language_names, print_help, add_regex)
18462         (suggest_asking_for_help):
18463         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
18464         Use straight quotes in diagnostics.
18466         ‘text-quoting-style’ fixes for admin
18467         * admin/admin.el (cusver-scan, cusver-check):
18468         * admin/authors.el (authors-canonical-file-name):
18469         * admin/bzrmerge.el (bzrmerge-missing):
18470         Respect ‘text-quoting-style’ in diagnostics.
18472 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
18474         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
18475         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
18476         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
18477         * doc/lispref/internals.texi (Writing Emacs Primitives):
18478         * etc/NEWS:
18479         Document the change.
18480         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
18481         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
18482         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
18483         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
18484         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
18485         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
18486         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
18487         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
18488         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
18489         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
18490         Remove.  All uses removed.  The code now assumes
18491         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
18492         * src/bytecode.c (relocate_byte_stack):
18493         Rename from unmark_byte_stack, since it now only relocates.
18494         All callers changed.
18495         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
18496         with GCPROs removed.
18497         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
18498         * test/automated/finalizer-tests.el (finalizer-basic)
18499         (finalizer-circular-reference, finalizer-cross-reference)
18500         (finalizer-error):
18501         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
18502         Remove tests, as they depend on gc-precise.
18504 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
18506         Improve seq-concatenate for new sequence types
18507         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
18508         ensure that concatenation happens on sequences only.  This makes it
18509         possible to use `seq-concatenate' for new types of seqs.
18510         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate):
18511         New function used in `seq-concatenate'.
18512         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
18513         for seq-into-sequence.
18515 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
18517         Add mode local overrides to xref-find-definitions
18518         * lisp/cedet/mode-local.el (xref-mode-local--override-present)
18519         (xref-mode-local-overload): New; add mode local overrides to
18520         xref-find-definitions.
18521         * test/automated/elisp-mode-tests.el: Add mode local override tests.
18522         (xref-elisp-test-run): Handle indented defuns.
18523         (xref-elisp-generic-*): Improve doc strings.
18524         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
18525         (elisp--xref-find-definitions): Use it.
18527         Add mode local overrides to describe-function
18528         * lisp/cedet/mode-local.el (describe-mode-local-overload):
18529         New; add mode local overrides to describe-function.
18530         * etc/NEWS: Document change.
18532 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
18534         Prefer straight quoting in some etc text files
18535         These files are plain text and might be used by non-Emacs apps.
18536         They’re mostly ASCII, so just use straight quotes.
18538         Fix quoting in ‘message_with_string’
18539         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
18540         should work now.
18541         * src/xdisp.c (message_to_stderr): New function, refactored from
18542         part of ‘message3_nolog’.
18543         (message3_nolog): Use it.
18544         (message_with_string): Use it.  Don’t mishandle NUL bytes when
18545         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
18546         Use ‘format-message’, not ‘format’, so that quotes are translated.
18548 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
18550         Mention false positives of file-accessible-directory on w32
18551         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
18552         (Bug#21346)
18554 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
18556         Treat error strings as help
18557         * src/print.c (print_error_message): Translate quotes and command
18558         keys in errmsg so that users see, e.g., "Symbol’s value as
18559         variable is void: foo" when text-quoting-style is curved.
18561 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
18563         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
18565 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
18567         Top-level elisp files respect ‘text-quoting-style’
18568         In top-level elisp files, use format-message in diagnostic formats,
18569         so that they follow user preference as per ‘text-quoting-style’
18570         rather than being hard-coded to quote `like this'.
18571         * lisp/allout.el (allout-get-configvar-values):
18572         * lisp/apropos.el (apropos-symbols-internal):
18573         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
18574         (dired-do-create-files-regexp, dired-create-files-non-directory):
18575         * lisp/dired-x.el (dired-do-run-mail):
18576         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
18577         * lisp/disp-table.el (standard-display-european):
18578         * lisp/find-dired.el (find-dired):
18579         * lisp/forms.el (forms-mode):
18580         * lisp/ido.el (ido-buffer-internal):
18581         * lisp/info.el (Info-index-next):
18582         * lisp/outline.el (outline-invent-heading):
18583         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
18584         * lisp/proced.el (proced-log):
18585         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
18586         * lisp/recentf.el (recentf-open-files, recentf-save-list):
18587         * lisp/savehist.el (savehist-save):
18588         * lisp/server.el (server-ensure-safe-dir):
18589         * lisp/ses.el (ses-rename-cell):
18590         * lisp/simple.el (list-processes--refresh):
18591         * lisp/startup.el (command-line):
18592         * lisp/strokes.el (strokes-unset-last-stroke)
18593         (strokes-execute-stroke):
18594         Use format-message so that quotes are restyled.
18595         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
18596         Don’t quote ‘raised’.
18597         * lisp/descr-text.el (describe-char):
18598         * lisp/dirtrack.el (dirtrack-debug-message):
18599         * lisp/hexl.el (hexl-insert-multibyte-char):
18600         Apply substitute-command-keys to help string.
18601         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
18602         (wdired-do-perm-changes):
18603         Let dired-log do the formatting.
18605 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18607         Go back to grave quoting in Tramp
18608         * lisp/net/tramp-adb.el:
18609         * lisp/net/tramp-cache.el:
18610         * lisp/net/tramp-compat.el:
18611         * lisp/net/tramp-gvfs.el:
18612         * lisp/net/tramp-gw.el:
18613         * lisp/net/tramp-sh.el:
18614         * lisp/net/tramp-smb.el:
18615         * lisp/net/tramp.el:
18616         Stick with grave quoting in diagnostics strings.  This is more
18617         portable to older Emacs, desirable for Tramp.
18618         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
18619         for diagnostic that needs requoting.
18620         * lisp/net/tramp-compat.el (format-message):
18621         Fall back on simple ‘format’, since that’s good enough now.
18623         Go back to grave quoting in Gnus
18624         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
18625         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
18626         (gnus-agent-fetch-headers):
18627         * lisp/gnus/gnus-int.el (gnus-start-news-server):
18628         * lisp/gnus/gnus-registry.el:
18629         (gnus-registry--split-fancy-with-parent-internal)
18630         (gnus-registry-post-process-groups):
18631         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
18632         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
18633         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
18634         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
18635         * lisp/gnus/spam.el (spam-check-blackholes):
18636         Stick with grave quoting in diagnostics strings.  This is more
18637         portable to older Emacs, desirable for Gnus.
18639         Fix customization of text-quoting-style
18640         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
18641         * lisp/wid-edit.el (widget-docstring):
18642         Get raw docstring here since it’s cooked later and should not be
18643         cooked twice.
18644         * lisp/cus-edit.el (custom-group-value-create):
18645         Cook the docstring before inserting it.
18646         * lisp/cus-start.el (text-quoting-style): Quote the customization
18647         docstrings according to the new rules.  Give curved examples.
18649         format-message now curves ` and '
18650         That way, the caller doesn’t have to use curved quotes to
18651         get diagnostics that match the text-quoting-style preferences.
18652         Suggested by Dmitry Gutov in:
18653         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
18654         This means we no longer need %qs, so remove that format.
18655         While we’re at it, fix an unlikely bug and lessen the pressure
18656         on the garbage collector by processing the string once rather
18657         than twice in the usual case.
18658         * doc/lispref/strings.texi (Formatting Strings):
18659         * etc/NEWS: Document this.
18660         * lisp/subr.el (format-message): Remove; now done in C.
18661         * src/callint.c (Fcall_interactively):
18662         * src/editfns.c (Fmessage, Fmessage_box):
18663         Use Fformat_message instead of Finternal__text_restyle
18664         followed by Fformat.
18665         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
18666         uLSQM and uRSQM.
18667         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
18668         when pure ASCII now suffices.  Fix unlikely bug when parsing
18669         unibyte string containing non-ASCII bytes.  Use inline code
18670         rather than memcpy, as it’s a tiny number of bytes.
18671         (Finternal__text_restyle): Remove; no longer used.
18672         (syms_of_doc): Don’t declare it.
18673         * src/editfns.c (Fformat): Rewrite in terms of new function
18674         ‘styled_format’.
18675         (Fformat_message): New function, moved here from subr.el.
18676         (styled_format): New function, with the old guts of Fformat,
18677         except it now optionally transliterates quotes, and it transliterates
18678         traditional grave accent and apostrophe quoting as well.
18679         Remove recently-added q flag; no longer needed or used.
18680         (syms_of_editfns): Define format-message.
18681         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
18682         Remove; no longer need to be global symbols.
18683         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
18684         so that callers can use `%s'.
18685         * src/image.c (image_size_error, xbm_load_image, xbm_load)
18686         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
18687         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
18688         (svg_load_image, gs_load, x_kill_gs_process):
18689         * src/lread.c (load_warn_old_style_backquotes):
18690         * src/xfaces.c (load_pixmap):
18691         * src/xselect.c (x_clipboard_manager_error_1):
18692         Use `%s' instead of %qs in formats.
18694 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
18696         Minor fixes in doc/emacs/search.texi
18697         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
18698         (Special Isearch): Use @w{} to generate several consecutive spaces
18699         with Texinfo 6.  (Bug#21345)
18701 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
18703         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
18704         (tramp-awk-coding-test): New defconsts.
18705         (tramp-remote-coding-commands): Use them.
18706         (tramp-find-inline-encoding): Check for Perl only if necessary.
18708 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
18710         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
18711         index entries for the special form `quote'.
18713 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18715         Spelling fixes
18717         Gnus format-message typo fix
18718         * lisp/gnus/gnus-util.el (gnus-format-message):
18719         Fix typo when running in older Emacs.
18721         Prefer directed to neutral quotes in docstings and diagnostics.
18722         In docstrings, escape apostrophes that would otherwise be translated
18723         to curved quotes using the newer, simpler rules.
18724         * admin/unidata/unidata-gen.el (unidata-gen-table):
18725         * lisp/align.el (align-region):
18726         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
18727         * lisp/bookmark.el (bookmark-default-annotation-text):
18728         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
18729         * lisp/calc/calc-lang.el (math-read-giac-subscr)
18730         (math-read-math-subscr):
18731         * lisp/calc/calc-misc.el (report-calc-bug):
18732         * lisp/calc/calc-prog.el (calc-fix-token-name)
18733         (calc-read-parse-table-part):
18734         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
18735         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
18736         * lisp/dabbrev.el (dabbrev-expand):
18737         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
18738         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
18739         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
18740         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
18741         * lisp/erc/erc-button.el (erc-nick-popup):
18742         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
18743         * lisp/eshell/em-dirs.el (eshell/cd):
18744         * lisp/eshell/em-glob.el (eshell-glob-regexp):
18745         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
18746         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
18747         * lisp/eshell/esh-opt.el (eshell-show-usage):
18748         * lisp/files-x.el (modify-file-local-variable):
18749         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
18750         (filesets-update-pre010505):
18751         * lisp/find-cmd.el (find-generic, find-to-string):
18752         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
18753         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
18754         (gnus-agent-fetch-headers):
18755         * lisp/gnus/gnus-int.el (gnus-start-news-server):
18756         * lisp/gnus/gnus-registry.el:
18757         (gnus-registry--split-fancy-with-parent-internal):
18758         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
18759         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
18760         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
18761         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
18762         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
18763         * lisp/gnus/spam.el (spam-check-blackholes):
18764         * lisp/mail/feedmail.el (feedmail-run-the-queue):
18765         * lisp/mpc.el (mpc-playlist-rename):
18766         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
18767         * lisp/net/mairix.el (mairix-widget-create-query):
18768         * lisp/net/tramp-cache.el:
18769         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
18770         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
18771         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
18772         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
18773         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
18774         (org-babel-goto-named-result):
18775         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
18776         * lisp/org/ob-ref.el (org-babel-ref-resolve):
18777         * lisp/org/org-agenda.el (org-agenda-prepare):
18778         * lisp/org/org-bibtex.el (org-bibtex-fields):
18779         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
18780         (org-clock-resolve):
18781         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
18782         * lisp/org/org-habit.el (org-habit-parse-todo):
18783         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
18784         (org-mouse-context-menu):
18785         * lisp/org/org-table.el (org-table-edit-formulas):
18786         * lisp/org/ox.el (org-export-async-start):
18787         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
18788         (dun-rooms, dun-endgame-questions):
18789         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
18790         * lisp/progmodes/ada-xref.el (ada-find-executable):
18791         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
18792         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
18793         (flymake-start-syntax-check-process):
18794         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
18795         * lisp/progmodes/sql.el (sql-comint):
18796         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
18797         * lisp/server.el (server-get-auth-key):
18798         * lisp/subr.el (version-to-list):
18799         * lisp/textmodes/reftex-ref.el (reftex-label):
18800         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
18801         * lisp/vc/ediff-diff.el (ediff-same-contents):
18802         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
18803         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
18804         Use directed rather than neutral quotes in diagnostics.
18806         Treat ' like ’ even when not matching `
18807         This is simpler and easier to explain, and should encourage better
18808         typography.  Do this in Electric Quote mode and when translating
18809         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
18810         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
18811         * doc/emacs/text.texi (Quotation Marks):
18812         * doc/lispref/help.texi (Keys in Documentation):
18813         * etc/NEWS:
18814         Document this.
18815         * lisp/electric.el (electric-quote-post-self-insert-function):
18816         * src/doc.c (Fsubstitute_command_keys):
18817         Always treat ' like ’ even when not matched by an open quote.
18819 2015-08-25  Glenn Morris  <rgm@gnu.org>
18821         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
18822         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
18824 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
18826         * src/macfont.m (macfont_create_family_with_symbol):
18827         Accept localized names.
18829 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
18831         Tramp diagnostics as per ‘text-quoting-style’
18832         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
18833         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
18834         (tramp-adb-handle-delete-directory)
18835         (tramp-adb-handle-delete-file)
18836         (tramp-adb-handle-file-local-copy)
18837         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
18838         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
18839         (tramp-adb-maybe-open-connection):
18840         * lisp/net/tramp-cache.el:
18841         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
18842         (tramp-compat-octal-to-decimal)
18843         (tramp-compat-coding-system-change-eol-conversion):
18844         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
18845         (tramp-gvfs-do-copy-or-rename-file)
18846         (tramp-gvfs-handle-delete-directory)
18847         (tramp-gvfs-handle-delete-file)
18848         (tramp-gvfs-handle-expand-file-name)
18849         (tramp-gvfs-handle-file-local-copy)
18850         (tramp-gvfs-handle-file-notify-add-watch)
18851         (tramp-gvfs-handle-make-directory)
18852         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
18853         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
18854         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
18855         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
18856         (tramp-sh-handle-set-visited-file-modtime)
18857         (tramp-sh-handle-set-file-modes)
18858         (tramp-sh-handle-file-name-all-completions)
18859         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
18860         (tramp-do-copy-or-rename-file-directly)
18861         (tramp-do-copy-or-rename-file-out-of-band)
18862         (tramp-sh-handle-make-directory)
18863         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
18864         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
18865         (tramp-sh-handle-start-file-process)
18866         (tramp-sh-handle-file-local-copy)
18867         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
18868         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
18869         (tramp-find-file-exists-command, tramp-open-shell)
18870         (tramp-find-shell)
18871         (tramp-open-connection-setup-interactive-shell)
18872         (tramp-find-inline-encoding, tramp-find-inline-compress)
18873         (tramp-compute-multi-hops, tramp-maybe-open-connection)
18874         (tramp-wait-for-output, tramp-send-command-and-check)
18875         (tramp-send-command-and-read, tramp-get-remote-path)
18876         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
18877         (tramp-get-ls-command-with-quoting-style)
18878         (tramp-get-test-command, tramp-get-remote-ln)
18879         (tramp-get-remote-perl, tramp-get-remote-stat)
18880         (tramp-get-remote-readlink, tramp-get-remote-trash)
18881         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
18882         (tramp-get-remote-inotifywait, tramp-get-remote-id)
18883         (tramp-get-remote-python):
18884         * lisp/net/tramp-smb.el (tramp-smb-errors)
18885         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
18886         (tramp-smb-handle-delete-directory)
18887         (tramp-smb-handle-delete-file)
18888         (tramp-smb-handle-file-local-copy)
18889         (tramp-smb-handle-make-directory)
18890         (tramp-smb-handle-make-directory-internal)
18891         (tramp-smb-handle-make-symbolic-link)
18892         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
18893         (tramp-smb-handle-set-file-modes)
18894         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
18895         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
18896         (tramp-process-actions):
18897         Generate diagnostics according to ‘text-quoting-style’, by
18898         using curved quotes in format strings and ‘format-message’
18899         when appropriate.
18900         * lisp/net/tramp-compat.el (format-message):
18901         Define a replacement, if it’s an older version of Emacs
18902         that doesn’t have it already.
18904         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
18906 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
18908         Fix documentation for `save-excursion'
18909         * doc/lispref/positions.texi (Excursions):
18910         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
18911         (Template for save-excursion, Point and mark): `save-excursion'
18912         does not save&restore the mark any more.
18914 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
18916         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
18917         New defconsts.
18918         (tramp-do-file-attributes-with-stat)
18919         (tramp-do-directory-files-and-attributes-with-stat): Use them.
18920         (tramp-convert-file-attributes): Remove double slashes in symlinks.
18921         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
18922         Handle symlinks with "//" in the file name.
18924         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
18926 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
18928         Fix cl-subseq and cl-concatenate
18929         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
18930         seq functions.
18931         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
18932         seq-concatenate.
18934 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
18936         Fix full-screen code when there is no window manager (Bug#21317)
18937         * src/xterm.h (x_wm_supports): Declare external.
18938         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
18939         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
18940         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
18941         `fullscreen' frame parameter.
18942         * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running
18943         without a window manager.
18945 2015-08-24  Glenn Morris  <rgm@gnu.org>
18947         * lisp/version.el (emacs-version): No longer include build host.
18948         * doc/lispref/intro.texi (Version Info): Update example.
18950 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
18952         * doc/lispref/elisp.texi: Fix typo in previous change.
18954         More-conservative ‘format’ quote restyling
18955         Instead of restyling curved quotes for every call to ‘format’,
18956         create a new function ‘format-message’ that does the restyling,
18957         and using the new function instead of ‘format’ only in contexts
18958         where this seems appropriate.
18959         Problem reported by Dmitry Gutov and Andreas Schwab in:
18960         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
18961         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
18962         * doc/lispref/commands.texi (Using Interactive):
18963         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
18964         * doc/lispref/display.texi (Displaying Messages, Progress):
18965         * doc/lispref/elisp.texi:
18966         * doc/lispref/help.texi (Keys in Documentation):
18967         * doc/lispref/minibuf.texi (Minibuffer Misc):
18968         * doc/lispref/strings.texi (Formatting Strings):
18969         * etc/NEWS:
18970         Document the changes.
18971         * lisp/abbrev.el (expand-region-abbrevs):
18972         * lisp/apropos.el (apropos-library):
18973         * lisp/calc/calc-ext.el (calc-record-message)
18974         (calc-user-function-list):
18975         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
18976         * lisp/calc/calc-lang.el (math-read-big-balance):
18977         * lisp/calc/calc-store.el (calc-edit-variable):
18978         * lisp/calc/calc-units.el (math-build-units-table-buffer):
18979         * lisp/calc/calc-yank.el (calc-edit-mode):
18980         * lisp/calendar/icalendar.el (icalendar-export-region)
18981         (icalendar--add-diary-entry):
18982         * lisp/cedet/mode-local.el (mode-local-print-binding)
18983         (mode-local-describe-bindings-2):
18984         * lisp/cedet/semantic/complete.el (semantic-completion-message):
18985         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
18986         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
18987         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
18988         * lisp/descr-text.el (describe-text-properties-1, describe-char):
18989         * lisp/dframe.el (dframe-message):
18990         * lisp/dired-aux.el (dired-query):
18991         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
18992         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
18993         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
18994         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
18995         (cconv-analyze-form):
18996         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
18997         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
18998         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
18999         * lisp/emacs-lisp/edebug.el (edebug-format):
19000         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
19001         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
19002         (eldoc-message):
19003         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
19004         * lisp/emacs-lisp/find-func.el (find-function-library):
19005         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
19006         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
19007         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
19008         * lisp/emacs-lisp/package.el (package-compute-transaction)
19009         (package-install-button-action, package-delete-button-action)
19010         (package-menu--list-to-prompt):
19011         * lisp/emacs-lisp/timer.el (timer-event-handler):
19012         * lisp/emacs-lisp/warnings.el (lwarn, warn):
19013         * lisp/emulation/viper-cmd.el:
19014         (viper-toggle-parse-sexp-ignore-comments)
19015         (viper-kill-buffer, viper-brac-function):
19016         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
19017         * lisp/facemenu.el (facemenu-add-new-face):
19018         * lisp/faces.el (face-documentation, read-face-name)
19019         (face-read-string, read-face-font, describe-face):
19020         * lisp/files.el (find-alternate-file, hack-local-variables)
19021         (hack-one-local-variable--obsolete, write-file)
19022         (basic-save-buffer, delete-directory):
19023         * lisp/format.el (format-write-file, format-find-file)
19024         (format-insert-file):
19025         * lisp/help-fns.el (help-fns--key-bindings)
19026         (help-fns--compiler-macro, help-fns--obsolete)
19027         (help-fns--interactive-only, describe-function-1)
19028         (describe-variable):
19029         * lisp/help.el (describe-mode):
19030         * lisp/info-xref.el (info-xref-output):
19031         * lisp/info.el (Info-virtual-index-find-node)
19032         (Info-virtual-index, info-apropos):
19033         * lisp/international/kkc.el (kkc-error):
19034         * lisp/international/mule-cmds.el:
19035         (select-safe-coding-system-interactively)
19036         (select-safe-coding-system, describe-input-method):
19037         * lisp/international/mule-conf.el (code-offset):
19038         * lisp/international/mule-diag.el (describe-character-set)
19039         (list-input-methods-1):
19040         * lisp/international/quail.el (quail-error):
19041         * lisp/minibuffer.el (minibuffer-message):
19042         * lisp/mpc.el (mpc--debug):
19043         * lisp/msb.el (msb--choose-menu):
19044         * lisp/net/ange-ftp.el (ange-ftp-message):
19045         * lisp/net/gnutls.el (gnutls-message-maybe):
19046         * lisp/net/newst-backend.el (newsticker--sentinel-work):
19047         * lisp/net/newst-treeview.el (newsticker--treeview-load):
19048         * lisp/net/nsm.el (nsm-query-user):
19049         * lisp/net/rlogin.el (rlogin):
19050         * lisp/net/soap-client.el (soap-warning):
19051         * lisp/net/tramp.el (tramp-debug-message):
19052         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
19053         * lisp/nxml/nxml-parse.el (nxml-parse-error):
19054         * lisp/nxml/rng-cmpct.el (rng-c-error):
19055         * lisp/nxml/rng-match.el (rng-compile-error):
19056         * lisp/nxml/rng-uri.el (rng-uri-error):
19057         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
19058         * lisp/org/org-ctags.el:
19059         (org-ctags-ask-rebuild-tags-file-then-find-tag):
19060         * lisp/proced.el (proced-log):
19061         * lisp/progmodes/ebnf2ps.el (ebnf-log):
19062         * lisp/progmodes/flymake.el (flymake-log):
19063         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
19064         * lisp/replace.el (occur-1):
19065         * lisp/simple.el (execute-extended-command)
19066         (undo-outer-limit-truncate, define-alternatives):
19067         * lisp/startup.el (command-line):
19068         * lisp/subr.el (error, user-error, add-to-list):
19069         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
19070         (tutorial--find-changed-keys):
19071         * src/callint.c (Fcall_interactively):
19072         * src/editfns.c (Fmessage, Fmessage_box):
19073         Restyle the quotes of format strings intended for use as a
19074         diagnostic, when restyling seems appropriate.
19075         * lisp/subr.el (format-message): New function.
19076         * src/doc.c (Finternal__text_restyle): New function.
19077         (syms_of_doc): Define it.
19079 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
19081         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
19083 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
19085         python.el: Fix python-shell-buffer-substring on indented code
19086         (Bug#21086)
19087         * lisp/progmodes/python.el (python-shell-buffer-substring):
19088         Respect current line indentation when calculating string.
19089         * test/automated/python-tests.el
19090         (python-shell-buffer-substring-10)
19091         (python-shell-buffer-substring-11)
19092         (python-shell-buffer-substring-12): New tests.
19094 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
19096         Fix minor glitches from ‘format’ reversion
19097         * doc/lispref/strings.texi (Formatting Strings):
19098         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
19099         Documentation’, not below.
19100         * src/syntax.c (Finternal_describe_syntax_value):
19101         Prefer AUTO_STRING to build_string where either will do, as
19102         AUTO_STRING is a bit faster.
19104 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
19106         python.el: Defer shell setup code until first interactive prompt
19107         * lisp/progmodes/python.el
19108         (python-shell-comint-watch-for-first-prompt-output-filter):
19109         New function.
19110         (inferior-python-mode): Use it.
19111         (python-shell-first-prompt-hook): New hook.
19112         (python-shell-send-setup-code)
19113         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
19114         this hook instead of inferior-python-hook.
19116 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
19118         Remove the calls to `seq-into` from `seq-concatenate`
19119         Since most new types of seq would have to be defined as sequences (cons
19120         cells or CL structs, mostly), there is no need to convert the seqs to
19121         sequences (which can be a fairly expensive operation).
19122         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
19123         sequences.
19125 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
19127         python.el: Fix completion for pdb interactions
19128         * lisp/progmodes/python.el (python-shell-completion-setup-code):
19129         Simplify.  Toggle print_mode for native wrapped completer.
19130         (python-shell-completion-native-setup): Ensure process buffer.
19131         Add print_mode attribute to completer wrapper to toggle returning
19132         or printing candidates.
19133         (python-shell-completion-native-get-completions): Cleanup.
19134         (python-shell-completion-get-completions): Cleanup.
19135         (python-shell-completion-at-point): Perform prompt checks.
19136         Force fallback completion in pdb interactions.
19138 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
19140         Make seq.el more extensible by using cl-defmethod
19141         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
19142         make it easier to extend seq.el with new "seq types".
19143         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
19144         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
19145         subseq in cl-extra.el, and use it in seq.el.
19147 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
19149         python.el: Fix prompt detection with user overridden interpreter
19150         * lisp/progmodes/python.el (python-shell-prompt-detect):
19151         Honor buffer local python-shell-interpreter and
19152         python-shell-interpreter-interactive-arg.
19154 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
19156         Support exec-directory with non-ASCII characters on Windows
19157         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
19158         in the system's ANSI codepage, when it is used for invoking
19159         cmdproxy.
19161 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
19163         Revert "Extend ‘format’ to translate curved quotes"
19164         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
19166         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
19167         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
19169 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
19171         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers):
19172         Clarify "invisible window".
19174 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
19176         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
19177         magic-fallback-mode-alist.
19179 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
19181         python.el: fallback completion, ffap and eldoc setup enhancements
19182         Setup codes are now sent continuously so that the current frame is
19183         always taken into account.  This allows working within debuggers
19184         and always keeping a fresh version of setup codes that will return
19185         proper results.
19186         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
19187         (python-shell-send-setup-code): Send code only when
19188         python-shell-setup-codes is non-nil.
19189         (python-shell-completion-string-code): Cleanup trailing newline.
19190         (python-shell-completion-get-completions): Always use
19191         python-shell-completion-setup-code.
19192         (python-ffap-setup-code): Work with any object, not only modules.
19193         (python-ffap-string-code): Cleanup trailing newline.
19194         (python-ffap-module-path): Always use python-ffap-setup-code.
19195         (python-eldoc-string-code): Cleanup trailing newline.
19196         (python-eldoc--get-doc-at-point): Always use
19197         python-eldoc-setup-code.  Return non-nil only if docstring is
19198         found.
19200         python.el: Increase native completion robustness
19201         * lisp/progmodes/python.el (python-shell-completion-native-setup):
19202         Make completer print real candidates and just return dummy ones to
19203         avoid input modification.
19204         (python-shell-completion-native-get-completions): Set
19205         comint-redirect-insert-matching-regexp to non-nil and make
19206         comint-redirect-finished-regexp match the last dummy candidate.
19207         Use python-shell-accept-process-output to wait for the full list
19208         of candidates.
19210 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
19212         Fix invocation of programs via cmdproxy.exe
19213         * src/w32proc.c (sys_spawnve): Use exec-directory, not
19214         invocation-directory, for finding cmdproxy.exe.  When Emacs is
19215         run from the source tree, look for cmdproxy.exe in the same source
19216         tree.  (Bug#21323)
19218 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
19220         Handle comments inside unquoted URIs in css-mode
19221         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
19222         (css-syntax-propertize-function): New defconst.
19223         (css--font-lock-keywords): Handle parens around unquoted URIs.
19224         (css-mode): Set `syntax-propertize-function'.
19226 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
19228         Support invocation of Hunspell with multiple dictionaries
19229         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file):
19230         Support lists of dictionaries of the form "DICT1,DICT2,...".
19231         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
19233         Minor formatting changes in ispell.el
19234         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
19235         (ispell-print-if-debug, ispell-aspell-find-dictionary)
19236         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
19237         (ispell-hunspell-dictionary-alist)
19238         (ispell-hunspell-fill-dictionary-entry)
19239         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
19240         (ispell-buffer-with-debug, ispell-complete-word)
19241         (ispell-current-dictionary, ispell-current-personal-dictionary)
19242         (ispell-accept-output, ispell-minor-mode)
19243         (ispell-personal-dictionary, ispell-dictionary-alist)
19244         (ispell-really-aspell, ispell-really-hunspell)
19245         (ispell-encoding8-command, ispell-aspell-supports-utf8)
19246         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
19247         Fix whitespace, inconsistent capitalization, and arguments in doc
19248         strings.
19250 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
19252         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
19253         function refused to resize a size-preserved window.
19255 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
19257         * doc/lispref/windows.texi (Selecting Windows): Improve
19258         documentation and indexing of 'window-use-time'.
19260 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
19262         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
19263         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
19264         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
19265         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
19266         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
19267         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
19268         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
19269         Fix up commenting style.
19271 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
19273         text-quoting-style in emacs-lisp diagnostics
19274         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
19275         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
19276         (ad-disable-advice, ad-remove-advice, ad-set-argument)
19277         (ad-set-arguments):
19278         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
19279         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
19280         (byte-optimize-while, byte-optimize-apply):
19281         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
19282         (byte-compile-log-file, byte-compile-format-warn)
19283         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
19284         (byte-compile-cl-warn)
19285         (byte-compile-warn-about-unresolved-functions)
19286         (byte-compile-file, byte-compile-fix-header)
19287         (byte-compile--declare-var, byte-compile-file-form-defmumble)
19288         (byte-compile-form, byte-compile-normal-call)
19289         (byte-compile-variable-ref, byte-compile-variable-set)
19290         (byte-compile-subr-wrong-args, byte-compile-setq-default)
19291         (byte-compile-negation-optimizer)
19292         (byte-compile-condition-case--old)
19293         (byte-compile-condition-case--new, byte-compile-save-excursion)
19294         (byte-compile-defvar, byte-compile-autoload)
19295         (byte-compile-lambda-form)
19296         (byte-compile-make-variable-buffer-local, display-call-tree)
19297         (batch-byte-compile):
19298         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
19299         (cconv-analyze-form):
19300         * lisp/emacs-lisp/chart.el (chart-space-usage):
19301         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
19302         (check-declare-warn, check-declare-file)
19303         (check-declare-directory):
19304         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
19305         (checkdoc-message-text-engine):
19306         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
19307         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
19308         (cl-symbol-macrolet):
19309         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
19310         * lisp/emacs-lisp/copyright.el (copyright)
19311         (copyright-update-directory):
19312         * lisp/emacs-lisp/edebug.el (edebug-read-list):
19313         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
19314         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
19315         (eieio-oref, eieio-oset-default):
19316         * lisp/emacs-lisp/eieio-speedbar.el:
19317         (eieio-speedbar-child-make-tag-lines)
19318         (eieio-speedbar-child-description):
19319         * lisp/emacs-lisp/eieio.el (defclass, change-class):
19320         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
19321         (elint-init-form, elint-check-defalias-form)
19322         (elint-check-let-form):
19323         * lisp/emacs-lisp/ert.el (ert-get-test):
19324         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
19325         (find-function-library):
19326         * lisp/emacs-lisp/generator.el (iter-yield):
19327         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
19328         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
19329         * lisp/emacs-lisp/package-x.el (package-upload-file):
19330         * lisp/emacs-lisp/package.el (package-version-join)
19331         (package-disabled-p, package-activate-1, package-activate)
19332         (package--download-one-archive)
19333         (package--download-and-read-archives)
19334         (package-compute-transaction, package-install-from-archive)
19335         (package-install, package-install-selected-packages)
19336         (package-delete, package-autoremove)
19337         (package-install-button-action, package-delete-button-action)
19338         (package-menu-hide-package, package-menu--list-to-prompt)
19339         (package-menu--perform-transaction)
19340         (package-menu--find-and-notify-upgrades):
19341         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
19342         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
19343         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
19344         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
19345         * lisp/emacs-lisp/smie.el (smie-config-save):
19346         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
19347         * lisp/emacs-lisp/testcover.el (testcover-1value):
19348         Use curved quotes in diagnostic format strings.
19350 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
19352         python.el: Ensure remote process-environment on non-interactive processes
19353         * lisp/progmodes/python.el
19354         (python-shell-tramp-refresh-process-environment): New function.
19355         (python-shell-with-environment): Use it.
19356         * test/automated/python-tests.el (python-shell-with-environment-2):
19357         Update.
19359         python.el: Enhancements to process environment setup.
19360         * lisp/progmodes/python.el (python-shell-process-environment)
19361         (python-shell-extra-pythonpaths, python-shell-exec-path)
19362         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
19363         (python-shell-setup-codes): Remove :safe.
19364         (python-shell-remote-exec-path): New defcustom.
19365         (python-shell--add-to-path-with-priority): New macro.
19366         (python-shell-calculate-pythonpath): Give priority to
19367         python-shell-extra-pythonpaths.  Update docstring.
19368         (python-shell-calculate-process-environment): Give priority to
19369         python-shell-process-environment.  Update docstring.
19370         (python-shell-calculate-exec-path): Give priority to
19371         python-shell-exec-path and calculated virtualenv bin directory.
19372         Update docstring.
19373         (python-shell-tramp-refresh-remote-path): New function.
19374         (python-shell-with-environment): Use it when working remotely and
19375         do not modify tramp-remote-path.  Allow nesting.
19376         (python-shell-calculate-command): Remove useless
19377         python-shell-with-environment call.
19378         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
19379         (python-shell-calculate-pythonpath-2)
19380         (python-shell-calculate-process-environment-6)
19381         (python-shell-calculate-process-environment-7)
19382         (python-shell-calculate-process-environment-8)
19383         (python-shell-calculate-exec-path-3)
19384         (python-shell-calculate-exec-path-4)
19385         (python-shell-calculate-exec-path-5)
19386         (python-shell-calculate-exec-path-6)
19387         (python-shell-with-environment-3): New tests.
19388         (python-shell-calculate-process-environment-2)
19389         (python-shell-calculate-process-environment-3)
19390         (python-shell-calculate-process-environment-4)
19391         (python-shell-calculate-process-environment-5)
19392         (python-shell-calculate-exec-path-1)
19393         (python-shell-calculate-exec-path-2)
19394         (python-shell-with-environment-1)
19395         (python-shell-with-environment-2): Update and simplify.
19397 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
19399         Avoid hard-coding "M-x command" in docstrings
19400         * lisp/calendar/todo-mode.el (todo-mode):
19401         * lisp/desktop.el (desktop-save-mode):
19402         * lisp/edmacro.el (edit-kbd-macro):
19403         * lisp/emacs-lisp/package.el (package-menu-execute):
19404         * lisp/emulation/viper-cmd.el (viper-ask-level):
19405         * lisp/emulation/viper-init.el (viper-expert-level):
19406         * lisp/filesets.el (filesets-add-buffer):
19407         * lisp/follow.el (follow-mode):
19408         * lisp/gnus/auth-source.el (auth-sources):
19409         * lisp/international/ogonek.el (ogonek-informacja)
19410         (ogonek-information):
19411         * lisp/net/tramp.el (tramp-process-actions):
19412         * lisp/org/org-gnus.el (org-gnus-no-new-news):
19413         * lisp/org/org.el (org-ellipsis):
19414         * lisp/progmodes/python.el (python-shell-get-process-or-error):
19415         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
19416         * lisp/server.el (server-start):
19417         * lisp/type-break.el (type-break-noninteractive-query):
19418         * lisp/userlock.el (ask-user-about-supersession-help):
19419         * lisp/whitespace.el (whitespace-report-region):
19420         Prefer (substitute-command-keys "`\\[foo-command]'")
19421         to "`M-x foo-command'" in docstrings and the like.
19423 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
19425         Use add-function for prettify-symbols-compose-predicate
19426         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
19427         prettify-symbols-compose-predicate in terms of add-function.
19428         * etc/NEWS: Mention prettify-symbols-compose-predicate and
19429         prettify-symbols-mode support in tex-mode.
19431 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
19433         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun.
19434         (smie-indent-exps, smie-indent-keyword): Use it.
19435         * test/indent/css-mode.css: Test alignment with leading comment.
19437 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
19439         Respect text-quoting-style in (*Finder*) menus
19440         * lisp/info.el (info--prettify-description):
19441         Treat description as a docstring, so that it's requoted as
19442         per text-quoting-style.
19444 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
19446         Document `window-use-time' in Elisp manual
19447         * doc/lispref/windows.texi (Selecting Windows): Document
19448         `window-use-time'.
19450 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
19452         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.
19453         This is a cleaner fix for Bug#21260 than the previous change.
19455 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
19457         Respect text-quoting-style in calc
19458         In calc, tespect text-quoting-style preference in diagnostic
19459         formats and fix a few similar problems in docstrings.
19460         * lisp/calc/calc-aent.el (math-read-factor):
19461         * lisp/calc/calc-embed.el (calc-do-embedded):
19462         * lisp/calc/calc-ext.el (calc-user-function-list)
19463         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
19464         * lisp/calc/calc-help.el (calc-describe-key)
19465         (calc-describe-thing):
19466         * lisp/calc/calc-lang.el (calc-c-language)
19467         (math-parse-fortran-vector-end, math-parse-tex-sum)
19468         (math-parse-eqn-matrix, math-parse-eqn-prime)
19469         (calc-yacas-language, calc-maxima-language, calc-giac-language)
19470         (math-read-big-rec, math-read-big-balance):
19471         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
19472         (calc-auto-recompute):
19473         * lisp/calc/calc-prog.el (calc-user-define-invocation)
19474         (math-do-arg-check):
19475         * lisp/calc/calc-store.el (calc-edit-variable):
19476         * lisp/calc/calc-units.el (math-build-units-table-buffer):
19477         * lisp/calc/calc-vec.el (math-read-brackets):
19478         * lisp/calc/calc-yank.el (calc-edit-mode):
19479         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
19480         Use curved quotes in diagnostic format strings.
19481         * lisp/calc/calc-help.el (calc-describe-thing):
19482         Format docstrings with substitute-command-keys.
19483         * lisp/calc/calc-help.el (calc-j-prefix-help):
19484         * lisp/calc/calc-misc.el (calc-help):
19485         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
19486         Escape a docstring "`".
19488 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
19490         Fix documentation of 'menu-set-font' and 'set-frame-font'
19491         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
19492         * doc/lispref/frames.texi (Frame Font): Document that
19493         set-frame-font with the last argument 't' will also make the font
19494         the default for the future GUI frames.
19496         Document '--create-frame' option to emacsclient
19497         * doc/emacs/misc.texi (emacsclient Options): Document the
19498         '--create-frame' option.  (Bug#21308)
19500 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
19502         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
19504 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
19506         Document 'get-mru-window' in the ELisp manual
19507         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
19508         'get-mru-window'.  (Bug#21306)
19510         Clarify documentation of 'get-buffer-window-list'
19511         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
19512         current window, if relevant, will be the first in the list
19513         returned by 'get-buffer-window-list'.
19514         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
19516 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
19518         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
19519         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
19520         `switch-to-buffer'.
19522 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
19524         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
19525         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
19526         `display-buffer' instead of `switch-to-buffer'.
19528 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
19530         Follow user preference in calendar diagnostics
19531         Respect text-quoting-style preference in diagnostic formats by
19532         using curved quotes (which are translated as per text-quoting-style)
19533         instead of grave accent and apostrophe (which are not).
19534         * lisp/calendar/appt.el (appt-display-message):
19535         * lisp/calendar/diary-lib.el (diary-check-diary-file)
19536         (diary-mail-entries, diary-from-outlook):
19537         * lisp/calendar/icalendar.el (icalendar-export-region)
19538         (icalendar--convert-float-to-ical)
19539         (icalendar--convert-date-to-ical)
19540         (icalendar--convert-ical-to-diary)
19541         (icalendar--convert-recurring-to-diary)
19542         (icalendar--add-diary-entry):
19543         * lisp/calendar/time-date.el (format-seconds):
19544         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
19545         (timeclock-make-hours-explicit):
19546         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
19547         (todo-item-mark, todo-check-format)
19548         (todo-insert-item--next-param, todo-edit-item--next-key)
19549         (todo-mode):
19550         Use curved quotes in diagnostic format strings.
19551         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
19552         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
19553         Just use straight quoting for simple test case.
19555 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
19557         * src/gfilenotify.c (Fgfile_add_watch):
19558         Handle errors from g_file_monitor.
19560 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
19562         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
19563         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
19564         frame" instead of "non-minibuffer frame".
19566         Fix frame geometry related text
19567         * doc/lispref/frames.texi (Frame Layout):
19568         Rename `x-frame-geometry' to `frame-geometry'.
19569         * doc/lispref/frames.texi (Mouse Position):
19570         * doc/lispref/windows.texi (Coordinates and Windows):
19571         Use `set-mouse-absolute-pixel-position' instead of
19572         `x-set-mouse-absolute-pixel-position'.
19574         Sanitize frame geometry related functions
19575         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
19576         (Fx_frame_edges): Rename to Fns_frame_edges.
19577         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
19578         (Fx_frame_edges): Rename to Fw32_frame_edges.
19579         (Fx_mouse_absolute_pixel_position): Rename to
19580         Fw32_mouse_absolute_pixel_position.
19581         (Fx_set_mouse_absolute_pixel_position): Rename to
19582         Fw32_set_mouse_absolute_pixel_position.
19583         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
19584         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
19585         (ns-frame-edges, w32-mouse-absolute-pixel-position)
19586         (x-mouse-absolute-pixel-position)
19587         (w32-set-mouse-absolute-pixel-position)
19588         (x-set-mouse-absolute-pixel-position): Declare.
19589         (frame-geometry, mouse-absolute-pixel-position)
19590         (set-mouse-absolute-pixel-position): New functions.
19591         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
19593 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
19595         Fix MinGW64 build broken by latest w32uniscribe.c changes
19596         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
19597         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
19598         (Bug#21260)
19600 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
19602         Add TeX defaults for prettify-symbol-mode
19603         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
19604         Rename from tex-prettify-symbols-alist.
19605         (tex--prettify-symbols-compose-p): New function.
19606         (tex-common-initialization): Use them as prettify-symbols-alist
19607         and prettify-symbols-compose-predicate.
19609         Generalize prettify-symbols to arbitrary modes
19610         * lisp/progmodes/prog-mode.el
19611         (prettify-symbols-default-compose-p): New function.
19612         (prettify-symbols-compose-predicate): New variable.
19613         (prettify-symbols--compose-symbol): Use it.
19615 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
19617         Don't quote symbols 'like-this' in docstrings etc.
19618         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
19619         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
19620         * lisp/allout.el (allout-add-resumptions, allout-mode):
19621         * lisp/calculator.el (calculator-operators):
19622         * lisp/cedet/data-debug.el (dd-propertize):
19623         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
19624         * lisp/cedet/semantic/analyze/debug.el:
19625         (semantic-analyzer-debug-global-miss-text):
19626         * lisp/cedet/semantic/lex-spp.el:
19627         (semantic-lex-spp-replace-or-symbol-or-keyword):
19628         * lisp/cedet/semantic/symref.el:
19629         (semantic-symref-cleanup-recent-buffers-fcn):
19630         * lisp/cedet/semantic/tag.el (semantic-tag-class):
19631         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
19632         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
19633         * lisp/gnus/pop3.el (pop3-authentication-scheme):
19634         * lisp/help-fns.el (describe-function-orig-buffer):
19635         * lisp/imenu.el (imenu--history-list):
19636         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
19637         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
19638         (feedmail-queue-default-file-slug)
19639         (feedmail-queue-buffer-file-name):
19640         * lisp/net/mairix.el (mairix-searches-mode-map):
19641         * lisp/net/newst-backend.el (newsticker-retrieval-method)
19642         (newsticker-auto-mark-filter-list):
19643         * lisp/obsolete/vi.el (vi-mode):
19644         * lisp/progmodes/cc-engine.el (c-literal-type):
19645         * lisp/progmodes/cpp.el (cpp-face):
19646         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
19647         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
19648         * lisp/progmodes/pascal.el (pascal-auto-lineup):
19649         * lisp/progmodes/prog-mode.el (prog-widen):
19650         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
19651         (verilog-auto-lineup, verilog-auto-reset-widths)
19652         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
19653         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
19654         (flyspell-maybe-correct-doubling):
19655         * lisp/textmodes/table.el (table-justify, table-justify-cell)
19656         (table-justify-row, table-justify-column, table-insert-sequence)
19657         (table--justify-cell-contents):
19658         * lisp/url/url-auth.el (url-get-authentication):
19659         * lisp/window.el (display-buffer-record-window):
19660         * lisp/xml.el (xml-parse-file, xml-parse-region):
19661         * src/gfilenotify.c (Fgfile_add_watch):
19662         Don't quote symbols with apostrophes in doc strings.
19663         Use asymmetric quotes instead.
19664         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
19665         Likewise for symbol in diagnostic.
19666         * lisp/image.el (image-extension-data):
19667         * lisp/register.el (frame-configuration-to-register):
19668         * src/buffer.c (syms_of_buffer):
19669         Remove bogus apostrophes after symbols.
19670         * lisp/thumbs.el (thumbs-conversion-program):
19671         Quote Lisp string values using double-quotes, not apostrophes.
19673 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
19675         Describe frame geometry and related functions in Elisp manual
19676         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
19677         (Showing Images): Update references.
19678         * doc/lispref/elisp.texi (Top): Update node listing.
19679         * doc/lispref/frames.texi (Frame Geometry): New node.
19680         Move `Size and Position' section here.
19681         (Size Parameters): Update references.
19682         (Mouse Position): Update references and nomenclature.
19683         Describe new functions `x-mouse-absolute-pixel-position' and
19684         `x-set-mouse-absolute-pixel-position'.
19685         * doc/lispref/windows.texi (Window Sizes): Update references.
19686         (Resizing Windows): Update references.  Move description of
19687         `fit-frame-to-buffer' here.
19688         (Coordinates and Windows): Update nomenclature and references.
19689         Describe new arguments of `window-edges'.  Comment out
19690         descriptions of `window-left-column', `window-top-line',
19691         `window-pixel-left' and `window-pixel-top'.  Describe
19692         `window-absolute-pixel-position'.
19694 2015-08-20  Alan Mackenzie  <acm@muc.de>
19696         Handling of `c-parse-state'.  Fix low level bug.
19697         * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards):
19698         Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
19700 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
19702         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
19703         window instead of deleting it.
19705 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
19707         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
19708         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
19709         determine whether frame has a titlebar.
19710         Suggested by Eli Zaretskii <eliz@gnu.org>
19712 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
19714         Add a prettify-symbols-alist for (La)TeX
19715         * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist):
19716         New variable holding an alist suitable as prettify-symbols-alist in
19717         (La)TeX modes.
19719 2015-08-19  Alan Mackenzie  <acm@muc.de>
19721         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
19722         Fixes debbugs#21275.
19723         In Emacs >= 25, let electric-pair-mode take precedence over
19724         delete-selection-mode.
19725         * lisp/delsel.el (delete-selection-uses-region-p): New function,
19726         previously a lambda expression in a property value for
19727         `self-insert-command'.
19728         (top-level): Set the `delete-selection' property of
19729         `self-insert-command' to `delete-selection-uses-region-p'.
19730         * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection'
19731         property for c-electric-\(brace\|paren\) the value
19732         `delete-selection-uses-region-p' when the latter function exists.
19734 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19736         Fix key binding quoting in tutorial *Help*
19737         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
19738         When generating help for custom key bindings, use the user-preferred
19739         quoting style rather than hardcoding the grave style.
19741 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
19743         Improve and future-proof OTF fonts support in w32uniscribe.c
19744         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
19745         about the expected results and why the new Uniscribe APIs are not
19746         used in this function.
19747         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
19748         (ScriptGetFontFeatureTags_Proc): New function typedefs.
19749         (uniscribe_new_apis): New static variable.
19750         (uniscribe_check_features): New function, implements OTF features
19751         verification while correctly accounting for features in the list
19752         after the nil member, if any.
19753         (uniscribe_check_otf_1): New function, retrieves the features
19754         supported by the font for the requested script and language using
19755         the Uniscribe APIs available from Windows Vista onwards.
19756         (uniscribe_check_otf): If the new Uniscribe APIs are available,
19757         use them in preference to reading the font data directly.  Call
19758         uniscribe_check_features to verify that the requested features are
19759         supported, replacing the original incomplete code.
19760         (syms_of_w32uniscribe): Initialize function pointers for the new
19761         Uniscribe APIs.  (Bug#21260)
19762         (otf_features): Scan the script, langsys, and feature arrays back
19763         to front, so that the result we return has them in alphabetical
19764         order, like ftfont.c does.
19765         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
19766         New variable for debugging w32uniscribe.c code.
19768 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
19770         * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87
19771         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
19772         clause of `isearch-search-fun-default'.  That lax variable does not
19773         refer to lax-whitespacing.  Related to (bug#21777).
19774         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
19775         * lisp/character-fold.el (character-fold-search): Set to nil.
19776         Default to nil for now, until someone implements proper
19777         lax-whitespacing with char-fold searching.
19779 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
19781         Fix doc-string of `help-mode-finish'.
19782         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
19784         In nsimage.m include coding.h (Bug#21292)
19785         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
19787         Move window edge functions to Elisp.
19788         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
19789         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
19790         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
19791         Move to window.el.
19792         (calc_absolute_offset): Remove.
19793         * lisp/frame.el (frame-edges): New function.
19794         * lisp/window.el (window-edges, window-pixel-edges)
19795         (window-absolute-pixel-edges): Move here from window.c.
19796         (window-body-edges, window-body-pixel-edges)
19797         (window-absolute-body-pixel-edges): Move here from window.c and
19798         rename "inside" to "body".  Keep old names as aliases.
19799         (window-absolute-pixel-position): New function.
19801 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
19803         [Gnus]: Use overlay functions directly
19804         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
19805         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
19806         (gnus-article-highlight-signature, gnus-article-extend-url-button)
19807         (gnus-article-add-button, gnus-insert-prev-page-button)
19808         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
19809         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
19810         (gnus-cite-add-face):
19811         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
19812         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
19813         (gnus-tree-recenter, gnus-highlight-selected-tree):
19814         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
19815         (gnus-summary-show-thread, gnus-summary-hide-thread)
19816         (gnus-highlight-selected-summary):
19817         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
19818         * lisp/gnus/message.el (message-fix-before-sending)
19819         (message-toggle-image-thumbnails):
19820         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
19821         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
19822         Use overlay functions directly instead of using gnus-overlay-*,
19823         message-overlay-*, and sieve-overlay-*.
19824         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
19825         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
19826         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
19827         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
19828         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
19829         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
19830         (message-overlay-get, message-overlay-put, message-overlays-in):
19831         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
19832         (sieve-overlays-at): Remove.
19834 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
19836         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version
19837         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
19838         builds can use the declaration from the system headers.
19839         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
19840         definition of TITLEBAR_INFO.
19841         Suggested by Eli Zaretskii  <eliz@gnu.org>
19843 2015-08-19  Glenn Morris  <rgm@gnu.org>
19845         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
19847 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19849         Use new q ‘format’ flag when fixing quotes in C
19850         * src/image.c (image_size_error): New function.  All uses of
19851         image_error with "Invalid image size ..."  changed to use it.
19852         * src/image.c (image_size_error, xbm_load_image, xbm_load)
19853         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
19854         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
19855         (imagemagick_load, svg_load, svg_load_image, gs_load)
19856         (x_kill_gs_process):
19857         * src/lread.c (load_warn_old_style_backquotes):
19858         * src/xfaces.c (load_pixmap):
19859         * src/xselect.c (x_clipboard_manager_error_1):
19860         Use %qs, not uLSQM and uRSQM.
19861         * src/syntax.c (Finternal_describe_syntax_value):
19862         Prefer Fsubstitute_command_keys to Fformat, as this lets
19863         us use AUTO_STRING.
19864         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
19865         as it's now guaranteed to be ASCII.
19866         * src/xselect.c (x_clipboard_manager_error_2):
19867         Avoid grave accent in low-level stderr diagnostic.
19869 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
19871         New q flag for ‘format’
19872         * doc/lispref/processes.texi (Sentinels):
19873         Don't hardwire grave quoting style in example.
19874         * doc/lispref/strings.texi (Formatting Strings):
19875         * etc/NEWS:
19876         Document new q flag.
19877         * src/editfns.c (Fformat): Implement it.
19879 2015-08-18  Daiki Ueno  <ueno@gnu.org>
19881         pinentry.el: Add debugging support
19882         * lisp/net/pinentry.el (pinentry-debug): New variable.
19883         (pinentry-debug-buffer): New variable.
19884         (pinentry--process-filter): Send input to the debug buffer, if
19885         `pinentry-debug' is set.
19887         pinentry.el: Improve multiline prompt
19888         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
19889         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
19890         command.
19892 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
19894         Fix multibyte confusion in diagnostics
19895         * src/print.c (print_error_message):
19896         Don't assume that the caller's name is unibyte.
19897         * src/xdisp.c (vadd_to_log):
19898         Don't assume that the formatted diagnostic is unibyte.
19900         Fix file name encodings in diagnostics
19901         Also, close some minor races when opening image files, by opening
19902         them once instead of multiple times.
19903         * src/gtkutil.c (xg_get_image_for_pixmap):
19904         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
19905         (svg_load):
19906         * src/nsimage.m (allocInitFromFile:):
19907         * src/xfns.c (xg_set_icon):
19908         Encode file name, since x_find_image_file no longer does that.
19909         * src/image.c (x_find_image_fd): New function.
19910         (x_find_image_file): Use it.  Do not encode resulting file name,
19911         since callers sometimes need it decoded.
19912         (slurp_file): File arg is now a fd, not a file name.
19913         All callers changed.  This saves us having to open the file twice.
19914         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
19915         (svg_load):
19916         Use x_find_image_fd and fdopen to save a file-open.
19917         Report file name that failed.
19918         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
19920 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
19922         Allow blink-matching-paren to jump off screen
19923         * doc/emacs/programs.texi (Matching): Mention the
19924         `blink-matching-paren' value `jump-offscreen'.
19925         * lisp/simple.el (blink-matching-paren): New possible value.
19926         (blink-matching-paren-on-screen): Clarify the docstring.
19927         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
19929         Refine the previous change
19930         * lisp/simple.el (blink-matching-open): Use minibuffer-message
19931         outside of save-excursion (bug#21286).
19933 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
19935         Rewrite and add frame geometry related functions.
19936         * src/frame.c (Fframe_position): New function.
19937         (Fset_frame_position): Rename parameters and rewrite doc-string.
19938         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
19939         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
19940         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
19941         Qtitle_bar_size.
19942         * src/nsfns.m (frame_geometry): New function.
19943         (Fx_frame_geometry): Call frame_geometry.
19944         (Fx_frame_edges): New function.
19945         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
19946         (GetTitleBarInfo_Proc): Define these so we can use the
19947         GetTitleBarInfo API.
19948         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
19949         (Fx_frame_geometry): Rewrite.
19950         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
19951         (Fx_set_mouse_absolute_pixel_position): New functions.
19952         * src/xfns.c (frame_geometry): New function.
19953         (Fx_frame_geometry): Call frame_geometry.
19954         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
19955         (Fx_set_mouse_absolute_pixel_position): New functions.
19957 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
19959         Improve Tramp's compatibility
19960         * lisp/net/tramp.el (tramp-get-method-parameter):
19961         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
19962         (tramp-adb-get-device):
19963         * lisp/net/trampver.el (tramp-repository-get-version):
19964         Use `tramp-compat-replace-regexp-in-string'.
19966 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
19968         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
19969         Encode/decode string.
19971 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
19973         Clarify what happens to match data on failure
19974         Problem reported by Ernesto Alfonso (Bug#21279).
19975         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
19976         Document more carefully what happens to match data after a failed
19977         search.
19978         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
19979         the return value is undefined if the last search failed.
19980         (Fmatch_data): Simplify doc string line 1.
19982 2015-08-18  Daiki Ueno  <ueno@gnu.org>
19984         Revert "pinentry.el: Support external passphrase cache"
19985         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
19986         pinentry.el shouldn't directly interact with the secrets service,
19987         but ask the caller to cache the passphrase.
19989 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
19991         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
19992         Message mode hooks.
19994 2015-08-17  Daiki Ueno  <ueno@gnu.org>
19996         epg.el: Make gpgconf output parsing future proof
19997         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
19998         --list-options" output.
20000         pinentry.el: Support external passphrase cache
20001         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
20002         (pinentry--allow-external-password-cache): New local variable.
20003         (pinentry--key-info): New local variable.
20004         (secrets-enabled, secrets-search-items, secrets-get-secret):
20005         Declare.
20006         (pinentry--send-passphrase): New function, split from
20007         `pinentry--process-filter'.
20008         (pinentry--process-filter): Use secrets.el to retrieve passphrase
20009         from login keyring.
20011         pinentry.el: Popup window for multiline prompt
20012         * lisp/net/pinentry.el (pinentry): New custom group.
20013         (pinentry-popup-prompt-window): New user option.
20014         (pinentry-prompt-window-height): New user option.
20015         (pinentry--prompt-buffer): New variable.
20016         (pinentry-prompt-mode-map): New variable.
20017         (pinentry-prompt-mode): New function.
20018         (pinentry--prompt): New function.
20019         (pinentry--process-filter): Use `pinentry--prompt' instead of
20020         `read-passwd' and `y-or-n-p'.
20022 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
20024         message.el: Silent the byte compiler
20025         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
20026         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
20027         (message-delete-overlay, message-window-inside-pixel-edges):
20028         Declare before using.
20030         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
20031         (message-window-inside-pixel-edges): XEmacs compatible functions.
20033 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
20035         * lisp/gnus/message.el (message-toggle-image-thumbnails): New command.
20037 2015-08-17  Noah Friedman  <friedman@splode.com>
20039         * lisp/simple.el (blink-matching-open): Restore point before
20040         calling minibuffer-message.
20042 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
20044         * lisp/play/dunnet.el: Update version number in header (now
20045         matches help).
20047 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
20049         Curved quotes in --batch diagnostics in non-UTF-8
20050         When run with --batch, check that curved quotes are compatible with
20051         the system locale before outputting them in diagnostics.
20052         Problem reported by Eli Zaretskii in:
20053         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
20054         * lisp/startup.el (command-line): Set internal--text-quoting-flag
20055         after the standard display table is initialized.
20056         * src/doc.c (default_to_grave_quoting_style): New function.
20057         (text_quoting_style): Use it.
20058         (text_quoting_flag): New static var, visible to Lisp as
20059         internal--text-quoting-flag.
20060         * src/emacs.c: Include <wchar.h> if available.
20061         (using_utf8): New function.
20062         (main): Use it to initialize text_quoting_flag.
20063         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
20064         Don't define, as it's not needed and it clashes with wchar.h.
20066 2015-08-17  Glenn Morris  <rgm@gnu.org>
20068         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
20069         from makeinfo about spurious "Note:" cross-reference, and for grammar.
20071 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
20073         Minor change in variable initialization on MS-Windows
20074         * src/w32fns.c <after_dead_key>: Initialize to -1.
20075         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
20076         non-zero.
20078         Fix a bug with LWindow key remapping on MS-Windows
20079         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
20081 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
20083         Improve fontset support for latest OTF script tags
20084         * lisp/international/fontset.el (otf-script-alist): Add some
20085         missing script tags.
20086         (setup-default-fontset): Include settings for v2 versions of the
20087         script tags used by some modern OTF/TTF fonts.
20089 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
20091         Spelling fixes
20093 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
20095         Use curved quotes in core elisp diagnostics
20096         In the core elisp files, use curved quotes in diagnostic formats,
20097         so that they follow user preference as per ‘text-quoting-style’
20098         rather than being hard-coded to quote `like this'.
20099         * lisp/abbrev.el (expand-region-abbrevs):
20100         * lisp/button.el (button-category-symbol, button-put)
20101         (make-text-button):
20102         * lisp/cus-start.el:
20103         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
20104         (custom--sort-vars-1, load-theme):
20105         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
20106         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
20107         (cl-generic-generalizers):
20108         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
20109         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
20110         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
20111         (advice--make, define-advice):
20112         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
20113         * lisp/emacs-lisp/timer.el (timer-event-handler):
20114         * lisp/env.el (setenv):
20115         * lisp/facemenu.el (facemenu-add-new-face)
20116         (facemenu-add-new-color):
20117         * lisp/faces.el (face-documentation, read-face-name)
20118         (face-read-string, read-face-font, face-spec-set-match-display)
20119         (read-color, x-resolve-font-name):
20120         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
20121         (set-auto-mode, hack-local-variables)
20122         (hack-one-local-variable--obsolete)
20123         (dir-locals-set-directory-class, write-file)
20124         (basic-save-buffer, delete-directory, copy-directory)
20125         (recover-session, recover-session-finish, insert-directory)
20126         (file-modes-char-to-who, file-modes-symbolic-to-number)
20127         (move-file-to-trash):
20128         * lisp/font-lock.el (font-lock-fontify-buffer):
20129         * lisp/format.el (format-write-file, format-find-file)
20130         (format-insert-file):
20131         * lisp/frame.el (get-device-terminal, select-frame-by-name):
20132         * lisp/fringe.el (fringe--check-style):
20133         * lisp/help.el (describe-minor-mode-from-indicator):
20134         * lisp/image.el (image-type):
20135         * lisp/international/fontset.el (x-must-resolve-font-name):
20136         * lisp/international/mule-cmds.el (prefer-coding-system)
20137         (select-safe-coding-system-interactively)
20138         (select-safe-coding-system, activate-input-method)
20139         (toggle-input-method, describe-current-input-method):
20140         * lisp/international/mule-conf.el (code-offset):
20141         * lisp/mouse.el (minor-mode-menu-from-indicator):
20142         * lisp/replace.el (query-replace-read-from)
20143         (occur-after-change-function, occur-1):
20144         * lisp/scroll-bar.el (scroll-bar-columns):
20145         * lisp/simple.el (execute-extended-command)
20146         (undo-outer-limit-truncate, compose-mail, set-variable)
20147         (choose-completion-string, define-alternatives):
20148         * lisp/startup.el (site-run-file, tty-handle-args)
20149         (command-line, command-line-1):
20150         * lisp/subr.el (noreturn, define-error, add-to-list)
20151         (read-char-choice):
20152         * lisp/term/common-win.el (x-handle-xrm-switch)
20153         (x-handle-name-switch, x-handle-args):
20154         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
20155         Use curved quotes in diagnostics.
20156         * lisp/international/mule.el (find-auto-coding):
20157         Use " to quote in a diagnostic, to be consistent with the rest of
20158         this file.
20160         Convert lisp/term/x-win.el to UTF-8
20161         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
20162         runtime behavior, and the file is multilingual so compile-time
20163         appearance shouldn't be an issue.
20164         * admin/notes/unicode: Document this.
20166 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
20168         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
20169         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
20170         issues and comments, bug#943.
20171         (verilog-type-font-keywords): Cycle delay operators like ##1 and
20172         ##[0:$] are now highlighted in their entirety similarly to the #
20173         delay-control operator.  Likewise, the followed-by operators #-#
20174         and #=# are no longer partially highlighed.
20175         (verilog-backward-syntactic-ws-quick)
20176         (verilog-skip-backward-comments): Minor performance improvements
20177         to buffer traversal functions for reduced latency.
20178         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
20179         keyword 'final' follows 'assert/assume/cover', then it is part of
20180         a deferred immediate assertion item and should not be treated as a
20181         final construct for indentation.  Reported by Yuri Sugihara.
20182         (verilog-do-indent): Virtual task/function/class definition lines
20183         should not be considered as declarations.  Reported by Enzo Chi.
20184         (verilog-do-indent): Do not falsely indent to '=' of
20185         property/sequence operators on subsequent lines of a multi-line
20186         statement.
20187         (verilog-assignment-operator-re): Fix '!==' operator and add
20188         support for '<->', ':/', '#-#', and '#=#' operators.
20189         (verilog-calculate-indent, verilog-label-be): Enable
20190         case-sensitive regular expression parsing when looking for
20191         keywords.
20192         (verilog-calc-1): Detect 'pure virtual method' declarations which
20193         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
20194         (verilog-backward-ws&directives): When moving back to the start of
20195         a line and the preceeding line ended with an escaped-newline, then
20196         jump up one line.  This properly consumes a multi-line
20197         pre-processor directive.  Reported by Kaushal Modi.
20198         (verilog-dpi-import-export-re, verilog-extended-complete-re)
20199         (verilog-calc-1): Teach verilog-mode to properly indent after a
20200         DPI import/export statement that resides outside of a module.
20201         Reported by Kaushal Modi.
20202         (verilog-extended-complete-re): Update regexp to match both
20203         "DPI-C" and "DPI".  Reported by Kaushal Modi.
20205 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
20207         substitute-command-keys a few more doc strings
20208         * lisp/allout.el (outlineify-sticky):
20209         * lisp/files.el (hack-one-local-variable--obsolete):
20210         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
20211         Use substitute-command-keys on some doc strings so that
20212         they don't use hard-coded key bindings or quoting styles.
20214         Fix quoting in Fformat calls
20215         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
20216         (xpm_load, xpm_load_image, pbm_load, png_load_body)
20217         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
20218         (imagemagick_load, svg_load, svg_load_image, gs_load)
20219         (x_kill_gs_process):
20220         * src/lread.c (load_warn_old_style_backquotes):
20221         * src/xfaces.c (load_pixmap):
20222         * src/xselect.c (x_clipboard_manager_error_1):
20223         Quote diagnostics according to user preference when calling
20224         Fformat or its derivatives.
20226 2015-08-15  Glenn Morris  <rgm@gnu.org>
20228         * admin/admin.el (set-version, set-copyright): Remove deleted files.
20230 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
20232         Allow describe-function helpers to access buffer-local values
20233         This will be used by cedet/mode-local.el `describe-mode-local-override'
20234         on `help-fns-describe-function-functions' in upstream CEDET.
20235         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
20236         `describe-function'.
20237         (describe-function): Bind it, save it on the help xref stack.
20239         Handle pulse-background being nil
20240         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
20241         pulse-background, handle it being nil.
20243 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
20245         Fix "\`" confusion in Lisp strings
20246         * admin/authors.el (authors-canonical-author-name):
20247         Fix typo by using "\\`" not "\`" in string RE.
20248         * lisp/obsolete/complete.el (PC-complete-as-file-name):
20249         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
20250         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
20251         Use plain "`", not the equivalent-but-confusing "\`", in strings.
20252         * lisp/textmodes/texinfmt.el: Fix comment likewise.
20254 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
20256         * nt/zipdist.bat: Remove -- no longer used.
20258 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
20260         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
20261         rather than "getenforce".
20262         (tramp-sh-handle-set-file-selinux-context): Do not
20263         cache SELinux context if not all context components are given.
20265 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
20267         Add doc strings to 2 help-mode.el functions
20268         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
20269         strings.  (Bug#21263)
20271         Remove files used by the old MS-Windows specific build procedure
20272         * admin/unidata/makefile.w32-in:
20273         * doc/emacs/makefile.w32-in:
20274         * doc/lispintro/makefile.w32-in:
20275         * doc/lispref/makefile.w32-in:
20276         * doc/misc/makefile.w32-in:
20277         * leim/makefile.w32-in:
20278         * lib-src/makefile.w32-in:
20279         * lib/makefile.w32-in:
20280         * lisp/makefile.w32-in:
20281         * nt/INSTALL.OLD:
20282         * nt/config.nt:
20283         * nt/emacs-src.tags:
20284         * nt/envadd.bat:
20285         * nt/gmake.defs:
20286         * nt/makefile.w32-in:
20287         * nt/multi-install-info.bat:
20288         * nt/nmake.defs:
20289         * nt/paths.h:
20290         * src/makefile.w32-in: Files deleted.
20291         * nt/configure.bat: Remove everything except the blurb about the
20292         new build procedure.
20293         * make-dist: Remove references to makefile.w32-in in various
20294         directories, and to files in nt/ that were deleted.
20295         * etc/NEWS: Mention the fact that the files were dropped.
20297 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
20299         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
20300         (Bug#21248)
20302 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
20304         Default to inotify instead of gfile
20305         * configure.ac (with_file_notification): Fix typo that
20306         prevented suppression of file notification if HAVE_NS.
20307         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
20308         with_file_notification is 'yes' (Bug#21241).
20309         * etc/NEWS: Mention this.
20311         Fix broken URLs for ISO-IR
20312         * doc/emacs/mule.texi (Charsets):
20313         * lisp/international/mule-conf.el:
20314         Fix broken URL (Bug#21248).
20316         Low-level diagnostics now use ‘text-quoting-style’
20317         * src/doprnt.c (doprnt):
20318         Format ` and ' as per ‘text-quoting-style’.
20319         * src/xdisp.c (vmessage, message): Mention that the format should
20320         not contain ` or '.
20322         Prefer ‘format’ to ‘substitute-command-keys’
20323         * src/character.h (uLSQM, uRSQM): Move here ...
20324         * src/doc.c (uLSQM, uRSQM): ... from here.
20325         * src/doc.c (Fsubstitute_command_keys):
20326         * src/syntax.c (Finternal_describe_syntax_value):
20327         * lisp/cedet/mode-local.el (mode-local-print-binding)
20328         (mode-local-describe-bindings-2):
20329         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
20330         * lisp/cus-theme.el (describe-theme-1):
20331         * lisp/descr-text.el (describe-text-properties-1, describe-char):
20332         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
20333         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
20334         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
20335         * lisp/emacs-lisp/package.el (describe-package-1):
20336         * lisp/faces.el (describe-face):
20337         * lisp/help-fns.el (help-fns--key-bindings)
20338         (help-fns--compiler-macro, help-fns--parent-mode)
20339         (help-fns--obsolete, help-fns--interactive-only)
20340         (describe-function-1, describe-variable):
20341         * lisp/help.el (describe-mode):
20342         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
20343         to implement quoting style.  This generally makes the code simpler.
20345         Extend ‘format’ to translate curved quotes
20346         This is a followup to the recent doc string change, and deals with
20347         diagnostics and the like.  This patch is more conservative than
20348         the doc string change, in that the behavior of ‘format’ changes
20349         only if its first arg contains curved quotes and the user prefers
20350         straight or grave quotes.  (Come to think of it, perhaps we should
20351         be similarly conservative with doc strings too, but that can wait.)
20352         The upside of this conservatism is that existing usage is almost
20353         surely unaffected.  The downside is that we'll eventually have to
20354         change Emacs's format strings to use curved quotes in places where
20355         the user might want curved quotes, but that's a simple and
20356         mechanical translation that I'm willing to do later.  (Bug#21222)
20357         * doc/lispref/help.texi (Keys in Documentation):
20358         Move description of text-quoting-style from here ...
20359         * doc/lispref/strings.texi (Formatting Strings):
20360         ... to here, and describe new behavior of ‘format’.
20361         * etc/NEWS: Describe new behavior.
20362         * lisp/calc/calc-help.el (calc-describe-thing):
20363         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
20364         * lisp/info.el (Info-find-index-name):
20365         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
20366         of recently-added curved quotes.
20367         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
20368         Move from here ...
20369         * src/lisp.h: ... to here.
20370         * src/doc.c (text_quoting_style): New function.
20371         (Fsubstitute_command_keys): Use it.
20372         * src/editfns.c (Fformat): Implement new behavior.
20373         * src/lisp.h (enum text_quoting_style): New enum.
20375 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
20377         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
20378         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
20380 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
20382         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
20383         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
20385 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
20387         Flush file properties in Tramp
20388         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
20389         (tramp-sh-handle-set-file-times):
20390         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
20391         (tramp-adb-handle-set-file-times): Flush the file properties of
20392         the directory.
20394 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
20396         * doc/emacs/misc.texi (Amusements): Fixed typo.
20398 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
20400         Don't miss warnings about removing string text properties while dumping
20401         * src/alloc.c (purecopy): Warn about removing a string's text
20402         properties even when the same string was already pure-copied
20403         earlier.
20404         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
20405         (elisp--xref-format-extra): Fix the commentary.
20407 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
20409         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049).
20411 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
20413         * lisp/progmodes/compile.el: Use lexical-binding.
20414         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
20416 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
20418         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
20419         * lisp/uniquify.el: Remove redundant `:group's.
20421 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
20423         * lisp/net/tramp-adb.el
20424         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
20425         result to prevent modification of the tramp-cache by side effects.
20426         Use the correct cache key.
20428 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
20430         Make add_to_log varargs
20431         * src/alloc.c (run_finalizer_handler):
20432         * src/charset.c (load_charset_map_from_vector):
20433         * src/nsimage.m (ns_load_image):
20434         * src/xfaces.c (load_pixmap, load_color2):
20435         Simplify, now that add_to_log has a variable number of args.
20436         * src/image.c (image_error): Take a variable number of args.
20437         Callers simplified.
20438         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
20439         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
20440         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
20441         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
20443         Optional args for holiday-greek-orthodox-easter
20444         * etc/NEWS: Document this.
20445         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
20446         Add optional args N and STRING, mimicking the API and code of
20447         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
20449 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
20451         xref-find-definitions: Exclude more generic function items.
20452         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
20453         Add doc string.
20454         (cl--generic-find-defgeneric-regexp): New.
20455         (find-function-regexp-alist): Add it.
20456         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
20457         elisp-mode.el, change to search for ";;; Code:"
20458         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
20459         (find-function-regexp-alist): Add them.
20460         * lisp/progmodes/elisp-mode.el:
20461         (elisp--xref-format, elisp--xref-format-extra): Change back to
20462         defvar due to bug#21237.
20463         (elisp--xref-find-definitions): Exclude co-located default methods for
20464         generic functions.  Also exclude implicitly declared defgeneric.
20465         (elisp--xref-find-definitions): Handle C source properly.  Exclude minor
20466         mode variables defined by 'define-minor-mode'.
20467         * test/automated/elisp-mode-tests.el: Declare generic functions, add
20468         tests for them.
20469         (xref-elisp-test-run): Fix bug.
20470         (emacs-test-dir): Improve initial value.
20471         (find-defs-defun-defvar-el): Don't expect defvar.
20472         (find-defs-feature-el): Match change to find-feature-regexp.
20474 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
20476         Improve warning about purecopy of strings with properties
20477         * src/alloc.c (purecopy): Show the offending string with the
20478         warning about removing its text properties.
20480 2015-08-12  Alan Mackenzie  <acm@muc.de>
20482         Introduce new macros to cover Emacs's new names in cl-lib.el
20483         This also eliminates `mapcan' warnings in XEmacs.
20484         * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
20485         characterise [X]Emacs versions.
20486         (top-level): Require either 'cl or 'cl-lib, depending on
20487         c--mapcan-status.
20488         Change this back to cc-external-require from an eval-when-compile
20489         require.
20490         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
20491         (c--delete-duplicates): New macros which expand into either old or new
20492         names.
20493         (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros
20494         rather than the old names.
20495         * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan
20496         rather than mapcan.
20497         * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
20498         * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
20499         depending on c--mapcan-status.
20500         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
20501         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
20502         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
20503         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
20504         (c-decl-block-key, c-keywords, c-keywords-obarray)
20505         (c-regular-keywords-regexp, c-primary-expr-regexp)
20506         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
20507         (c-known-type-key, c-nonlabel-token-key)
20508         (c-make-init-lang-vars-fun): Use the new macros rather than the old
20509         names.
20511 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
20513         loadhist.el (read-feature): Conform to completing-read
20514         * lisp/loadhist.el (read-feature): According to `completing-read'
20515         documentation, if collection is a list, then it must be a list of
20516         strings, not a list of symbols like before.
20518 2015-08-12  David Kastrup  <dak@gnu.org>
20520         Deal gracefully with up-events (Bug#19746)
20521         * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
20522         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
20523         those may easily be injected by user-level Lisp code.
20524         (read_key_sequence): Discard unbound up-events like unbound
20525         down-events: they are even more likely only relevant for special
20526         purposes.
20527         While Emacs will not produce up-events on its own currently (those are
20528         converted to drag or click events before being converted to
20529         Lisp-readable structures), the input queue can be made to contain them
20530         by synthesizing events to `unread-command-events'.  Emacs should deal
20531         consistently with such events.
20533 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
20535         Fix display of thin lines whose newline has line-height property of t
20536         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
20537         and descent values of non-empty glyph rows, since they could have
20538         forced low values deliberately.  (Bug#21243)
20540 2015-08-12  Richard Stallman  <rms@gnu.org>
20542         Offer to combine multiple To or CC fields.
20543         * lisp/mail/sendmail.el (mail-combine-fields): New function.
20544         (mail-send): Call 'mail-combine-fields'.
20546         Don't decrypt encrypted files.
20547         * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
20549         Handle encrypted mbox files.
20550         * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt
20551         the mbox file if necessary.
20553         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
20554         * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine.
20555         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
20556         In a mime message, reenable Mime and show the parts that
20557         were shown before.
20558         Add keyword "decrypt" if anything decrypted.
20560         epa-inhibit inhibits auto-recognition of .gpg files
20561         * lisp/epa-file.el (epa-inhibit): New variable.
20562         (epa-file-handler): Check epa-inhibit.
20564 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
20566         * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
20568 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
20570         Respect python.el imenu when semantic-mode is off
20571         Fixes bug#21220
20572         * lisp/cedet/semantic/wisent/python.el: Do not force
20573         wisent-python-default-setup on python-mode-hook.
20575 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
20577         Give names to Unicode code points in C code
20578         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
20579         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
20580         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
20581         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
20582         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
20583         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
20584         (OBJECT_REPLACEMENT_CHARACTER):
20585         New named constants for Unicode code points.
20586         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
20587         * src/composite.c (char_composable_p):
20588         * src/lread.c (readevalloop, read1):
20589         * src/xdisp.c (get_next_display_element):
20590         Use them.
20591         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
20592         Remove; now in character.h.
20594 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
20596         elisp--xref-find-definitions handle cl-defstuct default constructor
20597         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
20598         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
20599         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
20600         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
20601         from xref-elisp-test for ease of debugging.
20602         (xref-elisp-deftest): Rename from xref-elisp-test.
20603         (find-defs-constructor): New test.
20604         (find-defs-defgeneric-el): Match batch test config.
20605         (compile): Required for find-defs compilation-minor-mode test.
20606         (find-defs-defvar-el): Match code change.
20607         (find-defs-face-el): Match code change.
20608         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
20609         Improve doc string.
20611 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
20613         * lisp/replace.el (perform-replace): Document `replacements'.
20614         (perform-replace): Move the description of the format of `replacements'
20615         from the body's comment to the doc string.
20617 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
20619         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
20620         sequence.  Recent adb version send initial escape sequences, even
20621         when terminal type is set to TERM=dumb.
20623 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
20625         Rewrite elisp--xref-find-definitions to handle many more cases; add tests
20626         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
20627         Function deleted.
20628         (elisp--xref-format-cl-defmethod): New defconst.
20629         (find-feature-regexp, find-alias-regexp): New defcustoms.
20630         (elisp--xref-make-xref): New function.
20631         (elisp--xref-find-definitions): Rewrite using the above, handle many
20632         more cases.  Always output all available definitions.
20633         (xref-location-marker): No need for special cases.
20634         * test/automated/elisp-mode-tests.el: Add more tests of
20635         elisp--xref-find-definitions, improve current tests.
20637 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
20639         Fix recording of events pushed onto unread-command-events
20640         * src/keyboard.c (read_char): Make sure events read from
20641         unread-command-events and unread-post-input-method-events are
20642         always recorded by record_char.  Reported by David Kastrup
20643         <dak@gnu.org>, see
20644         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
20646 2015-08-10  Samer Masterson  <samer@samertm.com>
20648         Set file buffer as current for "--file"
20649         * lisp/startup.el (command-line-1): Set file buffer as current before
20650         it is displayed so it can be used with options like "--eval".
20651         (Bug#21095)
20653 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
20655         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
20656         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
20657         after setting LC_ALL to the desired locale, to avoid affecting how
20658         numbers are read and printed.  (Bug#21223)
20660 2015-08-10  Alan Mackenzie  <acm@muc.de>
20662         Fix "Invalid search bound (wrong side of point)" in fontification
20663         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
20664         an initialization expression, check point is not beyond the
20665         fontification limit.
20667 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
20669         Fix DPI calculation when Xft/DPI is default
20670         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
20671         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
20672         Remove unnecessary cast while we're in the neighborhood.
20674 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
20676         Add project-vc-search-path and project-vc-ignores
20677         * lisp/progmodes/project.el (project-vc): New group.
20678         (project-vc-search-path, project-vc-ignores): New variables.
20679         (project--value-in-dir): Utility function.
20680         (project-search-path, project-ignores): Use them.
20681         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
20682         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
20684 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
20686         Fix some minor quoting issues with grave accent
20687         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
20688         Remove redundant quotes.
20689         * src/doc.c (uLSQM, uRSQM): New macros.
20690         * src/doc.c (Fsubstitute_command_keys):
20691         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
20692         preference for quotes rather than hardcoding the ‘grave’ style.
20693         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
20694         (re_match_2_internal) [DEBUG]: In debugging output, quote C
20695         strings with "...", not `...'.
20697         ChangeLog.2 ignores remote-tracking merges
20698         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
20699         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
20700         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
20702 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
20704         Use kpsewhich in ffap-latex-mode, if available
20705         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
20706         (ffap-latex-mode): Use kpsewhich if available.
20708         ffap: disallow braces in filenames for tex modes
20709         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
20710         braces in tex-related modes.
20712         Remove useless backslashes from ffap-string-at-point-mode-alist
20713         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
20714         misleading backslashes from default value.
20716         Augment docstring of ffap-string-at-point-mode-alist
20717         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
20718         and END are handled.
20720 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
20722         * lisp/org/org-src.el (org-edit-src-code)
20723         (org-edit-fixed-width-region):
20724         * lisp/simple.el (completion-setup-function):
20725         Remove calls to substitute-command-keys that always just return
20726         their argument.
20728 2015-08-09  Daiki Ueno  <ueno@gnu.org>
20730         * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'.
20731         (Bug#21210)
20733 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
20735         Fix link to source code in help window
20736         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
20737         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
20738         'No longer include timestamp in header of .elc files'.  Add code
20739         that will return .el source file in load-path.
20741 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
20743         * lisp/isearch.el (isearch-search-fun-default): (Bug#21164)
20744         Respect `isearch-lax-whitespace' when searching through
20745         `isearch-word'.
20747 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
20749         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
20751         * lisp/org/org.el: Fix up some lexical scoping warnings, and use dolist
20752         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
20753         (org-set-regexps-and-options, org-assign-fast-keys)
20754         (org-contextualize-keys, org-contextualize-validate-key)
20755         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
20756         (org-find-olp, org-find-exact-heading-in-directory)
20757         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
20758         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
20759         (org-replace-escapes): Use dolist.
20760         (org-mode): Optimize away XEmacs-only code.
20761         (org-refile-get-targets): Remove unused var `f'.
20762         (org-fast-todo-selection): Remove unused var `e'.
20763         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
20764         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
20765         (org-format-latex): Use dolist.  Remove unused var `e'.
20766         (org-toggle-heading): Access vars lexically rather than dynamically.
20767         (org-backward-sentence, org-forward-sentence, org-meta-return)
20768         (org-kill-line): Mark arg as unused.
20769         (org-submit-bug-report): Silence compiler warning.
20770         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
20771         (org-get-cursor-date): Remove unused var `tm'.
20772         (org-comment-or-uncomment-region): Use standard name `_'.
20773         (reftex-docstruct-symbol, reftex-cite-format): Declare to
20774         silence byte-compiler.
20775         (org-reftex-citation): Add `org--' prefix to dynamically scoped
20776         `rds' var.
20778 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
20780         Electric quote if coding is undecided or no conv
20781         * lisp/electric.el (electric--insertable-p): Also say that a
20782         string is insertable if the buffer file coding system is undecided
20783         or uses no conversion, as curved quotes will work in either case.
20785         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
20787 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
20789         Fix overlay string display regressions introduced in Emacs 24.5
20790         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
20791         buffer position, if we move the iterator to a new position as
20792         result of jumping over text covered by a "replacing" display
20793         property.
20794         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
20796         Support recovery from C stack overflow on MS-Windows
20797         * src/w32fns.c (w32_reset_stack_overflow_guard)
20798         (stack_overflow_handler): New functions for handling C stack
20799         overflow exceptions.
20800         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
20801         specially, and zero out except_addr if we do.
20802         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
20803         mode.
20804         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
20805         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
20806         the MinGW build, but the code guarded by that is for Posix hosts.
20807         * src/keyboard.c (command_loop) [WINDOWSNT]:
20808         Call w32_reset_stack_overflow_guard.
20809         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
20810         (sigsetjmp): New macro.
20811         (w32_reset_stack_overflow_guard): Declare the prototype.
20812         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
20814 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
20816         Improve error signalling for seq-subseq
20817         * lisp/emacs-lisp/seq.el (seq-subseq): The existing behavior is to error
20818         when indexes are too large, but to silently ignore numbers which
20819         are too negative for lists.  String and vector handling errors in
20820         both cases.  This has been regularized.  Error signaling behavior
20821         has been explicitly added to the doc string.
20823         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
20824         therefore also impacted by this change.  Update the doc string
20825         to reflect this.
20827         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
20828         added for these exceptional cases, as well as one non exceptional
20829         base case.
20831 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
20833         Improve error checking in tramp-adb.el
20834         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
20835         Improve error checking.  "ls -l" on Android in Enforcing mode can
20836         print "lstat './FILENAME failed: Permission denied".
20838 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
20840         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
20841         non-struct vectors.
20843 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
20845         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
20846         * lisp/window.el: Fix typo that broke build.
20847         (display-buffer--action-function-custom-type):
20848         Add `display-buffer-use-some-frame'.
20849         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
20851         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
20852         * lisp/window.el (display-buffer-use-some-frame): Add support for
20853         'inhibit-same-window in alist.
20854         * doc/lispref/windows.texi (display-buffer-use-some-frame):
20855         Doc support for 'inhibit-same-window in alist.
20857 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
20859         Avoid infinite loop in display of invisible text in strings
20860         * src/xdisp.c (handle_invisible_prop): If the next change of
20861         invisibility spec does not mean the beginning of a visible text,
20862         update the string position from which to start the search for the
20863         next invisibility change.  This avoids an infinite loop when we
20864         have more than one invisibility spec that are made inactive by
20865         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
20866         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
20867         for the situation that caused bug #21200.
20869 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
20871         * lisp/emacs-lisp/package.el: Simplify describe-package-1
20872         (package-help-section-name-face): New face.
20873         (package--print-help-section): New function.
20874         (describe-package-1): Refactor section printing.
20875         (package-make-button): Use face instead of font-lock-face, which
20876         doesn't work on buttons.
20878         * lisp/emacs-lisp/package.el: Define custom faces
20879         (package-name-face, package-description-face)
20880         (package-status-built-in-face, package-status-external-face)
20881         (package-status-available-face, package-status-new-face)
20882         (package-status-held-face, package-status-disabled-face)
20883         (package-status-installed-face, package-status-dependency-face)
20884         (package-status-unsigned-face, package-status-incompat-face)
20885         (package-status-avail-obso-face): New faces.
20886         (package-menu--print-info-simple): Use them.
20888 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
20890         Fix some confusion with ‘format’
20891         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
20892         (allout-graphics-modification-handler):
20893         Protect arbitrary string in a format context with "%s" format.
20894         * lisp/avoid.el:
20895         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
20896         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
20897         * lisp/erc/erc-button.el (erc-button-beats-to-time):
20898         * lisp/gnus/message.el (message-send-form-letter):
20899         * lisp/org/ob-core.el (org-babel-check-evaluate)
20900         (org-babel-confirm-evaluate):
20901         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
20902         * lisp/org/ox-latex.el (org-latex-compile):
20903         * lisp/org/ox-man.el (org-man-compile):
20904         * lisp/org/ox-odt.el (org-odt-template):
20905         * lisp/org/ox-texinfo.el (org-texinfo-compile):
20906         * lisp/progmodes/prolog.el (prolog-help-info)
20907         (prolog-view-predspec):
20908         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
20909         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
20910         * lisp/textmodes/rst.el (rst-replace-lines):
20911         Change (message (format ...)) to (message ...), and likewise
20912         for ‘error’.  This lessens the probability of confusion when the
20913         output of ‘format’ contains ‘%’.
20915 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
20917         * lisp/replace.el (replace-character-fold): Default to nil.
20919         * lisp/character-fold.el: Fix lax whitespace.
20920         (character-fold-table): Don't make space match other whitespace chars.
20921         (character-fold-to-regexp): Simplify lax behavior.
20923 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
20925         Preserve window point in xref-find-definitions-other-window
20926         Fix the problem reported by Ingo Logmar in
20927         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
20928         * lisp/progmodes/xref.el (xref--goto-char): Extract from
20929         xref--goto-location.
20930         (xref--pop-to-location): Use it.  Replace xref--goto-location with
20931         a direct xref-location-marker call.
20932         (xref--show-location): Likewise.
20933         (xref--display-position): Use xref--goto-char.
20935         * lisp/progmodes/project.el: Add a paragraph to the front matter.
20937 2015-08-04  David Kastrup  <dak@gnu.org>
20939         * lisp/vc/emerge.el (emerge-show-file-name):
20940         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
20941         (vhdl-comment-insert, vhdl-hooked-abbrev):
20942         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
20943         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
20944         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
20945         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
20946         * lisp/obsolete/vip.el (vip-escape-to-emacs)
20947         (vip-prefix-arg-value, vip-prefix-arg-com):
20948         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
20949         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
20950         (quail-tibkey-update-translation):
20951         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
20952         * lisp/leim/quail/lao.el (quail-lao-update-translation):
20953         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
20954         (quail-japanese-self-insert-and-switch-to-alpha):
20955         * lisp/leim/quail/hangul.el (hangul2-input-method)
20956         (hangul3-input-method, hangul390-input-method):
20957         * lisp/language/hanja-util.el (hangul-to-hanja-char):
20958         * lisp/international/robin.el (robin-input-method):
20959         * lisp/international/quail.el (quail-start-translation)
20960         (quail-start-conversion):
20961         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
20962         (gnus-article-describe-key-briefly):
20963         * lisp/eshell/em-hist.el (eshell-list-history):
20964         * lisp/term.el (term-dynamic-list-input-ring)
20965         (term-dynamic-list-completions):
20966         * lisp/subr.el (momentary-string-display):
20967         * lisp/simple.el (read-quoted-char):
20968         * lisp/pcomplete.el (pcomplete-show-completions):
20969         * lisp/kmacro.el (kmacro-repeat-on-last-key):
20970         * lisp/info.el (Info-summary):
20971         * lisp/ehelp.el (electric-help-command-loop):
20972         * lisp/ebuff-menu.el (electric-buffer-list)
20973         (Electric-buffer-menu-exit):
20974         * lisp/double.el (double-translate-key):
20975         * lisp/comint.el (comint-dynamic-list-input-ring)
20976         (comint-dynamic-list-completions): Do not overwrite preexisting
20977         contents of `unread-command-events' when putting new events into it.
20979 2015-08-04  Daniel Colascione  <dancol@dancol.org>
20981         Improve ansi-color filtering of unrecognized escape sequences
20982         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
20983         escape sequences.
20984         (ansi-color-filter-apply, ansi-color-apply): Filter out
20985         unrecognized escape sequences.
20987 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
20989         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
20990         definitions to `easy-menu-define', improve a couple to account for
20991         async, and add a couple of new commands.
20993 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
20995         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
20997 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
20999         Add new 'calendar-weekend-days' option
21000         Make the days receiving the 'calendar-weekend-header' face freely
21001         customizable, as they differ by region/culture.
21002         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
21003         new variable.
21004         * lisp/calendar/calendar.el (calendar-generate-month): New variable
21005         calendar-weekend-days to customize day header fontification.
21007 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
21009         Redo text-quoting-style variable
21010         Rename help-quote-translation to text-quoting-style,
21011         and use symbols rather than characters as values.
21012         This follows suggestions along these lines by Alan Mackenzie in:
21013         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
21014         and by Drew Adams in:
21015         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
21016         * doc/lispref/help.texi (Keys in Documentation)
21017         * etc/NEWS:
21018         * lisp/cus-start.el (standard):
21019         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
21020         Document and/or implement the new behavior instead of the old.
21021         (syms_of_doc): New symbols 'grave' and 'straight'.
21023 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
21025         nnimap.el: Use IMAP MOVE extension if available
21026         * lisp/gnus/nnimap.el (nnimap-request-move-article)
21027         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
21028         Use MOVE extension if available.
21030         nnimap.el: Explicitly ask for server capabilities
21031         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
21032         capabilities will be returned in the login-result.
21034 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21036         Treat help strings like other doc strings
21037         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
21038         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
21039         substitute-command-keys.
21040         * src/keyboard.c (show_help_echo, parse_menu_item): Call
21041         substitute-command-keys on the help string before displaying it.
21043         Also mention "curly quotes"
21044         See Drew Adams's email in:
21045         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
21046         * doc/lispref/help.texi (Keys in Documentation):
21047         Add index entry "curly quotes".
21048         * etc/NEWS: Use the phrase "curly quotes" too.
21050         ede-proj-target-makefile docstring tweaks
21051         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
21052         Consistently use "all:" to describe the all: target,
21053         replacing three different and confusingly-quoted usages.
21055 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
21057         Don't abort emacsclientw when -a was specified
21058         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
21059         out if we are in emacsclientw and -a was specified.
21061 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
21063         Fix handling of 1st keystroke on MS-Windows
21064         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
21065         This is needed to correctly handle the session's first keystroke,
21066         if it has any modifiers.  (Bug#19994)
21068 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21070         Substitute some customization etc. doc strings
21071         These changes apply substitute-command-keys to some
21072         doc strings that were going through untranslated
21073         when creating customization or other widgets.
21074         * lisp/cus-edit.el (custom-group-value-create):
21075         * lisp/wid-edit.el (widget-default-create):
21076         (widget-push-button-value-create):
21077         Treat the widget tag as a doc string.
21078         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
21079         Treat the :documentation value as a doc string.
21080         * lisp/wid-edit.el (widget-choose):
21081         Treat the choice names as doc strings.
21082         (widget-default-create): Treat the :doc value as a doc string.
21083         (widget-toggle-value-create): Treat the :on and :off values
21084         as doc strings.
21085         (widget-documentation-string-value-create):
21086         Substitute the doc string.
21088 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
21090         Add a second argument to project-ignores
21091         * lisp/progmodes/project.el (project-ignores): Add a second
21092         argument DIR.
21093         * lisp/progmodes/project.el (project-ignores): Only include the VC
21094         ignores if DIR is the VC root.
21095         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
21097 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
21099         Prevent incorrect display when 'line-spacing' variable is set
21100         * src/xdisp.c (try_window_id): Give up this optimization if the
21101         buffer has its 'line-spacing' variable set non-nil.
21103 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
21105         Don't pass NOVISIT to find-file
21106         * lisp/progmodes/etags.el (next-file):
21107         Don't pass NOVISIT to find-file (bug#21175).
21109         Ignore buffer restriction for tags-loop-eval
21110         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
21111         restriction (bug#21167).
21113 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
21115         Fix a thinko in 'ffap-gopher-at-point'
21116         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
21118         Honor 'line-spacing' for empty lines
21119         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
21120         property and 'line-spacing' frame parameter or variable or
21121         property for empty lines, by doing the same processing as in
21122         x_produce_glyph for newline characters.  (Bug#21165)
21124 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
21126         Simplify by assuming C99 integer division
21127         * src/floatfns.c (ceiling2, floor2, truncate2):
21128         Assume C99 (i.e., Fortran) semantics for integer division.
21129         This simplifies the code.
21131 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
21133         Don't overflow if computing approximate percentage
21134         * lisp/align.el (align-region):
21135         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
21136         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
21137         * lisp/cus-edit.el (custom-buffer-create-internal):
21138         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
21139         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
21140         (checkdoc-next-message-error):
21141         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
21142         * lisp/epa.el (epa-progress-callback-function):
21143         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
21144         * lisp/ffap.el (ffap-menu-rescan):
21145         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
21146         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
21147         * lisp/gnus/nneething.el (nneething-retrieve-headers):
21148         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
21149         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
21150         * lisp/gnus/nnml.el (nnml-retrieve-headers):
21151         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
21152         * lisp/gnus/nntp.el (nntp-retrieve-headers)
21153         (nntp-retrieve-articles):
21154         * lisp/imenu.el (imenu--relative-position):
21155         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
21156         (skkdic-convert-okuri-nasi):
21157         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
21158         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
21159         * lisp/org/org-list.el (org-update-checkbox-count):
21160         * lisp/org/org.el (org-table-map-tables)
21161         (org-update-parent-todo-statistics):
21162         * lisp/play/decipher.el (decipher-insert-frequency-counts)
21163         (decipher-analyze-buffer):
21164         * lisp/profiler.el (profiler-format-percent):
21165         * lisp/progmodes/cc-cmds.el (c-progress-update):
21166         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
21167         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
21168         (idlwave-list-load-path-shadows):
21169         * lisp/progmodes/opascal.el (opascal-step-progress):
21170         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
21171         (vhdl-scan-directory-contents):
21172         * lisp/textmodes/bibtex.el (bibtex-progress-message):
21173         * lisp/textmodes/flyspell.el (flyspell-small-region)
21174         (flyspell-external-point-words):
21175         * lisp/textmodes/table.el (table-recognize):
21176         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
21177         progress-report percentages and the like.  This avoids problems
21178         if (* 100 NUMERATOR) would overflow.
21179         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
21180         * lisp/gnus/registry.el (registry-reindex):
21181         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
21182         * lisp/descr-text.el (describe-char):
21183         * lisp/org/org-colview.el (org-nofm-to-completion):
21184         * lisp/ps-print.el (ps-plot):
21185         * lisp/simple.el (what-cursor-position):
21186         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
21187         more-complicated and less-accurate approximation.
21189         Fix some int overflows in profiler.c
21190         * src/profiler.c (make_log): Make args EMACS_INT, not int,
21191         to avoid unwanted behavior on 'int' overflow.
21192         (make_log, evict_lower_half, record_backtrace):
21193         Use ptrdiff_t, not int, for object indexes.
21195         Port to pedantic memcpy
21196         * src/keyboard.c (menu_bar_items, tool_bar_items):
21197         * src/xrdb.c (magic_db):
21198         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
21200         Merge from gnulib
21201         This incorporates:
21202         2015-07-29 time_rz: port to pedantic memcpy
21203         * lib/time_rz.c: Copy from gnulib.
21205 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
21207         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
21208         When updating the very last entry, tabulated-list-print would
21209         erase it and then try to look at the next one (which obviously
21210         isn't there).
21212 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
21214         Allow to use the old key processing code on MS-Windows
21215         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
21216         New variable.
21217         (w32_wnd_proc): Use it to invoke the old code that processed
21218         character keys, as fallback, when this variable is non-nil.
21219         Fix typos in comments.  (Bug#19994)
21221 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
21223         Improve handling of Unicode keyboard input on MS-Windows
21224         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
21225         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
21226         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
21227         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
21228         successful, don't call TranslateMessage.  (Bug#19994)
21230 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
21232         Fix default-directory in changeset diffs after vc-print-log
21233         * lisp/vc/log-view.el (log-view-diff-common): Move the
21234         revision-granularity check back into log-view-diff-changeset.
21235         (log-view-diff-changeset): Bind default-directory to the current
21236         VC root.
21238         Rename project-directories to project-roots
21239         * lisp/progmodes/project.el (project-search-path-function)
21240         (project-search-path): Update the docstring.
21241         (project-directories): Rename to `project-roots', update all
21242         callers and implementations accordingly.
21243         (project-root): Remove.
21244         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
21245         as the default file mask.
21247 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
21249         Support long URLs in w32-shell-execute
21250         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
21251         and filename_to_ansi to convert the DOCUMENT argument, as it could
21252         be a URL that is not limited to MAX_PATH characters.  Instead, use
21253         MultiByteToWideChar directly, and allocate heap storage as
21254         required to accommodate the converted string.  Likewise with
21255         non-Unicode operation.  Ensure OPERATION is null-terminated, even
21256         if it is longer than 32K bytes.  (Bug#21158)
21258 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
21260         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev.
21262 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
21264         Add docs for display-buffer action display-buffer-use-some-frame
21265         * lisp/window.el (display-buffer-use-some-frame): Improve doc string.
21266         * doc/lispref/windows.texi (Display Action Functions):
21267         Add display-buffer-use-some-frame.
21268         * etc/NEWS: Mention display-buffer-use-some-frame.
21270         Add display-buffer action display-buffer-use-some-frame
21271         * lisp/window.el (display-buffer-use-some-frame): New.
21273         Handle vc-mtn error more gently
21274         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when
21275         branch is nil.
21277 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
21279         Fix Tramp problems with multihops, and nc
21280         * lisp/net/tramp-cache.el (tramp-get-file-property)
21281         (tramp-set-file-property, tramp-flush-file-property)
21282         (tramp-get-connection-property, tramp-set-connection-property)
21283         (tramp-flush-connection-property): Remove hop from vector.
21284         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
21285         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
21286         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
21287         netstat to 60".
21288         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
21289         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
21290         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
21291         Keep hop in result.
21292         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
21293         Add hop tests.
21295 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
21297         Resurrect highlighting of repeated words by Flyspell Mode
21298         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
21299         characters between point and the doublon candidate, so that
21300         flyspell-word-search-backward finds it.  (Bug#21157)
21302         Fix redisplay of large images on expose events
21303         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
21304         between signed negative values and unsigned values.  This
21305         prevented redisplay on expose events when the window showed a very
21306         large image.
21308 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
21310         Remove unnecessary stack overflow dependency
21311         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
21312         Don't worry about $ac_cv_header_sys_resource_h and
21313         $ac_cv_func_getrlimit, as they're no longer needed for this.
21314         Problem reported by Eli Zaretskii in:
21315         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
21317 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
21319         Pacify compilation -Wincompatible-pointer-types warnings
21320         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
21321         warning.
21322         (CompareStringW_Proc): New typedef.
21323         (w32_compare_strings): Use it, to pacify compiler warnings under
21324         "-Wincompatible-pointer-types".
21325         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
21326         (GetDiskFreeSpaceExA_Proc): New typedefs.
21327         (Ffile_system_info): Use them, to pacify compiler warnings under
21328         "-Wincompatible-pointer-types".
21330 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
21332         Fix subscript error in calculate_direct_scrolling
21333         Use slightly-longer cost vectors.  Without this change,
21334         calculate_direct_scrolling can have a subscript violation when
21335         FRAME_LINES (frame) <= delta.
21336         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
21337         (line_ins_del, do_line_insertion_deletion_costs):
21338         Allocate and use slightly-larger cost vectors, ones based on
21339         FRAME_TOTAL_LINES instead of FRAME_LINES.
21341         Fix uninitalized value in encode_coding_object
21342         * src/coding.c (encode_coding_object): Also initialize
21343         coding->src_pos and coding->src_pos_byte when NILP (src_object).
21344         This avoids later use of uninitialized storage.
21346 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
21348         * doc/lispref/variables.texi (Variable Aliases): Typo fix.
21349         (Bug#21141)
21351 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
21353         Merge from gnulib
21354         This incorporates:
21355         2015-07-27 time_rz: port better to MinGW
21356         2015-07-27 time: port __need_time_t to MinGW
21357         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
21358         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
21359         * lib/time-internal.h: New file, from gnulib.
21361 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
21363         Handle NULL pointers in w32heap.c allocation routines
21364         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
21365         freeable".
21366         (realloc_after_dump, realloc_before_dump, free_before_dump):
21367         Handle NULL pointers gracefully, as Emacs now seems to expect that.
21369         Fix Cairo build without PNG
21370         * src/image.c: Define PNG function when USE_CAIRO is defined, even
21371         if HAVE_PNG is not.  (Bug#21133)
21373         MS-Windows follow-up for recent TZ-related changes
21374         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
21375         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
21376         picking up 'struct timespec' from pthread.h, if it is installed on
21377         the user's system.  We want either the definitions from MinGW
21378         system headers, if available, or the Gnulib replacements if not.
21379         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
21380         lib/time.h.
21381         * lib/time.in.h: Don't let __need_* symbols affect what happens on
21382         MinGW.  These symbols are defined by MinGW system headers, but we
21383         don't want that to affect whether Gnulib portions of the header
21384         are or aren't used.
21386 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
21388         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
21390         New optional ZONE arg for format-time-string etc.
21391         This simplifies time conversions in other time zones.
21392         It also prevents display-time-world tampering with TZ (Bug#21020).
21393         * admin/admin.el (add-release-logs):
21394         Use improved add-log-time-format API.
21395         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
21396         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
21397         * configure.ac (tzalloc): Remove test for this, since
21398         Emacs no longer uses HAVE_TZALLOC directly.
21399         * doc/lispref/os.texi (Time of Day, Time Conversion)
21400         (Time Parsing):
21401         * etc/NEWS: Document the new behavior.
21402         Merge from gnulib, incorporating:
21403         2015-07-25 strftime: fix newly-introduced bug on Solaris
21404         2015-07-23 fprintftime, strftime: use timezone_t args
21405         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
21406         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
21407         * m4/time_h.m4:
21408         Update from gnulib.
21409         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
21410         New files from gnulib.
21411         * lisp/time-stamp.el (time-stamp-string):
21412         * lisp/time.el (display-time-world-list)
21413         (display-time-world-display):
21414         Use new API, with time zone arg.
21415         * lisp/time.el (display-time-world-display):
21416         Fix race when current-time advances while we're running.
21417         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
21418         (add-log-iso8601-time-string): Accept optional time zone arg.
21419         * lisp/vc/add-log.el (add-change-log-entry):
21420         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
21421         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
21422         Add rules for the time module, since they're now needed
21423         for tzalloc etc.
21424         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
21425         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
21426         * src/editfns.c: Include errno.h.
21427         (set_time_zone_rule): Omit unnecessary forward decl.
21428         (initial_tz): Remove, replacing with ...
21429         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
21430         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
21431         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
21432         (tzlookup): New static functions.
21433         (init_editfns): New arg DUMPING.  All uses changed.
21434         (init_editfns): Omit most initialization if dumping, not if
21435         !initialized.  Initialize wall_clock_tz and local_tz.
21436         (emacs_nmemftime, format_time_string): Time zone argument can now
21437         be any time zone, not just a boolean for UTC or local time.  All
21438         callers changed.
21439         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
21440         (Fcurrent_time_zone): New optional arg ZONE.
21441         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
21442         the same form as with the other new additions.
21443         (decode_time_zone): Remove; no longer needed.
21444         (tzvalbuf): Now file-scope.
21445         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
21446         (syms_of_editfns): Define Qwall.
21447         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
21448         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
21449         [!HAVE_TZALLOC]:
21450         Remove; now supplied by gnulib.
21451         * src/emacs.c (main):
21452         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
21454 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
21456         Fix infinite loop in delete-consecutive-dups
21457         * lisp/subr.el (delete-consecutive-dups): Work even if the last
21458         element is nil (Bug#20588).  Avoid rescan of a circular list in
21459         deletion of last element.
21461 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
21463         Have `x-frame-geometry' return nil for terminal and initial
21464         frames (Bug#21132)
21465         * src/nsfns.m (Fx_frame_geometry):
21466         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
21467         terminal frames.
21468         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
21469         (Fx_frame_geometry): Return nil for terminal frames
21471 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
21473         * etc/tutorials/TUTORIAL.ja: Improve translation.
21475 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
21477         Avoid crashes when w32 GUI functions are called in -batch
21478         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
21479         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
21480         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
21482         Fix flyspell-check-previous-highlighted-word
21483         * lisp/textmodes/flyspell.el
21484         (flyspell-check-previous-highlighted-word): Really accept a
21485         numeric argument, as the doc string describes.  Fix an off-by-one
21486         error in looking up overlays, so invocation with point immediately
21487         after a word would check that word.  Clarify the doc string as
21488         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
21490 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
21492         Minor cleanup in tramp-tests.el
21493         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
21494         Implement using the documented interface
21495         `tramp-connection-properties', rather than with internal functions.
21497 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
21499         Pass lambdas to `skeleton-read'
21500         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
21501         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
21502         lambdas to `skeleton-read' (bug#20386).
21504 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
21506         * INSTALL (DETAILED BUILDING AND INSTALLATION):
21507         Mention --without-imagemagick.
21509         Don't require GUI frames and mouse for Flyspell menus
21510         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
21511         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
21512         support, since pop-up menus work with text terminals and can be
21513         controlled via the keyboard.
21515         Improve documentation of Flyspell commands
21516         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
21517         can be invoked via the keyboard.  Mention those commands by name
21518         and add them to the fn index.  (Bug#21125)
21520 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
21522         Fix some Tramp problems with HP-UX
21523         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
21524         Add "tab0" to stty call.
21525         * test/automated/tramp-tests.el (tramp-persistency-file-name):
21526         Set to nil.
21527         (tramp--test-hpux-p): New defun.
21528         (tramp--test-utf8): Use it.
21530 2015-07-22  Glenn Morris  <rgm@gnu.org>
21532         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
21534 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
21536         Fix point positioning in ffap-next-guess
21537         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
21538         as our callers expect.  This was clobbered as part of fixing
21539         bug#5673.  (Bug#21107)
21540         (ffap-gopher-at-point): Set ffap-string-at-point-region.
21542 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
21544         * lisp/window.el (even-window-sizes): Fix customization type.
21546         Optionally even widths of `display-buffer' windows.  (Bug#21100)
21547         * lisp/window.el (quit-restore-window): Restore width if
21548         requested.
21549         (display-buffer-record-window): Record width when window is
21550         reused and horizontally combined.
21551         (even-window-sizes): New option to allow evening window widths.
21552         (even-window-heights): Defalias to `even-window-sizes'.
21553         (window--even-window-heights): Rename to
21554         `window--even-window-sizes'.  Handle side-by-side windows.
21555         (display-buffer-use-some-window): Call `window--even-window-sizes'
21556         instead of `window--even-window-heights'.
21557         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
21558         * doc/lispref/windows.texi (Choosing Window Options): Describe
21559         `even-window-sizes'.
21560         (Coordinates and Windows): Fix typo.
21562 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
21564         Add file name to autoload error messages
21565         * lisp/emacs-lisp/autoload.el (autoload-save-buffers):
21566         Add condition-case to add file name to error message.
21568 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
21570         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
21571         Use 0.0.0.1 as test host.
21573 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
21575         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
21576         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
21577         Fix inf-loop (bug#21083).
21579 2015-07-21  Glenn Morris  <rgm@gnu.org>
21581         * test/automated/package-test.el (package-test-signed):
21582         Update for recent changes.
21584         * test/automated/elisp-mode-tests.el
21585         (elisp-xref-finds-both-function-and-variable)
21586         (elisp-xref-finds-only-function-for-minor-mode):
21587         Update for recent xref name changes.
21589 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
21591         Make eldoc timer non-repeatable
21592         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
21593         non-repeatable.  Since it's on post-command hook, that just wasted
21594         CPU cycles.
21596 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
21598         Mention `tramp-connection-properties' in NEWS
21600         Sync with Tramp repository
21601         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
21602         required prior changing its configuration.
21603         (Connection caching, Predefined connection information)
21604         (Remote shell setup): Fix typos.
21605         (Predefined connection information): Describe, how to overwrite
21606         parameters of `tramp-methods'.
21607         (Remote programs, Remote processes, Traces and Profiles):
21608         Simplify example.
21609         (Remote programs): Remove superfluous comment.
21610         * doc/misc/trampver.texi: Update release number.
21611         * lisp/net/tramp-cache.el (tramp-connection-properties):
21612         Adapt docstring.
21613         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
21614         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
21615         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
21616         "gvfs-mkdir -p ..." does not work robust.
21617         (tramp-gvfs-maybe-open-connection):
21618         Adapt `tramp-get-method-parameter' call.
21619         * lisp/net/tramp-sh.el (tramp-methods):
21620         Add `tramp-remote-shell-login' parameter where it fits.
21621         (tramp-get-remote-path): Use it.
21622         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
21623         (all): Adapt `tramp-get-method-parameter' calls.
21624         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
21625         (tramp-get-method-parameter): Replace argument METHOD by VEC.
21626         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
21627         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
21628         (all): Adapt `tramp-get-method-parameter' calls.
21629         * lisp/net/trampver.el: Update release number.
21630         * test/automated/tramp-tests.el (tramp--instrument-test-case):
21631         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
21632         (tramp-test13-make-directory, tramp--test-adb-p)
21633         (tramp--test-smb-or-windows-nt-p): Simplify.
21634         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
21635         (tramp--test-special-characters): Fix docstring.  Add gvfs and
21636         ftp tests.
21637         (tramp--test-utf8): Fix docstring.
21639 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
21641         Add new xref-query-replace command
21642         * lisp/progmodes/xref.el (xref--match-buffer-bounds):
21643         New function, extracted from xref-pulse-momentarily.
21644         (xref-query-replace): New command.
21645         (xref--query-replace-1): New helper function.
21646         (xref--xref-buffer-mode-map): Add `r' binding.
21648 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
21650         Simplify icalendar decoding of Z dates
21651         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
21652         Simplify calculation of time strings with trailing "Z".
21654 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
21656         Do not corrupt grep-find-ignored-files
21657         * lisp/progmodes/project.el (project-ignores): Change the order of
21658         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
21660         Add xref-match-item, and use it
21661         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
21662         (xref-file-location): Add reader for the column slot.
21663         (xref-match-item): New class.
21664         (xref-match-bounds): A method implementation for it.
21665         (xref-make-match): New constructor function.
21666         (xref--current-item): New private variable.
21667         (xref-pulse-momentarily): Use it.
21668         (xref--pop-to-location): Change the first argument to an xref
21669         item, instead of location, bind xref--current-item.
21670         Update all callers.
21671         (xref-next-line, xref-prev-line, xref--next-error-function)
21672         (xref--mouse-2): Look for the property `xref-item',
21673         instead of `xref-location'.
21674         (xref--item-at-point): Likewise.  This function replaces
21675         `xref-location-at-point'.  Update all callers.
21676         (xref--insert-xrefs): Add the `xref-item' text property, instead
21677         of `xref-location'.
21678         (xref--collect-match): Use xref-make-match.
21680         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
21681         Update all references.
21683         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
21684         slot to `summary'.
21686         vc-hg: Perform the print-log call asynchronously
21687         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
21688         asynchronously (bug#21067).
21690         Add xref-after-jump-hook and xref-after-return-hook
21691         * lisp/progmodes/xref.el (xref-after-jump-hook)
21692         (xref-after-return-hook): New hooks.
21693         (xref-pulse-on-jump): Remove, in favor of the above.
21694         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
21695         (xref--pop-to-location, xref--display-position)
21696         (xref-pop-marker-stack): Use the new hooks, as requested in
21697         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
21699 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
21701         * lisp/progmodes/js.el (js-mode): Correct the lighter.
21703 2015-07-19  Leo Liu  <sdl.web@gmail.com>
21705         Fix a bug in cfengine3-mode
21706         * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil
21707         eldoc-documentation-function.
21709 2015-07-18  Julien Danjou  <julien@danjou.info>
21711         sieve-mode: support "body" test command
21712         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
21713         Add missing "body" test command.
21715 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
21717         Fix info-apropos when the default encoding is Latin-N
21718         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
21719         'undecided', so that it is set to the encoding of the Info file we
21720         are about to insert.  Otherwise, 'info-apropos' will fail to find
21721         some index nodes in some UTF-8 encoded files, if the buffer's
21722         previous encoding is Latin-N or some such.
21724 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
21726         * lisp/epg.el (epg--start): Check that gpgconf can be found
21727         before calling it.
21729         Expose more file types to OS X that Emacs understands
21730         * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for
21731         sty, dtx, json, and org files.  Export UTIs for el, elc, and org files.
21733 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
21735         Fix visual-order cursor movement when lines are truncated
21736         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
21737         simulate display in a window of infinite width, to allow move_it_*
21738         functions reach positions outside of normal window dimensions.
21739         Remove code that tried to handle a subset of these situations by
21740         manual iteration of buffer text.  (Bug#17777)
21742         Fix following Info cross-references to anchors
21743         * lisp/info.el (Info-read-subfile): Add to the returned value the
21744         length of subfile preamble, after converting it to file's byte
21745         offset, as expected by the caller.  Use bufferpos-to-filepos.
21746         (Info-find-node-2): If searching for a node with a
21747         1000-character slop fails, try again with a 10000-character slop,
21748         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
21749         * lisp/international/mule-util.el (bufferpos-to-filepos): New
21750         function.
21751         * etc/NEWS: Mention bufferpos-to-filepos.
21753         Fix scrolling backwards on TTY frames under scroll-conservatively
21754         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
21755         in moving backwards on TTY frames.  (Bug#21080)
21757 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
21759         Consider a jsdoc tag to be a beginning of a paragraph as well
21760         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
21761         consider a jsdoc tag to be a beginning of a paragraph as well.
21763 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
21765         * lisp/emacs-lisp/package.el: Fix warnings.
21767         * lisp/emacs-lisp/package.el (package-buffer-info):
21768         Add author and maintainers to `package-buffer-info'.
21770         * lisp/emacs-lisp/package.el: Many small changes.
21771         Replace all instances of 'face with 'font-lock-face.
21772         (describe-package-1): Improve some strings and move the summary
21773         up the list.
21774         (package-install-file): Update docstring.
21775         (package-menu-hide-package): Bind to `H'.
21777         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
21778         Fix error handling.
21780 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
21782         Fix hang with large yanks This should fix the bug fixed by Mike
21783         Crowe's patch in:
21784         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
21785         A problem in this area has been reported by several users; see
21786         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
21787         This fix differs from Mike Crowe's patch in that it should avoid a
21788         race condition that could lose SIGIO signals.  ignore_sigio dates
21789         back to the 1980s when some platforms couldn't block signals, and
21790         could only ignore them, which led to races when signals arrived
21791         while being ignored.  We shouldn't have to worry about those old
21792         platforms now.
21793         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
21794         * src/emacs.c (shut_down_emacs):
21795         Don't call ignore_sigio; unrequest_sigio should suffice.
21796         * src/keyboard.c (kbd_buffer_store_buffered_event):
21797         Use unrequest_sigio, not ignore_sigio.
21798         (kbd_buffer_get_event):
21799         Call request_sigio when getting the ball rolling again.
21801 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
21803         * lisp/obsolete/longlines.el (longlines-search-function):
21804         Fallback on `isearch-search-fun-default'.
21806 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
21808         Support @-mentions
21809         * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion
21810         of mentions/messages with @nick instead of just nick.
21812 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
21814         Fix bug#20943
21815         * lisp/autorevert.el (auto-revert-handler): Do not check for
21816         `buffer-modified-p'.
21817         * lisp/files.el (buffer-stale--default-function): Check for
21818         `buffer-modified-p'.
21819         * test/automated/auto-revert-tests.el
21820         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
21822 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
21824         Fix delete-dups bug on long lists
21825         * lisp/subr.el (delete-dups):
21826         Don't mistakenly keep some dups when applied to long lists.
21828 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
21830         Better heuristic for C stack overflow
21831         Improve the heuristic for distinguishing stack overflows from
21832         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
21833         the getrlimit method wasn't portable to Cygwin; see:
21834         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
21835         Corinna suggested pthread_getattr_np but this also has problems.
21836         Instead, replace the low-level system stuff with a simple
21837         heuristic based on known good stack addresses.
21838         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
21839         * src/sysdep.c: Don't include <sys/resource.h>.
21840         (stack_direction): Remove.  All uses removed.
21841         (stack_overflow): New function.
21842         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
21843         Make SEGV fatal in non-main threads.
21845 2015-07-16  Daiki Ueno  <ueno@gnu.org>
21847         epg: Automatically start pinentry server
21848         * lisp/epg-config.el (epg-gpgconf-program): New variable.
21849         * lisp/epg.el (epg--start): Call `pinentry-start' if
21850         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
21852 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
21854         * lisp/gnus/nnimap.el: Fix my last bogus change.
21855         Reinstall Stefan Monnier's change that was made in
21856         <83d824bc4041332f338ad7e5e830f443535aa300>.
21858 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21860         Merge from gnulib
21861         This incorporates:
21862         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
21863         2015-07-05 acl-permissions: Fix on FreeBSD
21864         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
21865         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
21866         * lib/set-permissions.c: Copy from gnulib.
21868         Port to stricter C99
21869         * src/keyboard.h (kbd_buffer_store_event_hold):
21870         Don't return a void expression.
21872 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
21874         * doc/emacs/frames.texi (Creating Frames):
21875         Fix the command `C-x 5 m' runs.
21877 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
21879         New autorevert tests
21880         * test/automated/auto-revert-tests.el: New file.
21882 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
21884         Clear gcprolist etc. after stack overflow
21885         After stack overflow, command_loop calls init_eval, and this needs to
21886         clear gcprolist and byte_stack_list (Bug#20996).
21887         * src/alloc.c (init_alloc):
21888         Move gcprolist and byte_stack_list initialization from here ...
21889         * src/eval.c (init_eval): ... to here.
21891 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
21893         * doc/emacs/windows.texi (Pop Up Window): Fix the description
21894         of `C-x 4 m'.
21896 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21898         Avoid deprecated enums in mac-ct font backend driver
21899         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
21900         (mac_ctfont_get_advance_width_for_glyph)
21901         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
21903         Cache font family in mac-ct font backend driver
21904         * src/macfont.m (macfont_family_cache): New variable.
21905         (syms_of_macfont): Initialize it.
21906         (macfont_available_families_cache): New variable.
21907         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
21908         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
21909         (macfont_handle_font_change_notification)
21910         (macfont_init_font_change_handler)
21911         (macfont_copy_available_families_cache): New functions.
21912         (macfont_create_family_with_symbol): Use font family caches.
21913         (macfont_list, macfont_list_family):
21914         Use macfont_copy_available_families_cache instead of
21915         mac_font_create_available_families.
21917 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
21919         Show the default value in the prompt
21920         * lisp/progmodes/xref.el: Add `M-?' binding for
21921         xref-find-references.  Declare functions `grep-read-files' and
21922         `grep-expand-template'.
21923         (xref--read-identifier): Show the default value in the prompt.
21925         * lisp/progmodes/xref.el (xref-find-regexp): When called with
21926         prefix argument, ask for file patterns to search as well.  When
21927         prompting for the directory, require an existing one.
21928         (xref-collect-matches): Add a new argument, FILES.  Use it in the
21929         above function.
21931         Add `project-ignores'
21932         * lisp/progmodes/project.el (project-ignores): New generic
21933         function, and an implementation for the VC project type.
21934         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
21935         variant of rgrep-default-command that handles a generic list of
21936         ignores.
21937         (xref-collect-matches): Use it, and pass through to it the value
21938         of the newly added argument.
21939         (xref-find-regexp): Handle ignored paths within the project.
21940         Remove outdated comment.
21941         * lisp/vc/vc.el (vc-default-ignore-completion-table):
21942         Skip the comments and the empty lines.
21944 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
21946         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
21948 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
21950         gnus-registry.el: Correct function argument order
21951         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
21952         Reverse the order of function arguments.
21954 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
21956         Bind grep-highlight-matches to nil
21957         * lisp/progmodes/xref.el (xref-collect-matches):
21958         Bind grep-highlight-matches to nil (bug#20728).
21960 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
21962         nnimap.el: Fix IMAP message size parsing
21963         * lisp/gnus/nnimap.el (nnimap-transform-headers):
21964         Don't assume that UID comes before RFC822.SIZE.
21966 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
21968         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
21969         (auth-source-creation-prompts): Declare.
21970         (nnimap-retrieve-headers, nnimap-status-message)
21971         (nnimap-request-create-group, nnimap-request-delete-group)
21972         (nnimap-close-group, nnimap-request-move-article)
21973         (nnimap-request-accept-article, nnimap-request-newgroups)
21974         (nnimap-request-post, nnimap-dummy-active-number)
21975         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
21976         (nnimap-parse-flags): Remove unused var `p'.
21977         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
21978         (nnimap-flags-to-marks): Remove unused var `totalp'.
21980 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
21982         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
21984 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21986         * src/macfont.m (macfont_list): Ignore font families lacking
21987         font descriptors.
21989 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
21991         Don't check the exit status, it can be misleading
21992         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
21993         exit status, it can be misleading.
21995         Introduce a Project API
21996         * lisp/progmodes/project.el: New file.
21997         * lisp/cedet/ede.el (project-try-ede): New function.
21998         (project-root): New implementation.
21999         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
22000         Set project-search-path-function.
22001         (elisp--xref-find-references): Delegate some logic to
22002         project-search-path.
22003         (elisp-search-path): New function.
22004         (elisp-xref-find): Don't implement `matches' anymore.
22005         * lisp/progmodes/etags.el: Don't implement `matches'.
22006         Delegate some logic to project-search-path.
22007         (etags-search-path): New function.
22008         * lisp/progmodes/xref.el (xref-find-function):
22009         Remove `matches' from the API.
22010         (xref-find-regexp): Move whatever common logic was in elisp and
22011         etags implementations, and search the directories returned by
22012         project-directories and project-search-path.
22014 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
22016         * test/automated/map-tests.el (test-map-delete-return-value):
22017         Uncomment test.
22019         Add support for gv.el in map.el
22020         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
22021         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
22022         * test/automated/map-tests.el: Update tests to work with the new
22023         implementations of map-elt and map-put.
22025 2015-07-09  Glenn Morris  <rgm@gnu.org>
22027         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
22029 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
22031         Syntax-propertize until the end of the line first
22032         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
22033         until the end of the line first.
22035 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
22037         * doc/emacs/files.texi (File Archives): Add a cross reference.
22039 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
22041         nnimap.el: Handle plain value for nnimap-stream
22042         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
22043         capabilities, so that a 'plain value for the `nnimap-stream' server
22044         variable is handled correctly.
22045         * doc/misc/gnus.texi (Customizing the IMAP Connection):
22046         Document the 'plain option.
22048 2015-07-08  Leo Liu  <sdl.web@gmail.com>
22050         Fix bug in thing-at-point--bounds-of-well-formed-url
22051         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
22052         sure boundary contains current point.
22054 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
22056         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse'
22057         in the end.
22059         Declare whitespace-line-column a safe file-local
22060         * lisp/whitespace.el (whitespace-line-column): Declare to be a
22061         safe file-local when the value is an integer.
22063 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
22065         gnus-group.el: Check if group names are already strings
22066         * lisp/gnus/gnus-group.el (gnus-group-group-name):
22067         The group name may already be a string.
22068         Specifically, in the group list reached from the *Server* buffer,
22069         the 'gnus-group text property returns a string.  Everywhere else
22070         it returns a symbol.
22072         nnimap.el: Remove unused let variables
22073         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
22075 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
22077         Support "maximized" property of runemacs's shortcut
22078         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
22079         the '--maximized' switch to Emacs.
22081         Support "minimized" property of runemacs's shortcut
22082         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
22083         pass the '--iconic' switch to Emacs.  (Bug#20991)
22085 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
22087         Doc fixes
22088         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
22089         C-w' in Diff mode.
22090         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
22091         Add a cross reference.
22093 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
22095         * lisp/obsolete/landmark.el: Add Obsolete-since header.
22097 2015-07-07  Glenn Morris  <rgm@gnu.org>
22099         * test/automated/ert-tests.el (ert-test-deftest):
22100         Update for recent changes.
22102 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
22104         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
22105         * lisp/emacs-lisp/gv.el (gv-setter): New function.
22106         (gv-invalid-place): New error.
22107         (gv-get): Use them.
22108         (gv-synthetic-place, gv-delay-error): New places.
22109         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
22110         (cl-defgeneric, cl-defmethod): Use gv-setter.
22112 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
22114         Make vc-tests work with MSYS svn program
22115         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
22116         svn is an MSYS program.
22118 2015-07-07  Ken Brown  <kbrown@cornell.edu>
22120         Improve recent change to emacsclient on Cygwin
22121         * lisp/server.el (server-process-filter): Remove redundant check
22122         that 'cygwin-convert-file-name-from-windows' is defined as a
22123         function on Cygwin.  Don't call that function unless its argument
22124         starts with a drive letter.
22126 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
22128         * lisp/emacs-lisp/package.el (package-compute-transaction):
22129         Fix void variable due to `found-something' being in the wrong `let'.
22131 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
22133         * lisp/play/landmark.el: Move to lisp/obsolete/.
22135 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
22137         Have `x-show-tip' handle `right' and `bottom' frame parameters
22138         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
22139         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
22140         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
22141         tooltips also via `right' and `bottom' frame parameters.
22143 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
22145         Add online-help support to describe types
22146         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
22147         (describe-symbol): Improve the selection of default.
22148         * lisp/help-mode.el: Require cl-lib.
22149         (describe-symbol-backends): Move from help-fns.el.
22150         (help-make-xrefs): Use it.
22151         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
22152         for types.
22153         (cl--typedef-regexp): New const.
22154         (find-function-regexp-alist): Add entry for types.
22155         (cl-help-type, cl-type-definition): New buttons.
22156         (cl-find-class): New function.
22157         (cl-describe-type): New command.
22158         (cl--describe-class, cl--describe-class-slot)
22159         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
22160         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
22161         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
22162         New functions.  Moved from eieio-opt.el.
22163         (cl--generic-class-parents): New function, extracted from
22164         cl--generic-struct-specializers.
22165         (cl--generic-struct-specializers): Use it.
22166         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
22167         Improve constructor's docstrings.
22168         (cl-struct-unknown-slot): New error.
22169         (cl-struct-slot-offset): Use it.
22170         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
22171         definition in current-load-list.
22172         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
22173         (eieio--add-new-slot): Set it.
22174         (eieio-defclass-internal): Use new name for current-load-list.
22175         (eieio-oref): Add compiler-macro to warn about unknown slots.
22176         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
22177         as compile-time as well.  Improve constructor docstrings.
22178         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
22179         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
22180         (eieio-class-def): Remove button.
22181         (eieio-help-constructor): Use new name for load-history element.
22182         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
22183         (eieio-method-documentation): Move to cl-generic.el.
22184         (eieio-display-method-list): Use new names.
22185         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
22186         Add "define-linline".
22187         (lisp-fdefs): Remove "defsubst".
22188         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
22189         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
22190         (macroexp--warn-and-return): Use it to avoid inf-loops.
22191         Add `compile-only' argument.
22193 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
22195         python.el: Fix local/remote shell environment setup
22196         * lisp/progmodes/python.el (python-shell-with-environment):
22197         Fix remote/local environment setup.
22198         * test/automated/python-tests.el (python-shell-with-environment-1)
22199         (python-shell-with-environment-2): New tests.
22201 2015-07-06  Glenn Morris  <rgm@gnu.org>
22203         * lisp/simple.el (set-variable): Tweak recent doc fix.
22205 2015-07-06  Ken Brown  <kbrown@cornell.edu>
22207         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE.
22209 2015-07-06  Glenn Morris  <rgm@gnu.org>
22211         * lisp/simple.el (set-variable): Use user-error for type mismatch.
22213 2015-07-06  Ken Brown  <kbrown@cornell.edu>
22215         * src/emacs.c (main): Don't increase the stack size on Cygwin.
22217 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22219         (describe-symbol): Rewrite describe-function-or-variable
22220         * lisp/help-fns.el (describe-symbol-backends): New var.
22221         (help-xref-stack-item): Declare.
22222         (describe-symbol): Rename from describe-function-or-variable.
22223         Rewrite using describe-symbol-backends instead of help-xref-interned.
22224         * lisp/help.el (help-map): Use it.
22225         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
22226         (help-xref-interned): Make it into an obsolete alias.
22228         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
22229         `file' arg (bug#20972).  Always use utf-8-emacs.  Use with-temp-buffer
22230         and cl-letf.
22232 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
22234         Fix parsing glitches in dired-mark-sexp (bug#13575)
22235         * lisp/dired-x.el (dired-x--string-to-number): New function.
22236         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
22237         of directory-listing-before-filename-regexp.  Consider
22238         forward-word harmful and replace it.  Add more verbiage in
22239         comments and doc string.
22241 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
22243         python.el: Respect process environment for remote shells
22244         * lisp/progmodes/python.el
22245         (python-shell-calculate-process-environment): Calculate
22246         process-environment or tramp-remote-process-environment depending
22247         whether current file is remote.
22248         (python-shell-calculate-exec-path): Calculate exec-path or
22249         tramp-remote-path depending whether current file is remote.
22250         (python-shell-with-environment): New macro.
22251         (python-shell-prompt-detect, python-shell-calculate-command)
22252         (python-shell-make-comint, python-check): Use it.
22254         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
22255         * lisp/progmodes/python.el (python-shell--interpreter)
22256         (python-shell--interpreter-args): New vars.
22257         (inferior-python-mode, python-shell-make-comint): Use them.
22259         python.el: Fixes for IPython 3.x  (Bug#20580)
22260         * lisp/progmodes/python.el:
22261         (python-shell-completion-native-setup): Fix IPython 3.x setup.
22262         (python-shell-completion-native-get-completions): Fix timeout
22263         logic.
22265         python.el: Fix mark-defun behavior  (Bug#19665)
22266         * lisp/progmodes/python.el (python-mark-defun): New function.
22267         * test/automated/python-tests.el (python-mark-defun-1)
22268         (python-mark-defun-2, python-mark-defun-3): New tests.
22270 2015-07-05  Glenn Morris  <rgm@gnu.org>
22272         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
22273         such as "extends(parent), private".  (Bug#20969)
22274         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
22275         New tests.
22277 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
22279         Avoid duplicate calls to current_timespec
22280         * src/process.c (wait_reading_process_output):
22281         Cache current_timespec results as long as we're not waiting.
22283 2015-07-05  Ian Kelling  <ian@iankelling.org>
22285         Avoid returning early reading process output due to SIGIO
22286         * src/process.c (wait_reading_process_output): Extend the behavior of
22287         not breaking due to not finding output when a timer has lowered the
22288         timeout to include when SIGIO lowers the timeout.
22290         Don't return as fast reading any process output
22291         * src/process.c (wait_reading_process_output):
22292         The patch for Bug#17647 returns too fast sometimes when reading
22293         from any processes.  Revert part of it, and limit the timeout more
22294         sensibly (Bug#20978).
22296         Refactor timeouts in wait_reading_process_output
22297         * src/process.c (wait_reading_process_output):
22298         Simplify timeouts with an enum.  Remove a redundant condition.
22299         (Bug#20978)
22301         Remove ADAPTIVE_READ_BUFFERING ifdef
22302         * src/process.c (make-process, make-pipe-process, deactivate_process)
22303         (wait_reading_process_output, read_process_output, send_process)
22304         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
22305         added in case there was an operating system in which it was not
22306         useful.  That was 11 years ago and it hasn't happened.  Make
22307         development easier by not considering the effect of changes on a
22308         theoretical OS where this is disabled (Bug#20978).
22310 2015-07-05  Glenn Morris  <rgm@gnu.org>
22312         * lisp/simple.el (set-variable): Doc fix.
22314         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
22316 2015-07-05  Ian Kelling  <ian@iankelling.org>
22318         accept-process-output fix
22319         This is a followon to the fix for bug#17647 (Bug#20976).
22320         * src/process.c (status_notify): Fix too high return in some cases.
22322 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
22324         * lisp/character-fold.el (character-fold-table):
22325         Only fold decompositions if at least one character is non-spacing.
22326         (Bug#20975)
22328 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
22330         Merge from gnulib
22331         This incorporates:
22332         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
22333         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
22334         2015-07-02 update-copyright: fix test failure with perl >= 5.22
22335         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
22336         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
22337         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
22338         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
22340 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
22342         Respect `prog-indentation-context' in python.el
22343         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
22344         (python-indent-context, python-indent--calculate-indentation)
22345         (python-info-current-defun)
22346         (python-info-dedenter-opening-block-message)
22347         (python-info-line-ends-backslash-p)
22348         (python-info-beginning-of-backslash)
22349         (python-info-continuation-line-p): Use `prog-widen'.
22350         (python-indent--calculate-indentation)
22351         (python-indent--calculate-levels)
22352         (python-indent-calculate-indentation): Use `prog-first-column'.
22353         (python-indent--calculate-levels): Simplify.
22354         Ignore also initial empty lines for syntax calculation.
22355         * lisp/progmodes/python.el (python-indent-context): Return
22356         :no-indent for first non-empty line, not just in line 1.
22357         * test/automated/python-tests.el (python-indent-base-case)
22358         (python-indent-inside-paren-1, python-indent-inside-paren-2)
22359         (python-indent-inside-paren-3, python-indent-inside-paren-4)
22360         (python-indent-inside-paren-5, python-indent-inside-paren-6)
22361         (python-indent-after-backslash-1)
22362         (python-indent-after-backslash-2)
22363         (python-indent-after-backslash-3)
22364         (python-indent-after-backslash-4, python-indent-inside-string-1):
22365         Expect :no-indent for first non-empty line.
22367 2015-07-04  Daniel Colascione  <dancol@dancol.org>
22369         Factor isearch word description into new function
22370         * lisp/isearch.el (isearch--describe-word-mode): New function.
22371         (isearch-message-prefix, isearch-query-replace): Use it.
22373 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
22375         Fix mouse pointer on w32 when a menu is active
22376         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
22377         shape while a menu is in use.  This started happening since we now
22378         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
22380 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
22382         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
22383         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
22384         parameter.  (Bug#17344)
22386         Have `compilation-set-window' use right window for getting fringes
22387         (Bug#20829)
22388         * lisp/progmodes/compile.el (compilation-set-window):
22389         Take `window-fringes' from argument window.
22391 2015-07-03  Glenn Morris  <rgm@gnu.org>
22393         Update eieio tests for recent eieio-core change.
22394         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
22395         * test/automated/eieio-tests.el
22396         (eieio-test-32-slot-attribute-override-2):
22397         Replace the deleted eieio--class-v with cl--find-class.
22399 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
22401         Fix some issues with `window-divider-mode'
22402         * lisp/frame.el (window-divider-default-places): New option.
22403         (window-divider-mode): Remove option.
22404         (window-divider-mode): Make it a "regular" minor mode.
22405         (window-divider-width-valid-p): Drop frame- prefix.
22406         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
22407         prefix.  Handle `window-divider-default-places'.
22408         (frame--window-divider-mode-set-and-apply): Remove.
22409         (window-divider-default-bottom-width)
22410         (window-divider-default-right-width): Drop :group entries.
22411         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
22412         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
22413         (menu-bar-no-window-divider): Set `window-divider-default-places'
22414         and call `window-divider-mode'.
22415         * doc/emacs/frames.texi (Window Dividers): Document
22416         `window-divider-default-places'.
22418 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
22420         * doc/emacs/display.texi (Displaying Boundaries):
22421         * doc/emacs/search.texi (Word Search): Add cross references.
22423 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
22425         -batch should not affect ‘’ -> `' display
22426         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
22427         -batch (Bug#20926).
22429 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
22431         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
22432         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el:
22433         * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
22434         Use cl--find-class instead.
22436         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
22438 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
22440         Some further fixes in Change Window node (Bug#20183)
22441         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
22442         by "resizing" in section title.  Add some concept indices.
22443         Suggested by N. Jackson (Bug#20183).
22445         * doc/emacs/windows.texi (Change Window): Reference window
22446         dividers.
22448         Document new `window-divider-mode'.
22449         * lisp/frame.el (window-divider-mode): Fix doc-string.
22450         * doc/emacs/frames.texi (Window Dividers): New section.
22452         Improve accessibility of window dividers (Bug#20183)
22453         * lisp/faces.el (window-divider)
22454         (window-divider-first-pixel, window-divider-last-pixel): Change
22455         membership from `frames' to `window-divider' customization group.
22456         * lisp/frame.el (window-divider): New customization group.
22457         (window-divider-mode): New minor mode.
22458         (window-divider-default-bottom-width)
22459         (window-divider-default-right-width): New options.
22460         (frame--window-divider-previous-mode): New variable.
22461         (frame-window-divider-width-valid-p)
22462         (frame--window-divider-mode-apply)
22463         (frame--window-divider-mode-set-and-apply): New functions.
22464         * lisp/menu-bar.el (menu-bar-options-save): Save
22465         window-divider-mode settings.
22466         (menu-bar-window-divider-customize)
22467         (menu-bar-bottom-and-right-window-divider)
22468         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
22469         (menu-bar-no-window-divider): New functions.
22470         (menu-bar-showhide-window-divider-menu): New variable.
22471         (menu-bar-showhide-menu): Show/hide window divider menu.
22472         * lisp/mouse.el (mouse-split-window-vertically)
22473         (mouse-split-window-horizontally): Replace `error' by
22474         `user-error'.  Bind `window-combination-resize' to nil.
22475         (top-level): Add/reorder mouse key bindings on mode- and
22476         vertical-line.
22478 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
22480         Don't display ‘’ as `' under X in en_GB
22481         The curved quote setup code invokes (char-displayable-p ?‘),
22482         but this isn’t reliable until after the X frame replaces the
22483         terminal frame (Bug#20926).
22484         * lisp/international/mule-cmds.el (set-locale-environment):
22485         Move curved quote setup code from here ...
22486         * lisp/startup.el (command-line): ... to here, after creating
22487         the X frame.
22489 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
22491         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring.
22493         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
22494         to reverse the meaning (Bug#15631).
22496 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
22498         Be more tolerant to fonts named "Foobar-12"
22499         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
22500         don't barf; instead, request a new fontset to be generated.  This
22501         avoids unnecessarily rejecting fonts named against XLFD rules.  See
22502         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
22503         for the description of the original problem.
22504         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
22505         by a hyphen in a font's name.
22507         Fix value of posn-at-pont in R2L lines
22508         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
22509         coordinate of -1, for a newline in a right-to-left line that
22510         overflowed into the left fringe.
22512 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
22514         (cl--copy-slot-descriptor): Copy the `props' alist as well
22515         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
22516         Rename from cl--copy-slot-descriptor.
22517         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
22519 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
22521         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
22522         (xterm-query-timeout): New var.
22523         (xterm--query): Use it.  Fallback on async method if we timeout before
22524         getting the first byte of the reply (bug#12354).
22526 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
22528         Spelling fixes
22529         * lisp/character-fold.el (character-fold-search):
22530         * lisp/emacs-lisp/package.el (package-hidden-regexps):
22531         Fix typos.
22533 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
22535         * doc/emacs/frames.texi (Frame Commands): Typo fix.  (Bug#20946)
22537 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
22539         In strings, prefer plain ` and ' to \` and \'
22540         * lisp/allout.el (allout-insert-listified):
22541         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
22542         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
22543         (ls-lisp-string-lessp):
22544         * lisp/menu-bar.el (menu-bar-open):
22545         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
22546         * lisp/progmodes/compile.el (compile):
22547         * lisp/progmodes/etags.el (tags-loop-scan):
22548         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
22549         * lisp/subr.el (posn-actual-col-row):
22550         * lisp/term/pc-win.el (x-list-fonts):
22551         * lisp/textmodes/texinfmt.el (texinfmt-version):
22552         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
22553         * lisp/time.el (display-time-world-list):
22554         * lisp/tmm.el (tmm-menubar):
22555         * src/buffer.c (syms_of_buffer):
22556         * src/fileio.c (syms_of_fileio):
22557         Omit unnecessary and confusing backslash before quote.
22558         * lisp/erc/erc.el (erc-cmd-LASTLOG):
22559         * lisp/progmodes/flymake.el (flymake-fix-file-name):
22560         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
22561         Fix string that was intended to escape a backslash and not a quote.
22563 2015-06-30  Glenn Morris  <rgm@gnu.org>
22565         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
22567         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
22568         Replace hard-coded lists with wildcard + filter-out.
22570         * configure.ac (system-configuration-features): Add X11, NS.
22572         Improve reproducibility of generated loaddefs file
22573         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
22574         Make the return value the modtime of the input file (if no autoloads).
22575         (update-directory-autoloads): In the "no autoloads" section,
22576         use "most recent modtime" rather than "current time".
22578 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
22580         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic.
22581         (Bug#20930)
22583 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
22585         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
22587         Add seq-min and seq-max
22588         Bump version number.
22589         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
22590         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
22592 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
22594         Make sure sleep-for always delays for as long as it's told
22595         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
22596         a loop, to ensure we always wait exactly the required amount of
22597         time.  (Bug#15990)
22599 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
22601         Fix pointer signedness glitch
22602         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
22604 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
22606         Don't block changes in mouse pointer inside 'track-mouse'
22607         * etc/NEWS:
22608         * doc/lispref/frames.texi (Mouse Tracking): Document the special
22609         effect of setting 'track-mouse' to 'dragging'.
22610         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
22611         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
22612         * lisp/mouse-drag.el (mouse-drag-throw):
22613         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
22614         to avoid changes in the shape of the mouse pointer.
22615         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
22616         pointer shape when do_mouse_tracking has the value of 'dragging',
22617         not just any non-nil value.  (Bug#20934)
22618         (syms_of_xdisp): DEFSYM 'dragging'.
22620 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
22622         * lisp/isearch.el (isearch-toggle-word): Fix toggle.
22624         * lisp/emacs-lisp/package.el (package-compute-transaction):
22625         Don't assume version sorting.
22627         * lisp/emacs-lisp/package.el (package--save-selected-packages):
22628         Don't save before init time, to avoid overwriting configurations.
22629         (Bug#20855)
22631 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
22633         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
22634         references.
22636 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
22638         Update for the upcoming CFEngine 3.7 release: support macros and
22639         quoted context strings; reformat JSON; indent promise attributes 2
22640         units by default; give function parameter descriptions in the eldoc
22641         glue.
22642         * lisp/progmodes/cfengine.el: Update version and docs and fix name.
22643         Autoload `json-pretty-print'.  Support new features in 3.7.
22644         (cfengine-parameters-indent): Set default promise attribute indent to
22645         2 more than the promise itself.
22646         (cfengine3-macro-regex): New variable to match the new macro syntax.
22647         (cfengine3-font-lock-keywords): Use it to highlight macros.
22648         (cfengine3-indent-line): Use it to indent macros to column 0.
22649         (cfengine3-class-selector-regex): Update for the new quoted strings
22650         format.
22651         (cfengine3-reformat-json-string): New function to reformat a JSON
22652         string using `json-pretty-print'.
22653         (cfengine3-format-function-docstring): Use function parameter
22654         description if it's provided by the cf-promises syntax dump.
22656 2015-06-29  Michael R. Mauger  <michael@mauger.com>
22658         Cygwin emacsclient handles w32 file names
22659         * lisp/server.el (server-process-filter): Allow Cygwin's
22660         emacsclient to be used as a file handler on MS-Windows.
22662 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
22664         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice
22665         (bug#20925).
22667 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
22669         * doc/lispref/text.texi (Sticky Properties): Improve wording.
22670         (Bug#20924)
22672         Allow font names that end in "-NN", where NN is a number
22673         * src/font.c (font_load_for_lface): If the font-spec didn't match
22674         any available fonts, try again without interpreting trailing "-NN"
22675         as the font size.  For the description of the original problem, see
22676         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
22678         .gdbinit followup to changes in !USE_LSB_TAG
22679         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
22680         !USE_LSB_TAG, as Emacs no longer does.
22682 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
22684         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
22685         Otherwise `s p' of f and F will stomp on each other's value.
22686         (Bug#20916)
22688 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
22690         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
22691         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
22693 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
22695         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point
22696         as additional guess.
22698         * lisp/emacs-lisp/package.el (describe-package): Convert the guess
22699         to a string.
22701 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
22703         apropos-library quoting fix
22704         * lisp/apropos.el (apropos-library): Quote library consistently
22705         with the rest of the quoting used by apropos.
22707         Clarify interpreter-mode-alist doc
22708         * lisp/files.el (interpreter-mode-alist):
22709         Reword to avoid confusing quoting that wasn't working anyway.
22711 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
22713         Sync with Tramp 2.2.12
22714         * doc/misc/trampver.texi:
22715         * lisp/net/trampver.el: Update release number.
22716         * test/automated/tramp-tests.el (tramp-test13-make-directory):
22717         Fix cleanup.
22719 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
22721         * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913).
22723 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
22725         Bind grep-highlight-matches around the rgrep call
22726         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
22727         around the rgrep call (bug#20728).
22729         Put "--color" before the other options in grep-command
22730         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
22731         before the other options in grep-command (bug#20912).
22733         Add --color Grep option to the command dynamically
22734         * lisp/progmodes/grep.el (grep-template, grep-find-template):
22735         Update the description for <C>.  (Bug#20728)
22736         (grep-compute-defaults): Don't add the --color option to
22737         grep-options.  Only add it to grep-command.
22738         (grep-expand-keywords): Expand the env value opts into <C>.
22739         (grep-expand-template): Replace cf in the env with the opts list,
22740         that can include -i and --color.
22741         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
22742         "--color=always" from the template, because we don't have to.
22744 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
22746         cl-extra fixes for most-negative-fixnum
22747         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
22748         Don't mishandle an argument equal to most-negative-fixnum,
22749         whose absolute value equals itself.
22750         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
22752         Initialize cl--gensym-counter to 0
22753         Previously it was initialized to a random value, which made it
22754         harder to reproduce earlier Emacs runs.  The need for a random
22755         value went away when Emacs introduced and used the #: syntax for
22756         uninterned symbols (Bug#20862).
22757         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
22758         Document that cl--gensym-counter now starts with 0.
22759         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
22760         (cl--random-time): Move to near only remaining use.
22761         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
22763         Improve docstring for macroexp-let2
22764         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
22765         Improve as per suggestion by RMS in:
22766         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
22767         Also, rename args to match new doc string.
22769 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
22771         Fix VC test suite on MS-Windows
22772         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
22773         always starts with 3 slashes after the colon.
22774         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
22775         'w32-application-type' to invoke CVS on MS-Windows with properly
22776         formatted CVSROOT directory name.
22778         Add a new function w32-application-type
22779         * src/w32proc.c (Fw32_application_type): New function.
22781         Avoid error in TLS connections due to incorrect format
22782         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
22783         the call to 'error', instead of the unsupported %u.  Reported by
22784         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
22786 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
22788         * lisp/replace.el (replace-search): Fix regexp case (bug#20901).
22790 2015-06-26  Leo Liu  <sdl.web@gmail.com>
22792         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
22793         `with-output-to-string' in elisp.
22795         Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of
22796         with-output-to-string".
22797         This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
22799 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
22801         Minor corrections in ELisp manual
22802         * doc/lispref/nonascii.texi (Character Properties): Correct
22803         inaccuracies in description of values of the Unicode properties.
22805         Fix invisible mouse pointers on Windows.
22806         * src/w32fns.c: Include windowsx.h.
22807         (w32_wnd_proc): If the mouse moved and the mouse pointer is
22808         invisible, make it visible again even when the main (Lisp)
22809         thread is busy.
22810         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
22811         garbaging the frame have the input thread call SetCursor.
22813 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
22815         Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922)
22816         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
22817         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
22818         * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible.
22819         (w32_toggle_invisible_pointer): New function.
22820         (w32_create_terminal): Add w32_toggle_invisible_pointer as
22821         toggle_invisible_pointer_hook for this terminal.
22823 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
22825         Doc fix for deletion commands
22826         'delete-char' does not respect the value of 'delete-active-region'.
22827         * doc/emacs/killing.texi (Deletion):
22828         Fix documentation for some single-char deletion commands.
22830         * doc/emacs/help.texi (Apropos):
22831         Improve documentation of 'apropos-do-all'.
22833         * doc/emacs/help.texi (Help Summary):
22834         Improve documentation of 'describe-mode'.
22836 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
22838         Fix submake dependency bug with .h files
22839         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
22840         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
22841         before the submake in $(libsrc) would spin off a subsubmake
22842         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
22844 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
22846         * lisp/character-fold.el (character-fold-table): Reuse `table'.
22848 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
22850         Translate undisplayable ‘ to `
22851         * doc/lispref/help.texi (Keys in Documentation):
22852         * lisp/international/mule-cmds.el (set-locale-environment):
22853         * lisp/term/w32console.el (terminal-init-w32console):
22854         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
22855         If ‘ is not displayable, transliterate it to `, not to '.  See:
22856         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
22858         Fix C99 incompatibilities in Cairo code
22859         * src/image.c (xpm_load) [USE_CAIRO]:
22860         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
22861         Fix pointer signedness problem.
22863 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
22865         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
22866         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
22867         `with-output-to-string' should have the same indent as `progn'.
22868         This is in line with the declaration of `with-output-to-string'.
22870 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
22872         Get ‘./configure; make -C src emacs’ to work
22873         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
22874         * lib-src/Makefile.in (../lib/libgnu.a):
22875         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
22877 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
22879         Fix GC bugs --with-wide-int and Qnil == 0
22880         Use the same alignment for the !USE_LSB_TAG case as for the
22881         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
22882         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
22883         once we changed the representation of symbols so that Qnil == 0.
22884         Problem reported by Eli Zaretskii (Bug#20862).
22885         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
22886         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
22887         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
22888         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
22889         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
22890         This optimization in the !USE_LSB_TAG case is no longer valid when
22891         symbols are represented via offsets.  Change the only use to
22892         assume that pointers might hide in objects.
22893         * src/lisp.h (alignas) [!USE_LSB_TAG]:
22894         Require support in this case, too.
22895         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
22896         This is OK, because the !USE_LSB_TAG case now applies only when
22897         Lisp_Object is wider than void *, so there's no longer any need
22898         to shift the offset.  Not shifting the offset means that
22899         symbol representations have the same alignment as pointers,
22900         which the GC assumes.
22902 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
22904         * doc/lispintro/emacs-lisp-intro.texi (Data types):
22905         Improve documentation of 'substring'.
22907 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
22909         * lisp/character-fold.el (character-fold-table): Fix table generation.
22911 2015-06-24  Glenn Morris  <rgm@gnu.org>
22913         * nextstep/Makefile.in (all): Make it the first target.
22914         (../src/emacs${EXEEXT}): Add rule for making it.
22916 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
22918         * etc/NEWS: Fix mention to old function name.
22920         * lisp/character-fold.el: New file (Bug#20887)
22921         (character-fold-to-regexp): New function.
22922         * lisp/replace.el (replace-search): Check value of
22923         `character-fold-search'.
22924         * lisp/isearch.el: Move character-folding code to
22925         character-fold.el
22926         (isearch-toggle-character-fold): New command.
22927         (isearch-mode-map): Bind it to "\M-sf".
22928         (isearch-mode): Check value of `character-fold-search'.
22930 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
22932         lisp/subr.el (remove-from-invisibility-spec): Handle the t case
22933         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
22934         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
22936         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
22937         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
22939 2015-06-24  Glenn Morris  <rgm@gnu.org>
22941         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
22943 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
22945         lisp/gnus/nnmaildir.el: Silence lexical warnings
22946         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
22947         functional style.
22948         (nnmaildir--update-nov): Remove unused var `numdir'.
22949         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
22950         (nnmaildir-request-group, nnmaildir-request-create-group)
22951         (nnmaildir-request-post, nnmaildir-request-move-article)
22952         (nnmaildir-request-accept-article, nnmaildir-active-number):
22953         Mark unused args.
22954         (nnmaildir-get-new-mail, nnmaildir-group-alist)
22955         (nnmaildir-active-file): Declare.
22956         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
22957         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
22958         `mark', `end', `new-mark', and `mark-sym'.
22959         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
22960         `nlist2'.
22961         (nnmaildir-request-expire-articles):
22962         Remove unused vars `article', `stop' and `nlist2'.
22963         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
22964         `end'.  Use nnmaildir--article when dyn-binding is needed.
22965         Give the value directly in the `let' for `del-mark', `del-action',
22966         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
22967         (nnmaildir-close-server): Declare those local vars that need to be
22968         dyn-bound.
22970 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
22972         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
22974         Port selection info fix to clang
22975         * src/keyboard.h (kbd_buffer_store_event_hold):
22976         Don't assume C11 semantics for alignof (Bug#20756).
22978         Fix bug that munged selection info
22979         On some optimizing C compilers, copying a structure did not
22980         copy the padding bytes between elements, and the type punning
22981         between struct input_data and struct selection_input_data did
22982         not work.  Change the C code to use a proper union type instead.
22983         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
22984         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
22985         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
22986         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
22987         (mark_kboards):
22988         Use union buffered_input_event, not struct input_event.
22989         (clear_event, deliver_input_available_signal, process_special_events):
22990         Remove unnecessary forward decls.
22991         (kbd_buffer_store_buffered_event): New function, mostly just the
22992         old kbd_buffer_store_event_hold, except its argument is of type
22993         union buffered_input_event, not struct input_event.
22994         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
22995         not needed otherwise.  Argument is now of type
22996         struct selection_input_event *, not struct input_event *.
22997         All callers changed.
22998         (clear_event): Arg is now of type union buffered_input_event *,
22999         not struct input_event *.  All callers changed.
23000         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
23001         (union buffered_input_event): New type.
23002         (kbd_buffer_store_event_hold): Now an inline function,
23003         defined here.
23004         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
23005         (struct input_event): Use it.
23006         * src/xselect.c (struct selection_event_queue):
23007         Make elements be of type struct selection_input_event,
23008         not struct input_event.
23009         (selection_input_event_equal): New static function.
23010         (x_queue_event): Use it.
23011         (x_queue_event, x_decline_selection_request)
23012         (x_selection_current_request, x_reply_selection_request)
23013         (x_handle_selection_request, x_handle_selection_clear)
23014         (x_handle_selection_event): Use struct selection_input_event,
23015         not struct input_event.  All callers changed.
23016         (x_convert_selection): Omit unused first arg.  All callers changed.
23017         (Fx_disown_selection_internal): Omit unnecessary union.
23018         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
23019         rather than rolling our own equivalent.  Prefer sie.kind when
23020         setting up that kind of structure.
23021         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
23022         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
23023         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
23024         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
23025         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
23026         (SELECTION_EVENT_TIME, x_handle_selection_event):
23027         Arg is now of type struct selection_input_event *)
23028         not struct input_event *.  All callers changed.
23030 2015-06-23  Glenn Morris  <rgm@gnu.org>
23032         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
23034 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
23036         * lisp/isearch.el: Fold many unicode characters to ASCII.
23037         (isearch-character-fold-search, isearch--character-fold-extras)
23038         (isearch--character-fold-table): New variable.
23039         (isearch--character-folded-regexp): New function.
23040         (isearch-search-fun-default): Use them.
23041         * lisp/replace.el (replace-character-fold): New variable.
23042         (replace-search): Use it.
23043         * etc/NEWS: Document it.
23045 2015-06-23  Glenn Morris  <rgm@gnu.org>
23047         Check for an input event before showing a dialog box.  (Bug#20813)
23048         * lisp/subr.el (y-or-n-p):
23049         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
23050         as last-nonmenu-event.
23052 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
23054         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
23055         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
23056         (switch-to-prev-buffer, switch-to-next-buffer): Respect
23057         switch-to-visible-buffer independent of the windows history.
23059 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
23061         * src/keyboard.c (last_timer_event): Remove unused var.
23063 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
23065         * test/automated/package-test.el (package-test-update-listing):
23066         Fix test.
23068 2015-06-23  Glenn Morris  <rgm@gnu.org>
23070         Revert 2014-06-25 nextstep/Makefile change.
23071         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
23072         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
23073         not as an order-only prerequisite.
23075         * configure.ac (--with-ns): Enable by default on OS X.
23077 2015-06-23  Leo Liu  <sdl.web@gmail.com>
23079         Fix shell-for/backward-command to exclude spaces
23080         * lisp/shell.el (shell-forward-command, shell-backward-command):
23081           Handle the 'move case from re-search-forward/backward.
23082           fixes debbugs:20873
23084 2015-06-22  Juri Linkov  <juri@linkov.net>
23086         * lisp/replace.el (query-replace-read-from): Add separator to
23087         the local binding of text-property-default-nonsticky.  (Bug#20690)
23089         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
23090         (Bug#20785)
23092 2015-06-22  Ken Brown  <kbrown@cornell.edu>
23094         Enable CPU profiling on Cygwin
23095         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
23096         change that undefined this.
23097         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
23098         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
23099           Cygwin.
23101         Improve diagnostics of profiler-cpu-start
23102         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
23103         return -1 if the sampling interval is invalid.
23104         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
23105         fails.  (Bug#20843)
23107 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
23109         * lisp/emacs-lisp/package.el: Exclude packages by name.
23110         (package-hidden-regexps): New variable.
23111         (package-menu--refresh): Use it.
23112         (package-menu-hide-package): New command.
23114         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding.
23116 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
23118         Fix debug-timer-check on systems without HAVE_TIMERFD
23119         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
23120         the expired timers, since wait_reading_process_output doesn't.
23121         (debug_timer_callback): Enlarge the tolerance to 20 msec.
23123         Fix RCS crashes in vc-test
23124         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
23125         ports of 'ci' on MS-Windows by always passing the -t- switch.
23127 2015-06-22  Glenn Morris  <rgm@gnu.org>
23129         * doc/emacs/package.texi (Packages):
23130         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
23132         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
23134 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
23136         Port tests to help-quote-translation
23137         * test/automated/ert-x-tests.el (ert-test-describe-test):
23138         * test/automated/package-test.el (package-test-describe-package)
23139         (package-test-signed): Allow straight quotes, too.
23141 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
23143         Make find-function-on-key use the current window
23144         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
23145         Extract from `find-function-on-key', add a second argument.
23146         (find-function-on-key): Use it (bug#19679).
23147         (find-function-on-key-other-window)
23148         (find-function-on-key-other-frame): New commands.
23150 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
23152         Revert "Define `map-elt' as a generalized variable"
23153         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
23155 2015-06-21  Ken Brown  <kbrown@cornell.edu>
23157         Drop support for CPU profiling on Cygwin
23158         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
23159         (Bug#20843)
23161 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
23163         Fix some “nested” quoting confusion in doc strings
23164         * lisp/emacs-lisp/advice.el (ad-map-arglists):
23165         * lisp/kermit.el (kermit-clean-on):
23166         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
23167         * src/keyboard.c (Frecursive_edit):
23168         Use curved quotes when quoting text containing apostrophe,
23169         so that the apostrophe isn't curved in the output.
23171 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
23173         Define `map-elt' as a generalized variable
23174         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
23175         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
23176         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
23177         `setf' with `map-elt'.
23178         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
23180 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
23182         Improve error handling in tramp-adb.el
23183         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
23184         Improve error handling.
23186 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
23188         Reuse `alist-get' in map.el
23189         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
23190         elements.
23192 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
23194         Fix bytecomp-tests--warnings when $TMPDIR has a long name
23195         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
23196         Allow the warning to begin on the 3rd, not only 2nd line, which
23197         happens if temporary-file-directory has a very long name.
23199         Expect 2 icalendar tests to fail on MS-Windows
23200         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
23201         (icalendar-real-world): Make them expected failures on MS-Windows.
23203 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
23205         Improve port of settings UI to older displays
23206         * lisp/cus-start.el (standard): Don't assume curved quotes are
23207         easily distinguishable when users are tinkering with a setting
23208         that affects how curved quotes are generated.
23210         Fix quoting in electric-quote-mode doc string
23211         * lisp/electric.el (electric-quote-mode): Fix quoting.
23212         This is a fallout from the recent change introducing
23213         ‘help-quote-translation’.
23215         Spelling fix
23217         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
23219         * src/doc.c (syms_of_doc): Remove unused symbols.
23221 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
23223         * lisp/window.el (window-state-put): Undedicate target window
23224         before putting STATE into it.  (Bug#20848)
23226 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
23228         Merge from origin/emacs-24
23229         a5e6f33 Fixes: debbugs:20832
23230         b9f02cf Fixes: debbugs:20832
23232 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
23234         Fix file-in-directory-p when the directory is UNC
23235         * lisp/files.el (file-in-directory-p): Support files and
23236         directories that begin with "//".  (Bug#20844)
23238 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
23240         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
23241         in the minibuffer.  (Bug#20832)
23243 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
23245         * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer
23246         for adding new todo file is empty but modified.  (Bug#20832)
23248 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
23250         (filepos-to-bufferpos): Further tweaks to the utf-16 code
23251         * lisp/international/mule-util.el (filepos-to-bufferpos):
23252         Fix typo.  Move non-exact check to the utf-16 branch (the only one
23253         affected).  Don't use byte-to-position for the utf-16 case.
23255 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
23257         Minor fixes in filepos-to-bufferpos
23258         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
23259         test for utf-8-emacs.  Exempt single-byte encodings from the
23260         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
23261         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
23262         UTF-16 encoded files for CR-LF EOLs.
23264 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
23266         Improve the optional translation of quotes
23267         Fix several problems with the recently-added custom variable
23268         help-quote-translation where the code would quote inconsistently
23269         in help buffers.  Add support for quoting 'like this', which
23270         is common in other GNU programs in ASCII environments.  Change
23271         help-quote-translation to use more mnemonic values: values are now the
23272         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
23273         traditional Emacs help-buffer quoting style `like this'.  Change the
23274         default behavior of substitute-command-keys to match what's done in
23275         set-locale-environment, i.e., quote ‘like this’ if displayable,
23276         'like this' otherwise.
23277         * doc/lispref/help.texi (Keys in Documentation): Document
23278         new behavior of substitute-command-keys, and document
23279         help-quote-translation.
23280         * doc/lispref/tips.texi (Documentation Tips):
23281         Mention the effect of help-quote-translation.
23282         * etc/NEWS: Mention new behavior of substitute-command-keys,
23283         and merge help-quote-translation news into it.
23284         When talking about doc strings, mention new ways to type quotes.
23285         * lisp/cedet/mode-local.el (overload-docstring-extension):
23286         Revert my recent change to this function, which shouldn't be
23287         needed as the result is a doc string.
23288         * lisp/cedet/mode-local.el (mode-local-print-binding)
23289         (mode-local-describe-bindings-2):
23290         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
23291         * lisp/cus-theme.el (describe-theme-1):
23292         * lisp/descr-text.el (describe-text-properties-1, describe-char):
23293         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
23294         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
23295         (eieio-help-constructor):
23296         * lisp/emacs-lisp/package.el (describe-package-1):
23297         * lisp/faces.el (describe-face):
23298         * lisp/help-fns.el (help-fns--key-bindings)
23299         (help-fns--compiler-macro, help-fns--parent-mode)
23300         (help-fns--obsolete, help-fns--interactive-only)
23301         (describe-function-1, describe-variable):
23302         * lisp/help.el (describe-mode):
23303         Use substitute-command-keys to ensure a more-consistent quoting
23304         style in help buffers.
23305         * lisp/cus-start.el (standard):
23306         Document new help-quote-translation behavior.
23307         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
23308         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
23309         (help-xref-url-regexp):
23310         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
23311         * lisp/wid-edit.el (widget-documentation-link-regexp):
23312         Also match 'foo', in case we're in a help buffer generated when
23313         help-quote-translation is ?'.
23314         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
23315         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
23316         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
23317         (Fsubstitute_command_keys): Document and implement new behavior.
23318         (Vhelp_quote_translation): Document new behavior.
23320 2015-06-18  Glenn Morris  <rgm@gnu.org>
23322         * lisp/cus-start.el (help-quote-translation): Add :version.
23324         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
23326 2015-06-18  Alan Mackenzie  <acm@muc.de>
23328         Make translation of quotes to curly in doc strings optional.
23329         * src/doc.c (traditional, prefer-unicode): New symbols.
23330         (help-quote-translation): New variable.
23331         (Fsubstitute_command_keys): Make translation of quotes dependent on
23332         `help-quote-translation'; also translate curly quotes back to ASCII
23333         ones.
23334         * lisp/cus-start.el (top-level): Add a customization entry for
23335         `help-quote-translation'.
23337 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
23339         * lisp/emacs-lisp/package.el: Don't always propagate async errors
23340         (package--with-work-buffer-async): Only propagate the error if the
23341         callback returns non-nil.
23342         (package--download-one-archive): Return nil on the signature
23343         checking callback if we accept unsigned.
23344         (package--download-and-read-archives): Return non-nil on the
23345         archive download callback.
23347 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
23349         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
23350         * src/nsfns.m (Fx_create_frame):
23351         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
23352         image_cache_refcount before first x_default_parameter call.
23354 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
23356         Improve and extend filepos-to-bufferpos
23357         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
23358         Don't barf if F returns nil for some argument.
23359         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
23360         that every encoding of type 'charset' is single-byte.
23362 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
23364         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
23365         Properly delete packages.  (Bug#20836)
23367 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
23369         Update data files from just-released Unicode 8.0
23370         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
23371         status.
23372         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
23373         * admin/unidata/BidiMirroring.txt:
23374         * admin/unidata/BidiBrackets.txt:
23375         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
23377 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
23379         Document curved quotes a bit better
23380         * doc/emacs/basic.texi (Inserting Text):
23381         Mention C-x 8.  Change example to use curved quote rather
23382         than infinity, as this lets us give more ways to do it.
23383         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
23384         and quotation marks.
23385         * doc/emacs/text.texi (Quotation Marks):
23386         * doc/lispref/tips.texi (Documentation Tips):
23387         Add "curly quotes" and "curved quotes" to the index.
23388         * doc/emacs/text.texi (Quotation Marks):
23389         Give the C-x 8 shorthands for curved quotes.
23390         Cross-reference to "Quotation Marks".
23392 2015-06-17  Daiki Ueno  <ueno@gnu.org>
23394         Add pinentry.el for better GnuPG integration
23395         * lisp/pinentry.el: New file.
23396         * etc/NEWS: Add entry about pinentry.el.
23397         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
23398         (Bug#20550)
23400 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
23402         * lisp/emacs-lisp/package.el: Slightly better error reporting.
23404 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
23406         (define-minor-mode): Use setq-default for :global minor modes
23407         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
23408         Use setq-default for :global minor modes (bug#20712).
23410 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
23412         Avoid infloop in redisplay with tall images
23413         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
23414         down near ZV.  (Bug#20808)
23415         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
23416         instead of CHARPOS.
23418 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
23420         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
23421         Fix error reporting.
23423         * lisp/emacs-lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
23425         * lisp/emacs-lisp/package.el: Revert buffer after any operation
23426         Call `package-menu--post-refresh' after any operation that changes
23427         the package database (`package-install' and `package-delete').  To
23428         avoid performance issues in large transactions, these functions
23429         add `post-refresh' to `post-command-hook' instead of calling it
23430         immediately.
23431         (package-menu--mark-or-notify-upgrades): New function.
23432         (list-packages): Add it to `package--post-download-archives-hook'.
23433         (package-menu--post-refresh): Lose the upgrade-checking code, add
23434         code to remove itself from `post-command-hook'.
23435         (package-install, package-delete): Add it to `post-command-hook'.
23436         (package-menu-execute): Don't call `package-menu--post-refresh'.
23438 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
23440         Add missing function xref-location-group for elisp-mode.
23441         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
23443 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
23445         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
23446         The behavior now matches the description in the manual.  (Bug#20783)
23448 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
23450         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
23452 2015-06-17  Glenn Morris  <rgm@gnu.org>
23454         Generate char-script-table from Unicode source.  (Bug#20789)
23455         * admin/unidata/Makefile.in (AWK): New, set by configure.
23456         (all): Add charscript.el.
23457         (blocks): New variable.
23458         (charscript.el, ${unidir}/charscript.el): New targets.
23459         (extraclean): Also remove generated charscript.el.
23460         * admin/unidata/blocks.awk: New script.
23461         * admin/unidata/Blocks.txt: New data file, from unicode.org.
23462         * lisp/international/characters.el: Load charscript.
23463         * src/Makefile.in (charscript): New variable.
23464         (${charscript}): New target.
23465         (${lispintdir}/characters.elc): Depend on charscript.elc.
23466         (temacs$(EXEEXT)): Depend on charscript.
23468         * lisp/international/characters.el (char-script-table): Tweak
23469         some ranges to better match the source.  (Bug#20789#17)
23471         Remove "no-byte-compile: t" from a few files.
23472         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
23473         * lisp/obsolete/patcomp.el: No reason not to compile these.
23475 2015-06-16  Glenn Morris  <rgm@gnu.org>
23477         Fix some typos in copied Unicode data.  (Bug#20789)
23478         * lisp/international/characters.el (char-script-table):
23479         * lisp/international/fontset.el (script-representative-chars)
23480         (setup-default-fontset): Fix typos.
23482         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
23483         Don't print filename twice (it's in the prefix now).
23485         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
23486         No longer needed.
23488         Address a compilation warning.
23489         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
23490         Replace 't' with '_' in pcase.
23492         Address some check-declare warnings.
23493         * lisp/simple.el (tabulated-list-print):
23494         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
23495         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
23496         (ns-get-selection): Update declarations.
23498         Address some compilation warnings.
23499         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
23500         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
23501         Replace 't' with '_' in pcase.
23503         Address some compilation warnings.
23504         * lisp/face-remap.el (text-scale-adjust):
23505         * lisp/menu-bar.el (popup-menu-normalize-position):
23506         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
23507         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
23508         * lisp/emacs-lisp/generator.el (cps--transform-1):
23509         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
23510         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
23511         * lisp/progmodes/octave.el (octave-goto-function-definition)
23512         (octave-find-definition-default-filename):
23513         Replace 't' with '_' in pcase.
23515         * lisp/emacs-lisp/pcase.el (pcase--u1):
23516         Paper-over today's bootstrap failure.
23518 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
23520         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
23522         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
23524         Better confirmation message in `find-alternate-file' (Bug#20830)
23525         * lisp/files.el (find-alternate-file'): Improve the confirmation
23526         message to show the buffer name.
23528         Better docstring for null.  (Bug#20815)
23529         * src/data.c (null): Improves the docstring, saying what null returns
23530         when OBJECT is non-nil.
23532 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
23534         * lisp/net/newst-treeview.el: Use lexical-binding.
23536         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
23537         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
23538         New auxiliary function, extracted from filepos-to-bufferpos.
23539         Make sure it terminates.
23540         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
23541         Add support for the `exact' quality.
23543 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
23545         Identify feeds in newsticker treeview with :nt-feed property
23546         * lisp/net/newst-treeview.el:
23547         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
23549 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
23551         * lisp/emacs-lisp/pcase.el: Improve docs and error handling.
23552         (pcase--self-quoting-p): Floats aren't self-quoting.
23553         (pcase): Tweak docstring.
23554         (pcase--u1): Deprecate the t pattern.  Improve error detection for
23555         the nil pattern.
23556         (\`): Tweak docstring.  Signal an error for unrecognized cases.
23557         (bug#20784)
23559 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
23561         Fix infloop in filepos-to-bufferpos
23562         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
23563         offset calculation, and make it conditional on the eol-type of the
23564         file's encoding.  (Bug#20825)
23566 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
23568         Fix handling of image cache refcounts.  (Bug#20802)
23569         This backports Eli Zaretskii's solution of this problem for W32
23570         to X and NS.
23571         * src/nsfns.m (image_cache_refcount): Define unconditionally.
23572         (unwind_create_frame): If the image cache's reference count
23573         hasn't been updated yet, do that now.
23574         (Fx_create_frame): Set image_cache_refcount unconditionally.
23575         * src/xfns.c (image_cache_refcount): Define unconditionally.
23576         (unwind_create_frame): If the image cache's reference count
23577         hasn't been updated yet, do that now.
23578         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
23579         unconditionally.
23580         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
23581         X and NS.
23583 2015-06-16  Nils Ackermann  <nils@ackermath.info>
23585         Improve reftex-label-regexps default value
23586         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
23587         keyvals label regexp more strict to better cope with unbalanced
23588         brackets common in math documents.
23590 2015-06-16  Glenn Morris  <rgm@gnu.org>
23592         * doc/emacs/calendar.texi (Format of Diary File):
23593         Move "nonmarking" from here...
23594         (Displaying the Diary): ... to here.
23596         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
23597         Swap the order of these nodes.
23598         * doc/emacs/emacs.texi: Update detailed menu for the above change.
23600         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
23601         Update date of examples.
23602         (Diary, Format of Diary File): Move example from former to latter.
23603         Reduce duplication.
23605         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
23606         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
23607         Don't set no-byte-compile in the outputs.
23608         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
23610 2015-06-15  Glenn Morris  <rgm@gnu.org>
23612         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
23613         * doc/emacs/calendar.texi (Diary, Format of Diary File):
23614         Update for above diary-file change.
23616         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
23617         (apply-macro-to-region-lines): Use user-error.
23619         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
23620         (pages-directory-for-addresses): Doc fixes.
23622 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
23624         * lisp/info.el: Cleanup bytepos/charpos issues
23625         * lisp/international/mule-util.el: Use lexical-binding.
23626         (filepos-to-bufferpos): New function.
23627         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
23628         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
23629         (Info-read-subfile, Info-search): Use 0-based file positions.
23631         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
23632         (perl--syntax-exp-intro-keywords): New var.
23633         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
23634         (bug#20800).
23636 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
23638         Fix quoting when making derived mode docstring
23639         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
23640         Nest regexp-quote inside format, not the reverse.
23641         Problem reported by Artur Malabarba in:
23642         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
23644 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
23646         Fix current-iso639-language on MS-Windows
23647         * lisp/international/mule-cmds.el (set-locale-environment):
23648         Downcase the locale name before interning it.  This is so the
23649         'current-iso639-language' on MS-Windows matches the ':lang'
23650         property of font-spec objects.
23652         Limit Symbola usage some more
23653         * lisp/international/fontset.el (setup-default-fontset): Limit
23654         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
23655         (Bug#20727)
23657 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
23659         * lisp/emacs-lisp/map.el (map-let): Better docstring.
23661 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
23663         * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f):
23664         (help-fns-test-funny-names): Spelling fixes.
23666 2015-06-14  Glenn Morris  <rgm@gnu.org>
23668         * lisp/version.el (emacs-repository-version-git): Demote errors.
23669         Check result is a hash.
23671 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
23673         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
23674         Catch errors that happen before going async.  (Bug#20809)
23676 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
23678         Another improvement of documentation of set-fontset-font
23679         * doc/lispref/display.texi (Fontsets): Say explicitly that
23680         CHARACTER can be a single codepoint.
23681         * src/fontset.c (Fset_fontset_font): Doc fix.
23683         Another improvement for symbol and punctuation characters
23684         * lisp/international/fontset.el (setup-default-fontset): Exclude
23685         from Symbola character ranges for symbols and punctuation covered
23686         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
23687         installed and where its coverage of symbols and punctuation is
23688         known to be good.  (Bug#20727)
23690 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
23692         Some generic support for multi-mode indentation.
23693         * lisp/progmodes/prog-mode.el (prog-indentation-context):
23694         New variable.
23695         (prog-first-column, prog-widen): New convenience functions.
23697 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
23699         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
23700         Don't assume that `tabulated-list-printer' will leave point at the
23701         end of the buffer.  (Bug#20810)
23703 2015-06-13  Glenn Morris  <rgm@gnu.org>
23705         Tweaks for getting repository version; a bit more like it was for bzr
23706         * lisp/version.el (emacs-repository-version-git)
23707         (emacs-repository--version-git-1): New functions,
23708         split from emacs-repository-get-version.
23709         (emacs-repository-get-version): Make the second argument meaningful.
23711         * lisp/startup.el (command-line-1): Inform if skipping relative
23712         file names due to deleted PWD.
23714         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
23715         when starup directory is missing.  (Bug#18851)
23716         (errno.h): Include it.
23718 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
23720         Better fix for documenting `X as "`X"
23721         Fix suggested by Stefan Monnier.
23722         * lisp/help-fns.el (help-fns--signature):
23723         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
23724         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
23725         Don't treat `X specially, as help-fns--signature now handles this.
23727 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
23729         Improve the default fontset when Symbola is not installed
23730         * lisp/international/fontset.el (setup-default-fontset): Only
23731         prepend Symbola and FreeMono font specs for symbols and
23732         punctuation; do not replace the default spec for them.  This
23733         should have better results when Symbola/FreeMono are not
23734         installed.  (Bug#20727)
23736         Improve documentation of ':lang' in font specs
23737         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
23738         use of the ':lang' property of the font spec.
23739         * doc/emacs/frames.texi (Fonts): Document the language names that
23740         can be in the STYLE part of XLFD.
23741         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
23742         property.
23744         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
23746         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
23748         Revert last change in fontset.el
23749         * lisp/international/fontset.el (setup-default-fontset): Revert
23750         the change "Configure Symbola font only if installed", since font
23751         search is evidently not yet set up when this function is called.
23752         (Bug#20727)
23754 2015-06-12  Glenn Morris  <rgm@gnu.org>
23756         Ensure early startup warnings are visible at the end.  (Bug#20792)
23757         * lisp/emacs-lisp/warnings.el (display-warning):
23758         If startup isn't complete, delay the warning.
23759         * lisp/startup.el (normal-top-level, command-line):
23760         Let display-warning automatically handle the needed delays.
23761         Run delayed-warnings-hook.
23763         * lisp/version.el (emacs-repository-get-version):
23764         Avoid calling external executable if possible.  (Bug#20799)
23766 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
23768         Document `X as "`X", not as "(` X)"
23769         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
23770         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
23772         * src/print.c (print_object): Minor simplification.
23774 2015-06-12  Glenn Morris  <rgm@gnu.org>
23776         * src/buffer.c (init_buffer): Add final newline to message.
23778 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
23780         Configure Symbola font only if installed
23781         * lisp/international/fontset.el (setup-default-fontset):
23782         Don't specify the Symbola font if it's not installed.
23783         Likewise for FreeMono.  (Bug#20727)
23785 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
23787         Configure Symbola font only for symbols and punctuation
23788         * lisp/international/fontset.el (setup-default-fontset): Leave
23789         only symbols and punctuation in the fontset setup for Symbola
23790         font; remove "Greek and Coptic" and "Cyrillic Supplement".
23791         (Bug#20798)
23793 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
23795         Fix crash in fontset-info
23796         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
23797         non-nil.
23799 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
23801         Port to Solaris 10 sparc + Sun C 5.13
23802         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
23803         Adjust to process.c change.
23804         * src/process.c (create_process): Declare volatile variables at
23805         top level of this function, so that they're less likely to be
23806         reused later in the function in the code executed by the vforked
23807         child.  Do not declare locals used only in the vforked child, as
23808         they might share memory with locals still live in the parent.
23809         Instead, use the same variables in the child as in the parent.
23810         This works around a subtle bug that causes a garbage collector
23811         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
23813 2015-06-12  Glenn Morris  <rgm@gnu.org>
23815         * lisp/startup.el (normal-top-level): Don't let *Messages* get
23816         a nil default-directory.
23818 2015-06-11  Glenn Morris  <rgm@gnu.org>
23820         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
23822         Some progress towards starting with PWD deleted.  (Bug#18851)
23823         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
23824         * lisp/startup.el (normal-top-level, command-line-1):
23825         * lisp/minibuffer.el (read-file-name-default):
23826         Handle default-directory being nil.
23828 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
23830         Fix "not a tty" bug on Solaris 10
23831         * configure.ac (PTY_OPEN): Define to plain 'open'
23832         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
23833         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
23834         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
23835         hosts that call grantpt which does its work via a setuid subcommand
23836         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
23837         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
23838         seems relevant in that case too.
23840 2015-06-11  Juri Linkov  <juri@linkov.net>
23842         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
23843         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
23844         (Bug#20785)
23846 2015-06-11  Glenn Morris  <rgm@gnu.org>
23848         * lisp/international/characters.el (char-script-table): Fix typo.
23850 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
23852         Fix quoting of help for functions with odd names
23853         While investigating Bug#20759, I discovered other quoting problems:
23854         C-h f mishandled characters like backslash and quote in function names.
23855         This fix changes the behavior so that 'C-h f pcase RET' now
23856         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
23857         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
23858         in src/lread.c's read1 function says that the backslash will be
23859         needed starting in Emacs 25, which implies that 'format' is
23860         correct and the old pcase documention was wrong to omit the backslash.
23861         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
23862         * lisp/help-fns.el (help-fns--signature):
23863         * lisp/help.el (help-add-fundoc-usage):
23864         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
23865         Use help--make-usage-docstring rather than formatting
23866         help-make-usage.
23867         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
23868         Return raw docstring.
23869         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
23870         raw docstring.  Take more care to distinguish raw from cooked dstrings.
23871         (describe-function-1): Let help-fns--signature substitute
23872         command keys.
23873         * lisp/help.el (help--docstring-quote): New function.
23874         (help-split-fundoc): Use it, to quote funny characters more
23875         systematically.
23876         (help--make-usage): Rename from help-make-usage, since this
23877         should be private.  Leave an obsolete alias for the old name.
23878         (help--make-usage-docstring): New function.
23879         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
23881 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
23883         * lisp/thingatpt.el (in-string-p): Revert last change,
23884         since in-string-p is not used in thingatpt.el but only from outside.
23885         Also, use lexical binding.
23887 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
23889         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
23890         * test/automated/let-alist.el (let-alist-cons): Test it.
23892 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
23894         * src/syntax.c (Fbackward_prefix_chars): Reword docstring.
23896 2015-06-10  Glenn Morris  <rgm@gnu.org>
23898         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
23900         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
23901         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
23902         * admin/gitmerge.el (gitmerge-commit-message):
23903         Exclude "skipped" messages from ChangeLog once again.
23905         Slight namespace cleanup for thingatpt.el.
23906         * lisp/thingatpt.el (thing-at-point--in-string-p)
23907         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
23908         (thing-at-point--read-from-whole-string): Rename from
23909         old versions without "thing-at-point--" prefix.
23910         Keep old versions as obsolete aliases.  Update all uses.
23912         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
23913         Move requiring of finder from here...
23914         (checkdoc-package-keywords): ... to here.
23916         Use 'user-error' in a few calendar files.
23917         * lisp/calendar/appt.el (appt-add):
23918         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
23919         (calendar-generate):
23920         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
23921         Replace 'error' with 'user-error'.
23923         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
23925         * lisp/files-x.el (add-file-local-variable):
23926         Special-case 'lexical-binding'.  (Bug#20641)
23928         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
23929         No longer autoload.
23930         * doc/misc/autotype.texi (Executables):
23931         Undocument executable-self-display.
23933         * lisp/progmodes/executable.el (executable-self-display):
23934         Use non-obsolete tail syntax.  (Bug#20779)
23935         (executable-self-display): Doc update.
23937 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
23939         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
23940         (finder-known-keywords): Silence byte-compiler.
23942 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
23944         * lisp/simple.el (eval-expression): Macroexpand before evaluating
23945         (bug#20730).
23947         * lisp/progmodes/sh-script.el: Better handle nested quotes.
23948         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
23949         (sh-font-lock-quoted-subshell): Make sure double quotes within single
23950         quotes don't mistakenly end prematurely the surrounding string.
23952         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
23954 2015-06-09  Glenn Morris  <rgm@gnu.org>
23956         * test/automated/Makefile.in (ELFILES): Sort.
23958         * Makefile.in (SUBDIR_MAKEFILES):
23959         * lwlib/Makefile.in (WARN_CFLAGS):
23960         Use built-in Make functions rather than echo+sed.
23962 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
23964         Update char-script-table
23965         * lisp/international/characters.el (char-script-table): Update
23966         from Unicode 8.0 Draft.
23968         Improve font selection for punctuation and other symbols
23969         * src/fontset.c (face_for_char): If the character's script is
23970         'symbol', and the font used for ASCII face has a glyph for it, use
23971         the font for the ASCII face instead of searching the fontsets.
23972         This comes instead of NS-specific code that used the current
23973         face's font instead, which is now disabled due to undesirable
23974         consequences.  (Bug#20727)
23976 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
23978         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
23979         Skip past `#' to find BEG (bug#20771).
23980         * test/automated/elisp-mode-tests.el
23981         (elisp-completes-functions-after-hash-quote): New test.
23983 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
23985         Fix compilation warning/error in --without-x builds
23986         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
23987         code on HAVE_WINDOW_SYSTEM.
23989         Improve the default fontset wrt symbols
23990         * lisp/international/fontset.el (setup-default-fontset): Better
23991         setup of fontset-default for symbols: use Symbola and FreeMono.
23992         (Bug#20727)
23994 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
23996         Add new command checkdoc-package-keywords
23997         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
23998         New defcustom.
23999         (checkdoc-list-of-strings-p): Add doc.
24000         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
24001         non-nil, call `checkdoc-package-keywords'.
24002         (checkdoc-get-keywords): New defun.
24003         (checkdoc-package-keywords): New command.  Warns if the current file
24004         has package.el-style keywords that aren't in `finder-known-keywords'.
24005         * etc/NEWS: Add entry.
24007 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
24009         Avoid crashes when key-binding is called from a timer
24010         * src/keymap.c (Fkey_binding): Don't segfault if called with an
24011         empty vector as KEY.  (Bug#20705)
24013         Fix a thinko in arc-mode.el
24014         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
24015         non-Zip64 case.  (Bug#20769)
24017 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
24019         * lisp/emacs-lisp/package.el (package-delete): Make interactive.
24021 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
24023         * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function.
24024         (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to
24025         "*warn*", print the warning to the standard output.  (bug#20754)
24027 2015-06-07  Glenn Morris  <rgm@gnu.org>
24029         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
24031         * src/font.c (syms_of_font) <font-log>: Doc fix.
24033         Remove the obsolete leading "*" from some C doc strings.
24034         * src/coding.c (syms_of_coding):
24035         * src/font.c (syms_of_font): Remove leading "*" from docs.
24036         * lisp/cus-start.el (enable-character-translation): Add it.
24038 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
24040         Move gen_origin from program to data
24041         That way, 'make change-history' needs to change only ChangeLog.2,
24042         instead of having to change two files.
24043         * ChangeLog.2: Add commit info for range that this file covers.
24044         * Makefile.in (new_commit_regexp): New macro.
24045         (change-history-nocommit): Simplify, by putting what used to be
24046         the gen_origin value into the data (ChangeLog.2) rather than
24047         into the program (gitlog-to-emacslog).
24048         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
24049         the input file (e.g., ChangeLog.2) rather than by having a
24050         constant in the program.  Substitute it into the output.
24052 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
24054         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
24055         function name (bug#20759).
24057 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
24059         Adapt 'struct timespec' to next release of MinGW runtime
24060         * nt/inc/ms-w32.h (struct timespec): Don't declare if
24061         __struct_timespec_defined is defined.
24063 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
24065         Merge from gnulib
24066         This incorporates:
24067         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
24068         2015-06-05 stdio: Don't redefine gets when using C++
24069         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
24070         2015-06-02 file-has-acl: fix build on Mac OS X 10
24071         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
24072         2015-06-01 pthread_sigmask: discount system version if a simple macro
24073         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
24074         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
24075         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
24076         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
24077         * lib/gnulib.mk: Regenerate.
24079 2015-06-06  Juri Linkov  <juri@linkov.net>
24081         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
24082         before calling grep-compute-defaults because now it affects the
24083         command lines computed in grep-compute-defaults.  (Bug#20728)
24085 2015-06-06  Glenn Morris  <rgm@gnu.org>
24087         Address some compilation warnings.
24088         * lisp/international/mule-cmds.el (w32-get-console-codepage)
24089         (w32-get-console-output-codepage):
24090         * lisp/progmodes/elisp-mode.el (xref-collect-references):
24091         * lisp/version.el (cairo-version-string): Declare.
24092         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
24094 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
24096         Fix display when a font claims large values of ascent and descent
24097         This fixes bug#20628.
24098         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
24099         coordinate of a hollow cursor glyph when the original glyph's
24100         ascent is too small.
24101         (get_font_ascent_descent, normal_char_ascent_descent)
24102         (normal_char_height): New functions.
24103         (handle_single_display_spec, append_space_for_newline)
24104         (calc_pixel_width_or_height, produce_stretch_glyph)
24105         (calc_line_height_property): Use normal_char_ascent_descent and
24106         normal_char_height.
24107         (x_produce_glyphs): When font-global values of ascent and descent
24108         are too large, use per-character glyph metrics instead, if
24109         possible.  But don't allow the glyph row's ascent and descent
24110         values become smaller than the values from the metrics of the
24111         font's "normal" character.
24112         * src/xftfont.c (xftfont_draw):
24113         * src/w32font.c (w32font_draw): Correct the values of ascent and
24114         descent used to draw glyphless characters' hex code in a box.
24115         * src/xterm.c (x_draw_glyph_string_background):
24116         * src/xdisp.c (x_produce_glyphs):
24117         * src/w32term.c (x_draw_glyph_string_background):
24118         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
24119         to detect fonts whose global ascent and descent values are too
24120         large to be used in layout decision, and redraw the background
24121         when that happens.
24122         * src/dispextern.h (FONT_TOO_HIGH): New macro.
24123         (get_font_ascent_descent): Add prototype.
24124         * src/xterm.c (x_new_font):
24125         * src/w32term.c (x_new_font):
24126         * src/nsterm.m (x_new_font):
24127         * src/font.c (font_open_entity):
24128         * src/composite.c (composition_gstring_width):
24129         Use get_font_ascent_descent to obtain reasonable values for ascent
24130         and descent of a font.
24132 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
24134         Add assertion in adjust_point_for_property
24135         * src/keyboard.c (adjust_point_for_property): Add eassert for
24136         current buffer being shown in selected window.
24138 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
24140         Replace uses of in-string-p; make it obsolete
24141         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
24142         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
24144 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
24146         Fix Dired display of an explicit list of files by ls-lisp.el
24147         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
24148         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
24149         correct for when displaying individual files separately, not as
24150         part of listing a directory, in which case these values are not
24151         recomputed by 'ls-lisp-insert-directory', but used verbatim.
24153         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
24155 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
24157         Do not adjust point in a non-selected window
24158         * src/keyboard.c (command_loop_1): Do not adjust point when
24159         current buffer is not shown in selected window (Bug#20590).
24161         * etc/DEBUG: Mention 'maybe_call_debugger'
24163 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
24165         Fix a unit test for map.el
24166         * test/automated/map-tests.el (test-map-let): Fix the test to work
24167         with the new syntax of `map-let'.
24169         * lisp/emacs-lisp/map.el (map-let): Better docstring.
24171         Better syntax for the map pcase pattern
24172         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
24173         bindings of the form (KEY PAT) or SYMBOL.  KEY is not quoted.
24175         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
24177         Fix a byte-compiler error in map-put and map-delete
24178         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
24179         called with a symbol.
24181 2015-06-05  Glenn Morris  <rgm@gnu.org>
24183         * admin/gitmerge.el (gitmerge-commit-message):
24184         Revert to including "skipped" messages in ChangeLog once again.
24186 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
24188         Use string> instead of equiv lambda with string<
24189         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
24190         lambda with string<.
24192 2015-06-05  Glenn Morris  <rgm@gnu.org>
24194         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
24195         (map--delete-array): Fix typo.
24197         * test/automated/map-tests.el: Replace "assert" with "should".
24199         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
24200         (SUBDIRS_REL): Derive from SUBDIRS.
24202         Tweak some build messages.
24203         * lisp/Makefile.in ($(lisp)/loaddefs.el):
24204         * lisp/cus-dep.el (custom-make-dependencies):
24205         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
24206         * lisp/international/titdic-cnv.el (batch-titdic-convert):
24207         Don't say how to compile.
24209 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
24211         Omit U+0332 COMBINING LOW LINE in previous change
24212         It turns out that it does not work on Ubuntu 15.04.
24214         Fix transliteration of Bahá'í months
24215         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
24216         Improve quality of Latin transliteration of Bahá'í month names.
24218         Fix curved quotes in a few places
24219         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
24220         The strings in question are not doc strings, so this partially
24221         undoes the recent change that assumed they were doc strings.
24222         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
24223         * lisp/info.el (Info-finder-find-node):
24224         Use curved quotes.
24225         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
24226         Also allow curved quotes in doc strings.
24228 2015-06-04  Glenn Morris  <rgm@gnu.org>
24230         * lisp/Makefile.in (AM_V_at): Add missing definition.
24232         * lisp/Makefile.in: Quieten output a bit.
24233         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
24234         Don't echo directories, since the commands we invoke print them.
24236         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
24237         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
24238         (SUBDIRS_SUBDIRS): New variables.
24239         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
24240         Remove.
24241         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
24242         (update-subdirs, compile-main, compile-clean):
24243         Replace "setwins" usage with new "SUBDIRS" variables.
24245         * lisp/vc/compare-w.el (compare-windows-get-window-function):
24246         Fix :version tag.
24248 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
24250         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
24252         Undo removal of x_clear_area call on expose for GTK3 or cairo
24253         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]:
24254         Clear exposed area.  (Bug#20677)
24256 2015-06-04  Glenn Morris  <rgm@gnu.org>
24258         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
24260         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
24262         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
24263         Rename from quail-lao-update-translation, since lao.el defines that.
24265 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
24267         Handle new-style advice in find-funct
24268         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
24269         Handle new-style advice.  Return the symbol's function definition.
24270         (Bug#20718)
24271         (find-function-library): Update accordingly.
24273 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
24275         Merge branch 'map'
24277         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
24279         Add new function string-greaterp
24280         * lisp/subr.el (string-greaterp): New function.  Also aliased to
24281         `string>'.
24282         * test/automated/subr-tests.el (string-comparison-test): Add unit
24283         tests for `string>'and `string<'.
24284         * src/fns.c (string-lessp): Better docstring.
24286 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
24288         Fix timezone-related functions on MS-Windows
24289         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
24290         'xputenv', even if no reallocation of tzvalbuf was necessary.
24291         This fixes a bug in timezone-related functions on MS-Windows.
24292         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
24294 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
24296         Don't pass raw directory name to 'error'
24297         * lisp/files.el (basic-save-buffer-2): Avoid format error if
24298         a directory name contains a string like "%s".
24300 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
24302         Override 'grep --color=always'
24303         * lisp/progmodes/xref.el (xref-collect-matches):
24304         Override --color=always in grep-find-template.
24306 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
24308         Fix error introduced recently in file-notify-tests.el
24309         * test/automated/file-notify-tests.el
24310         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
24311         (file-notify--deftest-remote): Revert previous patch, not
24312         necessary anymore.
24314 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
24316         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
24317         Starting from a display string after a newline, point went to the
24318         previous line.  Also, fix an inadvertent use of a buffer position
24319         with FETCH_BYTE.  (Bug#20701)
24321 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
24323         Instrument file-notify-test.el in order to catch hydra error
24324         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
24325         Wrap body by `ignore-case', in order to trap non-local errors.
24327 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
24329         Undo previous changes in non-toolkit scroll bar drawing
24330         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
24331         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
24333 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
24335         * .gitignore: Also ignore doc/*/*/*.html and .ps.
24337         Support quotes 'like this' in info files
24338         This is possible when 'makeinfo --disable-encoding' is used
24339         in Texinfo 5.
24340         * lisp/calc/calc-help.el (calc-describe-thing):
24341         * lisp/gnus/gnus-art.el (gnus-button-alist):
24342         * lisp/info.el (Info-find-index-name):
24343         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
24344         Also support quotes 'like this'.
24345         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
24346         * lisp/finder.el (finder-font-lock-keywords): Remove var that
24347         hasn't been used in years, instead of bothering to fix its quoting.
24349 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24351         * .gitignore: Remove !test/etags/html-src/*.html.
24352         It's no longer needed, since *.html was removed.  Sort.
24354 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
24356         Restore <D> instead of '.' in grep-find-template
24357         * lisp/cedet/semantic/symref/grep.el
24358         (semantic-symref-grep-use-template): Update a comment.
24359         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
24360         instead of '.' in grep-find-template (bug#20719).
24361         (rgrep): Pass nil as the directory to rgrep-default-command.
24362         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
24363         default value for DIR.
24364         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
24365         workaround.
24367 2015-06-02  Glenn Morris  <rgm@gnu.org>
24369         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
24371         * configure.ac (emacs_config_features): Add Cairo.
24373         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
24375 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
24377         Ensure that autorevert works for remote files in file-notify-tests.el
24378         * test/automated/file-notify-tests.el (file-notify--test-desc):
24379         New defvar.
24380         (file-notify--test-remote-enabled)
24381         (file-notify-test00-availability, file-notify-test01-add-watch)
24382         (file-notify-test02-events): Use it.
24383         (file-notify--test-event-test): Check proper descriptor.
24384         (file-notify-test03-autorevert): Ensure that
24385         `visited-file-modtime' has changed.  (Bug#20392)
24387 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
24389         Add a pcase pattern for maps and `map-let' based on it
24390         * lisp/emacs-lisp/map.el (map-let): New macro.
24391         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
24392         * test/automated/map-tests.el: New test for `map-let'.
24394 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
24396         Reuse rgrep mechanics in xref-find-regexp
24397         * lisp/progmodes/grep.el (rgrep-default-command):
24398         Extract from `rgrep'.
24399         * lisp/progmodes/xref.el (xref-collect-references): Split from
24400         `xref-collect-matches'.  Only handle the case of symbol search.
24401         (xref-collect-matches): Instead of Semantic Symref, use
24402         `rgrep-default-command', to take advantage of its directory and
24403         file ignore settings.
24404         (xref--collect-match): Remove the last argument, leaving the
24405         regexp construction up to the caller.
24406         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
24407         Change to take the xref-collect- function to use as an argument.
24408         (elisp-xref-find): Update accordingly.
24409         * lisp/progmodes/etags.el (etags--xref-find-matches)
24410         (etags-xref-find): Same.
24412         Move xref-elisp-location to elisp-mode.el
24413         * lisp/progmodes/xref.el (xref-elisp-location)
24414         (xref-make-elisp-location, xref-location-marker): Remove here.
24415         (xref--xref): Don't limit the type of the location slot.
24416         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
24417         Define as a cl-struct here.
24418         (xref-location-marker): Move here.
24420 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
24422         Minor tweaks for .gitignore
24423         * .gitignore: Don't ignore versioned *.html and *.ps files.
24424         Don't ignore admin/notes/tags that might be ignored as TAGS
24425         on case-insensitive filesystems.  (Bug#20710)
24427 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24429         Generate curved quotes in ert doc
24430         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
24431         (ert-results-mode-menu)
24432         (ert-results-pop-to-backtrace-for-test-at-point)
24433         (ert-results-pop-to-messages-for-test-at-point)
24434         (ert-results-pop-to-should-forms-for-test-at-point)
24435         (ert-describe-test):
24436         Quote ‘like this’, not `like this', when generating doc strings
24437         and the like.
24438         * test/automated/ert-x-tests.el (ert-test-describe-test):
24439         Allow quoting ‘like this’.
24441 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
24443         Add test for previous commit
24444         * test/automated/replace-tests.el: New file.
24445         (query-replace--split-string-tests): Add test for previous commit.
24447         Avoid confusion in query-replace history when replacing NUL chars
24448         * lisp/replace.el (query-replace--split-string): New function.
24449         (query-replace-read-from): Rely on the 'separator' property
24450         instead of searching for the NUL character (Bug#20690).
24452 2015-06-02  Glenn Morris  <rgm@gnu.org>
24454         Merge from origin/emacs-24
24455         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
24457         * admin/gitmerge.el (gitmerge-commit-message):
24458         Exclude "skipped" messages from ChangeLog.
24460 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
24462         Sync with Tramp repository
24463         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
24464         messages.
24465         (tramp-handle-make-auto-save-file-name): When calling
24466         `make-auto-save-file-name' internally, make sure it uses Unix-like
24467         behavior, not Windows-like behavior.
24468         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
24469         the local case, because "chown" might fail on w32.
24470         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
24471         for XEmacs.
24473 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
24475         MS-Windows followup for batch stdout/stderr output changes
24476         * lisp/international/mule-cmds.el (set-locale-environment):
24477         In batch mode, use console codepages for keyboard and terminal
24478         encoding.  (Bug#20545)
24480         Update .gitattributes for DOS EOL files
24481         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
24482         CRLF end-of-line format.
24484         NS equivalents of xterm.c and w32term.c changes
24485         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
24486         glyph string background also when the font in use claims
24487         preposterously large global height value.  Helps to remove
24488         artifacts left from previous displays when glyphless characters
24489         are displayed as hex code in a box.
24490         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
24491         value for FRAME_LINE_HEIGHT, even when a font claims very large
24492         value for its height.
24494 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
24496         Avoid grave accent quoting in stderr diagnostics
24497         A few Emacs diagnostics go directly to stderr, and so can't easily
24498         contain curved quotes (as non-UTF-8 locales might mishandle them).
24499         Instead of bothering to add support for this rarity, reword the
24500         diagnostics so that they don't use grave accent to quote.
24501         * src/alloc.c (mark_memory): Fix comment.
24502         * src/buffer.c (init_buffer):
24503         * src/dispnew.c (init_display):
24504         * src/emacs.c (main, sort_args):
24505         * src/lread.c (dir_warning):
24506         * src/term.c (init_tty):
24507         * src/unexmacosx.c (unexec):
24508         * src/xfns.c (select_visual):
24509         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
24510         Reword stderr diagnostics to avoid quoting `like this'.
24511         * src/unexmacosx.c: Include errno.h.
24512         * src/xfns.c (select_visual): Encode value for locale.
24514 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
24516         Treat batch stdout/stderr like standard display
24517         Calls like (print FOO) could generate improperly encoded or
24518         hard-to-read output if FOO contains characters outside the system
24519         locale.  Fix this by treating batch stdout and stderr like
24520         interactive standard display, when it comes to transliterating and
24521         encoding characters (Bug#20545).
24522         * doc/emacs/mule.texi (Communication Coding):
24523         * doc/lispref/display.texi (Active Display Table):
24524         * doc/lispref/nonascii.texi (Locales):
24525         * etc/NEWS:
24526         * src/coding.c (syms_of_coding):
24527         * src/dispnew.c (syms_of_display):
24528         Document this.
24529         * src/print.c: Include disptab.h.
24530         (printchar_to_stream): New function, with much of the guts of the
24531         old Fexternal_debugging_output, except this one also uses the
24532         standard display table.
24533         (printchar, strout, Fexternal_debugging_output): Use it.
24535 2015-05-31  Glenn Morris  <rgm@gnu.org>
24537         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
24539 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
24541         Remove DEFSYMs that aren't used at the C level.  Also:
24542         * src/decompress.c (Qzlib_dll):
24543         * src/font.c (Qunicode_sip):
24544         * src/frame.c (Qtip_frame):
24545         * src/ftfont.c (Qserif):
24546         * src/gnutls.c (Qgnutls_dll):
24547         * src/xml.c (Qlibxml2_dll):
24548         Move from here ...
24549         * src/w32fns.c (syms_of_w32fns): ... to here,
24550         as these are used only on MS-Windows.
24552 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
24554         Use another default value for tramp-histfile-override
24555         * lisp/net/tramp-sh.el (tramp-histfile-override):
24556         Use ".tramp_history" as default.
24557         Fixes bug#20446
24559 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
24561         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
24563 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
24565         * etc/NEWS: Add an entry about map.el.
24567         Improve the docstring of functions in map.el
24568         Since a map is not a data structure but a concept, adding information
24569         about the possible types of maps can be useful information.
24570         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
24571         each public function.
24573 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
24575         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
24576         specific tests depending on the type of the map.
24578         * lisp/emacs-lisp/map.el: Better docstrings.
24580 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
24582         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda.
24584 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
24586         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
24588         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
24590         Fix a false negative in `map-elt' with alists and values being nil
24591         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
24592         found but its associated value is nil, do not return the default
24593         value.
24594         * test/automated/map-tests.el: Add a regression test.
24596 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
24598         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
24600         Do not signal an error when trying to delete a key from an array
24601         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
24602         the key is present to avoid signaling an error.
24603         * test/automated/map-tests.el: Add a test for deleting non-existing
24604         keys from maps.
24606         * lisp/emacs-lisp/map.el: Better docstring.
24608         Minor improvement in map-elt
24609         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
24610         doing a lookup in arrays, but check the boundaries of the array
24611         instead.
24612         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
24613         and a negative integer as key.
24615 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
24617         * test/automated/map-tests.el: Refactoring of test methods.
24619         * test/automated/map-tests.el: Renamed from map-test.el.
24621 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
24623         * lisp/emacs-lisp/map.el (map-into): Better error message.
24625         * lisp/emacs-lisp/map.el: Remove byte-compilation warnings.
24627         Throw an error when converting a map into an unknown map type
24628         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
24629         not valid.
24630         * test/automated/map-tests.el: Add a regression test.
24632         New library map.el similar to seq.el but for mapping data structures.
24633         * test/automated/map-tests.el: New file.
24634         * lisp/emacs-lisp/map.el: New file.
24636 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
24638         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
24639         there's no explicit tag name (bug#20629).
24641 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
24643         Remove format2
24644         * src/editfns.c, src/lisp.h (format2): Remove.
24645         It is more trouble than it's worth, now that we have CALLN.
24646         This is just a minor refactoring.
24647         * src/buffer.c (Fkill_buffer):
24648         * src/dbusbind.c (XD_OBJECT_TO_STRING):
24649         * src/fileio.c (barf_or_query_if_file_exists):
24650         Adjust to format2 going away.
24652         Don't misencode C-generated messages
24653         Also, be more consistent about calls to 'Fmessage' vs 'message'.
24654         * src/alloc.c (Fgc_status):
24655         Prefer AUTO_STRING to build_string for Fmessage call.
24656         * src/data.c (Fmake_variable_buffer_local)
24657         (Fmake_local_variable, Fmake_variable_frame_local):
24658         * src/doc.c (store_function_docstring):
24659         Use Fmessage, not message, since the argument can contain
24660         non-ASCII characters, and this can cause the resulting message
24661         to be incorrectly encoded for the current environment.
24662         * src/fns.c (maybe_resize_hash_table):
24663         * src/xselect.c (x_clipboard_manager_save_all):
24664         Use message, not Fmessage, since Fmessage's power isn't needed here.
24665         * src/process.c (Fmake_network_process): Reword message to avoid %s.
24666         * src/xdisp.c (vmessage): Document restrictions on message contents.
24667         (message_nolog) [false]: Remove unused code.
24669         Use \r rather than ^M in string literals
24670         This is less likely to cause problems on platforms that
24671         use CRLF (or CR!) termination for lines.
24673         Update .gitattributes to match current sources
24674         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
24675         * .gitattributes: Accommodate tests that insist on DOS format.
24676         Remove test/automated/data/decompress/foo-gzipped.
24677         Add etc/e/eterm-color.
24679 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
24681         * doc/emacs/mule.texi (Modifying Fontsets):
24682         Document face-ignored-fonts.  (Bug#20628)
24684         Add etags test for the new -Q option
24685         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
24686         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
24687         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
24688         test-case changes below.
24689         * test/etags/ETAGS.good_6: New file.
24690         * test/etags/cp-src/x.cc: New file.
24691         * test/etags/Makefile (CPSRC): Add x.cc.
24692         (check): Add one more test, for -Q.
24694 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
24696         Use list for the tags completion table, not obarray
24697         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
24698         list instead of an obarray
24699         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
24700         (tags-completion-table): Combine those lists.
24701         (tags-completion-table): Update the docstring.
24703 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
24705         Restore EOL format testing in etags
24706         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
24707         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
24708         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
24709         test-case changes below.
24710         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
24711         * test/etags/cp-src/c.C (B): Add back stray CR character.
24712         * test/etags/c-src/dostorture.c: Add back.
24713         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
24715 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
24717         Declare Emacs on MS-Windows to be DPI-aware
24718         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
24719         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
24720         This avoids Windows entering compatibility mode for Emacs,
24721         which causes fonts to look less nice.
24723 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
24725         Improve Tramp traces
24726         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
24727         * lisp/net/tramp.el (tramp-debug-message): Use it.
24729 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
24731         backup-buffer minor reworking of internals
24732         * lisp/files.el (backup-buffer): Rework to avoid a couple of
24733         unused locals inadvertently introduced in the previous change.
24735         backup-buffer now reports .emacs.d/%backup% ills
24736         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
24737         fails due to disk space exhaustion or whatever, do not pretend
24738         that it succeeded.  More generally, do a better job of checking
24739         for I/O failures, and limit the scope of the condition-case to
24740         just the operations where file errors should be caught and ignored
24741         (Bug#20595).  Also, don't bother trying to delete later backups if
24742         an earlier deletion fails, as this is a sign of trouble and it's
24743         better to stop when there's trouble.
24745         copy-file now truncates output after writing
24746         * src/fileio.c (Fcopy_file): Truncate output after writing rather
24747         than before.  This is more likely to work than truncation before
24748         writing, if the file system is out of space or the user is over
24749         disk quota (Bug#20595).  Also, check for read errors.
24751 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
24753         * lisp/emacs-lisp/package.el (package-load-all-descriptors):
24754         Don't load descriptors from directories above the package directories.
24756 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
24758         Merge from gnulib
24759         This incorporates the following (Bug#20681):
24760         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
24761         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
24762         * lib/set-permissions.c: Copy from gnulib.
24764 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
24766         Improve Tramp traces
24767         * lisp/net/tramp.el (tramp-call-process-region): New defun.
24768         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
24770 2015-05-29  Glenn Morris  <rgm@gnu.org>
24772         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
24774 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
24776         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
24777         The signature was changed in the cairo branch, merged on 2015-05-23.
24778         This oversight broke compiling only the non-toolkit X version.
24780 2015-05-29  Samer Masterson  <samer@samertm.com>
24782         * doc/lispref/os.texi: Update initial-buffer-choice docs.
24784 2015-05-29  Glenn Morris  <rgm@gnu.org>
24786         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
24787         Mark as an expected failure.
24789 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
24791         Change package test to look for curved quotes
24792         * test/automated/package-test.el (package-test-describe-package)
24793         (package-test-signed): Search for curved single quotes as well as
24794         for grave accent and apostrophe.
24796 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
24798         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
24799         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
24801 2015-05-28  Samer Masterson  <samer@samertm.com>
24803         Show files when `initial-buffer-choice' is non-nil
24804         * lisp/startup.el (command-line-1): When Emacs is given a file as an
24805         argument and `initial-buffer-choice' is non-nil, display both the file
24806         and `initial-buffer-choice'.  For more than one file, show
24807         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
24808         commands out of the command line arg parser.
24809         (initial-buffer-choice): Clarify docstring.
24811 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
24813         Fix last commit
24814         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
24815         (gnulib module qcopy-acl): Add back, as it is harmless.  This
24816         minimizes differences wrt lib/gnulib.mk.
24818         Fix the MS-Windows build as followup to gnulib update
24819         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
24820         set-permissions.c, as they don't compile on MinGW.
24821         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
24823 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
24825         Revert my change to gnus-art.el
24826         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
24827         It wasn't that important, and it caused a Gnus build to fail.  See:
24828         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
24830         New minor mode Electric Quote
24831         This lets you easily insert quotes ‘like this’ by typing
24832         quotes `like this', and similarly you can easily insert
24833         quotes “like this” by typing quotes ``like this'' (Bug#20545).
24834         * doc/emacs/basic.texi (Inserting Text):
24835         * doc/emacs/modes.texi (Minor Modes):
24836         * etc/NEWS: Document it.
24837         * doc/emacs/text.texi (Quotation Marks): New section.
24838         * lisp/electric.el (electric-quote-comment)
24839         (electric-quote-string, electric-quote-paragraph):
24840         New custom vars.
24841         (electric--insertable-p)
24842         (electric-quote-post-self-insert-function): New functions.
24843         (electric-quote-mode, electric-quote-local-mode): New minor modes.
24844         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
24845         Add curved single quotes to electric-pair-text-pairs.
24846         Set electric-quote-string in this buffer.
24848         A few more doc string fixes (Bug#20385)
24850         Accept curved quotes in doc strings
24851         * lisp/info-look.el (info-lookup-guess-custom-symbol):
24852         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
24854         Generate curved quotes in pseudo-info nodes
24855         * lisp/info.el (Info-virtual-index-find-node)
24856         (Info-virtual-index, Info-apropos-find-node, info-apropos):
24857         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
24859         Fix minor quoting problems in doc strings
24860         Most of these fixes involve escaping grave accents that are
24861         actually intended to be grave accents, not left quotes.
24862         (Bug#20385)
24864         Support curved quotes in doc strings
24865         Emacs's traditional doc string style has been to quote symbols
24866         `like this'.  This worked well on now-obsolete terminals where
24867         ` and ' were symmetric quotes, but nowadays curved quotes
24868         ‘like this’ look better.  Support quoting the new way too.
24869         (Bug#20385)
24870         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
24871         ‘like-this’ as well as `like-this'.
24872         * etc/NEWS: Mention this.
24873         * lisp/cedet/mode-local.el (overload-docstring-extension)
24874         (mode-local-print-binding, mode-local-describe-bindings-2):
24875         * lisp/cus-theme.el (describe-theme-1):
24876         * lisp/descr-text.el (describe-text-properties-1, describe-char):
24877         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
24878         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
24879         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
24880         (eieio-help-constructor):
24881         * lisp/emacs-lisp/package.el (describe-package-1):
24882         * lisp/faces.el (describe-face):
24883         * lisp/help-fns.el (help-fns--key-bindings)
24884         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
24885         (help-fns--interactive-only, describe-function-1):
24886         (describe-variable):
24887         * lisp/help.el (describe-mode):
24888         * lisp/international/mule-cmds.el (describe-input-method)
24889         (describe-language-environment):
24890         * lisp/international/mule-diag.el (describe-character-set)
24891         (print-coding-system-briefly, list-input-methods)
24892         (list-input-methods-1):
24893         Insert curved quotes rather than grave accent and apostrophe.
24894         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
24895         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
24896         (checkdoc-proper-noun-region-engine):
24897         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
24898         (lisp-cl-font-lock-keywords-2):
24899         * lisp/finder.el (finder-font-lock-keywords):
24900         * lisp/gnus/gnus-art.el (gnus-button-alist):
24901         * lisp/help-fns.el (help-do-arg-highlight)
24902         (describe-function-1, describe-variable):
24903         * lisp/help-mode.el (help-xref-symbol-regexp)
24904         (help-xref-info-regexp, help-xref-url-regexp):
24905         * lisp/help.el (describe-mode):
24906         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
24907         * lisp/wid-edit.el (widget-documentation-link-regexp):
24908         Parse symbols quoted ‘like-this’ as well as `like-this'.
24909         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
24910         Add "‘" and "’" to electric-pair-text-pairs.
24911         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
24912         (elisp-completion-at-point, elisp--preceding-sexp):
24913         Also treat "‘" and "’" as quoting chars.
24915         substitute-command-keys now curves quotes
24916         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
24917         * doc/lispref/help.texi (Keys in Documentation):
24918         * etc/NEWS: Document this.
24919         * src/doc.c (Fsubstitute_command_keys): Implement it.
24921 2015-05-28  Glenn Morris  <rgm@gnu.org>
24923         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
24924         (rmail-summary-by-topic, rmail-summary-by-senders):
24925         No longer strip leading/trailing whitespace.
24927         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
24928         (f90-no-block-limit): Add "enum".  (Bug#20680)
24929         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
24930         New tests.
24932 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24934         * lisp/isearch.el (isearch--current-buffer): Give a default value.
24935         Un-revert changes mistakenly dropped by f9fabb2b.
24937 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24939         Merge from gnulib
24940         This incorporates:
24941         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
24942         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
24943         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
24944         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
24945         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
24946         2015-05-26 stdio: fix probe on mingw under gcc 5.1
24947         * admin/merge-gnulib (GNULIB_MODULES):
24948         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
24949         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
24950         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
24951         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
24952         Get latest versions from gnulib.
24953         * lib/get-permissions.c, lib/set-permissions.c: New files.
24954         * lib/gnulib.mk, m4/gnulib-comp.m4:
24955         Regenerate.
24956         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
24958 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
24960         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
24961         process here.
24962         (vc-do-command): Rather than here (bug#20608).
24964 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
24966         Avoid gratuitous delete-dups in face-at-point
24967         * lisp/faces.el (face-at-point): Do not compute the properly
24968         ordered, duplicate-free list if only a single value is
24969         requested anyway.  (Bug#20519)
24971         Show the exact C-x 8 RET invocation in describe-char
24972         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
24973         invocation instead of a template.  (Bug#20522)
24975 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
24977         * lisp/emacs-lisp/package.el: Don't erase tags on refresh.
24978         (package-menu--post-refresh): Call `tabulated-list-print' with the
24979         UPDATE argument.  This only affects the refresh action, the revert
24980         action still erases tags.
24981         (package-menu-get-status): Change `assq' to `assoc'.
24982         (package-menu--mark-upgrades-1): New function.
24983         (package-menu--mark-upgrades-pending): New variable.
24984         (package-menu-mark-upgrades): Use them to delay marking until
24985         after refresh is done.
24986         (package-menu--post-refresh): Call mark-upgrades-1 if
24987         mark-upgrades-pending is non-nil.
24989 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
24991         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
24992         Fix typo in "Improve tramp-handle-make-auto-save-file-name"
24993         (commit 3953c4be2816537be95520605d45b866dc731f4b).
24995 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24997         * lisp/isearch.el (isearch--current-buffer): New var.
24998         (isearch-update): Set cursor-sensor-inhibit here.
24999         (isearch-done): Unset cursor-sensor-inhibit in the right buffer
25000         (bug#20532).
25002         Change inhibit-point-motion-hooks to t
25003         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
25004         to t and document it as obsolete.
25006 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
25008         Support ZIP files that use Zip64 extensions
25009         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
25010         format of central directory offsets used by Zip64 extensions.
25011         (Bug#20665)
25013 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
25015         New test tramp-test30-make-auto-save-file-name
25016         * test/automated/tramp-tests.el
25017         (tramp-test30-make-auto-save-file-name): New test.
25018         (tramp-test31-special-characters)
25019         (tramp-test31-special-characters-with-stat)
25020         (tramp-test31-special-characters-with-perl)
25021         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
25022         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
25023         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
25024         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
25026         Improve tramp-handle-make-auto-save-file-name
25027         * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags.
25028         (tramp-handle-make-auto-save-file-name): Let native
25029         `make-auto-save-file-name' use `auto-save-file-name-transforms',
25030         if `tramp-auto-save-directory' is not set.
25032 2015-05-27  Glenn Morris  <rgm@gnu.org>
25034         No longer set dired-directory in eshell.  (Bug#16477)
25035         * lisp/eshell/esh-mode.el (eshell-mode):
25036         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
25038         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
25040         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
25041         * lisp/progmodes/cc-mode.el (c-mode-help-address):
25042         Change to submit@debbugs.
25043         (c-mode-bug-package): New constant.
25044         (mail-position-on-field): Declare.
25045         (c-submit-bug-report): Insert X-Debbugs-Package header.
25046         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
25047         Mention debbugs.gnu.org.
25049 2015-05-26  Glenn Morris  <rgm@gnu.org>
25051         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
25052         (rmail-summary-by-recipients, rmail-summary-by-topic)
25053         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
25054         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
25056 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
25058         Handle curved quotes in info files
25059         * lisp/calc/calc-help.el (calc-describe-thing):
25060         * lisp/info.el (Info-find-index-name)
25061         (Info-try-follow-nearest-node, Info-fontify-node):
25062         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
25063         In info files, process quotes ‘like this’ the same way we process
25064         quotes `like this'.  This catches a few places we missed earlier.
25066 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
25068         xref-prompt-for-identifier: Use a list value
25069         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
25070         value, to be interpreted as a list of commands.
25071         (xref--prompt-p): New function.
25072         (xref--read-identifier): Use it.
25074 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
25076         Teach MS-Windows font back-end return per-glyph ascent/descent
25077         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
25078         values.
25079         * src/w32font.c (w32font_text_extents): Compute, cache, and
25080         accumulate per-glyph ascent and descent values, instead of copying
25081         global values from the font.  If the values are not available from
25082         the font data, i.e., non-TTF fonts, fall back on font-global values.
25083         (compute_metrics): Compute and return per-glyph ascent and descent
25084         values, if returned by GetGlyphOutlineW, falling back on
25085         font-global values.  (Bug#20628)
25086         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
25087         height of rectangle to be drawn, to be compatible with
25088         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
25089         box, when per-glyph ascent/descent values are used.
25091 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
25093         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
25094         Don't sort if sorter is nil.
25096 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
25098         Fix Bug#20621
25099         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
25100         are major modes which set `auto-save-mode' on their own rules;
25101         Tramp shall not overwrite such settings.
25103 2015-05-26  Glenn Morris  <rgm@gnu.org>
25105         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
25106         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
25107         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
25108         Doc updates.
25109         (vc-dir-mode): Remove unnecessary autoload.
25111 2015-05-25  Philipp Stephani  <phst@google.com>
25113         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52.
25114         (xterm--extra-capabilities-type): Add `getSelection'.
25115         (xterm--query): Add `no-async' argument.
25116         (xterm--init-activate-get-selection): New function.
25117         (terminal-init-xterm): Use it.
25118         (xterm--init-modify-other-keys): Rename from
25119         terminal-init-xterm-modify-other-keys.
25120         (xterm--init-bracketed-paste-mode): Rename from
25121         terminal-init-xterm-bracketed-paste-mode.
25122         (xterm--init-activate-set-selection): Rename from
25123         terminal-init-xterm-activate-set-selection.
25124         (xterm--selection-char): New function.
25125         (gui-backend-set-selection): Use it.  Use the &context to only apply
25126         this method in terminals where we enabled the feature.
25127         (gui-backend-get-selection): New method.
25129 2015-05-25  Daniel Colascione  <dancol@dancol.org>
25131         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
25132         keyword constants to C++.
25134 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
25136         Make TAGS files more portable to MS-Windows
25137         * etc/NEWS: Document this.
25138         * lib-src/etags.c (readline_internal) [DOS_NT]:
25139         Don't treat CRs differently from GNUish hosts.
25140         * lisp/progmodes/etags.el (etags-goto-tag-location):
25141         Adjust STARTPOS to account for the skipped CRs in dos-style files.
25143 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
25145         Improve fix of bug#20634 in tramp-sh.el
25147 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
25149         Fix a typo in last commit
25150         * lib-src/etags.c (C_entries): Fix a typo.
25151         * test/etags/ETAGS.good_1:
25152         * test/etags/ETAGS.good_2:
25153         * test/etags/ETAGS.good_3:
25154         * test/etags/ETAGS.good_4:
25155         * test/etags/ETAGS.good_5:
25156         * test/etags/CTAGS.good: Update due to the change in etags.c.
25158         Fix tagging of class members in C-like OO languages
25159         * lib-src/etags.c (longopts): Add new option --class-qualify and
25160         its shorthand -Q.
25161         (print_help): Add help text for --class-qualify.
25162         (main): Add handling of -Q.
25163         (consider_token, C_entries) <omethodparm>: Append argument types
25164         to Objective C methods only if --class-qualify was specified.
25165         Qualify C++, Objective C, and Java class members with their class
25166         names only if --class-qualify was specified.
25167         (C_entries): If --class-qualify was not specified, remove the
25168         namespace and class qualifiers from tag names of C++ methods.
25169         This allows to use etags.el as xref back-end without the
25170         tag-symbol-match-p method, which greatly increases the number of
25171         potentially false positives.  (Bug#20629)
25172         * doc/man/etags.1: Update to document the new --class-qualify
25173         option.
25174         * test/etags/ETAGS.good_1:
25175         * test/etags/ETAGS.good_2:
25176         * test/etags/ETAGS.good_3:
25177         * test/etags/ETAGS.good_4:
25178         * test/etags/ETAGS.good_5:
25179         * test/etags/CTAGS.good: Update due to changes in etags.c.
25181 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
25183         (cl-generic-define-method): Side effects are evil (bug#20644)
25184         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
25185         cons-cells that might be used as keys in an `equal' hash-table.
25187 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
25189         Make erc timestamps visible again
25190         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec):
25191         Make timestamps visible again (if requested).
25193 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
25195         Fix last change in etags.c that broke tagging compresed files
25196         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
25197         quoting of decompression shell command for MS-Windows/MS-DOS.
25199 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
25201         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist.
25202         (Bug#20639)
25204 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
25206         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
25207         Fix typo in "Inhibit `epa-file-handler' in Tramp"
25208         (commit 89035e247591c8d688fce922b7079881aa110f33).
25210 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
25212         Fix IPv6 addresses in Tramp
25213         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
25214         Add square brackets around host name.
25216 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
25218         Inhibit `epa-file-handler' in Tramp (Bug#20634)
25219         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
25220         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
25221         `epa-file-handler'.
25223 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
25225         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring.
25226         (pcase-let): Document the behavior in case the pattern doesn't match.
25228 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
25230         * lisp/emacs-lisp/tabulated-list.el: New optional print method.
25231         (tabulated-list-print): New optional argument, UPDATE.  If
25232         non-nil, the list is printed by only adding and deleting the
25233         changed entries, instead of erasing the whole buffer.  This method
25234         is much faster when few or no entries have changed.
25235         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
25236         * etc/NEWS: Document it.
25238         * lisp/emacs-lisp/tabulated-list.el: Improve printing.
25239         (tabulated-list--get-sorter): New function.
25240         (tabulated-list-print): Restore window-line when remember-pos is
25241         passed and optimize away the `nreverse'.
25243 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
25245         Simpilify etags TEX mode scanning
25246         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
25247         Remove static vars.
25248         (TeX_commands): Deduce escapes here instead.
25249         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
25250         This removes the need for a reset_input call.
25252         Improve etags I/O error reporting
25253         * lib-src/etags.c:
25254         Don't include sys/types.h and sys/stat.h; no longer needed.
25255         (infilename): New static var.
25256         (process_file_name): Don't call 'stat'.  Instead, just open the
25257         file for reading and report any errors.  Don't bother making
25258         a copy of the file argument; it's not needed.  Be more careful to
25259         use the failing errno when reporting an error.
25260         Quote the real name better (though no perfectly)
25261         when passing it to the shell.
25262         (reset_input): New function, which reports I/O errors.
25263         All uses of 'rewind' changed to use this function.
25264         (perhaps_more_input): New function, which also checks for
25265         I/O errors.  All uses of 'feof' changed to use this function.
25266         (analyze_regex): Report an error if fclose fails.
25267         (readline_internal): Report an error if getc fails.
25268         (etags_mktmp): Return an error if close fails.
25270         etags.c: avoid side effects in 'if'
25271         * lib-src/etags.c (process_file_name, Perl_functions)
25272         (TEX_decode_env): Hoist side effects into previous statement.
25274         .gitignore tweaks
25275         * .gitignore: Ignore all *.stamp files.  Sort.
25276         Ignore [0-9]*.txt (commonly used name for git patches)
25277         and /vc-dwim-log-* (vc-dwim temporary).
25279 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
25281         Fix last change in etags.c, which failed the test suite
25282         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
25283         before the last change.
25285 2015-05-23  Glenn Morris  <rgm@gnu.org>
25287         Remove charset map files from repository, generate in first bootstrap
25288         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
25289         (all): Create the stamp file.
25290         (extraclean): Delete the stamp file.
25291         * src/Makefile.in (lispintdir, charsets): New variables.
25292         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
25293         New rules.
25294         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
25295         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
25296         * etc/charsets/*.map: Remove from repository.
25298 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
25300         Cleanup etags.c to use locale-independent code
25301         Although this doesn't alter behavior (as etags doesn't use
25302         setlocale), the new version is more clearly locale-independent and
25303         the executable is a bit smaller on my platform.
25304         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
25305         Include <c-ctype.h> instead of <ctype.h>.
25306         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
25307         (begtk, midtk):
25308         Remove; no longer needed.
25309         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
25310         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
25311         c_islower, c_tolower, respectively.
25312         (notinname, begtoken, intoken, endtoken): Rewrite as functions
25313         instead of macros, and initialize the tables at compile-time
25314         rather than at run-time.
25316         Put default action first in src/Makefile
25317         * src/Makefile.in (all): Put this rule before lisp.mk.
25318         That way, plain 'make' works in the src directory again.
25320 2015-05-23  Glenn Morris  <rgm@gnu.org>
25322         * Makefile.in: Fix extraclean rule.
25323         (extraclean_dirs): New.
25324         (extraclean): Use it.
25326 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
25328         Avoid compiler warning in image.c on MS-Windows
25329         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
25330         warning in image.c.
25332 2015-05-23  Glenn Morris  <rgm@gnu.org>
25334         Fix --without-toolkit-scroll-bars builds.
25335         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
25336         Add new argument to x_clear_area1.
25337         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
25338         Update x_clear_area arguments.
25340         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
25341         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
25342         Change to included version.
25343         (LOCAL, local, totalclean): Remove.
25344         (extraclean): Delete all generated files.
25346 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
25348         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume
25349         CVS/Entries exists.
25351         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
25353         * lisp/progmodes/etags.el (tags-completion-at-point-function):
25354         Don't trust the find-tag function.
25356 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
25358         Pacify --enable-gcc-warnings
25359         * src/frame.h (x_query_color): Remove redundant extern decl.
25360         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
25361         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
25362         (ftcrfont_text_extents, ftcrfont_draw):
25363         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
25364         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
25365         (x_ins_del_lines, frame_highlight, frame_unhighlight)
25366         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
25367         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
25368         (x_update_window_begin, x_connection_closed)
25369         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
25370         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
25371         (*x_gc_get_ext_data, x_extension_initialize)
25372         (x_cr_accumulate_data):
25373         Remove redundant static decl.  Many of these GCC doesn't complain
25374         about, but we might as well clean out the duplication while we're
25375         in the neighborhood.
25376         * src/xterm.c (x_fill_trapezoid_for_relief):
25377         Remove decl of nonexistent function.
25379 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
25381         Replace gui-method macros with cl-generic with &context
25382         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
25383         (gui-method-declare, gui-call): Remove.
25384         (frame-creation-function): Use cl-defgeneric.
25385         (make-frame): Adjust callers.
25386         * lisp/menu-bar.el (menu-bar-edit-menu):
25387         Use gui-backend-selection-exists-p.
25388         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
25389         (gui-backend-get-selection): New cl-generic to replace
25390         gui-get-selection method.
25391         (gui-backend-set-selection): New cl-generic to replace
25392         gui-set-selection method.
25393         (gui-selection-owner-p): New cl-generic to replace
25394         gui-selection-owner-p method.
25395         (gui-backend-selection-exists-p): New cl-generic to replace
25396         gui-selection-exists-p method.  Adjust all callers.
25397         * lisp/server.el (server-create-window-system-frame): Don't ignore
25398         window-system spec even when unsupported.
25399         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
25400         * lisp/startup.el (handle-args-function, window-system-initialization):
25401         Use cl-defgeneric.
25402         (command-line): Adjust calls accordingly.
25403         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
25404         a window-system-initialization method.
25405         (handle-args-function, frame-creation-function): Use cl-defmethod.
25406         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
25407         (gui-get-selection): Use cl-defmethod on the new functions instead.
25408         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
25409         a gui-backend-get-selection method.
25410         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
25411         Use cl-defmethod on the new functions instead.
25412         (msdos-window-system-initialization): Turn into
25413         a window-system-initialization method.
25414         (frame-creation-function, handle-args-function): Use cl-defmethod.
25415         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
25416         a window-system-initialization method.
25417         (handle-args-function, frame-creation-function): Use cl-defmethod.
25418         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
25419         (gui-get-selection): Use cl-defmethod on the new functions instead.
25420         * lisp/term/x-win.el (x-window-system-initialization): Turn into
25421         a window-system-initialization method.
25422         (handle-args-function, frame-creation-function): Use cl-defmethod.
25423         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
25424         (gui-get-selection): Use cl-defmethod on the new functions instead.
25425         * lisp/term/xterm.el (xterm--set-selection): Turn into
25426         a gui-backend-set-selection method.
25427         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
25428         (Fns_selection_owner_p): Remove unused arg `terminal'.
25429         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
25431 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
25433         Revert "Fix etags Bug#20629 that broke C++ support"
25434         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
25436 2015-05-23  Jan D  <jan.h.d@swipnet.se>
25438         Fix etags Bug#20629 that broke C++ support
25439         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
25440         Revert commit from Sun May 10 (Bug#20629).
25442         Merge branch 'cairo'.
25443         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
25444         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
25446         Merge branch 'master' into cairo
25448         Fixes to compile cairo branch without cairo
25449         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
25450         first argument.
25451         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
25452         USE_CAIRO.
25454 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
25456         * lisp/emacs-lisp/package.el: Always update selected-packages.
25457         (package--update-selected-packages): New function.
25458         (package-menu-execute): Use it before starting the transaction,
25459         this way the list of selected packages is updated even when the
25460         transaction fails.
25461         (package-menu--perform-transaction): Don't edit selected-packages.
25463 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
25465         Fix etags reading of compressed files
25466         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
25467         Include fcntl.h, for O_CLOEXEC.
25468         (process_file_name): Don't use 'popen', whose streams cannot be
25469         rewound.  Instead, uncompress the file to a temporary file,
25470         created by 'etags_mktmp', and read from that as usual.
25471         (etags_mktmp): New function.
25472         * test/etags/ETAGS.good_1:
25473         * test/etags/ETAGS.good_2:
25474         * test/etags/ETAGS.good_3:
25475         * test/etags/ETAGS.good_4:
25476         * test/etags/ETAGS.good_5: Update to be consistent with latest
25477         changes in etags.c regarding reading compressed files.
25479         Improve documentation of 'set-fontset-font'
25480         * doc/lispref/display.texi (Fontsets): Document the value of nil
25481         for the 3rd argument of 'set-fontset-font'.
25483         Fix documentation of forward-line
25484         * src/cmds.c (Fforward_line): Clarify the return value if the line
25485         at end of accessible portion of the buffer has no newline.
25486         * doc/lispref/positions.texi (Text Lines): Document what happens
25487         if the line at end of accessible portion of buffer has no newline.
25488         (Bug#20587)
25490 2015-05-22  Glenn Morris  <rgm@gnu.org>
25492         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
25494         * admin/charsets/mapconv (LC_ALL): Set to C.
25496         * Makefile.in: Add admin/charsets into top-level clean rules.
25497         (clean): Add admin/charsets.
25498         (maybeclean_dirs): New variable.
25499         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
25501         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
25503 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
25505         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc.
25507 2015-05-22  Glenn Morris  <rgm@gnu.org>
25509         Generate admin/charsets Makefile via configure, and make more portable
25510         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
25511         (admin/charsets/Makefile): Generate it.
25512         * admin/charsets/Makefile.in: Rename from Makefile.
25513         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
25514         New variables, set by configure.
25515         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
25516         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
25517         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
25518         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
25519         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
25520         (all): Declare PHONY.
25521         (local): New PHONY target.
25522         (map_template): New template.  Use to define short PHONY aliases.
25523         (*.map): Add directory prefixes to targets and prerequisites.
25524         Respect make verbosity.
25525         (JISC6226.map): Replace non-portable sed append without newline.
25526         (install): Remove rule.
25527         (clean): Only delete temporary sedscript.
25528         (bootstrap-clean, distclean, maintainer-clean, extraclean)
25529         (totalclean): New PHONY rules.
25530         * admin/charsets/mapconv (BASE): Replace basename with expr.
25531         (FILE): Add "mapfiles" subdirectory.
25532         (AWK): New variable.  Use throughout in place of "awk".
25533         (main): Use "gunzip -c" in place of "zcat".
25534         Don't leave whitespace before "p", for older sed.
25535         * admin/charsets/mapfiles/PTCP154: Add final newline,
25536         to make older sed versions happy.
25538 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
25540         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
25541         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
25542         (auto-revert-notify-watch-descriptor): Use defvar-local.
25543         (find-file-hook, auto-revert-tail-mode)
25544         (auto-revert-notify-add-watch): Use setq-local.
25545         (auto-revert-notify-add-watch): Don't call make-local-variable on
25546         kill-buffer-hook (bug#20601).
25548 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
25550         Change defgeneric so it doesn't completely redefine the function
25551         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
25552         previously defined methods.
25553         (cl-generic-define-method): Let-bind purify-flag instead of
25554         using `fset'.
25555         (cl--generic-prefill-dispatchers): Only define during compilation.
25556         (cl-method-qualifiers): Remove redundant alias.
25557         (help-fns-short-filename): Silence byte-compiler.
25558         * test/automated/cl-generic-tests.el:
25559         Adjust to new defgeneric semantics.
25561 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
25563         * lisp/emacs-lisp/package.el (package-menu-execute):
25564         Remove reference to remove-dups.
25566 2015-05-21  kwhite  <kwhite@gnu.org>
25568         * lisp/erc/erc.el: Hide network/channel messages.
25569         (erc-network-hide-list, erc-channel-hide-list): New lists to define
25570         message types per network/channel.
25571         (erc-add-targets): New function to parse list of targets.
25572         (erc-hide-current-message-p): Modify to check for new targets.
25574 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
25576         Don't quote nil and t in doc strings
25577         This is as per "Tips for Documentation Strings" in the elisp manual.
25578         For consistency, do the same in diagnostics and comments.
25580 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
25582         Fix a minor problem with mouse-face on mode line
25583         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
25584         mouse face also if the mouse pointer hovers above mode-line glyphs
25585         that don't come from any Lisp string.  (Bug#20620)
25587 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
25589         * lisp/emacs-lisp/package.el: Fix selected-package logic.
25590         (package-menu-execute): Mark as selected all non-upgrade packages
25591         being installed.
25592         (package-menu--perform-transaction): Don't mark anything.
25594         * lisp/emacs-lisp/package.el: Mode-line progress report.
25595         (package-menu--transaction-status): New variable.
25596         (package-menu-mode, package-menu--perform-transaction): Use it.
25598         * lisp/emacs-lisp/package.el: Better transaction messages.
25599         (package-menu--partition-transaction): New function.
25600         (package-menu--prompt-transaction-p, package-menu-execute):
25601         Use it.
25602         (package-menu--perform-transaction): Don't do any messaging.
25604         * lisp/emacs-lisp/package.el: Revert async package transactions.
25605         (package-menu-async): Update doc.
25606         (package-install-from-archive, package-download-transaction)
25607         (package-install, package-menu--perform-transaction)
25608         (package-menu-execute): Remove asynchronous functionality.
25610 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
25612         Revert doc string changes to f90.el
25613         Problem reported by Glenn Morris in:
25614         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
25615         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
25616         Revert recent changes to doc strings, as it's intended that they
25617         use grave accent, not quote.
25619 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
25621         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p):
25622         Improve parameter name.
25624         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function.
25626 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
25628         Don't require help-fns when not needed
25629         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
25630         * lisp/emacs-lisp/elint.el:
25631         Don't require help-fns at the top level
25632         * lisp/emacs-lisp/advice.el (ad-arglist):
25633         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
25634         Don't require help-fns.  (Bug#17001)
25636 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
25638         Fix slash collapsing in etags on MS-Windows
25639         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
25640         MS-Windows code from the Posix code, and support collapsing both
25641         forward- and back-slashes on MS-Windows.  Fixes a regression found
25642         by the test suite.
25644         Improve documentation of glyphless-char-display
25645         * doc/lispref/display.texi (Glyphless Chars): Improve
25646         documentation of glyphless character display.
25648         Fix "acronym" display of glyphless characters on w32
25649         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
25650         ignore "acronym" substitutes of 1 character for glyphless characters.
25652 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
25654         Add an automated test for let-when-compile
25655         * test/automated/subr-tests.el (let-when-compile): New test.
25657         Add let-when-compile macro instead of using pcase-let
25658         * lisp/subr.el (let-when-compile): New let-like macro that makes its
25659         bindings known to macros like `eval-when-compile' in the body.
25660         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to
25661         a `let-when-compile'.  Also comment out the unused lexical var
25662         `el-kws-re'.
25663         The change greatly improves readability, while providing almost the
25664         same (even shorter) byte code: instead of pre-evaluating 10 variables,
25665         tossing them into a list, and destructuring that list a full screen
25666         page later, the variables are simply bound as they are evaluated,
25667         wrapped individually in `eval-when-compile'.
25669 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
25671         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer.
25672         (package-delete-button-action): New function.
25673         (describe-package-1): Add Delete button.
25675         * lisp/emacs-lisp/package.el: Better dependency description.
25676         (package--used-elsewhere-p): New optional arg, ALL, and return
25677         package-desc objects instead of names.
25678         (package-delete): Update accordingly.
25679         (describe-package-1): Describe which packages require the package.
25681 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
25683         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
25684         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
25685         Fix doc-string.
25687         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
25688         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
25689         (switch-to-buffer): If the selected window is strongly dedicated
25690         to its buffer, signal error before prompting for buffer name.
25691         Handle `switch-to-buffer-in-dedicated-window'.
25692         * doc/lispref/windows.texi (Switching Buffers):
25693         Document `switch-to-buffer-in-dedicated-window'.
25695 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
25697         Prefer "this" to “this” in doc strings
25698         This mostly just straightens quotes introduced in my previous patch.
25699         Suggested by Dmitry Gutov in:
25700         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
25701         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
25702         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
25703         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
25704         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
25705         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
25706         Prefer straight double quotes to curved double quotes in doc strings.
25708         Fix minor quoting problems in doc strings
25709         These were glitches regardless of how or whether we tackle the
25710         problem of grave accent in doc strings.
25711         * lisp/calc/calc-aent.el (math-restore-placeholders):
25712         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
25713         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
25714         * lisp/leim/quail/hebrew.el ("hebrew-new")
25715         ("hebrew-biblical-sil"):
25716         * lisp/leim/quail/thai.el ("thai-kesmanee"):
25717         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
25718         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
25719         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
25720         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
25721         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
25722         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
25723         (semantic-tag-components):
25724         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
25725         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
25726         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
25727         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
25728         * lisp/emacs-lisp/generator.el (iter-next):
25729         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
25730         (gnus-article-mode-syntax-table):
25731         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
25732         * lisp/net/soap-client.el (soap-wsdl-get):
25733         * lisp/net/telnet.el (telnet-mode):
25734         * lisp/org/org-compat.el (org-number-sequence):
25735         * lisp/org/org.el (org-remove-highlights-with-change)
25736         (org-structure-template-alist):
25737         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
25738         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
25739         (handwrite-12pt, handwrite-13pt):
25740         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
25741         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
25742         * lisp/progmodes/verilog-mode.el (verilog-tool)
25743         (verilog-string-replace-matches, verilog-preprocess)
25744         (verilog-auto-insert-lisp, verilog-auto-insert-last):
25745         * lisp/textmodes/makeinfo.el (makeinfo-options):
25746         * src/font.c (Ffont_spec):
25747         Fix minor quoting problems in doc strings, e.g., missing quote,
25748         ``x'' where `x' was meant, etc.
25749         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
25750         Fix minor quoting problem in other string.
25751         * lisp/leim/quail/ethiopic.el ("ethiopic"):
25752         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
25753         Omit unnecessary quotes.
25754         * lisp/faces.el (set-face-attribute, set-face-underline)
25755         (set-face-inverse-video, x-create-frame-with-faces):
25756         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
25757         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
25758         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
25759         * lisp/net/tramp.el (tramp-methods):
25760         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
25761         * lisp/textmodes/artist.el (artist-ellipse-right-char)
25762         (artist-ellipse-left-char, artist-vaporize-fuzziness)
25763         (artist-spray-chars, artist-mode, artist-replace-string)
25764         (artist-put-pixel, artist-text-see-thru):
25765         * lisp/vc/ediff-util.el (ediff-submit-report):
25766         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
25767         Use double-quotes rather than TeX markup in doc strings.
25768         * lisp/skeleton.el (skeleton-pair-insert-maybe):
25769         Reword to avoid the need for grave accent and apostrophe.
25770         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
25771         Don't use grave and acute accents to quote.
25773 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
25775         * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1):
25776         Silence compiler.
25778 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
25780         Try to port new etags tests to MS-Windows
25781         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
25782         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
25783         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
25784         Adjust to test-case changes below.
25785         * test/etags/Makefile (CSRC): Remove dostorture.c.
25786         Whatever it was trying to test, wasn't working portably.
25787         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
25788         just a line-ending problem.
25789         * test/etags/c-src/dostorture.c: Remove.
25790         * test/etags/cp-src/c.C: Remove stray CR.
25791         * test/etags/html-src/algrthms.html: Remove trailing CRs.
25792         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
25793         but if someone edits it later it should stay UTF-8-compatible.
25795 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
25797         Fix display of overlapping window-specific overlays
25798         * src/keyboard.c (adjust_point_for_property): When adjusting point
25799         due to display strings, ignore overlays that are specific to
25800         windows other than the currently selected one.
25801         * src/xdisp.c (handle_single_display_spec): If the display
25802         property comes from an overlay, arrange for buffer iteration to
25803         resume only after the end of that overlay.  (Bug#20607)
25805 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
25807         New command icomplete-force-complete-and-exit
25808         * lisp/icomplete.el (icomplete-force-complete-and-exit):
25809         New command
25810         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
25811         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
25812         (icomplete-minibuffer-map): Bind C-j to it.
25813         (icomplete-forward-completions, icomplete-backward-completions):
25814         Mention the new command in the docstring.
25815         * lisp/minibuffer.el (minibuffer-force-complete-and-exit):
25816         Revert the previous fix for bug#17545.
25818 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
25820         Fix last commit
25822         In Elisp manual explain how to override window manager positioning
25823         (Bug#20552)
25824         * doc/lispref/frames.texi (Position Parameters): Give example of
25825         how to override a window manager positioning decision.
25827         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
25828         * src/frame.c (Fdelete_frame): In doc-string mention that frame
25829         can't be deleted if it has a surrogate minibuffer.
25830         * doc/lispref/frames.texi (Minibuffers and Frames)
25831         (Deleting Frames): Explain "surrogate minibuffer frames".
25833         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
25835 2015-05-18  Glenn Morris  <rgm@gnu.org>
25837         Add option to ignore commit lines matching a pattern in ChangeLog
25838         * build-aux/gitlog-to-changelog: Add --ignore-line option.
25839         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
25841 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
25843         Don't skip new etags tests on non-UTF-8 hosts
25844         Problem reported by Eli Zaretskii for MS-Windows.
25845         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
25846         (LC_ALL): Set to C if the current locale isn't UTF-8.
25847         (.PHONY): Remove ediff_1 thru ediff_5.
25848         (check): Always run.
25850 2015-05-18  Glenn Morris  <rgm@gnu.org>
25852         * lisp/calculator.el (calculator-funcall):
25853         * lisp/textmodes/artist.el (artist-spray-random-points):
25854         Use standard degree/radian conversion utilities.
25856         Further lisp-complete-symbol related cleanup.
25857         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
25858         Unadvertise non-functional argument.  Replace obsolete alias.
25860 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
25862         Add a test case for Maven warning ouput
25863         * test/automated/compile-tests.el
25864         (compile-tests--test-regexps-data): Add a case for Maven warning
25865         ouput.
25866         (compile--test-error-line): Check the compilation message type, if
25867         it's specified in the test data.
25869 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
25871         Update Maven compilation-mode entry to distinguish warnings
25872         * lisp/progmodes/compile.el
25873         (compilation-error-regexp-alist-alist): Update Maven entry to
25874         distinguish warnings (bug#20556).
25876 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
25878         * test/automated/sgml-mode-tests.el: New file.
25880 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
25882         Improve handling of the first Git revision
25883         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
25884         there's no next entry, delete until the end of the buffer.
25885         (log-view-end-of-defun-1): Stop at eob.
25886         * lisp/vc/vc-annotate.el
25887         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
25888         when previous-revision is nil.
25889         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
25890         with `--' to avoid ambiguity.
25891         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
25892         returned revision string.
25893         (vc-git-annotate-time): Expect `^' before the first revision.
25894         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
25895         REV1 is nil, and REV2 is not.
25896         * lisp/vc/vc.el: Update the description of the `diff' function.
25898 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
25900         Allow checkdoc to be called in batch
25901         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
25902         is non-nil, echo the error with `warn'.
25903         How it can be used in -batch:
25904         (with-current-buffer (find-file "checkdoc.el")
25905           (checkdoc-current-buffer t))
25907 2015-05-18  Glenn Morris  <rgm@gnu.org>
25909         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
25911 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
25913         * admin/notes/unicode: New section "binary files".
25915         Change new etags test to use UTF-8 encoding
25916         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
25917         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
25918         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
25919         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
25920         * test/etags/html-src/softwarelibero.html:
25921         Switch to UTF-8 encoding.
25922         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
25923         Remove Makefile, as it's too incestuous to have the test input
25924         include the build procedure.
25925         (UTF8_LOCALE, UTF_ENCODING): New macros.
25926         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
25927         (check): Skip if not UTF-8.
25928         (.PHONY): New rule.
25929         (FRC): Remove, as superseded by .PHONY.  All uses removed.
25930         (regexfile): Prefer printf to echo when outputting oddball chars.
25931         (.PRECIOUS): Remove, as these files are not built.
25933         Rename 'foo-gzipped' to 'foo.gz'
25934         * test/automated/data/decompress/foo.gz:
25935         Rename from test/automated/data/decompress/foo-gzipped,
25936         to make it easier for other tools to tell that it's compressed.
25937         * test/automated/zlib-tests.el (zlib--decompress):
25938         Adjust to renamed file.
25940 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
25942         Set up default-directory
25943         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
25944         binding for `v'.
25945         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
25946         appropriate value for default-directory.
25948 2015-05-17  Samer Masterson  <samer@samertm.com>
25950         * lisp/eshell/em-term.el (eshell-term-sentinel):
25951         No-op by default, only kills term buffer if
25952         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
25953         (eshell-destroy-buffer-when-process-dies): New custom to preserve
25954         previous behavior.
25956         eshell: Introduce new buffer syntax
25957         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
25958         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
25959         needed (Bug#19319).
25960         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
25961         (eshell-get-target): Remove shorthand-specific code.
25962         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
25963         '#<buffer-name>'.
25965 2015-05-17  Jan D  <jan.h.d@swipnet.se>
25967         Merge branch 'master' into cairo
25969 2015-04-26  Jan D  <jan.h.d@swipnet.se>
25971         Merge branch 'master' into cairo
25973         Add PBM support for cairo
25974         * src/image.c (xcolor_to_argb32): New function.
25975         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
25976         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
25977         XImagePtr if ! USE_CAIRO.
25978         (pbm_load): Add cairo support.
25980 2015-04-12  Jan D  <jan.h.d@swipnet.se>
25982         * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw.
25983         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
25984         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
25985         x_free_cr_resources.
25987         Handle specified bg in images.  Use generic libpng code for PNGs.
25988         * src/image.c (get_spec_bg_or_alpha_as_argb)
25989         (create_cairo_image_surface): New functions when USE_CAIRO.
25990         (xpm_load): Call the above functions.  Handle XPM without mask
25991         when USE_CAIRO.
25992         (png_load_body): Handle USE_CAIRO case.
25993         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
25994         instead.
25995         (jpeg_load_body): Call create_cairo_image_surface.
25996         (gif_load, svg_load_image): Handle specified background, call
25997         create_cairo_image_surface.
25998         * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO.
26000 2015-04-11  Jan D  <jan.h.d@swipnet.se>
26002         Support GIF and TIFF with cairo
26003         * configure.ac: Allow jpeg with cairo.
26004         Allow tiff and gif with cairo.
26005         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
26006         (tiff_load): Create cairo image surface if USE_CAIRO.
26007         (gif_load): Ditto.
26009         Support JPEG with USE_CAIRO
26010         * configure.ac: Allow jpeg with cairo.
26011         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
26013 2015-04-05  Jan D  <jan.h.d@swipnet.se>
26015         Support RSVG and cairo
26016         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
26017         * src/dispextern.h (struct image): Add cr_data2 if cairo.
26018         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
26019         (x_clear_image): Free cr_data and cr_data2 if set.
26020         (xpm_load): Assign data to cr_data2.
26021         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
26023 2015-04-03  Jan D  <jan.h.d@swipnet.se>
26025         Introduce limited Xpm support (32 bit ZPixmap) for Cairo
26026         * configure.ac (HAVE_RSVG): Move after cairo.
26027         (USE_CAIRO): Disable rsvg, don't disable Xpm.
26028         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
26029         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
26030         don't return early.
26031         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
26032         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
26033         and create a surface.
26035         Tool tips for menus did not show any text.
26036         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
26037         tip frames, the geometry may be wrong.
26039         Merge branch 'master' into cairo, fixes tooltips not shown.
26041         Merge branch 'master' into cairo
26043         Add CAIRO_CFLAGS to lwlib/Makefile.in
26044         * Makefile.in (CAIRO_CFLAGS): Add.
26046 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
26048         * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
26050 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
26052         Draw outermost line using black relief and erase corners also for cairo.
26053         * src/xterm.c [USE_CAIRO]: Include math.h.
26054         (enum corners) [USE_CAIRO]: New enum.
26055         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
26056         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
26057         than 1, draw the outermost line using the black relief.
26059         * src/xterm.c (x_fill_trapezoid_for_relief):
26060         Remove unnecessary cairo_close_path.
26062 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
26064         * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
26066         * src/xterm.c (x_draw_stretch_glyph_string):
26067         Call x_reset_clip_rectangles instead of XSetClipMask.
26069         Use int instead of unsigned int for width and height args.
26070         * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
26071         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
26072         width and height args.
26074         Modernize k&r cairo-related function declarations.
26075         * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
26076         (xg_print_frames_dialog): Modernize k&r declarations.
26077         * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
26078         (Fx_print_frames_dialog): Modernize k&r declarations.
26079         * src/xterm.c (x_gc_get_ext_data, x_extension_initialize)
26080         (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground)
26081         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
26082         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
26083         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
26084         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
26085         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
26086         (x_clear_area): Modernize k&r declarations.
26088         Implement wave-style variant of underlining for cairo.
26089         * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
26090         (x_draw_underwave) [USE_CAIRO]: Use it.
26092         * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle
26093         instead of XFillRectangle.
26095 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
26097         Fix fringe bitmap initialization for cairo
26098         * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap
26099         data for cairo image surface.
26100         * src/xterm.c (x_cr_define_fringe_bitmap):
26101         Call cairo_surface_mark_dirty.
26103 2015-02-11  Jan D  <jan.h.d@swipnet.se>
26105         Add cairo drawing
26106         * configure.ac (with-cairo): New option.
26107         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
26108         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
26109         Output "Does Emacs use cairo?".
26110         * lisp/version.el (emacs-version): Add cairo version.
26111         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
26112         (FONT_OBJ): Add comment about ftcrfont.
26113         (ALL_CFLAGS): Add CAIRO_CFLAGS.
26114         (LIBES): Add CAIRO_LIBS.
26115         * src/dispextern.h (struct image): Add cr_data for cairo.
26116         (x_cr_init_fringe): Declare.
26117         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
26118         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
26119         * src/fringe.c (x_cr_init_fringe): New function name that shares code
26120         with w32_init_fringe.
26121         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
26122         * src/ftfont.c (ftfont_info_size); New global variable.
26123         (ftfont_open2): New extern function almost the same as old ftfont_open,
26124         but takes the font_object as argument.
26125         (ftfont_open): Build font object and call ftfont_open2.
26126         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
26127         * src/gtkutil.c (xg_clear_under_internal_border)
26128         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
26129         Only queue_draw if not cairo.  Change args to x_clear_area.
26130         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
26131         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
26132         (xg_print_frames_dialog): New functions for printing.
26133         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
26134         (xg_print_frames_dialog): Declare.
26135         * src/image.c: Add defined (USE_CAIRO) for PNG.
26136         Add !defined USE_CAIRO for W32 PNG code.
26137         (x_clear_image): If cairo, destroy the surface in cr_data.
26138         (png_load): Add new cairo compatible implementation.
26139         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
26140         * src/xfns.c: New section Printing.
26141         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
26142         (x-print-frames-dialog): New printing functions.
26143         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo.
26144         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
26145         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
26146         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
26147         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
26148         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
26149         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
26150         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
26151         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
26152         Declare.
26153         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
26154         (max_fringe_bmp, fringe_bmp): New variables.
26155         (x_gc_get_ext_data, x_extension_initialize)
26156         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
26157         (x_set_cr_source_with_gc_foreground)
26158         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
26159         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
26160         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
26161         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
26162         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
26163         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
26164         (x_update_begin): Create cairo surface if needed.
26165         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
26166         (x_update_end): Paint cairo drawing surface to xlib surface.
26167         (x_clear_under_internal_border, x_after_update_window_line): Adjust
26168         arguments to x_clear_area.
26169         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
26170         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
26171         of XSetClipMask.
26172         (x_set_glyph_string_clipping)
26173         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
26174         instead of XSetClipRectangles.
26175         (x_clear_glyph_string_rect, x_draw_glyph_string_background):
26176         Use x_fill_rectangle instead of XFillRectangle.
26177         (x_draw_glyph_string_foreground)
26178         (x_draw_composite_glyph_string_foreground)
26179         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle
26180         instead of XDrawRectangle.
26181         (x_draw_relief_rect): Add code for USE_CAIRO.
26182         Call x_reset_clip_rectangles instead of XSetClipMask.
26183         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
26184         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
26185         instead of XSetClipMask.
26186         (x_draw_image_foreground, x_draw_image_foreground_1):
26187         x_draw_rectangle instead of XDrawRectangle.
26188         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
26189         XFillRectangle.
26190         (x_draw_image_glyph_string): If img has cr_data, use it as
26191         a cairo surface.
26192         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
26193         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
26194         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
26195         x_reset_clip_rectangles instead of XSetClipMask.
26196         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
26197         (x_clear_area1): New function that calls XClearArea.
26198         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
26199         non-cairo.
26200         (x_clear_frame): x_clear_window instead of XClearWindow.
26201         (x_scroll_run): Set frame garbaged if cairo.
26202         (XTmouse_position): Initialize *part to 0.
26203         (x_scroll_bar_create): Adjust arguments to x_clear_area.
26204         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
26205         x_fill_rectangle instead of XFillRectangle.
26206         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
26207         arguments to x_clear_area.
26208         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
26209         (handle_one_xevent): Adjust arguments to x_clear_area.
26210         Destroy cairo surface for frame if ConfigureNotify.
26211         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
26212         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
26213         x_reset_clip_rectangles instead of XSetClipMask.
26214         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
26215         x_reset_clip_rectangles instead of XSetClipMask.
26216         (x_clear_frame_area): Adjust arguments to x_clear_area.
26217         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
26218         (x_term_init): Call x_extension_initialize if cairo.
26219         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
26220         x_cr_destroy_fringe_bitmap for cairo.
26221         (x_initialize): Call x_cr_init_fringe for cairo.
26222         * src/xterm.h: Add include of cairo header files.
26223         (x_bitmap_record): Add img if cairo.
26224         (x_gc_ext_data): New struct for cairo.
26225         (x_display_info): Add ext_codes for cairo.
26226         (x_output): Add cr_context and cr_surface for cairo.
26227         (x_clear_area): Change arguments from Display*/Window to frame pointer.
26228         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
26229         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
26230         (x_cr_draw_frame, x_cr_export_frames): Declare.
26232 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
26234         Fix integer-valued `mouse-highlight' (Bug#20590)
26235         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
26237 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
26239         MS-Windows followup for ASCIIfication of curved quotes
26240         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
26241         test for curved quotes being displayable, after switching the
26242         terminal encoding.  (Bug#20545)
26244 2015-05-17  Jan D  <jan.h.d@swipnet.se>
26246         Add comment that x_shift_glyphs_for_insert is never called
26247         * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface):
26248         Add comment that this function is never called.
26250 2015-05-16  Glenn Morris  <rgm@gnu.org>
26252         * src/lisp.mk: Remove from repository and generate at build-time.
26253         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
26254         (shortlisp_filter): New variable.
26255         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
26256         (distclean): Remove lisp.mk.
26257         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
26258         * lisp/loadup.el: Tweak layout to make it easier to parse.
26259         * make-dist: Do not distribute src/lisp.mk.
26261 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
26263         Display shorter dates in Git annotate output
26264         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
26265         format (when not overridden with vc-git-annotate-switches).
26266         (vc-git-annotate-time): Support the short format, as well as ISO
26267         8601 that has been used until now (bug#5428).
26269 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
26271         ASCIIfy curved quotes on displays lacking them
26272         * lisp/international/mule-cmds.el (set-locale-environment):
26273         If curved quotes don't work, display straight ASCII approximations
26274         (Bug#20545).
26276 2015-05-16  Glenn Morris  <rgm@gnu.org>
26278         Small src/Makefile simplification
26279         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
26280         * src/Makefile.in (lisp): Derive from shortlisp.
26281         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
26283 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
26285         * lisp/help-mode.el (help-go-forward): Doc fix.
26286         (Bug#20577)
26288         * doc/lispref/debugging.texi (Profiling): Improve indexing.
26289         (Bug#20576)
26291 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
26293         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
26294         have one fewer `not'.
26296         * lisp/vc/vc-git.el (vc-git-diff-switches)
26297         (vc-git-annotate-switches, vc-git-resolve-conflicts)
26298         (vc-git-program, vc-git-root-log-format): Remove the redundant
26299         :group declarations.
26301 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
26303         Removes the predicate from lisp-complete-symbol (Bug#20456)
26304         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
26305         and remove it from the docstring.
26307 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
26309         Add new option vc-git-resolve-conflicts
26310         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
26311         (vc-git-find-file-hook): Add to after-save-hook only when the
26312         above is non-nil.
26313         (vc-git-resolve-when-done): Update to honor the new variable.
26314         (Bug#20292)
26316 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
26318         * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string.
26319         (tabulated-list-init-header): Document new behavior.
26320         (tabulated-list-print-fake-header): Do nothing if
26321         `tabulated-list--header-string' is nil.
26322         (tabulated-list--header-string): Add a docstring.
26323         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
26324         * etc/NEWS: Document it.
26326 2015-05-15  Leo Liu  <sdl.web@gmail.com>
26328         Revert "Fix cps--gensym"
26329         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
26330         fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
26332 2015-05-15  Glenn Morris  <rgm@gnu.org>
26334         Replace AC_SUBST_FILE in configure with include in Makefiles
26335         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
26336         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
26337         (AUTO_DEPEND): New output variable.
26338         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
26339         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
26340         (lwlib_deps_frag): Replace by conditional include.
26341         * lwlib/autodeps.mk: Remove file.
26342         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
26343         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
26344         (oldxmenu_deps_frag): Replace by conditional include.
26345         * oldXMenu/autodeps.mk: Remove file.
26346         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
26347         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
26348         (lisp_frag): Replace by an include.
26349         (deps_frag): Replace by conditional include.
26350         * src/autodeps.mk: Remove file.
26352         Tweak japanese.el's loading of dependencies
26353         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
26354         * lisp/language/japanese.el: Use require rather than load.
26355         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
26356         Provide a feature.
26357         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
26358         Provide a feature in the generated file.
26360 2015-05-15  Jan D  <jan.h.d@swipnet.se>
26362         Fix NS warnings
26363         * src/nsmenu.m (ns_popup_dialog)
26364         * src/nsimage.m (initFromXBM:width:height:fg:bg:)
26365         * src/nsfns.m (Fx_create_frame): Remove unused variables.
26366         (Fns_read_file_name): Initialize fname, remove ret.
26367         * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
26368         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown):
26369         Remove unused variable.
26370         (init): Add parantesis in if.
26371         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
26373 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
26375         Fix a enum conversion warning in macfont.m
26376         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
26377         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
26379 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
26381         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
26382         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
26384 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
26386         * lisp/cus-start.el: Add ns-confirm-quit.
26388         Fix warnings on OSX 10.10
26389         * src/nsfns.m (MODAL_OK_RESPONSE): New define for different
26390         OSX versions.
26391         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
26392         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
26393         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:)
26394         * src/nsimage.m (allocInitFromFile, setPixmapData): Only call
26395         setScalesWhenResized for OSX < 10.6.
26396         * src/nsterm.h (EmacsScroller): Declare scrollerWidth.
26397         * src/nsterm.m (ns_copy_bits): New function that does not use
26398         deprecated NSCopyBits.
26399         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
26400         (runAlertPanel): New function.
26401         (applicationShouldTerminate:): Call runAlertPanel.
26402         (initFrameFromEmacs, toggleFullScreen:): Only call
26403         useOptimizedDrawing for OSX < 10.10.
26404         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
26405         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
26406         (draggingEntered:): Returns NSDragOperation.
26407         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
26409 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
26411         * lisp/emacs-lisp/package.el: Don't ensure-init during startup.
26412         (package--init-file-ensured): New variable.
26413         (package-initialize, package--ensure-init-file): Use it.
26415 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
26417         Honor :fore/background for XBM on NS (Bug#14969)
26418         * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
26419         initFromXBM takes bg, fg args, remove flip arg.
26420         (ns_image_from_XBM): Add bg, fg args.
26421         * src/image.c (x_create_bitmap_from_data)
26422         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
26423         * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to
26424         initFromXBM.  Remove flip arg.
26425         (initFromSkipXBM): Move code to initFromXBM.
26426         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
26427         Use fg, bg from args (Bug#14969).  Remove if (length) section, was
26428         always false.
26429         Remove bit flipping (bitPat, swt), generated incorrect images when
26430         width/height wasn't a multiple of 8.
26431         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
26432         * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args,
26433         remove flip arg.
26435 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
26437         * lisp/emacs-lisp/package.el: Be more careful with the init file.
26438         (package--ensure-init-file): Check that user-init-file is set,
26439         exists, is readable, and is writable.  (Bug#20584)
26440         Also expand the docstring.
26442 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
26444         Sync with upstream verilog-mode revision 6232468
26445         * lisp/progmodes/verilog-mode.el
26446         (verilog-font-lock-grouping-keywords-face)
26447         (verilog-highlight-grouping-keywords): Fix use of face when
26448         `verilog-highlight-grouping-keywords' set.  Reported by Jeff Pompa.
26449         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
26450         parent is reset, bug906.  Reported by Ken Schmidt.
26451         (verilog-auto-inout-module): Add fourth regexp argument to
26452         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856.
26453         Reported by John Tillema.
26454         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
26455         modport if signal attachment is itself a modport.  Reported by
26456         Matthew Lovell.
26457         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
26458         always_comb and always_latch, bug844.  Reported by Greg Hilton.
26459         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
26460         with many curly-bracket pairs, bug663.
26461         (verilog-set-auto-endcomments): Fix end comments for functions of
26462         type void, etc.  Reported by Alex Reed.
26463         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
26464         caused by indent-line-to deleting tabls pre 24.5.
26465         (verilog-nameable-item-re): Fix nameable items that can have an
26466         end-identifier to include endchecker, endgroup, endprogram,
26467         endproperty, and endsequence.  Reported by Alex Reed.
26468         (verilog-label-be): When auto-commenting a buffer, consider
26469         auto-comments on all known keywords (not just a subset thereof).
26470         Reported by Alex Reed.
26471         (verilog-auto-end-comment-lines-re)
26472         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
26473         Automatically comment property/endproperty blocks to match other
26474         similar blocks like sequence/endsequence, function/endfunction, etc.
26475         Reported by Alex Reed.
26476         (verilog-set-auto-endcomments): Detect the function- or task-name
26477         when auto-commenting blocks that lack an explicit portlist.
26478         Reported by Alex Reed.
26479         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
26480         allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
26481         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
26482         is nil, fix indenting initial/final to match always statements,
26483         bug825.  Reported by Tim Clapp.
26484         (verilog-extended-complete-re): Fix indentation of DPI-C imports
26485         with c_identifiers, and DPI-C imports, bug557.  Reported by ZeDong
26486         Mao and Jason Forkey.
26487         (verilog-read-decls): Fix parsing typed interfaces.  Fix
26488         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
26489         Fix localparam not being ignored in AUTOINSTPARAM,
26490         bug889.  Reported by Shannon Hill.
26491         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
26492         bug793.  Reported by Pierre-David Pfister.
26493         (verilog-auto-arg-format, verilog-auto-arg-ports):
26494         Add verilog-auto-arg-format to support newlines in AUTOARG.
26495         Reported by Jie Xiao.
26496         (verilog-batch-execute-func): Do not batch re-auto files loaded by
26497         Local Variables.  Fix printing "no changes to be saved" with
26498         verilog-batch.  Reported by Dan Dever.
26499         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
26500         interface-only modules, bug721.  Reported by Dean Hoyt.
26501         Author: Alex Reed <acreed4@gmail.com>
26502         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement):
26503         Don't treat '<keyword>:<identifier>' as the start of a labeled
26504         statement, bug905.  Reported by Enzo Chi.
26505         (verilog-directive-re, verilog-compiler-directives)
26506         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
26507         directives (plus some extras) when determining indentation, bug
26508         901.  Reported by Bernd Beuster.
26509         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
26510         iff expression doesn't start with word-character, bug900.
26511         (verilog-optional-signed-range-re, verilog-optional-signed-re):
26512         Fix incorrect indentation/alignment of unsigned declarations,
26513         bug897.
26514         (verilog-looking-back, verilog-in-attribute-p): Fix labeling of
26515         always constructs, bug895.
26516         (verilog-calc-1): Fix verilog-mode constraint indentation, bug324.
26517         Reported by Eric Mastromarchi.
26518         (verilog-beg-of-statement): Fix indenting for some forms of
26519         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
26520         continued assignment incorrect if first line ends with ']', bug437.
26521         Reported by Dan Dever.  Fix indention of cover inside an
26522         ifdef, bug 862.  Reported by Bernd Beuster.  Fix labeling do-while
26523         blocks, bug842.
26524         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859.
26525         Reported by Kaushal Modi.
26526         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
26527         (verilog-backward-token): Fix indenting sensitivity lists with
26528         named events, bug840.  Reed.
26529         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
26530         nil not honoring 'forever', 'foreach', and 'do' keywords.
26532 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
26534         Check for invalid GTK+ monitor scales
26535         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
26536         INT_MAX for too-large scales.  All callers changed to assume the
26537         result is valid (Bug#20432).
26538         (xg_frame_set_char_size, xg_update_scrollbar_pos):
26539         Calculate scale only if needed.
26540         Show ASCII approximations instead.
26542 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
26544         Fix daemon crashes when linum-mode is turned on early on
26545         * src/window.c (Fwindow_end): Don't try calling display engine
26546         functions on initial-frame frame.  (Bug#20565)
26548         Fix selective diff browsing in Ediff
26549         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches):
26550         Go to the beginning of the region before searching for the
26551         ediff-regexp-focus-* regexps.  (Bug#20568)
26553 2015-05-14  Jan D  <jan.h.d@swipnet.se>
26555         Fixes bug#20142
26556         * src/gtkutil.c (delete_cb): Don't send delete event here, it does
26557         arrive in the main loop, even for Gtk 3 (Bug#20142).
26559         Don't access display after i/o error (Bug#19147).
26560         * src/xterm.c (x_connection_closed): Add third arg ioerror.
26561         If ioerror, set display to 0 (Bug#19147).
26562         (x_error_quitter): Call x_connection_closed with third arg false.
26563         (x_io_error_quitter): Call x_connection_closed with third arg true.
26565         Handle GTK_SCALE, fixes Bug#20432.
26566         * src/gtkutil.c (xg_get_gdk_scale): New function.
26567         (xg_frame_set_char_size)
26568         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
26569         (xg_get_default_scrollbar_height)
26570         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
26571         when setting sizes (Bug#20432).
26573 2015-05-13  Leo Liu  <sdl.web@gmail.com>
26575         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
26577 2015-05-13  Glenn Morris  <rgm@gnu.org>
26579         Fix bootstrap (void function cl-member).
26580         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
26581         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
26583 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
26585         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
26586         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
26587         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
26588         Avoid defalias for closures which are not immutable.
26589         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill
26590         the dispatchers table with various entries.
26591         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
26592         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
26594 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
26596         Improve tagging of C bindings in DEFVAR_*
26597         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
26598         from DEFVAR_*.
26600 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
26602         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
26604 2015-05-12  Glenn Morris  <rgm@gnu.org>
26606         * lisp/progmodes/tcl.el (tcl-filter):
26607         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
26609         Add basic VC push support
26610         * lisp/vc/vc.el (vc-push): New autoloaded command.
26611         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
26612         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
26613         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
26614         (vc-bzr-push): New.
26615         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
26616         (vc-git-pull): Reimplement using vc-git--pushpull.
26617         (vc-git-push): New.
26618         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
26619         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
26620         * doc/emacs/maintaining.texi (Pulling / Pushing):
26621         Rename from "VC Pull".  Mention pushing.
26622         (VC With A Merging VCS, VC Change Log): Update xrefs.
26623         (Branches): Update menu.
26624         * doc/emacs/emacs.texi: Update menu.
26625         * etc/NEWS: Mention this.
26627 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
26629         Improve the seq pcase pattern and the `seq-let' macro
26630         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
26631         object is a sequence, and binds each element of ARGS to the
26632         corresponding element of the sequence.
26634 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
26636         Fix tags created from DEFVAR_* declarations in C
26637         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
26638         to make tags extracted from DEFVAR_* declarations more accurate.
26640         Add a test suite for etags
26641         * test/etags/: New test suite, adapted from
26642         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
26643         whose original author is Francesco Potortì <pot@gnu.org>.
26645         Fix tagging of symbols in C enumerations
26646         * lib-src/etags.c (consider_token): Don't tag symbols in
26647         expressions that assign values to enum constants.  See
26648         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
26649         for details.
26650         (C_entries): Reset fvdef to fvnone after processing a preprocessor
26651         conditional and after a comma outside of parentheses.
26653 2015-05-12  Glenn Morris  <rgm@gnu.org>
26655         * lisp/url/url-handlers.el (url-file-name-completion)
26656         (url-file-name-all-completions): Silence compiler.
26658         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
26660         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
26662 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
26664         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
26665         (cl--generic-mandatory-args): Remove.
26666         (cl--generic-split-args): New function.
26667         (cl-generic-define, cl--generic-lambda): Use it.
26668         (cl-generic-define-method): Use it as well, and add support for
26669         context args.
26670         (cl--generic-get-dispatcher): Handle &context dispatch.
26671         (cl--generic-cache-miss): `dispatch-arg' can now be a
26672         context expression.
26673         (cl--generic-dispatchers): Pre-fill.
26674         * test/automated/cl-generic-tests.el (sm-generic-test-12-context):
26675         New test.
26677 2015-05-11  Glenn Morris  <rgm@gnu.org>
26679         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
26681 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
26683         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
26684         * lisp/term/rxvt.el: Require term/xterm.
26685         (rxvt-function-map): Use xterm-rxvt-function-map.
26686         (rxvt-standard-colors): Move before first use.
26687         (terminal-init-rxvt): Use xterm--push-map and
26688         xterm-register-default-colors.
26689         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
26690         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
26691         Move shared bindings between rxvt and xterm to it.
26692         (xterm-function-map): Use it.  Move the xterm-paste binding to
26693         xterm-rxvt-function-map (bug#20444).
26694         (xterm-standard-colors): Move before first use.
26695         (xterm--push-map): New function.
26696         (xterm-register-default-colors): Take standard colors as argument.
26697         (terminal-init-xterm): Use it.  Adjust call to
26698         xterm-register-default-colors.
26700 2015-05-11  Glenn Morris  <rgm@gnu.org>
26702         * lisp/term/x-win.el: Quieten --without-x compilation.
26703         (x-own-selection-internal, x-disown-selection-internal)
26704         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
26705         Declare.
26707         * Makefile.in (emacslog): Remove srcdir.
26708         (ChangeLog): Update for the above.
26710 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
26712         python.el: better limit for looking-back calls
26713         * lisp/progmodes/python.el (python-shell-accept-process-output):
26714         Use last comint prompt start as limit for looking-back.
26716 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
26718         CEDET (srecode-insert-fcn): Fix use of oref on a class
26719         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref
26720         on a class.  Reported by Pierre Lorenzon.
26721         (srecode-template-inserter-point): Remove declaration.
26723         CEDET (srecode-create-dictionary): Avoid obsolete object name
26724         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
26725         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
26727 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
26729         C-x 8 shorthands for curved quotes, Euro, etc.
26730         Although C-x 8 lets you insert arbitrary Unicode characters,
26731         it's awkward to use this to insert commonly used symbols such as curved
26732         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
26733         characters commonly found in English text and in basic math.
26734         For example, assuming the Alt key works on your keyboard and iso-transl
26735         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
26736         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
26737         (Bug#20499)
26738         * doc/emacs/mule.texi (Unibyte Mode):
26739         A few other printing characters now work too.
26740         * etc/NEWS: Document this.
26741         * lisp/international/iso-transl.el (iso-transl-char-map):
26742         Also support the following characters:
26743         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
26745 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
26747         Add xref-find-regexp
26748         * lisp/progmodes/xref.el (xref-find-function): Describe the
26749         `matches' action.
26750         (xref-find-regexp): New command, using it.
26751         (xref-collect-references): Rename to xref-collect-matches.
26752         (xref--collect-reference): Rename to xref--collect-match.
26753         (xref-collect-matches, xref--collect-match): Accept new argument,
26754         KIND.  Update accordingly.
26755         (xref--regexp-to-extended): New function.
26756         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
26757         `matches' action.
26758         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
26759         * lisp/progmodes/etags.el (etags-xref-find):
26760         Support the `matches' action.
26761         (etags--xref-find-matches): New function.
26763 2015-05-10  Glenn Morris  <rgm@gnu.org>
26765         * Makefile.in: Fixes for recent change-history changes.
26766         (change-history-nocommit): Update footer regexp.
26767         Ensure output script stays executable.
26769 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
26771         New version of `seq-let' based on a pcase pattern
26772         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
26773         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
26775 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
26777         Add basic HTML5 tags and a template
26778         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
26779         (html-tag-alist): Add HTML5 tags.
26780         (html-tag-help): Add new tags descriptions.
26781         (html-navigational-links): Template for nav links.
26782         (html-html5-template): Template for a HTML5 page.
26784 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
26786         semantic/symref/grep: Don't use word boundaries
26787         * lisp/cedet/semantic/symref/grep.el
26788         (semantic-symref-perform-search): Instead of wrapping input in
26789         word boundaries, check that the characters before and after are
26790         not word constituents.
26792         semantic/symref/grep: Support regexp search
26793         * lisp/cedet/semantic/symref.el
26794         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
26795         the search type is regexp.
26796         * lisp/cedet/semantic/symref/grep.el
26797         (semantic-symref-perform-search): Support the regexp search type.
26798         Pass -E to Grep when it's used.
26800         semantic-symref-regexp: Allow to input an arbitrary string
26801         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
26802         Allow to input an arbitrary string interactively.
26804         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
26805         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
26806         Remove tag-symbol-match-p from the default value
26807         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
26809         Declare find-tag obsolete
26810         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
26811         xref-find-definitions.
26813 2015-05-10  Jan D  <jan.h.d@swipnet.se>
26815         Draw composite string correctly (Bug#20537)
26816         * src/nsterm.m (ns_draw_composite_glyph_string_foreground):
26817         New function.
26818         (ns_draw_glyph_string): Call it.
26820 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
26822         Avoid infloop in ERC
26823         * lisp/simple.el (line-move-to-column): Ignore field boundaries
26824         while computing line beginning position.  (Bug#20498)
26826 2015-05-08  Glenn Morris  <rgm@gnu.org>
26828         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
26829         * build-aux/gitlog-to-emacslog: Check called from right directory.
26830         (srcprefix): Remove.
26832         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
26833         * Makefile.in (ChangeLog): No longer pass "distprefix".
26834         * make-dist: Update "make ChangeLog" syntax for the above change.
26836         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
26837         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
26839         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
26841         Add command-line option-parsing to gitlog-to-emacslog
26842         * build-aux/gitlog-to-emacslog: Add command-line options.
26843         By default, refuse to remove an existing output file.
26844         * Makefile.in (CHANGELOG): Update default.
26845         (ChangeLog): Do not test for existing file.
26846         (change-history-nocommit): Ensure temp file does not exist.
26848         Quieten --without-x compilation
26849         * lisp/term/common-win.el: Provide a feature.
26850         * lisp/term/x-win.el (term/common-win): Require it.
26852         * lisp/dired-aux.el (dired-do-print): Require lpr.
26854         Quieten compilation, eg in --without-x builds
26855         * lisp/dired-aux.el (lpr-printer-switch):
26856         * lisp/frame.el (tool-bar-height):
26857         * lisp/linum.el (font-info):
26858         * lisp/window.el (font-info, overflow-newline-into-fringe)
26859         (tool-bar-height):
26860         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
26861         * lisp/gnus/gnus-util.el (iswitchb-mode):
26862         * lisp/mail/rmailmm.el (libxml-parse-html-region):
26863         * lisp/net/nsm.el (gnutls-peer-status)
26864         (gnutls-peer-status-warning-describe):
26865         * lisp/net/shr.el (libxml-parse-xml-region):
26866         * lisp/url/url-http.el (gnutls-peer-status): Declare.
26868 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
26870         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
26871         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
26872         `subclass' since they're never called with a class.
26873         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
26874         srecode-dictionary-child-p.
26876 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
26878         * lisp/help.el (help--binding-locus): Document argument POSITION.
26879         (Bug#20530)
26881 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
26883         Merge from gnulib
26884         * doc/misc/texinfo.tex: Get latest version.
26886 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
26888         ffap.el (ffap-read-file-or-url): Fix completing-read call
26889         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
26890         `completing-read' should be a symbol.
26892 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
26894         Verify file modifications by other programs
26895         * src/filelock.c (lock_file): Check whether the file was modified
26896         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
26898         Fix keyboard macros that include function keys
26899         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
26900         keys in the macro before returning.  (Bug#20454)
26902 2015-05-08  Glenn Morris  <rgm@gnu.org>
26904         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
26905         "Copyright-paperwork-exempt".  (Bug#20324)
26907         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
26908         (log-edit-rewrite-tiny-change): New variable.
26909         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
26910         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
26911         * etc/NEWS: Mention this.
26913         * lisp/calc/calc.el (math-zerop): Declare.
26915         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
26917 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
26919         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec.
26920         Support the case when BINDINGS is a single tuple.  (Bug#20525)
26922         * etc/NEWS: Fix typo in previous commit
26923         (14bb519f1034ddb38ce375cbad7095d9b07f8b26).
26925 2015-05-07  Jan D  <jan.h.d@swipnet.se>
26927         * configure.ac: Warn for multiple display crash for all Gtk+ versions.
26928         Output URL to Gtk+ bug (Bug#20452).
26930         * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection.
26932 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
26934         * lisp/emacs-lisp/package.el: New "external" package status.
26935         An external package is any installed package that's not built-in
26936         and not from `package-user-dir', which usually means it's from an
26937         entry in `package-directory-list'.  They are treated much like
26938         built-in packages, in that they cannot be through the Package Menu
26939         deleted and are not considered for upgrades.
26940         (package-desc-status): Identify if a package is installed outside
26941         `package-user-dir'.
26942         (package-menu--print-info-simple)
26943         (package-menu--status-predicate): Add support for it.
26944         * etc/NEWS: Document it.
26946 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
26948         * lisp/mail/rmail.el: Use lexical-binding.
26949         (rmail-bury): Remove unused var `buffer-to-bury'.
26950         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
26951         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
26952         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
26953         (rmail-insert-inbox-text): Remove unused var `movemail'.
26954         (rmail-add-mbox-headers): Remove unused var `limit'.
26955         (rmail-undelete-previous-message): Remove unused var `value'.
26956         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
26957         `resent-reply-to'.
26958         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
26959         (rmail-restore-desktop-buffer): Rename arguments.
26961 2015-05-06  Glenn Morris  <rgm@gnu.org>
26963         * Makefile.in (change-history-commit): Add missing piece of previous.
26965         Avoid unnecessary bumping of Makefile.in's timestamp
26966         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
26967         (emacslog): New variable.
26968         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
26969         (unchanged-history-files): Use $emacslog rather than Makefile.in.
26970         (change-history-nocommit): Store hash in $emacslog.
26971         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
26972         * admin/update_autogen (changelog_files): Update for the above.
26974         * Makefile.in: Don't always insist on removing existing "ChangeLog".
26975         (CHANGELOG): New variable.
26976         (no-ChangeLog): Remove.
26977         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
26978         (change-history-nocommit): Use a temp file rather than insisting
26979         on deletion of any existing "ChangeLog".
26981         * build-aux/gitlog-to-emacslog: Allow specification of output.
26983         * admin/update_autogen: Add option to update ChangeLog.
26984         (usage): Mention -H.
26985         (changelog_flag, changelog_n, changelog_files): New variables.
26986         (main): Check for -H, and maybe run change-history-nocommit.
26988 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
26990         * lisp/subr.el (delete-dups): Pre-size the hashtable.
26992         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
26993         cl--arglist-args is defined (bug#20517).
26995 2015-05-06  Glenn Morris  <rgm@gnu.org>
26997         * Makefile.in (change-history-nocommit): New.
26999 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
27001         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
27002         timer when it is non-nil
27003         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
27005 2015-05-06  Glenn Morris  <rgm@gnu.org>
27007         Quieten CEDET compilation
27008         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
27009         Invert fboundp test to quieten on current Emacs.
27010         * lisp/cedet/ede/config.el (ede-shell-run-something)
27011         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
27012         (semanticdb-refresh-table): Declare.
27013         (ede-preprocessor-map): Require semantic/db.
27015         Quieten cc-mode compilation
27016         * lisp/progmodes/cc-awk.el (c-forward-sws):
27017         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
27018         Declare.
27020 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
27022         * lisp/subr.el (delete-dups): Avoid nreverse.
27024 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
27026         * lisp/subr.el (delete-dups): Make it destructive again.
27028 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
27030         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
27032 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
27034         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487).
27035         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
27036         (testcover--read): Rename from testcover-read.  Change calling
27037         convention.  Use edebug-read-and-maybe-wrap-form now that edebug-read
27038         is gone.
27039         (testcover-start): Use add-function.  Move edebug-all-defs binding to
27040         testcover--read.
27041         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
27042         (testcover-mark): Remove unused var `item'.
27043         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
27045 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
27047         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
27048           use a hash table.  This can result in ~500 times speed-up for typical
27049           collections of size 5000, like that of `load-library'.
27051 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
27053         CEDET: Avoid `oref' on classes in a few more cases
27054         * lisp/cedet/ede/generic.el (ede-find-target):
27055         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
27056         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
27057         var `prefix'.
27059         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings.
27060         (grepflags, greppattern): Declare.
27061         (semantic-symref-perform-search): Remove unused var `pat'.
27063         CEDET (srecode-compile-inserter): Avoid `oref' on classes
27064         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
27065         Avoid `oref' on classes (bug#20491).
27066         (srecode-compile-split-code): Remove unused var `key'.
27068 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
27070         Clean up pulse.el a little
27071         * lisp/cedet/pulse.el (pulse): Remove.
27072         (pulse-momentary-timer): Save instead of the stop time.
27073         (pulse-momentary-highlight-overlay):
27074         Call pulse-momentary-unhighlight first thing.
27075         Treat pulse-momentary-overlay as a single value, not a list.
27076         Save the created timer.  Only pass the stop time to the timer.
27077         (pulse-tick): Update accordingly.
27078         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
27079         single value.  Cancel the timer.
27081 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
27083         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
27084         Support the biblatex journaltitle field.
27086 2015-05-05  Glenn Morris  <rgm@gnu.org>
27088         Minor declare-function improvement
27089         * lisp/emacs-lisp/bytecomp.el
27090         (byte-compile-macroexpand-declare-function):
27091         Handle declarations after calls.  (Bug#20509)
27093         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
27095         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
27097 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
27099         Pulse using a timer
27100         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
27101         (pulse-momentary-highlight-overlay): Set up the timer instead of
27102         calling `pulse'
27103         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
27104         (pulse-tick): New function.
27105         (pulse-momentary-unhighlight): Cut off the stop time.
27106         (pulse-delay): Update the docstring WRT to not using sit-for.
27108         Add semantic/symref/grep file patterns for ruby-mode
27109         * lisp/cedet/semantic/symref/grep.el
27110         (semantic-symref-filepattern-alist): Add patterns for ruby-mode.
27111         Clarify the docstring.
27113         Don't require match
27114         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
27115         match.  That doesn't work for every command, and some identifier
27116         completion tables are bound to be imperfect anyway.
27118 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
27120         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505).
27121         (semantic-grammar--template-expand): New function.
27122         (semantic-grammar-header, semantic-grammar-footer): Use it.
27123         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
27124         (semantic-grammar-file-regexp): Refine regexp.
27125         (semantic-grammar-eldoc-get-macro-docstring):
27126         Use elisp-get-fnsym-args-string when available.
27127         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
27128         instead of the old eldoc-* names.
27129         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
27130         from elisp-mode.el.  Tweak calling convention.
27131         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
27132         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
27133         elisp--get-fnsym-args-string.
27134         (elisp--highlight-function-argument): Add `prefix' arg.
27135         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
27136         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
27138 2015-05-05  Glenn Morris  <rgm@gnu.org>
27140         * lisp/help-fns.el (describe-function-1):
27141         Handle builtins with advertised calling conventions.  (Bug#20479)
27143 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
27145         Merge branch 'seq-let'
27147         Update `seq-let' documentation
27148         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
27149         with the support of  `&rest'.
27151         Add support for &rest in `seq-let'
27152         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
27153         in the argument list.
27154         * test/automated/seq-tests.el: Add a test for parsing and binding
27155         `&rest' in `seq-let'.
27157 2015-05-05  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
27159         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get):
27160         Add missing increment (Bug#20467).
27161         (eieio-object-value-create): Adjust to new slots representation
27162         (Bug#20467).
27163         (eieio-object-value-create): Fix missed adjustment to new
27164         representation of slots metadata.
27166 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
27168         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
27170 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
27172         Work around "Attempt to modify read-only object"
27173         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
27174         elisp--xref-find-definitions, to work around "Attempt to modify
27175         read-only object" error.
27177         Only skip some variables that have function counterparts
27178         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
27179         Only skip minor-mode-named variable if it's defined in a Lisp
27180         file, and it's in minor-mode-list (bug#20506).
27181         * test/automated/elisp-mode-tests.el
27182         (elisp-xref-finds-both-function-and-variable)
27183         (elisp-xref-finds-only-function-for-minor-mode): New tests.
27185 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
27187         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
27188         previous change.
27189         (xref--insert-xrefs): Buttonize the whole line, including the
27190         number at the beginning.
27192         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
27193         Make sure we're inside the let bindings.
27194         * test/automated/elisp-mode-tests.el
27195         (elisp-completes-functions-after-let-bindings): New test.
27197 2015-05-04  Glenn Morris  <rgm@gnu.org>
27199         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
27200         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
27201         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
27202         Remove outdated declarations.
27204         Replace instances of "(eval-when-compile (autoload ...))"
27205         * lisp/gnus/gnus-art.el (nneething-get-file-name):
27206         Declare rather than autoload.
27207         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
27208         Remove pointless autoload.
27209         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
27210         (gnus-topic-create-topic, gnus-topic-enter-dribble):
27211         Declare rather than autoload.
27212         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
27213         (mailcap-extension-to-mime): Autoload at run-time.
27214         * lisp/gnus/mm-util.el (latin-unity-massage-name)
27215         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
27216         (latin-unity-representations-present-region):
27217         Declare rather than autoload.
27218         * lisp/gnus/mml-smime.el (epg-make-context)
27219         (epg-passphrase-callback-function): Autoload at run-time.
27220         (epg-context-set-signers, epg-context-result-for)
27221         (epg-new-signature-digest-algorithm)
27222         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
27223         (epg-sign-string, epg-encrypt-string)
27224         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
27225         (epg-configuration, epg-expand-group, epa-select-keys):
27226         Declare rather than autoload.
27227         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
27228         Autoload at run-time.
27229         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
27230         (gnus-registry-get-id-key, gnus-registry-action):
27231         Declare rather than autoload.
27232         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
27233         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
27234         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
27235         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
27236         (spam-stat-split-fancy): Remove pointless autoloads.
27237         * lisp/net/mairix.el: Load gnus-util when compiling.
27238         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
27239         (message-field-value): Declare rather than autoload.
27240         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
27241         Check gnus-alive-p is fbound.
27242         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
27243         (vm-check-for-killed-summary, vm-error-if-folder-empty)
27244         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
27245         Declare rather than autoload.
27247         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
27249         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
27250         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
27252         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
27254         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
27256         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
27257         * lisp/emacs-lisp/package.el (epg-signature-status):
27258         Fix declarations.
27260         * lisp/play/gametree.el (gametree-show-children-and-entry)
27261         (gametree-apply-layout, gametree-mouse-show-subtree)
27262         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
27264         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
27265         Handle cl-defgeneric, cl-defmethod.
27267 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
27269         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
27270         Highlight both type and symbol name.
27272         Insert, highlight and align line numbers in xref output
27273         * lisp/progmodes/etags.el (xref-location-line): Specialize for
27274         xref-etags-location.
27275         * lisp/progmodes/xref.el (xref-location-line): New generic method.
27276         (xref-file-location): Add reader for the line slot.
27277         (xref--location-at-point): Skip to the `xref-location' property.
27278         (xref--collect-reference): Drop the line number from description.
27279         (xref--insert-xrefs): Insert, highlight and align line numbers.
27281 2015-05-04  Daniel Colascione  <dancol@dancol.org>
27283         * lisp/simple.el (save-mark-and-excursion--save)
27284         (save-mark-and-excursion--restore): Fix previous commit
27285         (255a011f0ecf004b31c59945b10154b10fac3af1).
27287 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
27289         Don't pulse the indentation, or the newline
27290         * lisp/cedet/pulse.el (pulse-lighten-highlight)
27291         (pulse-reset-face): Fall back to the inherited background
27292         attribute in FACE.
27293         (pulse-momentary-highlight-region): Add autoload cookie.
27294         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
27295         indentation, or the newline, if the line's non-empty
27296         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
27298 2015-05-04  Daniel Colascione  <dancol@dancol.org>
27300         Add `save-mark-and-excursion', which has the old
27301         `save-excursion' behavior
27302         * doc/lispref/positions.texi (Excursions):
27303         Document `save-mark-and-excursion'.
27304         * lisp/font-lock.el (font-lock-fontify-block):
27305         Use `save-mark-and-excursion' instead of `save-excursion',
27306         restoring Emacs 24 behavior.
27307         * lisp/simple.el (save-mark-and-excursion--save)
27308         (save-mark-and-excursion--restore): New functions.
27309         (save-mark-and-excursion): New user macro.
27310         * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion'
27311         in `save-excursion' documentation.
27313 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
27315         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
27316         Classify lone symbol inside let varlist as variable.
27317         * test/automated/elisp-mode-tests.el
27318         (completest-variables-in-let-bindings): New test.
27320         Add xref-pulse-on-jump
27321         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
27322         Add autoload cookie.
27323         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
27324         (xref--maybe-pulse): New function.
27325         (xref-pop-marker-stack, xref--pop-to-location)
27326         (xref--display-position): Use it.
27327         (xref--location-at-point): Use back-to-indentation.
27329 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
27331         lisp/org/org-{macs,list}.el: Fix lexical warnings
27332         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
27333         (org-list-get-next-item, org-list-get-prev-item)
27334         (org-list-get-children): Mark unused arg `struct'.
27335         (org-list-use-alpha-bul-p): Remove unused var `bul'.
27336         (org-toggle-checkbox): Mark unused var.
27337         (org-update-checkbox-count): Remove unused var `box-num'.
27338         (org-adapt-indentation): Declare.
27339         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
27340         (org-list-send-list): Remove unused var `txt'.
27341         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
27342         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
27343         * lisp/org/org-macs.el: Use `declare'.
27344         (org-with-limited-levels): Declare dyn-bound vars.
27346 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
27348         Fix minor issues with CEDET on MS-Windows
27349         * lisp/cedet/semantic/symref/idutils.el
27350         (semantic-symref-parse-tool-output-one-line): Fix the search
27351         regexp to match MS-Windows file names with drive letters.
27352         (Bug#19468)
27353         * lisp/cedet/semantic/symref/grep.el
27354         (semantic-symref-grep-use-template): Remove "--color=always" from
27355         Grep switches on MS-Windows.
27356         (semantic-symref-grep-shell): Use shell-file-name as the default
27357         value, so this works not only on Posix platforms.
27358         (semantic-symref-perform-search): Use shell-quote-argument instead
27359         of literal '..' for portable quoting of Grep command-line
27360         argument.  Use shell-command-switch instead of a literal "-c".
27361         * lisp/cedet/semantic/bovine/gcc.el
27362         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
27363         for an absolute file name in a portable way.
27365 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
27367         * lisp/emacs-lisp/package.el: Remove `package--silence' variable.
27368         (package-import-keyring, package-refresh-contents)
27369         (package-compute-transaction, package--save-selected-packages)
27370         (package-install-from-archive, package-delete)
27371         (package-menu--perform-transaction): Use `inhibit-message' instead.
27372         (package--compile): Set `warning-minimum-level' to :error.
27374 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
27376         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom.
27377         (terminal-init-screen): Use it (bug#20356).
27378         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
27379         (xterm--extra-capabilities-type): New const.
27380         (xterm-extra-capabilities): Use it.
27381         (xterm--version-handler): Lower the pseudo-version for `screen'.
27383 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
27385         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
27386         Always insert a newline at the end (to avoid mouse-face background
27387         tail at the last line).
27389         elisp-completion-at-point: Prioritize being quoted over funpos
27390         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
27391         Only consider function position when not inside quoted form
27392         (bug#20425).
27393         * test/automated/elisp-mode-tests.el: New file.
27395         Stop vc-print-log from jumping to the top
27396         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
27397         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
27398         is not specified.
27399         (vc-incoming-outgoing-internal): Always pass nil.
27400         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
27401         call it, and don't set vc-sentinel-movepoint (bug#15322).
27402         (vc-print-root-log): Don't fetch the root working revision, nor
27403         pass it to vc-print-log-internal.
27405 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
27407         Fix display of keyboard layouts for right-to-left scripts
27408         * lisp/international/quail.el (quail-insert-kbd-layout):
27409         Force left-to-right paragraph direction.
27411 2015-05-02  K. Handa  <handa@gnu.org>
27413         * src/cmds.c (internal_self_insert): When we insert spaces for
27414         padding, set point before the padding spaces, not after them.
27416 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
27418         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
27420 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
27422         Fix etags-xref-find for references
27423         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
27424         Use `cl-mapcan'.
27425         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
27426         directory if no tags tables are loaded (bug#19468).
27428 2015-05-02  Philipp Stephani  <phst@google.com>
27430         Update the options in whitespace-style defcustom
27431         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
27432         `repeat' because the option is really set-like.  Add missing
27433         options.  Reorder options to match the order in the
27434         documentation.  (Bug#20346)
27436 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
27438         Fix error diagnostics of c-macro-expand
27439         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
27440         too early if no start-marker string was found -- that generally
27441         means cpp exited abnormally, and we still want to show its error
27442         messages to the user.
27444         Don't require Texinfo 5.0 for Emacs documentation
27445         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
27446         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
27447         "@codequoteundirected on", respectively, to avoid requiring
27448         Texinfo 5.x for Emacs documentation.
27450 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
27452         * lisp/files.el (pwd):
27453         When called with a prefix argument, insert the current default
27454         directory at point.
27456 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
27458         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
27459         * lisp/isearch.el (isearch-mode-map): Don't inhibit
27460         function-key-map remapping for backspace (bug#20466).
27462 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
27464         Implement xref-find-references in etags and elisp-mode
27465         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
27466         (elisp-xref-find): Use it.
27467         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
27468         * lisp/progmodes/xref.el (xref-collect-references):
27469         (xref--collect-reference): New functions.
27471 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
27473         Prefer plain characters to Texinfo circumlocutions
27474         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
27475         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
27477         Fix single-quoting style in PDF manuals
27478         The PDF versions of the GNU manuals used curved single quotes to
27479         represent grave accent and apostrophe, which made it a pain to cut
27480         and paste code examples from them.  Fix the PDF versions to use
27481         grave accent and apostrophe for Lisp source code, keystrokes, etc.
27482         This change does not affect the info files, nor does it affect
27483         ordinary uses of curved single quotes in PDF.
27484         * doc/emacs/docstyle.texi: New file, which specifies treatment for
27485         grave accent and apostrophe, as well as the document encoding.
27486         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
27487         * doc/lispintro/emacs-lisp-intro.texi:
27488         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
27489         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
27490         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
27491         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
27492         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
27493         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
27494         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
27495         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
27496         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
27497         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
27498         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
27499         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
27500         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
27501         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
27502         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
27503         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
27504         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
27505         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
27506         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
27507         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
27508         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
27509         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
27510         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
27511         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
27512         * doc/misc/woman.texi:
27513         Use it instead of '@documentencoding UTF-8', to lessen the need for
27514         global changes like this in the future.
27515         * doc/emacs/Makefile.in (EMACS_XTRA):
27516         * doc/lispintro/Makefile.in (srcs):
27517         * doc/lispref/Makefile.in (srcs):
27518         Add dependency on docstyle.texi.
27519         * doc/misc/Makefile.in (style): New macro.
27520         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
27521         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
27522         Use it.
27524 2015-05-01  Glenn Morris  <rgm@gnu.org>
27526         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
27528         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
27529         (help-fns--signature): Declare.
27531         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
27533 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
27535         New macro seq-let, providing destructuring support to seq.el
27536         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
27537         to `cl-destructuring-bind' but works on all sequence types supported
27538         by `seq.el'.  Bump version number to 1.6.
27539         * test/automated/seq-tests.el: Add tests for seq-let.
27540         * doc/lispref/sequences.texi: Add documentation for seq-let.
27542 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
27544         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer.
27546 2015-05-01  Glenn Morris  <rgm@gnu.org>
27548         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
27550 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
27552         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
27553         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
27554         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
27555         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
27556         (Bug#20445).
27558 2015-05-01  K. Handa  <handa@gnu.org>
27560         * lisp/international/mule-cmds.el (input-method-use-echo-area):
27561         Change :type to 'boolean.
27563 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
27565         Start using proportional fonts in eww by default
27566         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
27567         it seems to work well.
27569         Fix links in tables in shr
27570         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
27571         makes (some) links in tables not work.
27573 2015-05-01  Jan D  <jan.h.d@swipnet.se>
27575         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
27577 2015-04-30  Glenn Morris  <rgm@gnu.org>
27579         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
27580         Update for 2015-02-08 change to indirect-function.
27582         * lisp/term/ns-win.el (ns-get-selection-internal):
27583         Remove declaration for function deleted 2014-10-21.
27585         * lisp/dom.el: Load subr-x when compiling, for when-let.
27587         Silence some compilation warnings
27588         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
27589         * lisp/emulation/cua-base.el (delete-active-region):
27590         * lisp/net/net-utils.el (w32-get-console-output-codepage):
27591         * lisp/term/ns-win.el (ns-own-selection-internal)
27592         (ns-disown-selection-internal, ns-selection-owner-p)
27593         (ns-selection-exists-p, ns-get-selection):
27594         Declare for compiler.
27596         Function declaration updates prompted by 'make check-declare'
27597         * lisp/emacs-lisp/package.el (lm-homepage):
27598         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
27599         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
27600         * lisp/gnus/mml.el (libxml-parse-html-region):
27601         * lisp/gnus/nnrss.el (libxml-parse-html-region):
27602         * lisp/net/eww.el (libxml-parse-html-region):
27603         * lisp/net/shr.el (libxml-parse-html-region):
27604         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
27605         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
27606         * lisp/vc/vc-git.el (vc-annotate-convert-time):
27607         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
27608         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
27609         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
27610         Update declaration.
27612         Remove compatibility code for 20-year old function renaming
27613         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
27614         Make it an obsolete alias.
27615         (idlwave-shell-filter): Change all uses to comint-output-filter.
27617 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
27619         Add ace-window face config
27620         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
27621         configuration.
27623 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
27625         Unclutter 'make doc' output a bit
27626         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
27627         Use make subst rather than sh IFS to split target string apart.
27628         This makes 'make' output easier to follow.
27630         Merge from gnulib
27631         * doc/misc/texinfo.tex: Update from gnulib.
27633 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
27635         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh.
27636         (package-menu--print-info): Obsolete.
27637         (package-menu--print-info-simple): New function.
27638         (package-menu--refresh): Use it, simplify code, and improve
27639         performance.
27640         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
27641         Tiny performance improvement.
27643         * lisp/emacs-lisp/package.el (package--message): inhibit-message.
27645 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
27647         Omit -Wstrict-overflow workaround in GCC 5
27648         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
27649         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
27651         Merge from gnulib
27652         This incorporates:
27653         2015-04-29 extern-inline: no need for workaround in GCC 5.1
27654         2015-04-26 file-has-acl: port to CentOS 6
27655         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
27657 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
27659         Set next-error-* in xref--xref-buffer-mode
27660         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
27661         Set `next-error-function' and `next-error-last-buffer'.
27662         (xref--next-error-function): New function.
27663         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
27665 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
27667         python.el: Fix warnings on looking-back calls missing LIMIT
27668         * lisp/progmodes/python.el (python-shell-accept-process-output):
27669         Pass LIMIT arg to looking-back.
27671 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
27673         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress.
27674         (package--download-and-read-archives): Use pushnew instead of
27675         append.  If something terrible happened during a previous
27676         download, simply refreshing should now make things work again.
27678 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
27680         Introduce etags-xref-find-definitions-tag-order
27681         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
27682         New variable.
27683         (etags--xref-find-definitions): Use it (bug#19468).
27685 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
27687         PATH- and completion-related fixes in Eshell on MS-Windows
27688         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
27689         MS-Windows, prepend "." to list of directories produced from PATH,
27690         as Windows always implicitly searches the current directory first.
27691         (eshell-force-execution): Make it have a non-nil default value on
27692         MS-Windows and MS-DOS.
27693         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
27694         eshell-force-execution is non-nil, complete on readable files and
27695         directories, not only executables.  When running on MS-Windows,
27696         prepend "." to list of directories produced from PATH, as Windows
27697         always implicitly searches the current directory first.
27699 2015-04-29  Sam Steingold  <sds@gnu.org>
27701         Bury RCIRC buffers when there is no activity
27702         * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove.
27703         (rcirc-bury-buffers): New function.
27704         (rcirc-next-active-buffer): When there is no new activity, use
27705         `rcirc-bury-buffers' to hide all RCIRC buffers.
27707 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
27709         Fix DBUS query result parsing for secrets-search-items
27710         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
27711         parsing.  The function assumed that return value of the
27712         SearchItems method called on a collection is a list of two lists,
27713         however this is true only when no collection is specified.  GNOME
27714         had used to incorrectly return a list of two lists in both cases,
27715         but this was already fixed:
27716         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
27717         incorrect information in the secrets-search-items’ docstring.
27718         (Bug#20449)
27720 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
27722         * lisp/emacs-lisp/bytecomp.el (byte-compile--message):
27723         Use `inhibit-message' instead of hiding the previous message
27724         with (message nil).
27726 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
27728         Remove the deprecated INTERNAL_FIELD macro by expanding it
27729         * src/lisp.h (INTERNAL_FIELD): Remove.
27730         (DEFVAR_KBOARD): Modify accordingly.
27731         * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c:
27732         * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users.
27733         * src/buffer.c (compact_buffer): Use BVAR.
27735 2015-04-29  Glenn Morris  <rgm@gnu.org>
27737         Replace an obsolete function alias
27738         * lisp/isearch.el (isearch-yank-x-selection):
27739         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
27740         (mouse-drag-secondary-moving):
27741         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
27742         Replace obsolete alias x-get-selection with gui-get-selection.
27744 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
27746         * lisp/mail/rmailsum.el: Use lexical-binding.
27748 2015-04-29  Glenn Morris  <rgm@gnu.org>
27750         * test/automated/package-test.el (package-test-update-archives-async):
27751         Skip test on hydra.nixos.org.
27753 2015-04-28  Glenn Morris  <rgm@gnu.org>
27755         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
27756         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
27757         (foldout-mouse-hide-or-exit): Use new names for outline functions.
27759         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
27760         Update for 2014-06-26 hideif.el change.
27762         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
27763         (rmail--decode-and-apply): New function.
27764         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
27766         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
27768 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
27770         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
27771         (package-menu--refresh): Delegate obsolete-hiding to
27772         `package--remove-hidden'.
27773         (package--remove-hidden): Disregard high-priority package if it is
27774         older than the installed one.
27776 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
27778         Update source file encoding list
27779         Update admin/notes/unicode, along with coding system cookies in
27780         other files, so that the two match each other better.
27781         * admin/notes/unicode: lisp/language/ethio-util.el and
27782         lisp/language/ethiopic.el also use utf-8-emacs.
27783         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
27784         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
27785         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
27786         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
27787         * etc/refcards/sk-survival.tex:
27788         Add "coding: utf-8" so that this file is not mishandled in a
27789         Latin-1 or Big-5 locale.
27790         * lisp/international/robin.el, lisp/org/ox-ascii.el:
27791         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
27792         * lisp/language/ethio-util.el: Fix trailer.
27794 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
27796         Fix synchronous invocation of Ispell
27797         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
27798         value to ispell-process-directory before calling ispell-init-process.
27799         Don't call set-process-coding-system if ispell-async-processp is nil.
27800         (Bug#20448)
27802 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
27804         * lisp/emacs-lisp/package.el: Skip space and comments in init file
27805         (package--ensure-init-file): Insert snippet at first
27806         non-whitespace non-comments line.  Respects local-vars at the top
27807         of the file.
27809 2015-04-28  Glenn Morris  <rgm@gnu.org>
27811         * lisp/mail/rmail.el (rmail-copy-headers):
27812         Handle rmail-nonignored-headers being nil.  (Bug#18878)
27814         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
27816         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
27817         Don't get confused by a bzrlib version mismatch warning.
27819 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27821         Change default location of EUDC options file
27822         * etc/NEWS: Document change to EUDC options file's default location.
27823         * lisp/net/eudc-vars.el (eudc-options-file): Use
27824         `locate-user-emacs-file' to change default options file location.
27826 2015-04-27  Glenn Morris  <rgm@gnu.org>
27828         * test/automated/package-test.el (package-test-update-archives-async):
27829         Try to handle the test server script dying.
27831 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
27833         * lisp/saveplace.el (save-place-mode): New minor mode.
27834         (save-place): Redefine as an obsolete alias.
27836         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
27837         * lisp/midnight.el: Use lexical-binding.
27838         (midnight-mode): Make it a proper minor mode.
27839         (midnight-buffer-display-time): Make arg non-optional.
27840         (midnight-find): Remove.
27841         (clean-buffer-list-kill-never-regexps)
27842         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
27843         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
27844         contain functions.
27845         (clean-buffer-list): Use cl-find.
27846         Allow clean-buffer-list-kill-never-regexps to contain functions.
27848 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
27850         Bump version of seq.el to 1.5
27851         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
27852         from seq-doseq.  Bump version number of seq.el.
27854 2015-04-27  Glenn Morris  <rgm@gnu.org>
27856         * lisp/mail/rmail.el (rmail-reply):
27857         Decode subject before matching "Re:" prefix.  (Bug#20396)
27859 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
27861         * lisp/emacs-lisp/package.el: Small improvements
27862         (package--with-work-buffer-async): More informative error.
27863         (package-install-user-selected-packages): Rename to
27864         `package-install-selected-packages'.
27866 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
27868         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
27869         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
27870         (eieio--class-make): Remove leftover `tag'.
27872 2015-04-27  Glenn Morris  <rgm@gnu.org>
27874         * lisp/gnus/message.el (gnus-extract-address-components):
27875         Remove bogus declaration that was masking previous problem.
27877 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
27879         * lisp/gnus/message.el (message-insert-formatted-citation-line):
27880         Fix typo.  (Bug#20318)
27882 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
27884         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
27886         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
27887         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
27888         the buffer in yet another frame.
27889         (reftex-toc-visit-location): Make sure toc-window has focus at the end
27890         when `final' is nil.
27891         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
27892         silence warnings.  Use `--' to clarify that it's internal.
27893         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
27894         (reftex-toc-promote): Clarify unused argument.
27895         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
27896         Add `reftex--' prefix.  Fix all users.
27897         (reftex-toc-promote-prepare): Use _ for dummy variable.
27898         (reftex-toc-restore-region): Rename `m.
27900 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
27902         Fix a typo in bibtex.el
27903         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
27904         last change.  (Bug#20429)
27906         Fix redisplay of frame after loading new fonts
27907         * src/xdisp.c (redisplay_internal): When retrying redisplay of
27908         a frame because new fonts were loaded, disable all redisplay
27909         optimizations on that frame by calling SET_FRAME_GARBAGED.
27910         (Bug#20410)
27912 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
27914         * lisp/info.el (Info-menu): Properly provide the `default'
27915         (Bug#20391)
27917         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
27918         Catch errors from documentation (bug#20418).
27919         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
27921 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
27923         * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler.
27924         Remove redundant ":group 'package".
27926 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
27928         Fix a typo in rmail.el
27929         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
27930         last commit.  (Bug#20429)
27932 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
27934         Introduce xref-prompt-for-identifier
27935         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
27936         (xref--read-identifier): Use it
27937         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
27939 2015-04-26  João Távora  <joaotavora@gmail.com>
27941         `tex-insert-quote' after single `'' opens quotes instead of closing
27942         Without this, it's very hard to precede double quotes with the
27943         apostrophe character, i.e. insert the sequence '``
27944         (quote-backquote-backquote), commonly useful in portuguese, for
27945         instance.
27946         * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of
27947         preceding chars making `tex-insert-quote' be in the "opening" context.
27949 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
27951         Pass `id' to `completing-read' as def instead of initial input
27952         * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to
27953         `completing-read' as the default value instead of initial input
27954         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
27956 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
27958         Don't freeze with unreadable processes
27959         Don't freeze if an exiting process can't be read from.  (Bug#19860).
27960         This fixes a bug I introduced in
27961         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
27962         "* process.c: Add sanity checks for file descriptors."
27963         Dmitry Gutov did most of the legwork in finding the problem.
27964         * src/process.c (wait_reading_process_output):
27965         Treat non-running processes that can't be read from
27966         the same as other non-running processes.
27968 2015-04-25  Alan Mackenzie  <acm@muc.de>
27970         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
27971         * lisp/subr.el (remove-yank-excluded-properties): Put
27972         `with-silent-modifications' around only the last three lines of code.
27974 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
27976         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
27977         (package--all-keywords): Deleted variable.
27979         * etc/NEWS: Document package-hiding functionality.
27981 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
27983         * lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
27985         Clarify the doc string of 'replace-regexp-in-string'
27986         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
27988         Improve doc string of 'insert-buffer-substring'
27989         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
27991         MS-Windows followup for the recent gnulib update
27992         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
27993         acl-internal.c.
27995 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
27997         Spelling fixes
27999         Merge from gnulib
28000         This incorporates:
28001         2015-04-24 file-has-acl: new module, split from acl
28002         2015-04-24 manywarnings: add GCC 5.1 warnings
28003         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
28004         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
28005         2015-04-15 acl: On Linux, check for acls without libacl
28006         2015-04-14 tempname: avoid unused parameter warnings (trivial)
28007         * lib/acl-internal.c: New file, from gnulib.
28008         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
28009         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
28010         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
28011         Update from gnulib.
28013         Port --enable-gcc-warnings to GCC 5.1 x86-64
28014         * lib-src/ebrowse.c (dump_sym):
28015         * lib-src/hexl.c (main):
28016         * src/ccl.c (ccl_driver):
28017         * src/character.c (string_escape_byte8):
28018         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
28019         * src/gnutls.c (Fgnutls_boot):
28020         * src/gtkutil.c (xg_check_special_colors):
28021         * src/image.c (x_build_heuristic_mask):
28022         * src/print.c (safe_debug_print, print_object):
28023         * src/term.c (produce_glyphless_glyph):
28024         * src/xdisp.c (get_next_display_element)
28025         (produce_glyphless_glyph):
28026         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
28027         Don't use a signed format to print an unsigned integer, or vice
28028         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
28029         * src/image.c (png_load_body, jpeg_load_body):
28030         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
28032 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
28034         Add new faces to tsdh-light-theme
28035         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
28036         definitions for Info-quoted, ace-jump-face-foreground,
28037         hl-paren-face, show-paren-match, and show-paren-mismatch.
28039 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
28041         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
28043 2015-04-24  Glenn Morris  <rgm@gnu.org>
28045         * build-aux/gitlog-to-emacslog:
28046         Use raw log format rather than wrapped one.
28048 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
28050         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code.
28051         (seq-doseq): Fix out-of-scope binding.
28052         Don't call `seq-length at every iteration.
28053         Reduce `if's from 3 to 2 per iteration.
28054         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
28056 2015-04-24  Glenn Morris  <rgm@gnu.org>
28058         * lisp/textmodes/text-mode.el (text-mode-hook):
28059         Move text-mode-hook-identify to default.
28061         * lisp/mouse.el (minor-mode-menu-from-indicator):
28062         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
28064         * lisp/help-fns.el (describe-function): More type checking.
28065         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
28067         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
28068         (Bug#20325)
28070 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
28072         shr: strip leading whitespace when expanding URLs
28073         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
28075 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
28077         Clarify "co-authored" some more
28079         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
28081         Clarify doc strings of functions that search for properties
28082         * src/textprop.c (Fnext_char_property_change)
28083         (Fprevious_char_property_change)
28084         (Fnext_single_char_property_change)
28085         (Fprevious_single_char_property_change, Fnext_property_change)
28086         (Fnext_single_property_change, Fprevious_property_change)
28087         (Fprevious_single_property_change): Clarify doc strings wrt return
28088         value and the optional LIMIT argument.  (Bug#20411)
28090 2015-04-24  Glenn Morris  <rgm@gnu.org>
28092         * test/automated/message-mode-tests.el (message-mode-propertize):
28093         Handle non-writable HOME; eg on hydra.nixos.org.
28095 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
28097         Avoid starting threads by w32-shell-execute
28098         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
28099         local file names, before invoking ShellExecute.  (Bug#20220)
28101 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
28103         Fix following doc-links in `widget-documentation-link-action'
28104         * lisp/wid-edit.el (widget-documentation-link-action): Make
28105         following doc-links less simplistic (Bug#20398).
28107 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
28109         Improve EUDC manual
28110         * doc/misc/eudc.texi (Troubleshooting):
28111         New LDAP troubleshooting subsection.
28113 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
28115         Omit needless "\ " after multibyte then newline
28116         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
28117         (print_object): When print-escape-multibyte is non-nil and a
28118         multibyte character is followed by a newline or formfeed, followed
28119         by a hex digit, don't output a needless "\ " before the hex digit.
28120         * test/automated/print-tests.el (print-hex-backslash): New test.
28122 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
28124         Add a new `inhibit-message' variable
28125         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
28126         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
28127         `inhibit_message' is non-zero.
28128         * etc/NEWS: Add an entry.
28129         * doc/lispref/display.texi: Add an entry for `inhibit-message',
28130         mention it in `message'.
28132 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
28134         Fix last fix in `display-buffer-record-window'.
28135         * lisp/window.el (display-buffer-record-window): Fix last fix.
28137 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
28139         Minor edits in CONTRIBUTE
28140         * CONTRIBUTE: Rearrange instructions about log messages.
28141         Use "Git" capitalized all over.
28142         Use 2 spaces between sentences.
28144 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
28146         * lisp/files.el (basic-save-buffer): Fix argument.
28148         * lisp/cus-edit.el (custom-file): Consider init-file-had-error.
28149         In case `(and (null custom-file) init-file-had-error)' do the same
28150         thing we'd do if `(null user-init-file)', which is to either error out
28151         or return nil.  This is in line with `custom-save-all' which would
28152         throw an error in that situation.  (Bug#20355)
28154         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu.
28155         (package-menu-hide-low-priority): New variable, see its doc.
28156         (package-archive-priorities): Update doc.
28157         (package-desc-priority): New function.
28158         (package-desc-priority-version): Use it.
28159         (package--remove-hidden): New function.
28160         (package-menu--refresh): Use it.
28162         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages.
28163         (package-menu--hide-obsolete): New variable.
28164         (package--remove-hidden): Use it.
28165         (package-menu-hide-obsolete): New interactive function to toggle
28166         the variable.
28167         (package--quick-help-keys): Document it.
28168         (package-menu-async): Add :version tag.
28169         (package-menu-mode-map): Bind package-menu-hide-obsolete.
28170         (package-desc-status): Indicate non-installed obsolete packages as
28171         avail-obso.
28172         (package-menu-mark-install): Allow installation of avail-obso.
28173         (package-menu--status-predicate): Sort avail-obso with available.
28175 2015-04-22  Alan Mackenzie  <acm@muc.de>
28177         On C-y, stop some text property entries being written into buffer-undo-list
28178         * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in
28179         `with-silent-modifications'.
28181 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
28183         In display-buffer-record-window record selected window if necessary
28184         * lisp/window.el (display-buffer-record-window): Store selected window
28185         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
28187 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
28189         Fix reftex-citation bug
28190         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
28191         Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX
28192         integration is enabled and there are no citations in the document
28193         so far.
28195 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
28197         Add or reset based on the presence of MERGE_HEAD
28198         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
28199         `vc-git-resolve-when-done' to `after-save-hook' in either case.
28200         (vc-git-conflicted-files): Add a TODO.
28201         (vc-git-resolve-when-done): Depending on the presence of
28202         MERGE_HEAD, either update the resolved file in the index, or
28203         remove it from there.  (Bug#20292)
28205 2015-04-21  Glenn Morris  <rgm@gnu.org>
28207         * lisp/custom.el (custom-declare-group): No need to purecopy
28208         custom-current-group-alist members following recent change to set
28209         it to nil before dumping.
28211         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
28212         (Bug#20399)
28214 2015-04-21  Daniel Colascione  <dancol@dancol.org>
28216         Unbreak no-op buffer save message
28217         * lisp/files.el (basic-save-buffer): Accept called-interactively as
28218         an argument instead of directly invoking called-interactively-p,
28219         which will always yield nil in that context.
28221 2015-04-21  Alan Mackenzie  <acm@muc.de>
28223         CC Mode: Do nothing in before/after-change-functions for text
28224         property changes
28225         Fixes bug#20266.
28226         * lisp/progmodes/cc-mode.el (c-basic-common-init): Make
28227         yank-handled-properties buffer local, and remove 'category from it.
28228         (c-called-from-text-property-change-p): New function.
28229         (c-before-change): Don't do anything if a call of the new function
28230         returns non-nil.
28231         (c-after-change): Don't do much if a call of the new function returns
28232         non-nil.
28233         (c-extend-after-change-region): Put changes to text property 'fontified
28234         inside c-save-buffer-state.
28236 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
28238         Fix byte-compiler warnings about looking-back
28239         * lisp/vc/log-view.el (log-view-end-of-defun-1):
28240         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
28241         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
28242         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
28243         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
28244         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
28245         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
28246         * lisp/org/org.el (org-insert-heading, org-sort-entries):
28247         * lisp/org/org-mouse.el (org-mouse-end-headline)
28248         (org-mouse-context-menu):
28249         * lisp/org/org-clock.el (org-clock-cancel):
28250         * lisp/man.el (Man-default-man-entry):
28251         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
28252         (rmail-ensure-blank-line):
28253         * lisp/mail/footnote.el (Footnote-delete-footnote):
28254         * lisp/mail/emacsbug.el (report-emacs-bug):
28255         * lisp/info.el (Info-follow-reference, Info-fontify-node):
28256         * lisp/info-look.el (info-lookup-guess-custom-symbol):
28257         * lisp/help-fns.el (help-fns--key-bindings):
28258         * lisp/files.el (hack-local-variables):
28259         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
28260         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
28261         (viper-complete-filename-or-exit):
28262         * lisp/emulation/viper-cmd.el (viper-backward-indent):
28263         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
28264         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
28265         * lisp/cus-edit.el (custom-face-edit-value-create):
28266         * lisp/calendar/todo-mode.el (todo-set-item-priority)
28267         (todo-filter-items-1, todo-convert-legacy-files)
28268         (todo-prefix-overlays): Add explicit second arg to looking-back.
28270 2015-04-20  Glenn Morris  <rgm@gnu.org>
28272         Avoid non-nil current-load-list at startup
28273         * src/process.c (init_process_emacs): Move Fprovide statement...
28274         (syms_of_process): ... to here.
28276         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
28278         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value
28279         in emacs -Q.
28281 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
28283         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
28284         (Bug#20330)
28286 2015-04-20  Glenn Morris  <rgm@gnu.org>
28288         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
28290         Tweak exec-path in uninstalled case
28291         * src/callproc.c (init_callproc): If running uninstalled, do not
28292         include eventual installation libexec directory in exec-path.
28294 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
28296         * lisp/emacs-lisp/package.el: Filter by multiple keywords and
28297         cache keywords.
28298         (package-menu-filter): Accept a list of keywords.
28299         (package--all-keywords): New variable to cache known keywords.
28300         (package-all-keywords): Populate it if necessary.
28301         (package-refresh-contents): Reset it.
28303         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
28304         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
28305         as special keywords which match agains package archive and status
28306         respectively.
28307         * etc/NEWS: Document it.
28309 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
28311         Describe and index "empty overlays".
28312         * doc/lispref/display.texi (Overlays): Improve indexing.
28313         (Managing Overlays): Describe "empty" overlays.
28314         (Overlay Properties, Finding Overlays): Add cross-reference to
28315         where empty overlays are described.
28317 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
28319         Spelling fixes
28321         Quote 'like this' in top-level files
28322         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
28323         Prefer to single-quote 'like this' (instead of the older style
28324         `like this').
28325         * configure.ac: Fix some space-before-tab problems that 'git commit'
28326         complained about.
28328         Use bool for boolean in textprop.c, undo.c
28329         * src/textprop.c (soft, hard): Now constants instead of macros.
28330         (validate_plist): Rewrite to avoid need for boolean local.
28331         (interval_has_all_properties, interval_has_some_properties)
28332         (interval_has_some_properties_list, add_properties)
28333         (remove_properties, get_char_property_and_overlay)
28334         (Fnext_single_char_property_change)
28335         (Fprevious_single_char_property_change, add_text_properties_1)
28336         (Fremove_text_properties, Fremove_list_of_text_properties)
28337         (copy_text_properties):
28338         * src/tparam.c (tparam1):
28339         * src/undo.c (record_change, record_property_change)
28340         (syms_of_undo):
28341         Use 'true' and 'false' for booleans.
28343 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
28345         * lisp/vc/vc-git.el (vc-git-find-file-hook):
28346         Call `smerge-start-session' even when dealing with a stash
28347         conflict (bug#20292).
28349 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
28351         Add option to eshell/clear to clear scrollback.
28352         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
28353         (eshell/clear): Add an optional SCROLLBACK argument.  If non-nil,
28354         scrollback contents are cleared.
28355         * etc/NEWS: Describe change.
28356         * doc/misc/eshell.texi: Add entry for `clear'.
28358 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
28360         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
28361         where either will do.
28363 2015-04-19  Steve Purcell  <steve@sanityinc.com>
28365         Assume package archive-contents are UTF8-encoded
28366         * lisp/emacs-lisp/package.el (package--read-archive-file):
28367         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
28368         downloaded and cached archive-contents files, so that non-ASCII
28369         characters in package descriptions are displayed correctly in the
28370         `list-packages' menu.  (Bug#20231)
28372 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
28374         Abort when looking at stashed changes
28375         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
28376         stashed changes (bug#20292).
28378 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
28380         Refactor low-level printing for simplicity
28381         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
28382         PRINTPREPARE; doable now that we assume C99.  All callers changed.
28383         (PRINTCHAR): Remove, as it adds more mystery than clarity.
28384         All callers changed.
28385         (strout): Assume that caller computes length.  All callers changed.
28386         (print_c_string): New function.
28387         (write_string, write_string_1): Compute length instead of asking
28388         the caller to compute it.  All callers changed.
28389         (write_string): Simplify by using write_string_1.
28390         (write_string_1): Simplify by using print_c_string.
28391         (Fterpri): Compute default val more clearly.
28392         (Fprin1_to_string, print_object):
28393         Assume C99 to avoid unnecessary nesting.
28394         (print_object): Prefer print_c_string to multiple printchar, or
28395         to calling strout with -1 length.  Coalesce into sprintf when
28396         this is easy.
28398 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
28400         Prefer "Bug#1234" in commit messages (Bug#20325)
28401         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
28402         as this isn't useful for Git.
28403         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
28405 2015-04-18  Glenn Morris  <rgm@gnu.org>
28407         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
28408         (Bug#19506)
28410 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
28412         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
28413         Do not use `chomp' as a function.  (Bug#19505)
28415 2015-04-18  Glenn Morris  <rgm@gnu.org>
28417         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
28419         * doc/emacs/misc.texi (Sorting): Small edit.
28420         (Bug#19896)
28422         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
28424 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
28426         css-mode.el: Support multi-line comment filling
28427         (Bug#20256)
28428         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
28429         comment filling.
28430         (css-adaptive-fill): New function.
28431         (css-mode): Set `adaptive-fill-function'.
28432         (scss-mode): Set `comment-continue'.
28434 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
28436         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into):
28437         Better error messages.
28439 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
28441         Minor improvements in Bulgarian input methods
28442         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
28443         Replace U+042C with U+045D, as the former character is not used in
28444         the modern Bulgarian language.
28445         (Bug#20350)
28447 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
28449         Improve EUDC manual
28450         * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL
28451         authentication schemes.  Add index items.  Shorten example server
28452         name.
28454 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
28456         Don't show both feature and function with the same name
28457         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
28458         Don't show both feature and function with the same name.
28460         (elisp--xref-identifier-location): Skip variable, if it's also
28461         a function
28462         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
28463         Avoid returning both the variable and the function for the same
28464         minor mode.
28466 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
28468         Fix fontification of keywords clobbered by the prompt
28469         * lisp/comint.el (comint-output-filter): Remove the uses of
28470         with-silent-modifications I introduced as part of the last change.
28471         This fixes, e.g., erratically missing highlighting when running
28472         ./configure --help; ./configure in a shell-mode buffer with
28473         compilation-shell-minor-mode turned on.
28475 2015-04-17  Glenn Morris  <rgm@gnu.org>
28477         * admin/authors.el (authors-valid-file-names)
28478         (authors-renamed-files-alist): Additions.
28480 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
28482         * lisp/indent.el (indent-region): Don't deactivate the mark.
28483         (Bug#20357)
28485 2015-04-17  Sam Steingold  <sds@gnu.org>
28487         * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable.
28489 2015-04-16  Leo Liu  <sdl.web@gmail.com>
28491         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
28493 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
28495         * lisp/erc/erc-pcomplete.el (erc-pcomplete):
28496         Don't use `pcomplete' any more.
28498 2015-04-16  Glenn Morris  <rgm@gnu.org>
28500         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
28502 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
28504         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
28505         * configure.ac (LIBJPEG): Leave it empty for MinGW.
28507 2015-04-16  Glenn Morris  <rgm@gnu.org>
28509         * lisp/replace.el (query-replace-from-to-separator):
28510         Delay initialization to avoid rogue setting after startup.
28512 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
28514         Pre-4.6 GCC succeeds with unknown option
28515         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
28516         (Bug#20338)
28518 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
28520         '[:graph:]' now excludes whitespace, not just ' '
28521         * doc/lispref/searching.texi (Char Classes):
28522         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
28523         sans whitespace (not sans space).
28524         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
28525         not just space.
28526         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
28528 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
28530         * lisp/subr.el (substitute-key-definition-key, special-form-p)
28531         (macrop): Drop deprecated second arg to indirect-function.
28532         (looking-back): Make the second arg non-optional.
28534         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
28535         command is actually sent to the shell.
28537 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
28539         Port jpeg configuration to Solaris 10 with Sun C
28540         * configure.ac: Check for jpeglib 6b by trying to link it, instead
28541         of relying on cpp magic that has problems in practice.  Check for
28542         both jpeglib.h and jerror.h features.  Remove special case for
28543         mingw32, which should no longer be needed (and if it were needed,
28544         should now be addressable by hotwiring emacs_cv_jpeglib).
28545         (Bug#20332)
28547 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
28549         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
28550         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
28551         Move to elisp-mode.el.
28552         (lisp-mode-variables): (Re)move elisp-specific settings.
28553         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
28554         from lisp-mode-variables.
28555         (elisp--font-lock-flush-elisp-buffers): New function, moved from
28556         lisp-mode.el.
28558         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
28559         Avoid pathological slowdown at top-level in large file.
28561 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
28563         Standardize names of ChangeLog history files
28564         Suggested by Glenn Morris in:
28565         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
28566         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
28567         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
28568         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
28569         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
28570         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
28571         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
28572         Remove.
28574         Split top-level entries into pre- and post-April 7
28575         This more clearly distingiushes pre-April-7 ChangeLog entries (which
28576         are for top-level files only) from post-April-7 entries (which are
28577         about files at all levels.  Problem reported by Glenn Morris in:
28578         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
28579         * ChangeLog.1: Move post-April-7 entries from here ...
28580         * ChangeLog.2: ... to this new file.
28581         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
28583 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
28585         Fix recent cus-start changes that added customize-rogues
28586         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
28587         vars early.
28588         * lisp/loadup.el ("cus-start"): Move to the end to reduce
28589         customize-rogue.
28591 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
28593         Define cl-concatenate as an alias to seq-concatenate
28594         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
28595           code by making cl-concatenate an alias to seq-concatenate.
28597 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
28599         * src/lread.c (intern_1): Make sure we'd find the symbol we add
28600         (Bug#20334)
28601         * src/xfaces.c (resolve_face_name): Don't use `intern' with
28602         Lisp_Strings.
28604 2015-04-15  Glenn Morris  <rgm@gnu.org>
28606         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
28608 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
28610         Clean up gnus-uu saving code slightly
28611         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the
28612         save-restriction/widen calls make more sense.
28614 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
28616         Make [:graph:] act like [:print:] sans space
28617         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
28618         [:graph:] so that it matches everything that [:print:] does,
28619         except for space.
28620         * doc/lispref/searching.texi (Char Classes):
28621         * etc/NEWS:
28622         * lisp/emacs-lisp/rx.el (rx):
28623         Document [:graph:] to be [:print:] sans ' '.
28624         * src/character.c, src/character.h (graphicp): New function.
28625         * src/regex.c (ISGRAPH) [emacs]: Use it.
28626         (BIT_GRAPH): New macro.
28627         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
28628         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
28629         Return BIT_GRAPH for RECC_GRAPH.
28630         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
28631         and ISPRINT if BIT_PRINT.
28633 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
28635         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
28636         Don't use call-next-method in a cl-defmethod.
28638         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
28639         (eieio--class-p): Remove, provided by cl-defstruct.
28641 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
28643         Add seq-intersection and seq-difference to the seq library
28644         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference):
28645         New functions.
28646         * test/automated/seq-tests.el: Add tests for seq-intersection and
28647         seq-difference.
28648         * doc/lispref/sequences.texi: Add documentation for seq-intersection
28649         and seq-difference.
28651 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
28653         * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline,
28654         to avoid leaking internals.
28656 2015-04-14  Sam Steingold  <sds@gnu.org>
28658         package--ensure-init-file: widen requires save-restriction
28660 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
28662         Improve the commit-msg Git hook for unibyte environments
28663         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
28664         in unibyte environments.  (Suggested by Paul Eggert
28665         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
28666         [:print:], based on UTF-8 sequences of the unprintable characters.
28668         Describe problems with cursor caused by Windows Magnifier
28669         * etc/PROBLEMS: Describe the problem with cursor shape on
28670         MS-Windows due to Windows Magnifier.
28671         (Bug#20271)
28673         Make [:print:] support non-ASCII characters correctly
28674         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
28675         (BIT_PRINT): New bit mask.
28676         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
28677         * src/character.c (printablep): New function.
28678         * src/character.h (printablep): Add prototype.
28679         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
28680         of 'print', 'alnum', and 'alphabetic'.
28681         * doc/lispref/searching.texi (Char Classes): Document the new
28682         behavior of [:print:].
28683         * etc/NEWS: Mention the new behavior of [:print:].
28685         Assign correct general-category and names to surrogates
28686         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
28687         surrogates.  This avoids assigning them the default
28688         general-category of 'Cn', i.e. unassigned codepoints.
28689         (unidata-get-name): Give surrogates synthetic names.
28691 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
28693         Assume C89 offsetof in xterm.c, xlwmenu.c
28694         * lwlib/xlwmenu.c (offset):
28695         * src/xterm.c (cvt_string_to_pixel_args):
28696         Use offsetof, not XtOffset.
28698 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
28700         Assume C89 offsetof in widget.c
28701         * src/widget.c (XtOffset): Remove; no longer needed.
28702         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
28704         Fix think-o in previous patch
28705         * src/window.c (count_windows, get_leaf_windows):
28706         Don't optimize count_windows incorrectly.
28708 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
28710         Avoid some int overflows in window.c
28711         * src/print.c (print_object):
28712         * src/window.c (sequence_number):
28713         * src/window.h (struct window.sequence_number):
28714         Don't assume window sequence number fits in int.
28715         * src/window.c (window_select_count):
28716         * src/window.h (struct window.use_time, window_select_count):
28717         Don't assume window use time fits in int.
28718         * src/window.c (Fsplit_window_internal):
28719         Don't assume user-supplied integer, or sum, fits in int.
28720         (Fset_window_configuration, count_windows, get_leaf_windows)
28721         (save_window_save, Fcurrent_window_configuration):
28722         Use ptrdiff_t for object counts.
28723         (Fset_window_configuration): Omit unused local 'n'.
28724         (count_windows): Simplify by writing in terms of get_leaf_windows.
28725         (get_leaf_windows): Don't store through FLAT if it's null.
28726         (extract_dimension): New static function.
28727         (set_window_margins, set_window_fringes, set_window_scroll_bars):
28728         Use it to avoid undefined behavior when converting user-supplied
28729         integer to 'int'.
28731 2015-04-13  Glenn Morris  <rgm@gnu.org>
28733         Minor doc copyedits
28734         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
28735         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
28737 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
28739         [Gnus] Catch the invalid-operation that idna.el will issue
28740         * lisp/gnus/gnus-art.el (gnus-use-idna):
28741         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
28742         * lisp/gnus/message.el (message-use-idna):
28743         Catch the invalid-operation that idna.el will issue.
28745 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
28747         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
28749 2015-04-13  Sam Steingold  <sds@gnu.org>
28751         package--ensure-init-file: widen before looking for
28752         "(package-initialize)"
28754 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
28756         Change diff-switches default to `-u' (Bug#20290)
28757         * doc/emacs/files.texi (Comparing Files): Document the new default
28758         value of `diff-switches'.
28759         * doc/emacs/trouble.texi (Sending Patches): Document the preference
28760         for unified diff format.  Escape the plus in the suggested `-F' regexp
28761         value.
28762         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
28764 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
28766         (gnus-group--setup-tool-bar-update): Fix last change
28767         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
28768         cursor-sensor-functions should be a list of functions.
28770 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
28772         * lisp/gnus/gnus-topic.el (gnus-topic-mode):
28773         Use gmm-called-interactively-p.
28775 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
28777         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
28778         (Bug#20321)
28779         * lisp/cus-start.el (read-buffer-function): Don't advertise
28780         iswitchb-read-buffer any more.
28781         (iswitchb): Don't tweak this obsolete group any more.
28783 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
28785         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file.
28787         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings.
28788         Adding a string after a constructor's argument list will use
28789         that string as the constructor function docstring.  If this string
28790         is absent but the struct itself was given a docstring, use that as
28791         the constructor's docstring.
28792         Fixes bug#17284.
28794 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
28796         Deprecate `intangible' and `point-entered' properties
28797         * lisp/emacs-lisp/cursor-sensor.el: New file.
28798         * lisp/simple.el (pre-redisplay-functions): New hook.
28799         (redisplay--pre-redisplay-functions): New function.
28800         (pre-redisplay-function): Use it.
28801         (minibuffer-avoid-prompt): Mark obsolete.
28802         (redisplay--update-region-highlight): Adapt it to work as a function on
28803         pre-redisplay-functions.
28804         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
28805         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
28806         than point-entered to make the prompt intangible.
28807         * lisp/forms.el: Move `provide' calls to the end.
28808         (forms-mode): Don't use `run-hooks' on a local var.
28809         (forms--make-format, forms--make-format-elt-using-text-properties):
28810         Use cursor-intangible rather than `intangible'.
28811         (forms-mode): Enable cursor-intangible-mode.
28812         * lisp/isearch.el (isearch-mode): Use defvar-local.
28813         (cursor-sensor-inhibit): Declare.
28814         (isearch-mode): Set cursor-sensor-inhibit.
28815         (isearch-done): Set it back.
28816         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
28817         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
28818         any more.
28819         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
28820         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
28821         Add Edebug spec.
28822         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
28823         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
28824         inhibit-point-motion-hooks any more.
28825         (ses--cell-at-pos, ses--curcell): New functions, extracted from
28826         ses-set-curcell.
28827         (ses-set-curcell): Use them.
28828         (ses-print-cell, ses-setup): Use cursor-intangible instead of
28829         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
28830         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
28831         Use ses--cell-at-pos.
28832         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
28833         extracted from ses-command-hook.  Make them work with multiple windows
28834         displaying the same buffer.
28835         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
28836         Enable cursor-intangible-mode.
28837         (ses-command-hook): Remove cell highlight and mode-line update code.
28838         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
28839         Update for new name of text-property holding the cell name.
28840         (ses-rename-cell): Don't mess with mode-line-process.
28841         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
28842         cursor-sensor-functions property instead of point-entered.
28843         (erc-insert-timestamp-right, erc-format-timestamp):
28844         Use cursor-intangible rather than `intangible'.
28845         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
28846         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
28847         cursor-sensor-mode if needed.
28848         (erc-echo-timestamp): Adapt to calling convention of
28849         cursor-sensor-functions.
28850         (erc-insert-timestamp-right): Remove unused vars `current-window' and
28851         `indent'.
28852         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
28853         (gnus-update-group-mark-positions): Remove unused `topic' var.
28854         (gnus-group-insert-group-line): Remove unused var `header'.
28855         (gnus-group--setup-tool-bar-update): New function.
28856         (gnus-group-insert-group-line): Use it.
28857         (gnus-group-update-eval-form): Declare local
28858         dynamically-bound variables.
28859         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
28860         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
28861         (gnus-group-prepare-topics, gnus-topic-update-topic)
28862         (gnus-topic-change-level, gnus-topic-catchup-articles)
28863         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
28864         Use inhibit-read-only.
28865         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
28866         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
28867         * lisp/textmodes/reftex-index.el (reftex-display-index):
28868         Use cursor-intangible-mode if available.
28869         (reftex-index-post-command-hook): Check cursor-intangible.
28870         * lisp/textmodes/reftex-toc.el (reftex-toc):
28871         Use cursor-intangible-mode if available.
28872         (reftex-toc-recenter, reftex-toc-post-command-hook):
28873         Check cursor-intangible.
28874         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
28875         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
28876         (sgml-tags-invisible): Use with-silent-modifications and
28877         inhibit-read-only.  Enable cursor-sensor-mode.
28878         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
28879         calling convention of cursor-sensor-functions.
28880         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
28881         (table-point-entered-cell-hook, table-point-left-cell-hook):
28882         Don't autoload.
28883         (table-cell-entered-state): Remove var.
28884         (table--put-cell-point-entered/left-property)
28885         (table--remove-cell-properties):
28886         Use cursor-sensor-functions rather than point-entered/left.
28887         (table--point-entered/left-cell-function): Merge
28888         table--point-entered-cell-function and table--point-left-cell-function
28889         and adjust to calling convention of cursor-sensor-functions.
28891         Update ldef-boots.el
28893         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
28895         * doc/misc/eieio.texi: Don't advertise now obsolete constructs
28897         Collapse successive char deletions in the undo log
28898         * src/cmds.c (remove_excessive_undo_boundaries): New function,
28899         extracted from Fself_insert_command.
28900         (Fdelete_char, Fself_insert_command): Use it.
28901         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
28902         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
28904         xterm and OSC 52: Add NEWS entry, and tweak the code
28905         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition
28906         to top-level.
28907         (terminal-init-xterm-activate-set-selection): Set a terminal property.
28908         (xterm--set-selection): Use it instead of checking the value of
28909         `terminal-initted'.  Don't use string-bytes.
28911 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
28913         xterm.el: Implement OSC-52 functionality for setting the X selection
28914         * lisp/term/xterm.el (xterm-max-cut-length): New var.
28915         (xterm--set-selection, terminal-init-xterm-activate-set-selection):
28916         New funs.
28917         (terminal-init-xterm, xterm--version-handler): Use them.
28919 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
28921         Remove left over code from when we used an obsolete/loaddefs.el file
28922         * lisp/subr.el (do-after-load-evaluation): Remove left over code from
28923         when we used an obsolete/loaddefs.el file.
28925         * lisp/cedet/semantic/fw.el (semantic-exit-on-input)
28926         (semanticdb-without-unloaded-file-searches): Use declare.
28927         (semantic-fw-add-edebug-spec): Remove.
28929         * lisp/completion.el (completion-lisp-mode-hook):
28930         Use completion-separator-chars rather than local key binding.
28932         * src/*.c: Set deactivate_mark buffer-locally
28933         (Bug#20260)
28934         * src/insdel.c (prepare_to_modify_buffer_1):
28935         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
28936         buffer-locally.
28938 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
28940         python.el: Keep symmetry on sexp navigation with parens
28941         (Bug#19954)
28942         * lisp/progmodes/python.el
28943         (python-nav--forward-sexp): Add argument skip-parens-p.
28944         (python-nav-forward-sexp, python-nav-backward-sexp)
28945         (python-nav-forward-sexp-safe)
28946         (python-nav-backward-sexp-safe): Use it.
28947         * test/automated/python-tests.el
28948         (python-nav-forward-sexp-1): Fix test.
28950 2015-04-12  João Távora  <joaotavora@gmail.com>
28952         Don't use `setq-local' in Gnus code
28953         This might break upstream builds with older Emacsen
28954         * lisp/gnus/message.el (message-mode): Use `set' and
28955         `make-local-variable' instead of `setq-local'.
28957 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
28959         Update Makefile.in's .PHONY dependencies
28960         * Makefile.in (change-history-commit, master-branch-is-current)
28961         (no-ChangeLog): Now phony.
28963         Remove configure's --with-mmdf option
28964         * configure.ac (MAIL_USE_MMDF): Remove.
28965         * etc/NEWS: Document this.
28966         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
28967         (Bug#20308)
28969         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
28970         That way, 'make install' won't think it's a man page.
28971         Reported by Ashish SHUKLA in:
28972         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
28974         Improve 'make change-history' prereq tests
28975         * Makefile.in (gen_origin): Fix to match what's in the master branch.
28976         (no-ChangeLog, master-branch-is-current): New rules.
28977         (change-history): Depend on them, to avoid similar future problems.
28978         Escape the local-variables string to pacify Emacs when editing
28979         Makefile.in.
28981 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
28983         * test/automated/package-test.el (with-package-test):
28984         Kill Packages buffer.
28986         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt.
28987         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
28988         "Upgrade" last, and use capitalized instead of all-caps.
28990         * lisp/emacs-lisp/package.el: Completely silence async operations.
28991         (package--make-autoloads-and-stuff): Silence autoloads.
28992         (package--save-selected-packages): New function, silences
28993         `customize-save-variable'.
28994         (package--user-selected-p, package-install-from-buffer)
28995         (package-delete, package-install): Use it.
28996         (package-install-from-archive)
28997         (package-menu--perform-transaction): Silence.
28998         (package-menu-execute): Feedback when operation starts.
29000         Use delay-mode-hooks when visiting the init-file
29001         * lisp/emacs-lisp/package.el (package--ensure-init-file):
29002         delay-mode-hooks.
29003         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks.
29005         * lisp/files.el: Only message when saving if save-silently is nil.
29006         (save-silently): New variable.
29007         (files--message): New function.
29008         (find-file-noselect, save-buffer, basic-save-buffer)
29009         (basic-save-buffer-2, save-some-buffers, not-modified)
29010         (append-to-file): Use them.
29012 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
29014         Support debug declarations in pcase macros
29015         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
29016         (pcase-UPAT): Use it.  Remove "`".
29017         (pcase--edebug-match-macro): New function.
29018         (pcase-defmacro): Support debug declarations.
29019         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
29020         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
29021         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>:
29022         Add debug declaration.
29024         pcase.el: Edebug support for `app' and vector patterns
29025         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
29026         (pcase-UPAT): Use it.  Support `app' patterns.
29027         (pcase-QPAT): Support vector patterns.
29029         edebug.el: Disambiguate vector specifications
29030         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
29031         `(vector ...)' as a vector specification, not as a sublist.
29033         (gnus-summary-refer-thread): Don't clobber unread articles
29034         This fixes a bug where `A T' causes "random" articles to become marked
29035         as read.
29036         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
29037         gnus-newsgroup-unreads remains sorted.
29039         mouse-sel.el: Fix mouse-sel-get-selection-function
29040         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
29041         Use gui--last-selected-text-primary instead of no longer existing
29042         gui-last-selected-text.
29044         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
29046         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
29048 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
29050         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate.
29052         * lisp/emacs-lisp/package.el (list-packages): Call refresh in
29053         right buffer.
29055         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations.
29056         (byte-compile--interactive): New var.
29057         (byte-compile--message): New function.
29058         (byte-compile-log-1, byte-force-recompile)
29059         (byte-recompile-directory, byte-recompile-file)
29060         (byte-compile-file, compile-defun)
29061         (byte-compile-file-form-defmumble, byte-compile)
29062         (byte-compile-file-form-defalias, display-call-tree): Use it.
29064         * lisp/files.el: Don't message when nothing happened.
29065         (save-some-buffers, basic-save-buffer): Before messaging to say
29066         "nothing was saved" check if (called-interactively-p 'any).
29068 2015-04-12  João Távora  <joaotavora@gmail.com>
29070         Summary: Improve sexp-based movement in message-mode
29071         Works by giving citations and smileys a different syntax.  This helps
29072         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
29073         sexp-based movement.
29074         * lisp/gnus/message.el (message--syntax-propertize): New function.
29075         (message-mode): Set syntax-related vars.
29076         (message-smileys): New variable.
29077         * test/automated/message-mode-tests.el: New file
29079 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
29081         Use bool for boolean in window.c
29082         * src/window.c: Omit unnecessary static function decls.
29083         (adjust_window_count, select_window, Fselect_window)
29084         (window_body_width, Fwindow_body_height, Fwindow_body_width)
29085         (set_window_hscroll, check_window_containing, Fwindow_at)
29086         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
29087         (unshow_buffer, replace_window, recombine_windows)
29088         (add_window_to_list, candidate_window_p, next_window)
29089         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
29090         (Fget_buffer_window, Fdelete_other_windows_internal)
29091         (replace_buffer_in_windows_safely, set_window_buffer)
29092         (Fset_window_buffer, Fforce_window_update)
29093         (temp_output_buffer_show, make_parent_window)
29094         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
29095         (resize_frame_windows, Fsplit_window_internal)
29096         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
29097         (Fresize_mini_window_internal, mark_window_cursors_off)
29098         (window_scroll, window_scroll_pixel_based)
29099         (window_scroll_line_based, scroll_command, Fscroll_other_window)
29100         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
29101         (Fmove_to_window_line, Fset_window_configuration)
29102         (delete_all_child_windows, apply_window_adjustment)
29103         (set_window_fringes, set_window_scroll_bars)
29104         (Fset_window_vscroll, foreach_window, foreach_window_1)
29105         (compare_window_configurations, Fcompare_window_configurations):
29106         Prefer 'bool', 'true', and 'false' for booleans.
29107         * src/window.h (WINDOW_MODE_LINE_LINES)
29108         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
29110 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
29112         Speed up byte-compilation and autoload generation by avoiding mode-hooks
29113         This prevents emacs-lisp-mode-hook from being run everytime an
29114         autoload file is generated, which can account for a fraction of
29115         package installation time depending on the hooks the user has
29116         configured.
29117         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
29118         * lisp/emacs-lisp/autoload.el (autoload-find-file)
29119         (autoload-find-generated-file): Use delay-mode-hooks.
29121         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'.
29122         (package-menu-refresh): Respect async and do new package checking.
29123         (list-packages): Use `package-menu-refresh' instead of repeating code.
29125         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help.
29126         (package--quick-help-keys): New variable.
29127         (package--prettify-quick-help-key): New function.
29128         (package-menu-quick-help): Use it.
29130         * lisp/emacs-lisp/package.el: Fix initially wrong compat table.
29131         (package--build-compatibility-table): Require finder.
29133         * test/automated/package-test.el: Fix new test.
29135         * lisp/emacs-lisp/package.el: Silence async operations.
29136         (package--silence): New variable.
29137         (package--message): New function.
29138         (package-import-keyring, package-refresh-contents)
29139         (package-compute-transaction, package-install, package-delete)
29140         (package-menu--perform-transaction, package-menu-execute): Use it.
29142         * test/automated/package-test.el: Test async functionality.
29143         (package-test-update-archives-async): New test.
29145 2015-04-11  Daiki Ueno  <ueno@gnu.org>
29147         Utilize `make-process' in epg.el
29148         * lisp/epg.el (epg-error-output): Abolish.
29149         (epg-context): New slot `error-buffer'.
29150         (epg--start): Use `make-process' and `make-pipe-process'.
29151         (epg--process-filter): Remove code separating stderr from stdout.
29152         (epg-wait-for-completion): Simplify `error-output' handling.
29153         (epg-reset): Dispose error buffer.
29155 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
29157         * .gitignore: Ignore doc temps and outputs.
29159         Port commit-msg to MSYS Bash+Gawk
29160         See Eli Zaretskii in:
29161         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
29162         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
29163         (cent_sign, print_at_sign, at_sign): Revert previous change.
29164         (print_at_sign): Prepend "BEGIN".
29165         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
29167         Port commit-msg to broken MS-Windows shell
29168         * build-aux/git-hooks/commit-msg (cent_sign):
29169         Just use UTF-8 here rather than ASCII + printf, as the latter fails
29170         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
29171         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
29173 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
29175         Support GnuTLS v3.4 and later on MS-Windows
29176         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
29177         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
29178         GnuTLS DLL to load according to value of libgnutls-version.
29179         (Bug#20294)
29181 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
29183         Minor quoting etc. fixes to misc manuals
29184         Fix some minor quoting and spacing issues.  Distinguish more
29185         clearly among grave accent and apostrophe (which are ASCII) and
29186         single quote (which is not).  Prefer the standard terms
29187         "apostrophe" and "grave accent" to alternative names that can be
29188         confusing.  Use apostrophes to single-quote ASCII text.
29189         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
29190         rather than approximating it in ASCII with grave accent.
29192 2015-04-11  Daiki Ueno  <ueno@gnu.org>
29194         Respect more keyword args in `make-process'
29195         * src/process.c (Fmake_process): Respect `:sentinel' and `:filter'
29196         keywords as documented.
29198 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
29200         Extract ChangeLog entries when committing a directory
29201         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
29202         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
29203         Add a FIXME comment.
29204         (log-edit-changelog-entries): Extract from
29205         `log-edit-changelog-entries', handle FILE being a directory
29206         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
29208 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
29210         Fix problems found by --enable-gcc-warnings
29211         * src/process.c (create_process, Fmake_pipe_process)
29212         (Fmake_network_process): Omit unused locals.
29214         Fix commit-msg to handle scissors lines
29215         * build-aux/git-hooks/commit-msg:
29216         Ignore every line after a scissors line, such as a line generated
29217         by 'git commit -v'.  Problem reported by Johan Bockgård in:
29218         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
29220         port commit-msg to Gawk 3.0.4 (1999)
29221         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
29222         (print_at_sign, at_sign): New vars.  Use them to avoid problems
29223         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
29224         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
29226         Have commit-msg report commit failure
29227         * build-aux/git-hooks/commit-msg: If the commit is aborted,
29228         say so.  Simplify by doing this at the end.  Problem reported
29229         by Eli Zaretskii in:
29230         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
29232 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
29234         Clean up LDAP Configuration section of EUDC manual
29235         * doc/misc/eudc.texi: Combine indices.
29236         (LDAP Configuration): Use command markup.  Add index entries.
29237         Change formatting.  Wrap long lines.  Add noindent markup.
29239 2015-04-10  Daiki Ueno  <ueno@gnu.org>
29241         Add facility to collect stderr of async subprocess
29242         * src/w32.h (register_aux_fd): New function declaration.
29243         * src/w32.c (register_aux_fd): New function.
29244         * src/process.h (struct Lisp_Process): New member stderrproc.
29245         * src/process.c (PIPECONN_P): New macro.
29246         (PIPECONN1_P): New macro.
29247         (Fdelete_process, Fprocess_status, Fset_process_buffer)
29248         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
29249         (Fcontinue_process): Handle pipe process specially.
29250         (create_process): Respect p->stderrproc.
29251         (Fmake_pipe_process): New function.
29252         (Fmake_process): Add new keyword argument :stderr.
29253         (wait_reading_process_output): Specially handle a pipe process when
29254         it gets an EOF.
29255         (syms_of_process): Register Qpipe and Smake_pipe_process.
29256         * doc/lispref/processes.texi (Asynchronous Processes): Document
29257         `make-pipe-process' and `:stderr' keyword of `make-process'.
29258         * lisp/subr.el (start-process): Suggest to use `make-process' handle
29259         standard error separately.
29260         * test/automated/process-tests.el (process-test-stderr-buffer)
29261         (process-test-stderr-filter): New tests.
29262         * etc/NEWS: Mention new process type `pipe' and its usage with the
29263         `:stderr' keyword of `make-process'.
29265 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
29267         Minor quoting etc. fixes to lispref manual
29268         * doc/lispref/tips.texi (Documentation Tips):
29269         Distinguish more clearly among grave accent, apostrophe,
29270         and single quote.
29271         * doc/lispref/README, doc/lispref/buffers.texi:
29272         * doc/lispref/commands.texi, doc/lispref/control.texi:
29273         * doc/lispref/customize.texi, doc/lispref/display.texi:
29274         * doc/lispref/elisp.texi, doc/lispref/files.texi:
29275         * doc/lispref/frames.texi, doc/lispref/hash.texi:
29276         * doc/lispref/help.texi, doc/lispref/internals.texi:
29277         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
29278         * doc/lispref/markers.texi, doc/lispref/modes.texi:
29279         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
29280         * doc/lispref/os.texi, doc/lispref/positions.texi:
29281         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
29282         * doc/lispref/text.texi, doc/lispref/tips.texi:
29283         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
29284         Use American-style double quoting in ordinary text,
29285         and quote 'like this' when single-quoting in ASCII text.
29286         Also, fix some minor spacing issues.
29288 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
29290         Handle symlinked test directory in tramp-tests.el
29291         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
29292         (tramp--test-check-files): Use `file-truename' for directories.
29294 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
29296         Fix 'recenter' when visual-line-mode is turned on
29297         * src/window.c (Frecenter): Use the same code for GUI and TTY
29298         frames alike; use vmotion only for "initial" frames.  This is
29299         because vmotion doesn't support visual-line-mode.  Rewrite the
29300         'iarg >= 0' case to use move_it_* functions instead of using
29301         vmotion, for the same reason.  Fix the clipping of the argument
29302         value to support scroll-margin in all cases and avoid unwarranted
29303         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
29304         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
29305         which see.
29307 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
29309         * lisp/abbrev.el (define-abbrev-table): Refine last change.
29311         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
29312         use of c[ad]+r", so as to keep the "cl-" prefix on all
29313         cl-lib definitions.
29315         * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
29316         Use inhibit-point-motion-hooks.
29318         * lisp/cedet/semantic: Remove some dead code.
29319         * lisp/cedet/semantic/util-modes.el
29320         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
29321         any more.
29322         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
29323         not supported any more.
29324         (semantic-safe): Use `declare'.
29325         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
29326         (semantic-tag-intangible-p): Remove unused functions.
29327         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
29328         Remove unused function.
29330         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
29331         (gnus-article-hide-text, gnus-article-unhide-text)
29332         (gnus-article-unhide-text-type): Remove special handling of
29333         `intangible' since that property is not used any more.
29334         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
29336 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
29338         Use the VC root in `log-edit-listfun'
29339         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
29340         `log-edit-listfun'.
29342 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
29344         Fix description of Unix time, mention new function.
29345         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
29346         Unix time.
29347         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
29348         (Basic Operations on Units): Mention `calc-convert-exact-units'.
29350 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
29352         * lisp/emacs-lisp/package.el: Use mode-line-process for notification.
29354 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
29356         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
29357         Don't add newline after the last entry.
29359 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
29361         css-mode.el: Add "not" pseudo-class
29362         (Bug#20267)
29363         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
29364         list of CSS pseudo-classes.
29366 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
29368         * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var".
29370 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
29372         Stop messing with the EMACS env var
29373         * doc/emacs/misc.texi (Interactive Shell): Remove description of
29374         EMACS env var.
29376 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
29378         Adapt 'make change-history' to coding cookie
29379         * Makefile.in (change-history): Adjust to change of format of
29380         ChangeLog file, which now has a coding cookie before an indented
29381         copyright notice.
29383 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
29385         Adapt 'make change-history' to coding cookie
29386         * Makefile.in (change-history): Adjust to change of format of
29387         ChangeLog file, which now has a coding cookie before an indented
29388         copyright notice.
29390         gitlog-to-changelog coding cookie and mv -i
29391         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
29392         for copyright notice prototype, so that we get a proper "coding:"
29393         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
29394         existing ChangeLog.  Problems reported by Eli Zaretskii in:
29395         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
29397         Merge from gnulib
29398         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
29399         2015-04-09 gitlog-to-changelog: port to MS-Windows
29401 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
29403         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
29404         (Bug#20212)
29406 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
29408         Stop messing with the EMACS env var
29409         (Bug#20202)
29410         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
29411         * lisp/comint.el (comint-exec-1):
29412         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
29413         * lisp/progmodes/compile.el (compilation-start): Same and bring
29414         INSIDE_EMACS's format in line with other users.
29416         css-mode.el (css-smie-rules): Fix indentation after complex selectors
29417         (Bug#20282)
29418         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
29419         inner structure of selectors.
29421 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
29423         python.el: Indent docstring lines to base-indent
29424         (Bug#19595)
29425         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
29426         an initial patch.
29427         * lisp/progmodes/python.el
29428         (python-indent-context): Add :inside-docstring context.
29429         (python-indent--calculate-indentation): Handle :inside-docstring.
29430         (python-indent-region): Re-indent docstrings.
29431         * test/automated/python-tests.el (python-indent-region-5)
29432         (python-indent-inside-string-2): Fix tests.
29434         python.el: Increase native completion robustness
29435         (Bug#19755)
29436         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
29437         this and providing useful ideas.
29438         * lisp/progmodes/python.el
29439         (python-shell-completion-native-output-timeout): Increase value.
29440         (python-shell-completion-native-try-output-timeout): New var.
29441         (python-shell-completion-native-try): Use it.
29442         (python-shell-completion-native-setup): New readline setup avoids
29443         polluting current context, ensures output when no-completions are
29444         available and includes output end marker.
29445         (python-shell-completion-native-get-completions): Trigger with one
29446         tab only.  Call accept-process-output until output end is found or
29447         python-shell-completion-native-output-timeout is exceeded.
29449 2015-04-08  Samer Masterson  <samer@samertm.com>
29451         * lisp/eshell: Make backslash a no-op in front of normal chars
29452         (Bug#8531)
29453         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
29454         (eshell-parse-backslash): Return escaped character after backslash
29455         if it is special.  Otherwise, if the backslash is not in a quoted
29456         string, ignore the backslash and return the character after; if
29457         the backslash is in a quoted string, return the backslash and the
29458         character after.
29459         * test/automated/eshell.el (eshell-test/escape-nonspecial)
29460         (eshell-test/escape-nonspecial-unicode)
29461         (eshell-test/escape-nonspecial-quoted)
29462         (eshell-test/escape-special-quoted): Add tests for new
29463         `eshell-parse-backslash' behavior.
29465 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
29467         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
29468         after the file name.
29469         (Bug#20276)
29471 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
29473         Minor quoting etc. fixes to Emacs manual
29474         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
29475         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
29476         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
29477         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
29478         * doc/emacs/indent.texi, doc/emacs/macos.texi:
29479         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
29480         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
29481         * doc/emacs/search.texi, doc/emacs/trouble.texi:
29482         * doc/emacs/vc1-xtra.texi:
29483         Use American-style double quoting in ordinary text,
29484         and quote 'like this' when single-quoting in ASCII text.
29485         Also, fix some minor spacing issues.
29487         Minor quoting etc. fixes to elisp intro
29488         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
29489         American-style double quoting in ordinary text.  In ASCII text,
29490         consistently quote 'like this' instead of `like this', unless
29491         Emacs requires the latter.
29493 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
29495         * CONTRIBUTE: Mention log-edit-insert-changelog.
29497         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
29499 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
29501         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
29503 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
29505         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
29506         Fix inheritance of initargs.  (Bug#20270)
29508 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
29510         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
29511         while dowloading information.
29513         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
29514         (package--ensure-init-file): Check file contents before visiting.
29515         (package-initialize): Call it.
29516         (package-install-from-buffer, package-install): Don't call it.
29518 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
29520         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800.
29521         (Bug#17517)
29523 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
29525         * lisp/net/tramp-cache.el (tramp-flush-file-property):
29526         Fix nasty scoping bug.
29528 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
29530         Add notice to visual commands section
29531         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
29532         such as git call less with its -F option which omits pagination if
29533         the contents is less than one page long.  This interferes with
29534         eshell's visual (sub-)commands.
29536 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
29538         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
29539         environment variable expansion in file names.  (Bug#19839)
29541 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
29543         Prefer double-quote to accent-grave in man pages
29545 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
29547         (Bug#20257)
29548         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
29550 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
29552         Update etc/PROBLEMS.
29553         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
29554         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
29555         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
29556         respectively); other minor updates and tweaks.  (Bug#20011)
29558 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
29560         Add doc strings for some Isearch state vars
29561         * lisp/misearch.el (multi-isearch-buffer-list)
29562         (multi-isearch-file-list): Add doc strings.
29563         (Bug#20232)
29565 2015-04-07  Alan Mackenzie  <acm@muc.de>
29567         Always mark "<" and ">" in #include directives with text properties.
29568         * lisp/progmodes/cc-fonts.el (c-cpp-matchers): Replace a font-lock
29569         "anchored matcher" with an invocation of
29570         c-make-font-lock-search-function to allow fontification when there's
29571         no trailing space on an "#include <..>" line.
29573 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
29575         Generate a ChangeLog file from commit logs
29576         * .gitignore: Add 'ChangeLog'.
29577         * build-aux/gitlog-to-changelog: New file, from Gnulib.
29578         * build-aux/gitlog-to-emacslog: New file.
29579         * CONTRIBUTE: Document the revised workflow.
29580         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
29581         instead of just special cases.
29582         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
29583         (ChangeLog, unchanged-history-files, change-history)
29584         (change-history-commit): New rules.
29585         * admin/admin.el (make-manuals-dist--1):
29586         Don't worry about doc/ChangeLog.
29587         * admin/authors.el: Add a FIXME.
29588         * admin/make-tarball.txt:
29589         * lisp/calendar/icalendar.el:
29590         * lisp/gnus/deuglify.el:
29591         * lisp/obsolete/gulp.el:
29592         * lwlib/README:
29593         Adjust to renamed ChangeLog history files.
29594         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
29595         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
29596         Remove obsolete discussion of merging ChangeLog files.
29597         New section "Maintaining ChangeLog history".
29598         * build-aux/git-hooks/pre-commit:
29599         Reject attempts to commit files named 'ChangeLog'.
29600         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
29601         * make-dist: Make and distribute top-level ChangeLog if there's a
29602         .git directory.  Distribute the new ChangeLog history files
29603         instead of scattered ChangeLog files.  Distribute the new files
29604         gitlog-to-changelog and gitlog-to-emacslog.
29605         (Bug#19113)
29607         Rename ChangeLogs for gitlog-to-changelog
29608         This patch was implemented via the following shell commands:
29609         find * -name ChangeLog |
29610         sed 's,.*,git mv & &.1,
29611         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
29612         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
29613         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
29614         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
29615         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
29616         sh
29617         git commit -am"[this commit message]"
29619 This file records repository revisions from
29620 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
29621 2016-02-04b6d89ff9288a49099f041752908b5eb9613e (inclusive).
29622 commit 3a2b6aa33109dc40b2c1bcc621a624d38fe814fc (inclusive).
29623 See ChangeLog.1 for earlier changes.
29625 ;; Local Variables:
29626 ;; coding: utf-8
29627 ;; End:
29629   Copyright (C) 2015-2016 Free Software Foundation, Inc.
29631   This file is part of GNU Emacs.
29633   GNU Emacs is free software: you can redistribute it and/or modify
29634   it under the terms of the GNU General Public License as published by
29635   the Free Software Foundation, either version 3 of the License, or
29636   (at your option) any later version.
29638   GNU Emacs is distributed in the hope that it will be useful,
29639   but WITHOUT ANY WARRANTY; without even the implied warranty of
29640   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
29641   GNU General Public License for more details.
29643   You should have received a copy of the GNU General Public License
29644   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.