Remove 'def X' from the example
[emacs.git] / ChangeLog.2
blob59215466842a274a02c23212f2386db5947f4e80
1 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
3         Bump version to 25.0.90
5         * README:
6         * configure.ac:
7         * msdos/sed2v2.inp: Bump version to 25.0.90.
9 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
11         * etc/AUTHORS: Update the AUTHORS file
13 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
15         authors.el updates
17         * admin/authors.el (authors-renamed-files-alist): Additions.
19 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
21         Make it possible to run make change-history on emacs-25
23         * Makefile.in: Check if the current branch is emacs-25 instead of
24           master.
26 2016-01-30  lu4nx  <lx@shellcodes.org>
28         Support Go language in 'etags'
30         * lib-src/etags.c <Ruby_help>: Fix documentation of Ruby tags.
31         <Go_help>: New help.
32         <Go_suffixes>: New variable.
33         (Go_functions): New function.
34         <lang_names>: Add entry for Go.  (Bug#22370)
36         * doc/emacs/maintaining.texi (Tag Syntax): Document Go support.
37         * doc/man/etags.1: Mention Go support.
39         * etc/NEWS: Mention Go support.
41         * test/etags/go-src/test.go:
42         * test/etags/go-src/test1.go: New test files.
43         * test/etags/Makefile (GOSRC): New variable.
44         (SRCS): Add $(GOSRC).
45         * test/etags/ETAGS.good_1:
46         * test/etags/ETAGS.good_2:
47         * test/etags/ETAGS.good_3:
48         * test/etags/ETAGS.good_4:
49         * test/etags/ETAGS.good_5:
50         * test/etags/ETAGS.good_6:
51         * test/etags/CTAGS.good: Adapt to addition of Go tests.
53 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
55         Improve Ruby support in 'etags'
57         * lib-src/etags.c (Ruby_functions): Tag constants.  Don't tag
58         singleton classes.  Remove class qualifiers from tags generated
59         for method and constant names.  (Bug#22241)
61         * doc/emacs/maintaining.texi (Tag Syntax): Mention that constants
62         are tagged by etags in Ruby.
64         * etc/NEWS: Mention that constants are tagged by etags in Ruby.
66         * test/etags/ruby-src/test1.ruby: Add more tests.
67         * test/etags/ETAGS.good_1:
68         * test/etags/ETAGS.good_2:
69         * test/etags/ETAGS.good_3:
70         * test/etags/ETAGS.good_4:
71         * test/etags/ETAGS.good_5:
72         * test/etags/ETAGS.good_6:
73         * test/etags/CTAGS.good: Adapt to the changes in etags and in Ruby
74         tests.
76 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
78         Adjust etags test results to changes in copyright years
80         * test/etags/CTAGS.good:
81         * test/etags/ETAGS.good_1:
82         * test/etags/ETAGS.good_2:
83         * test/etags/ETAGS.good_3:
84         * test/etags/ETAGS.good_4:
85         * test/etags/ETAGS.good_5:
86         * test/etags/ETAGS.good_6: Adjust to shift in characters and
87         in line numbers.
89 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
91         Revert "Re-enable checks in member, memql, delete to complain about non-lists"
93         This reverts commit f524e8b7f12d9b5a8b92084e5385429fe7b085b9.
95 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
97         Make it possible to run make change-history on emacs-25
99         * Makefile.in: Check if the current branch is emacs-25 instead of
100           master.
102 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
104         Don't fiddle with DEFAULT
106         * lisp/progmodes/project.el (project--completing-read-strict):
107         Don't change DEFAULT, whether is has any matches in
108         COLLECTION, or not.
110 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
112         Document xwidget commands and functions
114         * doc/lispref/display.texi (Xwidgets): New section, describes some
115         of the xwidget primitives.
116         * doc/lispref/display.texi (Display): Update the chapter menu.
117         * doc/emacs/misc.texi (Embedded WebKit Widgets): New section.
118         * doc/emacs/emacs.texi (Top): Update the master menu to include
119         the xwidget node.
121 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
123         Build fix for shr.el
125         * shr.el (seq): Require.
127 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
129         Improve project-find-file yet again!
131         * lisp/progmodes/project.el (project--completing-read-strict):
132         New function.
133         (project-find-file-in): Use it.
134         (project-file-completion-table): Move the default
135         implementation inside the cl-defgeneric form.
136         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01720.html)
138 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
140         Don't pass DIR to 'hg status'
142         * lisp/vc/vc-hg.el (vc-hg-dir-status-files):
143         Don't pass DIR to 'hg status' (bug#22481).
145 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
147         Fix typo in previous commits
149         * lisp/progmodes/project.el (project-find-file-in):
150         * lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): Fix typo in previous
151         commit.
153 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
155         Improve project-find-file
157         * lisp/progmodes/project.el (project-file-completion-table): New.
158         (project-find-file, project-or-external-find-file): Default to filename
159         at point.
160         (project-file-completion-table): New, split out from
161         project--find-file-in.
162         (project-find-file-in): Renamed from project--find-file-in, use
163         project-file-completion-table.
165         * lisp/progmodes/xref.el (ede-minor-mode): New declaration.
166         (xref--find-ignores-arguments): Add doc string.
168 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
170         Implement vc-mtn-find-ignore-file, fix some doc strings
172         * lisp/cedet/cedet-global.el (cedet-gnu-global-root): Improve doc string.
174         * lisp/cedet/ede/locate.el (initialize-instance): Improve doc string.
176         * lisp/vc/vc-git.el (vc-git-find-ignore-file): Fix doc string.
178         * lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): New function.
180 2016-01-29  Vincent Belaïche  <vincentb1@users.sourceforge.net>
182         Correct a whole bunch of bugs coming with renamed cell relocation.
184         This is the same change as commit on master branch. See
185         http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=badcd38aa86ed7973f2be2743c405710973a0bdd
187         * lisp/ses.el (ses-localvars): rename variable
188         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
189         and adjust the comment about it.
190         (ses-plist-delq): new defun.
191         (ses--ses-buffer-list): new defvar.
192         (ses--unbind-cell-name): new defun.
193         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
194         (ses-relocate-formula): Undo change of
195         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
196         preventing relocation for named cell --- now doing this is delegated
197         to function `ses-relocate-symbol'.
198         (ses-relocate-range): In docstring, undo change of
199         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
200         lower case as it is not a variable.
201         (ses-relocate-all): Cell name relocation : 1) check that cell is a
202         renamed cell by testing `ses-cell' property to :ses-named, rather than
203         comparing name to corresponding standard name. Set rowcol of renamed
204         cell into the hashmap --- `ses-cell' property must not be used for
205         that as the same name can be used for different locations in different
206         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
207         `local-variable-p' to check if cell name is already in use in this
208         sheet or needs initialisation.
209         (ses-relocate-all): Cell value relocation : 1) like for name
210         relocation use the `ses-cell' property rather than comparing actual
211         name to corresponding standard name. 2) Correct bug introduced in
212         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
213         made the other way round than the intention --- ie value relocation
214         was disabled for standard cell, not for renamed cell as was the
215         intention.
216         (ses-relocate-all): Add loop for unbinding deleted renamed cells
217         names.
218         (ses-killbuffer-hook): new defun.
219         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
220         kill buffer hook, plus pushing current buffer if new in list.
221         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
222         into `ses--in-killing-named-cell-list'.
223         (ses-rename-cell): Remove update of variable
224         `ses--renamed-cell-symb-list', this variable is renamed to
225         `ses--in-killing-named-cell-list', and its setting is done in
226         functions `ses-delete-row' and , `ses-delete-column' now.
227         (ses-rename-cell): Make cell new name a buffer local variable.
228         (ses-rename-cell): Change correction of
229         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
230         computation of the range over which `cursor-intangible' property was
231         to be updated. This correction was ok for non spilling cells, but not
232         for cells spilling over following blank cells. Simply use
233         `next-single-property-change' rather than computing the end column
234         from column widths.
236 2016-01-29  Andreas Schwab  <schwab@linux-m68k.org>
238         Re-enable checks in member, memql, delete to complain about non-lists
240         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
242 2016-01-29  Martin Rudalics  <rudalics@gmx.at>
244         Minor doc(-string) tweaks
246         * lisp/window.el (window-in-direction): Fix doc-string typo.
247         * doc/lispref/frames.texi (Frame Font): Mention canonical
248         character width/height.
249         * doc/lispref/windows.texi (Windows and Frames): Clarify
250         handling of minibuffer window for `window-in-direction'.
251         (Window Sizes): Minor tweaks in descriptions of
252         `window-max-chars-per-line', `window-min-width' and
253         `window-min-size'.
254         (Deleting Windows): Minor tweak in `delete-window' description.
255         (Selecting Windows): Clarify window use time description.
256         (Cyclic Window Ordering): Minor tweak.
257         (Switching Buffers): Clarify description of
258         `switch-to-buffer-in-dedicated-window'.
260 2016-01-29  Eli Zaretskii  <eliz@gnu.org>
262         Minor improvements to 'pcase' documentation
264         * doc/lispref/control.texi (Pattern matching case statement):
265         Improve the documentation of 'pcase' per comments.  See two
266         discussion threads on emacs-devel@gnu.org for the details:
267         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01335.html
268         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01336.html.
270 2016-01-29  Glenn Morris  <rgm@gnu.org>
272         Don't use eval to quieten prolog.el compilation.
274         * lisp/progmodes/prolog.el (pltrace-on, pltrace-off): Declare.
275         (prolog-enable-sicstus-sd, prolog-disable-sicstus-sd): Don't use eval.
277 2016-01-29  Glenn Morris  <rgm@gnu.org>
279         Mark some risky prolog variables.
281         * lisp/progmodes/prolog.el (prolog-system-version)
282         (prolog-keywords, prolog-types, prolog-mode-specificators)
283         (prolog-determinism-specificators, prolog-directives)
284         (prolog-program-name, prolog-program-switches)
285         (prolog-consult-string, prolog-compile-string)
286         (prolog-eof-string, prolog-prompt-regexp, prolog-help-function):
287         Mark anything processed by prolog-find-value-by-system as risky.
289 2016-01-28  Glenn Morris  <rgm@gnu.org>
291         * lisp/custom.el (defcustom): Doc fix.
293         * doc/lispref/customize.texi (Variable Definitions):
294         Defcustom should always have a type.
296 2016-01-28  Glenn Morris  <rgm@gnu.org>
298         * lisp/cedet/semantic/db-file.el (semanticdb-persistent-path):
299         Fix :type.
301         * lisp/emacs-lisp/package.el (package-load-list): Improve :type.
303 2016-01-28  Michael Albinus  <michael.albinus@gmx.de>
305         Fix Bug#22452
307         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
308         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
309         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
310         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
311         Mark it as connected.
313         * lisp/net/tramp.el (tramp-handle-file-remote-p): Check also, if
314         connection property "connected" is set.  (Bug#22452)
316 2016-01-27  Glenn Morris  <rgm@gnu.org>
318         * lisp/xwidget.el (xwidget-query-on-exit-flag): Declare.
320         * lisp/xwidget.el (xwidget-webkit-browse-url): Give explicit error
321         if not compiled with xwidgets.
323 2016-01-27  Paul Eggert  <eggert@cs.ucla.edu>
325         C-u C-x = example doc fix
327         * doc/emacs/mule.texi (International Chars):
328         Adjust example to match current behavior of C-u C-x =.
330 2016-01-27  Paul Eggert  <eggert@cs.ucla.edu>
332         malloc.h hygiene
334         This attempts to future-proof Emacs a bit against possible glibc
335         changes, by having Emacs use <malloc.h> declarations rather than
336         coding them up by hand.  Problem noted by Florian Weimer in:
337         https://sourceware.org/ml/libc-alpha/2016-01/msg00777.html
338         Implement this mainly by moving malloc.h-related functions from
339         emacs.c (which does not include <malloc.h>) to alloc.c (which does).
340         * src/alloc.c (my_heap_start) [DOUG_LEA_MALLOC || GNU_LINUX]:
341         New function.
342         The remaining changes to this file apply only if DOUG_LEA_MALLOC.
343         (alloc_unexec_pre, alloc_unexec_post): New functions.
344         (malloc_initialize_hook): Use my_heap_start and alloc_unexec_post.
345         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
346         (__malloc_initialize_hook): Use it.
347         (malloc_state_ptr, malloc_initialize_hook, __malloc_initialize_hook):
348         Move here from ...
349         * src/emacs.c: ... here.
350         (malloc_get_state, malloc_set_state): Remove extern decls.
351         (my_heap_start) [DOUG_LEA_MALLOC || GNU_LINUX]: Remove static var.
352         All uses changed to similarly-named new function.
353         (Fdump_emacs): Use new functions alloc_unexec_pre, alloc_unexec_post.
354         * src/lisp.h (my_heap_start, alloc_unexec_pre, alloc_unexec_post):
355         New decls.
357 2016-01-26  Eli Zaretskii  <eliz@gnu.org>
359         * doc/emacs/mark.texi (Using Region): Clarify wording.  (Bug#22467)
361 2016-01-26  Paul Eggert  <eggert@cs.ucla.edu>
363         Remove never-set var handle_user_signal_hook
365         * src/keyboard.c, src/keyboard.h (handle_user_signal_hook):
366         Remove never-set var.  All uses removed.
368 2016-01-26  K. Handa  <handa@gnu.org>
370         Backport:fix previous change of src/ftfont.c (ftfont_shape_by_flt)
372         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
373         second glyph only when there are enough glyphs.
375         (cherry picked from commit 9835757013569673854b692ccbb58bfb3c3ed1f7)
377 2016-01-26  K. Handa  <handa@gnu.org>
379         support rendering of wider range of combinging characters by ftfont backend
381         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
382         supports rendering of combining characters, call
383         font-shape-gstring.
385         * src/font.c (Ffont_get): Handle `combining-capability' property.
386         (syms_of_font): New symbol ":combining-capability'.
388         * src/font.h (struct font_driver): New member combining_capability.
390         * src/ftfont.c: Include "category.h".
391         (ftfont_driver): Initialize combining_capability to
392         ftfont_combining_capability.
393         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
394         FLT in advance.
395         (ftfont_combining_capability): New function.
397         (cherry picked from commit 536f48e9a2251b9e654ea974bd90ff2f40218753)
399 2016-01-26  Anders Lindgren  <andlind@gmail.com>
401         Fixed NextStep fullscreen issue (bug#22468)
403         When in fullscreen mode, `[screen visibleFrame]' sometimes
404         includes, sometimes excludes the menu bar. This could cause
405         a frame to be placed too low when in fullscreen mode.
407         * src/nsterm.m (ns_menu_bar_should_be_hidden): Trace.
408         (constrain_frame_rect): New parameter, isFullscreen, when true don't
409         query the height of the menu bar.
410         (ns_constrain_all_frames): Pass `false' (isFullscreen) to
411         `constrain_frame_rect'.
412         ([EmacsView initFrameFromEmacs:]): Trace.
413         ([EmacsView isFullscreen]): Trace.
414         ([EmacsWindow constrainFrameRect:toScreen:]): Pass fullscreen
415         state to `constrain_frame_rect'.
417 2016-01-26  Artur Malabarba  <bruce.connor.am@gmail.com>
419         * lisp/files.el: Use a fixed file name for the second dir-locals file
421         (dir-locals-file): Revert to its original fixed value.
422         (dir-locals-file-2): New const.
423         (dir-locals--all-files): Don't use `file-name-all-completions'.
424         Instead, just check for the 2 dir-locals files and return a list
425         of the ones that exit (if any).
427         * etc/NEWS: Document the change.
429         * doc/emacs/custom.texi (Directory Variables): Document the change.
431         * doc/lispref/variables.texi (Directory Local Variables): Update
432         accordingly.
434 2016-01-26  Artur Malabarba  <bruce.connor.am@gmail.com>
436         * lisp/files-x.el (modify-dir-local-variable): Small rewrite
438         Change a variable name to be more meaningful, and reorder some of
439         the code with no change in behaviour.
441 2016-01-26  Artur Malabarba  <bruce.connor.am@gmail.com>
443         * lisp/files.el (dir-locals-find-file): Refactor return values
445         Returning a cache remains unchanged, but the case of returning a
446         file (or pattern) is now changed to return the contaning
447         directory.
449         (dir-locals-read-from-file): Rename to `dir-locals-read-from-dir'
450         and make obsolete.
451         (dir-locals-read-from-dir): Simplify accordingly.
452         (hack-dir-local-variables): Simplify accordingly and rename a
453         variable.
455 2016-01-26  Glenn Morris  <rgm@gnu.org>
457         * lisp/textmodes/flyspell.el (flyspell--prev-meta-tab-binding):
458         Declare.
460         * configure.ac (USE_CAIRO): Rename to more standard HAVE_CAIRO.
462         * configure.ac (--with-cairo): Say it's experimental.
464         * lisp/xwidget.el (xwidget-webkit-scroll-behavior):
465         Rename using American spelling.  Update all uses.
467 2016-01-26  Glenn Morris  <rgm@gnu.org>
469         Yet more xwidget doc fixes.
471         * lisp/xwidget.el (xwidget-webkit-scroll-behaviour)
472         (xwidget-insert, xwidget-webkit-browse-url)
473         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down)
474         (xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward)
475         (xwidget-webkit-insert-string, xwidget-webkit-show-named-element)
476         (xwidget-webkit-show-id-element)
477         (xwidget-webkit-show-id-or-named-element)
478         (xwidget-webkit-adjust-size, xwidget-webkit-current-url)
479         (xwidget-webkit-execute-script-rv)
480         (xwidget-webkit-copy-selection-as-kill, xwidget-get)
481         (xwidget-put):  Doc fixes.
482         (xwidget-webkit-insert-string, xwidget-webkit-show-named-element)
483         (xwidget-webkit-show-id-element)
484         (xwidget-webkit-show-id-or-named-element): Prompt fixes.
486 2016-01-25  Ted Zlatanov  <tzz@lifelogs.com>
488         * lisp/gnus/gnus-art.el (gnus-blocked-images):
489         Add explicit nil choice and tags.
491 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
493         Spelling fixes
495 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
497         (font-lock-ensure-function): Fix bug#22399
499         * lisp/font-lock.el (font-lock-ensure-function): Fix handling when
500         font-lock-mode is not enabled (bug#22399).
502 2016-01-25  Alan Mackenzie  <acm@muc.de>
504         Expunge "allow" + infinitive from source and doc, part 2.
506         Do the same for "permit", "enable", "prevent", and (where appropriate)
507         "require".
509         doc/misc/reftex.texi:
510         doc/misc/url.texi:
511         lib/get-permissions.c:
512         lib/strftime.c:
513         lisp/org/org-element.el:
514         lisp/org/org-mobile.el:
515         lisp/textmodes/reftex-vars.el:
516         src/bidi.c:
517         src/emacs.c:
518         src/xdisp.c:
519         test/etags/c-src/emacs/src/lisp.h:
521         Expunge the likes of "This allows to do something" from the above files.
523 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
525         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Redundant line
527         `special-mode' is already read-only.
529 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
531         * lisp/emacs-lisp/ert.el (ert--results-move): Change error to user-error
533 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
535         Port "$@" to OpenIndiana ksh93
537         In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html
538         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
539         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
540         bug in long-dead shells, so remove the workaround.
541         * admin/check-doc-strings, configure.ac, lib-src/rcs2log:
542         Use plain "$@" rather than ${1+"$@"}.
544 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
546         * src/xwidget.c (Fxwidget_set_adjustment): Fix doc string quoting typo.
548 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
550         Improve wording for SMB support
552         * doc/misc/tramp.texi (External methods): Improve and modernize
553         wording for discussion of smbclient.  There is no longer any
554         need to mention the laundry list of old MS Windows implementations
555         of SMB and CIFS, nor to mention CIFS.  Also, give a URL for Samba.
557 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
559         Merge from gnulib
561         This incorporates:
562         2016-01-24 openat_proc_name: fix last '/' overwritten on OS/2 kLIBC
563         2016-01-24 closedir, dirfd, opendir: port to OpenSolaris 5.10
564         2016-01-15 detect utimes() correctly on OS/2 kLIBC
565         2016-01-15 openat_proc_name: port to OS/2 kLIBC
566         2016-01-14 stdint: check _INTPTR_T_DECLARED for intptr_t etc.
567         2016-01-14 opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
568         2016-01-14 dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
569         2016-01-14 binary-io: don't put fd in binary mode if a console on EMX
570         2016-01-14 sig2str: list all signals on FreeBSD >= 7
571         2016-01-13 acl-permissions: port to USE_ACL==0 platforms
572         2016-01-12 mktime: rename macro to avoid glibc clash
573         2016-01-12 Port "$@" to OpenIndiana ksh93
574         2016-01-12 Port Universal Time settings to strict POSIX
575         * build-aux/gitlog-to-changelog, build-aux/update-copyright:
576         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
577         * lib/binary-io.h, lib/dirent.in.h, lib/dirfd.c, lib/dup2.c:
578         * lib/fcntl.c, lib/fdopendir.c, lib/mktime.c, lib/openat-proc.c:
579         * lib/sig2str.h, lib/stdint.in.h, m4/dirfd.m4, m4/dup2.m4:
580         * m4/fcntl.m4, m4/utimes.m4:
581         Copy from gnulib.
582         * m4/gnulib-comp.m4: Regenerate.
584 2016-01-24  Alan Mackenzie  <acm@muc.de>
586         Expunge "allow" + infinitive without direct object from source and doc.
588         Do the same for "permit", "enable", and "prevent".
590         * doc/emacs/mule.texi:
591         * doc/lispref/control.texi:
592         * doc/lispref/display.texi:
593         * doc/lispref/frames.texi:
594         * doc/lispref/functions.texi:
595         * doc/lispref/nonascii.texi:
596         * doc/lispref/streams.texi:
597         * doc/lispref/windows.texi:
598         * doc/misc/dbus.texi:
599         * doc/misc/eww.texi:
600         * doc/misc/flymake.texi:
601         * doc/misc/octave-mode.texi:
602         * doc/misc/org.texi:
603         * doc/misc/reftex.texi:
604         * doc/misc/tramp.texi:
605         * doc/misc/wisent.texi:
606         * etc/NEWS:
607         * lisp/autorevert.el:
608         * lisp/cedet/mode-local.el:
609         * lisp/cedet/semantic/senator.el:
610         * lisp/cedet/semantic/wisent.el:
611         * lisp/dos-fns.el:
612         * lisp/frameset.el:
613         * lisp/gnus/gnus-agent.el:
614         * lisp/gnus/mm-util.el:
615         * lisp/international/characters.el:
616         * lisp/ldefs-boot.el:
617         * lisp/mail/mailclient.el:
618         * lisp/man.el:
619         * lisp/mh-e/mh-search.el:
620         * lisp/net/tramp-cmds.el:
621         * lisp/net/tramp-gvfs.el:
622         * lisp/org/org-crypt.el:
623         * lisp/org/org-element.el:
624         * lisp/org/org-feed.el:
625         * lisp/org/org.el:
626         * lisp/org/ox-ascii.el:
627         * lisp/org/ox-icalendar.el:
628         * lisp/org/ox-publish.el:
629         * lisp/org/ox.el:
630         * lisp/play/gamegrid.el:
631         * lisp/play/gomoku.el:
632         * lisp/progmodes/antlr-mode.el:
633         * lisp/progmodes/python.el:
634         * lisp/progmodes/vhdl-mode.el:
635         * lisp/strokes.el:
636         * lisp/textmodes/ispell.el:
637         * lisp/tree-widget.el:
638         * lisp/vc/pcvs.el:
639         * lisp/window.el:
640         * src/lisp.h:
641         * src/w32.c:
642         * src/w32heap.c:
643         * src/w32term.c:
644         * src/window.c:
645         * src/xfaces.c:
647         Replace solecisms like "This allow to do something" with a correct
648         alternative, such as "This allow you to do something", "This allows
649         something to be done" or "This allows the doing of something".
651 2016-01-24  l3thal  <kwhite@gnu.org>
653         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
655 2016-01-24  Kelvin White  <kwhite@gnu.org>
657         Add NEWS entry for asynchronous reconnect in ERC
659 2016-01-24  l3thal  <kwhite@gnu.org>
661         Add NEWS entry for asynchronous reconnect in ERC
663 2016-01-24  Kelvin White  <kwhite@gnu.org>
665         browse-url.el: Add 'google-chrome' to supported browsers.
667 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
669         Port Tramp manual to latest Texinfo
671         Otherwise, 'make pdf' did not work (Bug#22416).
672         * doc/misc/tramp.texi (xxx, yyy): Remove macros.
673         (trampfn): Specialize to the case where METHOD is nonempty.
674         The 2nd argument is now user@host, not 2nd user and 3rd host args.
675         All uses changed.
676         (trampf): New macro.
678 2016-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
680         * eww.el (eww-render): Protect against empty content-types.
682 2016-01-24  Nicolas Petton  <nicolas@petton.fr>
684         authors.el updates
686         * admin/authors.el (authors-ignored-files, authors-renamed-files-alist):
687           Additions.
689 2016-01-24  Dmitry Gutov  <dgutov@yandex.ru>
691         Rename xref-query-replace to xref-query-replace-in-results
693         * lisp/progmodes/xref.el(xref-query-replace):
694         Rename to xref-query-replace-in-results.
695         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01240.html)
697         * lisp/progmodes/xref.el (xref--xref-buffer-mode-map):
698         * lisp/dired-aux.el (dired-do-find-regexp-and-replace):
699         * doc/emacs/dired.texi (Operating on Files):
700         * doc/emacs/maintaining.texi (Xref Commands)
701         (Identifier Search, Identifier Search): Update accordingly.
703 2016-01-24  Dmitry Gutov  <dgutov@yandex.ru>
705         Update cl-defgeneric and cl-defmethod docstrings
707         * lisp/emacs-lisp/cl-generic.el: Remove outdated TODO item.
708         (cl-defgeneric): Rename BODY to DEFAULT-BODY.
709         (cl-defmethod): Mention that multiple dispatch arguments are
710         allowed.  Document supported types.  (Bug#22336)
712 2016-01-23  Dmitry Gutov  <dgutov@yandex.ru>
714         Comment out next-error-function integration in xref
716         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
717         Comment out next-error-function integration
718         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01286.html).
720 2016-01-23  John Wiegley  <johnw@newartisans.com>
722         Correct a use of "which" in intro.texi
724 2016-01-23  Alan Mackenzie  <acm@muc.de>
726         Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
728         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 14): Check the
729         context of case labels (including "default") more rigorously.
730         (c-guess-basic-syntax CASE 15): Consequential amendment.
732         * lisp/progmodes/cc-langs.el (c-modifier-kwds): Add "default" to Java's value.
734 2016-01-23  Oscar Fuentes  <ofv@wanadoo.es>
736         Don't operate on menu bar of nonexistent frame
738         * src/xfns.c (Fx_hide_tip) [USE_LUCID]: Check that the current frame
739         is valid before redisplaying its menu. Fixes bug#22438.
741 2016-01-23  Anders Lindgren  <andlind@gmail.com>
743         Unbreak the GNUstep build.
745         * src/nsterm.m ([EmacsBell init]): In GNUstep, don't use the
746         predefined "caution" image. Add trace.
747         (x_set_window_size): Remove unused variables `cols' and `rows'.
748         (ns_draw_fringe_bitmap): Exclude assignment of `fromRect' when
749         GNUstep is used.
750         ([EmacsView updateFrameSize:]): Remove unused variable `win'.
751         ([EmacsWindow zoom:]): Remove unused variable `f'.
753 2016-01-23  Eli Zaretskii  <eliz@gnu.org>
754             John Wiegley  <johnw@gnu.org>
755             Michael Heerdegen  <michael_heerdegen@web.de>
757         Improve documentation of 'pcase'
759         * doc/lispref/control.texi (Pattern matching case statement):
760         Reorganize, expand, and improve wording.
762         * etc/NEWS: Mention that 'pcase' changes are documented.
764 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
766         * etc/NEWS: Say that Cairo is experimental.
768 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
770         Report error for PNG under Cairo
772         * src/image.c (lookup_rgb_color): Signal a file error instead
773         of dumping core when mishandling an image.
775 2016-01-23  Arash Esbati  <esbati@gmx.de>
777         Delete a spurious backquote (tiny change)
779         * lisp/textmodes/reftex-ref.el (reftex-label): Delete a
780         spurious backquote which raises an error with emacs 25.
782 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
784         Pacify --enable-gcc-warnings --with-cairo
786         Problem reported by Alexander Kuleshov in:
787         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01289.html
788         * src/gtkutil.c (xg_get_page_setup):
789         Use switch rather than if-then-else.
790         * src/image.c (COLOR_TABLE_SUPPORT):
791         Define directly rather than via #define and optional later #undef.
792         (lookup_rgb_color) [USE_CAIRO && ENABLE_CHECKING]:
793         Crash when the pixel is undefined, as there is a genuine bug
794         here (Bug#22442).
795         * src/image.c (tiff_load, gif_load, svg_load_image)
796         (x_kill_gs_process) [USE_CAIRO]:
797         * src/xterm.c (x_draw_fringe_bitmap) [USE_CAIRO]:
798         Omit unused locals, or move them to where they’re needed.
799         (x_clear_area1): Now ATTRIBUTE_UNUSED.
801 2016-01-23  Eli Zaretskii  <eliz@gnu.org>
803         Update documentation for Dired search and replace
805         * doc/emacs/dired.texi (Operating on Files): Update descriptions
806         of 'A' and 'Q' now bound to 'dired-do-find-regexp' and
807         'dired-do-find-regexp-and-replace'.
809         * etc/NEWS: Mention xref-related changes in Dired.
811 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
813         Port recent xdisp.c fix to picky C compilers
815         * src/xdisp.c (dump_glyph): Redo the call to fprintf to avoid
816         putting #if inside the arguments to a standard function, which
817         the C standard says has undefined behavior.
819 2016-01-22  Alan Mackenzie  <acm@muc.de>
821         Prevent spurious recognition of K&R argument declarations.  Fixes bug #2203
823         * lisp/progmodes/cc-engine.el (c-forward-declarator): New function.
824         (c-in-knr-argdecl): Before recognizing a K&R argument declaration, check it is
825         contained in the preceding arg list.
827         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Use the new function
828         `c-forward-declarator' in place of inline code.
830 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
832         Fix the build with --enable-checking=glyphs
834         * src/xdisp.c (dump_glyph): Don't refer to glyph->u.xwidget in a
835         build without xwidget support.
837 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
839         Document cl-generic.el
841         * doc/lispref/functions.texi (Generic Functions): New section.
842         (Bug#22336)
843         (Functions): Update the chapter menu.
844         * doc/lispref/elisp.texi: Update the master menu.
846 2016-01-22  Paul Eggert  <eggert@cs.ucla.edu>
848         xwidgets style cleanup
850         Adjust the newly-added Xwidgets code so that it uses a more-typical
851         Emacs style.  This should not affect behavior, except that in
852         a few places it adds runtime checks that Lisp arguments are of
853         the proper type, and in one place it uses more-precise arithmetic.
854         * src/buffer.c, src/dispnew.c, src/emacs.c, src/emacsgtkfixed.c:
855         * src/emacs.c, src/print.c, src/window.c, src/xdisp.c, src/xterm.c:
856         Include xwidget.h unconditionally.
857         * src/buffer.c (Fkill_buffer):
858         * src/dispnew.c (update_window):
859         * src/emacs.c (main):
860         * src/print.c (print_object):
861         * src/window.c (Fdelete_window_internal):
862         * src/xdisp.c (handle_single_display_spec, push_it, pop_it)
863         (get_next_element, set_iterator_to_next, next_element_from_xwidget)
864         (dump_glyph, calc_pixel_width_or_height, BUILD_GLYPH_STRINGS_XW)
865         (BUILD_GLYPH_STRINGS, x_produce_glyphs, get_window_cursor_type):
866         * src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
867         Call xwidget functions and macros without worrying about
868         HAVE_XWIDGETS when the code is a no-op on non-xwidget
869         platforms.
870         * src/dispextern.h (XWIDGET_GLYPH, struct glyph_string.xwidget)
871         (IT_XWIDGET, GET_FROM_XWIDGET, struct it.u.xwidget)
872         (struct it.xwidget):
873         * src/lisp.h (PVEC_XWIDGET, PVEC_XWIDGET_VIEW):
874         Always define.
875         * src/emacsgtkfixed.h: Omit unnecessary comment.
876         * src/keyboard.c: Fix spacing.
877         * src/xdisp.c (BUILD_XWIDGET_GLYPH_STRING, produce_xwidget_glyph):
878         Define to be a no-op if not HAVE_XWIDGETS.
879         * src/xwidget.c: Include xwidget.h first (after config.h)
880         to make sure that it can stand by itself.
881         (Fmake_xwidget, Fxwidget_webkit_execute_script):
882         Fix typo in doc string.
883         (Fmake_xwidget): Check type of args.
884         (Fmake_xwidget, offscreen_damage_event)
885         (webkit_document_load_finished_cb, webkit_download_cb)
886         (webkit_new_window_policy_decision_requested_cb)
887         (webkit_navigation_policy_decision_requested_cb)
888         (xwidget_osr_draw_cb, xwidget_osr_event_forward)
889         (xwidget_osr_event_set_embedder, xwidget_init_view):
890         Omit unnecessary casts.
891         * src/xwidget.c (Fmake_xwidget, xwidget_hidden)
892         (xwidget_show_view, xwidget_hide_view)
893         (x_draw_xwidget_glyph_string, xwidget_start_redisplay, xwidget_touch)
894         (xwidget_touched):
895         * src/xwidget.h (struct xwidget.kill_without_query)
896         (struct xwidget_view.redisplayed, struct xwidget_view.hidden):
897         Use bool for boolean.
898         * src/xwidget.c (store_xwidget_event_string, Fxwidget_size_request):
899         Simplify by using list functions.
900         (WEBKIT_FN_INIT): Omit unnecessary test for nil.
901         (Fxwidget_resize): Check type of integer args
902         before doing any work.  Check that they are nonnegative.
903         (Fxwidget_set_adjustment): Check type of integer arg.
904         Avoid redundant call to gtk_scrolled_window_get_vadjustment.
905         Simplify.  Use double, not float.
906         (Fxwidget_info, Fxwidget_view_info): Simplify by using CALLN.
907         (valid_xwidget_spec_p): Simplify.
908         (xwidget_spec_value): Omit unused arg FOUND.  All callers changed.
909         * src/xwidget.h: Include lisp.h first, so that includers do
910         not need to worry about doing that before including this file.
911         Make this .h file safe to include even on non-HAVE_XWIDGETS
912         configurations, to simplify the includers.
913         (x_draw_xwidget_glyph_string, syms_of_xwidget, valid_xwidget_spec_p)
914         (xwidget_end_redisplay, lookup_xwidget)
915         (xwidget_view_delete_all_in_window, kill_buffer_xwidgets):
916         Now a no-op if !HAVE_XWIDGETS, to simplify callers.
917         (struct glyph_matrix, struct glyph_string, struct xwidget)
918         (struct xwidget_view, struct window):
919         New forward or incomplete decls, so that includers need not
920         assume the corresponding .h files are already included, or that
921         HAVE_XWIDGETS is defined.
922         (struct xwidget_type, xwidget_from_id): Remove; unused.
924 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
926         Backport kqueue integration from master
928         * configure.ac (--with-file-notification): Add kqueue.
929         (top): Remove special test for "${HAVE_NS}" and
930         ${with_file_notification}, this is handled inside gfilenotify
931         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
932         instead of library specific variables.  Add error message for
933         gfile on Nextstep.
935         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
936         Fix some glitches in the example.
938         * etc/NEWS: Mention kqueue.
940         * lisp/filenotify.el (file-notify--library)
941         (file-notify-descriptors, file-notify-callback)
942         (file-notify-add-watch, file-notify-rm-watch)
943         (file-notify-valid-p): Add kqueue support.
944         (file-notify--rm-descriptor): Remove WHAT arg.
946         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
948         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
950         * src/inotify.c (inotifyevent_to_event): Extract file name from
951         watch_object if the event doesn't provide it.
952         (Finotify_add_watch): Add file name to watch_object.
954         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
956         * src/kqueue.c: New file.
958         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
960         * test/automated/file-notify-tests.el
961         (file-notify--test-expected-events): Remove.
962         (file-notify--test-cleanup): Do not set that variable.
963         (file-notify--test-timeout) Use different timeouts for
964         different libraries.
965         (file-notify--test-library): New defun.
966         (file-notify--test-event-test): Make stronger checks.
967         (file-notify--test-with-events): EVENTS can also be a list of
968         lists.  Flush outstanding events before running the body.
969         Make timeout heuristically depend on the number of events.
970         (file-notify-test01-add-watch, file-notify-test02-events)
971         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
972         Rewrite in order to call file monitors but directory monitors.
973         (file-notify-test02-events, file-notify-test04-file-validity): Do
974         not skip cygwin tests.  Add additional test for file creation.
975         Adapt expected result for different backends.
976         (file-notify-test03-autorevert): Some of the tests don't work for
977         w32notify.
978         (file-notify-test06-many-events): New test.
980 2016-01-22  John Wiegley  <johnw@newartisans.com>
982         Further corrections to the pcase docstring
984 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
986         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 25.
988 2016-01-22  Stephen Leake  <stephen_leake@stephe-leake.org>
990         In xref-collect-references, force backends to respect the 'dir' arg
992         * lisp/progmodes/xref.el (xref-collect-references): Force symref backends
993         to use `default-directory'.
995 2016-01-22  John Wiegley  <johnw@newartisans.com>
997         Minor correction to pcase docstring
999 2016-01-22  John Wiegley  <johnw@newartisans.com>
1001         Write a new docstring for the pcase macro
1003         * lisp/emacs-lisp/pcase.el (pcase): Write a new docstring.
1005 2016-01-21  Stephen Berman  <stephen.berman@gmx.net>
1007         Avoid byte-compiler warning in todo-mode (bug#21953)
1009         * lisp/calendar/todo-mode.el (todo-convert-legacy-files): Add limit argument
1010         to looking-back to comply with advertised-calling-convention.
1012 2016-01-21  Stephen Berman  <stephen.berman@gmx.net>
1014         Fix desktop support in todo-mode and doc-view (bug#22377)
1016         * lisp/calendar/todo-mode.el (todo-restore-desktop-buffer):
1017         * lisp/doc-view.el (doc-view-restore-desktop-buffer): Return current buffer.
1019         * lisp/calendar/todo-mode.el (todo-modes-set-2):
1020         * lisp/doc-view.el (doc-view-mode): Set desktop-save-buffer unconditionally.
1022 2016-01-21  Paul Eggert  <eggert@cs.ucla.edu>
1024         No need to configure gobject-introspection
1026         It wasn’t needed for the recently-installed xwidget_mvp code; see:
1027         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01154.html
1028         * configure.ac (DOES_XWIDGETS_USE_GIR, GIR_REQUIRED, GIR_MODULES):
1029         (HAVE_GIR):
1030         * src/Makefile.in (GIR_LIBS, GIR_CFLAGS):
1031         Remove.  All uses removed.
1032         * configure.ac (emacs_config_features): Don’t worry about GIR.
1034 2016-01-20  Paul Eggert  <eggert@cs.ucla.edu>
1036         Don’t export C symbols not used elsewhere
1038         These were recently added, mostly as part of xwidget code.
1039         * src/emacsgtkfixed.c (emacs_fixed_get_type): Now static.
1040         (EMACS_FIXED, EMACS_FIXED_GET_CLASS):
1041         Now static functions here, not macros in emacsgtkfixed.h.
1042         * src/emacsgtkfixed.h (EMACS_TYPE_FIXED):
1043         Remove.  All uses replaced by definiens.
1044         (EMACS_FIXED, EMACS_FIXED_GET_CLASS):
1045         Remove; these are now static functions in emacsgtkfixed.c.
1046         (EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS):
1047         Remove; unused.
1048         (emacs_fixed_get_type): Remove decl; no longer extern.
1049         * src/xwidget.c (offscreen_damage_event)
1050         (webkit_mime_type_policy_typedecision_requested_cb)
1051         (webkit_new_window_policy_decision_requested_cb)
1052         (webkit_navigation_policy_decision_requested_cb)
1053         (xwidget_spec_value, xwidget_view_lookup)
1054         (xwidget_start_redisplay, xwidget_touch):
1055         Now static.
1056         * src/xwidget.h (xwidget_start_redisplay, xwidget_touch):
1057         Remove decls.
1059 2016-01-20  Dmitry Gutov  <dgutov@yandex.ru>
1061         Support squiggly heredocs in ruby-mode
1063         * lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re):
1064         Support squiggly heredocs added in Ruby 2.3.
1066         * test/indent/ruby.rb: Add squiggly example.
1068 2016-01-20  Glenn Morris  <rgm@gnu.org>
1070         * configure.ac (emacs_config_features): Remove WEBKIT.
1072 2016-01-20  Paul Eggert  <eggert@cs.ucla.edu>
1074         Port to platforms with gtk3 but not webkitgtk3
1076         I ran into this problem on my Fedora 23 installation;
1077         Emacs configured but did not build when --with-xwidgets was specified.
1078         * configure.ac (HAVE_WEBKIT, HAVE_GIR): Omit unnecessary initializations.
1079         (DOES_XWIDGETS_USE_GIR): New var.
1080         If --with-xwidgets is specified, report an error if not
1081         doable, to be consistent with the other --with options.
1082         Require webkitgtk3 to use Xwidgets, as the Xwidgets code does
1083         not work at all without webkitgtk3.  Simplify use of
1084         EMACS_CHECK_MODULES.  Output message about gobject
1085         introspection only if xwidgets are used.
1086         * etc/NEWS: Users need webkitgtk3, not merely webkit.
1087         * src/xwidget.c (syms_of_xwidget): Don’t worry about HAVE_WEBKIT_OSR,
1088         since this file is no longer compiled if webkitgtk3 is not available.
1090 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
1092         Fix doc string of 'isearch-search-fun-function'
1094         * lisp/isearch.el (isearch-search-fun-function)
1095         (isearch-search-string): Doc fixes.  (Bug#22411)
1097 2016-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
1099         * lisp/xwidget.el: Nitpicks
1101         * lisp/xwidget.el (xwidget-log, xwidget-webkit-callback):
1102         Use with-current-buffer rather than save-excursion + set-buffer.
1104 2016-01-20  Glenn Morris  <rgm@gnu.org>
1106         Don't hard-code 1 as point-min.
1108         * lisp/image-mode.el (image-display-size):
1109         * lisp/xwidget.el (xwidget-webkit-last-session)
1110         (xwidget-webkit-current-session): Don't hard-code 1 as point-min.
1112 2016-01-20  Glenn Morris  <rgm@gnu.org>
1114         * lisp/xwidget.el: Add declarations to silence non-xwidget compilation.
1116 2016-01-20  Glenn Morris  <rgm@gnu.org>
1118         Trivial doc copyedits.
1120         * src/xwidget.c (Fmake_xwidget, Fget_buffer_xwidgets)
1121         (Fxwidget_webkit_get_title, Fxwidget_resize)
1122         (Fxwidget_set_adjustment, Fxwidgetp, Fxwidget_view_p)
1123         (Fxwidget_info, Fxwidget_view_lookup)
1124         (Fset_xwidget_query_on_exit_flag): Trivial doc copyedits.
1126 2016-01-20  Glenn Morris  <rgm@gnu.org>
1128         Avoid advising image-display-size for xwidgets.
1130         * lisp/xwidget.el (xwidget-image-display-size): Remove.
1131         (image-display-size): Remove advice.
1132         * lisp/image-mode.el (xwidget-info, xwidget-at): Declare.
1133         (image-display-size): Incorporate xwidget code directly.
1135 2016-01-20  Glenn Morris  <rgm@gnu.org>
1137         Avoid breaking non-xwidget Emacs that happen to load xwidget.el.
1139         * lisp/xwidget.el (window-configuration-change-hook)
1140         (kill-buffer-query-functions): Only modify these hooks if
1141         compiled with xwidget support.
1143 2016-01-20  Glenn Morris  <rgm@gnu.org>
1145         * lisp/xwidget.el (xwidget-webkit-scroll-behaviour): Fix custom spec.
1147 2016-01-19  Glenn Morris  <rgm@gnu.org>
1149         * configure.ac (WEBKIT, GIR, CAIRO): Use EMACS_CHECK_MODULES, not PKG_.
1151         * configure.ac (emacs_config_features): Add XWIDGETS, WEBKIT, GIR.
1153         * configure.ac (HAVE_WEBKIT_OSR): Remove broken, duplicated gtk3 test.
1155 2016-01-19  Katsumi Yamaoka  <yamaoka@jpl.org>
1157         * lisp/gnus/nnir.el (nnir-request-update-mark):
1158         Default to the original mark.
1159         cf. <http://thread.gmane.org/gmane.emacs.gnus.general/86583>
1160         and <http://thread.gmane.org/gmane.emacs.gnus.general/86640>
1162 2016-01-19  Glenn Morris  <rgm@gnu.org>
1164         * lisp/xwidget.el (report-xwidget-bug): Remove.
1166         (top-level): No longer require reporter.
1168 2016-01-19  Joakim Verona  <joakim@verona.se>
1169             Grégoire Jadi  <daimrod@gmail.com>
1171         Support for the new Xwidget feature.
1173         * configure.ac:
1174         (HAVE_XWIDGETS, WIDGET_OBJ, EMACS_CONFIG_FEATURES):
1175         * src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
1176         * src/xdisp.c:
1177         (handle_display_spec, handle_single_display_spec, push_it)
1178         (pop_it, set_iterator_to_next, dump_glyph)
1179         (calc_pixel_width_or_height, fill_xwidget_glyph_string)
1180         (BUILD_XWIDGET_GLYPH_STRING, BUILD_GLYPH_STRINGS)
1181         (produce_xwidget_glyph, x_produce_glyphs)
1182         (get_window_cursor_type):
1183         * src/window.c (Fdelete_window_internal):
1184         * src/termhooks.h (e):
1185         * src/print.c (print_object):
1186         * src/lisp.h (ptrdiff_t):
1187         * src/keyboard.c (kbd_buffer_get_event, make_lispy_event)
1188         (syms_of_keyboard):
1189         * src/emacs.c (main):
1190         * src/dispnew.c (update_window, scrolling_window):
1191         * src/dispextern.h (g, i):
1192         * Makefile.in (XWIDGETS_OBJ, WEBKIT_CFLAGS, WEBKIT_LIBS)
1193         (GIR_LIBS, ALL_CFLAGS, base_obj, LIBES):
1194         * src/keyboard.c (kbd_buffer_get_event):
1195         * src/emacsgtkfixed.c (emacs_fixed_gtk_widget_size_allocate)
1196         (emacs_fixed_class_init): Add case for an xwidget view.
1198         * src/xwidget.c, src/xwidget.h, lisp/xwidget.el: New files for xwidgets
1201         Various improvements to the Xwidget feature.
1202         * src/xwidget.c:
1203         * src/emacsgtkfixed.c:
1204         * lisp/xwidget.el:
1206 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
1208         Improve documentation of 'alist-get'
1210         * doc/lispref/variables.texi (Setting Generalized Variables): Add
1211         'alist-get' to the list of functions that can appear in PLACE
1212         argument of 'setf'.
1214 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
1216         Minor copyedits of doc/emacs/maintaining.texi
1218         * doc/emacs/maintaining.texi (List Identifiers): More accurate
1219         description of "C-M-i" wrt tags tables.
1220         (Tags Tables): Move the definition of "tag" to a footnote.
1222 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
1224         Unbreak the Cygwin-w32 build
1226         * src/w32fns.c (globals_of_w32fns): Move the initialization of
1227         resetstkoflw into a part that isn't compiled on Cygwin.
1228         (Bug#22403)
1230 2016-01-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1232         * shr.el (shr-table-body): Allow tables to have text children.
1234 2016-01-19  Phillip Lord  <phillip.lord@russet.org.uk>
1236         Cope with multiple overlapping faces.
1238         * lisp/htmlfontify.el (hfy-face-to-style-i): Treat inheritance right to
1239           left.
1240           (hfy-face-resolve-face): Handle font specification as well as font
1241           name. Documentation update. (Bug#21990)
1243 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
1245         Fix spurious escapes in describe-input-method
1247         Problem reported by Vincent Belaïche (Bug#22309).
1248         * lisp/international/mule-cmds.el (describe-language-environment):
1249         * lisp/international/quail.el (quail-help):
1250         Apply substitute-command-keys to doc strings before displaying them.
1252 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
1254         Minor improvements to (random t) documentation
1256         * doc/lispref/numbers.texi (Random Numbers):
1257         * src/fns.c (Frandom):
1258         Omit unnecessary details about randomness fallback.
1259         Say that it is a fallback.
1261 2016-01-19  Dmitry Gutov  <dgutov@yandex.ru>
1263         Rename methods in Ruby etags example file
1265         * test/etags/ruby-src/test.rb: Rename the example methods to
1266         correspond to the common terminology used in Ruby.
1267         * test/etags/CTAGS.good:
1268         * test/etags/ETAGS.good_1:
1269         * test/etags/ETAGS.good_2:
1270         * test/etags/ETAGS.good_3:
1271         * test/etags/ETAGS.good_4:
1272         * test/etags/ETAGS.good_5:
1273         * test/etags/ETAGS.good_6: Adjust accordingly.
1275 2016-01-19  Dmitry Gutov  <dgutov@yandex.ru>
1277         Propertize backtick in 'def `(abc)' as symbol constituent
1279         * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
1280         Propertize backtick in 'def `(abc)' as symbol constituent.
1281         (ruby-syntax-propertize-function):
1282         Rename to ruby-syntax-propertize.
1284 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
1286         Fix scrolling under scroll-preserve-screen-position on TTY
1288         * src/window.c (window_scroll_line_based): When setting point to
1289         preserve screen coordinates, don't let cursor enter either of the
1290         two scroll margins.  (Bug#22395)
1292 2016-01-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1294         Fix shr table rendering of nested tables
1296         * shr.el (shr-table-body): Don't include all tbodies in nested
1297         tables in the levels above.
1299 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
1301         * lisp/progmodes/project.el (project--read-regexp): Quote the identifier.
1303 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
1305         Add xref-based replacements for Dired search commands
1307         * lisp/dired-aux.el (dired-do-find-regexp)
1308         (dired-do-find-regexp-and-replace): New commands.
1309         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00864.html
1311         * lisp/dired.el (dired-mode-map): Change bindings for `A' and
1312         `Q' to the new commands.
1314         * lisp/progmodes/xref.el (xref-query-replace)
1315         (xref-collect-matches): Add progress reporters.
1316         (xref--find-ignores-arguments): Return nil for zero ignores.
1317         (xref--show-xrefs): Add an optional argument.
1318         (xref-collect-matches): Drop the assert.  'find' accepts a
1319         regular file in place of directory argument, too.
1321 2016-01-18  Alan Mackenzie  <acm@muc.de>
1323         * doc/lispref/frames.texi (Position Parameters): Say they don't exist on TTYs.
1325 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
1327         Improve user documentation of Xref
1329         * doc/emacs/maintaining.texi (Xref, Find Identifiers)
1330         (Looking Up Identifiers, Identifier Search, List Identifiers):
1331         Adjudicate comments by Dmitry Gutov <dgutov@yandex.ru>.  See
1332         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00650.html
1333         for the details.
1335 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
1337         Fix scrolling under scroll-preserve-screen-position and margins
1339         * src/window.c (window_scroll_pixel_based): When setting point to
1340         preserve screen coordinates, don't let cursor enter either of the
1341         two scroll margins.  Fix incorrect usage of
1342         WINDOW_WANTS_HEADER_LINE_P and use WINDOW_HEADER_LINE_HEIGHT
1343         instead of CURRENT_HEADER_LINE_HEIGHT.  (Bug#22395)
1345 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
1347         Unbreak the MS-Windows build
1349         * src/sysdep.c (emacs_gnutls_global_init, gnutls_rnd): Disable for
1350         WINDOWSNT, to avoid link failure.  (Bug#22202)
1352 2016-01-18  Alan Mackenzie  <acm@muc.de>
1354         Desktop: protect users against inadvertant upgrading of desktop file.
1356         An upgraded (version 208) desktop file cannot be read in Emacs < 25.
1358         * etc/NEWS: Add an entry about upgrading a desktop file.
1360         * lisp/desktop.el (desktop-file-version): Amend doc string.
1361         (desktop-native-file-version, desktop-io-file-version): new variables.
1362         (desktop-clear): Set desktop-io-file-version to nil.
1363         (desktop-buffer-info): make the presence of the last item on the list
1364         conditional on (>= desktop-io-file-version 208).
1365         (desktop-save): Add extra parameter VERSION to take user's C-u or C-u C-u.
1366         Amend the doc string.  Add code to determine the output file version.
1367         (desktop-create-buffer): Set desktop-io-file-version to the input file's
1368         version.
1370 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
1372         Initialize GnuTLS before calling gnutls_rnd
1374         * src/gnutls.c (emacs_gnutls_global_init): Now extern.
1375         Don’t set gnutls_global_initialized if gnutls_global_init fails.
1376         * src/sysdep.c: Include "gnutls.h", and <gnutls/crypto.h>
1377         if 2.12 or later, which has gnutls_rnd.
1378         (emacs_gnutls_global_init, gnutls_rnd): New fallback
1379         placeholder macros if before 2.12.
1380         (init_random): Initialize gnutls globals before trying to
1381         use gnutls_rnd.
1383 2016-01-18  Andreas Schwab  <schwab@linux-m68k.org>
1385         Don't use GnuTLS before it is initialized
1387                 * src/sysdep.c (init_random): Don't use gnutls_rnd.
1389 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
1391         Port cleanup attribute to OpenBSD
1393         The OpenBSD C compiler issues false alarms about strcpy, strcat, and
1394         sprintf, and this messes up 'configure' when it tests for the cleanup
1395         attribute.  Work around the problem by using __has_attribute directly.
1396         Problem reported by Joakim Jalap (Bug#22385).
1397         * configure.ac: Don’t use AX_GCC_VAR_ATTRIBUTE.
1398         * m4/ax_gcc_var_attribute.m4: Remove.
1399         * src/conf_post.h (__has_attribute): Provide a substitute, for
1400         non-GCC or older GCC compilers.  All uses changed to assume
1401         the substitute.  Check for the cleanup attribute.
1402         * src/emacs-module.c (module_has_cleanup): Just use __has_attribute.
1404 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
1406         Prefer GnuTLS when acquiring random seed
1408         This attempts to improve on the fix for Bug#22202.
1409         * configure.ac (HAVE_DEV_URANDOM): Remove.
1410         Check /dev/urandom existence at run time, not at build time,
1411         since the device could exist in the former but not the latter.
1412         * src/sysdep.c [HAVE_GNUTLS]: Include gnutls/gnutls.h.
1413         (gnutls_rnd) [GNUTLS_VERSION_NUMBER < 0x020c00]: New fallback macro.
1414         (random_seed): New typedef.
1415         (set_random_seed): New static function.
1416         (seed_random): Use them.
1417         (init_random): Use random_seed instead of uintmax_t, so as to
1418         not consume more entropy than needed.  Prefer gnutls_rnd if it
1419         works; this avoids a redundant open of /dev/urandom on
1420         GNU/Linux with modern GnuTLS.
1422 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1424         Improve documentation of dynamic modules
1426         * doc/lispref/loading.texi (How Programs Do Loading): Update the
1427         description of searching for files in 'load' when Emacs was built
1428         with support for dynamic modules.
1430 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1432         * INSTALL: Document --with-modules.
1434 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1436         Document 'function-put'
1438         * doc/lispref/symbols.texi (Symbol Plists): Document
1439         'function-put'.  Update documentation of 'function-get'.
1441 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1443         Document 'funcall-interactively'
1445         * doc/lispref/commands.texi (Interactive Call): Document
1446         'funcall-interactively'.
1447         * doc/lispref/functions.texi (Calling Functions): Mention
1448         'funcall-interactively' and provide a cross-reference.
1450 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1452         * doc/lispref/lists.texi (Association Lists): Document 'alist-get'.
1454         * doc/lispref/strings.texi (Text Comparison): Document 'string-greaterp'.
1456 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1458         Document renaming of selection-related functions
1460         * doc/lispref/frames.texi (Window System Selections): Rename "x-*"
1461         functions into the corresponding "gui-*" functions.  Make the
1462         description slightly less X-centric.
1464 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1466         * doc/lispref/macros.texi (Expansion): Document 'macroexpand-1'.
1468 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1470         Document 'define-inline'
1472         * doc/lispref/functions.texi (Defining Functions): Document
1473         'define-inline' and related macros.
1475         * lisp/emacs-lisp/inline.el (inline-letevals): Doc fix.
1477 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
1479         * lisp/files.el (dir-locals--all-files): Respect absolute file-names
1481         * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
1483 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
1485         * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
1487         instead of manually writing a dir-locals file.
1489 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
1491         * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
1493         (dir-locals-file)
1494         * lisp/files-x.el (modify-dir-local-variable)
1495         * lisp/dos-fns.el (dosified-file-name)
1496         * lisp/help-fns.el (describe-variable): Change accordingly.
1498 2016-01-16  Jussi Lahdenniemi  <jussi@aprikoodi.fi>  (tiny change)
1500         Fix incompatbilities with MS-Windows 2000 and older
1502         * src/w32.c <multiByteToWideCharFlags>: New global variable.
1503         (filename_to_utf16, filename_from_ansi, check_windows_init_file):
1504         Use it instead of the literal MB_ERR_INVALID_CHARS.
1505         (maybe_load_unicows_dll): Initialize multiByteToWideCharFlags as
1506         appropriate for the underlying OS version.  For details, see
1507         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
1508         * src/w32.h: Declare multiByteToWideCharFlags.
1509         * src/w32fns.c (Fx_file_dialog, Fw32_shell_execute)
1510         (add_tray_notification): Use multiByteToWideCharFlags instead of
1511         the literal MB_ERR_INVALID_CHARS.
1512         (_resetstkoflw_proc): New typedef.
1513         (w32_reset_stack_overflow_guard): Call _resetstkoflw via a
1514         pointer, as this function is absent in msvcrt.dll shipped with W2K
1515         and older systems.
1517 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1519         Mention in PROBLEMS an issue with MS-Windows NT4
1521         * etc/PROBLEMS (MS-Windows): Mention the problem with Shell32.dll
1522         on Windows NT4.  For the details, see
1523         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
1525 2016-01-16  Jussi Lahdenniemi  <jussi@aprikoodi.fi>  (tiny change)
1527         Ensure 8-byte aligned memory allocation on MS-Windows 9X
1529         * src/w32heap.c (init_heap): Redirect malloc, realloc, and free to
1530         special functions on Windows 9X.  Refuse to dump Emacs on Windows 9X.
1531         (malloc_after_dump_9x, realloc_after_dump_9x)
1532         (free_after_dump_9x): New functions.  (Bug#22379)  See also
1533         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00852.html
1534         for more details about the original problem.
1536         * nt/inc/ms-w32.h (malloc_after_dump_9x, realloc_after_dump_9x)
1537         (free_after_dump_9x): Add prototypes.
1539 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1541         Fix tests for active region in hideif.el
1543         * lisp/progmodes/hideif.el (hif-evaluate-macro, hide-ifdef-block): Use
1544         'use-region-p' to test whether to operate on region, instead of
1545         testing 'mark-active'.
1547 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
1549         Fix interactive specs in some hideif.el commands
1551         * lisp/progmodes/hideif.el (hif-evaluate-macro)
1552         (hide-ifdef-undef, show-ifdef-block): Don't use '(interactive "r")'
1553         in commands that should only act on the region if it's active.
1555 2016-01-15  Phillip Lord  <phillip.lord@russet.org.uk>
1557         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
1559 2016-01-15  Phillip Lord  <phillip.lord@russet.org.uk>
1561         Enable test selector from command line
1563         * test/automated/Makefile.in: Change variable manipulation to avoid
1564           over-writing selector.
1566 2016-01-15  Alan Mackenzie  <acm@muc.de>
1568         Don't confuse "::" with ":" when trying to parse member initializers.
1570         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
1571         more robustly for ":" token when searching backwards for it.
1573         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New language
1574         variable.
1576 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
1578         Ensure positive number of glyphs for margins of positive width
1580         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
1581         positive value when a non-zero width of the marginal area was
1582         requested.  (Bug#22356)
1584 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
1586         Fix crashes when mini-window has non-zero margins
1588         * src/window.c (resize_frame_windows): Use 'new_size' to set
1589         minibuffer window's 'total_cols' value, as 'size' might be in
1590         pixels.  (Bug#22356)
1592 2016-01-15  Alan Mackenzie  <acm@muc.de>
1594         In comment-dwim with style `extra-line', respect indent-tabs-mode.
1596         This fixes bug #22369.
1598         * lisp/newcomment.el (comment-make-bol-ws): New function.
1599         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
1601 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
1603         Make 'random' seeds cryptographically secure if possible
1605         * configure.ac: Check for "/dev/urandom".
1607         * src/sysdep.c (init_random) [HAVE_DEV_URANDOM]: Read the stream
1608         for the seed from "/dev/urandom".
1609         [WINDOWSNT]: Obtain the stream for the seed from w32 APIs.
1610         * src/fns.c (Frandom): Update the doc string to indicate that
1611         system entropy is used when available.
1612         * src/w32.c: Include wincrypt.h.
1613         (w32_init_crypt_random, w32_init_random): New functions, use the
1614         CryptGenRandom API.
1615         (globals_of_w32): Initialize w32_crypto_hprov handle to zero.
1616         * src/w32.h (w32_init_random): Add prototype.
1618         * doc/lispref/numbers.texi (Random Numbers): Document more details
1619         about 't' as the argument to 'random'.
1621         * etc/NEWS: Mention that '(random t)' now uses a cryptographically
1622         strong seed if possible.
1624         (Bug#22202)
1626 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
1628         Unhide the --no-line-directive option to 'etags'
1630         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
1631         option.  (Bug#22306)
1633         * doc/man/etags.1: Document the --no-line-directive option.
1635 2016-01-15  Alan J Third  <alan@idiocy.org>  (tiny change)
1637         Fix picture-mode wrt double-width characters
1639         * lisp/textmodes/picture.el (picture-insert): Check the width of
1640         the character being replaced, not just that of the replacement.
1641         (Bug#1808)
1643 2016-01-15  Eric Abrahamsen  <eric@ericabrahamsen.net>
1645         Honor docstring of gnus-group-get-new-news
1647         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg is t,
1648         but non-numeric, unconditionally consider all groups to need updating.
1650 2016-01-14  Simen Heggestøyl  <simenheg@gmail.com>
1652         Disallow parenthesis in non-pseudo CSS selectors
1654         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Disallow
1655         parenthesis in selectors except for in the function notation that
1656         might appear right after a pseudo-class.
1657         * test/indent/scss-mode.scss: Add a test for it.
1659 2016-01-14  Katsumi Yamaoka  <yamaoka@jpl.org>
1661         * lisp/gnus/nntp.el (nntp-request-newgroups): Simplify
1663 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
1665         check-maybe shall run only default tests
1667         * test/automated/Makefile.in (check, check-expensive): Depend on
1668         mostlyclean.
1669         (check-maybe): Re-run only default tests.
1670         (check-doit): Use code of check-maybe.
1671         (mostlyclean): Move *.log files away.
1673 2016-01-14  Mark Oteiza  <mvoteiza@udel.edu>
1675         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "magnet:"
1677 2016-01-14  Dmitry Gutov  <dgutov@yandex.ru>
1679         Un-obsolete tags-loop-continue
1681         * lisp/progmodes/etags.el (tags-loop-continue): Un-obsolete.
1682         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00682.html
1684 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
1686         Document obsoletion of 'intangible' and 'point-entered/left'
1688         * doc/lispref/text.texi (Special Properties): Document the new
1689         properties 'cursor-intangible' and 'cursor-sensor-functions'.
1690         Document the obsolete status of 'intangible', 'pointer-left',
1691         and 'point-entered' properties, and of 'inhibit-point-motion-hooks'.
1692         * doc/lispref/display.texi (Overlay Properties): Document that
1693         'intangible' overlay property is obsolete.
1695         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor-mode): Doc fix.
1697 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
1699         Updater documentation of 'looking-back'
1701         * doc/lispref/searching.texi (Regexp Search): Update documentation
1702         of 'looking-back'.  Fix markup.
1704 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
1706         Document 'pre-redisplay-functions'
1708         * doc/lispref/hooks.texi (Standard Hooks):
1709         * doc/lispref/display.texi (Forcing Redisplay): Document
1710         'pre-redisplay-functions'.
1712 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
1714         Document the new deafault value of 'load-read-function'
1716         * doc/lispref/loading.texi (How Programs Do Loading): Document the
1717         change in the default value of 'load-read-function'.
1719 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
1721         Document 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
1723         * doc/lispref/nonascii.texi (Text Representations): Document
1724         'bufferpos-to-filepos' and 'filepos-to-bufferpos'.
1726 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
1728         Document the new prefix-command hooks
1730         * doc/lispref/hooks.texi (Standard Hooks): Document
1731         `prefix-command-echo-keystrokes-functions' and
1732         `prefix-command-preserve-state-hook'.
1734 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1736         Fix one more misuse of time-stamp-time-zone
1738         * test/etags/html-src/softwarelibero.html: Use "UTC0" rather
1739         than the unportable "GMT" for time zone.
1741 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1743         Fix NNTP NEWGROUPS off-by-a-few-hours bug
1745         * lisp/gnus/nntp.el (nntp-request-newgroups): Format string
1746         in Universal Time, since we’re telling the server “GMT”.
1748 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1750         Update publicsuffix.txt from upstream
1752         * etc/publicsuffix.txt: Update from
1753         https://publicsuffix.org/list/effective_tld_names.dat
1754         dated 2016-01-12 11:52:01 UTC.
1756 2016-01-13  Glenn Morris  <rgm@gnu.org>
1758         Fix some declarations.
1760         * lisp/descr-text.el (internal-char-font):
1761         * lisp/cedet/mode-local.el (xref-item-location):
1762         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
1763         (epg-sub-key-capability, epg-sub-key-validity):
1764         * lisp/international/mule-util.el (internal-char-font):
1765         Fix declarations.
1767 2016-01-13  Glenn Morris  <rgm@gnu.org>
1769         Fix some custom types.
1771         * lisp/gnus/gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files):
1772         * lisp/gnus/gnus.el (gnus-valid-select-methods):
1773         * lisp/mail/rmail.el (rmail-get-coding-function):
1774         * lisp/net/newst-treeview.el (newsticker-groups-filename):
1775         * lisp/progmodes/hideif.el (hide-ifdef-exclude-define-regexp):
1776         * lisp/textmodes/tildify.el (tildify-space-predicates):
1777         * lisp/url/url-tramp.el (url-tramp-protocols):
1778         Fix custom types.
1780 2016-01-13  Glenn Morris  <rgm@gnu.org>
1782         Add some missing version tags.
1784         * lisp/electric.el (electric-quote-comment)
1785         (electric-quote-string, electric-quote-paragraph):
1786         * lisp/epg-config.el (epg-gpgconf-program):
1787         * lisp/rect.el (rectangle-preview):
1788         * lisp/emacs-lisp/check-declare.el (check-declare-ext-errors):
1789         * lisp/emacs-lisp/package.el (package-selected-packages)
1790         (package-hidden-regexps):
1791         * lisp/erc/erc.el (erc-network-hide-list, erc-channel-hide-list):
1792         * lisp/eshell/em-term.el (eshell-destroy-buffer-when-process-dies):
1793         * lisp/gnus/mml-sec.el (mml1991-signers, mml2015-signers)
1794         (mml-smime-signers, mml1991-encrypt-to-self, mml2015-encrypt-to-self)
1795         (mml-smime-encrypt-to-self, mml2015-sign-with-sender)
1796         (mml-smime-sign-with-sender, mml2015-always-trust)
1797         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
1798         * lisp/net/browse-url.el (browse-url-conkeror-new-window-is-buffer)
1799         (browse-url-conkeror-arguments):
1800         * lisp/net/newst-reader.el (newsticker-download-logos):
1801         * lisp/progmodes/gud.el (gud-guiler-command-name):
1802         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
1803         * lisp/progmodes/project.el (project-vc):
1804         * lisp/progmodes/python.el (python-indent-guess-indent-offset-verbose)
1805         (python-shell-remote-exec-path, python-shell-first-prompt-hook)
1806         (python-shell-completion-native-disabled-interpreters)
1807         (python-shell-completion-native-enable)
1808         (python-shell-completion-native-output-timeout)
1809         (python-shell-completion-native-try-output-timeout):
1810         * lisp/progmodes/xref.el (xref):
1811         * lisp/term/screen.el (xterm-screen-extra-capabilities):
1812         * lisp/term/xterm.el (xterm-max-cut-length):
1813         Add missing version tags.
1815 2016-01-13  Glenn Morris  <rgm@gnu.org>
1817         * test/automated/core-elisp-tests.el
1818         (core-elisp-tests-1-defvar-in-let): Add a custom type.
1820 2016-01-13  Glenn Morris  <rgm@gnu.org>
1822         * src/buffer.c (syms_of_buffer) <major-mode>: Doc fix.
1824         Remove comments that do not apply since 2005-08-09.  (Bug#22349)
1826 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1828         Merge from gnulib
1830         This mostly just changes "UTC" to "UTC0" for POSIX conformance.
1831         It also updates to the latest version of texinfo.tex.
1832         * build-aux/gitlog-to-changelog, build-aux/move-if-change:
1833         * build-aux/update-copyright, doc/misc/texinfo.tex:
1834         Update from gnulib.
1836 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
1838         Update documentation of 'process-running-child-p'
1840         * doc/lispref/processes.texi (Input to Processes): Document the
1841         changes in return value of 'process-running-child-p'.
1843 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
1845         Update documentation of 'deactivate-mark'.
1847         * doc/lispref/markers.texi (The Mark): Document that
1848         'deactivate-mark' is now buffer-local when set.
1850 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
1852         Update documentation of 'completion-table-dynamic'
1854         * doc/lispref/minibuf.texi (Programmed Completion): Document the
1855         new optional argument to 'completion-table-dynamic'.
1857 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
1859         Document changes in 'read-buffer' and 'read-buffer-function'
1861         * doc/lispref/minibuf.texi (High-Level Completion): Document the
1862         4th argument to 'read-buffer' and 'read-buffer-function'.
1864 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1866         Fix time-stamp-time-zone bugs introduced in July
1868         This fixes a bug introduced when the July changes to
1869         format-time-string installed, as the changes were not
1870         correctly handled in this module (Bug#22302).
1871         Also, document time stamp time zones.
1872         * lisp/time-stamp.el (time-stamp-time-zone): Document values better.
1873         (time-stamp--format): New private function.
1874         (time-stamp-string, time-stamp-string-preprocess)
1875         (time-stamp-do-number): Use it.
1876         * doc/emacs/files.texi (Time Stamps): Mention time zones.
1877         * doc/misc/autotype.texi (Timestamps): Document time-stamp-time-zone.
1879 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
1881         Make piping to subprocesses more robust on MS-Windows
1883         * src/w32.c (sys_write): Don't write to a pipe more stuff than its
1884         buffer can hold.  Don't return -1 if something has been written to
1885         the pipe.  Zero out 'errno' before calling '_write', to avoid
1886         returning a stale value.  (Bug#22344)
1887         * src/w32proc.c (syms_of_ntproc) <w32-pipe-buffer-size>: New variable.
1888         * src/w32.c (pipe2): Use it to request a user-defined size for the
1889         pipe being created.
1891         * etc/NEWS: Mention 'w32-pipe-buffer-size'.
1893         * doc/emacs/msdos.texi (Windows Processes): Document
1894         'w32-pipe-buffer-size'.
1896 2016-01-11  Dmitry Gutov  <dgutov@yandex.ru>
1898         test/automated/vc-hg.el: Support out-of-tree build
1900         * test/automated/vc-hg.el
1901         (vc-hg-annotate-extract-revision-at-line-with-filename)
1902         (vc-hg-annotate-extract-revision-at-line-with-both):
1903         Don't refer to source-directory.
1904         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00755.html
1906 2016-01-11  Michael Albinus  <michael.albinus@gmx.de>
1908         Minor change in tramp-tests.el
1910         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
1911         Use `dired-uncache' instead of a Tramp internal function.
1913 2016-01-11  Peter Feigl  <peter.feigl@nexoid.at>
1915         * etc/HELLO: Add Armenian and Mongolian greetings.
1917         (Bug#22346)
1919 2016-01-11  Alan Mackenzie  <acm@muc.de>
1921         Java Mode: Fontify identifiers in the presence of annotations.
1923         * lisp/progmodes/cc-engine.el (c-forward-annotation): Tidy up the coding:
1924         Don't move point when the defun fails.
1925         (c-forward-decl-or-cast-1): Correct a usage of match data.
1927         * lisp/progmodes/cc-fonts.el (c-font-lock-maybe-decl-faces): Remove.
1928         (c-font-lock-declarations): Use the new c-maybe-decl-faces in place of the
1929         removed variable.
1931         * lisp/progmodes/cc-langs.el (c-maybe-decl-faces): New language variable.
1933 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
1935         Avoid an infloop when we run out of memory
1937         * src/alloc.c (garbage_collect_1): Don't bother saving and
1938         restoring the echo-area message if we are GC'ing after running out
1939         of memory.  This avoids an infloop due to repeated attempts to
1940         allocate memory for the cons cell needed to save the message,
1941         which signals the memory-full error, which attempts to save the
1942         echo-area message, which signals memory-full again, etc.
1944 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
1946         Avoid unnecessary failures of auto-saving after fatal error
1948         * src/w32.c (map_w32_filename): Avoid non-trivial system calls for
1949         the benefit of FAT volumes if we are called as part of shutting
1950         down due to a fatal error, which probably means we are trying to
1951         auto-save the session.
1952         * src/lread.c (check_obarray): Don't bother making the obarray
1953         valid if we are shutting down due to a fatal error.  This avoids
1954         interfering with auto-saving the crashed session.
1956 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
1958         Simplify HAVE_MODULES use in mark_maybe_pointer
1960         * src/alloc.c (HAVE_MODULES): Now a constant 0 if not defined,
1961         so that later code can use 'if' rather than '#ifdef'.
1962         (mark_maybe_pointer): Simplify based on HAVE_MODULES now
1963         always working.
1965 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
1967         Revert attempt to use 'noexcept' in typedef
1969         This use of 'noexcept' runs afoul of the C++11 standard.
1970         Problem reported by Philipp Stephani in:
1971         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00706.html
1972         * src/emacs-module.c (emacs_finalizer_function):
1973         Move this typedef here ...
1974         * src/emacs-module.h: ... from here, and use only the C
1975         version of the typedef.  The typedef is now private since it
1976         is never used in the .h file now and anyway it seemed to be
1977         causing more confusion than it cured.
1978         (make_user_ptr, get_user_finalizer, set_user_finalizer):
1979         Open-code the type instead.
1981 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
1983         Update documentation of 'indirect-function'
1985         * doc/lispref/eval.texi (Function Indirection): Update the
1986         documentation of 'indirect-function'.
1988 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
1990         Update documentation for obsoleting 'syntax-begin-function'
1992         * doc/lispref/syntax.texi (Position Parse): Undocument
1993         'syntax-begin-function' that is now obsolete.
1995 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
1997         Document new features if Eshell
1999         * doc/misc/eshell.texi (Input/Output): Document the new
2000         '#<bufname>' syntax.
2001         (Input/Output): Document 'eshell-destroy-buffer-when-process-dies'.
2002         Disable "Key Index" generation, as there are no @kindex entries in
2003         this manual.
2005 2016-01-10  Michael Albinus  <michael.albinus@gmx.de>
2007         Handle too long commands in Tramp
2009         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
2010         (tramp-do-file-attributes-with-ls): Send sequence of commands, in
2011         order to not exceed shell command line limit.
2013         * test/automated/tramp-tests.el (tramp--test-darwin-p): Remove.
2014         (tramp--test-utf8): Include Arabic file name, again.
2016 2016-01-10  Paul Eggert  <eggert@cs.ucla.edu>
2018         * .gitattributes: *.cur and *.pif are binary files too.
2020 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2022         * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
2024 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2026         * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
2028         * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation
2029         within $(...).
2030         * test/indent/shell.sh: Add corresponding test.
2032 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2034         * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
2036         (mark_memory): Simplify loop.  Don't assume a pointer-sized word can be
2037         cast to Lisp_Object.
2039 2016-01-10  Dmitry Gutov  <dgutov@yandex.ru>
2041         Use short date for 'hg annotate', and output the author
2043         * lisp/vc/vc-hg.el (vc-hg-annotate-command):
2044         Change '-d' to '-dq'.  (Bug#21805)
2045         (vc-hg-annotate-switches): Default to "-u" "--follow".
2046         (vc-hg-annotate-re): Update to recognize the short date format
2047         and the optional username.
2048         (vc-hg-annotate-time)
2049         (vc-hg-annotate-extract-revision-at-line): Update accordingly.
2051         * test/automated/vc-hg.el: New file.
2053 2016-01-10  Paul Eggert  <eggert@cs.ucla.edu>
2055         Spelling fix
2057 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
2059         Document user-level functions in project.el
2061         * lisp/progmodes/project.el (project-find-file)
2062         (project-or-external-find-file): Add doc strings.
2064 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
2066         Document the user-level features of the Xref package
2068         * doc/emacs/maintaining.texi (Maintaining): Add a list of
2069         described features.
2070         (Xref): New section, made out of thoroughly rewritten "Tags"
2071         section.
2072         (Find Identifiers, Looking Up Identifiers, Xref Commands)
2073         (Identifier Search, List Identifiers): New subsections,
2074         incorporating the old tags commands and the new xref commands.
2075         (Tags Tables, Tag Syntax, Create Tags Table, Etags Regexps):
2076         Section and subsections demoted to a lower level.
2077         * doc/emacs/search.texi (Search):
2078         * doc/emacs/windows.texi (Pop Up Window):
2079         * doc/emacs/frames.texi (Creating Frames):
2080         * doc/emacs/programs.texi (Imenu, Symbol Completion):
2081         * doc/emacs/building.texi (Grep Searching):
2082         * doc/emacs/dired.texi (Operating on Files):
2083         * doc/emacs/glossary.texi (Glossary): All references to tags changed.
2085 2016-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2087         * doc/lispref/loading.texi: Add `define-type' entry for load-history
2089         * doc/lispref/loading.texi (Where Defined): Remove incorrect
2090         cl-defmethod description, and add missing define-type entry.
2092 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
2094         Improve doc strings and prompts in xref.el
2096         * lisp/progmodes/xref.el (xref-backend-functions)
2097         (xref-find-definitions): Doc fixes.
2098         (xref-query-replace): Doc fix.  Improve prompts for arguments.
2100 2016-01-09  Alan Mackenzie  <acm@muc.de>
2102         Allow the use of `font-lock-extend-region-multiline' in CC Mode.
2104         * lisp/progmodes/cc-mode.el (c-font-lock-init): Remove
2105         `font-lock-extend-regions-wholelines' from
2106         `font-lock-extend-region-functions' rather than setting the latter to
2107         nil.
2109 2016-01-09  Michael Albinus  <michael.albinus@gmx.de>
2111         Fix coding system for Tramp on OS X.
2113         * lisp/net/tramp-compat.el: Require ucs-normalize.
2115         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
2116         Set coding system to `utf-8-hfs' for Mac OS X.
2118         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
2119         Flush directory properties when needed.
2120         (tramp--test-utf8): Include Chinese file name, again.
2122 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
2124         Update 'load-history' docs
2126         * doc/lispref/loading.texi (Where Defined): Update the list of
2127         forms in 'load-history' by adding the forms created for the
2128         'cl-generic' generics.  (Bug#21422)
2130 2016-01-09  Paul Eggert  <eggert@cs.ucla.edu>
2132         Fix (error ...) error
2134         Problem reported by Glenn Morris in:
2135         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00561.html
2136         * lisp/vc/add-log.el (change-log-goto-source): Fix typos
2137         introduced in my Aug 28 change, where I got confused by the
2138         two meanings of (error ...).
2140 2016-01-08  Alan Mackenzie  <acm@muc.de>
2142         Correctly analyze brace arguments in templated C++ function declarations.
2144         * lisp/progmodes/cc-defs.el (c-go-list-forward, c-go-list-backward): add
2145         POS and LIMIT parameters, like the other c-go-list-* functions have.
2147         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): Check backwards
2148         for a ?\( rather than a ?<.  (c-looking-at-inexpr-block): Handle names
2149         followed by template specifiers.
2151 2016-01-08  Glenn Morris  <rgm@gnu.org>
2153         * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
2155         * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
2157 2016-01-08  Mark Oteiza  <mvoteiza@udel.edu>
2159         * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
2161 2016-01-08  Alan Mackenzie  <acm@muc.de>
2163         Respect fontification region calculated by major mode.  Fixes bug #22316.
2165         * lisp/font-lock.el (font-lock-extend-jit-lock-region-after-change): when a
2166         fontification region has been calculated by a function on
2167         font-lock-extend-after-change-region-function use this region rather than
2168         changing the end position to somewhere else.
2170 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
2172         Improve documentation of Delete Selection mode
2174         * lisp/delsel.el (delete-selection-mode)
2175         (delete-selection-helper): Update and expand the doc strings.
2176         (Bug#22296)
2178         * doc/emacs/mark.texi (Using Region): Document the behavior of
2179         delete commands in Delete Selection mode.  (Bug#22296)
2181         * doc/lispref/markers.texi (The Mark): Document how to add the
2182         support for Delete Selection mode to Lisp programs. (Bug#22296)
2184 2016-01-08  Dmitry Gutov  <dgutov@yandex.ru>
2186         Fix two project-find-file issues
2188         * lisp/progmodes/project.el (project--value-in-dir):
2189         Temporarily set enable-local-variables to :all.
2190         (project-find-file, project-or-external-find-file):
2191         All autoloads.
2192         (project--find-file-in): Require xref.
2194 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
2196         Clarify doc string of 'dired-current-directory'
2198         * lisp/dired.el (dired-current-directory): Doc fix: clarify that
2199         the return value might not end in a slash when called with the
2200         optional argument non-nil.  (Bug#6273)
2202 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
2204         Use the face of preceding text for displaying the ellipsis
2206         * src/xdisp.c (setup_for_ellipsis): Use the face of the preceding
2207         text in it->saved_face_id for displaying the ellipsis, and ignore
2208         the face, if any, of the invisible text.  (Bug#22320)
2210 2016-01-08  Michael Albinus  <michael.albinus@gmx.de>
2212         Suppress Chinese file name test for OSX in tramp-tests.el
2214         * test/automated/tramp-tests.el (tramp--test-utf8):
2215         Remove instrumentation.  Suppress Chinese file name test for OSX.
2217 2016-01-08  Glenn Morris  <rgm@gnu.org>
2219         * admin/admin.el (set-version): Also handle the NEWS file.
2221 2016-01-08  Dmitry Gutov  <dgutov@yandex.ru>
2223         apropos-library: Skip obvious duplicates; don't error on generics
2225         * lisp/apropos.el (apropos-library): Skip "was an autoload"
2226         entries, to avoid obvious duplicates.  For each cl-defmethod
2227         entry, take just its function symbol (bug#21422).
2229 2016-01-07  Dmitry Gutov  <dgutov@yandex.ru>
2231         Add project-find-file and project-or-external-find-file
2233         * lisp/minibuffer.el (completion-category-defaults):
2234         Add `project-file' category.
2236         * lisp/progmodes/project.el (project-find-file)
2237         (project-or-external-find-file): New commands.
2238         (project--find-file-in): New private function.
2240         * lisp/progmodes/xref.el (xref-collect-matches): Use
2241         `expand-file-name' on DIR, to expand the tildes.
2242         (xref--find-ignores-arguments): Extract from
2243         `xref--rgrep-command'.
2245 2016-01-07  Leo Liu  <sdl.web@gmail.com>
2247         Add defvar-local to lisp-imenu-generic-expression
2249         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add
2250           defvar-local.
2252 2016-01-07  Leo Liu  <sdl.web@gmail.com>
2254         Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
2256         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
2257           Don't declare (indent 1).
2259 2016-01-07  Glenn Morris  <rgm@gnu.org>
2261         * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
2263 2016-01-07  Glenn Morris  <rgm@gnu.org>
2265         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
2267         Avoid specifying the length of a time object (it has not been "2"
2268         for some time).
2270 2016-01-06  Andreas Schwab  <schwab@linux-m68k.org>
2272         Properly encode/decode base64Binary data in SOAP
2274                 * lisp/net/soap-client.el (soap-encode-xs-basic-type): Encode
2275                 base64Binary value as utf-8.
2276                 (soap-decode-xs-basic-type): Decode base64Binary value as utf-8.
2278 2016-01-06  Eli Zaretskii  <eliz@gnu.org>
2280         Obey coding-system-for-write when writing stdout/stderr in batch
2282         * src/print.c (printchar_to_stream):
2283         * src/xdisp.c (message_to_stderr): If coding-system-for-write has
2284         a non-nil value, use it to encode output in preference to
2285         locale-coding-system.  See the discussions in
2286         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00048.html
2287         for the details.
2289         * doc/lispref/os.texi (Terminal Output): Document how to send
2290         non-ASCII text via 'send-string-to-terminal'.
2291         (Batch Mode): Document how text written to standard streams is
2292         encoded.  Fix inaccuracy regarding which output streams are used
2293         by output functions in batch mode.
2295 2016-01-06  Xue Fuqiao  <xfq.free@gmail.com>
2297         * doc/misc/efaq.texi (Packages that do not come with Emacs):
2298         Update the URI of MELPA and marmalade-repo.  Reported by CHENG Gao
2299         <chenggao@royau.me> in
2300         https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
2302 2016-01-06  Maksim Golubev  <maksim.golubev72@gmail.com>  (tiny change)
2304         * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
2306         Fix backslash.  (Bug#22224)
2308 2016-01-06  Federico Beffa  <beffa@ieee.org>  (tiny change)
2310         * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
2312         Make it actually work.  (Bug#22265)
2314 2016-01-05  Alan Mackenzie  <acm@muc.de>
2316         Remove function wrongly on AWK Mode value of context fontification hook.
2318         * lisp/progmodes/cc-langs.el (c-before-context-fontification-functions):
2319         swap order of entries so that awk's entry isn't superseded by the default.
2321         * lisp/progmodes/cc-mode.el (c-before-context-fl-expand-region): Correct
2322         to handle nil value of c-before-context-fontification-functions.
2324 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
2326         * src/buffer.c: Stick with ASCII in doc string.
2328 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
2330         Reword transient-mark-mode doc string
2332         * src/buffer.c (syms_of_buffer): Reword doc string to avoid confusion.
2333         The value 'lambda (literally) can be interpreted as (quote lambda),
2334         which is not intended here; we want just the lambda symbol.
2336 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
2338         Update doc string of 'selective-display'
2340         * src/buffer.c (syms_of_buffer) <selective-display>: Say that
2341         using it with the value of 't' is obsolete.  (Bug#1092)
2343 2016-01-05  Alan Mackenzie  <acm@muc.de>
2345         Make C++ buffers writeable when writing their initial text properties.
2347         This is a correction to yesterday's CC Mode patch.
2349         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Put
2350         c-save-buffer-state around the function rather than a mere `let'.
2352 2016-01-05  Michael Albinus  <michael.albinus@gmx.de>
2354         Additional changes for "make check-expensive"
2356         * CONTRIBUTE : Encourage use of ":tags '(:expensive-test)".
2357         Explain make target `check-expensive'.
2359         * etc/NEWS: Mention new make target `check-expensive'.
2361         * test/automated/Makefile.in (check-doit): New target.
2362         (check, check-expensive): Use it.
2364 2016-01-04  Alan Mackenzie  <acm@muc.de>
2366         Apply text properties for <, > in new after-change function (C++ Java Modes).
2368         These are category/syntax-table properties to give < and > paren syntax.
2369         Also apply certain `c-type' text properties to the insides of <..> constructs
2370         to ensure that identifiers contained by them get fontified.  This patch fixes
2371         bug #681.
2373         * lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Reformulate due to new
2374         after-change action.
2376         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Expand
2377         change region to include <s and >s which might not be already marked as
2378         parens, rather than just when paren text properties are removed.
2379         (c-restore-<>-properties): New after-change function, which applies text
2380         properties marking < and > with paren syntax.
2382         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Ensure `c-type'
2383         properties are applied to the interiors of <...> constructs, to ensure
2384         fontification of identifiers there.
2386         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
2387         c-restore-<>-properties to this list for C++ and Java.
2389         * lisp/progmodes/cc-mode.el (c-common-init): When invoking
2390         c-before-font-lock-functions, exclude c-restore-<>-properties from the
2391         functions invoked.
2392         (c-before-change): Initialize c-new-BEG/END here (rather than c-after-change)
2393         to allow modification by before-change functions.
2394         (c-after-change): Amend c-new-END here, rather than initializing it and
2395         c-new-BEG.
2397 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
2399         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
2401 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
2403         Introduce check-expensive tests.
2405         * Makefile.in (check-expensive):
2406         * test/automated/Makefile.in (check-expensive): New target.
2408         * test/automated/auto-revert-tests.el
2409         (auto-revert-test01-auto-revert-several-files):
2410         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
2411         * test/automated/tramp-tests.el (tramp-test26-process-file)
2412         (tramp-test27-start-file-process, tramp-test28-shell-command)
2413         (tramp-test29-vc-registered)
2414         (tramp-test31-special-characters-with-stat)
2415         (tramp-test31-special-characters-with-perl)
2416         (tramp-test31-special-characters-with-ls)
2417         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
2418         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
2419         (tramp-test35-unload): Tag the tests as :expensive-test.
2421 2016-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2423         shr-tag-video bug fix
2425         * shr.el (shr-tag-video): Protect against the `poster' being
2426         empty.
2428 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
2430         Minor fixes in tramp-tests.el
2432         * test/automated/tramp-tests.el (tramp-test26-process-file):
2433         Move point properly.
2434         (tramp-test29-vc-registered): Work with relative file names.
2436 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
2438         Ensure redisplay when 'truncate-lines' is set
2440         * lisp/frame.el (redisplay--variables): Add 'truncate-lines'.
2441         (Bug#22303)
2443 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
2445         Fix a doc string of 'transient-mark-mode'
2447         * src/buffer.c (syms_of_buffer) <transient-mark-mode>: Prevent
2448         "lambda" in doc string from becoming a link to lambda expressions.
2450 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
2452         MS-Windows followup to latest gnulib update
2454         * nt/gnulib.mk (EXTRA_DIST): Add ignore-value.h.
2456 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2458         Spelling fix
2460 2016-01-04  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
2462         Do secure signed Bcc handling
2464         * lisp/gnus/message.el (message-send): Do secure signed Bcc handling
2465         (bug#18718).
2467 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2469         Avoid stdio in SIGINT handler
2471         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
2472         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
2473         * lib/ignore-value.h: New file, from gnulib.
2474         * src/keyboard.c: Include it.
2475         (write_stdout, read_stdin): New functions.
2476         (handle_interrupt): Use them instead of printf and getchar,
2477         and avoid fflush when handling signals.
2479 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2481         * doc/misc/texinfo.tex: Revert unwanted copyright change.
2483 2016-01-03  Artur Malabarba  <bruce.connor.am@gmail.com>
2485         * lisp/align.el (align): Simplify a lambda
2487         * lisp/align.el (align): Fix arg order in call to `align-region'
2489 2016-01-03  Eli Zaretskii  <eliz@gnu.org>
2491         Fix compilation next-error in buffers with selective-display
2493         * lisp/progmodes/compile.el (compilation-beginning-of-line): New
2494         function.
2495         (compilation-internal-error-properties)
2496         (compilation-next-error-function, compilation-set-window): Use
2497         it.  (Bug#1092)
2499 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2501         * lisp/net/nsm.el (nsm-check-protocol): Fix typo in the message.
2503 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2505         Add SHA1 warnings for high network security settings
2507         * lisp/net/nsm.el (nsm-check-protocol): When using high security, warn
2508         about SHA1 certificates, which are now believed to be open to
2509         spoofing.
2511 2016-01-03  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
2513         Refactor mml-smime.el, mml1991.el, mml2015.el
2515         (Maybe this is the last merge from Gnus git to Emacs git)
2517         Cf. discussion on ding mailing list, messages in
2518         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
2519         Common code from the three files mml-smime.el, mml1991.el, and
2520         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
2521         to gnus-util.el.
2523         The code is supported by test cases with necessary test keys.
2525         Documentation in message.texi is updated.
2527         * doc/misc/message.texi (Security, Using S/MIME):
2528         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
2529         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
2530         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
2532         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
2533         New functions.
2535         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
2536         (epa--select-keys): Autoload.
2537         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
2538         (mml-secure-openpgp-signers): New user option;
2539         make mml1991-signers and mml2015-signers obsolete aliases to it.
2540         (mml-secure-smime-signers): New user option;
2541         make mml-smime-signers an obsolete alias to it.
2542         (mml-secure-openpgp-encrypt-to-self): New user option;
2543         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
2544         aliases to it.
2545         (mml-secure-smime-encrypt-to-self): New user option;
2546         make mml-smime-encrypt-to-self an obsolete alias to it.
2547         (mml-secure-openpgp-sign-with-sender): New user option;
2548         make mml2015-sign-with-sender an obsolete alias to it.
2549         (mml-secure-smime-sign-with-sender): New user option;
2550         make mml-smime-sign-with-sender an obsolete alias to it.
2551         (mml-secure-openpgp-always-trust): New user option;
2552         make mml2015-always-trust an obsolete alias to it.
2553         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
2554         New user options.
2555         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
2556         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
2557         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
2558         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
2559         (mml-secure-passphrase-callback, mml-secure-check-user-id)
2560         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
2561         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
2562         (mml-secure-fingerprint, mml-secure-filter-keys)
2563         (mml-secure-normalize-cust-name, mml-secure-select-keys)
2564         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
2565         (mml-secure-self-recipients, mml-secure-recipients)
2566         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
2568         * lisp/gnus/mml-smime.el: Require epg;
2569         refactor declaration and autoloading of epg functions.
2570         (mml-smime-use): Doc fix.
2571         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
2572         Obsolete.
2573         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
2574         Use format instead of gnus-format-message.
2575         (mml-smime-epg-secret-key-id-list): Remove variable.
2576         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
2577         (mml-smime-epg-find-usable-secret-key): Remove functions.
2578         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
2580         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
2581         (mml1991-passphrase-cache-expiry): Obsolete.
2582         (mml1991-epg-secret-key-id-list): Remove variable.
2583         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
2584         (mml1991-epg-find-usable-secret-key): Remove functions.
2585         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
2587         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
2588         (mml2015-passphrase-cache-expiry): Obsolete.
2589         (mml2015-epg-secret-key-id-list): Remove variable.
2590         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
2591         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
2592         (mml2015-epg-find-usable-secret-key): Remove functions.
2593         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
2594         (mml2015-epg-encrypt): Refactor.
2596 2016-01-02  Glenn Morris  <rgm@gnu.org>
2598         * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
2600         Explicitly ignore case.  (Bug#22262)
2602 2016-01-02  Stefan Monnier  <monnier@iro.umontreal.ca>
2604         (semantic-symref-derive-find-filepatterns): Return a list
2606         * lisp/cedet/semantic/symref/grep.el
2607         (semantic-symref-derive-find-filepatterns): Return a list.
2608         (semantic-symref-perform-search): Quote the result here once and for all.
2610 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
2612         Fix xref-find-references on MS-Windows
2614         * lisp/cedet/semantic/symref/grep.el
2615         (semantic-symref-derive-find-filepatterns): Use
2616         'shell-quote-argument' instead of manually quoting in a way that
2617         only works with Posix shells.  (Bug#22289)
2619 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
2621         Document new features of tildify-mode
2623         * lisp/textmodes/tildify.el (tildify-foreach-ignore-environments)
2624         (tildify-mode): Spelling fixes in doc strings.
2626         * etc/NEWS: Reformat the tildify-mode entry.
2628 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
2630         Document new features of Whitespace mode
2632         * doc/emacs/display.texi (Useless Whitespace): Document
2633         'whitespace-toggle-options' and the new 'big-indent' style.
2634         Document 'whitespace-big-indent-regexp'.  Document the Global
2635         Whitespace mode.
2637 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
2639         Improve documentation of new Hide-IfDef features
2641         * etc/NEWS: Expand and reword Hide-IfDef section.
2643 2016-01-02  Leo Liu  <sdl.web@gmail.com>
2645         Fix regression in font-locking cl-assert and cl-check-type
2647         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Fix
2648           el-errs-re.
2650 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
2652         Spelling and grammar fixes
2654 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
2656         Fix copyright years by hand
2658         These are dates that admin/update-copyright did not update, or
2659         updated incorrectly.
2661 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
2663         Update copyright year to 2016
2665         Run admin/update-copyright.
2667 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
2669         Merge from gnulib
2671         This mostly just updates copyright dates of gnulib files.
2672         It also updates to the latest version of texinfo.tex.
2674 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
2676         lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
2678 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
2680         Port chart.el methods to cl-generic.
2682         cl-call-next-method cannot be used inside EIEIO's defmethod.
2683         * lisp/emacs-lisp/chart.el: Require cl-generic at compile time.
2684         * lisp/emacs-lisp/chart.el (initialize-instance, chart-draw):
2685         (chart-draw-title, chart-size-in-dir, chart-draw-axis):
2686         (chart-axis-draw, chart-translate-xpos, chart-translate-ypos):
2687         (chart-translate-namezone, chart-draw-data, chart-add-sequence):
2688         (chart-trim, chart-sort): Use cl-defmethod instead of defmethod.
2690 2015-12-31  Brian Burns  <bburns.km@gmail.com>
2692         Add nt/INSTALL.W64 build instructions
2694         * nt/INSTALL.W64: New file.
2695         * nt/INSTALL: Point to INSTALL.W64 for 64-bit build instructions.
2697 2015-12-31  Joakim Jalap  <joakim.jalap@fastmail.com>
2699         Add new input method 'programmer-dvorak'
2701         * lisp/leim/quail/programmer-dvorak.el ("programmer-dvorak"): New
2702         input method.
2704         * etc/NEWS: Mention it.
2706 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
2708         Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
2710         * lisp/textmodes/flyspell.el (flyspell-prog-mode): Record the
2711         original M-TAB binding in a buffer-local variable.
2712         (flyspell-auto-correct-word): Invoke the original binding of M-TAB
2713         if that is recorded, when point is in a place where flyspell
2714         should not be active (e.g., because the user turned on
2715         'flyspell-prog-mode').  (Bug#18533)
2717 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
2719         Fix EWW rendering of long RTL lines
2721         * lisp/net/shr.el (shr-insert-document): Undo any previous hscroll
2722         of the selected window before filling its lines.  (Bug#22250)
2724 2015-12-31  Vincent Belaïche  <vincentb1@users.sourceforge.net>
2726         fix  bug#21054
2728         * lisp/ses.el (ses-check-curcell): Call `ses-set-curcell' unconditionally
2730 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2732         Clean up cairo printing code
2734         * src/gtkutil.c (xg_get_page_setup): Use listn.
2735         * src/xfns.c (Fx_export_frames, Fx_print_frames_dialog): Doc fix.  Use
2736         decode_window_system_frame and FRAME_VISIBLE_P.
2737         (Fx_print_frames_dialog): Use redisplay_preserve_echo_area instead
2738         of Fdisplay.
2739         * src/xterm.c (x_cr_export_frames): Use redisplay_preserve_echo_area
2740         instead of Fdisplay.  Temporarily unblock_input around QUIT.
2742 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2744         Move variables to inner loop, preparing for Mac port merge
2746         * src/keyboard.c (command_loop_1): Move variables `cmd',
2747         `keybuf', and `i' to inner loop.
2749 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2751         Add handle_user_signal_hook
2753         * src/keyboard.h (handle_user_signal_hook): New declaration.
2754         * src/keyboard.c (handle_user_signal_hook): New variable.
2755         (handle_user_signal): Call it.
2757 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2759         Avoid writing to purespace
2761         * src/alloc.c (Fmake_string): Don't write to empty string contents.
2762         (allocate_vector): Don't write to empty vector size.
2763         * src/character.h (CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR):
2764         Don't call unnecessary XSETCAR or XSETCDR.
2765         * src/lisp.h (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE): Don't
2766         write to empty string size_byte.
2768 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2770         Remove unused variable
2772         * lisp/international/mule-cmds.el: Remove unused variable
2773         `mac-system-coding-system'.
2775 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2777         * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
2779 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2781         Use posix_openpt instead of openpty on Darwin
2783         * configure.ac (PTY_ITERATION, FIRST_PTY_LETTER, PTY_OPEN)
2784         (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Remove
2785         Darwin-specific definitions.  Use posix_openpt instead.
2787 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
2789         Document support for ':documentation' in Lisp mode
2791         * lisp/emacs-lisp/lisp-mode.el (lisp-string-in-doc-position-p)
2792         (lisp-string-after-doc-keyword-p)
2793         (lisp-font-lock-syntactic-face-function): Add doc strings.
2795 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
2797         Document new features of TeX mode
2799         * doc/emacs/text.texi (TeX Print): Document
2800         'tex-print-file-extension'.
2801         * doc/emacs/programs.texi (Misc for Programs): Document support
2802         for Prettify Symbols mode in TeX mode.
2804 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
2806         Clarify docs of hscroll in RTL text
2808         * doc/lispref/windows.texi (Horizontal Scrolling): Clarify the
2809         meaning of a window's horizontal scroll amount for RTL paragraphs.
2811 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
2813         Fix rendering of HTML pages that use character composition
2815         * src/indent.c (Fvertical_motion): Fix the case when point starts
2816         in the middle of a composition, as in shr-vertical-motion.
2817         (Bug#22250)
2819 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
2821         Avoid some compiler warnings in w32.c
2823         * src/w32.c (codepage_for_filenames, crlf_to_lf)
2824         (ansi_encode_filename, socket_to_fd, sys_write)
2825         (check_windows_init_file): Avoid compiler warnings about
2826         differences in pointer signedness.
2828 2015-12-30  Dmitry Gutov  <dgutov@yandex.ru>
2830         Undo ill-advised change
2832         * lisp/progmodes/xref.el (xref-collect-matches): Undo
2833         ill-advised change.  The hits come in the order that `find'
2834         produces them in, which isn't alphabetical.
2836 2015-12-30  Dmitry Gutov  <dgutov@yandex.ru>
2838         Unbreak completion in python-mode buffers
2840         * lisp/progmodes/python.el (python-shell-completion-at-point):
2841         Unbreak in python-mode buffers.
2843 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
2845         Fix typos in CC Mode manual
2847         * doc/misc/cc-mode.texi (c-offsets-alist, Style Variables): Fix
2848         typos.  (Bug#22267)
2850 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
2852         Avoid assertion violations in compact_font_cache_entry
2854         * src/alloc.c (compact_font_cache_entry): Don't use VECTORP to
2855         avoid assertion violation in ASIZE.  (Bug#22263)
2857 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
2859         Fix filling text with bidirectional characters in shr.el
2861         * lisp/net/shr.el (shr-insert-document): Bind
2862         bidi-display-reordering to nil while filling lines.  This is
2863         required for when a line includes characters whose bidi
2864         directionality is opposite to the base paragraph direction,
2865         because columns are counted in the logical order.  (Bug#22250)
2867 2015-12-29  Martin Rudalics  <rudalics@gmx.at>
2869         * src/xfns.c (x_create_tip_frame): Process alpha parameter.
2871 2015-12-29  Michael Albinus  <michael.albinus@gmx.de>
2873         Sync with Tramp 2.2.13
2875         * doc/misc/trampver.texi: Change version to "2.2.13.25.1".
2877         * lisp/net/tramp-compat.el (tramp-compat-delete-dups):
2878         Use `tramp-compat-funcall'.
2880         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names):
2881         Make `split-string' call compatible with older Emacsen.
2883         * lisp/net/trampver.el: Change version to "2.2.13.25.1".
2885 2015-12-29  Lambda Coder  <sjLambda@gmail.com>
2887         * doc/misc/tramp.texi: Editorial revisions to the Tramp manual
2889 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
2891         Mention that tls.el is secure by default, and will fail
2893 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
2895         Make tls.el use trustfiles by default
2897         * lisp/net/tls.el (tls-program): Add a certfile by default (bug#21227).
2898         (open-tls-stream): Insert the trustfile by looking at
2899         `gnutls-trustfiles'.
2901 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
2903         Refactor out gnutls-trustfiles
2905         * lisp/net/gnutls.el (gnutls-trustfiles): Refactor out for reuse by tls.el.
2907 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
2909         Remove --insecure from gnutls-cli invocation
2911         * tls.el (tls-program): Default to using secure TLS
2912         connections (bug#19284).
2914 2015-12-29  Paul Eggert  <eggert@cs.ucla.edu>
2916         Spelling fix
2918 2015-12-29  Paul Eggert  <eggert@cs.ucla.edu>
2920         Port report-emacs-bug to deterministic builds
2922         * lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
2923         recent "built on" change to deterministic builds where
2924         emacs-build-system will be nil.  See:
2925         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
2927 2015-12-29  Jose A. Ortega Ruiz  <jao@gnu.org>  (tiny change)
2929         Fix URL auth error message
2931         * lisp/url/url-http.el (url-http-handle-authentication): Make the error
2932         message more correct (bug#20069).
2934 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2936         shr link traversal fixup
2938         * shr.el (shr-next-link): Don't bug out on adjacent links.
2940         Backport:
2942         (cherry picked from commit 1efc5f8b09273c359683ce13be95fb5df7a84311)
2944 2015-12-28  Tom Tromey  <tom@tromey.com>
2946         set :safe on css-indent-offset
2948         * lisp/textmodes/css-mode.el (css-indent-offset): Add :safe 'integerp.
2950 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2952         * eww.el (eww-mode): Remove superfluous bidi reset.
2954 2015-12-28  James Stout  <james.wolf.stout@gmail.com>  (tiny change)
2956         Make chunked encoding trailer detection more compliant
2958         * lisp/url/url-http.el
2959         (url-http-chunked-encoding-after-change-function): Make
2960         trailer detection more compliant (bug#16345).
2962 2015-12-28  Martin Rudalics  <rudalics@gmx.at>
2964         Fix Bug#10873 in `report-emacs-bug'
2966         * lisp/mail/emacsbug.el (report-emacs-bug): If
2967         `report-emacs-bug-no-explanations' is nil, make sure we can show
2968         mail and warnings buffer on this frame (Bug#10873).
2970 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
2972         Always reset the bidi direction
2974         * eww.el (eww-display-html): Always reset the bidi direction
2975         to `left-to-right' (bug#22257).
2977 2015-12-28  Alan Mackenzie  <acm@muc.de>
2979         Allow line comments ending with escaped NL to be continued to the next line.
2981         Use this in C, C++, and Objective C Modes.  Fixes bug#22246
2983         * src/syntax.c (comment-end-can-be-escaped): New buffer local variable.
2984         (forw-comment, back-comment): On encountering an end of comment character,
2985         test whether it is escaped when `comment-end-can-be-escaped' is non-nil.
2987         * doc/lispref/syntax.texi (Control Parsing): Describe
2988         `comment-end-can-be-escaped'.
2990         * etc/NEWS (Lisp Changes): Describe `comment-end-can-be-escaped'.
2992         * lisp/progmodes/cc-langs.el: New c-lang-setvar `comment-end-can-be-escaped'.
2994 2015-12-28  Dmitry Gutov  <dgutov@yandex.ru>
2996         Rename project-library-roots to project-external-roots
2998         * lisp/progmodes/project.el (project-library-roots): Rename to
2999         project-external-roots.
3000         (project-library-roots-function): Rename to
3001         project-vc-external-roots-function.  Only use it in the VC
3002         backend, for now.  Update project-external-roots accordingly.
3003         (project-vc-library-roots): Remove.
3004         (project-or-libraries-find-regexp):
3005         Rename to project-or-external-find-regexp.
3007         * lisp/progmodes/elisp-mode.el (elisp-library-roots):
3008         Rename to elisp-load-path-roots.
3010         * lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
3011         an anonymous function for the default value of
3012         project-vc-external-roots-function.
3014 2015-12-27  Deniz Dogan  <deniz@dogan.se>
3016         Clear erc user list upon disconnection
3018         * lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
3019         lists upon disconnection.  This prevents invalid channel
3020         user lists when reconnecting (bug#10947).
3022 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
3024         Don't bug out in erc after waking from sleep
3026         * lisp/erc/erc-backend.el (erc-server-send-ping): If the server has
3027         closed connection, this may already have been detected and
3028         `erc-server-last-received-time' has been set to nil (bug#13608).
3030 2015-12-27  David Edmondson  <dme@dme.org>
3032         Proxy error in erc with multiple clients
3034         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
3035         generated when multiple IRC clients talk to a single IRC proxy
3036         (bug#19034).
3038         Backport:
3040         (cherry picked from commit 507e98a54d1aa37823c64993d6b59257a82fe8f4)
3042 2015-12-27  Dima Kogan  <dima@secretsauce.net>
3044         Ensure that we don't have several timers in erc
3046         * lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
3047         for existing timers in the alist before adding new ones.  If a
3048         timer already exists, it is cancelled and
3049         overwritten. (bug#19292).
3051 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
3053         Fix mml-sec build warnings
3055         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
3056         (bug#18718).
3058         Backport:
3060         (cherry picked from commit 3603097f62f5f4aa5451716e9ac380161f6829e2)
3062 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
3064         Don't insert erc logs at the end
3066         * lisp/erc/erc-log.el (erc-log-setup-logging): Insert the previous log
3067         at the start of the buffer, not at the end (bug#20496).
3069 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
3071         (eww-setup-buffer): Restore left-to-right defaults
3073         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
3075         Backport:
3077         (cherry picked from commit 96c874b96b617c124d500a94de761a61f2a08685)
3079 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
3081         Don't join erc channels doubly
3083         * lisp/erc/erc-join.el (erc-autojoin-channels): Don't join channels
3084         more than once (if you have several nicks) (bug#20695).
3086 2015-12-27  Eli Zaretskii  <eliz@gnu.org>
3088         Avoid leaving "ghost" of mouse pointer on MS-Windows
3090         * src/w32term.c (frame_set_mouse_pixel_position):
3091         * src/w32fns.c (Fw32_mouse_absolute_pixel_position): Momentarily
3092         disable "mouse trails" when moving the mouse pointer.  (Bug#22247)
3093         * src/w32term.c (frame_set_mouse_pixel_position): Include
3094         w32common.h.
3096 2015-12-27  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
3098         Fix auth source lookups from erc with port numbers
3100         * lisp/erc/erc.el (erc-open): `auth-source' wants strings, not port
3101         numbers (bug#20541).
3103 2015-12-27  Fran Litterio  <flitterio@gmail.com>
3105         Run erc-kill-channel-hook always on exit
3107         * lisp/erc/erc.el (erc-kill-buffer-function): Run erc-kill-channel-hook
3108         when erc-kill-queries-on-quit is set (bug#21187).
3110 2015-12-27  Paul Eggert  <eggert@cs.ucla.edu>
3112         Spelling fix
3114         * test/automated/url-parse-tests.el:
3115         (url-generic-parse-url/same-document-reference):
3116         Rename from url-generic-parse-url/same-decument-reference.
3118 2015-12-27  Paul Eggert  <eggert@cs.ucla.edu>
3120         Reword initial *scratch* for brevity, appearance
3122         * lisp/startup.el (initial-scratch-message):
3123         Reword to avoid apostrophes, and to make it shorter.
3124         See the thread starting in:
3125         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html
3127 2015-12-26  Leo Liu  <sdl.web@gmail.com>
3129         Add ert-deftest to lisp-mode.el
3131         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression,
3132           lisp-el-font-lock-keywords-1): Add ert-deftest.
3134 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
3136         Mark imap changes as not needing doc changes
3138         * lisp/net/imap.el (imap-ssl-open): Remove
3140 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
3142         Use built-in encryption in imap.el
3144         * lisp/net/imap.el (imap-ssl-program): Remove (bug#21134).
3145         (imap-starttls-open): Use open-network-stream instead of starttls.el.
3146         (imap-tls-open): Use open-network-stream instead of tls.el.
3148 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3150         Don't try using /bin/sh in artist.el on MS-Windows
3152         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
3153         New function.
3154         (artist-figlet-choose-font): Use it on MS-Windows and MS-DOS.
3155         (Bug#20167)
3157 2015-12-26  Wolfgang Jenkner  <wjenkner@inode.at>
3159         Always define gmalloc etc. in src/gmalloc.c
3161         This is a work-around to prevent the compiler from using semantic
3162         knowledge about malloc for optimization purposes.  E.g., gcc 5.2
3163         with -O2 replaces most of calloc's definition by a call to calloc;
3164         see Bug#22085.
3165         * src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
3166         (aligned_alloc, free): Do not undef.  Instead, define these as
3167         functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
3169 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3171         Fix documentation of browse-url browser-related functions
3173         * lisp/net/browse-url.el (browse-url)
3174         (browse-url-default-browser, browse-url-default-windows-browser)
3175         (browse-url-default-macosx-browser, browse-url-chromium)
3176         (browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS
3177         and NEW-WINDOW arguments in these functions.  (Bug#19421)
3179 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
3181         Propagate Bug#14412 fix to backtrace_eval_unrewind
3183         * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
3184         becomes accurate again. This shouldn’t affect behavior.
3185         (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.
3187 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3189         Don't produce non-ASCII characters in *scratch*
3191         * lisp/startup.el (initial-scratch-message): Quote apostrophes to
3192         avoid producing non-ASCII characters in the *scratch* buffer's
3193         commentary.
3195 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3197         Document changes in 'compare-windows'
3199         * lisp/vc/compare-w.el (compare-windows-removed)
3200         (compare-windows-added): Doc fix.
3202         * doc/emacs/files.texi (Comparing Files): Document the changes in
3203         window selection by 'compare-windows'.
3205 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3207         Document 'vc-annotate-background-mode'
3209         * doc/emacs/maintaining.texi (Old Revisions): Document
3210         'vc-annotate-background-mode'.
3212 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3214         Document 'vc-region-history'
3216         * doc/emacs/maintaining.texi (VC Change Log): Document
3217         'vc-region-history'.
3219 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3221         Improve documentation of 'vc-push'
3223         * doc/emacs/maintaining.texi (Pulling / Pushing): Expand and
3224         improve the documentation of 'vc-push'.
3226         * lisp/vc/vc.el (vc-pull, vc-push): Doc fix.
3228 2015-12-26  Alain Schneble  <a.s@realize.ch>
3230         Include the tests for the URL parsing fixes
3232 2015-12-26  Alain Schneble  <a.s@realize.ch>
3234         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
3236         * test/automated/url-parse-tests.el: Add tests covering url-generic-parse-url.
3237         * test/automated/url-expand-tests.el: Add tests covering url-expand-file-name.
3238         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
3239         information in URL-struct.
3240         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
3241         path and query into nil path and query, respectively.
3242         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
3243         empty path into an absolute ("/") path.
3244         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
3245         fragment-only URIs. Do not just return them unchanged.
3246         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
3247         reference URI should not drop the last segment.
3249         Backport:
3251         (cherry picked from commit b792ecea1715e080ad8e232d3d154b8a25d2edfb)
3253 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3255         Document 'url-user-agent'.
3257         * lisp/url/url-http.el (url-user-agent): Move from here...
3258         * lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
3259         keep all the URL defcustoms in one place, and also have it defined
3260         whenever the URL library is loaded.
3262         * doc/misc/url.texi (Customization): Document 'url-user-agent'.
3264 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3266         Document protocols supported by URL library via Tramp
3268         * doc/misc/url.texi (Tramp): New node, describes the URL schemes
3269         supported via Tramp.
3270         (Supported URL Types, file/ftp, rlogin/telnet/tn3270): Mention
3271         Tramp.
3273 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3275         Document changes in Shell-script mode
3277         * lisp/progmodes/sh-script.el (sh-mode, sh-set-shell): Document
3278         the 'sh-shell' file-local variable.
3279         (top level): Add an auto-load form to avoid byte-compiler warning
3280         about 'comint-send-string'.
3282 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3284         Fix documentation of 'ses-define-local-printer'
3286         * doc/misc/ses.texi (Printer functions): Fix whitespace between
3287         sentences and punctuation.  Add an index entry for
3288         'ses-define-local-printer'.
3290 2015-12-26  Shakthi Kannan  <shakthimaan@gmail.com>
3292         Document 'ert-summarize-tests-batch-and-exit'
3294         * doc/misc/ert.texi (Running Tests in Batch Mode): Document
3295         'ert-summarize-tests-batch-and-exit'.
3297 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
3299         Avoid assertion violation in unbind_to
3301         * src/eval.c (unbind_to) <SPECPDL_LET>: Avoid assertion violation
3302         if we get here with an object that is not a symbol.  (Bug#14412)
3304 2015-12-25  Andreas Schwab  <schwab@linux-m68k.org>
3306         Don't treat /foo/bar:mumble as ange-ftp address
3308                 * lisp/net/browse-url.el (browse-url-filename-alist): Match colons
3309                 only in the first component.  (bug#5362)
3311 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3313         Follow <meta> redirects in eww
3315         Merge conflict, but I think I resolved it.
3317             Follow meta refresh tags in eww
3319             * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
3321         Backport:
3323 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3325         Allow http://user:pass@foo/ URLs again
3327         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
3328         user/passwords in URLs (bug#19046).
3330         Backport:
3332         (cherry picked from commit b563715a2db265517d5a77f165a42afa1e233fdd)
3334 2015-12-25  Samer Masterson  <samer@samertm.com>
3336         Autoload url-insert-buffer-contents
3338         * lisp/url/url-handlers.el: Add autoload cookie so that
3339         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
3341         Backport:
3343         (cherry picked from commit 7a7b5b492ff9929eecd90c4564db6fbf3b192323)
3345 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
3347         Make sure *scratch* etc. use forward slashes in its default-directory
3349         * lisp/startup.el (normal-top-level): On MS-Windows, convert
3350         backslashes to forward slashes while decoding default-directory
3351         of the initially-created buffers.
3353 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3355         More eww file name coding fixes
3357         * eww.el (eww-decode-url-file-name): Use the base coding
3358         system to check for encodability.
3360         Backport:
3362         (cherry picked from commit a8627008abe4ab339df19b417776da28b3ce0fc7)
3364 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3366         Always save eww history
3368         * eww.el (eww-setup-buffer): Always save history, even when
3369         called from outside the eww buffer (bug#19638).
3371         Backport:
3373         (cherry picked from commit 2a0f18d9b6ce0ccce3d9c4a4a3b5743bae71b41e)
3375 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3377         Default web pages to right-to-left
3379         * eww.el (eww-mode): Most web pages are left-to-right, so make
3380         that the default (bug#19801).
3382         * shr.el (shr-tag-html): Respect "dir" attributes
3383         (left-to-right, right-to-left).
3385         Backport:
3387         (cherry picked from commit 9e089ec8a380ec3758fcf1564c5f86dc92c68c2a)
3389 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3391         Make toggling checkboxes work again
3393         * eww.el (eww-update-field): Make toggling checkboxes work
3394         again (bug#21881).
3396         Backport:
3398         (cherry picked from commit 5e56f606952e5e81b4d3a93ea70e791b74b33041)
3400 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3402         Don't store cookies with empty names
3404         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
3405         cookies with empty names (bug#21936).
3407         Backport:
3409         (cherry picked from commit 9f0fd7cb1aec3eb9e2e0f7b8854c30870286d96c)
3411 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3413         Stop rendering HTML before specdlr exhaustion
3415         Fixes: 22117
3417         * shr.el (shr-descend): Stop rendering before we run out of
3418         specpdl room (bug#22117).
3420         Backport:
3422         (cherry picked from commit 248da292fe46224b0b5a79b632c89cf4de2c2081)
3424 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3426         Use cl-reduce, not reduce.
3428         Backport:
3430         (cherry picked from commit fe4606f93b91ff3d046aee0cf21ecc277af7a786)
3432 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3434         Allow several <tbody> tags in shr
3436         * shr.el (shr-table-body): New function to find the real body
3437         of a table.
3438         (shr-tag-table): Use it to render several <tbody> tags in a
3439         table (bug#22170).
3441         Backport:
3443         (cherry picked from commit cdaf33029d6620073833876d76056045ecfbc7c4)
3445 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3447         Make prettier unique file names in eww
3449         (eww-make-unique-file-name): Make unique file names by making
3450         files like foo(2).jpg instead of foo(1)(2).jpg.
3452         Backport:
3454         (cherry picked from commit edfdd0a6cbdfa9e5e4bd0553e2b489401ca39266)
3456 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3458         Decode hex-encoded URLs before using them as file names
3460         * eww.el (eww-decode-url-file-name): New function.
3461         (eww-download-callback): Use it to decode file names before
3462         saving them.
3464         Backport:
3466         (cherry picked from commit af22a010d87516c2a646572fb27512c03057784f)
3468 2015-12-25  Ashish SHUKLA  <ashish.is@lostca.se>
3470         Add FreeBSD cert bundle
3472         * doc/misc/emacs-gnutls.texi (Help For Users): Document
3473         FreeBSD bundle.
3475         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
3477         Backport:
3479         (cherry picked from commit 60c0f1a18ad88d6dc1a8f4ee5d9d18940eaeb6f7)
3481 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3483         Ignore invalid SVG images
3485         * shr.el (shr-tag-svg): Ignore SVG images that have no width
3486         or height, because these can't be displayed by ImageMagick,
3487         anyway.
3489         Backport:
3491         (cherry picked from commit 821107d53c2e390240d25c036b99ebbf9b4a93b6)
3493 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
3495         shr table rendering fix
3497         * shr.el (shr-tag-table): Allow rendering body-less tables
3498         that have headers.
3500         Backport:
3502         (cherry picked from commit b05471e42c17e02c56c87d7599ada0c124a5fe09)
3504 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
3506         Restore info about the build host in bug reports
3508         * lisp/mail/emacsbug.el (report-emacs-bug): Report the system on
3509         which Emacs was built.  This is important information for
3510         investigating bug reports reported by users who don't build their
3511         Emacs.
3513 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
3515         Fix bootstrap broken by changes related to OS X file-name encoding
3517         * lisp/international/ucs-normalize.el (eval-when-compile): Make
3518         sure char-code-property-alist includes elements that allow access
3519         to 'decomposition' and 'canonical-combining-class' Unicode
3520         properties, as compiling ucs-normalize.el requires that.
3521         * lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
3522         only of charprop.el was already loaded.
3524         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
3525         New order-only dependency.
3527 2015-12-25  Leo Liu  <sdl.web@gmail.com>
3529         * lisp/ido.el (ido-add-virtual-buffers-to-list): Use bookmark-get-filename.
3531 2015-12-25  Michael Albinus  <michael.albinus@gmx.de>
3533         Make tramp-test29-vc-registered more robust
3535         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
3536         Move `bzr' case down.  Skip test when `vc-create-repo' fails.
3537         Remove instrumentation.
3539 2015-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3541         * lisp/term/x-win.el (x-gtk-stock-map): Fix typo.
3543 2015-12-24  Katsumi Yamaoka  <yamaoka@jpl.org>
3545         Fix `gnus-union' so as to behave like `cl-union'
3547         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat):
3548         Make gnus-union use `equal' to compare items in lists.
3550         * lisp/gnus/gnus-util.el (gnus-union):
3551         Make it behave like cl-union partially.
3553 2015-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3555         Fix dired.c typo with ptrdiff_t vs Lisp_Object
3557         * src/dired.c (file_name_completion): Don't assume Lisp_Object is
3558         an integer type, fixing a problem introduced in the recent fix for
3559         Bug#22169.
3561 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
3563         Document default process sentinel more prominently
3565         * doc/lispref/processes.texi (Asynchronous Processes): Mention the
3566         defaults for process filter and sentinel.  Provide cross-references.
3567         (Process Information): Provide cross-references to where filters
3568         and sentinels are described.
3569         (Filter Functions): Add an index entry for "default filter".
3570         (Sentinels): Add a few status messages not documented previously.
3571         Resolve the "killed" confusion.  Document and describe the default
3572         sentinel.  (Bug#22220)
3574 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
3576         Fix file-name completion on OS X
3578         * src/dired.c (file_name_completion): Reject false matches due to
3579         file-name-coding-systems that decompose characters when encoding
3580         file names, by comparing decoded file names as well.  (Bug#22169)
3581         (syms_of_dired) <Qdecomposed_characters>: New DEFSYM.
3583         * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a
3584         non-nil 'decomposed-characters' property.
3586 2015-12-23  Anders Lindgren  <andlind@gmail.com>
3588         File-name completion of non-ASCII characters on OS X (bug#22169)
3590         The coding system `utf-8-nfd', locally defined in ns-win.el,
3591         didn't provide a :pre-write-conversion method, causing file name
3592         completion of non-ASCII characters to fail.  Solved by using the
3593         `utf-8-hfs' coding system provided by `ucs-normalize'.
3595         * lisp/loadup.el: Load international/ucs-normalize (when building
3596         for ns).
3598         * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for
3599         `utf-8-hfs' and removed the old implementation.  Set `utf-8-hfs'
3600         as the file name coding system.
3602         * src/nsfns.m (ns-convert-utf8-nfd-to-nfc): Removed.
3604 2015-12-23  Tom Tromey  <tom@tromey.com>
3606         Fix bug #18588 by making bug-reference-bug-regexp more lenient
3608         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Accept
3609         "bug NNNN".  (Bug #18588)
3611 2015-12-23  Tom Tromey  <tom@tromey.com>
3613         add some cl-* aliases to lisp-mode imenu
3615         * (lisp-imenu-generic-expression): Add cl-define-compiler-macro,
3616         cl-defgeneric, and cl-defmethod.
3618 2015-12-22  Tom Tromey  <tom@tromey.com>
3620         Make a variable buffer-local
3622         * lisp/generic-x.el (generic-rul-mode-setup-function): Make
3623         font-lock-syntax-table buffer-local.  (Bug #21627)
3625 2015-12-22  Eli Zaretskii  <eliz@gnu.org>
3627         Fix decoding of text in URLs retrieved by EWW
3629         * lisp/net/eww.el (eww-render): Pass 'charset' to
3630         'eww-display-raw'.  Use the value of 'last-coding-system-used', if
3631         non-nil, to set 'buffer-file-coding-system' of the buffer where we
3632         show the URL.
3633         (eww-display-html, eww-display-raw): Decode the text correctly,
3634         using the charset found in the headers, and defaulting to UTF-8.
3635         If the user told us to use a specific encoding, override the
3636         charset from the headers.  (Bug#22222)
3638 2015-12-22  Alan Mackenzie  <acm@muc.de>
3640         Fix a coding error in c-forward-<>-arglist-recur.  Fixes bug#22156
3642         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Remove unused
3643         variable `tmp'.
3644         After a failed search for a matching ">", restore point before continuing.
3646 2015-12-22  Michael Albinus  <michael.albinus@gmx.de>
3648         Instrument Tramp tests
3650         * test/automated/tramp-tests.el (tramp-test29-vc-registered)
3651         (tramp--test-utf8): Instrument tests.
3653 2015-12-22  Martin Rudalics  <rudalics@gmx.at>
3655         Fix `display-buffer' call in `display-message-or-buffer' (Bug#22221)
3657         * lisp/simple.el (display-message-or-buffer): Call
3658         `display-buffer' with ACTION instead of NOT-THIS-WINDOW
3659         (Bug#22221).
3661 2015-12-22  Juri Linkov  <juri@linkov.net>
3663         * lisp/saveplace.el (toggle-save-place, save-place-to-alist)
3665         (save-places-to-alist, save-place-dired-hook):
3666         Check for dired-subdir-alist.  (Bug#19851)
3668 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3670         Add FIXME comment re stack overflow and modules
3672 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3674         Revert some recent emacs-module commentary
3676         Most of the recently-added commentary was incorrect, due to the
3677         possibility of stack overflow.
3679 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3681         Spelling fix: prefer "cooperate" to "co-operate"
3683 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3685         Port undo fixes to -fno-common
3687         Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'.
3688         * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo)
3689         (buffer_before_last_command_or_undo):
3690         Declare in keyboard.h, and define in keyboard.c,
3691         instead of assuming the traditional Unix relaxed ref-def linkage.
3693 2015-12-20  Philipp Stephani  <phst@google.com>
3695         Improve commentary for emacs-module.c
3697         * src/lisp.h: Document emacs-module.c assumptions about EQ and NILP.
3698         * src/emacs-module.c (module_non_local_exit_get): Document that we
3699         cannot use the current implementation.
3700         (module_is_not_nil, module_eq): Document assumptions about EQ and
3701         NILP.
3703 2015-12-20  Michael Albinus  <michael.albinus@gmx.de>
3705         Suppress test on Mac OS X
3707         * test/automated/tramp-tests.el (tramp--test-darwin-p): New defun.
3708         (tramp--test-utf8): Use it.
3710 2015-12-20  Alan Mackenzie  <acm@muc.de>
3712         Merge branch 'scratch/follow' into emacs-25
3714         This allows Isearch, etc., to work well when Follow Mode is active.
3716 2015-12-19  Michael Albinus  <michael.albinus@gmx.de>
3718         * lisp/net/tramp-sh.el (tramp-get-ls-command-with-w-option): Improve check.
3720 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3722         Fix last commit
3724         * doc/emacs/rmail.texi (Rmail Deletion): Document new behavior of 'u'
3725         with numeric argument.
3727 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3729         Document new features of Rmail
3731         * doc/emacs/rmail.texi (Rmail Summary Edit, Rmail Deletion):
3732         Document new behavior of 'd' and 'C-d' with numeric argument.
3733         (Rmail Display): Document the rendering of HTML MIME parts.
3735 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3737         Improve documentation of new cl-lib functions
3739         * doc/misc/cl.texi (Predicates on Numbers, Numerical Functions):
3740         Fix wording.
3742 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3744         Document the new feature of 'minibuffer-with-setup-hook'
3746         * lisp/files.el (minibuffer-with-setup-hook): Clarify how FUN is
3747         added to `minibuffer-setup-hook'.
3749 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3751         Document new features of Font Lock
3753         * doc/lispref/modes.texi (Other Font Lock Variables): Document
3754         'font-lock-flush-function' and 'font-lock-ensure-function'.
3755         (Font Lock Basics): Document the basic fontification functions
3756         referenced in "Other Font Lock Variables".
3758         * lisp/font-lock.el (font-lock-flush, font-lock-ensure): Doc fix.
3760 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3762         Document new features of Rectangle mode
3764         * doc/emacs/killing.texi (Rectangles): Document "C-x C-x" in
3765         rectangle-mark-mode.
3767 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3769         Manual followup to last change
3771         * doc/lispref/display.texi (Displaying Messages): Sync with the
3772         doc string.  (Bug#22210)
3774 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3776         Clarify doc string of 'display-message-or-buffer'
3778         * lisp/simple.el (display-message-or-buffer): Doc fix.  Suggested
3779         by Sebastian Wiesner <swiesner@lunaryorn.com>.  (Bug#22210)
3781 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3783         * doc/emacs/emacs.texi (Top): Update top-level menus.
3785         * doc/lispref/elisp.texi (Top): Update top-level menus.
3787 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3789         Document how to avoid file-local variables that aren't
3791         * doc/emacs/custom.texi (Specifying File Variables): Describe how
3792         to prevent Emacs from interpreting unrelated text as file-local
3793         variables.  (Bug#22166)
3795 2015-12-19  Dave Thomas  <dave@pragprog.org>  (tiny change)
3797         Fix a typo in eterm-color's termcap entry
3799         * lisp/term.el (term-termcap-format): Fix a typo in the "ue="
3800         entry.  (Bug#22184)
3802 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
3804         Allow 'browse-url-emacs' visit non-existent URLs
3806         * lisp/url/url-handlers.el (url-insert-file-contents): Don't
3807         signal an error if VISIT is non-nil, to more faithfully emulate
3808         the behavior of 'insert-file-contents'.  (Bug#22160)
3810 2015-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3812         Remove SunOS 4.x cruft
3814         Support for SunOS 4.x was removed in Emacs 23 but some cruft was left behind.
3815         * lib-src/pop.c [sun]: Remove no-longer-needed include.
3816         * lwlib/xlwmenu.c (SUNSO41): Remove.
3818 2015-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3820         Merge from gnulib
3822         This mostly commentary fixes.
3823         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
3824         * lib/gnulib.mk: Regenerate with new gnulib-tool.
3826 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
3828         Minor fixes in Tramp
3830         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
3831         Reorder ls arguments.
3833         * lisp/net/tramp.el (tramp-dissect-file-name): Fix docstring.
3835 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
3837         Make tramp a built-in package
3839         * lisp/finder.el (finder-compile-keywords): Update
3840         `package--builtins' also when Version: keyword is available.
3842         * lisp/net/trampver.el: Add Version: keyword.
3843         (tramp-version): Change it to "2.2.13.25.1", in order to be
3844         compatible with `version-to-list'.
3846 2015-12-18  Lele Gaifax  <lele@metapensiero.it>
3848         * etc/tutorials/TUTORIAL.it: Update and fix typos.
3850 2015-12-18  Alan Mackenzie  <acm@muc.de>
3852         Rename `recenter-group' to `recenter-window-group'
3854         * doc/lispref/windows.texi (Textual Scrolling)
3855         * lisp/window.el (top level, recenter-group)
3856         * lisp/follow.el (follow-mode)
3857         * lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
3858         `recenter-window-group' and `recenter-group-function' to
3859         `recenter-window-group-function'.
3861 2015-12-18  Eli Zaretskii  <eliz@gnu.org>
3863         Fix vertical-motion in tabulated-list mode
3865         * src/indent.c (Fvertical_motion): When moving from line beginning
3866         to point under line truncation, assume overshoot by one line only
3867         if point actually lies beyond the window's right margin.
3868         (Bug#22194)
3870 2015-12-18  Martin Rudalics  <rudalics@gmx.at>
3872         Don't have help functions call x-display-pixel-width/-height on ttys
3874         * lisp/help.el (temp-buffer-max-height, temp-buffer-max-width):
3875         Don't call x-display-pixel-width/-height on ttys.
3877 2015-12-18  Dmitry Gutov  <dgutov@yandex.ru>
3879         Use 'hg id' in vc-hg-previous-revision
3881         * lisp/vc/vc-hg.el (vc-hg-previous-revision):
3882         Use 'hg id' to retrieve it (bug#22032).
3884 2015-12-17  Alan Mackenzie  <acm@muc.de>
3886         * lisp/follow.el (follow-sit-for): Remove (it's redundant).
3888 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
3890         Fix a typo in the Emacs manual
3892         * doc/emacs/trouble.texi (Sending Patches): Fix a typo.  Reported
3893         by Lele Gaifax <lele@metapensiero.it>.  (Bug#22193)
3895 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
3897         Fix parsing netrc entries with ports
3899         * lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't
3900         make a list out of 't'.  (Bug#22188)
3902         * test/automated/auth-source-tests.el
3903         (auth-source-test-netrc-parse-entry): New test.
3905 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
3907         Fix typo in Doug Lea malloc configure log
3909         * configure.ac (emacs_cv_var_doug_lea_malloc):
3910         Fix typo that confused the log output of 'configure'.
3912 2015-12-16  Nicolas Petton  <nicolas@petton.fr>
3914         * etc/NEWS: Mention the new pcase patterns `seq' and `map'.
3916 2015-12-16  Alan Mackenzie  <acm@muc.de>
3918         * etc/NEWS: Move entry on pcase to correct section
3920         (Accidentally omitted from previous commit)
3922 2015-12-16  Alan Mackenzie  <acm@muc.de>
3924         Add documentation for changes to Show Paren mode.
3926         * lisp/paren.el (show-paren-highlight-openparen): Enhance doc string.
3928         * doc/emacs/programs.texi (Matching): Add descriptions of some pertinent user
3929         options, including the new show-paren-when-point-inside-paren and
3930         show-paren-when-point-in-periphery.
3932         * etc/NEWS (.. Specialized Modes ...): Add an entry for Show Paren mode.
3933         Move an entry on pcase to the Lisp Changes section.
3935 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
3937         Document Eldoc changes
3939         * doc/emacs/programs.texi (Lisp Doc): Document Global Eldoc mode.
3941 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
3943         Fix invocation of Python and Guile interpreters from gdb-mi
3945         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
3946         commands for interactive Python and Guile interpreters.
3947         (gdb-send): Recognize various ways of exiting from Python and
3948         Guile interpreters and returning to GDB.  For details, see
3949         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00693.html
3950         and http://stackoverflow.com/questions/31514741.
3952 2015-12-16  Paul Eggert  <eggert@cs.ucla.edu>
3954         Remove attempt to use C11 threads
3956         C11 threads are not needed for Emacs now, and their use is causing
3957         hassles on FreeBSD 10.x.  Problem reported by Ashish SHUKLA in:
3958         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html
3959         * configure.ac: Do not check for C11 threads. Remove unnecessary
3960         fiddling with CPPFLAGS when configuring pthreads.
3961         * src/emacs-module.c (main_thread, check_main_thread)
3962         (module_init): Do not worry about C11 threads.
3964 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
3966         Set utf8 encoding with stty in Tramp
3968         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3969         Move up uname check.  Handle Mac OS X eol encoding.  Set utf8
3970         encoding with stty.
3972 2015-12-15  Alan Mackenzie  <acm@muc.de>
3974         Tidy up documentation associated with window groups.
3976         * doc/lispref/windows.texi (Basic Windows): Add an @anchor for "Window
3977         Groups".  Correct example function to `window-group-start'.
3978         (Window Start and End, Textual scrolling): Point to the new anchor.  State
3979         that (most of) the args in window group functions have the same meaning as for
3980         the corresponding window primitives.
3982         * doc/lispref/positions.texi (Screen Lines).  Same as above.
3984 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
3986         Complete last commit
3988         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3989         Move uname check up.  Handle Mac OS X eol encoding.
3991 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
3993         Handle Mac OS X eol encoding in Tramp
3995         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3996         Handle Mac OS X eol encoding.
3998 2015-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4000         Fix variable name typo in compute_tip_xy
4002         * src/w32fns.c (compute_tip_xy):
4003         * src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y
4004         when `right' is integer.
4006 2015-12-14  foudfou  <foudil.newbie+git@gmail.com>
4008         * lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region.
4010 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
4012         Revert "Fix rx matcher overflow without limiting"
4014         This reverts commit fe27e037663d36be3e5741c2ce86ab4ee8017db1.
4016 2015-12-14  Alan Mackenzie  <acm@muc.de>
4018         Ispell: Bind isearch-regexp-function to nil around call to isearch..-new-loop
4020         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): bind
4021         isearch-regexp-function to nil around call to isearch-lazy-highligh-new-loop.
4023 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
4025         Fix rx matcher overflow without limiting
4027         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve last
4028         change to the regexp without imposing a limit on the length of the
4029         options.
4031 2015-12-14  Alan Mackenzie  <acm@muc.de>
4033         Enhance ispell-skip-region-alist by generating part of it at runtime.
4035         * lisp/textmodes/ispell.el (ispell--\\w-filter, ispell--make-\\w-expression)
4036         (ispell--make-filename-or-URL-re): New functions which generate a regexp.
4037         (ispell-skip-region-alist): Remove the bit that matches a filename/URL, etc.
4038         (ispell-begin-skip-region-regexp, ispell-skip-region-list, ispell-message):
4039         Include the result of ispell--make-filename-or-URL-re in regexps.
4041 2015-12-14  Glenn Morris  <rgm@gnu.org>
4043         * build-aux/gitlog-to-emacslog: Ignore more pointless merge commits.
4045 2015-12-14  Alan Mackenzie  <acm@muc.de>
4047         Replace GROUP argument in six window primitives by new functions.
4049         * doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
4050         * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
4051         from description of six window functions.  Add in description of new functions
4052         window-group-start, window-group-end, set-window-group-start,
4053         pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
4054         together with the six variables indirecting to the pertinent group
4055         functions.
4057         * src/window.c
4058         * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
4059         applies to these two files, which added the GROUP argument to six window
4060         primitives.
4062         * lisp/follow.el (follow-mode): Use updated variable names for the indirected
4063         functions.
4065         * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
4066         (isearch-back-into-window, isearch-lazy-highlight-new-loop)
4067         (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
4068         to window primitives (e.g. window-start) with a GROUP argument by calls to
4069         new functions (e.g. window-group-start).
4071         * lisp/ispell.el (ispell-command-loop): Replace call to
4072         pos-visible-in-window-p with pos-visible-in-window-group-p.
4074         * lisp/window.el (window-group-start, window-group-end)
4075         (set-window-group-start, recenter-group, pos-visible-in-window-group-p)
4076         (selected-window-group, move-to-window-group-line): New functions.
4077         (window-group-start-function, window-group-end-function)
4078         (set-window-group-start-function, recenter-group-function)
4079         (pos-visible-in-window-group-p-function, selected-window-group-function)
4080         (move-to-window-group-line-function): New variables.
4082 2015-12-14  Vitorio Miguel  <vdrbandeiras@gmail.com>  (tiny change)
4084         * etc/tutorials/TUTORIAL.pt_BR: Fix a typo.  (Bug#22165)
4086 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
4088         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
4090 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
4092         Improve regex to not trigger stack overflow
4094         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve regex in
4095         order not to trigger a stack overflow in regex matcher with unbalanced
4096         brackets (bug#22146).
4098 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
4100         Fix visiting files with raw-text
4102         * src/fileio.c (Finsert_file_contents): Fix setting buffer unibyte
4103         when some stuff was actually read.  (Bug#22162)
4105 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
4107         Fix regex matching keyval labels
4109         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Fix regexp
4110         matching keyval labels.
4112 2015-12-13  Michael Albinus  <michael.albinus@gmx.de>
4114         * lisp/ido.el (ido-file-name-all-completions-1): Do not raise an error
4116         ... in case of Tramp.  (Bug#20821)
4118 2015-12-13  Paul Eggert  <eggert@cs.ucla.edu>
4120         Fix performance regression with gcc -O0
4122         This fixes the smaller performance hit that I noted in:
4123         https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00357.html
4124         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, macro_XPNTR):
4125         * src/puresize.h (puresize_h_PURE_P)
4126         (puresize_h_CHECK_IMPURE):
4127         New macros, with the old contents of the functions.
4128         * src/alloc.c (XPNTR_OR_SYMBOL_OFFSET, XPNTR):
4129         * src/puresize.h (PURE_P, CHECK_IMPURE):
4130         Use the new macros.  Also macros, if DEFINE_KEY_OPS_AS_MACROS.
4131         * src/conf_post.h (ATTRIBUTE_UNUSED):
4132         * src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): New macros.
4134 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
4136         * lisp/emacs-lisp/package.el (package-unpack): Security check
4138         Check that we received the package we were offered.
4140 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
4142         * lisp/emacs-lisp/package.el (package--compile): Don't activate
4144         `package-unpack' takes care of all activations now (other than
4145         `package-initialize).  `package--compile' now only compiles.
4147 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
4149         Document the new bindings of <UP> and <DOWN> in the minibuffer
4151         * doc/emacs/mini.texi (Minibuffer History): Describe the new
4152         bindings of <UP> and <DOWN> in the minibuffer.
4154 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
4156         Document new features of Ido
4158         * doc/misc/ido.texi (Misc): Document 'C-S-b'.
4160 2015-12-12  Martin Rudalics  <rudalics@gmx.at>
4162         Fix frame height calculations with added menu bar on Windows (Bug#22105)
4164         * doc/lispref/frames.texi (Parameter Access): Mention pitfalls
4165         when simultaneously specifying multiple parameters for
4166         `modify-frame-parameters' that all may change the frame's size.
4167         * src/w32fns.c (x_set_menu_bar_lines): Don't set
4168         windows_or_buffers_changed here.
4169         (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect
4170         with third argument false.
4171         * src/w32menu.c (set_frame_menubar): Set
4172         windows_or_buffers_changed here.
4173         * src/w32term.c (x_set_window_size): Determine third argument of
4174         AdjustWindowRect from whether the frame has a menu bar and not
4175         from whether it wants one.
4177 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
4179         Document the change in interactive shell mode
4181         * doc/emacs/misc.texi (Interactive Shell): Document that the
4182         '*shell*' buffer by default displays in a new window.
4184 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
4186         Document new features of package.el
4188         * doc/emacs/package.texi (Package Menu): Document the 'external'
4189         status and the new menu commands.
4190         (Package Installation): Document archive priorities.
4192         * lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
4193         (package-menu-hide-low-priority): Doc fix.
4195 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
4197         Update and document new features of xterm support
4199         * doc/emacs/frames.texi (Text-Only Mouse): Document that
4200         track-mouse is supported by newer xterm versions.
4202 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
4204         Document new features of Prettify Mode
4206         * doc/emacs/programs.texi (Misc for Programs): Document
4207         'prettify-symbols-compose-predicate' and
4208         'prettify-symbols-unprettify-at-point'.
4210         * lisp/progmodes/prog-mode.el (prettify-symbols-alist)
4211         (prettify-symbols-default-compose-p)
4212         (prettify-symbols-compose-predicate)
4213         (prettify-symbols--compose-symbol): Doc fixes.
4215 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
4217         Document multi-mode indentation facilities
4219         * doc/lispref/text.texi (Mode-Specific Indent): Document
4220         'prog-indentation-context', 'prog-first-column', and 'prog-widen'.
4222         * lisp/progmodes/prog-mode.el (prog-indentation-context)
4223         (prog-widen): Doc fixes.
4225 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
4227         Document 'vc-refresh-state'
4229         * doc/emacs/maintaining.texi (Version Control): Document
4230         'vc-refresh-state'.
4232         * lisp/vc/vc-hooks.el (vc-refresh-state): Doc fix.
4234 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
4236         Fix echo for "C-u"
4238         * src/keyboard.c (command_loop_1): Undo last change.  It caused
4239         duplicate echo of C-u.  (Bug#22107)
4241 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
4243         Avoid errors when creating files under SVN in new directory
4245         * lisp/vc/vc-svn.el (vc-svn-registered): Use
4246         file-accessible-directory-p, to avoid cd'ing to a non-existing
4247         directory, which signals an error on some systems.  (Bug#21984)
4248         (vc-svn-checkin): Call log-edit-extract-headers with 2 arguments.
4249         Use declare-function to avoid byte-compiler warnings.
4251 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
4253         Improve Lua support in etags
4255         * lib-src/etags.c (Lua_functions): Skip spaces before looking for
4256         "function".
4258         * etc/NEWS: Mention improved Lua support by 'etags'.
4260         * test/etags/lua-src/test.lua (test): Add tests for indented
4261         function definitions.
4262         * test/etags/ETAGS.good_1:
4263         * test/etags/ETAGS.good_2:
4264         * test/etags/ETAGS.good_3:
4265         * test/etags/ETAGS.good_4:
4266         * test/etags/ETAGS.good_5:
4267         * test/etags/ETAGS.good_6:
4268         * test/etags/CTAGS.good: Adapt to the modified Lua tests.
4270 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
4272         Fix 'this-command-keys' wrt prefix argument
4274         * src/keyboard.c (command_loop_1): Restore the feature whereby C-u
4275         was part of this-command-keys, but not of this-single-command-keys.
4276         (Bug#22107)
4278         * lisp/simple.el (internal-echo-keystrokes-prefix): Add
4279         commentary about the function's return value.
4281 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
4283         * lisp/files.el (load-library): Doc fix.  (Bug#22140)
4285 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
4287         Improve and document Ruby support in 'etags'
4289         * lib-src/etags.c (Ruby_suffixes): Add ".ruby".
4290         (Ruby_functions): Support "module" and overloaded operators.
4291         (Ruby_help): Mention "module".
4293         * test/etags/ruby-src/test.rb:
4294         * test/etags/ruby-src/test1.ruby: New files.
4295         * test/etags/Makefile (RBSRC): New tests.
4296         (SRCS): Add ${RBSRC}.
4297         * test/etags/ETAGS.good_1:
4298         * test/etags/ETAGS.good_2:
4299         * test/etags/ETAGS.good_3:
4300         * test/etags/ETAGS.good_4:
4301         * test/etags/ETAGS.good_5:
4302         * test/etags/ETAGS.good_6:
4303         * test/etags/CTAGS.good: Adapt to the new Ruby tests.
4305         * doc/man/etags.1: Mention Ruby support.
4306         * etc/NEWS: Mention Ruby support.
4308 2015-12-11  Xi Lu  <lx@shellcodes.org>
4310         Initial support for Ruby in 'etags'
4312         * lib-src/etags.c <Ruby_suffixes>: New variable.
4313         (lang_names): Add an entry for Ruby.
4314         (Ruby_functions): New function.  (Bug#22116)
4316 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
4318         Clarify documentation of 'modify-frame-parameters'
4320         * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
4321         PARMs" mean for 'modify-frame-parameters'.
4323         * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
4324         PARMs" mean for this function.  (Bug#22104)
4326 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
4328         Fix setting buffer unibyte when reading from a device
4330         * src/fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
4331         to make a (possibly non-empty) buffer unibyte.  (Bug#22096)
4333 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
4335         Clarify documentation of 'values'
4337         * doc/lispref/eval.texi (Eval): Clarify that 'values' are not
4338         updated by any evaluation commands in 'lisp-interaction-mode'.
4339         (Bug#22056)
4341 2015-12-11  Anders Lindgren  <andlind@gmail.com>
4343         Fixed subversion vc error when opening file in new directory (bug#21984).
4345         * lisp/vc/vc-svn.el (vc-svn-registered): Check if directory exists.
4347 2015-12-09  Eli Zaretskii  <eliz@gnu.org>
4349         Yet another fix for when point ends up in invisible text
4351         * src/xdisp.c (redisplay_window): When someone forced
4352         window-start, and honoring that failed to show the cursor, try
4353         moving out of invisible text, before falling back to the middle of
4354         the window.  (Bug#22098)
4356 2015-12-09  Michael Albinus  <michael.albinus@gmx.de>
4358         Fix error in Tramp perl script for cygwin
4360         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not raise an
4361         error if file doesn't exist.
4363 2015-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4365         Remove font workaround for limited outdated versions
4367         * src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove
4368         workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1.
4370 2015-12-09  Anders Lindgren  <andlind@gmail.com>
4372         Don't add "." to load path (bug#21104)
4374         When configured with --enable-locallisppath=no, which is the
4375         default for OS X, the load-path incorrectly was populated with ".".
4377         * src/lread.c (init_lread): Don't call `decode_env_path' when
4378         PATH_SITELOADSEARCH is empty.
4380 2015-12-08  Artur Malabarba  <bruce.connor.am@gmail.com>
4382         * lisp/emacs-lisp/package.el (package--with-response-buffer):
4384         Search for the blank-line in the right buffer.
4386 2015-12-08  Glenn Morris  <rgm@gnu.org>
4388         * test/automated/simple-test.el (undo-auto-boundary-timer): Update
4389         for recent change.
4391 2015-12-08  Glenn Morris  <rgm@gnu.org>
4393         Fix some display-warning usage.
4395         * lisp/files.el (hack-local-variables, hack-dir-local-variables):
4396         * lisp/calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
4397         * lisp/calendar/holidays.el (calendar-holiday-list):
4398         * lisp/mail/rmailout.el (rmail-output-read-file-name):
4399         Fix display-warning usage.
4401 2015-12-08  Glenn Morris  <rgm@gnu.org>
4403         * lisp/calendar/cal-html.el: Require diary-lib.
4405         (cal-html-list-diary-entries): Handle no diary.  (Bug#21994)
4407 2015-12-08  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4409         Add Obsolete-since header to eudcb-ph.el
4411         * lisp/obsolete/eudcb-ph.el: Add Obsolete-since header.
4413 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
4415         Spelling fixes
4417         * doc/misc/calc.texi (Predefined Units): Use the bland modern
4418         scientific style for spelling the units “ampere” and
4419         “angstrom” rather than the older style “Ampere” and
4420         “Ångstrom”.  The latter spelling was wrong anyway (it should
4421         have been “Ångström”).
4422         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
4423         Fix misspelling of ‘atom’ in code.
4425 2015-12-07  Eli Zaretskii  <eliz@gnu.org>
4427         Improve documentation of kill commands
4429         * lisp/simple.el (region-extract-function, delete-backward-char)
4430         (delete-forward-char, kill-region, copy-region-as-kill)
4431         (kill-ring-save): Better document the optional argument REGION in
4432         the doc strings.  Mention in the doc strings that text put in the
4433         kill-ring can be filtered by 'filter-buffer-substring'.
4435         * doc/lispref/text.texi (Kill Functions): Mention that functions
4436         described in this subsection can filter text they put in the
4437         kill-ring.  Add a cross-reference to "Buffer Contents" and an
4438         index entry.  Document the optional argument 'region' and its
4439         effect.
4440         (Bug#21315)
4442 2015-12-07  Alan Mackenzie  <acm@muc.de>
4444         Further progress making Isearch, Ispell, Replace work with Follow Mode.
4446         * lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which
4447         no longer exists.  Add follow-post-command-hook to  three special purpose
4448         hooks at setup, and remove them at tear down.
4450         * lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before
4451         isearch-lazy-highlight-new-loop.
4452         (isearch-lazy-highlight-new-loop): Restore this function to what it previously
4453         was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into
4454         it.
4455         (isearch-lazy-highlight-maybe-new-loop): function removed.
4457         * lisp/replace.el: (replace-update-post-hook): New hook variable.
4458         (perform-replace): Add second (nil) argument to looking-back.  Invoke
4459         replace-update-post-hook before calling replace-highlight.
4461         * lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable.
4462         (ispell-command-loop): invoke ispell-update-post-hook.  Add GROUP argument to
4463         call of pos-visible-in-window-p.
4464         (ispell-display-buffer): Place *Choices* window at the top of the last window
4465         in a window group.
4467 2015-12-07  Alan Mackenzie  <acm@muc.de>
4469         Amend doc of `mapconcat': it can take sequences, not merely strings.
4471         * doc/lispref/functions.texi (Mapping Functions): Amend the doc of `mapconcat'
4472         to say that SEPARATOR and the results from FUNCTION may be any character
4473         sequences, not just strings.  Add an @xref to "Sequences Arrays Vectors".
4475 2015-12-07  Michael Albinus  <michael.albinus@gmx.de>
4477         Fix an utf8 problem for Tramp on BSD
4479         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
4480         Make lax check for utf8.
4481         (tramp-get-remote-locale): Add "en_US.UTF-8" as candidate.
4483 2015-12-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4485         Make eudcb-ph.el obsolete
4487         * doc/misc/eudc.texi: Bump version to 1.40.0.
4488         Remove PH/QI sections and mentions.
4489         * lisp/obsolete/eudcb-ph.el: Make obsolete.
4490         * lisp/net/eudc-vars.el (eudc-known-protocols): Remove ph.
4491         (eudc-ph-bbdb-conversion-alist): Make obsolete.
4492         * etc/NEWS: Mention this.  (Bug#21191)
4494 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
4496         Remove overenthusiastic eassert
4498         * src/lisp.h (XSYMBOL): Remove eassert incorrectly added in
4499         previous change.  It breaks on MS-Windows --with-wide-int.
4500         Problem reported by Eli Zaretskii in:
4501         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00275.html
4503 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
4505         Pacify gcc -Wparentheses
4507         * src/xdisp.c (row_containing_pos): Reparenthesize.
4509 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
4511         Port mod-test to 32-bit Emacs --without-wide-int
4513         * modules/mod-test/test.el (mod-test-sum-test):
4514         Bring back the 2**29 tests, but port them to 32-bit Emacs
4515         --without-wide-int.
4517 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
4519         Fix minor Tramp problems found on BSD
4521         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
4522         trailing slash.  Quote apostrophes.
4523         (tramp-sh-handle-file-truename): Do not append trailing slash in
4524         the "ls" case.
4525         (tramp-get-ls-command-with-w-option): New defun.
4526         (tramp-do-file-attributes-with-ls)
4527         (tramp-do-directory-files-and-attributes-with-stat): Use it.
4529         * test/automated/tramp-tests.el
4530         (tramp-test31-special-characters-with-perl)
4531         (tramp-test31-special-characters-with-ls)
4532         (tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
4533         Suppress also readlink.
4535 2015-12-06  Eli Zaretskii  <eliz@gnu.org>
4537         Fix cursor display when invisible text is at line beginning
4539         * src/xdisp.c (redisplay_window): When scrolling fails to show
4540         point, prefer using the desired matrix if possible for finding the
4541         fallback glyph row for displaying the cursor.  (Bug#22098)
4542         (row_containing_pos): Exit the loop as soon as we hit the first
4543         disabled glyph row.  Otherwise we risk accessing garbled data and
4544         departing to the no-no land.
4546 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
4548         Improve module interface when WIDE_EMACS_INT
4550         * src/emacs-module.c (plain_values): New constant.
4551         (module_nil): Now a constant.
4552         (Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits)
4553         (syms_of_module): Use if, not #ifdef, so that both sides are
4554         checked at compile-time, and so that GCC doesn’t complain
4555         about an unused var in the typical case.  Also, depend on
4556         plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume
4557         that WIDE_EMACS_INT implies !USE_LSB_TAG.
4558         (value_to_lisp_bits, lisp_to_value_bits): New functions.
4559         Sign-extend integers rather than zero-extending them, as small
4560         negative integers are more likely.
4561         (value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits
4562         functions.
4563         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined.
4564         (mark_modules): Remove.  All uses removed.
4565         (lisp_to_value): Don’t assume Fcons returns a pointer aligned
4566         to GCALIGNMENT.
4567         (syms_of_module): Check that module_nil converts to Qnil.
4568         * src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since
4569         we prefer signed to unsigned when either will do.
4570         (TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is
4571         a bit better for emacs-module.c.
4573 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
4575         Port mod-test to x86-64 GNU/Linux running 32-bit
4577         * modules/mod-test/test.el (mod-test-sum-test):
4578         Don’t attempt to match descriptions to operating systems.
4579         It didn’t work on Fedora x86-64 running a 32-bit executable,
4580         and it’s not worth the trouble anyway.
4581         Port to 32-bit platforms by removing an assumption about
4582         fixnum widths.
4584 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
4586         Fix auto-revert-tests.el when filenotify isn't used
4588         * test/automated/auto-revert-tests.el (auto-revert--wait-for-revert):
4589         Make it working also when filenotify isn't used.
4591 2015-12-06  Juri Linkov  <juri@linkov.net>
4593         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
4595         Let-bind isearch-regexp-function to nil.  (Bug#22097)
4597 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
4599         * lisp/emacs-lisp/package.el: Don't install bad signatures (bug#22089)
4601         (package--with-response-buffer): NOERROR and ERROR-FORM only
4602         handle connection errors.
4603         (bad-signature): New error type.
4604         (package--check-signature-content): Use it.
4605         (package--check-signature): Properly distinguish connection errors
4606         from bad-signature errors.  Do the check for
4607         `package-check-signature' `allow-unsigned' here instead of forcing
4608         the callbacks to do it.  Add a new argument, UNWIND.
4609         (package--download-one-archive, package-install-from-archive):
4610         Update usage of `package--check-signature'.
4612 2015-12-05  Ulf Jasper  <ulf.jasper@web.de>
4614         Fix Bug#22092.
4616         * lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
4617           Clean up inconsistent line endings. (Bug#22092)
4618           (icalendar--clean-up-line-endings): New.
4619         * test/automated/icalendar-tests.el (icalendar-real-world): Add test
4620           for Bug#22092.
4622 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
4624         Document 'bookmark-set-no-overwrite'
4626         * doc/emacs/regs.texi (Bookmarks): Document the new command
4627         'bookmark-set-no-overwrite' and its keybinding.
4629 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
4631         Document new binding of 'mouse-buffer-menu'
4633         * doc/emacs/buffers.texi (Buffer Menus): 'mouse-buffer-menu' is
4634         now also on C-F10.
4636 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
4638         Initial documentation of dynamic modules
4640         * doc/lispref/loading.texi (Dynamic Modules): New section with
4641         initial documentation for dynamic modules.
4642         * doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the
4643         detailed menu
4645         * etc/NEWS: Fix typos in dynamic modules' entry.
4647 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
4649         Remove copyright statements from trivial test files
4651 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
4653         Add "Preliminaries" section to etc/DEBUG
4655         * etc/DEBUG: Add the "Preliminaries" section for GDB beginners.
4656         Most of the content was suggested by Phillip Lord
4657         <phillip.lord@russet.org.uk>.  Remove the section about debugging
4658         with the Visual Studio, as building Emacs with the Microsoft
4659         compilers is no longer supported.  Minor fixes in some other
4660         sections.
4662 2015-12-05  Alex Dunn  <dunn.alex@gmail.com>  (tiny change)
4664         Improve parsing of version strings
4666         * lisp/subr.el (version-regexp-alist): Allow "." as priority separator
4667         (version-to-list): More helpful error messages.
4668         (version-to-list): ".5" is valid (update docstring).  Make
4669         "22.8X3" invalid, as the doc string says.
4671         * test/automated/subr-tests.el (ert-test-version-parsing): New
4672         tests for version string processing.
4674 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
4676         Fix documentation of 'undo' changes
4678         * doc/lispref/text.texi (Undo): Minor wording changes.  Use US
4679         English conventions for spelling and whitespace between sentences.
4681         * etc/NEWS: Fix wording and spelling of undo-related entries.
4682         Mark them as documented.
4684 2015-12-05  Glenn Morris  <rgm@gnu.org>
4686         * lisp/net/net-utils.el: Small improvements.
4688         (net-utils--executable-find-sbin): New function.
4689         (ifconfig-program): Check sbin directories.
4690         Fallback to "ip".  (Bug#22091)
4691         (ifconfig-program-options): Check the actual program in use.
4692         (arp-program): Check sbin directories.
4694 2015-12-04  (tiny change) Arash Esbati  <esbati@gmx.de>  (tiny change)
4696         Fix wrong-type-argument integer-or-marker-p nil error
4698         * lisp/textmodes/reftex-auc.el (reftex-what-index-tag):
4699         Fix (wrong-type-argument integer-or-marker-p nil) error (bug#22077).
4701 2015-12-04  Alan Mackenzie  <acm@muc.de>
4703         Merge branch 'scratch/follow' of /home/acm/emacs/emacs.git/emacs-25 into scratch/follow
4705         Merge necessitated by a rebase operation.
4707 2015-12-04  Alan Mackenzie  <acm@muc.de>
4709         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
4711 2015-12-04  Alan Mackenzie  <acm@muc.de>
4713         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
4715         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
4716         Windows" and new @defun selected-window-group.
4717         (Window Start and End): Describe new &optional parameter GROUP and
4718         ...-group-function for window-start, window-end, set-window-start, and
4719         pos-visible-in-window-p.
4720         (Textual Scrolling) Describe the same for recenter.
4721         doc/lispref/positions.texi (Screen Lines): Describe the same for
4722         move-to-window-line.
4724         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
4725         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
4726         new optional parameter "group".  At the beginning of each, check whether the
4727         corresponding ...-group-function is set to a function, and if so execute this
4728         function in place of the normal processing.
4729         (syms_of_window): Define symbols for the six new variables below.
4730         (window-start-group-function, window-end-group-function)
4731         (set-window-start-group-function, recenter-group-function)
4732         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
4733         New permanent local buffer local variables.
4734         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
4735         Fpos_visible_in_window_p.
4737         lisp/window.el (selected-window-group-function): New permanent local buffer
4738         local variable.
4739         (selected-window-group): New function.
4741         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
4742         enable, kill them at mode disable.  Add/remove follow-after-change to/from
4743         after-change-functions.
4744         (follow-start-end-invalid): New variable.
4745         (follow-redisplay): Manipulate follow-start-end-invalid.
4746         (follow-after-change, follow-window-start, follow-window-end)
4747         (follow-set-window-start, follow-pos-visible-in-window-p)
4748         (follow-move-to-window-line, follow-sit-for): New functions.
4750         lisp/isearch.el (isearch-call-message): New macro.
4751         (isearch-update, with-isearch-suspended, isearch-del-char)
4752         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
4753         (with-isearch-suspended): Rearrange code such that isearch-call-message is
4754         invoked before point is moved.
4755         (isearch-message): Add comment about where point must be at function call.
4756         (isearch-search): Remove call to isearch-message.
4757         (isearch-lazy-highlight-window-group): New variable.
4758         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
4759         the battery of tests to ...
4760         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
4761         Note: (sit-for 0) is still called.
4762         (isearch-lazy-highlight-update): Check membership of
4763         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
4764         property.
4765         (isearch-update, isearch-done, isearch-string-out-of-window)
4766         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
4767         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
4768         (isearch-lazy-highlight-update): Call the six amended primitives (see
4769         src/window.c above) with the new `group' argument set to t, to cooperate
4770         with Follow Mode.
4772 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
4774         * lisp/emacs-lisp/ert.el: Prefer pcase over cl-typecase
4776         * lisp/emacs-lisp/ert.el (ert--should-error-handle-error)
4777         (ert--explain-format-atom, ert--explain-equal-rec)
4778         (ert--print-backtrace, ert-test-result-type-p, ert-select-tests)
4779         (ert--insert-human-readable-selector): Prefer pcase over cl-typecase.
4781 2015-12-04  Artur Malabarba  <bruce.connor.am@gmail.com>
4783         * lisp/character-fold.el: Remove special case-folding support
4785         (character-fold-to-regexp): Remove special code for
4786         case-folding.  Char-fold search still respects the
4787         `case-fold-search' variable (i.e., f matches F).  This only
4788         removes the code that was added to ensure that f also matched
4789         all chars that F matched.  For instance, after this commit, f
4790         no longer matches 𝔽.
4792         This was necessary because the logic created a regexp with
4793         2^(length of the string) redundant paths.  So, when a very
4794         long string "almost" matched, Emacs took a very long time to
4795         figure out that it didn't.  This became particularly relevant
4796         because isearch's lazy-highlight does a search bounded by (1-
4797         match-end) (which, in most circumstances, is a search that
4798         almost matches).  A recipe for this can be found in bug#22090.
4800 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
4802         * lisp/emacs-lisp/cl-macs.el (character): Can't be negative
4804         Fixes (bug#21701)
4806 2015-12-04  Daiki Ueno  <ueno@gnu.org>
4808         lisp/gnus/qp.el: Don't replace "from " at bol
4810         * lisp/gnus/qp.el (quoted-printable-encode-region): Bind `case-fold-search'
4811         to nil when looking for "^From ".  Problem reported by Simon Josefsson.
4813 2015-12-03  Phillip Lord  <phillip.lord@russet.org.uk>
4815         Externalize some symbols in undo-auto
4817          * doc/lispref/text.texi: Update symbols.
4818          * lisp/simple.el (undo-auto--amalgamate,
4819            undo-auto--current-boundary-timer): Make symbols public.
4820          * src/cmds.c (Fself_insert_command,Fdelete_char): Call
4821            updated symbol.
4823 2015-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
4825         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix BOB "token"
4827 2015-12-03  Michael Albinus  <michael.albinus@gmx.de>
4829         Some error message improvements in tramp-sh.el
4831         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
4832         Suppress error messages for "mesg" and "biff" calls.
4833         (tramp-get-remote-path): Ignore errors when expanding
4834         `tramp-own-remote-path'.  Raise a warning instead.
4836 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
4838         Document 'nacl' value for 'system-type'
4840         * doc/lispref/os.texi (System Environment): Document the 'nacl'
4841         value of 'system-type'.
4843 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
4845         Document 'window-max-chars-per-line'
4847         * doc/lispref/windows.texi (Window Sizes): Document
4848         'window-max-chars-per-line'.
4850 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
4852         Fix some file headers for the purpose of `package--builtins'
4854         * lisp/emacs-lisp/cl-preloaded.el
4855         * lisp/emacs-lisp/eieio-compat.el
4856         * lisp/net/sasl-scram-rfc.el: Add a "Package:" header
4858         * lisp/ielm.el: Fix summary line.
4860 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
4862         * lisp/emacs-lisp/package.el (package-unpack): Load before compiling
4864         Reload any previously loaded package files before compiling
4865         the package (also reload the same files after compiling).
4866         This ensures that we have the most recent definitions during
4867         compilation, and avoids generating bad elc files when a macro
4868         changes and it is used in a different file from the one it's
4869         defined in.
4871 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
4873         * lisp/emacs-lisp/package.el: Refactor package activation code
4875         (package-activate): Move code that activates dependencies into
4876         package-activate-1.
4877         (package--load-files-for-activation): New function.
4878         (package-activate-1): Add code for (optionally) activating
4879         dependencies, and move file-loading code into
4880         `package--load-files-for-activation'.
4882 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
4884         Document new font-related functionality
4886         * doc/lispref/display.texi (Low-Level Font): Document
4887         'default-font-width', 'default-font-height', 'window-font-width',
4888         and 'window-font-height'.
4890         * etc/NEWS: Move entries for 'default-font-width',
4891         'default-font-height', 'window-font-width', and 'window-font-height'
4892         to their place and mark them documented.
4894 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
4896         Fix documentation and implementation of 'directory-name-p'
4898         * lisp/files.el (directory-name-p): Modify to recognize
4899         backslashes on MS-Windows and MS-DOS.  Adjust the doc string
4900         accordingly.  Use '=', not char-equal, for comparison, as
4901         letter-case cannot possibly be an issue here.
4903         * doc/lispref/files.texi (Directory Names): Move the documentation
4904         of directory-name-p here from "Relative File Names".  Update the
4905         description per the changes in implementation.
4907         * etc/NEWS: Move the entry for 'directory-name-p' to its proper
4908         place and mark it documented.
4910 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
4912         Minor copyedit in Emacs manual
4914         * doc/emacs/search.texi (Lax Search): Make wording about character
4915         folding by default less definitive.  (Bug#22043)
4917 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
4919         More emacs-module.c fixes for wide ints
4921         * src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
4922         unsigned data types to manipulate pointers, to avoid sign
4923         extension coming after us with a vengeance.
4925         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
4926         Emacs with wide ints that verify integer values near the critical
4927         value that requires us to switch to a cons cell.
4929 2015-12-02  Stephen Leake  <stephen_leake@stephe-leake.org>
4931         Fix bug#22069 in cl-generic.el
4933         * lisp/emacs-lisp/cl-generic.el (cl-no-method): Remove %S; this string is
4934         not run thru `format'.
4936 2015-12-02  Dmitry Gutov  <dgutov@yandex.ru>
4938         APPEND etags--xref-backend to xref-backend-functions
4940         * lisp/progmodes/xref.el (xref-backend-functions):
4941         Use APPEND when adding the default element
4942         (http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00061.html).
4944 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
4946         More accurate documentation of lax whitespace matching
4948         * lisp/isearch.el (isearch-forward-word, isearch-forward-symbol)
4949         (word-search-backward, word-search-forward)
4950         (word-search-backward-lax, word-search-forward-lax): Mention in
4951         doc strings that toggling lax whitespace matching has no effect on
4952         these commands.
4954         * doc/emacs/search.texi (Word Search, Symbol Search): Clarify that
4955         lax whitespace matching has no effect on these commands.
4957 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
4959         Fix emacs-module.c for wide ints
4961         * src/emacs-module.c (lisp_to_value): Compare the produced value
4962         with the original Lisp object, not with the one potentially
4963         converted into a Lisp_Cons.  Fixes assertion violations when
4964         working with integers larger than fit into a 32-bit value.
4966         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
4967         large integers, to test --with-wide-int.
4969 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
4971         Document 'directory-files-recursively'
4973         * lisp/files.el (directory-files-recursively): Doc fix.  Rename
4974         the argument MATCH to REGEXP, to be more explicit about its form.
4976         * doc/lispref/files.texi (Contents of Directories): Improve the
4977         documentation of 'directory-files-recursively'.  Add
4978         cross-references.
4980         * etc/NEWS: Move the entry for 'directory-files-recursively' to
4981         its place and mark it documented.
4983 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
4985         Document 'inhibit-read-only' property
4987         * doc/lispref/text.texi (Special Properties): Describe the new
4988         'inhibit-read-only' text property.  Add cross-reference to where
4989         read-only buffers are described.
4990         * doc/lispref/buffers.texi (Read Only Buffers): Mention that
4991         'inhibit-read-only' property exempts text from being read-only.
4992         Add cross-reference to "Special Properties".
4994         * etc/NEWS: Move the entry about 'inhibit-read-only' property to
4995         its place and mark it documented.
4997 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
4999         * lisp/emacs-lisp/package.el: Update header comments
5001 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
5003         * lisp/character-fold.el: Add back multi-char matching
5005         (character-fold-to-regexp): Uncomment recently commented code
5006         and make the algorithm "dummer" by not checking every possible
5007         combination.  This will miss some possible matches, but it
5008         greatly reduces regexp size.
5010         * test/automated/character-fold-tests.el
5011         (character-fold--test-fold-to-regexp): Comment out test of
5012         functionality no longer supported.
5014 2015-12-01  Xue Fuqiao  <xfq.free@gmail.com>
5016         * doc/emacs/ack.texi (Acknowledgments): Update.
5018 2015-12-01  Michael Albinus  <michael.albinus@gmx.de>
5020         Check `file-remote-p' over absolute files names in files.el
5022         * lisp/files.el (directory-files-recursively)
5023         (get-free-disk-space): Check `file-remote-p' over absolute files names.
5025 2015-12-01  Andreas Schwab  <schwab@linux-m68k.org>
5027                 * src/lread.c (syms_of_lread): Doc fix.
5029 2015-12-01  Dmitry Gutov  <dgutov@yandex.ru>
5031         Don't mistake certain JS method calls for keywords
5033         * lisp/progmodes/js.el (js--ctrl-statement-indentation):
5034         Braceless keyword can't come after a period (bug#22063).
5036 2015-12-01  David Reitter  <david.reitter@gmail.com>
5038         Read frame_title_format from buffer-local variable for NS port
5040         * src/nsfns.m (x_implicitly_set_name): Read frame-title-format and
5041         icon-title-format variables from buffer in appropriate window.
5042         (Bug#22048)
5044 2015-12-01  Juri Linkov  <juri@linkov.net>
5046         * lisp/replace.el (occur-engine): Count matches in empty lines.
5048         (Bug#22062)
5050 2015-11-30  Aurélien Aptel  <aurelien.aptel@gmail.com>
5052         * src/emacs-module.h: Fix finalizer typedef for C++11
5054         C++11 standard doesn't allow exception-specification in typedef.
5055         The workaround is to declare a dummy function prototype and use
5056         decltype on it.
5058 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
5060         Fix last change
5062         * src/emacs-module.c (lisp_to_value, value_to_lisp)
5063         [WIDE_EMACS_INT]: Avoid compiler warnings.
5065 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
5067         Rely on conservative stack scanning to find "emacs_value"s
5069         * src/emacs-module.c (struct emacs_value_tag)
5070         (struct emacs_value_frame, struct emacs_value_storage): Remove.
5071         (value_frame_size): Remove constant.
5072         (struct emacs_env_private): Use Lisp_Object for non_local_exit info.
5073         (lisp_to_value): Remove first arg.
5074         (module_nil): New constant.
5075         Use it instead of NULL when returning an emacs_value.
5076         (module_make_function): Adjust to new calling convention of
5077         Qinternal_module_call.
5078         (DEFUN): Receive args in an array rather than a list.
5079         Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
5080         we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
5081         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
5082         Adjust to new type of non_local_exit info.
5083         (ltv_mark) [WIDE_EMACS_INT]: New constant.
5084         (value_to_lisp, lisp_to_value): Rewrite.
5085         (initialize_frame, initialize_storage, finalize_storage): Remove functions.
5086         (allocate_emacs_value): Remove function.
5087         (mark_modules): Gut it.
5088         (initialize_environment): Don't initialize storage any more.
5089         Keep the actual env object on Vmodule_environments.
5090         (finalize_environment): Don't finalize storage any more.
5091         (syms_of_module): Initialize ltv_mark and module_nil.
5093         * src/emacs-module.h (emacs_value): Make it more clear that this type
5094         is really opaque, including the fact that NULL may not be valid.
5096         * modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
5097         Don't assume that NULL is a valid emacs_value.
5099 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
5101         Yet another doc improvement for search commands
5103         * doc/emacs/search.texi (Word Search, Symbol Search)
5104         (Regexp Search): Document commands that don't support lax
5105         whitespace matching or character folding.
5106         (Nonincremental Search): Mention the search commands that can be
5107         invoked from the menu bar.
5109         * lisp/isearch.el (isearch-define-mode-toggle-word)
5110         (isearch-define-mode-toggle-symbol)
5111         (isearch-define-mode-toggle-character-fold): Note in the doc
5112         string that turning these on exits the regexp mode.
5113         (isearch-forward-regexp, isearch-forward-word)
5114         (isearch-forward-symbol, isearch-backward-regexp)
5115         (word-search-backward, word-search-forward)
5116         (word-search-backward-lax, word-search-forward-lax): State in the
5117         doc string which commands don't support character folding and/or
5118         lax-whitespace matching.
5120 2015-11-30  Martin Rudalics  <rudalics@gmx.at>
5122         Run `window-size-change-functions' also when reading from minibuffer
5124         * src/xdisp.c (redisplay_internal): Run `window-size-change-functions'
5125         also when reading from minibuffer.
5127 2015-11-30  Ulf Jasper  <ulf.jasper@web.de>
5129         Fix scrambling of html-rendered item buffers
5131         * lisp/net/newst-treeview.el (newsticker--treeview-render-text): Fix
5132           scrambling of contents by wrapping call to html-renderer in
5133           save-selected-window.
5135 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
5137         Fix font typo in previous doc fix.
5139 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
5141         A bit more security doc, esp. file local vars
5143         * doc/emacs/emacs.texi (Top):
5144         * doc/emacs/misc.texi (Miscellaneous Commands):
5145         Refer to new Host Security section.
5146         (Host Security): New section.
5147         * doc/lispref/os.texi (Security Considerations):
5148         Mention file local variables.
5150 2015-11-30  Artur Malabarba  <bruce.connor.am@gmail.com>
5152         * lisp/character-fold.el: Comment out branching code
5154         (character-fold-to-regexp): Comment out code that uses multi-char
5155         table.  The branching caused by this induces absurdly long regexps,
5156         up to 10k chars for as little as 25 input characters.
5158 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
5160         Spelling and grammar fixes
5162 2015-11-30  Dmitry Gutov  <dgutov@yandex.ru>
5164         Make lisp-completion-at-point a wrapper instead of an alias
5166         * lisp/progmodes/elisp-mode.el (lisp-completion-at-point):
5167         Turn into an obsolete wrapper around elisp-completion-at-point
5168         (bug#20455).
5170 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5172         * lisp/isearch.el (isearch-search-fun-default): Nicer error
5174         message when the search fails.
5176 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
5178         Update menu-bar-goto-uses-etags-p for the current xref API
5180         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult
5181         xref-backend-functions, instead of now-nonexistent
5182         xref-find-function.
5184 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5186         * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding
5188 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5190         * lisp/menu-bar.el: Use folding in searches
5192         (nonincremental-search-forward): Use `isearch-search-fun-default'
5193         to determine the search function.
5194         (nonincremental-search-backward)
5195         (nonincremental-repeat-search-forward)
5196         (nonincremental-repeat-search-backward): Use it.
5198 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5200         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning
5202 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5204         * lisp/character-fold.el (character-fold-to-regexp): Be careful
5206         not to return huge regexps.
5208 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
5210         Improve documentation of string-collate-* functions
5212         * doc/lispref/strings.texi (Text Comparison): Improve wording and
5213         indexing of 'string-collate-equalp' and 'string-collate-lessp'.
5215         * etc/NEWS: Move the entry of 'string-collate-equalp' and
5216         'string-collate-lessp' to "Lisp Changes" section and mark it as
5217         documented.
5219 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
5221         Document truncate-string-ellipsis
5223         * doc/lispref/display.texi (Size of Displayed Text): Document
5224         'truncate-string-ellipsis'.
5226         * lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix.
5227         (truncate-string-to-width): Mention in the doc string that the
5228         default for ELLIPSIS comes from 'truncate-string-ellipsis'.
5230         * etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp
5231         Changes" section.
5233 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
5235         Fix confusion wrt character folding in the Emacs manual
5237         * doc/emacs/search.texi (Nonincremental Search, Regexp Search):
5238         Document that invoking search-forward/backward and
5239         re-search-forward/backward supports only case folding, but not the
5240         rest of the lax-search features.  Reported by Mike Kupfer
5241         <m.kupfer@acm.org>.
5243 2015-11-29  Ken Brown  <kbrown@cornell.edu>
5245         Update mod-test-sum-test
5247         * modules/mod-test/test.el (mod-test-sum-test): Update to
5248         accommodate the lack of dladdr on Cygwin.
5250 2015-11-29  Alan Mackenzie  <acm@muc.de>
5252         Byte compiler: Catch missing argument to `funcall'.  Fixes bug#22051.
5254         * lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
5255         to `funcall', (i) Output an error message; (ii) Generate code to signal a
5256         `wrong-number-of-arguments' error.
5258 2015-11-29  Martin Rudalics  <rudalics@gmx.at>
5260         * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil.
5262 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5264         * lisp/character-fold.el (character-fold-to-regexp)
5266         Warn about using long strings.
5268         * test/automated/character-fold-tests.el
5269         (character-fold--test-lax-whitespace)
5270         (character-fold--test-consistency): Reduce string size for tests.
5272 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5274         Document renaming of x-select-enable-* variables
5276         * doc/emacs/killing.texi (Clipboard): Rename
5277         x-select-enable-clipboard to select-enable-clipboard and
5278         x-select-enable-primary to select-enable-primary.  Update index
5279         entries.
5281         * etc/NEWS: Mark entry as documented.
5283 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5285         Document the shorthand hints displayed by M-x
5287         * doc/emacs/m-x.texi (M-x): Document the numeric meaning of
5288         suggest-key-bindings.  Document the shorthand hints for commands
5289         that have no key bindings.  Document that M-x completion ignores
5290         obsolete commands.
5292         * etc/NEWS: Move the M-x entry to "Editing Changes" and mark it as
5293         documented.
5295 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5297         Update docs of character folding
5299         * doc/emacs/search.texi (Lax Search): Update the description of
5300         character folding for the latest changes.
5302 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5304         * lisp/character-fold.el: Also play nice with case-folding
5306         (character-fold-to-regexp): Take `case-fold-search' into account.
5308 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5310         * lisp/character-fold.el: Add support for multi-char matches
5312         (character-fold-table): Now has an extra-slot. This is a second
5313         char-table that holds multi-character matches.  See docstring for
5314         details.
5315         (character-fold-to-regexp): Can build branching regexps when a
5316         character's entry the extra slot of `character-fold-table' matches the
5317         characters that succeed it.
5319 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5321         * lisp/character-fold.el: Code simplifications
5323         (character-fold-table): Reduce the scope of a variable.
5324         (character-fold-to-regexp): Change logic to work directly on the
5325         input string.  It's a little easier to understand, probably
5326         faster, and sets us up for implementing multi-char matches.
5328         * test/automated/character-fold-tests.el
5329         (character-fold--test-fold-to-regexp): New test.
5331 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5333         Document changes in "C-h l"
5335         * doc/emacs/help.texi (Misc Help): Document the changes in "C-h l".
5337         * etc/NEWS: mark "C-h l" changes as documented.
5339 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5341         Finalize documentation of 'custom-prompt-customize-unsaved-options'
5343         * doc/emacs/custom.texi (Saving Customizations): Index the new
5344         function 'custom-prompt-customize-unsaved-options'.
5346         * etc/NEWS: Mention when 'custom-prompt-customize-unsaved-options'
5347         is useful.
5349 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5351         Document 'comment-line'
5353         * doc/emacs/programs.texi (Comment Commands): Document
5354         'comment-line'.
5356         * etc/NEWS: Move the entry for 'comment-line' into "Editing Changes".
5358 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5360         Document new checkdoc features
5362         * doc/lispref/tips.texi (Tips, Library Headers): Document the
5363         keyword-checking features of checkdoc and the commands
5364         'checkdoc-file' and 'checkdoc-current-buffer'.
5366         * etc/NEWS: Move the checkdoc-related entries to their own
5367         section.
5369 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
5371         Simplify the prologue of emacs-module.c functions
5373         * src/emacs-module.c (MODULE_FUNCTION_BEGIN): New macro.
5374         (module_make_global_ref)
5375         (module_free_global_ref, module_make_function, module_funcall)
5376         (module_intern, module_type_of, module_extract_integer)
5377         (module_make_integer, module_extract_float, module_make_float)
5378         (module_copy_string_contents, module_make_string)
5379         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
5380         (module_get_user_finalizer, module_set_user_finalizer)
5381         (module_vec_set, module_vec_get, module_vec_size): Use new helper
5382         macro MODULE_FUNCTION_BEGIN.
5384 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5386         Don't reject module calls with no arguments
5388         * src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil.
5390 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
5392         Make module-call be visible from Lisp
5394         * src/emacs-module.c (module_make_function): Use internal--module-call.
5395         (Finternal_module_call): Renamed from Fmodule_call.  Add safety
5396         checks.
5397         (syms_of_module): DEFSYM save-value-p and save-pointer-p.  Do
5398         defsubr internal--module-call.
5400 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5402         Add etags tests for the recent Lua-related bugfix
5404         * test/etags/lua-src/test.lua: New file, tests the issues raised
5405         by bug#21934.
5406         * test/etags/Makefile (LUASRC): Add test.lua.
5407         * test/etags/ETAGS.good_1:
5408         * test/etags/ETAGS.good_2:
5409         * test/etags/ETAGS.good_3:
5410         * test/etags/ETAGS.good_4:
5411         * test/etags/ETAGS.good_5:
5412         * test/etags/ETAGS.good_6:
5413         * test/etags/CTAGS.good: Adapt to the new Lua test.  Also, an old
5414         regression fix, resolved around 25 May 2015, required changes to
5415         the "good" ETAGS files.
5417 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5419         Fix Lua tags when a function name includes '.' or ':'
5421         * lib-src/etags.c (Lua_functions): Add a tag for the last element
5422         of a function name after a dot or a colon.  (Bug#21934)
5424 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5426         Improve documentation of search and replace commands
5428         * doc/emacs/search.texi (Replacement and Lax Matches): Document
5429         which commands are affected by 'replace-character-fold'.
5430         (Lax Search): Add a cross reference to "Replacement and Lax
5431         Matches".  Improve wording.  Fix lost extra whitespace.
5432         (Search Customizations): Improve wording.  (Bug#22036)
5433         See also comments in
5434         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.
5436         * lisp/replace.el (query-replace, query-replace-regexp)
5437         (query-replace-regexp-eval, replace-string, replace-regexp):
5438         Mention 'replace-character-fold' in the doc strings.
5440 2015-11-28  Paul Eggert  <eggert@cs.ucla.edu>
5442         Fix minor problems found by static checking
5444         * src/undo.c (prepare_record): Add proper prototype for C.
5446 2015-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5448         * src/emacs-module.c (struct env_storage): Delete
5450         (struct emacs_runtime_private): Keep an emacs_env instead.
5451         (Fmodule_load, Fmodule_call): Declare emacs_env_private separately.
5452         (initialize_environment): Split the arg in two.  Adjust all callers.
5453         Only store the private part in Vmodule_environments.
5454         (finalize_environment): Change the arg to only be the private env.
5455         Adjust all callers.
5457 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5459         Improve documentation of 'replace-character-fold'
5461         * lisp/replace.el (replace-character-fold): Clarify which commands
5462         are affected by this variable.
5464 2015-11-27  Mark Oteiza  <mvoteiza@udel.edu>
5466         Backport: Add interactive seek command.
5468         * lisp/mpc.el (mpc-cmd-seekcur): New function.
5469         (mpc-seek-current): New command.
5470         (mpc-mode-menu): Add entry for mpc-seek-current
5471         (mpc-mode-map): Bind mpc-seek-current to "g"
5473 2015-11-27  Dmitry Gutov  <dgutov@yandex.ru>
5475         Autoload etags when using its xref backend
5477         * lisp/progmodes/xref.el (xref--etags-backend):
5478         Rename to etags--xref-backend.  Move to etags.el.  Autoload.
5479         (Bug#22026)
5481 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5483         * lisp/character-fold.el: Allow complex chars to match their decomposition
5485         (character-fold-table): When a character's decomposition does not
5486         involve a formatting tag (i.e., if it has an "exact" description via
5487         other characters), then this character is allowed to match the
5488         decomposition.
5490 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5492         * lisp/character-fold.el: More descriptive variable names
5494         (character-fold-table): Rename a lot of the lexical variables to
5495         make the code easier to read.
5497 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5499         * lisp/isearch.el: Ensure we still support `isearch-new-word'
5501         (isearch-new-regexp-function): Define variable.
5502         (isearch-new-word): Define as an obsolete alias. (Bug#22018)
5504 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5506         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
5508 2015-11-27  Lee Bochicchio  <lboc.home@gmail.com>
5510         * test/automated/abbrev-tests.el: Define more tests
5512         (abbrev-table-name-test, kill-all-abbrevs-test)
5513         (clear-abbrev-table-test): New tests.
5515 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5517         Add module tests for wrong-type-argument
5519         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
5520         wrong-type-argument.
5522 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5524         Improve handling of signals and 'throw' in modules
5526         * src/emacs-module.c: Add commentary explaining how to write
5527         functions in this file.
5528         (module_make_global_ref, module_free_global_ref)
5529         (module_non_local_exit_signal, module_non_local_exit_throw)
5530         (module_make_function, module_funcall, module_intern)
5531         (module_type_of, module_is_not_nil, module_eq)
5532         (module_extract_integer, module_make_integer)
5533         (module_extract_float, module_make_float)
5534         (module_copy_string_contents, module_make_string)
5535         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
5536         (module_get_user_finalizer, module_set_user_finalizer)
5537         (module_vec_set, module_vec_get, module_vec_size)
5538         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
5539         Do nothing and return with failure indication immediately, if some
5540         previous module call signaled an error or wants to throw.  See
5541         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html
5542         for the relevant discussions.
5544 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5546         Add ':version' tag to 'checkdoc-package-keywords-flag'
5548         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
5549         Add a ':version' tag.
5551 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5553         Improve documentation of 'eval-buffer' and 'eval-region'
5555         * src/lread.c (Feval_buffer, Feval_region): Doc fixes.  (Bug#22023)
5557         * doc/lispref/eval.texi (Eval): Mention narrowing to clarify
5558         "accessible portion of buffer".
5560 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5562         Unbreak the Cygwin w32 build
5564         * src/emacs.c (main): Call w32_init_main_thread in the Cygwin w32
5565         build as well.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
5567 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
5569         Improve commentary in character-fold.el
5571         * lisp/character-fold.el (character-fold-to-regexp): Move detailed
5572         description from commit log message to comments.  (Bug#22019)
5574 2015-11-26  Alan Mackenzie  <acm@muc.de>
5576         Byte Compiler: generate code to adjust stack count after call to `signal'.
5578         Corrects change from earlier today.
5580         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
5581         `byte-compile--for-effect' as argument to `byte-compile-form'.
5583 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
5585         Improve commentary of prepare_to_modify_buffer_1
5587         * src/insdel.c (prepare_to_modify_buffer_1): Mention in commentary
5588         that this function runs Lisp.  Suggested by Richard Stallman
5589         <rms@gnu.org>.
5591 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
5593         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
5595 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
5597         Fix regression after merge.
5599          * src/undo.c (prepare_record): Remove call to run_undoable_change.
5601 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
5603         After delete, record point location in undo.
5605         Addresses Bug #21968.
5607                 * lisp/simple.el (undo-auto--add-boundary): Clean up code to
5608                 better support intercalating calls.
5609                 * src/keyboard.c, src/keyboard.h (command_loop_1): Store value of
5610                 point and current buffer before each command.
5611                 * src/undo.c (record_point): Now only record the point.
5612                 * src/undo.c (prepare_record): Functionality removed form
5613                 record_point.
5614                 * src/undo.c (record_delete): Check if point needs recording.
5615                 * src/undo.c (undo-boundary): Record value of point before each
5616                 boundary.
5617                 * test/automated/simple-test.el: New tests.
5619         Conflicts:
5620                 src/undo.c
5622 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
5624         Fix compiler warnings in w32.c
5626         * src/w32.c (sys_socket): In case of error, use -1 as return
5627         value, not INVALID_SOCKET, which causes compiler warnings.
5628         (maybe_load_unicows_dll): Cast the return value of GetProcAddress
5629         to the appropriate function signature, to avoid compiler errors.
5630         Reported by Andy Moreton <andrewjmoreton@gmail.com>.  (Bug#21953)
5632 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
5634         Check if the file exists on disk before producing the revert diff
5636         * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file
5637         exists on disk (bug#20558).
5639 2015-11-26  Alan Mackenzie  <acm@muc.de>
5641         Byte compiler: on setq with an odd number of arguments, generate a `signal'
5643         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
5644         it has an odd number of arguments, to allow bytecomp to handle the error.
5646         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
5647         odd number of arguments, generate a `signal' instead of the normal code.
5649 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
5651         Use find-tag-default for xref-backend-identifier-at-point
5653         * lisp/progmodes/etags.el (find-tag-tag)
5654         (tags-completion-at-point-function): Extract common code as
5655         find-tag--default.
5656         (xref-backend-identifier-at-point): Define in terms of the new
5657         function.
5659 2015-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5661         * src/undo.c (record_property_change): Remove now-unused local.
5663 2015-11-25  Phillip Lord  <phillip.lord@russet.org.uk>
5665         run_undoable_changes now called from insdel.
5667         The original calls from inside undo.c are not always at a safe position
5668         to call lisp, as they originate in varied positions within insdel.c.
5669         Calling them directly from prepare_to_modify_buffer_1 ensures that they
5670         are always run at the same point.
5672          * src/undo.c (run_undoable_changes,syms_of_undo): Remove function
5673          and symbol used.
5674          * src/insdel.c (run_undoable_changes): Add function and symbol.
5676 2015-11-25  Eli Zaretskii  <eliz@gnu.org>
5678         Improve and update documentation of search commands
5680         * doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
5681         all references changed.  Move the description of lax-whitespace
5682         here.  Add description of the new character folding features and
5683         additional customizable options.
5684         (Isearch Yank): Move before "Error in Search".
5685         (Basic Isearch): Improve wording.  Add index entries.  Add short
5686         description of how to abandon search, making this subsection a
5687         complete introduction to search basics.
5688         (Repeat Isearch): Add index entries.  Describe additional
5689         customizable options.  Describe mouse clicks.
5690         (Isearch Yank): Add index entries.  Describe mouse-2 click in echo
5691         area.  Describe more customizable options.
5692         (Error in Isearch): Add index entries.
5693         (Special Isearch): Move actual description of some isearch
5694         commands to other sections, leaving here just the summary of the
5695         commands.  Add command that toggles character folding.  Describe
5696         commands, like "C-h C-h", that were previously omitted for some
5697         reason.
5698         (Not Exiting Isearch): Describe search-exit-option.  Add index
5699         entries.
5700         (Word Search): Describe eww-search-word and eww-search-prefix.
5701         (Symbol Search): Add index entries.
5702         (Regexp Search): Describe regexp-search-ring-max.
5703         (Replacement and Lax Matches): Renamed from "Replacement and
5704         Case"; all references changed.  Describe lax-whitespace matching
5705         in replace commands and related options.  Describe character
5706         folding in replace commands and related options.
5707         (Query Replace): Describe query-replace-from-to-separator and the
5708         new history features.  Add index entries for highlighted text.
5709         Describe query-replace-skip-read-only.  Describe more keys
5710         accepted by query-replace.
5711         (Other Repeating Search): More index entries for Occur.  Describe
5712         list-matching-lines-default-context-lines.
5713         (Search Customizations): New section, documents customizable
5714         options that were not documented until now.
5715         * doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
5716         "Character Folding".
5718         * etc/NEWS: Move search- and replace-related entries to a single
5719         parent section.
5721         * lisp/replace.el (query-replace-show-replacement): Doc fix.
5722         * lisp/isearch.el (search-nonincremental-instead)
5723         (isearch-hide-immediately): Doc fixes.
5725 2015-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
5727         Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
5729         * lisp/gnus/nnml.el (nnml-retrieve-groups): Remove.  See:
5730         <http://thread.gmane.org/gmane.emacs.gnus.general/86308> and
5731         <http://thread.gmane.org/gmane.emacs.gnus.general/86321>
5733 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
5735         Fix module_format_fun_env when dynlib_addr fails
5737         * src/emacs-module.c (module_format_fun_env):
5738         exprintf doesn’t support %p, so use %x.  Reported by Eli Zaretskii in:
5739         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html
5741 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
5743         Disambiguate variable help a bit better
5745         * lisp/help-fns.el (describe-variable): Quote the
5746         variable’s value if it is a symbol other than t or nil.
5747         See: T.V Raman in:
5748         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
5750 2015-11-25  Dmitry Gutov  <dgutov@yandex.ru>
5752         Pass SVN commit message through log-edit-extract-headers
5754         * lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through
5755         log-edit-extract-headers (bug#18954).
5757 2015-11-24  Alan Mackenzie  <acm@muc.de>
5759         CC Mode: Eliminate compiler warning messages.
5761         * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
5762         `font-lock-syntactic-keywords' (which CC Mode doesn't use).
5763         * lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
5764         (c-awk-set-syntax-table-properties): Clarify comments about
5765         `font-lock-syntactic-keywords'.
5767         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
5768         of this before the real (interpreted) one, to satisfy the byte compiler.
5770 2015-11-24  Simen Heggestøyl  <simenheg@gmail.com>
5772         Extend the test suite for json.el
5774         * lisp/json.el (json-plist-p): Clarify docstring.
5776         * test/automated/json-tests.el (json-tests--with-temp-buffer): New
5777         macro.
5778         (test-json-join, test-json-alist-p)
5779         (test-json-plist-p, test-json-advance, test-json-peek)
5780         (test-json-pop, test-json-skip-whitespace)
5781         (test-json-read-keyword, test-json-encode-keyword)
5782         (test-json-read-number, test-json-encode-number)
5783         (test-json-read-escaped-char, test-json-read-string)
5784         (test-json-encode-string, test-json-encode-key)
5785         (test-json-new-object, test-json-add-to-object)
5786         (test-json-read-object, test-json-encode-list)
5787         (test-json-read-array, test-json-encode-array)
5788         (test-json-read, test-json-read-from-string)
5789         (test-json-encode): New tests.
5790         (json-read-simple-alist): Merged into `test-json-read-object'.
5791         (json-encode-string-with-special-chars): Merged into
5792         `test-json-encode-string'.
5793         (json-read-string-with-special-chars): Split into
5794         `test-json-encode-string' and `test-json-read-from-string'.
5796 2015-11-24  Anders Lindgren  <andlind@gmail.com>
5798         Fixed bug#18283: Enable applescript in NextStep.
5800         * nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES.
5802 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
5804         Allow completion on dynamic module files in load-library
5806         * lisp/files.el (load-library): Bind completion-ignored-extensions
5807         to nil, to allow completion on dynamic modules typed as file
5808         names.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
5810 2015-11-24  Alan Mackenzie  <acm@muc.de>
5812         CC Mode: eliminate almost all byte compilation warnings
5814         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
5815         (cc-require): Remove the crude hack that saved and restored
5816         byte-compile-noruntime-functions.
5817         (cc-conditional-require, cc-conditional-require-after-load): New macros.
5819         * lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
5820         cc-fix.el using the new macros in cc-bytecomp.el.
5822         * lisp/progmodes/cc-langs.el (c++-template-syntax-table)
5823         (c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
5824         forms to remove the superflous quotes.
5826 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
5828         Add one more mod-test test
5830         * modules/mod-test/test.el (mod-test-sum-test): Test the error
5831         signaled when the function is invoked with a wrong number of
5832         arguments.
5834 2015-11-24  Philipp Stephani  <phst@google.com>
5836         * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args.
5838 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
5840         Implement dynlib_addr for MS-Windows
5842         * src/dynlib.c [WINDOWSNT]: Include w32common.h.
5843         <g_b_init_get_module_handle_ex> [WINDOWSNT]: New static variable.
5844         (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
5845         (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define
5846         if undefined.
5847         (dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to
5848         zero.
5849         (dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report
5850         the full file name of the module for a given address.
5852 2015-11-24  Alan Mackenzie  <acm@muc.de>
5854         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
5856 2015-11-24  Alan Mackenzie  <acm@muc.de>
5858         Squashed commit of the following:
5860         commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
5861         Author: Alan Mackenzie <acm@muc.de>
5862         Date:   Tue Nov 24 16:50:09 2015 +0000
5864             Byte compile: minor amendments.
5866             * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
5867             add a comment to explain the binding of variables around a subsidiary
5868             compilation.
5869             (byte-compile-new-defuns): Amend the doc string.
5871         commit c537bfed1dda1593d218956ff00c6105a3ff0316
5872         Author: Alan Mackenzie <acm@muc.de>
5873         Date:   Sat Nov 21 18:43:57 2015 +0000
5875             Byte compiler: fix spurious warnings "might not be defined at runtime".
5877             Also initialize byte-compile-noruntime-functions between runs.
5879             * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
5880             (byte-compile-initial-macro-environment): For eval-when-compile: bind
5881             byte-compile-unresolved-functions and byte-compile-new-defuns around
5882             byte-compile-top-level, to prevent spurious entries being made.
5883             (byte-compile-warn-about-unresolved-functions): Check whether function is
5884             in byte-compile-new-defuns before emitting a warning about it.
5885             (byte-compile-from-buffer): Initialize new variable and
5886             byte-compile-noruntime-functions to nil.
5887             (byte-compile-file-form-require): record all new functions defined by a
5888             `require' in byte-compile-new-defuns.
5889             (byte-compile-file-form-defmumble): record the new alias in
5890             byte-compile-new-defuns.
5892 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
5894         Fix crash at startup related to GC of font entities
5896         * src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P)
5897         (GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY)
5898         (GC_XFONT_OBJECT): New macros, for use in garbage collector.
5899         * src/alloc.c (compact_font_cache_entry, compact_font_caches):
5900         Don't ifdef away font cache compaction on NT_GUI, as the problems
5901         which led to that seem to have been solved.
5902         (compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC,
5903         GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_
5904         cousins.  (Bug#21999)
5906 2015-11-24  Alan Mackenzie  <acm@muc.de>
5908         Byte compile: Output an error, not a warning, for odd number of args to setq
5910         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend.
5912 2015-11-24  Ken Raeburn  <raeburn@raeburn.org>
5914         Fix kbd_buffer iteration loop in readable_events
5916         * src/keyboard.c (readable_events): Wrap the event pointer back to the
5917         start of the kbd_buffer array inside the top of the loop instead of
5918         right before checking the loop condition, since kbd_fetch_ptr and
5919         kbd_store_ptr point past the end of the array to mean that element 0
5920         is next. (bug#21935)
5922 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
5924         Improve text-quoting-style doc again
5926         * doc/lispref/help.texi (Keys in Documentation):
5927         Omit overkill discussion of ‘setq’.  Mention Emacs versions
5928         where ‘grave’ style was standard.
5930 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
5932         Improve text-quoting-style doc
5934 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
5936         Simplify module_make_function
5938         * src/emacs-module.c (module_make_function):
5939         Simplify by calling build_unibyte_string.
5941 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
5943         Port better to FreeBSD’s dlfunc vs dlsym
5945         This avoids warnings when converting between void * and
5946         function pointers, which strict C11 does not allow.
5947         * configure.ac (dlfunc): Check for existence.
5948         * src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
5949         (dynlib_func): New function.
5950         * src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
5951         * src/emacs-module.c (Fmodule_load): Use dynlib_func, not
5952         dynlib_sym, for function pointers.
5954 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
5956         Simplify use of emacs_finalizer_function type
5958         * src/emacs-module.h (emacs_finalizer_function):
5959         Now EMACS_NOEXCEPT.  All users simplified to omit EMACS_NOEXCEPT.
5960         (struct emacs_env_25): Use emacs_finalizer_function where applicable.
5962 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
5964         module_format_fun_env fixes
5966         * src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case.
5967         * src/emacs-module.c (module_format_fun_env):
5968         Convert path and sym to UTF-8.
5969         Don’t use VLAs, as the C11 standard says they’re optional,
5970         and anyway they can cause core dumps with large allocations.
5971         Use exprintf rather than snprintf, as exprintf handles arbitrarily
5972         long strings.  Simplify the code a bit.
5974 2015-11-23  Dmitry Gutov  <dgutov@yandex.ru>
5976         Don't use package-user-dir in elisp-library-roots if it's not bound
5978         * lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
5979         use package-user-dir if it's not bound (bug#19759).
5981 2015-11-23  Anders Lindgren  <andlind@gmail.com>
5983         New visible-bell for NextStep (OS X El Capitan compatible).
5985         Instead of inverting a rectangle in the middle of the frame, use
5986         the standard NextStep image "caution", represented using an
5987         warning sign with an exclamation mark.  (Bug#21662)
5989         Implemented based on a suggestion drafted by Mustafa Kocaturk.
5991         * src/nsterm.m (EmacsBell): New class for managing the caution
5992         image.  Support multiple active bells, the image is removed once
5993         all bells have timed out.
5994         (ns_timeout): Removed, no longer used.
5995         (ns_ring_bell): Reimplemented to use EmacsBell.
5997 2015-11-23  Johan Bockgård  <bojohan@gnu.org>
5999         * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec.
6001         (remove-function): Ditto. (Bug#20376)
6003 2015-11-23  Mark Oteiza  <mvoteiza@udel.edu>
6005         * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes.
6007 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
6009         Improve how non-ASCII strings are accepted from modules
6011         * src/emacs-module.c (module_make_function, module_make_string):
6012         Build a unibyte Lisp string and then decode it by UTF-8, instead
6013         of building a multibyte string without decoding.  This is more
6014         tolerant to deviations from UTF-8.
6016 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
6018         Port recent module changes to pickier compilers
6020         * src/emacs-module.c (module_make_function)
6021         (module_make_string): Add casts to fix pointer signedness issues.
6023 2015-11-23  Philipp Stephani  <phst@google.com>
6025         Fix how strings are accepted from modules
6027         * src/emacs-module.c (module_make_function, module_make_string): Use
6028         make_multibyte_string.
6029         (module_copy_string_contents): Encode before reading the byte
6030         size.  Return false if and only if an error occurred.
6032 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
6034         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
6036 2015-11-23  Shakthi Kannan  <shakthimaan@gmail.com>
6038         Add the tamil-dvorak input method
6040         * lisp/leim/quail/tamil-dvorak.el: New file.  (Bug#21768)
6042         * etc/NEWS: Mention the new input method.
6044 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
6046         Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows.
6048         * src/frame.c (adjust_frame_size): Don't set
6049         FRAME_WINDOW_SIZES_CHANGED here ...
6050         * src/window.c (resize_frame_windows): ... but here, as suggested
6051         by Stefan Monnier.  Also remove some dead code along the way.
6053 2015-11-23  Alan Mackenzie  <acm@muc.de>
6055         * etc/NEWS (Incompatible Lisp Changes): Also `setf' needs an even # of args.
6057 2015-11-23  Alan Mackenzie  <acm@muc.de>
6059         Signal an error when `setf' gets an odd number of arguments.
6061         * lisp/emacs-lisp/gv.el (setf): Amend.
6063 2015-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
6065         * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
6067 2015-11-23  Alan Mackenzie  <acm@muc.de>
6069         * etc/NEWS (Incompatible Lisp Changes): Document new restriction on `setq'.
6071 2015-11-23  Alan Mackenzie  <acm@muc.de>
6073         Expunge occurrences of `setq' with an odd number of arguments.
6075         * lisp/apropos.el (apropos-documentation):
6076         * lisp/obsolete/complete.el (PC-include-file-all-completions):
6077         * lisp/progmodes/compile.el (compilation-goto-locus):
6078         * lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
6079         Insert missing nil at end of `setq' forms.
6081         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
6082         erroneous trailing variable name from a setq, thus allowing a compilation
6083         properly to track functions not defined at runtime.
6085 2015-11-23  John Wiegley  <johnw@newartisans.com>
6087         Add a note about a questionable use of bool in xdisp.c
6089 2015-11-23  Alan Mackenzie  <acm@muc.de>
6091         Issue a warning from the byte compiler on a malformed `setq' form.
6093         Partly fixes bug#20241.
6094         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
6095         `setq' form with an odd number of arguments is compiled.
6097 2015-11-23  Alan Mackenzie  <acm@muc.de>
6099         Don't let cconv_convert insert a nil argument into a `setq' form.
6101         Fixes bug#21983.
6102         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
6103         argument into a `setq' when there're an odd number of args.  This enables the
6104         byte compiler to issue a message in this case.
6106 2015-11-23  Alan Mackenzie  <acm@muc.de>
6108         Signal an error when `setq' has an odd number of arguments.  Fixes bug#20241.
6110         * src/eval.c (Fsetq): Signal an error on an odd number of arguments.
6111         (syms_of_eval): Add a DEFSYM for Qsetq.
6113 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
6115         * doc/lispref/windows.texi (Window Sizes): Fix indices and references.
6117         * src/frame.c (adjust_frame_size): Set FRAME_WINDOW_SIZES_CHANGED (Bug#21975).
6119 2015-11-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6121         Add EUDC BBDB 3 entry in NEWS
6123         * NEWS: Mention EUDC BBDB backend support for BBDB 3.
6125 2015-11-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6127         Improve EUDC to BBDB 3 export
6129         * lisp/net/eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
6130         entry to single item.  Add company conversion.
6131         * lisp/net/eudc-export.el (eudc-bbdbify-company): New function.
6132         (bbdb-parse-phone): Declare function.
6133         (eudc-bbdbify-phone): Add BBDB 3 support.
6134         (Bug#21971)
6136 2015-11-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6138         Add BBDB 3 support for EUDC export
6140         * lisp/net/eudc.el: Add bbdb-version defvar.
6141         (eudc--using-bbdb-3-or-newer-p): New function.
6142         * lisp/net/eudc-export.el (eudc-create-bbdb-record): Add support for
6143         bbdb-create-internal argument list changes introduced in BBDB 3.
6144         * lisp/net/eudcb-bbdb.el: Remove bbdb-version defvar.
6145         (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
6146         (Bug#21971)
6148 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
6150         Allow loading modules by 'load-file'
6152         * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
6153         2nd arg, to avoid the "binding stack not balanced" error.
6154         (syms_of_lread) <module-file-suffix>: New Lisp variable.
6156         * lisp/files.el (module-file-suffix): Declare.
6157         (load-file): Remove 'module-file-suffix' from
6158         'completion-ignored-extensions', to allow completion on modules.
6160         * etc/NEWS: Mention 'module-file-suffix'.
6162 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
6164         Fix unoptimized builds
6166         * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized
6167         builds.
6169 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
6171         Work around the asynchronous-empty-diff problem
6173         * lisp/vc/vc-rcs.el (vc-rcs-diff):
6174         * lisp/vc/vc-mtn.el (vc-mtn-diff):
6175         * lisp/vc/vc-hg.el (vc-hg-diff):
6176         * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument,
6177         do a synchronous process call (bug#21969).
6179 2015-11-22  Karl Fogel  <kfogel@red-bean.com>
6181         Finish excising electric indent from `open-line'
6183         * lisp/simple.el (open-line): Remove INTERACTIVE argument.
6185         * test/automated/simple-test.el (open-line-indent, open-line-hook):
6186           Adjust accordingly.
6188         This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
6189         (git commit c59353896) started.  It turns out that having INTERACTIVE
6190         cause `post-self-insert-hook' to run (via `newline') meant `open-line'
6191         still had the electric indent behavior, as `post-self-insert-hook'
6192         normally contains `electric-indent-post-self-insert-function' ever
6193         since `electric-indent-mode' has been on by default.  Tracing the code
6194         change in `open-line' is mildly twisty, because Artur Malabarba's
6195         earliest two commits of 24 Oct 2015 first removed the `interactive'
6196         form entirely (git commit 6939896e2) and then restored it with the new
6197         extra "p" already added (git commit bd4f04f86), such that there is no
6198         single-commit diff in which one sees the second "p" appear.  Thus this
6199         change is effectively a reversion of parts of each of those commits.
6201         This could close bug#21884, at least until further discussion.
6203 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
6205         Adhere closer to the "implicit tag name" definition
6207         * lisp/progmodes/etags.el (etags-tags-completion-table):
6208         Adhere closer to the "implicit tag name" definition.  Simplify
6209         the regexp.  Search for the explicit tag name first, and when
6210         not found, search locally for the implicit one.  (Bug#21934)
6212 2015-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
6214         Unrevert most of regexp reentrancy abort patch
6216         The problem was in:
6217           * src/syntax.c (update_syntax_table_forward): Propertize even when truncated
6218         which is hence not unreverted.
6219         The rest is:
6220         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
6221         (UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
6222         All callers in regex.c changed back to the _FAST versions.
6224         * test/automated/message-mode-tests.el: Tweak the test to rely on auto
6225         propertization in backward-sexp.
6227 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
6229         Revert regexp reentrancy abort patch
6231         Although the patch does fix Bug#21688 and prevents a core dump,
6232         it also makes the message-mode-propertize test fail; see:
6233         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html
6234         Perhaps someone else can come up with a better fix some day.
6235         * src/syntax.c (update_syntax_table_forward):
6236         Propertize even when truncated.
6237         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
6238         (UPDATE_SYNTAX_TABLE_FAST): Remove.
6239         All callers changed back to the non-_FAST versions.
6241 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
6243         Add a few safety checks when ENABLE_CHECKING
6245         This was motivated by the recent addition of module code,
6246         which added some ENABLE_CHECKING-enabled checks that are
6247         useful elsewhere too.
6248         * src/alloc.c (compact_font_cache_entry):
6249         * src/fns.c (sweep_weak_table):
6250         * src/lread.c (oblookup):
6251         Use gc_asize rather than doing it by hand.
6252         * src/emacs-module.c (module_make_global_ref)
6253         (module_free_global_ref, module_vec_size):
6254         Omit assertions that lisp.h now checks.
6255         * src/lisp.h (XFASTINT, ASIZE): In functional implementations,
6256         check that the result is nonnegative.  Use eassume, as this
6257         info can help a bit when optimizing production code.
6258         (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
6259         to be consistent with the USE_LSB_TAG case.
6260         (gc_asize): New function, when ASIZE is needed in the gc.
6261         (gc_aset): Use it.
6262         (HASH_TABLE_P): Move definition up, so that it can be used ...
6263         (XHASH_TABLE): ... here, to assert that the arg is a hash table.
6265 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
6267         Simplify recording of main thread's ID on MS-Windows
6269         * src/w32term.c (w32_initialize):
6270         * src/w32console.c (initialize_w32_display):
6271         * src/w32fns.c (globals_of_w32fns): Don't record the main thread
6272         ID independently for each type of session (GUI, TTY, batch).
6273         * src/w32term.c (w32_init_main_thread): New function, records the
6274         main thread's thread ID.
6275         * src/w32term.h: Add prototype for w32_init_main_thread.
6276         * src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread.
6278         * src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to
6279         main_thread, for consistency with other threading libraries.  All
6280         users changed.  Include w32term.h.
6281         (check_main_thread) [WINDOWSNT]: Simplify the test: no need to
6282         make sure the main thread is alive, as we hold a handle on it
6283         opened by w32_init_main_thread.
6284         (module_init) [WINDOWSNT]: Reuse the thread ID recorded by
6285         w32_init_main_thread, instead of calling the requisite APIs once
6286         more.
6288 2015-11-21  Mark Oteiza  <mvoteiza@udel.edu>
6290         Backport: Fix issue where a new tempfile was created every refresh
6292         * lisp/mpc.el (mpc-format): Leave dir as relative path
6294 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
6296         Call 'window-size-change-functions' for mini-windows
6298         * src/window.c (grow_mini_window, shrink_mini_window): Set the
6299         frame's 'window_sizes_changed' flag.
6300         * src/xdisp.c (redisplay_internal): Call the hooks on
6301         'window-size-change-functions' if the call to 'echo_area_display'
6302         sets the frame's 'window_sizes_changed' flag.
6303         (syms_of_xdisp) <window-size-change-functions>:
6304         Update doc string to indicate the mini-window resizes trigger a
6305         call to the hooks, and don't promise that will happen "before
6306         redisplay".  (Bug#19576, Bug#21333)
6308         * doc/lispref/windows.texi (Window Hooks): Update the description
6309         of 'window-size-change-functions'.
6311 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
6313         Improve documentation of dynamic modules
6315         * src/fns.c (Frequire): Doc fix to include the dynamic module
6316         support.
6317         * src/lread.c (Fload, Vload_suffixes): Doc fixes to include the
6318         dynamic module support.
6319         (Fload): Treat the module suffix the same as '*.el' and '*.elc'
6320         wrt the MUST-SUFFIX argument.
6322         * etc/NEWS: Expand documentation of dynamically loaded modules.
6324 2015-11-21  Philipp Stephani  <phst@google.com>  (tiny change)
6326         Initial documentation for dynamic modules
6328         * etc/NEWS: Mention the new support for dynamically loaded modules.
6330 2015-11-21  Dmitry Gutov  <dgutov@yandex.ru>
6332         Add xref--etags-backend to xref-backing-functions using add-hook
6334         * lisp/progmodes/xref.el (xref-backend-functions): Move the
6335         default value into a separate `add-hook' call (bug#21964).
6337         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
6338         Don't declare the xref-backend-functions variable.
6339         It doesn't make any difference.
6341 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6343         Fix double-decrement bug when freeing global refs
6345         * src/emacs-module.c (module_free_global_ref): Add a FIXME
6346         comment about error reporting.  Fix a recently-introduced typo
6347         that double-decremented the refcount.
6349 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6351         Declare emacs_module_init in the module API
6353         * src/emacs-module.h (emacs_module_init): New decl.
6354         Without it, GCC might complain about a module that defines
6355         emacs_module_init without using it.  This also checks the
6356         API better.
6358 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6360         Fix module test to use ptrdiff_t nargs too
6362         * modules/mod-test/mod-test.c (Fmod_test_return_t)
6363         (Fmod_test_sum, Fmod_test_signal, Fmod_test_throw)
6364         (Fmod_test_non_local_exit_funcall, Fmod_test_globref_make)
6365         (Fmod_test_string_a_to_b, Fmod_test_userptr_make)
6366         (Fmod_test_userptr_get, Fmod_test_vector_fill)
6367         (Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int.
6368         (finalizer): Remove; no longer used.
6370 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6372         Fix reindent-introduced typo in module code
6374         * src/emacs-module.c (MODULE_SETJMP_1): Fix typo that I
6375         introduced while reindenting the code earlier, and add a
6376         comment explaining the unusual use of do-while here.
6378 2015-11-20  Anders Lindgren  <andlind@gmail.com>
6380         Fixed bug#19576: `write-file' saves wrong buffer.
6382         If a function on the hook `window-size-change-functions' doesn't
6383         restore the current buffer, functions that save and restore the
6384         current window configuration (like `y-or-no-p') could silently
6385         change the current buffer.  When `write-file' asked the user
6386         confirmation to overwrite a file, `y-or-no-p' changed the current
6387         buffer, and the wrong buffer was saved to the file.
6389         * lisp/follow.el (follow-windows-start-end): Call `select-frame'
6390         using the `norecord' parameter.
6391         (follow-window-size-change): Restore current buffer. Call
6392         `select-frame' using the `norecord' parameter. Cleanup.
6394 2015-11-20  John Wiegley  <johnw@newartisans.com>
6396         Correct a documentation error in frames.texi
6398 2015-11-20  Stephen Leake  <stephen_leake@stephe-leake.org>
6400         * lisp/cedet/mode-local.el: Delete obsolete comment
6402 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6404         Module function arg counts are ptrdiff_t, not int
6406         * src/emacs-module.c (struct module_fun_env)
6407         (module_make_function, module_funcall, Fmodule_call):
6408         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
6409         Use ptrdiff_t, not int, for arg counts.
6410         * src/emacs-module.c (module_make_function): Don’t bother
6411         checking arity against MOST_POSITIVE_FIXNUM, as that’s
6412         unnecessary here.  Make the checking clearer by negating it.
6413         (module_make_function, Fmodule_call): No need to use xzalloc
6414         since the storage doesn’t need to be cleared.
6415         (module_funcall): Don’t use VLA, since C11 doesn’t guarantee support
6416         for it, and many implementations are buggy with large VLAs anyway.
6417         Use SAFE_ALLOCA_LISP instead.
6418         (module_vec_set): Don’t crash if i < 0.
6419         (module_vec_get): Don’t crash if i < MOST_NEGATIVE_FIXNUM.
6420         (module_vec_set, module_vec_get): Do fixnum checks only when
6421         i is out of array bounds, for efficiency in the usual case.
6422         (Fmodule_load): Simplify fixnum range check.
6423         (Fmodule_call): Simplify arity check.  Use xnmalloc to detect
6424         integer overflow in array allocation size.
6426 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
6428         Minor improvements in module test
6430         * modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings
6431         about missing prototype of malloc.
6432         * modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid
6433         compiler warnings.
6435 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
6437         Improve MS-Windows implementation in dynlib.c
6439         * src/dynlib.c [WINDOWSNT]: Include errno.h, lisp.h, and w32.h.
6440         No need to include windows.h, as w32.h already does that.
6441         <dynlib_last_err>: New static variable.
6442         (dynlib_reset_last_error): New function.
6443         (dynlib_open): Convert forward slashes to backslashes.  Convert
6444         file names from UTF-8 to either UTF-16 or the current ANSI
6445         codepage, and call either LoadLibraryW or LoadLibraryA.  If the
6446         argument is NULL, return a handle to the main module, like
6447         'dlopen' does.  Record the error, if any, for use by dynlib_error.
6448         (dynlib_sym): Check the handle for validity. Record the error, if
6449         any, for use by dynlib_error.
6450         (dynlib_error): Call w32_strerror to produce the error string, and
6451         zero out the last error code, like dlerror does.
6452         (dynlib_close): Check the handle for validity.  Record the error,
6453         if any, for use by dynlib_error.  Don't call FreeLibrary with a
6454         handle for the main module.
6455         * src/w32.c (globals_of_w32): Call dynlib_reset_last_error.
6457 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6459         Include-file tweaks for modules
6461         * src/dynlib.c, src/emacs-module.c: Include <config.h> first.
6462         * src/dynlib.h: Do not include config.h.
6463         It’s every .c file’s responsibility to include config.h first.
6464         * src/emacs-module.c: Include emacs-module.h immediately after
6465         config.h, to test that emacs-module.h doesn’t depend on
6466         include files other than config.h.
6468 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6470         Simplify push_handler and profile its malloc
6472         * src/lisp.h (PUSH_HANDLER): Remove.
6473         All callers changed to use push_handler directly.
6474         * src/eval.c (internal_condition_case)
6475         (internal_condition_case_1, internal_condition_case_2)
6476         (internal_condition_case_n):
6477         Use same pattern as for other invokers of push_handler.
6478         (push_handler, push_handler_nosignal): Use call-by-value
6479         instead of call-by-reference.  All uses changed.
6480         (push_handler): Simplify by rewriting in terms of
6481         push_handler_nosignal.
6482         (push_handler_nosignal): Profile any newly allocated memory.
6484 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6486         * src/emacs-module.h: Include stddef.h, not stdlib.h.
6488 2015-11-20  Juanma Barranquero  <lekktu@gmail.com>
6490         Discover repository version in linked worktrees (bug#21930)
6492         * lisp/version.el (emacs-repository--version-git-1): Do not assume
6493         HEAD is at .git/HEAD, it can also be at .git/worktrees/<branch>/HEAD.
6494         (emacs-repository-get-version): Grok linked worktrees when EXTERNAL
6495         is nil too.
6497 2015-11-20  Juri Linkov  <juri@linkov.net>
6499         * lisp/replace.el (occur-regexp-descr): New function.
6500         (occur-1, occur-engine): Use it.
6502         * lisp/isearch.el (isearch-occur): Propertize regexp with
6503         isearch-string and isearch-regexp-function-descr for
6504         occur-regexp-descr to display the correct description
6505         message in the header (bug#21176, bug#21180).
6507 2015-11-20  Karl Fogel  <kfogel@red-bean.com>
6509         Revert `open-line' electric-indent sensitivity
6511         * lisp/simple.el (open-line): Remove electric indent code.
6512           (electric-indent-just-newline): Don't declare.
6514         * test/automated/simple-test.el (open-line-indent): Adjust test.
6516         This partly reverts Artur Malabarba's change that added electric
6517         indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git
6518         commit bd4f04f86), and adjusts a new test he added right afterwards
6519         (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly.
6520         However, the new INTERACTIVE argument to `open-line', which he also
6521         added in the first commit, is not reverted here.
6523         See the thread "Questioning the new behavior of `open-line'." on the
6524         Emacs Devel mailing list, and in particular this message:
6526           From: Artur Malabarba
6527           Subject: Re: Questioning the new behavior of `open-line'.
6528           To: Karl Fogel
6529           Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel
6530           Date: Wed, 18 Nov 2015 21:03:58 +0000
6531           Message-ID: \
6532             <CAAdUY-KN06pvCMy5bt3+Buk3yeKjf6n9iB2FaSTTOPpCqPwyhA@mail.gmail.com>
6534           https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html
6536 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6538         Omit unnecessary clear in Fmodule_load
6540         * src/emacs-module.c (Fmodule_load):
6541         Simplify and avoid unnecessary initialization of priv member to 0.
6543         * src/emacs-module.c: (module_vec_set, module_vec_get, module_vec_size)
6545 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
6547         Prefer signed integer types in module code
6549         Generally speaking, at the C level the Emacs source code prefers
6550         signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’,
6551         partly to avoid the usual signedness confusion when comparing values.
6552         Change the module API to follow this convention.
6553         Use ‘int’ for small values that can’t exceed INT_MAX.
6554         * modules/mod-test/mod-test.c (Fmod_test_globref_make)
6555         (Fmod_test_string_a_to_b, Fmod_test_vector_fill)
6556         (Fmod_test_vector_eq):
6557         * src/emacs-module.c (struct emacs_value_frame)
6558         (module_make_global_ref, module_free_global_ref)
6559         (module_copy_string_contents, module_make_string)
6560         (module_vec_set, module_vec_get, module_vec_size):
6561         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
6562         * src/lread.c (suffix_p):
6563         Prefer signed to unsigned integer types.
6565 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6567         Omit ‘const’ on locals
6569         Remove ‘const’ qualifier from locals that were newly added.
6570         We don’t normally bother declaring locals with ‘const’ even
6571         though they are not modified, for the same reason we don’t
6572         bother declaring them with ‘register’ even though their
6573         addresses are not taken; the advantage in compile-time
6574         checking isn’t worth the loss of readability.
6575         * modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall)
6576         (Fmod_test_vector_fill, Fmod_test_vector_eq):
6577         * src/emacs-module.c (MODULE_SETJMP_1)
6578         (module_make_global_ref, module_free_global_ref)
6579         (module_non_local_exit_get, module_make_function)
6580         (module_extract_integer, module_extract_float)
6581         (module_get_user_ptr, module_set_user_ptr)
6582         (module_get_user_finalizer, module_set_user_finalizer)
6583         (module_vec_get, Fmodule_call)
6584         (module_non_local_exit_signal_1)
6585         (module_non_local_exit_throw_1, lisp_to_value)
6586         (finalize_storage, allocate_emacs_value, mark_modules)
6587         (module_handle_signal, module_handle_throw)
6588         (module_format_fun_env):
6589         * src/eval.c (push_handler, push_handler_nosignal)
6590         (init_handler):
6591         * src/lread.c (suffix_p):
6592         Omit unnecessary ‘const’.
6594 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6596         Prefer intmax_t to int64_t in module code
6598         * modules/mod-test/mod-test.c (sum, Fmod_test_sum):
6599         * src/emacs-module.c (module_extract_integer)
6600         (module_make_integer):
6601         * src/emacs-module.h (struct emacs_env_25):
6602         Prefer intmax_t to int64_t.  This doesn’t change the generated
6603         code on any of the machines Emacs currently ports to, but it’s
6604         at least in theory more future-proof as C99 doesn’t guarantee
6605         that int64_t exists.
6607 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6609         Rename module.c to emacs-module.c, etc.
6611         * src/emacs-module.c: Rename from src/module.c.
6612         * src/emacs-module.h: Rename from src/module.h.
6613         All uses changed.
6615 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6617         Fix minor module problems found by static checking
6619         * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used.
6620         * src/eval.c, src/lisp.h (lisp_eval_depth): Now static.
6621         * src/emacs-module.c (Fmodule_load): Fix pointer signedness bug.
6622         (Fmodule_call): Tell GCC that the default case is unreachable.
6624 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6626         Style fixes for indenting etc. in module code
6628         This is mostly indenting and spacing changes.  Also, remove
6629         some unnecessary static decls instead of bothering to reindent them.
6630         * src/emacs-module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
6631         as most other Emacs files do for this sort of thing.
6633 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
6635         Minor improvements in modules testing Makefile
6637         * modules/mod-test/Makefile (EMACS, SO): New variables.
6638         (CFLAGS): When SO = dll, don't use -fPIC.
6639         (check): New target, runs the test.
6641 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
6643         * .gitignore: Add "*.dll".
6645 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6647         Migrate modules/.gitignore into .gitignore
6649         * .gitignore: Add former contents of modules/.gitignore.
6650         * modules/.gitignore: Remove.
6652 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6654         Add copyright notices to module code
6656         Put them in the usual format for GNU Emacs copyright notices.
6658 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6660         Rename emacs_module.h to module.h
6662         * src/module.h: Rename from src/emacs_module.h.
6663         All uses changed.
6665 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
6667         * src/module.c (Fmodule_load): Remove unused vars `doc_name', `args'
6669         * src/lread.c (Fload): Remove unused variable `size'
6671 2015-11-19  Alan Mackenzie  <acm@muc.de>
6673         src/keyboard.c (pre-command-hook): Fix typo in doc string: "pre" -> "post".
6675 2015-11-19  Dmitry Gutov  <dgutov@yandex.ru>
6677         Prioritize looking inside vc-parent-buffer over log-view-mode fallback
6679         * lisp/vc/vc.el (vc-deduce-fileset): Prioritize looking inside
6680         vc-parent-buffer over log-view-mode fallback (bug#21955).
6682 2015-11-18  Alan Mackenzie  <acm@muc.de>
6684         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
6686 2015-11-18  Ken Brown  <kbrown@cornell.edu>
6688         * configure.ac (LIBMODULES): Don’t define on Cygwin
6690 2015-11-18  Eli Zaretskii  <eliz@gnu.org>
6692         Fix MS-Windows build --with-modules
6694         * src/module.c: Reformat copyright commentary.
6695         (module_vec_get): Use explicit cast to size_t to avoid compiler
6696         warning in 32-bit builds.
6697         (check_main_thread) [WINDOWSNT]: Fix letter-case in Windows APIs.
6698         Compare thread IDs directly, as GetThreadId is not available
6699         before Windows Vista.
6700         (check_main_thread) [WINDOWSNT]: Duplicate the thread handle
6701         without using APIs and constants not available on XP and older
6702         systems.  Obtain and store the thread ID as well.
6704 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
6705             Philipp Stephani  <phst@google.com>
6707         Add dynamic module test and helper script
6709         Add 'modhelp.py' script (python2) to automate module testing and
6710         module generation.
6712         To build and test all modules in the modules/ dir
6713           $ ./modhelp.py test
6715         To generate a module from template code (good starting point)
6716           $ ./modhelp init mynewtestmodule
6718         See the script -h option for more documentation.
6720         * modules/modhelp.py: New module helper script.
6721         * modules/mod-test/Makefile: New file. Makefile for the test module.
6722         * modules/mod-test/mod-test.c: New file. Test module source file.
6723         * modules/mod-test/test.el: New file. ert test suite for the test module.
6724         * modules/.gitignore: New file. Local .gitignore file.
6726 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
6728         Make 'Fload' look for modules
6730         'Fload' can now load dynamic modules. This also makes 'require' work.
6732         * src/lread.c:
6733           (suffix_p): New function.
6734           (Fload): Use 'suffix_p'.  Call 'Fmodule_load' when we try to load a file
6735           with a module suffix.
6736           (syms_of_lread): Append module suffix to 'Vload_suffixes'.
6738 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
6739             Philipp Stephani  <phst@google.com>
6741         Add dynamic module module support
6743         * configure.ac: Add '--with-modules' option.  Conditionally add
6744           dynlib.o and module.o to the list of objects.  Add any system
6745           specific flags to the linker flags to support dynamic libraries.
6746         * m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
6747           attributes.
6748         * src/Makefile.in: Conditionally add module objects and linker flags.
6749         * src/alloc.c (garbage_collect_1): protect module local values from
6750           GC.
6751         * src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
6752         * src/emacs-module.h: New header file included by modules.  Public
6753           module API.
6754         * src/emacs-module.c: New module implementation file.
6756 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
6758         Add new User Pointer (User_Ptr) type
6760         * src/lisp.h: Add new Lisp_Misc_User_Ptr type.
6761         (XUSER_PTR): New User_Ptr accessor.
6762         * src/alloc.c (make_user_ptr): New function.
6763         (mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr.
6764         * src/data.c (Ftype_of): Return 'user-ptr' for user pointer.
6765         (Fuser-ptrp): New user pointer type predicate function.
6766         (syms_of_data): New 'user-ptrp', 'user-ptr' symbol.  New 'user-ptrp'
6767         subr.
6768         * src/print.c (print_object): Add printer for User_Ptr type.
6770 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
6771             Philipp Stephani  <phst@google.com>
6773         Add portable layer for dynamic loading
6775         * src/dynlib.h: New file.
6776         * src/dynlib.c: New file.
6778 2015-11-18  Philipp Stephani  <phst@google.com>
6780         Add catch-all & no-signal version of PUSH_HANDLER
6782         Ground work for modules. Add a non-signaling version of PUSH_HANDLER and
6783         a new "catch-all" handler type.
6785         * src/eval.c (init_handler, push_handler, push_handler_nosignal): New
6786           functions.
6787         * src/fns.c (hash_remove_from_table): Expose function public.
6788         * src/lisp.h: New handler type, define macro to push_handler call.
6790 2015-11-18  Ken Brown  <kbrown@cornell.edu>
6792         Silence byte-compiler warning
6794         * lisp/server.el (server-process-filter): Silence byte-compiler
6795         warning.
6797 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6799         Quote symbols in docstrings using `'
6801         Be more systematic about quoting symbols `like-this' rather than
6802         `like-this or 'like-this' in docstrings.  This follows up Artur
6803         Malabarba's email in:
6804         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html
6806 2015-11-18  Peder O. Klingenberg  <peder@klingenberg.no>
6808         Fix savegames in dunnet
6810         * lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead
6811           of separate implementation.
6813 2015-11-18  Artur Malabarba  <bruce.connor.am@gmail.com>
6815         * lisp/emacs-lisp/package.el (package--with-response-buffer):
6817         Ensure we're at the start of the buffer before searching for
6818         the end of headers.
6820 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
6822         * admin/release-process: Improve wording.
6824 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
6826         Backport: * CONTRIBUTE: Remove information about feature freeze.
6828         (cherry picked from commit ae0653b5ab9ee223751ec389b87011963e1cbbef)
6830 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
6832         Backport: Document the release process
6834         * admin/notes/versioning: Add information about RC releases.
6835         * admin/release-process: Document the release process.
6836         * admin/authors.el (authors-ignored-files):
6837         * admin/README: Change FOR-RELEASE to release-process.
6838         * CONTRIBUTE:
6839         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
6841         (cherry picked from commit 9a4aa0f5945a03611ae29c516025dbd353bd26ab)
6843 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
6845         Backport: * admin/release-process: Rename from admin/FOR-RELEASE.
6847         (cherry picked from commit f8cc14b59700e51a4e31139c0a65c8154995e055)
6849 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
6851         Backport: Mention CONTRIBUTE in README
6853         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
6854         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
6855         * README: Mention CONTRIBUTE.
6857         (cherry picked from commit ed2e7e20ae0945288c98091f308f5460c3453873)
6859 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6861         Fix docstring quoting problems with ‘ '’
6863         Problem reported by Artur Malabarba in:
6864         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
6865         Most of these fixes are to documentation; many involve fixing
6866         longstanding quoting glitches that are independent of the
6867         recent substitute-command-keys changes.  The changes to code are:
6868         * lisp/cedet/mode-local.el (mode-local-augment-function-help)
6869         (describe-mode-local-overload):
6870         Substitute docstrings before displaying them.
6871         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
6872         Quote the generated docstring for later substitution.
6874 2015-11-17  Eli Zaretskii  <eliz@gnu.org>
6876         Improve configure --help text for wide ints
6878         * configure.ac (wide-int): Clarify user-level advantages and
6879         disadvantages.
6881 2015-11-17  Stephen Leake  <stephen_leake@stephe-leake.org>
6883         Improve doc string
6885         * lisp/progmodes/xref.el (xref-backend-references): Improve doc string.
6887 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6889         eval_sub followed dangling pointer when debugging
6891         Problem reported by Pip Cet (Bug#21245).
6892         This bug could occur in eval_sub if the C compiler reused
6893         storage associated with the ‘argvals’ local after ‘argvals’
6894         went out of scope, and if the Elisp debugger stopped on Elisp
6895         function exit and accessed ‘argvals’.  It could also occur if
6896         a variadic function was called with so many arguments (over
6897         2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then
6898         SAFE_FREE freed the arguments, then the memory manager used
6899         the storage for other purposes, then the debugger accessed the
6900         arguments.
6901         * src/eval.c (eval_sub): Declare ‘argvals’ at top level of
6902         function body.  Simplify local decls.
6903         When allocating args via SAFE_ALLOCA, call
6904         debugger before invoking SAFE_FREE, as the debugger needs
6905         access to the args.
6906         (eval_sub, apply_lambda): Rework to avoid need for
6907         set_backtrace_debug_on_exit hack.  This is cleaner,
6908         and should work better with buggy custom debuggers.
6910 2015-11-17  Daiki Ueno  <ueno@gnu.org>
6912         * lisp/image-mode.el: Support encrypted file
6914         (image-toggle-display-image): Read content from the buffer instead
6915         of the file, if the buffer holds a decrypted data.  (Bug#21870)
6917 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6919         ELF unexec: align section header
6921         This ports the recent unexelf.c changes to Fedora x86-64
6922         when configured with GCC’s -fsanitize=undefined option.
6923         * src/unexelf.c (unexec): Align new_data2_size to a multiple
6924         of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a
6925         pointer aligned appropriately for its type.
6927 2015-11-17  Andreas Schwab  <schwab@linux-m68k.org>
6929         Do more checks on bytecode objects (Bug#21929)
6931         * src/eval.c (funcall_lambda): Check size of compiled function
6932         object.
6933         (Ffetch_bytecode): Likewise.
6935 2015-11-16  Johan Bockgård  <bojohan@gnu.org>
6937         pcase.el: Fix edebugging of backquoted cons patterns
6939         * lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
6940         cons patterns. (Bug#21920)
6942 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
6944         Improve fix for regex reentrancy abort
6946         Suggested by Stefan Monnier (Bug#21688).
6947         * src/syntax.c (update_syntax_table_forward):
6948         Remove recently-added PROPERTIZE arg, and assume it is true.
6949         All callers changed.
6950         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
6951         Invoke update_syntax_table directly.
6953 2015-11-16  Artur Malabarba  <bruce.connor.am@gmail.com>
6955         * lisp/faces.el (faces--attribute-at-point): Use `face-list-p'
6957         * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require
6959         * lisp/emacs-lisp/nadvice.el (add-function): Escape quote
6961 2015-11-16  Vasily Korytov  <vasily.korytov@yahoo.com>
6963         Recognize .rbw and .pyw files (bug#18753)
6965         * lisp/progmodes/python.el (auto-mode-alist):
6966         Recognize .pyw files.
6968         * lisp/progmodes/ruby-mode.el (auto-mode-alist):
6969         Recognize .rbw files.
6971 2015-11-16  Dmitry Gutov  <dgutov@yandex.ru>
6973         Fix ruby-mode auto-mode-alist entry
6975         * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
6976         around the extensions (bug#21257).
6978 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
6980         Fix etags completion near eob
6982         * lisp/progmodes/etags.el (tags-completion-at-point-function):
6983         Use `goto-char', to avoid the end-of-buffer error (bug#20061).
6985 2015-11-15  Alan Mackenzie  <acm@muc.de>
6987         De-pessimize detection of C++ member initialization lists.
6989         list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
6990         (c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
6991         is only called when a construct "looks right" rather than continually.
6992         (c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
6994 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6996         Backport: * lisp/emacs-lisp/package.el: Fix a decoding issue.
6998         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
6999         `url-insert-buffer-contents'.
7000         (url-insert-buffer-contents): New function
7002         (package--with-response-buffer): Use `url-insert-buffer-contents'.
7003         The previous code had some issues with decoding. Refactoring that
7004         function allows us to use the decoding from url-handlers while still
7005         treating both sync and async requests the same.
7007 2015-11-15  Stephen Leake  <stephen_leake@stephe-leake.org>
7009         Improve a few doc strings, comments
7011         * lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
7012         * lisp/cedet/ede/locate.el (ede-locate-base):
7013         * lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
7014         * src/fns.c (Fdelq): Improve doc string.
7016         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
7018 2015-11-15  Anders Lindgren  <andlind@gmail.com>
7020         Enhance NSTRACE (trace output for NextStep).
7022         Trace can be disabled for groups of functions. By default, event
7023         functions and functions that generate lots of output are disabled.
7025         Trace output of Objective-C functions now use the "[ClassName
7026         parameter:]" form.
7028         * src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
7029         (NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
7030         (NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
7031         controlling in which function groups trace should be active.
7032         (NSTRACE_WHEN): Support for silencing a function, this also
7033         silencing all called functions.
7034         (NSTRACE_UNSILENCE): New macro, used to re-enable trace.
7035         (NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
7036         print the full screen state in NSTRACE functions.
7038         * src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
7039         can be accessed from multiple threads.
7040         (nstrace_enabled_global): New variable, when FALSE, trace is
7041         silenced.
7042         (nstrace_restore_global_trace_state): New function, used to
7043         restore `nstrace_enabled_global' at end of block.
7044         ([EmacsView setFrame:], [EmacsWindow setFrame:display:])
7045         ([EmacsWindow setFrame:display:animation:])
7046         ([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
7047         and call corresponding super function.
7048         (Many functions): Add or enhance trace output.
7050         * src/nsimage.m (ns_image_from_file): Enhanced trace output.
7052         * src/nsfns.m (x_set_tool_bar_lines): Add trace output.
7054         * src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
7055         and call corresponding super function.
7057 2015-11-15  Anders Lindgren  <andlind@gmail.com>
7059         Fixed a toolbar related issue on OS X.
7061         Earlier, when toggling the tool-bar in a maximized frame, the
7062         frame size didn't match the number of text lines, leaving an
7063         unused area at the bottom of the frame.
7065         * src/nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
7066         fullscreen modes when tool bar is disabled.
7068 2015-11-15  Anders Lindgren  <andlind@gmail.com>
7070         Fixed OS X 10.6.8 build issue (bug#21862).
7072         * src/nsterm.h (EmacsView): Add missing declarations.
7073         * src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
7074         the standard method but without the notification parameter.
7075         Intended to be used for direct calls.
7076         ([EmacsView windowDidEnterFullScreen]): Call the non-notification
7077         version of `windowDidBecomeKey'. Made the notification method call
7078         the non-notification method instead of the vice versa.
7079         (NSWindowDidEnterFullScreenNotification): Deleted, no longer
7080         needed.
7082 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
7084         * lisp/faces.el (faces--attribute-at-point): Fix an issue
7086         Previous code would signal an error when the face at point was
7087         a manually built list of attributes such as '(:foregroud "white").
7089         * test/automated/faces-tests.el (faces--test-color-at-point): Add a test
7091 2015-11-15  Paul Eggert  <eggert@cs.ucla.edu>
7093         Fix regex abort when it tries to reenter itself
7095         Problem reported by Ken Raeburn.
7096         Solution suggested by Stefan Monnier (Bug#21688).
7097         * src/regex.c (re_match_2_internal):
7098         Use new _FAST functions to avoid regex code reentering itself.
7099         * src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
7100         All callers changed.
7101         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
7102         (UPDATE_SYNTAX_TABLE_FAST): New inline functions.
7104 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
7106         Improve Ruby 1.9-style keyword keys highlighting
7108         * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
7109         Handle required keyword arguments (bug#21367).
7110         And highlight the colon together with the name.
7112 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
7114         Unify the absolutely equal xref-backend-references implementations
7116         * lisp/progmodes/elisp-mode.el (xref-backend-references):
7117         Remove.
7119         * lisp/progmodes/etags.el (xref-backend-references):
7120         Remove.
7122         * lisp/progmodes/xref.el (xref-backend-references):
7123         Define the default implementation.
7125 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
7127         Update project-find-regexp for the new xref API
7129         * lisp/progmodes/project.el (project--read-regexp):
7130         Update to use the new xref API methods.
7132         * lisp/progmodes/xref.el (xref-find-backend): Autoload.
7134 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
7136         Fix replacing a match with a shorter string
7138         In effect, partially reverting fe973fc.
7140         * lisp/progmodes/xref.el (xref-query-replace): Store the end
7141         of each match as a marker again, instead of length.
7142         (xref--query-replace-1): Update accordingly.
7144 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
7146         * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
7148         Signal user-errors instead.
7150 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
7152         Document 'describe-symbol'
7154         * doc/emacs/help.texi (Help Summary): Mention "C-h o".
7155         (Name Help): Document "C-h o" and describe-symbol.
7157         * lisp/help-fns.el (describe-symbol): Doc fix.
7159 2015-11-14  Paul Eggert  <eggert@cs.ucla.edu>
7161         Change test name to avoid spellcheck issue.
7163 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
7165         Avoid signaling an error in 'describe-symbol'
7167         * lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
7168         exists as a function/variable/face/etc., but is undocumented.
7170         * test/automated/help-fns.el (help-fns-test-describe-symbol): New
7171         test.
7173 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
7175         * INSTALL (--with-cairo): Document this new configure option.
7177 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
7179         Document that GNU Make >= 3.81 is required to build Emacs
7181         * doc/lispref/internals.texi (Building Emacs): Document that GNU
7182         Make 3.81 or later is now required.
7184 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
7186         Backport: * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async.
7188         (package--with-work-buffer-async): Reimplement as
7189         `package--with-response-buffer'.
7190         (package--with-work-buffer): Mark obsolete.
7191         (package--with-response-buffer): New macro. This is a more self
7192         contained and less contrived version of
7193         `package--with-work-buffer-async'.  It uses keyword arguments,
7194         doesn't have async on the name, doesn't fallback on
7195         `package--with-work-buffer', and has _much_ simpler error
7196         handling.  On master, this macro will soon be part of another
7197         library (either standalone or inside url.el), which is why this
7198         commit is not to be merged back.
7200         (package--check-signature, package--download-one-archive)
7201         (package-install-from-archive, describe-package-1): Use it.
7203         (package--download-and-read-archives): Let
7204         `package--download-one-archive' take care of calling
7205         `package--update-downloads-in-progress'.
7207 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
7209         * CONTRIBUTE (Branches): Improve wording for back-ported commits.
7211 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
7213         Merge branch 'master' into emacs-25
7215 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
7217         Use generic dispatch for xref backends
7219         * lisp/progmodes/xref.el (xref-backend-functions):
7220         New variable.
7221         (xref-find-function): Remove.
7222         (xref-find-backend)
7223         (xref--etags-backend): New functions.
7224         (xref-identifier-at-point-function)
7225         (xref-identifier-completion-table-function): Remove.
7226         (xref-backend-definitions, xref-backend-references)
7227         (xref-backend-apropos, xref-backend-identifier-at-point)
7228         (xref-backend-identifier-completion-table):
7229         New generic functions.
7231         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add
7232         `elisp--xref-backend' to the beginning of
7233         `xref-backend-functions', locally.  Delete references to
7234         removed functions and vars.
7235         (elisp-xref-find): Remove.
7236         (elisp--xref-backend): New function.
7237         (elisp--xref-find-references, elisp--xref-find-apropos)
7238         (elisp--xref-identifier-completion-table):
7239         Turn into appropriately named generic methods.
7241         * lisp/progmodes/etags.el (etags-xref-find): Remove.
7242         (xref-backend-identifier-completion-table)
7243         (xref-backend-references, xref-backend-definitions)
7244         (xref-backend-apropos): New generic methods.
7246 2015-11-14  Juri Linkov  <juri@linkov.net>
7248         Support rectangular regions for more commands
7250         * lisp/simple.el (region-extract-function): Handle the arg value ‘bounds’.
7251         (region-insert-function): New function.
7252         (shell-command-on-region): Add arg ‘region-noncontiguous-p’.
7253         If non-nil, operate on multiple chunks.
7254         (region-noncontiguous-p): New function.
7256         * lisp/rect.el: Add function rectangle--insert-region
7257         around region-insert-function.
7258         (extract-rectangle-bounds): New function.
7259         (rectangle--extract-region): Handle the arg value ‘bounds’.
7260         (rectangle--insert-region): New function.
7262         * lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
7263         around region-insert-function.
7264         (cua--extract-rectangle-bounds): New function.
7265         (cua--rectangle-region-extract): Handle the arg value ‘bounds’.
7267         * lisp/replace.el (query-replace, query-replace-regexp): Add arg
7268         ‘region-noncontiguous-p’.  Use ‘use-region-p’.
7269         (query-replace-regexp-eval, map-query-replace-regexp)
7270         (replace-string, replace-regexp): Use ‘use-region-p’.
7271         (keep-lines, flush-lines, how-many): Use ‘use-region-p’.
7272         (perform-replace): Add arg ‘region-noncontiguous-p’.
7273         If non-nil, operate on multiple chunks.
7275         * src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
7276         If non-nil, operate on multiple chunks. (Bug#19829)
7278 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
7280         Handle multiple matches on the same line; add highlighting
7282         * lisp/progmodes/xref.el (xref-location-marker): Interpret the
7283         column value in characters.
7284         (xref--collect-matches): Rename from `xref--collect-match'.
7285         Search for all matches in the hit line.  Add `highlight' face to
7286         the matched region in the summary.  Update both callers.
7288 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
7290         Replace xref-match-bounds with xref-match-length
7292         Relying on xref-location-marker to point to the beginning of the match
7294         * lisp/progmodes/xref.el (xref-match-bounds): Remove.
7295         (xref-match-length): Add.
7296         (xref-make-match): Change the arguments.
7297         (xref--match-buffer-bounds): Remove.
7298         (xref-match-item): Store length, instead of end-column.
7299         (xref-pulse-momentarily)
7300         (xref--collect-match)
7301         (xref--query-replace-1): Update accordingly.
7302         (xref-query-replace): Ditto.  And check that the search results
7303         are up-to-date.
7305 2015-11-13  John Wiegley  <johnw@newartisans.com>
7307         Merge remote-tracking branch 'origin/master' into emacs-25
7309 2015-11-13  l3thal  <kwhite@gnu.org>
7311         Merge branch 'erc-async-reconnect' into emacs-25
7313         Reconnect asynchronously.
7315 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7317         Merge from gnulib
7319         This incorporates:
7320         2015-11-13 xalloc-oversized: improve performance with GCC 5
7321         * lib/xalloc-oversized.h: Copy from gnulib.
7323 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7325         Spruce up ftfont.c memory allocation
7327         * src/ftfont.c (setup_otf_gstring):
7328         Avoid O(N**2) behavior when reallocating.
7329         (ftfont_shape_by_flt): Prefer xpalloc to xrealloc when
7330         reallocating buffers; this simplifies the code.  Do not trust
7331         mflt_run to leave the output areas unchanged on failure, as
7332         this isn’t part of its interface spec.
7334 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7336         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
7338 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7340         Port recent XCB changes to 64-bit ‘long int’
7342         For historical reasons, libX11 represents 32-bit values like Atoms as
7343         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
7344         do that, so adapt the recent XCB code to behave properly on 64-bit
7345         platforms.  Also, fix what appears to be a bug in the interpretation
7346         of xcb_get_property_value_length, at least on my Fedora platform
7347         which is running libxcb-1.11-5.fc21.
7348         * src/xfns.c (x_real_pos_and_offsets):
7349         * src/xterm.c (get_current_wm_state):
7350         xcb_get_property_value_length returns a byte count, not a word count.
7351         For 32-bit quantities, xcb_get_property_value returns a vector
7352         of 32-bit words, not of (possibly 64-bit) long int.
7354         Backport.
7356 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7358         * src/undo.c (run_undoable_change): Now static.
7360         Backport.
7362 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7364         Remove support for ':timeout' from w32 tray notifications
7366         * src/w32fns.c (Fw32_notification_notify): Delete the code that
7367         supports ':timeout'.
7368         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
7369         with dbusbind.c when D-Bus is compiled in.
7371         * doc/lispref/os.texi (Desktop Notifications): Don't mention
7372         ':timeout'.
7374         Backport.
7376 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
7378         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
7380         (simple-test--transpositions): New macro.
7381         (simple-transpose-subr): New test.
7383         Backport.
7385 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
7387         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
7389         Backport.
7391 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
7393         * src/undo.c: Small fixes for previous change
7395         (run_undoable_change): Mark void argument list.
7396         (record_property_change): Remove unused variable `boundary'.
7398         Backport.
7400 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7402         Add a few more variables to redisplay--variables
7404         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
7405         and bidi-display-reordering to the list.
7407         Backport.
7409 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7411         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
7413         Backport.
7415 2015-11-13  Eli Barzilay  <eli@barzilay.org>
7417         Fix point positioning after transposing with negative arg
7419         * lisp/simple.el (transpose-subr): When invoked with a negative
7420         argument, move point to after the transposed text, like we do
7421         when invoked with a positive argument.  (Bug#21885)
7423         Backport.
7425 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7427         Fix last change in shr.el
7429         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
7430         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
7432         Backport.
7434 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7436         Fix last change
7438         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
7439         Don't DEFSYM tray notification symbols if D-Bus is being used.
7441         Backport.
7443 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7445         Another fix for MinGW64 and Cygwin builds due to notifications
7447         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
7448         being compiled into Emacs.
7449         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
7450         Sw32_notification_notify and Sw32_notification_close if the code
7451         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
7453         Backport.
7455 2015-11-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
7457         Remove intern calls and XXX comments from Fx_export_frames
7459         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
7460         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
7461         for consistency with image types.  Remove XXX comments.
7462         (syms_of_xfns) <Qpdf>: DEFSYM it.
7464         Backport.
7466 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7468         Port recent XCB changes to 64-bit ‘long int’
7470         For historical reasons, libX11 represents 32-bit values like Atoms as
7471         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
7472         do that, so adapt the recent XCB code to behave properly on 64-bit
7473         platforms.  Also, fix what appears to be a bug in the interpretation
7474         of xcb_get_property_value_length, at least on my Fedora platform
7475         which is running libxcb-1.11-5.fc21.
7476         * src/xfns.c (x_real_pos_and_offsets):
7477         * src/xterm.c (get_current_wm_state):
7478         xcb_get_property_value_length returns a byte count, not a word count.
7479         For 32-bit quantities, xcb_get_property_value returns a vector
7480         of 32-bit words, not of (possibly 64-bit) long int.
7482 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7484         * src/undo.c (run_undoable_change): Now static.
7486 2015-11-13  Michael Albinus  <michael.albinus@gmx.de>
7488         Adapt Tramp version, do not merge with master
7490         * doc/misc/trampver.texi (trampver):
7491         * lisp/net/trampver.el (tramp-version): Set to "2.2.13-25.1".
7493 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7495         Remove support for ':timeout' from w32 tray notifications
7497         * src/w32fns.c (Fw32_notification_notify): Delete the code that
7498         supports ':timeout'.
7499         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
7500         with dbusbind.c when D-Bus is compiled in.
7502         * doc/lispref/os.texi (Desktop Notifications): Don't mention
7503         ':timeout'.
7505 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
7507         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
7509         (simple-test--transpositions): New macro.
7510         (simple-transpose-subr): New test.
7512 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
7514         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
7516 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
7518         * src/undo.c: Small fixes for previous change
7520         (run_undoable_change): Mark void argument list.
7521         (record_property_change): Remove unused variable `boundary'.
7523 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7525         Add a few more variables to redisplay--variables
7527         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
7528         and bidi-display-reordering to the list.
7530 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7532         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
7534 2015-11-13  Eli Barzilay  <eli@barzilay.org>
7536         Fix point positioning after transposing with negative arg
7538         * lisp/simple.el (transpose-subr): When invoked with a negative
7539         argument, move point to after the transposed text, like we do
7540         when invoked with a positive argument.  (Bug#21885)
7542 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7544         Fix last change in shr.el
7546         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
7547         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
7549 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7551         Fix last change
7553         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
7554         Don't DEFSYM tray notification symbols if D-Bus is being used.
7556 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7558         Another fix for MinGW64 and Cygwin builds due to notifications
7560         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
7561         being compiled into Emacs.
7562         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
7563         Sw32_notification_notify and Sw32_notification_close if the code
7564         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
7566 2015-11-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
7568         Remove intern calls and XXX comments from Fx_export_frames
7570         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
7571         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
7572         for consistency with image types.  Remove XXX comments.
7573         (syms_of_xfns) <Qpdf>: DEFSYM it.
7575 2015-11-13  Eric Hanchrow  <eric.hanchrow@gmail.com>
7577         shr: don't invoke unbound function (Bug#21895)
7579         * lisp/net/shr.el (have-fringes-p): New function.
7580           (shr-insert-document, shr-fill-text): Use it.
7582 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
7584         * test/automated/keymap-tests.el: Fix test to make it repeatable
7586         (keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map
7587         entry to its initial value to make the test repeatable in interactive
7588         sessions (assuming it doesn't fail and crashes Emacs, of course).
7590 2015-11-13  Artur Malabarba  <bruce.connor.am@gmail.com>
7592         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
7594 2015-11-12  Phillip Lord  <phillip.lord@russet.org.uk>
7596         : Tests for undo-auto functionality.
7598 2015-11-12  Phillip Lord  <phillip.lord@newcastle.ac.uk>
7600         The heuristic that Emacs uses to add an `undo-boundary' has been
7601         reworked, as it interacts poorly with functions on `post-command-hook'
7602         or `after-change-functions'.
7604         * lisp/simple.el: New section added.
7605         * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
7606         (self_insert_command): Calls simple.el to amalgamate.
7607         (delete_char): Calls simple.el to amalgamate.
7608         * src/keyboard.c (last_undo_boundary): Removed.
7609         * src/undo.c (run_undoable_change): New function.
7611 2015-11-12  Juri Linkov  <juri@linkov.net>
7613         Bind [?\S-\ ] to previous line command in Dired-like modes.
7615         * lisp/arc-mode.el (archive-mode-map):
7616         * lisp/dired.el (dired-mode-map):
7617         * lisp/proced.el (proced-mode-map):
7618         * lisp/vc/vc-dir.el (vc-dir-mode-map):
7619         Bind [?\S-\ ] to previous line command.
7620         (Bug#20790)
7622 2015-11-12  Eli Zaretskii  <eliz@gnu.org>
7624         Fix the MinGW64 and Cygwin-w32 builds
7626         * src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
7627         (MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
7628         use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
7629         which cause trouble with MinGW42 headers.  Ifdef away tray
7630         notifications code for Cygwin.  Reported by Andy Moreton
7631         <andrewjmoreton@gmail.com>.
7633 2015-11-12  Simen Heggestøyl  <simenheg@gmail.com>
7635         Enable sorting of JSON object keys when encoding
7637         * lisp/json.el (json-encoding-object-sort-predicate): New variable for
7638         specifying a sorting predicate for JSON objects during encoding.
7639         (json--plist-to-alist): New utility function.
7640         (json-encode-hash-table): Re-use `json-encode-alist' when object keys
7641         are to be sorted.
7642         (json-encode-alist): Sort output by
7643         `json-encoding-object-sort-predicate, when set.
7644         (json-encode-plist): Re-use `json-encode-alist' when object keys are
7645         to be sorted.
7646         (json-pretty-print-buffer-ordered): New command to pretty print the
7647         buffer with object keys sorted alphabetically.
7648         (json-pretty-print-ordered): New command to pretty print the region with
7649         object keys sorted alphabetically.
7651         * test/automated/json-tests.el (test-json-plist-to-alist)
7652         (test-json-encode-plist, test-json-encode-hash-table)
7653         (test-json-encode-alist-with-sort-predicate)
7654         (test-json-encode-plist-with-sort-predicate): New tests.
7656         * etc/NEWS: Add an entry for the new commands.
7658 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
7660         * test/automated/keymap-tests.el: New test file
7662 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
7664         Speed up x_real_pos_and_offsets using XCB
7666         * src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of
7667         all X calls, and pipeline requests when possible, collecting results
7668         later.  Eliminate use of x_catch_errors (and thus XSync) in XCB case.
7670 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
7672         Enable use of XCB for checking window manager state
7674         * src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead
7675         of XGetWindowProperty plus error-catching, since we can explicitly
7676         check for errors in the XCB version.  This eliminates 3 XSync calls on
7677         top of the round-trip actually fetching the information.
7679 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
7681         Detect XCB and save a connection handle
7683         * configure.ac: If using X11, check for XCB libraries and header.
7684         * src/Makefile.in (XCB_LIBS): Define.
7685         (LIBX_EXTRA): Include it.
7687         * src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
7688         (struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
7689         * src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
7691 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
7693         Reduce some data dependencies between X calls
7695         Gains nothing in the traditional-Xlib code, but more closely aligns
7696         with how the XCB version will work.
7698         * src/xfns.c (x_real_pos_and_offsets): When translating coordinates,
7699         send coordinates (0,0) to the X server and add in the real coordinates
7700         after getting the response.  Move XGetGeometry for outer window inside
7701         error-trapping block.  Use DPY variable more, since it's available.
7703 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
7705         Use color cache for creating bitmap
7707         * src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]: Set
7708         attributes to use the caching color allocator.  Initialize and free
7709         the cache.
7711 2015-11-12  Eli Barzilay  <eli@barzilay.org>
7713         Add "^" to the interactive specs of `dired-next/previous-line'
7715         * lisp/dired.el (dired-next-line, dired-previous-line): It makes sense
7716         to bind these commands to the arrow keys, and that means that they work
7717         better with a "^" in the `interactive' declaration so selection works
7718         as expected.
7720 2015-11-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7722         Sync with soap-client repository, version 3.0.2
7724         * lisp/net/soap-client.el: Bump version to 3.0.2.
7726         * lisp/net/soap-client.el (soap-warning): Use format, not format-message.
7728         * lisp/net/soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
7729         (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.
7731         * lisp/net/soap-client.el: Support Emacs versions that do not have
7732         define-error.
7734         * lisp/net/soap-inspect.el: Remove version header.
7736         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Fix first line header
7737         format.
7739 2015-11-11  Alan Mackenzie  <acm@muc.de>
7741         CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
7743         lisp/progmodes/cc-engine.el (c-backward-single-comment, c-backward-comments)
7744         (c-invalidate-state-cache-1, c-parse-state-1, c-guess-basic-syntax):
7745         remove bindings of open-paren-in-column-0-is-defun-start to nil.
7746         (c-get-fallback-scan-pos): "New" function (existed several years ago).
7747         (c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using
7748         c-get-fallback-scan-pos.
7749         (c-parse-state-1): Handle 'BOD strategy.
7751         lisp/progmodes/cc-mode.el (c-before-change, c-after-change)
7752         c-font-lock-fontify-region): remove bindings of
7753         open-paren-in-column-0-is-defun-start to nil.
7755         cc-mode.texi (Performance Issues, Limitations and Known Bugs): Fix mix up
7756         between @chapter and @appendix.
7758 2015-11-11  Artur Malabarba  <bruce.connor.am@gmail.com>
7760         * lisp/obarray.el: Fix shadowed variables
7762         (obarray-map, obarray-remove, obarray-put, obarray-get):
7763         Change OBARRAY arg to OB to avoid shadowing ‘obarray’.
7765 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
7767         Avoid error in submitting a form with EWW
7769         * lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument
7770         CHUNK to be nil.  (Bug#21881)
7772 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
7774         Rename seq-p and map-p to seqp and mapp
7776         * lisp/emacs-lisp/seq.el (seqp): New name.
7777         * lisp/emacs-lisp/map.el (mapp): New name.
7778         * doc/lispref/sequences.texi: Update the documentation for seqp.
7779         * test/automated/map-tests.el: Update the tests for mapp.
7781 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
7783         Rename obarray-p to obarrayp
7785         * lisp/obarray.el (obarrayp): New name.
7786         * test/automated/obarray-tests.el: Update the tests.
7788 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
7790         Rename obarray-foreach to obarray-map
7792         * lisp/obarray.el (obarray-map): New name.
7793         * test/automated/obarray-tests.el: Update the corresponding tests.
7795 2015-11-11  Przemysław Wojnowski  <esperanto@cumego.com>
7797         New file with obarray functions.
7799         * lisp/obarray.el: basic obarray functions extracted from abbrev.el
7800         * test/automated/obarray-tests.el: new file
7802 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
7804         Implement tray notifications for MS-Windows
7806         * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef.
7807         (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE)
7808         (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO)
7809         (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID)
7810         (EMACS_NOTIFICATION_MSG): New macros.
7811         (NI_Severity): New enumeration.
7812         (get_dll_version, utf8_mbslen_lim, add_tray_notification)
7813         (delete_tray_notification, Fw32_notification_notify)
7814         (Fw32_notification_close): New functions.
7815         (syms_of_w32fns): Defsubr functions exposed to Lisp.  DEFSYM
7816         keywords used by w32-notification-notify.
7818         * doc/lispref/os.texi (Desktop Notifications): Describe the native
7819         w32 tray notifications.
7821 2015-11-11  Alan Mackenzie  <acm@muc.de>
7823         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
7825         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
7826         Windows" and new @defun selected-window-group.
7827         (Window Start and End): Describe new &optional parameter GROUP and
7828         ...-group-function for window-start, window-end, set-window-start, and
7829         pos-visible-in-window-p.
7830         (Textual Scrolling) Describe the same for recenter.
7831         doc/lispref/positions.texi (Screen Lines): Describe the same for
7832         move-to-window-line.
7834         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
7835         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
7836         new optional parameter "group".  At the beginning of each, check whether the
7837         corresponding ...-group-function is set to a function, and if so execute this
7838         function in place of the normal processing.
7839         (syms_of_window): Define symbols for the six new variables below.
7840         (window-start-group-function, window-end-group-function)
7841         (set-window-start-group-function, recenter-group-function)
7842         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
7843         New permanent local buffer local variables.
7844         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
7845         Fpos_visible_in_window_p.
7847         lisp/window.el (selected-window-group-function): New permanent local buffer
7848         local variable.
7849         (selected-window-group): New function.
7851         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
7852         enable, kill them at mode disable.  Add/remove follow-after-change to/from
7853         after-change-functions.
7854         (follow-start-end-invalid): New variable.
7855         (follow-redisplay): Manipulate follow-start-end-invalid.
7856         (follow-after-change, follow-window-start, follow-window-end)
7857         (follow-set-window-start, follow-pos-visible-in-window-p)
7858         (follow-move-to-window-line, follow-sit-for): New functions.
7860         lisp/isearch.el (isearch-call-message): New macro.
7861         (isearch-update, with-isearch-suspended, isearch-del-char)
7862         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
7863         (with-isearch-suspended): Rearrange code such that isearch-call-message is
7864         invoked before point is moved.
7865         (isearch-message): Add comment about where point must be at function call.
7866         (isearch-search): Remove call to isearch-message.
7867         (isearch-lazy-highlight-window-group): New variable.
7868         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
7869         the battery of tests to ...
7870         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
7871         Note: (sit-for 0) is still called.
7872         (isearch-lazy-highlight-update): Check membership of
7873         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
7874         property.
7875         (isearch-update, isearch-done, isearch-string-out-of-window)
7876         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
7877         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
7878         (isearch-lazy-highlight-update): Call the six amended primitives (see
7879         src/window.c above) with the new `group' argument set to t, to cooperate
7880         with Follow Mode.
7882 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
7884         Optimize `file-equal-p' and `file-in-directory-p' in Tramp
7886         * lisp/net/tramp.el (tramp-handle-file-equal-p)
7887         (tramp-handle-file-in-directory-p): New defuns.  Suggested by
7888         Harvey Chapman <hchapman@3gfp.com>
7890         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
7891         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
7892         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
7893         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
7895 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
7897         * CONTRIBUTE: Encourage adding tests.
7899         Based on this post from John Wiegley:
7901           From: "John Wiegley" <johnw@newartisans.com>
7902           Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test
7903           To: Juanma Barranquero <lekktu@gmail.com>
7904           Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com,
7905               emacs-devel <emacs-devel@gnu.org>
7906           Date: Wed, 28 Oct 2015 18:45:29 -0700
7907           Message-ID: <m2y4emqwg6.fsf@newartisans.com>
7909           https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
7911 2015-11-10  David Reitter  <david.reitter@gmail.com>
7913         Avoid creating notification objects when possible
7915         * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:,
7916         windowDidEnterFullScreen, windowDidExitFullScreen): provide
7917         convenience functions that do not require a notification object.  When
7918         needed, define NSWindowDidEnterFullScreenNotification to allow for
7919         compilation on OS X 10.6.8.
7921 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7923         Move INTEGER_TO_CONS body out of .h file
7925         * src/data.c (INTBIG_TO_LISP): New macro, with most
7926         of the contents of the old INTEGER_TO_CONS.
7927         (intbig_to_lisp, uintbig_to_lisp): New functions.
7928         * src/lisp.h (INTEGER_TO_CONS):
7929         Simplify by using EXPR_SIGNED and the new functions.
7930         This shrinks code size a bit, and makes it easier to
7931         put a breakpoint on handling of large integers.
7933 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7935         Merge from gnulib
7937         This incorporates:
7938         2015-11-10 intprops: new public macro EXPR_SIGNED
7939         2015-11-10 intprops: fix typo in clang port
7940         * lib/intprops.h: Copy from gnulib.
7942 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7944         Spelling fixes
7946         * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type):
7947         Fix misspelling in output.
7949 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7951         * doc/lispref/variables.texi (Directory Local Variables):
7953         Document dir-locals wildcards
7955         * lisp/files.el (dir-locals-file): Point to Info node.
7957         * doc/emacs/custom.texi (Directory Variables):
7958         Document dir-locals wildcards.
7960         * etc/NEWS: Document new functionality.
7962 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7964         * lisp/files.el: Don't allow customization of dir-locals sorting
7966         In retrospect, this is not a good idea for the same reason that
7967         `dir-locals-file' is a defconst, because it is important that this
7968         behaviour be "uniform across different environments and users".
7969         Sure, the user can still change the sorting with a hack, but we
7970         shouldn't encourage them to change it.
7972         (dir-locals--all-files): Return list in the order returned by
7973         `file-expand-wildcards'.
7974         (file-expand-wildcards): Document the sorting predicate used.
7975         (dir-locals-sort-predicate): Delete variable.
7977 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7979         * lisp/files.el (dir-locals-read-from-file): Better handle errors
7981         * lisp/isearch.el (search-default-regexp-mode): change default value
7983 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7985         * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files
7987         `locate-dominating-file' will now keep looking if the files it finds in
7988         a given directory are unreadable (or not files).
7990 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7992         * lisp/files.el (dir-locals-file): Allow wildcards
7994         (dir-locals-find-file, dir-locals-collect-variables)
7995         (dir-locals-read-from-file): Update accordingly.
7996         (hack-dir-local-variables): Rename a local variable.
7998         * lisp/files-x.el (modify-dir-local-variable): Update accordingly
8000         * lisp/help-fns.el (describe-variable): Update accordingly
8002         * .gitignore: Add .dir-locals?.el
8004 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
8006         * lisp/emacs-lisp/map.el (map-merge-with): New function
8008         * test/automated/map-tests.el (test-map-merge-with): New test
8010 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
8012         Fix some recently-perturbed bookmark autoloads
8014         * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload.
8015           (bookmark-set): Restore autoload.
8016           (bookmark-set-no-overwrite): Add autoload.
8018         Thanks to Juanma Barranquero for noticing the autoload problems
8019         introduced by my recent commit adding/changing the above functions
8020         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
8022 2015-11-10  Noah Friedman  <friedman@splode.com>
8024         (ydump-buffer): Handle case where gap is at the start of buffer.
8025         I don't recall if older versions of gdb were less strict but you
8026         cannot dump a 0-length range in gdb 7.9.1.
8028 2015-11-10  Dmitry Gutov  <dgutov@yandex.ru>
8030         * lisp/progmodes/project.el: Update Commentary.
8032         Merge branch 'project-next'
8034 2015-11-10  Dmitry Gutov  <dgutov@yandex.ru>
8036         Fold `project-ask-user' into `project-current'
8038         * lisp/progmodes/project.el (project-find-functions): Remove
8039         `project-ask-user'.
8040         (project-ask-user): Remove function and the corresponding
8041         `project-roots' implementation.
8042         (project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
8043         user in case there's no project in the current directory.  Update
8044         all callers.
8046 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
8048         When VC detects a conflict, specify which file
8050         * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function.
8051         * lisp/vc/vc-svn.el (vc-svn-find-file-hook):
8052         * lisp/vc/vc-hg.el (vc-hg-find-file-hook):
8053         * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook):
8054         * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function
8055           to display a standard message that specifies the conflicted file.
8057         Before this change, the message VC used for indicating a conflicted
8058         file was just "There are unresolved conflicts in this file" without
8059         naming the file (and this language was duplicated in several places).
8060         After this change, it's "There are unresolved conflicts in file FOO"
8061         (and this language is now centralized in one function in vc.el).
8063         Justification: It's important for the message to name the conflicted
8064         file because the moment when VC realizes a file is conflicted does not
8065         always come interactively.  For example, some people automatically
8066         find a set of Org Mode files on startup, and may keep those .org files
8067         under version control.  If any of the files are conflicted, the user
8068         just sees some messages fly by, and might later check the "*Messages*"
8069         buffer to find out what files were conflicted.  I'm not saying this
8070         happened to me or anything; it's a purely hypothetical example.
8072 2015-11-09  Eli Zaretskii  <eliz@gnu.org>
8074         Fix assertion violation in define-key
8076         * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character
8077         objects.  Reported by Drew Adams <drew.adams@oracle.com>
8078         and Juanma Barranquero <lekktu@gmail.com>.
8080 2015-11-09  Dima Kogan  <dima@secretsauce.net>
8082         Fix a memory leak in GC of font cache
8084         * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font
8085         entities if some of the fonts it references are marked.  This
8086         plugs a memory leak.  (Bug#21556)
8088 2015-11-09  Paul Eggert  <eggert@cs.ucla.edu>
8090         Use INT_ADD_WRAPV etc. to check integer overflow
8092         * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string):
8093         * src/buffer.c (record_overlay_string, overlay_strings):
8094         * src/casefiddle.c (casify_object):
8095         * src/ccl.c (Fccl_execute_on_string):
8096         * src/character.c (char_width, c_string_width, lisp_string_width)
8097         (count_size_as_multibyte, string_escape_byte8):
8098         * src/coding.c (coding_alloc_by_realloc, produce_chars):
8099         * src/data.c (arith_driver):
8100         * src/dispnew.c (realloc_glyph_pool, init_display):
8101         * src/editfns.c (styled_format):
8102         * src/fns.c (Ffillarray):
8103         * src/ftfont.c (ftfont_shape_by_flt):
8104         * src/gnutls.c (gnutls_hex_string):
8105         * src/gtkutil.c (get_utf8_string):
8106         * src/image.c (x_to_xcolors, x_detect_edges, png_load_body):
8107         * src/keymap.c (Fkey_description):
8108         * src/lisp.h (SAFE_ALLOCA_LISP):
8109         * src/term.c (encode_terminal_code):
8110         * src/tparam.c (tparam1):
8111         * src/xselect.c (x_property_data_to_lisp):
8112         * src/xsmfns.c (smc_save_yourself_CB):
8113         * src/xterm.c (x_term_init):
8114         When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to
8115         more-complicated code involving division and/or
8116         INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and
8117         subtraction and/or INT_ADD_OVERFLOW.
8118         * src/casefiddle.c (casify_object): Simplify multibyte size check.
8119         * src/character.c: Remove some obsolete ‘#ifdef emacs’s.
8120         * src/data.c (arith_driver): Also check for division overflow,
8121         as that’s now possible given that the accumulator can now contain
8122         any Emacs integer.
8123         * src/lisp.h (lisp_word_count): Remove; no longer used.
8125 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
8127         Make sure that the ignore file exists
8129         * lisp/vc/vc.el (vc-default-ignore-completion-table):
8130         Make sure that the ignore file exists.
8132 2015-11-09  Michael Sperber  <mike@xemacs.org>
8134         * lisp/gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
8135         `gnus-summary-delete-article` in a way that also works on XEmacs.
8137 2015-11-08  Simen Heggestøyl  <simenheg@gmail.com>
8139         Add support for retrieving paths to JSON elements
8141         Add support for retrieving the path to a JSON element. This can for
8142         instance be useful to retrieve paths in deeply nested JSON
8143         structures.
8145         * lisp/json.el (json-pre-element-read-function)
8146         (json-post-element-read-function): New variables to hold pre- and post
8147         read callback functions for `json-read-array' and `json-read-object'.
8148         (json--path): New variable used internally by `json-path-to-position'.
8149         (json--record-path, json--check-position): New functions used
8150         internally by `json-path-to-position'.
8151         (json-path-to-position): New function for retrieving the path to a
8152         JSON element at a given position.
8153         (json-read-object, json-read-array): Call
8154         `json-pre-element-read-function' and `json-post-element-read-function'
8155         when set.
8157         * test/automated/json-tests.el (test-json-path-to-position-with-objects)
8158         (test-json-path-to-position-with-arrays)
8159         (test-json-path-to-position-no-match): New tests for
8160         `json-path-to-position'.
8162 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
8164         * etc/NEWS: Mention new `bookmark-set-no-overwrite'.
8166         This really should been part of my previous commit
8167         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
8169 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
8171         Offer non-overwrite bookmark setter (Bug#15746)
8173         * lisp/bookmark.el (bookmark-set-internal): New helper function to do
8174           what `bookmark-set' used to do, but with more choices for overwrite
8175           vs push, and with minor changes to the interactive prompt format.
8176           (bookmark-set): Rewrite as wrapper around above.
8177           If overwriting, inform the user of that in the prompt.
8178           (bookmark-set-no-overwrite): New function, also done as wrapper.
8179           Bind to "M" in `ctl-x-r-map' autoloads.
8180           (bookmark-map): Similarly bind "M" here.
8182 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
8184         * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614).
8186 2015-11-08  Alan Modra  <amodra@gmail.com>
8188         ELF unexec: Don't insert a new section
8190         Reuse the .bss section instead, making it SHT_PROGBITS.  This way we
8191         don't need to mess with symbol st_shndx, or section sh_link and
8192         sh_info.
8194         This does lead to eu-elflint complaints about symbols defined in .bss
8195         with a needed version, because normally it is undefined symbols that
8196         have needed versions;  Defined symbols have version definitions.
8197         The exception is symbols defined by the linker in .dynbss for
8198         variables copied from a shared library in order to avoid text
8199         relocations, with copy relocs to copy their initial values from the
8200         shared library.  These symbols are both defined and have needed
8201         versions, and eu-elflink only expects to see them in SHT_NOBITS
8202         sections.  Of course there is no real problem with having such symbols
8203         in SHT_PROGBITS sections.  glibc ld.so handles them fine.
8205         * src/unexelf.c: Delete outdated comments.
8206         (PATCH_INDEX): Delete.
8207         (find_section): Delete.
8208         (unexec): Don't add a new section.  Instead reuse the last bss
8209         section, extending it to cover dumped data.  Make bss sections
8210         SHT_PROGBITS.  Remove all patching of sh_link, sh_info and
8211         st_shndx.  Rename bss sections.
8213 2015-11-08  Alan Modra  <amodra@gmail.com>
8215         ELF unexec: Drive from PT_LOAD header rather than sections
8217         This rewrites bss handling in the ELF unexec code.  Finding bss
8218         sections by name results in complicated code that
8219         - does not account for all names of possible bss sections,
8220         - assumes specific ordering of bss sections,
8221         - can wrongly choose a SHT_NOBITS section not in the bss segment,
8222         - incorrectly calculates bss size (no accounting for alignment gaps),
8223         - assumes .data and .bss are in the same segment.
8225         All of these problems and more are solved by finding the bss segment
8226         in PT_LOAD headers, ie. the address range included in p_memsz but not
8227         p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections
8228         in that address range.
8230         * src/unexelf.c: Delete old ppc comment.
8231         (OLD_PROGRAM_H): Define.
8232         (round_up): Delete.
8233         (unexec): Don't search for bss style sections by name.  Instead,
8234         use the last PT_LOAD header address range covered by p_memsz
8235         but not p_filesz and match any SHT_NOBITS section in that
8236         address range.  Simplify initialisation of section header vars.
8237         Don't assume that section headers are above bss segment.  Move
8238         copying of bss area out of section loop.  Align .data2 section
8239         to 1, since it now covers the entire bss area.  For SHT_NOBITS
8240         sections in the bss segment, leave sh_addr and sh_addralign
8241         unchanged, but correct sh_offset.  Clear memory corresponding
8242         to SHT_NOBITS .plt section.  Delete comment and hacks for
8243         sections partly overlapping bss range now that the full range
8244         is properly calculated.  Delete now dead .sbss code.
8245         (Bug#20614)
8247 2015-11-08  Alan Modra  <amodra@gmail.com>
8249         ELF unexec: R_*_NONE relocs
8251         These should be ignored on all targets.
8253         * src/unexelf.c (unexec): Ignore R_*_NONE relocs for any target,
8254         not just Alpha.  Comment on reloc size assumption.
8256 2015-11-08  Alan Modra  <amodra@gmail.com>
8258         ELF unexec: _OBJC_ symbols in bss sections
8260         This code assumed that there was only one bss section.  Rather than
8261         checking for a particular index, check the section type.  Also, handle
8262         the possibility that the section was SHT_NOBITS originally and is
8263         unchanged, in which case no clearing is needed (and sh_offset isn't
8264         necessarily valid, which can lead to a wild memset).
8266         * src/unexelf.c (unexec): Properly handle _OBJC_ symbols in bss sections.
8268 2015-11-08  Alan Modra  <amodra@gmail.com>
8270         ELF unexec: Symbol table patching
8272         No st_shndx value larger than SHN_LORESERVE should be changed.
8273         * src/unexelf.c (unexec): Don't adjust any st_shndx larger than
8274         SHN_LORESERVE.  Error on SHN_XINDEX.
8276 2015-11-08  Alan Modra  <amodra@gmail.com>
8278         ELF unexec: Merge Alpha and MIPS COFF debug handling
8280         * src/unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling.
8281         Don't find .mdebug section index, find the section in the loop.
8282         Allow for unlikely possibility that .mdebug is located at sh_offset
8283         before bss segment, by calculating move from difference in
8284         sh_offset rather than just assuming new_data2_size.  Simplify
8285         cbLineOffset handling.
8287 2015-11-08  Alan Modra  <amodra@gmail.com>
8289         ELF unexec: Tidy code
8291         Separate out some of the more mechanical changes so following patches
8292         are smaller.
8294         * src/unexelf.c (unexec): Rearrange initialisation of program
8295         header vars.  Use pointer vars in loops rather than indexing
8296         section header array via macros.  Simplify _OBJC_ sym code
8297         and reloc handling code.
8299 2015-11-08  Alan Modra  <amodra@gmail.com>
8301         ELF unexec: Correct section header index
8303         First a small fix.  The code incorrectly uses "NEW_SECTION_H (n)" when
8304         it should have been using "NEW_SECTION_H (nn)" to find the name of the
8305         section currently being processed.  Of course, before the bss
8306         sections, n and nn have the same value, so this doesn't matter except
8307         in the case of .sbss.  For .sbss this probably meant .bss (most likely
8308         the next section) was copied from memory.  A later patch removes the
8309         bogus .sbss handling anyway.
8311         * src/unexelf.c (unexec): Use correct index to look up names.
8313 2015-11-08  Michael Albinus  <michael.albinus@gmx.de>
8315         Fix Bug#21841
8317         * lisp/filenotify.el (file-notify--rm-descriptor):
8318         Use `descriptor' instead of computing its value.
8319         (file-notify--descriptor): Additional argument FILE.  Adapt all callees.
8320         (file-notify-rm-watch): Use `descriptor' when calling file name handler.
8321         (Bug#21841)
8323 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
8325         Remove dirs in vc project roots from the the vc project library roots
8327         * lisp/progmodes/project.el (project-library-roots): Remove
8328         directories inside the project roots from the result.
8329         (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
8331 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
8333         Move and rename xref-find-regexp to the project package
8335         * lisp/progmodes/project.el (project-find-regexp)
8336         (project--read-regexp)
8337         (project--find-regexp-in): New functions.
8339         * lisp/progmodes/xref.el (xref--find-xrefs): Extract from
8340         xref--show-xrefs.  Use in existing callers in place of that
8341         function.
8342         (xref--show-xrefs): Only do the "show" part.
8343         (xref-find-regexp): Rename, more or less, to
8344         project-or-libraries-find-regexp.
8346 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
8348         Abolish temporary buffer management for xref
8350         * lisp/progmodes/xref.el (xref--temporary-buffers)
8351         (xref--current)
8352         (xref--inhibit-mark-current)
8353         (xref--mark-selected): Remove.  Remove all references.
8354         (xref--show-xrefs): Do not construct the
8355         list of the temporary buffers, nor pass it along.
8357 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
8359         Rename "search path" to "library roots"
8361         * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
8362         of the elements from CL-LIST1.
8364         * test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
8365         Update WRT to the above change.
8367         * lisp/progmodes/project.el (project-search-path-function): Rename
8368         to project-library-roots-function, update the documentation and
8369         references.
8370         (project-search-path): Likewise, to project-library-roots.
8371         (project-roots): Clarify documentation.
8372         (project-vc-search-path): Likewise, to project-vc-library-roots.
8373         (project-library-roots): In addition to the renames, thread the
8374         results through file-name-as-directory.
8375         (project-prune-directories): Accept a variable number of
8376         arguments.  Rename to project-combine-directories.
8377         (project-subtract-directories): New function.
8379         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
8380         Append project-roots and project-library-roots together.
8382         * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
8384 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
8386         Prefer xpalloc to doubling buffers by hand
8388         * src/lread.c (grow_read_buffer): New function, which uses xpalloc.
8389         (read1): Use it for simplicity.
8390         * src/macros.c (store_kbd_macro_char):
8391         * src/minibuf.c (read_minibuf_noninteractive):
8392         * src/term.c (encode_terminal_code):
8393         * src/xrdb.c (magic_db):
8394         Prefer xpalloc to growing buffers by hand.
8395         This doesn’t fix any bugs, but simplifies the code a bit.
8397 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
8399         Merge from gnulib
8401         This incorporates:
8402         2015-11-05 timespec-sub: fix overflow bug; add tests
8403         2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW
8404         2015-11-03 intprops: add parentheses
8405         * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c:
8406         Copy from gnulib.
8408 2015-11-07  David Reitter  <david.reitter@gmail.com>
8410         Provide NS notification objects where required to eliminate warnings
8412         * src/nsterm.m (windowDidResize:, toggleFullScreen:):
8413         Call notification functions with notification objects
8414         as per delegate APIs.
8416 2015-11-07  Noam Postavsky  <npostavs@users.sourceforge.net>
8418         Add test for bug #21824
8420         * test/automated/buffer-tests.el: New file.
8421         (overlay-modification-hooks-message-other-buf): New test.
8423 2015-11-07  Kelvin White  <kwhite@gnu.org>
8425         * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771.
8427 2015-11-07  David Reitter  <david.reitter@gmail.com>
8429         Ignore fullscreen exit notifications on NS when frame is dead
8431         * src/nsterm.m (windowDidResize:, windowWillExitFullScreen:)
8432         (windowDidExitFullScreen:): Return if frame is dead.
8433         These functions may be called when a fullscreen frame
8434         is closed; they are called before, not after.
8436         May address Bug#21428.
8438 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
8440         Speed up lookup in redisplay--variables
8442         * lisp/frame.el (redisplay--variables): Make it a hash-table.
8444         * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
8445         as a hash-table.  This speeds up this function by an order of
8446         magnitude: where previously a setq was slowed down by 100% by
8447         introducing the maybe_set_redisplay test, it is now only 5%
8448         slower.
8449         (syms_of_xdisp) <redisplay--variables>: Doc fix.
8451 2015-11-07  Artur Malabarba  <bruce.connor.am@gmail.com>
8453         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug.
8455         The defsubst was being created as:
8456             (cl-defsubst name (args) ("DOC") ...)
8458         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
8459         Add test.
8461 2015-11-07  Mihai Olteanu  <mihai_olteanu@fastmail.fm>  (tiny change)
8463         Update doc string of hexl-mode
8465         * lisp/hexl.el (hexl-mode): Doc fix.  (Bug#21800)
8467 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
8469         Fix error in copy-abbrev-table
8471         * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff
8472         property of the abbrev-table.  (Bug#21828)
8474         * test/automated/abbrev-tests.el: New file.
8476 2015-11-07  Michael Albinus  <michael.albinus@gmx.de>
8478         Add test to auto-revert-tests.el for Bug#21841
8480         * test/automated/auto-revert-tests.el
8481         (auto-revert-test01-auto-revert-several-files): New test.
8482         (auto-revert-test02-auto-revert-tail-mode)
8483         (auto-revert-test03-auto-revert-mode-dired): Rename them.
8485 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
8487         * doc/lispref/windows.texi (Coordinates and Windows): Fix typo.
8489 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
8491         In x_consider_frame_title don't set title of tooltip frames
8493         * src/xdisp.c (x_consider_frame_title): Return immediately for
8494         tooltip frames to avoid displaying empty tooltips.
8496 2015-11-06  Anders Lindgren  <andlind@gmail.com>
8498         Fixed NextStep fullscreen problem (bug#21770).
8500         * src/nsterm.m (ns_constrain_all_frames): Don't constrain
8501         fullscreen frames.
8503 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
8505         Ensure redisplay after evaluation
8507         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
8508         Revert last change.
8509         * lisp/frame.el (redisplay--variables): Populate the
8510         redisplay--variables list.
8511         * src/xdisp.c (maybe_set_redisplay): New function.
8512         (syms_of_xdisp) <redisplay--variables>: New variable.
8513         * src/window.h (maybe_set_redisplay): Declare prototype.
8514         * src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
8516 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
8518         * test/automated/subr-tests.el (subr-test-when): Fix again.
8520 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
8522         Don't invoke overlay modification hooks in wrong buffer
8524         * src/buffer.c (report_overlay_modification): When called with
8525         AFTER non-zero, don't invoke overlay modification hooks if the
8526         buffer recorded in last_overlay_modification_hooks is different
8527         from the current buffer.  (Bug#21824)
8529 2015-11-06  Juanma Barranquero  <lekktu@gmail.com>
8531         * admin/notes/repo: Fix a few obsolete references to Bazaar.
8533 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
8535         * test/automated/subr-tests.el (subr-test-when): Fix test.
8537 2015-11-06  Martin Rudalics  <rudalics@gmx.at>
8539         Avoid division by zero crash observed by Yuan MEI
8541         See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html.
8543         * src/dispnew.c (required_matrix_height, required_matrix_width):
8544         Avoid division by zero.
8545         * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and
8546         dpyinfo->smallest_char_width to 1.
8548 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
8550         Ensure redisplay after "C-x C-e"
8552         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure
8553         redisplay happens to account for any side effects of the evaluated
8554         sexp.  (Bug#21835)
8556 2015-11-06  Michael Albinus  <michael.albinus@gmx.de>
8558         Skip some file notification tests for cygwin
8560         * test/automated/file-notify-tests.el (file-notify--test-with-events):
8561         Remove argument TIMEOUT.  Adapt all callees.
8562         (file-notify-test02-events, file-notify-test04-file-validity):
8563         Skip for cygwin.  (Bug#21804)
8565 2015-11-05  Stephen Leake  <stephen_leake@stephe-leake.org>
8567         * lisp/progmodes/xref.el: Require semantic/symref during compilation.
8569 2015-11-05  Daiki Ueno  <ueno@gnu.org>
8571         Suppress redundant Pinentry startup messages
8573         * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument.
8574         * lisp/epg.el: Declare `pinentry-start'.
8575         (epg--start): Call `pinentry-start' with QUIET argument set.
8577 2015-11-05  Xue Fuqiao  <xfq.free@gmail.com>
8579         * doc/emacs/ack.texi (Acknowledgments): Updates.
8581 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
8583         * test/automated/elisp-mode-tests.el: Silence some run-time warnings.
8584         (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
8586 2015-11-05  Tassilo Horn  <tsdh@gnu.org>
8588         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
8589         Add prettification support for \times.
8591 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
8593         * test/automated/process-tests.el: Skip tests when bash is unavailable.
8594         (process-test-sentinel-accept-process-output)
8595         (process-test-sentinel-sit-for): skip-unless bash executable found.
8597 2015-11-05  Eli Zaretskii  <eliz@gnu.org>
8599         Add test for bug #21831
8601         * test/automated/process-tests.el
8602         (start-process-should-not-modify-arguments): New test.  (Bug#21831)
8603         Suggested by Nicolas Richard <youngfrog@members.fsf.org>
8605 2015-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
8607         * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests.
8609         (eieio--generic-static-object-generalizer): Fix typo.
8610         * test/automated/eieio-tests.el: Byte-compile it again.  It looks
8611         like the underlying cause of bug#17852 was fixed in the mean time.
8613 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
8615         Revert "* lisp/subr.el (when): Use `macroexp-progn'"
8617         This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8.
8618         It breaks bootstrapping (duh).
8620 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
8622         * lisp/files.el (report-errors): Obsolete.
8624         (normal-mode, hack-local-variables, dir-locals-find-file):
8625         Use `with-demoted-errors' instead.
8627 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
8629         * lisp/subr.el (when): Use `macroexp-progn'.
8631         * test/automated/subr-tests.el (subr-test-when): New test.
8633 2015-11-04  Juanma Barranquero  <lekktu@gmail.com>
8635         * lisp/progmodes/xref.el: Doc fixes.
8636         (xref-make-file-location, xref-make-buffer-location, xref-make)
8637         (xref-make-bogus-location, xref-make-match): Add cross-references.
8638         (xref--insert-xrefs): Fix typo in docstring.
8640 2015-11-04  Anders Lindgren  <andlind@gmail.com>
8642         Render fringe bitmaps correctly on NextStep (bug#21301)
8644         The fringe bitmaps were inverted, the background was not transparent,
8645         the image data was horizontally mirrored, and periodic fringe bitmaps
8646         were not supported.
8648         * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]):
8649         When both background and foreground colors are 0, set the background
8650         alpha channel to 0 (making the background transparent).  When
8651         copying the image data, do this from the most significant bit
8652         (leftmost) to the least (rightmost), to avoid mirroring.
8653         * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits.
8654         Add support for periodic images (e.g. the empty line indicator).
8656 2015-11-03  Michael Heerdegen  <michael_heerdegen@web.de>
8658         * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring.
8660 2015-11-03  Nicolas Petton  <nicolas@petton.fr>
8662         * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el.
8664         * admin/MAINTAINERS: Add thunk.el.
8666 2015-11-03  Jay Belanger  <jay.p.belanger@gmail.com>
8668         * lisp/calc/calc.el (calc-bug-address): Change maintainer address.
8670 2015-11-03  Michael Albinus  <michael.albinus@gmx.de>
8672         Fix a stupid error in gfilenotify.c
8674         * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only,
8675         if we've got a `deleted' signal AND the file name is the watched one.
8677 2015-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
8679         Fix Bug#21816; case insensitive file system in elisp-mode-tests.el
8681         * test/automated/elisp-mode-tests.el (xref-elisp-test-run):
8682         Use case-insensitive string compare for file names.
8683         (emacs-test-dir): Add 'downcase' to cause case differences (at
8684         least on my system).
8686 2015-11-02  Juanma Barranquero  <lekktu@gmail.com>
8688         flymake-tests.el (warning-predicate-rx-gcc): Fix check
8690         * test/automated/flymake-tests.el (warning-predicate-rx-gcc):
8691         Also check that "make" is available, not just "gcc".
8693 2015-11-02  Ken Brown  <kbrown@cornell.edu>
8695         Document behavior of collation on Cygwin
8697         * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as
8698         expected failure on Cygwin.
8699         * doc/lispref/strings.texi (Text Comparison): Document that
8700         punctuation and whitespace are not ignored for sorting on Cygwin.
8702 2015-11-02  Dani Moncayo  <dmoncayo@gmail.com>
8704         * build-aux/msys-to-w32: Prevent double slashes in w32 path list.
8706 2015-11-01  Glenn Morris  <rgm@gnu.org>
8708         * lisp/progmodes/f90.el (f90-no-block-limit): Add associate.
8709         (Bug#21794)
8710         * test/automated/f90.el (f90-test-bug21794): New test.
8712 2015-11-01  Juanma Barranquero  <lekktu@gmail.com>
8714         Fix incompatibility with TCC in test for bug#18745
8716         * test/automated/process-tests.el (process-test-quoted-batfile):
8717         Remove spaces unrelated to the bug being tested.
8719 2015-11-01  Michael Albinus  <michael.albinus@gmx.de>
8721         Improve completion in tramp-gvfs.el
8723         * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names):
8724         Rename from `tramp-zeroconf-parse-service-device-names'.
8725         (tramp-zeroconf-parse-webdav-device-names): Remove.  Code merged
8726         with `tramp-zeroconf-parse-device-names'.
8727         (tramp-gvfs-parse-device-names): New defun.
8728         (top): Use it when `tramp-zeroconf-parse-device-names' is not
8729         applicable.
8731         * lisp/net/tramp.el (tramp-set-completion-function): The argument
8732         could also be a zeroconf service type.
8734 2015-10-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8736         * lisp/net/ntlm.el: Change version to 2.0.0.
8738 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
8740         Fix bug#21762
8741         * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
8742         `eql' instead of `=' to accommodate the case that (syntax-after (point))
8743         returns nil.
8744         * test/automated/python-tests.el (python-indent-inside-paren-7):
8745         New test.
8747 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
8749         * test/automated/python-tests.el: Avoid warnings.
8750         (python-tests-with-temp-buffer, python-tests-with-temp-file):
8751         Bind `python-indent-guess-indent-offset' to nil.
8753 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
8755         * src/alloc.c: Silence compiler warnings.
8756         (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC.
8758 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
8760         * etc/NEWS: Fix js-jsx-mode entry punctuation.
8762 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
8764         Add JSX indentation via js-jsx-mode  (Bug#21799)
8766         * lisp/progmodes/js.el: Add JSX indentation support.
8767         (js--jsx-end-tag-re)
8768         (js--jsx-after-tag-re): New variables.
8769         (js--jsx-find-before-tag)
8770         (js--jsx-indented-element-p)
8771         (js--as-sgml)
8772         (js--expression-in-sgml-indent-line)
8773         (js-jsx-indent-line)
8774         (js-jsx-mode): New functions.
8775         * test/indent/js-jsx.js: New file.
8776         * etc/NEWS: Add information about js-jsx-mode.
8778 2015-10-31  Michael Albinus  <michael.albinus@gmx.de>
8780         Minor fix in filenotify.el
8782         * lisp/filenotify.el (file-notify--event-file-name)
8783         (file-notify--event-file1-name): Normalize result with
8784         `directory-file-name'.
8786 2015-10-31  Eli Zaretskii  <eliz@gnu.org>
8788         Avoid errors in redisplay--pre-redisplay-functions
8790         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
8791         use 'bobp', instead compare window-point with 1.  (Bug#21730)
8793 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
8795         Merge from gnulib
8797         This incorporates:
8798         2015-10-30 intprops: add WRAPV and const flavors for GCC 5
8799         2015-10-25 stdalign: port to Sun C 5.9
8800         * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h:
8801         Copy from gnulib.
8803 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
8805         * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro.
8806         (w32_compare_strings): Adjust for the correction.
8808 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
8810         * test/automated/vc-tests.el (vc-test--state)
8811         (vc-test--working-revision, vc-test--checkout-model):
8812         Add result messages.
8814 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8816         * test/automated/faces-tests.el: Add another test
8818 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8820         * lisp/faces.el (faces--attribute-at-point): Fix bug
8821         introduced by previous commit.
8823 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8825         * test/automated/faces-tests.el: New file.
8827 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8829         * lisp/faces.el: Refactor common code and fix a bug.
8830         (faces--attribute-at-point): New function.  Fix a bug when the
8831         face at point is a list of faces and the desired attribute is not
8832         on the first one.
8833         (foreground-color-at-point, background-color-at-point): Use it.
8835 2015-10-30  Przemysław Wojnowski  <esperanto@cumego.com>
8837         * etc/tutorials/TUTORIAL.translators: Fix PL names.
8839 2015-10-30  Juanma Barranquero  <lekktu@gmail.com>
8841         * lisp/character-fold.el: Provide `character-fold'.
8843 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
8845         * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces
8846         for Gnus and ivy.
8848 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
8850         Some minor fixes for tramp-gvfs.el
8852         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
8853         An attribute returned by gvfs-info might be empty.  In case of
8854         undetermined uid or gid, return "UNKNOWN" or -1, respectively.
8855         (tramp-zeroconf-parse-service-device-names): New defun.
8856         Derived from `tramp-zeroconf-parse-workstation-device-names'.
8857         (top): Add completion functions for "afp" and "smb" methods.
8859 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8861         * test/automated/character-fold-tests.el: New file
8863 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8865         * test/automated/sort-tests.el: New file.
8866         Tests in this file are randomly generated and then tested with
8867         regular, reverse, and case-fold sorting.
8869 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
8871         Describe known problems with pinning Emacs to taskbar
8873         * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar
8874         on Windows 10.  For the details, see the discussion starting at
8875         http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html.
8877 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8879         * lisp/isearch.el: Avoid an error that blocks isearch.
8880         (isearch-update): Don't error if `isearch--current-buffer' has
8881         been killed.
8883         * test/automated/isearch-tests.el (isearch--test-update):
8884         New file.
8886 2015-10-30  Phil Sainty  <psainty@orcon.net.nz>
8888         Fix documentation of 'beginning/end-of-buffer'
8890         * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify
8891         conditions under which the mark will be pushed at the previous
8892         position.  (Bug#21748)
8894 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
8896         Add RefTeX feature idea: editing RefTeX TOC buffers
8898         More face defs for ivy, swiper, ace-window, eshell
8900 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8902         * lisp/gnus/auth-source.el: Silence lexical-binding warnings.
8903         (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to
8904         just VAR.
8905         (auth-source-backend-parse): Use make-instance.
8906         (auth-source-search): Remove unused key args.
8907         Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
8908         (auth-source-search-backends): Use slot names rather than their initarg.
8909         (auth-source-netrc-create):
8910         (auth-source-delete):
8911         (auth-source-secrets-create, auth-source-plstore-search)
8912         (auth-source-macos-keychain-create, auth-source-macos-keychain-search)
8913         (auth-source-plstore-create, auth-source-netrc-search)
8914         (auth-source-netrc-parse): Remove unused key args.
8915         (auth-source-forget+): Simplify the arglist.
8916         (auth-source-macos-keychain-search-items)
8917         (auth-source-token-passphrase-callback-function): Mark unused args.
8918         (auth-source-epa-extract-gpg-token): Remove unused var `plain'.
8919         (pp-escape-newlines): Declare.
8920         (auto-source--symbol-keyword): New function.
8921         (auth-source-plstore-create, auth-source-netrc-create)
8922         (auth-source-netrc-normalize): Use it.
8923         (auth-source-netrc-search): Don't pass :delete to
8924         auth-source-netrc-parse since it doesn't use it.
8925         (auth-source-plstore-create, auth-source-netrc-create): Use plist-get
8926         symbol-value to index in keyword args.
8927         (auth-source-macos-keychain-result-append): Avoid setq.
8928         (auth-source-netrc-create): Remove unused vars `file' and `add'.
8929         (auth-source-user-or-password): Remove unused var `cname'.
8931 2015-10-29  Juri Linkov  <juri@linkov.net>
8933         * lisp/dired.el (dired-unmark-all-files-query): Declare.
8934         (dired-unmark-all-files): Let-bind it and use instead of ‘query’.
8935         (Bug#21746)
8937 2015-10-29  Juri Linkov  <juri@linkov.net>
8939         * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol
8940         to go to the beginning of text line instead of command line.
8941         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html
8943 2015-10-29  Eli Zaretskii  <eliz@gnu.org>
8945         Fix encoding of saving *Help* buffers
8947         * lisp/help-fns.el (describe-function-1): If we use curved quotes,
8948         set help buffer's buffer-file-coding-system to UTF-8.  (Bug#21780)
8950 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8952         * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context.
8953         (cl--generic-derived-specializers): New function.
8954         (cl--generic-derived-generalizer): New generalizer.
8955         (cl-generic-generalizers): New specializer (derived-mode MODE).
8956         (cl--generic-split-args): Apply the rewriter, if any.
8957         (cl-generic-define-context-rewriter): New macro.
8958         (major-mode): Use it to define a new context-rewriter, so we can write
8959         `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
8961         * lisp/frame.el (window-system): New context-rewriter so we can write
8962         `(window-system VAL)' instead of (window-system (eql VAL)).
8963         (cl--generic-split-args): Apply the rewriter, if any.
8964         (frame-creation-function): Use the new syntax.
8966         * lisp/term/x-win.el (window-system-initialization)
8967         (handle-args-function, frame-creation-function)
8968         (gui-backend-set-selection, gui-backend-selection-owner-p)
8969         (gui-backend-selection-exists-p, gui-backend-get-selection):
8970         * lisp/term/w32-win.el (window-system-initialization)
8971         (handle-args-function, frame-creation-function)
8972         (gui-backend-set-selection, gui-backend-get-selection)
8973         (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
8974         * lisp/term/pc-win.el (gui-backend-get-selection)
8975         (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
8976         (gui-backend-set-selection, window-system-initialization)
8977         (frame-creation-function, handle-args-function):
8978         * lisp/term/ns-win.el (window-system-initialization)
8979         (handle-args-function, frame-creation-function)
8980         (gui-backend-set-selection, gui-backend-selection-exists-p)
8981         (gui-backend-get-selection):
8982         * lisp/startup.el (handle-args-function):
8983         * lisp/term/xterm.el (gui-backend-get-selection)
8984         (gui-backend-set-selection): Use the new syntax.
8986 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8988         * test/indent/css-mode.css: Add tests for url(...) syntax.
8990 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8992         * lisp/emacs-lisp/smie.el: Use `declare' for `pure'.
8993         (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2)
8994         (smie-prec2->grammar): Use `declare'.
8996 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8998         * lisp/emacs-lisp/cl-generic.el: Accommodate future changes.
8999         (cl--generic-generalizer): Add `name' field.
9000         (cl-generic-make-generalizer): Add corresponding `name' argument.
9001         (cl-generic-define-generalizer): New macro.
9002         (cl--generic-head-generalizer, cl--generic-eql-generalizer)
9003         (cl--generic-struct-generalizer, cl--generic-typeof-generalizer)
9004         (cl--generic-t-generalizer): Use it.
9005         (cl-generic-ensure-function): Add `noerror' argument.
9006         (cl-generic-define): Use it so we don't follow aliases.
9007         (cl-generic-define-method): Preserve pre-existing ordering of methods.
9008         (cl--generic-arg-specializer): New function.
9009         (cl--generic-cache-miss): Use it.
9010         (cl-generic-generalizers): Only fset a temporary definition
9011         during bootstrap.
9012         (cl--generic-struct-tag, cl--generic-struct-specializers):
9013         Allow extra arguments.
9015         * lisp/emacs-lisp/eieio-compat.el
9016         (eieio--generic-static-symbol-generalizer)
9017         (eieio--generic-static-object-generalizer):
9018         Use cl-generic-define-generalizer.
9019         (eieio--generic-static-symbol-specializers): Allow extra arguments.
9021         * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
9022         (eieio--generic-subclass-generalizer):
9023         Use cl-generic-define-generalizer.
9024         (eieio--generic-subclass-specializers): Allow extra arguments.
9026 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9028         * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope.
9030 2015-10-29  Michael Albinus  <michael.albinus@gmx.de>
9032         Add "afp" method to Tramp
9034         * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
9036         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
9037         (tramp-gvfs-handle-expand-file-name)
9038         (tramp-gvfs-handler-mounted-unmounted)
9039         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
9040         (tramp-gvfs-maybe-open-connection): Support also "afp".
9041         (tramp-gvfs-handle-file-attributes): Handle the case of empty
9042         "owner::user" and "owner::group" entries.
9044 2015-10-29  Andy Moreton  <andrewjmoreton@gmail.com>
9046         Handle negative coordinates in ‘x_calc_absolute_position’
9048         * src/w32term.c (x_calc_absolute_position): Find display origin to
9049         allow for negative coordinates.
9051 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
9053         (internal--syntax-propertize): Save match-data here (bug#21766)
9055         * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data.
9056         * lisp/simple.el (delete-trailing-whitespace): Undo last change.
9058 2015-10-28  Dmitry Gutov  <dgutov@yandex.ru>
9060         Don't require default-directory to end with a slash
9062         * doc/lispref/files.texi (Magic File Names): Document the change
9063         in unhandled-file-name-directory.
9065         * lisp/url/url-handlers.el
9066         (url-handler-unhandled-file-name-directory): Update accordingly.
9068         * src/buffer.c (default-directory): Update the docsting.
9070         * src/fileio.c (unhandled-file-name-directory): Default to calling
9071         `file-name-as-directory'
9072         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
9074 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9076         * lisp/isearch.el: Delete some outdated comments.
9078 2015-10-28  Vibhav Pant  <vibhavp@gmail.com>
9080         Fix eshell/clear not working if the output has a small line count
9082         * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the
9083         number of newlines to be inserted. This fixes the issue where
9084         eshell/clear wouldn't work if the prompt was not at the bottom of the
9085         window, and the output wasn't too long.
9087 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
9089         * lisp/files.el (write-file): Use vc-refresh-state.
9091         * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state.
9093         * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state.
9095 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
9097         * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations.
9098         (macroexp-unprogn): Make sure we never return an empty list.
9099         (macroexp-if): Remove unused (and unsafe) optimization.
9100         Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does
9101         occur occasionally.
9103 2015-10-28  Juanma Barranquero  <lekktu@gmail.com>
9105         Fix bug#21766 and add test
9106         * lisp/simple.el (delete-trailing-whitespace): Save match data when
9107         calling `skip-syntax-backward'.
9108         * test/automated/simple-test.el (simple-delete-trailing-whitespace):
9109         New test.
9111 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9113         * doc/lispref/sequences.texi (Sequence Functions): Fix typo.
9115 2015-10-28  Paul Eggert  <eggert@cs.ucla.edu>
9117         * src/dispnew.c (init_display): Simplify overflow checking.
9119 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9121         * lisp/character-fold.el (character-fold-to-regexp): Fix case
9122         where string ends in space
9124 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9126         * lisp/emacs-lisp/seq.el (seq-mapn): New function.
9128         * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn.
9130 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9132         * lisp/character-fold.el: Make compatible with lax-whitespace.
9133         (character-fold-to-regexp): Rework internals to play nice with
9134         lax-whitespacing.
9136         When the user types a space, we want to match the table entry for
9137         ?\s, which is generally a regexp like "[ ...]".  However, the
9138         `search-spaces-regexp' variable doesn't "see" spaces inside these
9139         regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to
9140         manually expose a space).
9142         Furthermore, the lax search engine acts on a bunch of spaces, not
9143         on individual spaces, so if the string contains sequential spaces
9144         like "  ", we need to keep them grouped together like this:
9145         "\\(  \\|[ ...][ ...]\\)".
9147 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9149         * lisp/isearch.el: Refactor momentary messages.
9150         (isearch--momentary-message): New function.
9151         (isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
9152         (isearch-toggle-invisible): Use it.
9154 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9156         * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'.
9157         (isearch-define-mode-toggle): New macro.
9158         (isearch-toggle-invisible): Rename to
9159         `isearch-define-mode-toggle'.
9160         (isearch-toggle-case-fold, isearch-toggle-invisible)
9161         (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
9162         with `isearch-define-mode-toggle'.
9164 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
9166         Avoid using `add-to-list' on a let-local var in tramp-smb.el
9168         * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun.
9169         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
9171 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
9173         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
9174         Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups'
9175         does not exist in XEmacs 21.4.
9177 2015-10-28  Anders Lindgren  <andlind@gmail.com>
9179         Fixed OS X startup crash
9181         Input events started to arrive before ns_term_init() was finished.
9182         Solved by blocking input.  This also seems to correct the "You
9183         can't open the application "Emacs" because it may be damaged or
9184         incomplete" error issued when double-clicking on the Emacs
9185         application.
9187         * src/nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
9188         * src/nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
9190 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9192         * src/process.c (Fget_buffer_process): Improve docstring.
9193         Document the fact that it doesn't return dead processes.
9195 2015-10-28  Anders Lindgren  <andlind@gmail.com>
9197         Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
9199         * src/nsterm.h (struct ns_output): New flag, in_animation.
9200         * src/nsfns.m (Fx_create_frame): Initialize in_animation flag.
9201         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
9202         in_animation flag around call to "setVisible". Set new tool bar
9203         height before call to setVisible.
9204         * src/nsterm.m (x_set_window_size): Don't call [view setRow:
9205         andColumns:] as this fools the subsequent call to updateFrameSize
9206         from performing the real resize.
9207         (windowDidResize): Don't update anything when in_animation is
9208         non-zero.
9210         Trace output.
9212         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
9213         (EmacsToolbar):
9214         * src/nsterm.m (x_set_window_size, updateFrameSize)
9215         ([EmacsView setRows: andColumns:])
9217 2015-10-28  Nicolas Petton  <nicolas@petton.fr>
9219         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro.
9221 2015-10-28  Tassilo Horn  <tsdh@gnu.org>
9223         Prettify TeX macros not ending in a word char
9225         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
9226         Prettify macros which don't end in a word character.
9228 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
9230         Pipe Hg commit descriptions through 'tabindent'
9232         * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description
9233         through 'tabindent'.
9234         (vc-hg-log-view-mode): Set tab-width to 2 locally.
9235         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html)
9237 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9239         * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var.
9240         (tramp-smb-handle-directory-files): Use `delete-dups'.
9242         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
9244 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9246         * lisp/international/ccl.el: Use lexical-binding.
9247         (ccl-compile-if): Remove unused var `false-ic'.
9248         (ccl-compile-write-repeat): Remove unused var `i'.
9249         (ccl-compile-map-single): Remove unused var `id'.
9250         (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the
9251         dynamic var `ccl-code'.
9253 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9255         * lisp/json.el (json-new-object): Optimize trivial `list' call.
9257 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9259         * lisp/help.el: Fix bug with incorrect arglist string.
9260         (help-add-fundoc-usage): Don't mistake a mis-formatted string
9261         for a list.
9263 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9265         * lisp/gnus/gnus-topic.el: Silence some warnings.
9266         (gnus-topic-prepare-topic): Remove unused var `topic'.
9267         (gnus-topic-remove-topic): Mark unused arg `hide'.
9268         (gnus-tmp-header): Declare.
9269         (gnus-topic-goto-missing-group): Remove unused var `entry'.
9270         (gnus-topic-unmark-topic): Mark unused arg `dummy'.
9271         (gnus-topic-copy-matching): Mark unused arg `copyp'.
9272         Move initialization of `topic' into its declaration.
9274 2015-10-27  Stephen Leake  <stephen_leake@stephe-leake.org>
9276         Minor CEDET fixes
9278         * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call):
9279         Handle warnings from gtags about invalid options.
9280         (cedet-gnu-global-create/update-database): Do incremental update
9281         properly.
9283         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
9284         Get monotone root right.
9286 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
9288         Fall back to polling in autorevert when needed
9290         * lisp/autorevert.el (auto-revert-notify-handler): When a
9291         `stopped' event arrives from file notification, fall back to polling.
9293         * test/automated/file-notify-tests.el
9294         (file-notify-test03-autorevert): Extend test for polling when file
9295         notification ceases to work.
9297 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
9299         Show full commit messages in 'hg log' when appropriate
9301         * lisp/vc/vc-hg.el (vc-hg-log-format): New variable.
9302         (vc-hg-print-log, vc-hg-expanded-log-entry): Use it.
9303         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html)
9305 2015-10-27  Nicolas Petton  <nicolas@petton.fr>
9307         Use a plain SVG file for the icon
9309         * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG
9310           format instead of the Inkscape SVG format.
9312 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
9314         Fix subtle bug in auto-revert-tests.el
9316         * test/automated/auto-revert-tests.el
9317         (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages*
9318         buffer where it belongs to.  (Bug#21668)
9320 2015-10-26  Nicolas Petton  <nicolas@petton.fr>
9322         * lisp/emacs-lisp/map.el: Better docstrings.
9324         * lisp/emacs-lisp/seq.el: Better docstrings.
9326         * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence.
9328 2015-10-26  Phillip Lord  <phillip.lord@russet.org.uk>
9330         * lisp/emacs-lisp/ert.el: Print results without newline escaping.
9332 2015-10-26  Stephen Leake  <stephen_leake@stephe-leake.org>
9334         Clarify that load-path contents should be directory file names
9336         * doc/lispref/files.texi (Directory Names): Define and use "directory
9337         file name".  Recommend `expand-file-name'.
9339         * src/lread.c (load-path): Fix doc string; elements are directory file
9340         names.
9342 2015-10-26  Eli Zaretskii  <eliz@gnu.org>
9344         Fix simple-test.el test
9346         * test/automated/simple-test.el (simple-test--dummy-buffer):
9347         Make sure indentation doesn't use TABs, otherwise the 6th test
9348         might fail.
9350 2015-10-26  Mark Oteiza  <mvoteiza@udel.edu>
9352         * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width.
9353         `substring' does not account for full width characters.
9355 2015-10-26  Michael Albinus  <michael.albinus@gmx.de>
9357         Further work on `stopped' events in filenotify.el
9359         * doc/lispref/os.texi (File Notifications): Rework examples.
9361         * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter.
9362         (file-notify--rm-descriptor, file-notify-callback): Improve check
9363         for sending `stopped' event.
9364         (file-notify-add-watch): Check for more events for `inotify'.
9366         * test/automated/file-notify-tests.el
9367         (file-notify--test-expected-events): New defvar.
9368         (file-notify--test-with-events): Use it.
9369         (file-notify--test-cleanup): Make it more robust when deleting
9370         directories.
9371         (file-notify--test-event-test): Check also for watched directories.
9372         (file-notify--test-event-handler): Suppress temporary .#files.
9373         (file-notify-test02-events, file-notify-test04-file-validity):
9374         Rework `stopped' events.
9375         (file-notify-test05-dir-validity): Wait for events when appropriate.
9377 2015-10-26  Artur Malabarba  <bruce.connor.am@gmail.com>
9379         * src/keyboard.c (post-command-hook): Shorten docstring.
9381 2015-10-26  Tassilo Horn  <tsdh@gnu.org>
9383         Fix infinite loop in sh-script's SMIE code
9385         * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite
9386         loop (bug#21747).
9388 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9390         * lisp/isearch.el (search-default-regexp-mode): Revert to nil.
9391         Character-fold search _still_ doesn't play well with
9392         lax-whitespace.  So disable it by default (again) for now.
9394 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9396         * lisp/isearch.el: No visual feedback for default search mode.
9397         During an isearch where character-folding is the default, we don't
9398         want to take up minibuffer space just to tell the user that
9399         "Char-fold " is on.  The same goes for other modes, if the user
9400         changes the default.  In contrast, if the user toggles OFF the
9401         default mode, they should see "Literal", to distinguish it from
9402         the default mode.
9403         (isearch--describe-regexp-mode): Return "" if describing the
9404         default mode, and return "literal " if describing a plain search
9405         and it is not default.
9407 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9409         * test/automated/simple-test.el: New file.
9410         Define tests for `newline' and `open-line'.
9412 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9414         * lisp/simple.el (open-line): Integrate with electric-indent-mode.
9415         Also run `post-self-insert-hook' when called interactively.
9417 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9419         * lisp/simple.el (open-line): Fix docstring.
9420         Also explain apparently redundant line.
9422 2015-10-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9423             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
9425         Sync with soap-client repository, version 3.0.1
9427         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
9428         Bump version to 3.0.1.
9430         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page.
9432 2015-10-25  Eli Zaretskii  <eliz@gnu.org>
9434         * lisp/progmodes/grep.el (grep): Doc fix.  (Bug#21754)
9436 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9438         * src/keyboard.c (post-command-hook): Extend the docstring.
9439         Mainly, explain how to use it without hanging Emacs, or giving the
9440         impression that it is hanging.  Also mention `pre-command-hook'.
9441         (pre-command-hook): Mention `post-command-hook'.
9443 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9445         * lisp/custom.el (custom-declare-variable): Shorten code again.
9446         Without using pcase this time.  We can't use pcase because it is
9447         loaded after custom in loadup.el.  Also add a comment explaining
9448         this to future dummies like me.
9450 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
9452         * doc/lispref/os.texi (File Notifications): Document `stopped event'.
9454 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
9456         Introduce `stopped' event in file notification
9458         * lisp/filenotify.el (file-notify--rm-descriptor): New defun.
9459         (file-notify-rm-watch): Use it.
9460         (file-notify-callback): Implement `stopped' event.
9461         (file-notify-add-watch): Mention `stopped' in the docstring.
9462         Check, that upper directory exists.
9464         * test/automated/file-notify-tests.el (file-notify-test01-add-watch):
9465         Add two test cases.
9466         (file-notify-test02-events): Handle also `stopped' event.
9467         (file-notify-test04-file-validity): Add another test case.
9469 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
9471         Revert commit that broke 'make bootstrap'
9473         * lisp/custom.el (custom-declare-variable): Revert commit
9474         79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
9475         even when pcase has not been defined yet, when doing bootstrapping.
9477 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
9479         Port recent inline functions fix to Standard C
9481         * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove.
9482         All uses rewritten to define the function directly rather than to
9483         use a macro to define the function.  This conforms to Standard C,
9484         which does not allow stray semicolons at the top level.  I hope it
9485         also avoids the problems with TAGS.  Those macros, though clever,
9486         were pretty confusing anyway, and it wasn’t clear they were worth
9487         the aggravation even without the TAGS problem.
9489 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9491         * lisp/isearch.el: Make character-fold search the default again.
9493 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9495         * lisp/character-fold.el: Many improvements.
9496         (character-fold-search-forward, character-fold-search-backward):
9497         New command.
9498         (character-fold-to-regexp): Remove lax-whitespace hack.
9499         (character-fold-search): Remove variable.  Only isearch and
9500         query-replace use char-folding, and they both have their own
9501         variables to configure that.
9503 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9505         * lisp/isearch.el: Generalize definition of regexp-function toggles.
9506         (isearch-specify-regexp-function): New macro for specifying
9507         possible values of `isearch-regexp-function'.
9508         (isearch-toggle-character-fold, isearch-toggle-symbol)
9509         (isearch-toggle-word): Define with `isearch-specify-regexp-function'.
9511 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9513         * lisp/isearch.el (search-default-regexp-mode): New variable.
9514         (isearch-mode): Use it.
9516 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9518         * lisp/isearch.el (search-exit-option, search-slow-window-lines)
9519         (search-slow-speed, search-upper-case)
9520         (search-nonincremental-instead, search-whitespace-regexp)
9521         (search-invisible, isearch-hide-immediately)
9522         (isearch-resume-in-command-history, search-ring-max)
9523         (regexp-search-ring-max, search-ring-update, search-highlight)
9524         (isearch-fail): Delete :group entries.
9526 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9528         * lisp/custom.el (custom-declare-variable): Shorten code a bit.
9530 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9532         addpm.c: Silence some warnings.
9534         * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction
9535         to LPBYTE.
9536         (add_registry): Pass NULL to optional lpClass argument of
9537         RegCreateKeyEx, not an empty string.
9539 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9541         addpm.c: Do not add obsolete GTK libraries to the path.
9543         * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete.
9544         (add_registry): Remove variables `size' and `gtk_key'.
9545         Do not add the GTK DLL directory to the library search path; it is
9546         confusing behavior (in particular, the same Emacs version with and
9547         without invoking addpm will use a different path), and the GTK image
9548         libraries are obsolete anyway.
9550 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9552         addpm.c: Replace existing registry entries, but do not create new ones
9554         * nt/addpm.c (add_registry): If the Emacs registry key exists, replace
9555         existing values from previous versions, but do not add new ones; the
9556         key could exist for other reasons unrelated to old Emacsen, like X-style
9557         resources, or to set some environment variables like HOME or LANG, and
9558         in that case we don't want to populate it with obsolete values.
9560 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9562         * nt/addpm.c (add_registry): Do not compute unused return value.
9564 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9566         addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx
9568         * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of
9569         RegOpenKeyEx, not REG_OPTION_NON_VOLATILE.  This doesn't change
9570         current behavior because REG_OPTION_NON_VOLATILE is defined to
9571         be 0L anyway, but that option is actually documented only for
9572         RegCreateKeyEx.
9574 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9576         * src/w32notify.c (Fw32notify_add_watch): Fix version check.
9578 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
9580         Update frame title when redisplay scrolls selected window
9582         * src/xdisp.c (redisplay_window): Reconsider the frame's title
9583         when the mode-line of the frame's selected window needs to be
9584         updated.
9586 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
9588         Update frame title when scrolling the selected window
9590         * src/window.c (wset_update_mode_line): New function, sets either
9591         the window's update_mode_line flag or the global update_mode_lines
9592         variable.
9593         (Fset_window_start, set_window_buffer, window_scroll_pixel_based)
9594         (window_scroll_line_based): Call it instead of only setting the
9595         window's update_mode_line flag.
9597 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
9599         An even better fix for bug#21739
9601         * src/window.c (set_window_buffer): If the window is the frame's
9602         selected window, set update_mode_lines, not the window's
9603         update_mode_line flag.
9604         * src/buffer.c (Fkill_buffer): Undo last change.
9605         (set_update_modelines_for_buf): Function deleted.
9607 2015-10-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9608             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
9610         Sync with soap-client repository, version 3.0.0
9612         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
9613         Bump version to 3.0.0.
9615         * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch.
9617         * lisp/net/soap-client.el: Merge in changes from Emacs master branch.
9619         * lisp/net/soap-inspect.el: Shorten first line description.
9621         * lisp/net/soap-client.el: Make a small whitespace fix.
9623         * lisp/net/soap-inspect.el: Update copyright years.
9625         * lisp/net/soap-client.el (soap-encoded-namespaces): Move above
9626         first use in soap-encode-xs-element.
9628         * lisp/net/soap-client.el (soap-type-is-array?): new defun
9629         (soap-encode-xs-element): handle array elements in this function
9630         (soap-encode-xs-complex-type): flag error if asked to encode an
9631         array type, this is handled in `soap-encode-xs-element'
9633         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group):
9634         Do not print type for attribute group.
9636         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group)
9637         New function.
9638         (soap-inspect-xs-attribute-group): Likewise.
9640         * lisp/net/soap-inspect.el
9641         (soap-resolve-references-for-xs-attribute-group): Resolve
9642         references of attributes in an attribute group.
9644         * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute
9645         type directly, not through soap-wsdl-get.
9647         * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference
9648         nil if reference attribute is nil.
9650         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
9651         Convert XML schema attributes to xsd:string.
9653         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute):
9654         New function.
9655         (soap-sample-value-for-xs-simple-type): Prepend attributes to result.
9656         (soap-sample-value-for-xs-complex-type): Likewise.
9657         (soap-inspect-xs-attribute): New function.
9658         (soap-inspect-xs-simple-type): Print attributes.
9659         (soap-inspect-xs-complex-type): Likewise.
9661         * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type):
9662         Resolve references for attributes.
9663         (soap-resolve-references-for-xs-complex-type): Likewise.
9665         * lisp/net/soap-client.el (soap-xml-node-find-matching-child):
9666         Rename from soap-xml-node-first-child.
9667         (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child.
9668         (soap-xs-parse-simple-type): Likewise.
9670         * lisp/net/soap-client.el (soap-invoke-async): Add error checking.
9672         * lisp/net/soap-client.el (soap-invoke-internal): New function.
9673         (soap-invoke-async): Call soap-invoke-internal.
9674         (soap-invoke): Likewise.
9676         * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to
9677         url-retrieve callback is killed.
9679         * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node):
9680         Rename function.
9681         (soap-parse-wsdl-phase-fetch-imports): Likewise.
9682         (soap-parse-wsdl-phase-parse-schema): Likewise.
9683         (soap-parse-wsdl-phase-fetch-schema): Likewise.
9684         (soap-parse-wsdl-phase-finish-parsing): Likewise.
9685         (soap-parse-wsdl): Update calls.
9687         * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation.
9689         * lisp/net/soap-client.el (soap-invoke-async): New function.
9690         (soap-invoke): Reimplement using soap-invoke-async.
9692         * lisp/net/soap-client.el (soap-parse-server-response):
9693         Improve docstring.
9694         (soap-invoke): Inline call to soap-parse-server-response.
9696         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
9697         Prevent incorrect warning.
9699         * lisp/net/soap-client.el (soap-parse-server-response):
9700         Rename soap-process-url-response.  Destroy the mime part.
9701         (soap-invoke): Call soap-parse-server-response.
9703         * lisp/net/soap-client.el: Update copyright date.
9705         * lisp/net/soap-client.el: Fix checkdoc issues.
9707         * lisp/net/soap-client.el: Fix indentation and long lines.
9709         * lisp/net/soap-client.el (soap-time-format): Remove variable.
9710         (soap-encode-xs-basic-type): Simplify date-time format detection.
9711         (soap-decode-xs-basic-type): Remove soap-time-format support.
9713         * lisp/net/soap-client.el (soap-process-url-response): New function.
9714         (soap-fetch-xml-from-url): Call soap-process-url-response.
9715         (soap-parse-wsdl-phase-1): New function.
9716         (soap-parse-wsdl-phase-2): Likewise.
9717         (soap-parse-wsdl-phase-3): Likewise.
9718         (soap-parse-wsdl-phase-4): Likewise.
9719         (soap-parse-wsdl-phase-5): Likewise.
9720         (soap-parse-wsdl): Call phase functions.
9722         * lisp/net/soap-client.el (soap-decode-xs-basic-type):
9723         Remove one-argument and call.
9725         * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring.
9727         * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable.
9728         (soap-parse-schema): Add wsdl argument.  Look up XML schema
9729         imports from wsdl.
9730         (soap-load-wsdl): Do not set soap-xmlschema-imports.
9731         (soap-parse-wsdl): Get XML schema imports from wsdl.
9733         * lisp/net/soap-client.el (soap-current-file): Remove variable.
9734         (soap-wsdl): Add current-file slot.
9735         (soap-fetch-xml-from-url): Add wsdl argument.  Look up current
9736         file from wsdl.
9737         (soap-fetch-xml-from-file): Likewise.
9738         (soap-fetch-xml): Likewise.
9739         (soap-load-wsdl): Always create wsdl object first.
9740         (soap-parse-wsdl): Pass wsdl to soap-fetch-xml.
9742         * lisp/net/soap-client.el (soap-xs-element): Add is-group slot.
9743         (soap-xs-parse-element): Set is-group slot.
9744         (soap-resolve-references-for-xs-element): Skip is-group elements.
9745         (soap-xs-complex-type): Add is-group slot.
9746         (soap-xs-parse-complex-type): Set is-group slot.
9747         (soap-xs-parse-sequence): Parse xsd:group elements.
9748         (soap-resolve-references-for-xs-complex-type): Inline elements
9749         from referenced xsd:group nodes.
9750         (soap-parse-schema): Parse xsd:group nodes.
9752         * lisp/net/soap-client.el (soap-invoke):
9753         Don't set url-http-version to 1.0.
9755         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
9756         Allow choice nodes to accept multiple values.
9758         * lisp/net/soap-client.el (soap-encode-body): Check parameters argument
9759         for extra header values.
9761         * lisp/net/soap-client.el (soap-well-known-xmlns):
9762         Add wsa and wsaw tags.
9763         (soap-operation): Add input-action and output-action slots.
9764         (soap-parse-operation): Parse wsaw:Action nodes.
9765         (soap-encode-body): Encode service-url for WS-Addressing.
9766         (soap-create-envelope): Likewise.
9767         (soap-invoke): Update soap-create-envelope call to provide
9768         service-url argument.
9770         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
9771         Support xsi:type override attribute.
9772         (soap-decode-array): Likewise.
9774         * lisp/net/soap-client.el (soap-parse-schema):
9775         Handle location attribute.
9777         * lisp/net/soap-client.el (soap-decode-type): Check that multiRef
9778         matched validation regexp.
9780         * lisp/net/soap-client.el (soap-encode-xs-simple-type):
9781         Encode xsd:list nodes.
9782         (soap-decode-xs-simple-type): Decode xsd:list nodes.
9784         * lisp/net/soap-client.el (soap-get-candidate-elements):
9785         Fix reference handling.
9787         * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot.
9788         (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes.
9789         (soap-xs-add-list): New function.
9791         * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is
9792         expected, interpret nil as "false".
9794         * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth,
9795         gYear, gMonthDay, gDay and gMonth.
9797         * lisp/net/soap-client.el (soap-time-format): New variable.
9798         (soap-encode-xs-basic-type): Handle dateTime, time, date,
9799         gYearMonth, gYear, gMonthDay, gDay and gMonth.
9800         (soap-decode-date-time): New function.
9801         (soap-decode-xs-basic-type): Use soap-decode-date-time.
9803         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value
9804         after encoding.
9805         (soap-decode-xs-basic-type): Validate value before decoding.
9807         * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function.
9808         (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type.
9810         * lisp/net/soap-client.el (soap-xs-add-union): Append result to base
9811         instead of overwriting it.
9812         (soap-validate-xs-simple-type): Add union support.
9814         * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern
9815         to Emacs regexp using xsdre-translate.
9816         (soap-validate-xs-simple-type): Validate value against pattern.
9818         * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of
9819         inline simpleType nodes.
9820         (soap-decode-type): Handle union types.
9822         * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type
9823         attributes.
9825         * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename
9826         from soap-xs-attribute-group-consolidate, all callers updated
9827         (soap-get-xs-attributes): Rename from
9828         soap-xs-attributes-consolidate, all callers updated
9830         * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot.
9831         (soap-xs-attribute-group): New type.
9832         (soap-xs-parse-attribute-group): New function.
9833         (soap-resolve-references-for-xs-attribute-group): Likewise.
9834         (soap-xs-add-extension): Handle attribute groups.
9835         (soap-resolve-references-for-xs-simple-type): Likewise.
9836         (soap-xs-parse-complex-type): Likewise.
9837         (soap-xs-parse-extension-or-restriction): Likewise.
9838         (soap-resolve-references-for-xs-complex-type): Likewise.
9839         (soap-xs-attribute-group-consolidate): New function.
9840         (soap-xs-attributes-consolidate): Handle attribute groups.
9841         (soap-parse-schema): Likewise.
9843         * lisp/net/soap-client.el (soap-encode-xs-basic-type):
9844         Fix boolean encoding.
9846         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref
9847         element names in warnings.
9849         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing.
9851         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
9852         Eliminate invalid warnings for choice types.
9854         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
9855         Also encode base type attributes.
9857         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation
9858         warning.  Print e-name in warnings, or element if e-name is nil.
9860         * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot.
9861         (soap-xs-parse-element): Set substitution-group.
9862         (soap-resolve-references-for-xs-element): Populate alternatives slot.
9863         (soap-get-candidate-elements): New function.
9864         (soap-encode-xs-complex-type): Iterate through all candidate elements.
9865         Handle types with nil type indicator.  Fix warning logic.
9867         * lisp/net/soap-client.el (soap-current-wsdl): Move declaration
9868         earlier in the file to prevent compiler warning.
9870         * lisp/net/soap-client.el (soap-node-optional): New function.
9871         (soap-node-multiple): Likewise.
9872         (soap-xs-parse-element): Call soap-node-optional and
9873         soap-node-multiple.
9874         (soap-xs-complex-type): Add optional? and multiple? slots.
9875         (soap-xml-get-children-fq): New function.
9876         (soap-xs-element-get-fq-name): Likewise.
9877         (soap-xs-complex-type-optional-p): Likewise.
9878         (soap-xs-complex-type-multiple-p): Likewise.
9879         (soap-xs-attributes-consolidate): Likewise.
9880         (soap-decode-xs-attributes): Likewise.
9881         (soap-decode-xs-complex-type): Decode types with nil type indicator.
9882         Support children that use local namespaces.  Decode attributes.
9883         Add type considerations to optional? and multiple? warnings.
9885         * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction):
9886         Store parsed attributes.
9887         (soap-encode-xs-complex-type-attributes): Encode custom attributes.
9889         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
9890         Don't add the xsi:type attribute (Exchange refuses requests which have
9891         this attribute).
9893         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Convert to lexical binding,
9894         correct compiler warnings about unused function arguments and
9895         local variables.
9897         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil
9898         type indicator.
9899         (soap-parse-envelope): Handle response headers.
9900         (soap-parse-response): Likewise.  Only return non-nil decoded values.
9902         * lisp/net/soap-client.el (soap-validate-xs-simple-type):
9903         Return validated value.
9905         * lisp/net/soap-client.el (soap-xs-parse-element)
9906         (soap-xs-parse-simple-type)
9907         (soap-xs-parse-complex-type)
9908         (soap-parse-message)
9909         (soap-parse-operation): Add the current namespace to the element
9910         being created.
9911         (soap-resolve-references-for-xs-element)
9912         (soap-resolve-references-for-xs-simple-type)
9913         (soap-resolve-references-for-xs-complex-type)
9914         (soap-resolve-references-for-operation): Resolve the namespace to
9915         the namespace tag.
9916         (soap-make-wsdl): specify a namespace tag when creating the xsd
9917         and soapenc namespaces
9918         (soap-wsdl-resolve-references): don't update namespace tags in
9919         elements here
9920         (soap-parse-port-type): bind the urn: to soap-target-xmlns
9921         (soap-encode-body): don't add nil namespace tags to
9922         soap-encoded-namespaces
9924         * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object
9925         for registering the soap-inspect method.  Make debbugs tests pass.
9926         * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the
9927         type name, also skip string only nodes when decoding a structure.
9928         (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice
9929         types too.
9930         (soap-encode-body): Grab the header value from the param table.
9932         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
9933         New function.
9934         (soap-encode-xs-element): Don't encode nil value unless needed.
9936         * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`.
9937         (soap-parse-binding): Parse the message parts required in the body.
9938         (soap-encode-body): Encode only the parts that are declared to be
9939         part of the body.
9941         * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name
9942         when writing out the tag.
9943         (soap-encode-body): Remove hack that inserts the xmlns in the
9944         element attributes list.
9946         * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot.
9947         (soap-xs-parse-attribute): Default slot is set from the XML
9948         "fixed" attribute.
9949         (soap-encode-xs-complex-type-attributes): Encode any attributes
9950         that have a default value.  Also, don't put the xsi:nil attribute
9951         when the complex type has no content anyway.
9953         * lisp/net/soap-client.el (soap-well-known-xmlns):
9954         Add the xml namespace.
9955         (soap-local-xmlns): Start with the xml namespace.
9956         (soap-xml-node-first-child): Skip xsd:annotation nodes too.
9957         (soap-make-xs-basic-types): More xsd types added.
9958         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
9959         Handle "language", "time", "date", "nonNegativeInteger".
9960         (soap-resolve-references-for-xs-element): Don't signal an error if
9961         the element does not have a type.
9962         (soap-xs-parse-simple-type): Subtypes are handled with ecase,
9963         added stum for xsd:list.
9964         (soap-xs-add-union): Call soap-l2fq on all union members.
9965         (soap-xs-add-extension): Call soap-l2fq on the base member.
9966         (soap-resolve-references-for-xs-simple-type): Don't signal an
9967         error if the simple type has no base.
9968         (soap-resolve-references-for-xs-simple-type): Bugfix, call
9969         soap-wsdl-get on each type of the base.
9971         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
9972         Referenced type can be eiher a simple type or a basic type.
9973         (soap-xs-add-restriction)
9974         (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base.
9975         (soap-make-xs-basic-types)
9976         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
9977         Add support for more XMLSchema basic types.
9978         (soap-current-file, soap-xmlschema-imports): New defvars.
9979         (soap-parse-schema): Add locations from xsd:import tags to
9980         `soap-xmlschema-imports'.
9981         (soap-wsdl): Make destructor private.
9982         (soap-make-wsdl): New defun, SOAP-WSDL object constructor.
9983         (soap-wsdl-add-alias): Check if we try to replace aliases.
9984         (soap-fetch-xml-from-url, soap-fetch-xml-from-file)
9985         (soap-fetch-xml): New defuns.
9986         (soap-load-wsdl): Update to load the WSDL from either a file or
9987         an url.
9988         (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'.
9989         (soap-parse-wsdl): Process wsdl:import tags and imports from
9990         `soap-xmlschema-imports'.
9991         * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of
9992         symbol-name.
9993         (soap-l2fq): Make the name part always a string.
9994         (soap-name-p): New defun, used for name tests.
9996         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type):
9997         Supply sample values for choice types with a special tag.
9998         * lisp/net/soap-client.el (soap-encode-xs-complex-type):
9999         Handle anonymous elements correctly.
10000         (soap-encode-value): Accept nodes that have no namespace tag.
10002         * lisp/net/soap-client.el (soap-invoke): Encode the string for
10003         `url-request-data' as UTF-8.  Fixes issue 16.
10005 2015-10-24  Nicolas Petton  <nicolas@petton.fr>
10007         Update the new icon
10009         Move the E slightly to the right in the circle.
10011         * etc/images/icons/hicolor/128x128/apps/emacs.png:
10012         * etc/images/icons/hicolor/16x16/apps/emacs.png:
10013         * etc/images/icons/hicolor/24x24/apps/emacs.png:
10014         * etc/images/icons/hicolor/32x32/apps/emacs.png:
10015         * etc/images/icons/hicolor/48x48/apps/emacs.png:
10016         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
10017         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
10018         * nt/icons/emacs.ico: New icom update.
10020 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
10022         Avoid missing inline functions from lisp.h in TAGS
10024         * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
10025         need to end each invocation with a semi-colon.
10026         Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
10027         and LISP_MACRO_DEFUN_VOID.  This is to avoid missing in TAGS
10028         inline functions defined immediately after each invocation, and
10029         also avoid tagging every invocation of these macros.
10031 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
10033         A better fix for bug#21739
10035         * src/buffer.c (set_update_modelines_for_buf): New function.
10036         (Fkill_buffer): Use it to set the global variable
10037         update_mode_lines if the killed buffer was displayed in some
10038         window.  Don't set windows_or_buffers_changed.  This is a better
10039         fix for bug#21739 than the previous fix, since it will cause only
10040         redisplay of mode lines, not of entire windows, but will still
10041         catch attention of x_consider_frame_title in xdisp.c, which
10042         redraws the frame title.
10044 2015-10-24  Tassilo Horn  <tsdh@gnu.org>
10046         * lisp/dired-aux.el (dired-compress-files-alist): Add support for
10047         tar.bz2 and tar.xz archives.
10049 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
10051         Fix infloop in redisplay introduced by a recent change
10053         * src/xdisp.c (redisplay_internal): Avoid inflooping when
10054         redisplaying the selected window sets the selected frame's
10055         redisplay flag.  (Bug#21745)
10057 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
10059         * lisp/emacs-lisp/thunk.el: Better documentation.
10061 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
10063         Replace the old icon for Windows and Mac OSX
10065         * nt/icons/emacs.ico:
10066         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
10067         Use the new icons.
10069 2015-10-23  Stephen Leake  <stephen_leake@stephe-leake.org>
10071         * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
10072         `load-path' should contain only directory names.
10074 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
10076         New library thunk.el
10078         thunk.el is extracted from stream.el in ELPA, with additional tests.
10080         * lisp/emacs-lisp/thunk.el: New file.
10081         * test/automated/thunk-tests.el: New file.
10082         * etc/NEWS: Add information about thunk.el
10084 2015-10-23  Michael Albinus  <michael.albinus@gmx.de>
10086         Fix bug#21669
10088         * lisp/filenotify.el (file-notify-rm-watch): Improve check for
10089         calling low-level functions.
10091         * test/automated/file-notify-tests.el (file-notify--test-timeout):
10092         Decrase to 6 seconds for remote directories.
10093         (file-notify-test02-events): Expect different number of
10094         `attribute-changed' events for the local and remote cases.  Apply
10095         short delays between the operations, in order to receive all
10096         events in the remote case.  Combine `attribute-change' tests.
10097         (Bug#21669)
10099 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
10101         Decode the HTML source when displaying it in EWW
10103         * lisp/net/eww.el (eww-view-source): Decode the HTML source
10104         according to its headers.
10106 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
10108         New default icon
10110         * etc/images/icons/hicolor/128x128/apps/emacs23.png:
10111         * etc/images/icons/hicolor/16x16/apps/emacs23.png:
10112         * etc/images/icons/hicolor/24x24/apps/emacs23.png:
10113         * etc/images/icons/hicolor/32x32/apps/emacs23.png:
10114         * etc/images/icons/hicolor/48x48/apps/emacs23.png:
10115         * etc/images/icons/hicolor/scalable/apps/emacs23.svg:
10116         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg:
10117         Move the old logo files to emacs23.*.
10118         * etc/images/icons/hicolor/128x128/apps/emacs.png:
10119         * etc/images/icons/hicolor/16x16/apps/emacs.png:
10120         * etc/images/icons/hicolor/24x24/apps/emacs.png:
10121         * etc/images/icons/hicolor/32x32/apps/emacs.png:
10122         * etc/images/icons/hicolor/48x48/apps/emacs.png:
10123         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
10124         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
10125         New files.
10126         * etc/images/icons/README: Update the copyright information.
10128 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
10130         Fix redisplay of frame title when current buffer is killed
10132         * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a
10133         non-zero value, to redisplay more than just the affected windows.
10134         (Bug#21739)
10136 2015-10-23  Anders Lindgren  <andlind@gmail.com>
10138         NextStep maximization and NSTRACE rewrite
10140         Full-height, full-width, and maximized windows now cover the
10141         entire screen (except the menu bar), including the part where the
10142         system dock is placed.  The system zoom animation is no longer
10143         used.
10145         Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
10146         original size.
10148         * src/nsterm.m (ns_menu_bar_height): New function, return height of
10149         the menu bar, or 0 when it's hidden.
10150         (constrain_frame_rect): New function for constraining a frame.
10151         (ns_constrain_all_frames): Set frame size explicitly rather than
10152         relying on the system doing it for us by writing back the current
10153         frame size.
10154         (windowWillUseStandardFrame): Register non-maximized width or
10155         height as new user size.  When entering full width or height,
10156         the other size component is taken from the user size.
10157         (fullscreenState): New method for accessing the fullscreen state.
10158         (constrainFrameRect): Restrict frame to be placed under the menu bar,
10159         if present.  The old version, sometimes, restricted the height of a
10160         frame to the screen, this version never does this.
10161         (zoom): Perform zoom by setting the frame to the full size of the
10162         screen (minus the menu bar).  The default system function, with the
10163         zoom animation, is no longer used, as the final frame size doesn't
10164         cover the entire screen.
10166         Rework how to constrain resizing to the character grid.  The old
10167         system used "resizeIncrements" in NSWindows.  However, once a frame
10168         was resized so that it was not aligned to the text grid, it
10169         remained unaligned even after a resize.  In addition, it conflicted
10170         when resizing a fullheight window.
10172         * src/nsterm.m (windowWillResize): Restrict frame size to text grid,
10173         unless when pixelwise frame resizing is enabled.
10174         (updateFrameSize, initFrameFromEmacs)
10175         (toggleFullScreen, handleFS): Don't set resizeIncrements.
10177         Redesign the NS trace system.  The call structure is represented
10178         using indentations and vertical lines.  The NSTRACE macro accepts
10179         printf-style arguments.  New macros for printing various
10180         information.
10182         * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
10183         (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new
10184         block (typically a function), accept printf-style arguments.
10185         (NSTRACE_MSG): Macro for extra information, accepts
10186         printf-style arguments.
10187         (NSTRACE_what): Macros for printing various types.
10188         (NSTRACE_FMT_what): Macro with printf format string snippets.
10189         (NSTRACE_ARG_what): Macros for passing printf-style arguments,
10190         corresponds to NSTRACE_FMT_what.
10191         (NSTRACE_RETURN): Macro to print return value, accept
10192         printf-style arguments.
10193         (NSTRACE_RETURN_what): Macros to print return value for
10194         various types.
10196         * src/nsterm.m: Remove old NSTRACE macro
10197         * src/nsterm.m (nstrace_num): Trace counter.
10198         (nstrace_depth): Current call depth.
10199         (nstrace_leave): NSTRACE support function, called when the
10200         local variable "nstrace_enabled" goes out of scope using the
10201         "cleanup" extension.
10202         (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function.
10203         (constrain_frame_rect, ns_constrain_all_frames)
10204         (ns_update_auto_hide_menu_bar, ns_update_begin)
10205         (ns_update_window_begin, update_window_end, ns_update_end)
10206         (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
10207         (ns_frame_rehighlight, x_make_frame_visible)
10208         (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
10209         (x_destroy_window, x_set_offset, x_set_window_size)
10210         (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
10211         (ns_defined_color, frame_set_mouse_pixel_position)
10212         (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
10213         (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
10214         (ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
10215         (ns_after_update_window_line, ns_shift_glyphs_for_insert)
10216         (dumpcursor, ns_draw_vertical_window_border)
10217         (ns_draw_window_divider, ns_draw_relief)
10218         (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
10219         (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
10220         (ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
10221         (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
10222         (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
10223         (ns_create_terminal, ns_term_init, sendEvent)
10224         (applicationDidFinishLaunching, applicationDidBecomeActive)
10225         (timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
10226         (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
10227         (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
10228         (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
10229         (mouse_autoselect_window, in_window, mouseDragged)
10230         (rightMouseDragged, otherMouseDragged, windowShouldClose)
10231         (updateFrameSize, windowWillResize, windowDidResize)
10232         (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
10233         (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
10234         (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
10235         (windowDidEnterFullScreen, windowWillExitFullScreen)
10236         (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
10237         (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
10238         (draggingEntered, performDragOperation, validRequestorForSendType)
10239         (setMiniwindowImage, constrainFrameRect, performZoom, zoom)
10240         (EmacsScroller_initFrame, EmacsScroller_setFrame)
10241         (EmacsScroller_dealloc, condemn, reprieve, judge)
10242         (resetCursorRects, setPosition, EmacsScroller_mouseDown)
10243         (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
10245         * src/nsfns.m: Remove old NSTRACE macro
10246         * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
10247         (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
10248         (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
10250         * src/nsimage.m: Remove old NSTRACE macro
10251         * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
10252         (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
10254         * src/nsmenu.m: Remove old NSTRACE macro
10255         * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
10256         Use new trace system.
10258 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
10260         No need to use eval-and-compile
10262         * lisp/gnus/auth-source.el: Do require epg (when compiling) before
10263         autoload epg functions.
10265 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
10267         Fix auth-source-epa-make-gpg-token compilation (bug#21724)
10269         * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for
10270         epg-context-set-passphrase-callback, epg-decrypt-string, and
10271         epg-encrypt-string; require epg when compiling for the setf-method
10272         for epg-context-armor. (bug#21724)
10274 2015-10-22  Eli Zaretskii  <eliz@gnu.org>
10276         Include file cleanup for w32 files in src directory
10278         * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h,
10279         fontset.h, blockinput.h.
10280         * src/w32uniscribe.c: Don't include dispextern.h, character.h,
10281         charset.h, fontset.h.
10282         * src/w32term.c: Don't include systty.h, systime.h, charset.h,
10283         character.h, ccl.h, dispextern.h, disptab.h, intervals.h,
10284         process.h, atimer.h, keymap.h, w32heap.h.  Include bitmap/gray.xbm
10285         in an ifdef-ed away block.
10286         Include fcntl.h for CYGWIN.
10287         (set_frame_param): Remove unused function.
10288         * src/w32select.c: Don't include charset.h and composite.h.
10289         (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings
10290         due to pointer signedness mismatches.
10291         * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings
10292         due to pointer signedness mismatches.
10293         * src/w32proc.c: Include unistd.h.  Don't include systime.h,
10294         process.h, dispextern.h.
10295         (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name)
10296         (Fw32_application_type): Avoid compiler warnings due to pointer
10297         signedness mismatches.
10298         * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h,
10299         character.h, charset.h, dispextern.h.
10300         (simple_dialog_show, add_menu_item): Avoid compiler warnings due
10301         to pointer signedness mismatches.
10302         * src/w32inevt.c: Don't include dispextern.h, window.h,
10303         termhooks.h, w32heap.h.
10304         * src/w32font.c: Don't include dispextern.h, character.h,
10305         charset.h, fontset.h, font.h.
10306         (intern_font_name, add_font_entity_to_list)
10307         (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont)
10308         (list_all_matching_fonts): Avoid compiler warnings due to pointer
10309         signedness mismatches.
10310         * src/w32fns.c: Don't include character.h, intervals.h,
10311         dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h,
10312         termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h.
10313         (w32_color_map_lookup, add_system_logical_colors_to_map)
10314         (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p)
10315         (Fxw_color_values, x_display_info_for_name, Fset_message_beep)
10316         (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash)
10317         (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid
10318         compiler warnings, mainly due to pointer signedness mismatches.
10319         (unwind_create_frame_1): Remove unused function.
10320         * src/w32console.c: Don't include character.h, disptab.h, frame.h,
10321         window.h, termhooks.h, dispextern.h.
10322         (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer
10323         signedness mismatch.
10324         * src/w32.c: Include c-strcase.h and systty.h.  Don't include
10325         w32heap.h.
10327 2015-10-22  Tassilo Horn  <tsdh@gnu.org>
10329         Improve doc-view wrt. auto-revert-mode
10331         * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file
10332         is corrupted (bug#21729).
10333         (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function.
10335 2015-10-22  Oleh Krehel  <ohwoeowho@gmail.com>
10337         Describe dired-do-compress-to in the manual
10339         * etc/NEWS: Update.
10341         * lisp/dired-aux.el: Fix typo.
10343         * doc/emacs/dired.texi: Add entry.
10345 2015-10-22  Jürgen Hötzel  <juergen@archlinux.org>
10347         Further fix for proper locale handling in tramp-gvfs.el
10349         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
10350         Just suppress LC_MESSAGES locale category settings.
10352 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
10354         New lispref section “Security Considerations”
10356         This attempts to document some of the issues recently discussed
10357         on emacs-devel, and to indicate other such issues.  The section
10358         could be a lot longer.
10359         * doc/lispref/os.texi (Security Considerations):
10360         New node.
10361         * doc/lispref/elisp.texi (Top):
10362         * doc/lispref/processes.texi (Shell Arguments):
10363         * lisp/subr.el (shell-quote-argument):
10364         * src/callproc.c (syms_of_callproc):
10365         Reference it.
10367 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
10369         Merge from gnulib
10371         This incorporates:
10372         2015-10-18 stdalign: work around pre-4.9 GCC x86 bug
10373         2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
10374         * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c:
10375         Copy from gnulib.
10377 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
10379         * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks.
10380         (mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.
10382 2015-10-21  Ken Brown  <kbrown@cornell.edu>
10384         Further include-file cleanup
10386         * src/sheap.c: Include stdlib.h.
10387         * src/unexcw.c: Include string.h.
10389 2015-10-21  Eli Zaretskii  <eliz@gnu.org>
10391         Fix logic in 'server-kill-emacs-query-function'
10393         * lisp/server.el (server-kill-emacs-query-function): Correct the
10394         logic that controls whether the user is asked for confirmation.
10395         (Bug#21723)
10397 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
10399         * lisp/isearch.el (isearch-search-fun-default): Simplify logic.
10400         (isearch--lax-regexp-function-p): New function.
10402 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
10404         * lisp/isearch.el: Support lax-whitespace in regexp-function searches.
10405         (isearch-search-fun-default): Let-bind `search-spaces-regexp'
10406         around `isearch-regexp-function'.
10408 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
10410         * lisp/isearch.el: Rename word search to regexp-function search.
10411         `isearch-word' went well beyond its original purpose, and the name
10412         no longer makes sense.  It is now called
10413         `isearch-regexp-function', and its value should always be a function
10414         that converts a string to a regexp (though setting it to t is still
10415         supported for now).
10416         (isearch-word): Make obsolete.
10417         (isearch-regexp-function): New variable.
10418         (isearch-mode, isearch-done, isearch--state, isearch--set-state)
10419         (with-isearch-suspended, isearch-toggle-regexp)
10420         (isearch-toggle-word, isearch-toggle-symbol)
10421         (isearch-toggle-character-fold, isearch-query-replace)
10422         (isearch-occur, isearch-highlight-regexp)
10423         (isearch-search-and-update, isearch-message-prefix)
10424         (isearch-search-fun-default, isearch-search)
10425         (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
10426         Use it.
10427         (isearch-lazy-highlight-regexp-function): New var.
10428         (isearch-lazy-highlight-word): Make obsolete.
10429         (isearch--describe-regexp-mode): New function.
10430         (isearch--describe-word-mode): Make obsolete.
10432         * lisp/info.el (Info-isearch-search):
10433         * lisp/replace.el (replace-search, replace-highlight):
10434         * lisp/obsolete/longlines.el (longlines-search-function):
10435         * lisp/hexl.el (hexl-isearch-search-function):
10436         * lisp/cedet/semantic/senator.el (senator-isearch-search-fun):
10437         Use the new var.
10439 2015-10-21  Oleh Krehel  <ohwoeowho@gmail.com>
10441         Add dired-do-compress-to command bound to "c"
10443         * lisp/dired-aux.el (dired-shell-command): Use the caller's
10444           `default-directory', return the result of `process-file'.
10445         (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
10446         used by default.
10447         (dired-compress-files-alist): New defvar.
10448         (dired-do-compress-to): New command.
10450         * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
10451         (dired-do-compress-to): Add an autoload entry.
10453         * etc/NEWS: Add two entries.
10455 2015-10-21  Tassilo Horn  <tsdh@gnu.org>
10457         Make RefTeX work with LaTeX subfiles package
10459         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles
10460         document class argument as master file for referencing purposes.
10462 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
10464         * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.
10466 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
10468         Include-file cleanup for src directory
10470         Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
10471         In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
10472         but does not include it directly.  As a general rule, a source
10473         file should include foo.h if it needs the interfaces that foo.h
10474         defines.
10475         * src/alloc.c: Don’t include process.h.  Include dispextern.h,
10476         systime.h.
10477         * src/atimer.c: Don’t include blockinput.h.
10478         * src/buffer.c: Include coding.h, systime.h.  Don’t include
10479         keyboard.h, coding.h.
10480         * src/callint.c: Don’t include commands.h, keymap.h.
10481         * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
10482         systty.h, termhooks.h.
10483         * src/casetab.c: Don’t include character.h.
10484         * src/category.c: Don’t include charset.h, keymap.h.
10485         * src/ccl.h: Don’t include character.h.
10486         * src/character.c: Don’t include charset.h.
10487         * src/charset.c: Don’t include disptab.h.
10488         * src/chartab.c: Don’t include ccl.h.
10489         * src/cm.c: Don’t include frame.h, termhooks.h.
10490         * src/cmds.c: Don’t include window.h, dispextern.h.
10491         * src/coding.c: Don’t include window.h, frame.h.
10492         * src/composite.c: Include composite.h.  Don’t include window.h,
10493         font.h.
10494         * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
10495         * src/dbusbind.c: Don’t include frame.h.
10496         * src/decompress.c: Don’t include character.h.
10497         * src/dired.c: Don’t include character.h, commands.h, charset.h.
10498         * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
10499         process.h, timespec.h.  Include systime.h.
10500         * src/doc.c: Include coding.h.  Don’t include keyboard.h.
10501         * src/editfns.c: Include composite.h.  Don’t include frame.h.
10502         * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
10503         commands.h, systty.h..
10504         * src/fileio.c: Don’t include intervals.h, dispextern.h.
10505         Include composite.h.
10506         * src/filelock.c: Don’t include character.h, systime.h.
10507         * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
10508         keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
10509         * src/font.c: Include termhooks.h.
10510         * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
10511         struct composition_it, struct face, struct glyph_string.
10512         * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
10513         intervals.h, window.h, termhooks.h.
10514         * src/frame.c: Don’t include character.h, commands.h, font.h.
10515         * src/frame.h: Don’t include dispextern.h.
10516         * src/fringe.c: Don’t include character.h.
10517         * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
10518         character.h, charset.h, fontset.h.
10519         * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
10520         fontset.h.
10521         * src/ftxfont.c: Don’t include dispextern.h, character.h,
10522         charset.h, fontset.h.
10523         * src/gfilenotify.c: Don’t include frame.h, process.h.
10524         * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
10525         Don’t include syssignal.h, buffer.h, charset.h, font.h.
10526         * src/gtkutil.h: Don’t include frame.h.
10527         * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
10528         Don’t include character.h.
10529         * src/indent.c: Don’t include keyboard.h, termchar.h.
10530         * src/inotify.c: Don’t include character.h, frame.h.
10531         * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
10532         * src/intervals.c: Don’t include character.h, keyboard.h.
10533         * src/intervals.h: Don’t include dispextern.h, composite.h.
10534         * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
10535         Include coding.h.
10536         * src/keyboard.h: Don’t incldue systime.h.
10537         * src/keymap.c: Don’t include charset.h, frame.h.
10538         * src/lread.c: Include dispextern.h and systime.h.
10539         Don’t include frame.h.  Include systime.h.
10540         * src/macros.c: Don’t include commands.h, character.h, buffer.h.
10541         * src/menu.c: Include character.h, coding.h.  Don’t include
10542         dispextern.h.
10543         * src/menu.h: Don’t include systime.h.
10544         * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
10545         intervals.h, termhooks.h.
10546         * src/print.c: Include coding.h.  Don’t include keyboard.h,
10547         window.h, dispextern.h, termchar.h, termhooks.h, font.h.
10548         Add forward decl of struct terminal.
10549         * src/process.c: Don’t include termhooks.h, commands.h,
10550         dispextern.h, composite.h.
10551         * src/region-cache.c: Don’t include character.h.
10552         * src/scroll.c: Don’t include keyboard.h, window.h.
10553         * src/search.c: Don’t include category.h, commands.h.
10554         * src/sound.c: Don’t include dispextern.h.
10555         * src/syntax.c: Don’t include command.h, keymap.h.
10556         * src/sysdep.c: Don’t include window.h, dispextern.h.
10557         * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
10558         * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
10559         * src/terminal.c: Include character.h.
10560         Don’t include charset.h, coding.h.
10561         * src/textprop.c: Don’t include character.h.
10562         * src/undo.c: Don’t include character.h, commands.h, window.h.
10563         * src/unexsol.c: Don’t include character.h, charset.h.
10564         * src/widget.c: Include widget.h.  Don’t include keyboard.h,
10565         window.h, dispextern.h, blockinput.h, character.h, font.h.
10566         * src/widgetprv.h: Don’t include widget.h.
10567         * src/window.c: Don’t include character.h, menu.h, intervals.h.
10568         * src/xdisp.c: Include composite.h, systime.h.  Don’t include
10569         macros.h, process.h.
10570         * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
10571         intervals.h.
10572         * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
10573         epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
10574         * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
10575         * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
10576         * src/xgselect.c: Don’t include timespec.h, frame.h.
10577         Include systime.h.
10578         * src/xgselect.h: Don’t include time.h.
10579         Use a forward decl to struct timespec instead.
10580         * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
10581         dispextern.h.  Include systime.h.
10582         * src/xml.c: Don’t include character.h.
10583         * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
10584         * src/xselect.c: Don’t include dispextern.h, character.h,
10585         buffer.h, process.h.
10586         * src/xsmfns.c: Don’t include systime.h, sysselect.h.
10587         * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
10588         intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
10590 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
10592         (/ N) now returns the reciprocal of N
10594         This is more compatible with Common Lisp and XEmacs (Bug#21690).  See:
10595         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
10596         * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
10597         (color-xyz-to-srgb, color-xyz-to-lab):
10598         * lisp/emacs-lisp/cl-extra.el (cl-float-limits):
10599         * lisp/net/shr-color.el (shr-color-hue-to-rgb)
10600         (shr-color-hsl-to-rgb-fractions):
10601         Exploit the change to simplify the code a bit.
10602         * lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
10603         Don’t complain about single-argument calls to ‘/’.
10604         * src/data.c (arith_driver, float_arith_driver):
10605         Implement the change.
10607 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
10609         Call vc-dir-refresh after stash operations
10611         * lisp/vc/vc-git.el (vc-git-stash-apply-at-point)
10612         (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960).
10614         * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well,
10615         since it can be abbreviated (as returned by vc-find-root).
10617 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
10619         * lisp/vc/vc-svn.el:
10620         * lisp/vc/vc-mtn.el:
10621         * lisp/vc/vc-hg.el:
10622         * lisp/vc/vc-cvs.el:
10623         * lisp/vc/vc-git.el:
10624         * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore.
10625         Its usages have been replaced with vc-run-delayed.
10627 2015-10-20  Dima Kogan  <dima@secretsauce.net>
10629         Fix memory leak in fontset handling
10631         * src/font.c (copy_font_spec): Make a deep copy of the input
10632         argument FONT.  (Bug#21651)
10634 2015-10-20  Michael Sperber  <mike@xemacs.org>
10636         * lisp/gnus/mailcap.el (mailcap-mime-data):
10637         Conditonalize `doc-view-mode', which does not exist on XEmacs.
10639 2015-10-20  Oleh Krehel  <ohwoeowho@gmail.com>
10641         Update the way directories are compressed
10643         * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
10644         for *.tar.gz decompression to use a pipe.
10645         Add an entry for the default directory compression (to *.tar.g).
10646         (dired-compress-file): Update.
10648         See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html.
10650 2015-10-20  Michael Sperber  <mike@xemacs.org>
10652         Unbreak `group' option for `mail-sources'
10654         * lisp/gnus/nnml.el (nnml-retrieve-groups, nnml-request-scan):
10655         * lisp/gnus/nnmail.el (nnmail-get-new-mail-per-group)
10656         (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
10658 2015-10-19  Nicolas Petton  <nicolas@petton.fr>
10660         New function seq-position
10662         * lisp/emacs-lisp/seq.el (seq-position): New function.
10663         * test/automated/seq-tests.el: New tests for seq-position.
10664         * doc/lispref/sequences.texi: Add documentation for `seq-position'.
10666 2015-10-19  Ken Brown  <kbrown@cornell.edu>
10668         Enable --with-wide-int build on 32-bit Cygwin
10670         * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86
10671         and x86_64 to enable --with-wide-int build on 32-bit Cygwin.
10673 2015-10-19  Glenn Morris  <rgm@gnu.org>
10675         * doc/emacs/ack.texi (Acknowledgments): Small, sad, update.
10677 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
10679         Resurrect image loading under auto-image-file-mode
10681         * src/image.c (x_find_image_fd): Handle the case of -2 returned by
10682         'openp' specially.  This special case was lost in the changes on
10683         2015-08-18.  (Bug#21685)
10685 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
10687         Fix return value of 'set-file-extended-attributes'
10689         * lisp/files.el (set-file-extended-attributes): Return non-nil
10690         when setting either ACLs or SELinux context succeeds.  Document
10691         the return value.  (Bug#21699)
10693         * doc/lispref/files.texi (Changing Files): Document the return
10694         value of set-file-extended-attributes.
10696 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
10698         Improve documentation of functions that change files
10700         * doc/lispref/files.texi (Changing Files): Document that these
10701         functions signal an error on failure.
10703 2015-10-18  Eli Zaretskii  <eliz@gnu.org>
10705         Fix doc string of 'shell-quote-argument'
10707         * lisp/subr.el (shell-quote-argument): Doc fix.  (Bug#21702)
10709 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
10711         Some minor Tramp changes
10713         * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning.
10715         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
10716         Expand `tramp-auto-save-directory'.
10718 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
10720         Minor edits in Tramp
10722         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp):
10723         Declare it.
10725         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
10726         Remove declaration.
10728 2015-10-17  Mark Oteiza  <mvoteiza@udel.edu>
10730         * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list.
10732 2015-10-17  Eli Zaretskii  <eliz@gnu.org>
10734         Avoid crashes when redisplayng a window changes faces or fonts
10736         * src/xdisp.c (redisplay_internal): If redisplaying the selected
10737         window or one of the frames turns on the frame's 'redisplay' flag,
10738         redisplay again.  (Bug#21428)
10740         * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag.
10742 2015-10-17  Michael Albinus  <michael.albinus@gmx.de>
10744         Solve timimg issues in file-notify-tests.el
10746         * test/automated/file-notify-tests.el (file-notify-test02-events):
10747         Rectify `attribute-change' tests.  There are timing issues with
10748         gfilenotify.  (Bug#21669)
10750 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
10752         Fix quoting of data within htmlfontify doc
10754         * doc/misc/htmlfontify.texi (Data Structures, Customization):
10755         Fix quoting of data structures.  A Lisp quote is needed only
10756         when data appears within Lisp code.
10758 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
10760         * lisp/emacs-lisp/package.el: Reload archive-contents if
10761         priorities change.
10762         (package--old-archive-priorities): New variable.
10763         (package-read-all-archive-contents, package-menu--refresh): Use it
10764         to decide when the `package-archive-contents' needs to be read
10765         again.
10767 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
10769         Make src headers idempotent and standalone
10771         Redo src/*.h so that each include file is idempotent (that is, can
10772         be included multiple times with the latter inclusions having no
10773         effect) and standalone (that is, can be included by itself,
10774         with no include file other than config.h needed as a prerequisite).
10775         This is standard practice in GNU programs nowadays.
10776         * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h:
10777         * src/charset.h, src/coding.h, src/commands.h, src/disptab.h:
10778         * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h:
10779         * src/regex.h [emacs]:
10780         * src/syntax.h, src/systty.h, src/termhooks.h:
10781         Include lisp.h, for Lisp_Object.
10782         * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h:
10783         * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h:
10784         * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h:
10785         * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h:
10786         * src/termopts.h, src/tparam.h, src/unexec.h:
10787         Protect against multiple inclusion.
10788         * src/buffer.h: Include character.h, for STRING_CHAR.
10789         * src/emacsgtkfixed.h (struct frame):
10790         * src/fontset.h (struct face):
10791         * src/region-cache.h (struct buffer):
10792         * src/termhooks.h (struct glyph):
10793         * src/xsettings.h (struct x_display_info):
10794         Add possibly-forward decl.
10795         * src/syntax.h: Include buffer.h, for BVAR.
10796         * src/sysselect.h: Include lisp.h, for eassume.
10797         * src/termchar.h: Include <stdio.h>, for FILE.
10798         * src/widget.h: Include <X11/IntrinsicP.h>, for Widget.
10799         * src/xsettings.h: Include <X11/Xlib.h>, for XEvent.
10801 2015-10-16  Jürgen Hötzel  <juergen@archlinux.org>
10803         Handle symlink targets containing spaces in tramp-gvfs.el
10805         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
10806         Handle symlink targets containing spaces.
10808 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
10810         * lisp/custom.el (custom-theme-load-path): Demote to defvar.
10812         `custom-theme-load-path' was a defcustom, but it shouldn't be for the
10813         same reason that `load-path' shouldn't.  Setting it via the customize
10814         interface is a trap for the user.
10816         Installed themes commonly add themselves to this variable, which means
10817         its value is not fit for being saved (it will permanently remember dirs
10818         that don't exist anymore).
10820         This is aggravated by the fact that Emacs always applies the `user'
10821         theme on top of any theme that's loaded, since this will apply the old
10822         variable value and remove any new directories that had been recently
10823         added by themes themselves.
10825         Not to mention, we already have `custom-theme-directory', which is safe
10826         to customize.
10828 2015-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
10830         * lisp/mpc.el: Rename the new toggling commands.
10831         (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single)
10832         (mpc-toggle-shuffle): Add "-toggle" in the name.
10834 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
10836         Improve the doc string of 'completion-boundaries'
10838         * lisp/minibuffer.el (completion-boundaries): Rename the argument
10839         TABLE to COLLECTION, for consistency with other high-level
10840         completion functions.  Document how COLLECTION is called if it
10841         is a function.  (Bug#21644)
10843 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
10845         * lisp/dired-aux.el (dired-shell-command): Fix compile warning.
10847 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
10849         Make dired-do-compress work for *.zip files
10851         * lisp/dired-aux.el (dired-check-process): Transform the top-level
10852           comment into a docstring.
10853         (dired-shell-command): New command.  This mirrors
10854         `dired-check-process', but is more user-friendly for passing
10855         arguments.
10856         (dired-compress-file-suffixes): Allow to specify the command switches
10857         along with input (%i) and output (%o) inside the PROGRAM part.
10858         Add an entry for *.zip files, and update the entry for *.tar.gz files
10859         to the new style.  Update the docstring.
10860         (dired-compress-file): When PROGRAM matches %i or %o, use the new
10861         logic.
10862         (dired-update-file-line): Avoid an error when at end of buffer.
10864         Fixes bug#21637.
10866 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
10868         Minor improvement in documentation of internals
10870         * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
10872 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
10874         Improve documentation of COLLECTION in completion functions
10876         * doc/lispref/minibuf.texi (Minibuffer Completion): Add a
10877         cross-reference to "Programmed Completion".
10879         * src/minibuf.c (Fcompleting_read): Improve the doc string.
10880         (Bug#21644)
10882 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
10884         Add more release info to etc/HISTORY
10886         * etc/HISTORY: Add more release information about 19.x and 20.x
10887         versions.
10889 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
10891         New file etc/HISTORY
10893         * admin/FOR-RELEASE: Procedure for etc/HISTORY.
10894         * etc/HISTORY: New file.
10895         * etc/NEWS: Mention it.
10897 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
10899         js-mode: Don't misindent generator methods
10901         * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
10902         generator methods from multiplication operator
10903         (https://github.com/mooz/js2-mode/issues/275).
10905 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
10907         Fix animation timeout delay calculation
10909         * lisp/image.el (image-animate-timeout):
10910         Don’t assume speed is floating-point.
10912 2015-10-15  Mark Oteiza  <mvoteiza@udel.edu>
10914         Add commands for controlling MPD modes
10916         * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat)
10917         (mpc-cmd-single): New functions.
10918         (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands.
10919         (mpc-mode-menu): Add new commands as menu items.
10921 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
10923         Refer to `(elisp)Basic Completion' in completing-read docstring
10925         * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic
10926         Completion' in the docstring (bug#21644).
10928 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
10930         * lisp/mpc.el (mpc-format): Always push form to pred
10932 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10934         Spelling fixes
10936         * configure.ac (bitmapdir): Fix misspelling of bmd_acc.
10937         * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
10938         Fix misspelling of nonexistent file name.
10940 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
10942         * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings
10944 2015-10-14  Michael Albinus  <michael.albinus@gmx.de>
10946         Some editing fixes in Tramp
10948         * lisp/net/tramp-gvfs.el:
10949         * doc/misc/tramp.texi: "customer option" -> "custom option".
10951         * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring.
10953 2015-10-14  Jürgen Hötzel  <juergen@archlinux.org>
10955         Use proper localization in tramp-gvfs.el
10957         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
10958         Suppress localized settings in order to proper parse gfvs output.
10960 2015-10-14  Warren Lynn  <wrn.lynn@gmail.com>  (tiny change)
10962         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
10963         Quote argument in proper order.  (Bug#21562)
10965 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
10967         Fix typos in docstrings
10969         * lisp/emacs-lisp/map.el:
10970         * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
10971           macros.
10973 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
10975         * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live.
10977 2015-10-14  Oleh Krehel  <ohwoeowho@gmail.com>
10979         Make dired-jump work with tar-subfile-mode
10981         * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of
10982           emitting an error, switch to `tar-superior-buffer'.
10984 2015-10-14  Juanma Barranquero  <lekktu@gmail.com>
10986         * .gitignore: Add build-aux/ar-lib.
10988 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
10990         Better docstrings in seq.el and map.el
10992         * lisp/emacs-lisp/map.el:
10993         * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
10995 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10997         Merge from gnulib
10999         This incorporates:
11000         2015-10-13 binary-io, u64, unistd: port to strict C
11001         2015-09-26 c-ctype: do not worry about EBCDIC + char signed
11002         2015-09-25 c-ctype: port better to z/OS EBCDIC
11003         2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
11004         * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
11005         * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
11006         Copy from gnulib.
11008 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11010         Take XPNTR private
11012         * src/alloc.c (PURE_POINTER_P): Remove.
11013         All uses replaced with PURE_P.
11014         (XPNTR_OR_SYMBOL_OFFSET): New function.
11015         (XPNTR): Move here from lisp.h.
11016         Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET.
11017         (mark_maybe_object, valid_lisp_object_p, survives_gc_p):
11018         Remove unnecessary cast.
11019         (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR,
11020         to avoid an unnecessary runtime test for symbols.
11021         * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c.
11022         Only alloc.c needs XPNTR now.
11024 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
11026         Add MPC play/pause command
11028         * lisp/mpc.el (mpc-toggle-play): New command.
11029         (mpc-mode-map): Bind it to "s".
11030         (mpc-mode-menu): Add corresponding menu item.
11032 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
11034         Add bindings and menu items for prev and next tracks
11036         * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next,
11037         "<" to mpc-prev.
11038         (mpc-mode-menu): Add corresponding menu items
11040 2015-10-13  Ken Raeburn  <raeburn@raeburn.org>
11042         Reduce face-related consing during frame creation.
11044         * lisp/faces.el (face--attributes-unspecified): Compute the "unspecified"
11045         attribute list once.
11046         (face-spec-reset-face): Use it instead of building the list.
11048 2015-10-13  Ken Raeburn  <raeburn@permabit.com>
11050         Do process ConfigureNotify events indicating size changes.
11052         * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify
11053         events don't have the same size, process each one.
11055 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
11057         Derive mpc-mode from special-mode
11059         lisp/mpc.el (mpc-mode-map): Make from sparse keymap.  Unbind g.
11060         (mpc-mode): Derive from special mode.
11061         (mpc-songs-mode-map): Don't set parent keymap.
11063 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
11065         Fix error messages for when covers are not found.
11067         The last change to mpc-format let the binding to file call
11068         mpc-file-local-copy with nil argument.  Instead, employ if-let here
11069         so nil bindings don't result in needless computation and errors.
11070         * lisp/mpc.el: Require 'subr-x at compile time.
11071         * lisp/mpc.el (mpc-format): Use if-let.
11073 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
11075         Make dired-do-compress work for *.tar.gz files
11077         * lisp/dired-aux.el (dired-compress-file-suffixes): Associate
11078           "tar -zxvf" to *.tar.gz; update docstring.
11080         (dired-compress-file): Allow to specify switches after the command in
11081         `dired-compress-file-suffixes'.
11083 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
11085         Make dired-do-compress work for directories
11087         * lisp/dired-aux.el (dired-compress-file): When FILE is a directory,
11088           instead of emitting an error, call "tar -czf FILE.tar.gz FILE".
11089         Also convert the top comment into a docstring.
11091 2015-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11093         * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active'
11095         ... since it might come straight from the memoizing table.
11097 2015-10-13  Juanma Barranquero  <lekktu@gmail.com>
11099         * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame.
11101 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
11103         Use special-mode in eww list modes
11105         * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode)
11106         (eww-buffers-mode): Derive from special-mode and remove redundant
11107         setting of buffer-read-only.
11108         (eww-mode-map): Remove redundant keymap parent setting.
11109         (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map):
11110         Remove redundant keymap suppressions and mappings.
11112 2015-10-13  Martin Rudalics  <rudalics@gmx.at>
11114         Allow setting frame pixel sizes from frame parameters (Bug#21415)
11116         Also fix some misfeatures in frame (re-)sizing code, add more
11117         debugging information and remove some dead code.
11119         * lisp/frame.el (frame-notice-user-settings, make-frame): Change
11120         parameter names when setting `frame-size-history'.
11121         (frame--size-history): New function.
11123         * src/frame.c (frame_inhibit_resize): If frame has not been made
11124         yet, return t if inhibit_horizontal_resize or
11125         inhibit_vertical_resize bit have been set.
11126         (adjust_frame_size): Simplify.
11127         (make_frame): Initialize inhibit_horizontal_resize,
11128         inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
11129         (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
11130         inhibit_vertical_resize slots.
11131         (x_set_frame_parameters): Handle `text-pixels' specification for
11132         width and height parameters.  Don't consider new_height or
11133         new_width changes.  Call adjust_frame_size instead of
11134         Fset_frame_size.
11135         (x_figure_window_size): Two new arguments x_width and y_width
11136         returning frame's figures width and height.  Calculate tool bar
11137         height before frame sizes so SET_FRAME_HEIGHT can pick it up.
11138         Handle `text-pixels' specification for width and height
11139         parameters.
11140         (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
11141         (Qx_set_window_size_1, Qx_set_window_size_2)
11142         (Qx_set_window_size_3, Qx_set_menu_bar_lines)
11143         (Qupdate_frame_menubar, Qfree_frame_menubar_1)
11144         (Qfree_frame_menubar_2): New symbols.
11145         * src/frame.h (structure frame): New booleans
11146         tool_bar_redisplayed, tool_bar_resized,
11147         inhibit_horizontal_resize, inhibit_vertical_resize.
11148         (x_figure_window_size): Update external declaration.
11149         * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
11150         calling gtk_window_resize.
11151         (update_frame_tool_bar): Make inhibiting of frame resizing more
11152         discriminative.  Set tool_bar_resized bit.
11153         * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
11154         resizing more discriminative.  Call adjust_frame_size instead of
11155         x_set_window_size.
11156         (Fx_create_frame): Handle x_width and x_height if
11157         set by x_figure_window_size.
11158         * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
11159         subtract 3 from tool bar height.
11160         (x_set_window_size): Add frame_size_history_add call.
11161         (x_new_font): Call adjust_frame_size instead of
11162         x_set_window_size.
11163         * src/w32fns.c (x_change_tool_bar_height): Reset
11164         tool_bar_redisplayed and tool_bar_resized bits when adding tool
11165         bar.  Make inhibiting of frame resizing more discriminative.
11166         (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
11167         (Fx_create_frame): Handle x_width and x_height if set by
11168         x_figure_window_size.  Set size hints before adjusting frame size.
11169         (x_create_tip_frame): Adjust x_figure_window_size call.
11170         * src/w32term.c (x_set_window_size): Add frame_size_history_add
11171         call.
11172         * src/widget.c (set_frame_size): Remove dead code.  Add
11173         frame_size_history_add call.  When frame_resize_pixelwise is t
11174         use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
11175         pixel_width and pixel_height.
11176         (update_various_frame_slots): Remove dead code.
11177         (EmacsFrameResize): Add more information in
11178         frame_size_history_add call.
11179         (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
11180         is not set.
11181         * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
11182         * src/xfns.c (x_set_menu_bar_lines): Change argument name.
11183         (x_change_tool_bar_height): Reset tool_bar_redisplayed and
11184         tool_bar_resized bits when adding tool bar.  Make inhibiting of
11185         frame resizing more discriminative.
11186         (Fx_create_frame): Handle x_width and x_height if set by
11187         x_figure_window_size.  Set size hints before adjusting frame size.
11188         (x_create_tip_frame): Adjust x_figure_window_size call.
11189         * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
11190         (set_frame_menubar): On Lucid never add core-border-width to
11191         avoid that adding XtNinternalBorderWidth adds it again.
11192         (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
11193         * src/xterm.c (x_new_font): In non-toolkit case handle size
11194         change of menu bar.
11195         (x_set_window_size_1): Fix calls to frame_size_history_add.
11196         (x_wm_set_size_hint): Remove dead code.  Set
11197         size_hints.min_width and size_hints.min_height to base_width and
11198         base_height.
11200 2015-10-13  Michael Albinus  <michael.albinus@gmx.de>
11202         * test/automated/file-notify-tests.el (file-notify--test-timeout):
11203         Add docstring.  Increase to 10 seconds for remote
11204         directories.  (Bug#21669)
11206 2015-10-12  Paul Eggert  <eggert@cs.ucla.edu>
11208         Unmacroize ebrowse.c and etags.c a bit
11210         * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant.
11211         (streq, filename_eq, set_flag, has_flag): Now inline functions.
11212         (set_flag): First arg is now an address, not an lvalue.
11213         All callers changed.
11214         (filename_eq, set_flag, has_flag):
11215         Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG.
11216         All callers changed.
11217         * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq):
11218         Now inline functions.  Remove asserts that are unnecessary these
11219         days (and in some cases were too-generous anyway).
11221 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
11223         Use highlight for current items
11225         * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select):
11226         Apply highlight face instead of region face.
11228 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
11230         Search for more cover image names in MPC
11232         * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg
11233         case insensitively
11235 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
11237         Remove or comment out unused variables
11239         * src/w32fns.c (x_set_mouse_color): Comment out variables cursor,
11240         nontext_cursor, mode_cursor, hand_cursor and count.
11241         (x_change_tool_bar_height): Remove variable old_text_height.
11242         (deliver_wm_chars): Remove variable strip_Alt.
11243         (Fw32_shell_execute): Remove variable document_a.
11244         (Fw32_frame_geometry): Remove variable fullboth.
11245         * src/w32term.c (w32_setup_relief_color): Comment out variable
11246         w32_display_info.
11247         (w32_horizontal_scroll_bar_handle_click): Remove variables start, end.
11248         (w32_read_socket): Comment out variables rows, columns.
11249         * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest.
11251 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
11253         * src/w32proc.c (sys_select): Fix bitwise test.
11255 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
11257         Minor typo corrections in doc strings
11259         * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position):
11260         Doc fixes.
11262 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
11264         * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports.
11266 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
11268         Attempt to avoid crashes in plist-member
11270         * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test
11271         and a call to XCDR.  (Bug#21655)
11273 2015-10-12  Mike FABIAN  <mfabian@redhat.com>
11275         * lisp/select.el (gui-get-primary-selection): In
11276         gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
11278 2015-10-12  Tassilo Horn  <tsdh@gnu.org>
11280         Support RTF in doc-view
11282         * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension.
11284 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
11286         * src/w32fns.c (get_wm_chars): Increment counter, not pointer.
11288 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
11290         Replace the usage of an obsolete function in auth-source.el
11292         * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token):
11293         Replace an usage of `epg-context-set-armor' with `setf'.
11295 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
11297         * lisp/gnus/auth-source.el: Use sharp-quoting with functions.
11299 2015-10-11  Jay Belanger  <jay.p.belanger@gmail.com>
11301         Have calc-yank recognize numbers in different bases.
11303         * lisp/calc/calc-yank.el (math-number-regexp): New function.
11304         (calc-yank): Use `math-number-regexp' to recognize numbers.
11306 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11308         Handle an opaque-move X11 window manager operation more efficiently
11310         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
11311         followed by more ConfigureNotify events for the same window, process
11312         only the last one.
11314 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11316         Fix cursor setting for tip frame; re-enable cursor generation
11318         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
11319         attributes sent when creating the new X window.  Don't skip setting
11320         the pointerColor parameter.
11322 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11324         Rewrite x_set_mouse_color to sync less
11326         We can track serial numbers of X requests and correlate error events
11327         with the associated requests.  This way we can identify errors for
11328         specific calls without having to use XSync after every one.
11330         * src/xfns.c (enum mouse_cursor): New type.
11331         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
11332         (mouse_cursor_types): New array listing the Lisp variables and default
11333         cursor appearances for each cursor type.
11334         (x_set_mouse_color_handler): New function; checks error event serial
11335         number against submitted requests.
11336         (x_set_mouse_color): Updated to use the new error handler callback,
11337         and to be more table-driven, to simplify repetitious code.
11339 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11341         Add x_catch_errors_with_handler
11343         * src/xterm.c (struct x_error_message_stack): Add new fields for a
11344         callback function and associated data pointer.
11345         (x_error_catcher): If the callback function is set, call it after
11346         saving the error message string.
11347         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
11348         accepts a callback function and data pointer.
11349         (x_catch_errors): Now a wrapper function.
11350         * src/xterm.h (x_special_error_handler): New typedef.
11351         (x_catch_errors_with_handler): Declare.
11353 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11355         Introduce x_uncatch_errors_after_check to reduce XSync calls
11357         Both x_had_errors_p and x_check_errors call XSync, so if they're
11358         immediately followed by x_uncatch_errors, its XSync call will be
11359         redundant, resulting in a wasted round trip to the X server.
11361         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
11362         x_uncatch_errors without the XSync call.
11363         (XTmouse_position, x_wm_supports):
11364         * src/xfns.c (x_set_mouse_color):
11365         * src/xmenu.c (Fx_menu_bar_open_internal):
11366         * src/xselect.c (x_own_selection, x_get_foreign_selection):
11367         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
11368         * src/xterm.h (x_uncatch_errors_after_check): Declare.
11370 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
11372         Document the optional prefix to `calc-yank'
11374         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
11375         prefix to `calc-yank'.
11376         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
11377         the Calc buffer are yanked back unchanged.
11379 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
11381         * lisp/calendar/calendar.el: Display buffer before executing body.
11383         In each use of this macro, the modeline is derived from a window width
11384         calculation, which will be wrong if (display-buffer) splits the window
11385         horizontally.
11387 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11389         Use ‘echo’ safely with ‘\’ or leading ‘-’
11391         POSIX says that ‘echo FOO’ produces implementation-defined output
11392         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
11393         behavior in that case.
11394         * Makefile.in (removenullpaths): Remove.
11395         (epaths-force): Rewrite to avoid the need for ‘echo’.
11396         (install-etc): Be clearer about escaping the shell metacharacters
11397         ‘\’ and ‘$’.
11398         * Makefile.in (install-arch-indep, install-etcdoc):
11399         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
11400         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
11401         * configure.ac, lib-src/rcs2log, make-dist:
11402         * src/Makefile.in (lisp.mk):
11403         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
11404         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
11405         if $foo can contain arbitrary characters.
11406         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
11407         * doc/lispref/two-volume.make (vol1.pdf):
11408         * test/etags/make-src/Makefile (web ftp publish):
11409         Use ‘printf’ rather than ‘echo -e’.
11411 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
11413         Allow numbers with different radixes to be yanked.
11415         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
11416         default base 10.
11418 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11420         Improve CHECK_IMPURE and PURE_P speedup
11422         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
11424 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
11426         Use events instead of chars to keep track of steps.
11428         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
11429         to keep track of steps.
11431 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11433         Fix --enable-gcc-warnings problem with older GCC
11435         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
11436         This is for building with --enable-gcc-warnings with
11437         GCC 4.6 through 5.0.
11439 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
11441         Fix vertical-motion in truncated lines that end in a stretch
11443         * src/indent.c (Fvertical_motion): Expect overshoot when point is
11444         beyond window margin and lines are truncated, even if we have a
11445         stretch at point.  (Bug#21468)
11447 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
11449         Avoid link-time errors due to inline functions
11451         * src/emacs.c: Include puresize.h, to avoid link-time errors in
11452         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
11453         inline functions.
11455 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
11457         * src/data.c (Faset): Fix last change.
11459 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11461         CHECK_IMPURE and PURE_P speedup
11463         * src/intervals.c (create_root_interval):
11464         Do CHECK_IMPURE only for strings; not needed for buffers.
11465         Prefer ! STRINGP to BUFFERP, for a tad more speed.
11466         * src/puresize.h (CHECK_IMPURE, PURE_P):
11467         Now inline functions instead of macros.
11468         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
11469         All callers changed.
11470         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
11471         All callers changed.
11473 2015-10-09  Noah Friedman  <friedman@splode.com>
11475         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
11477 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11479         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
11481         our after-change-function, rather than re-adding it if it was removed.
11483 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11485         * lisp/cedet/ede: Silence some compiler warnings
11487         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
11488         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
11489         (ede-apply-object-keymap, ede-reset-all-buffers)
11490         (ede-auto-add-to-target): Use dolist.
11491         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
11492         Use field names rather than initarg names in `oref'.
11493         (ede-load-project-file): Remove unused var `file'.
11494         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
11495         (ede-set): Remove unused var `a'.
11497         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
11498         (ede-project-autoload): Avoid the old-style "name" argument.
11499         (ede-emacs-find-matching-target): Use field names rather than initarg
11500         names in `oref'.
11502         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
11503         (ede-linux-load, ede-project-autoload): Avoid the old-style
11504         "name" argument.
11505         (ede-linux-find-matching-target): Use field names rather than initarg
11506         names in `oref'.
11508 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11510         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
11512 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11514         * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid
11515         indenting too far after ":-".
11517 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
11519         Update case-table and categories of recently added characters
11521         * lisp/international/characters.el: Update information about Latin
11522         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
11523         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
11524         blocks.  (Byug#21654)
11526 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
11528         * src/frame.c (adjust_frame_size): In minibuffer-only windows
11529         don't count minibuffer height twice.  (Bug#21643)
11531 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
11533         Avoid inflooping in font-lock
11535         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
11536         inhibit-field-text-motion around the call to
11537         line-beginning-position, to avoid inflooping.  (Bug#21615)
11539 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
11541         Refactor duplicated code; ensure default is in completions
11543         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps):
11544         New function.
11545         (reftex-extract-bib-entries): Use it.
11546         (reftex-extract-bib-entries-from-thebibliography): Use it.
11548 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
11550         * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst"
11551         in the example.
11553 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
11555         * lisp/calc/calc.el: Silence byte-compiler warnings.
11556         (calc-scan-for-dels): Use ignore-errors.
11557         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
11558         (calc-read-key-sequence): Remove unused var `prompt2'.
11559         (calc-kill-stack-buffer): Remove unused var `buflist'.
11560         (calc): Remove unused var `oldbuf'.
11561         (calc-refresh): Use inhibit-read-only.
11562         (calc-can-abbrev-vectors): Declare.
11563         (calc-record): Remove unused var `mainbuf'.
11564         (math-sub-bignum): Remove unused var `sum'.
11565         (math-svo-c, math-svo-wid, math-svo-off): Declare.
11567 2015-10-08  Daiki Ueno  <ueno@gnu.org>
11569         Use g_clear_error instead of g_error_free
11571         * src/image.c: Define g_clear_error instead of g_error_free.
11572         (init_svg_functions): Resolve symbol g_clear_error instead of
11573         g_error_free.
11574         (svg_load_image): Use g_clear_error instead of g_error_free, to
11575         suppress GLib warnings when ERR is not set.  See bug#21641.
11577 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11579         * src/image.c (image_size_error): Simplify.
11581 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11583         Fix problems caught with --enable-gcc-warnings
11585         * src/image.c (lookup_rgb_color):
11586         * src/xfns.c (x_defined_color):
11587         * src/xterm.c (x_parse_color):
11588         Remove unused locals.
11590 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
11592         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
11594 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
11596         Format initial input uniformly
11598         * lisp/calc/calc.el (calc-digit-start-entry): New function.
11599         * lisp/calc/calc.el (calcDigit-start):
11600         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
11601         Use `calc-digit-start-entry' to format input.
11603 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
11605         Disable non-working pointerColor setting for X tooltip frame
11607         It generates a bunch of server traffic, but there's some bug wherein
11608         the new mouse cursor settings don't seem to get used.  In most
11609         situations the cursor isn't likely to be seen anyway, so it's not
11610         urgent to fix.
11612         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
11614 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
11616         Reduce some unnecessary X calls
11618         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
11619         call.  If border width is wanted, get it from the XGetGeometry call
11620         instead of calling XGetWindowAttributes on the same window.  Skip some
11621         X calls if we've already detected an error from the X server.
11622         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
11623         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
11625 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
11627         Reduce color allocation/query traffic in the TrueColor case
11629         When working with an X visual with TrueColor class, pixel values can
11630         be generated from the RGB values according to mask value provided by
11631         the server on connection.  Some of the image-handling code was already
11632         doing this.
11634         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
11635         lookup_rgb_color.
11636         (x_mutable_colormap): New function.
11637         * src/image.c (lookup_rgb_color): Move pixel composition code to
11638         x_make_truecolor_pixel.
11639         (x_kill_gs_process): Call x_mutable_colormap.
11640         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
11641         x_mutable_colormap.
11642         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
11643         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
11644         pixel value into RGB values directly, and don't send a request to the
11645         server.
11646         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
11647         value with x_make_truecolor_pixel.
11648         (x_copy_color): For an immutable color map, just return the provided
11649         pixel value.
11651 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
11653         Cache XParseColor results in the X display info structure
11655         With repeated lookups of foreground and background colors for multiple
11656         faces per frame, we issue a lot of redundant color name lookups to the
11657         X server, waiting every time for the response.  On a remote network
11658         with, say, 30ms round-trip time, this can add nearly a full second to
11659         creation of a new frame.
11661         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
11662         * src/image.c (get_spec_bg_or_alpha_as_argb):
11663         (xpm_init_color_cache, xpm_lookup_color):
11664         * src/xfns.c (x_defined_color):
11665         * src/xterm.c (x_parse_color): New function; caches color names not
11666         starting with "#" in the display-info structure.
11667         (x_delete_display): Delete the cache content.
11668         * src/xterm.h (struct color_name_cache_entry): New type.
11669         (x_parse_color): Declare.
11670         (struct x_display_info): Add a new field for the cache.
11672 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
11674         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local.
11676 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
11678         Fix segfault in image_size_error
11680         * src/image.c (image_size_error): Pass a Lisp string to
11681         image_error, not a C string.  (Bug#21641)
11683 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
11685         Highlight CSS variable definitions
11687         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
11688         CSS variables.  (Bug#21638)
11690 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
11692         * test/automated/tabulated-list-test.el: New file.
11693         Test bug#21639 and some basic functionality.
11695 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
11697         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
11698         Check if column can be sorted before trying.  (Bug#21639)
11700 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
11702         Add test for `self-insert-command' (bug#21633)
11704         * test/automated/cmds-tests.el: New file.
11706 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
11708         * src/window.c (resize_frame_windows): Don't set root window's
11709         top position when resizing horizontally.
11711 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
11713         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
11714         Document more possible values.
11716 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
11718         * lisp/textmodes/tex-mode.el: Use lexical-binding.
11720 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
11722         * lisp/indent.el (indent--default-inside-comment): New function.
11723         (indent-for-tab-command): Use it for `noindent' indentation.
11725 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
11727         Fix bug in GC_CHECK_MARKED_OBJECTS check
11729         * src/alloc.c (mark_object): Fix bug in checking code.
11730         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
11731         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
11732         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
11733         bucket.  The bug did not affect behavior either in the normal case
11734         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
11735         not have an internal error that a properly-written
11736         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
11738 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
11740         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
11741         Add prettified version for \\Bbb{Q}.
11743 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
11745         * test/automated/package-test.el (package-test-install-single):
11746         Add a test for bug#21625.
11748 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
11750         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
11751           not a package-desc object.  Also clarify documentation.  (Bug#21625)
11753 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
11755         Fix display of characters adjacent to ZWJ and ZWNJ
11757         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
11758         characters the same as directional formatting controls.
11759         (bidi_level_of_next_char): Include all Bn characters in rule L1,
11760         as mandated by the UBA.
11762 2015-10-06  Andreas Schwab  <schwab@suse.de>
11764         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
11765         number.  (Bug#21633)
11767 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
11769         * doc/lispref/objects.texi (Window Type): Add a cross reference.
11771         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
11773 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
11775         * lisp/language/misc-lang.el (composition-function-table):
11776         Fix entries for Arabic and Syriac.
11778 2015-10-05  Damien Cassou  <damien@cassou.me>
11780         Add first unit tests for auth-source.el
11782         * test/automated/auth-source-tests.el: New file.
11784 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
11786         Remove redundant redisplay code
11788         * src/xdisp.c (redisplay_internal, try_cursor_movement)
11789         (try_window_reusing_current_matrix, try_window_id): Remove
11790         redundant restrictions on redisplay optimizations based on the
11791         frame's 'redisplay' flag.  See
11792         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
11793         discussions.
11795 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
11797         * src/xdisp.c (windows_or_buffers_changed): Improve docstring.
11799 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
11801         Update tutorials/TUTORIAL.cn
11803         * etc/tutorials/TUTORIAL.cn: Improve translation.
11805 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11807         * src/macfont.m (macfont_encode_char, syms_of_macfont):
11808         Remove unused vars.
11810 2015-10-04  Stefan Merten  <stefan@merten-home.de>
11812         Pull in version numbers from rst.el upstream release.
11814         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
11815         (rst-svn-timestamp, rst-official-version)
11816         (rst-official-cvs-rev, rst-package-emacs-version-alist):
11817         Update version numbers.
11819 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
11821         * test/automated/coding-tests.el: New file.
11823 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
11825         Improve XEmacs compatibility of Tramp
11827         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
11828         Declare if it doesn't exist.
11829         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
11830         (redisplay): Make it an alias if it doesn't exist.
11832         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
11833         `file-remote-p' (due to XEmacs compatibility).
11835         * lisp/net/trampver.el (locate-dominating-file)
11836         (tramp-compat-replace-regexp-in-string): Autoload.
11837         (tramp-repository-get-version): Do not dupe byte-compiler.
11839 2015-09-02  K. Handa  <handa@gnu.org>
11841         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
11843         * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
11844         Adjusted for the change of type of elements in the array
11845         MFLTGlyphString.glyphs.
11847 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
11848             Michael Heerdegen  <michael_heerdegen@web.de>
11850         shr: fix too long lines in rendered buffers (Bug#21012)
11852         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
11853         Correct calculation of available width.
11854         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
11855         is nil.
11857 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
11859         Restore blank line before next section, erroneously erased
11860         in my previous commit
11862         * etc/compilation.txt (symbol ant): Add an additional trailing blank
11863         line to this section, so that there are two of them immediately before
11864         the next section.
11866 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
11868         Support MSW filename style for ant compilation error regexp
11870         * etc/compilation.txt (symbol ant):
11871         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
11872         Support MSW filename style.
11874 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
11876         * nt/INSTALL: Minor spelling and quote fixes.
11878         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
11880 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
11882         Maintain ordering of JSON object keys by default
11884         * lisp/json.el (json-object-type): Mention order handling in doc-string.
11885         (json--plist-reverse): New utility function.
11886         (json-read-object): Maintain ordering for alists and plists.
11887         (json-pretty-print): Ensure that ordering is maintained.
11889         * test/automated/json-tests.el (test-json-plist-reverse): New test for
11890         `json--plist-reverse'.
11891         (json-read-simple-alist): Update test to accommodate for changes in
11892         `json-read-object'.
11894         * etc/NEWS: Document the new behavior of the pretty printing functions.
11896 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
11898         * src/coding.c (complement_process_encoding_system): Revert last change.
11900 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
11902         * admin/MAINTAINERS: Add entry for Ulf Jasper.
11904 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
11906         Doc fix for `defmacro'
11908         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
11910 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
11912         More validatation of coding systems
11914         * src/fileio.c (Finsert_file_contents): Remove redundant
11915         coding-system check.
11916         (choose_write_coding_system): Likewise.
11917         * src/coding.c (complement_process_encoding_system): Check argument
11918         for valid coding system.
11920 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
11922         Avoid crashes in coding_inherit_eol_type
11924         * src/coding.c (coding_inherit_eol_type): Check the validity of
11925         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
11926         (Bug#21602)
11928 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
11930         More validatation of coding system in 'write-region'
11932         * src/coding.c (choose_write_coding_system): More validation of
11933         coding-system from various sources.  Suggested by Andreas Schwab
11934         <schwab@linux-m68k.org>.  (Bug#21602)
11936 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
11938         Avoid crashes due to invalid coding-system
11940         * src/fileio.c (choose_write_coding_system)
11941         (Finsert_file_contents): Check validity of coding-system-for-write
11942         and coding-system-for-read bound by the caller.  (Bug#21602)
11944 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
11946         Adapt to new prettify-symbols-unprettify-at-point default
11948         * etc/NEWS: Mention that unprettication of symbol at point is off
11949         by default.
11951 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
11953         Revert my two recent process.c changes
11955         Revert "Improve last commit to process.c" and "Remove callback-handled
11956         channels from Available set" because they did not fix bug#21313.
11958         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
11959         27f871907cc24f33a7d12ac3a4ab71a88f0bc554.
11961 2015-10-02  Markus Triska  <triska@metalevel.at>
11963         * lisp/progmodes/prolog.el: Update and extend operator table.
11964         (prolog-smie-grammar): Add multifile, public etc.
11966 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11968         Allow autogen even when Git is not installed
11970         * autogen.sh: Test ‘git status’ before trying to use Git.
11972 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
11974         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes.
11975         Adjust lto/lfrom when we have uncommitted changes.
11977 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11979         Fix problems found by clang 3.5.0
11981         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
11982         * src/font.c (font_parse_family_registry):
11983         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
11985 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
11987         * nt/INSTALL: Update instructions for running autogen.sh.
11989         * nt/INSTALL: Point to ezwinports for libXpm binaries.
11991 2015-10-02  Daniel Colascione  <dancol@dancol.org>
11993         Fix winner in cl-lib not loaded case
11995         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
11996         without requiring CL
11998 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12000         Fix a few problems with directed quotes
12002         This is in response to a problem report by Kaushal Modi in:
12003         http://bugs.gnu.org/21588#25
12004         * lisp/cedet/mode-local.el (describe-mode-local-overload):
12005         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
12006         * lisp/info-xref.el (info-xref-check-all-custom):
12007         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
12008         Prefer directed to undirected single quotes in diagnostics.
12010 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
12012         Revert "Attempt to fix slow redisplay caused by last changes"
12014         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
12015         (try_cursor_movement): Don't relax requirements for redisplay
12016         optimizations for the selected frame.  (Bug#21597)
12018         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
12020 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
12022         Fix slow redisplay when daemon frame exists
12024         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
12025         when looking for frames that need to be redisplayed.  (Bug#21597)
12027 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
12029         Attempt to fix slow redisplay caused by last changes
12031         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
12032         (try_cursor_movement): Relax requirements for redisplay
12033         optimizations for the selected frame.  (Bug#21597)
12035 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
12037         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
12038         Improve doc string.
12040 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
12042         * lisp/minibuffer.el (minibuffer-completion-help):
12043         Set default base-size, in case completion table does not set it.
12045 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
12047         Fix GUD display of GDB output with non-ASCII text
12049         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
12050         (gdb-mi-decode): New function.
12051         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
12052         decode octal escapes in GDB output.  (Bug#21572)
12054 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
12056         * nt/INSTALL: Document where to find XPM support files.
12058 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
12060         Un- and re-prettification are not exclusive
12062         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
12063         Re-apply prettification to previous symbol also when unprettifying
12064         next one.
12066 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
12068         Don't unprettify symbol at point by default
12070         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
12071         Default to disabled (nil).
12073 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
12075         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
12076         Support unprettifying when point is after a symbol.
12078         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'.
12080 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
12082         Avoid assertion violations in push_prefix_prop
12084         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
12085         a line that has a line-prefix defined starts with an image.  (Bug#21428)
12087 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
12089         Disable some display optimizations when frames need redisplay
12091         These optimizations were previously disabled by the
12092         windows_or_buffers_changed flag, which now is not set
12093         when only some frames need to be redrawn.
12094         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
12095         'redisplay' flag is set.
12096         (try_window_reusing_current_matrix, try_window_id)
12097         (try_cursor_movement): Disable these optimizations when the
12098         frame's 'redisplay' flag is set.
12100 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
12102         Don't modify buffer by unprettification
12104         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
12105         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
12106         modify buffer when setting/removing custom prettify-symbols-start/end
12107         text properties.  Add them to font-lock-extra-managed-props, too.
12109 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
12111         Try to avoid redisplaying all frames when creating a new one
12113         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
12114         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
12115         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
12116         * src/frame.c (x_set_screen_gamma): Set the specific frame's
12117         `redisplay' bit rather than windows_or_buffers_changed.
12119         * src/window.c (apply_window_adjustment): Remove redundant setting of
12120         windows_or_buffers_changed.
12122         * src/xdisp.c (redisplay_internal): Set the specific frame's
12123         `redisplay' bit rather than update_mode_lines in response to
12124         cursor_type_changed.
12125         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
12126         (AINC): Adjust accordingly.
12128 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
12130         Implement unprettification of symbol at point
12132         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
12133         symbol at point.
12134         (prettify-symbols--current-symbol-bounds): New variable.
12135         (prettify-symbols--post-command-hook): New function.
12136         (prettify-symbols-unprettify-at-point): New defcustom.
12137         (prettify-symbols-mode): Use it.
12138         (prettify-symbols--compose-symbol): Use them.
12140 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12142         * src/macfont.m (mac_font_descriptor_supports_languages):
12143         Regard "zh" as synonym of "zh-Hans".
12145 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12147         Work around crash when displaying etc/HELLO on OS X 10.11
12149         * src/macfont.m (mac_font_get_weight)
12150         (mac_font_descriptor_get_adjusted_weight): New functions.
12151         (macfont_store_descriptor_attributes): Adjust weight.
12153 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12155         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
12157 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
12159         * lisp/arc-mode.el (archive-rar-summarize): Better alignment
12160         of the columns.
12162 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
12164         Use unar and lsar to handle RAR archives in arc-mode
12166         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
12167         on unar and lsar instead of unrar-free for RAR archives (bug#17663).
12169 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
12171         Clarify :create in auth-source's docs
12173         * lisp/gnus/auth-source.el (auth-source-search):
12174         Clarify :create's meaning.
12176 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
12178         Avoid empty -path arguments in rgrep
12180         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
12181         the list produced according to grep-find-ignored-directories,
12182         before passing it to Find/Grep invocation.  (Bug#21548)
12184 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
12186         Clarify documentation of pos-visible-in-window-p
12188         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
12189         t for POS.  See
12190         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
12191         for the original report.
12193         * doc/lispref/windows.texi (Window Start and End): Clarify the
12194         meaning of t for the POSITION argument of pos-visible-in-window-p.
12196 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12198         * lisp/progmodes/prolog.el: Fix various indentation cases.
12199         (prolog-operator-chars): New const (add \\).
12200         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
12201         (prolog-smie-rules): Add rules according to bug#21526.
12203 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12205         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent.
12206         (sh-indent-after-continuation): Add new value `always' (bug#17620)
12207         (sh-smie-sh-rules): Remove old handling of continued lines.
12208         (sh-smie--indent-continuation): New function.
12209         (sh-set-shell): Use it.
12211 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12213         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun.
12214         Remove redundant :group keyword args.
12215         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
12216         Remove variables.
12217         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
12218         turn them into compile-time variables.
12219         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
12220         Add rules for break, continue, return, global, and persistent.
12221         Refine the rule for "until".
12222         (octave-smie--funcall-p, octave-smie--end-index-p)
12223         (octave-smie--in-parens-p): New functions.
12224         (octave-smie-backward-token, octave-smie-forward-token): Use them to
12225         distinguish the "enumeration" function and the "end" index from
12226         their corresponding keywords.
12227         (octave--block-offset-keywords): New constant.
12228         (octave-smie-rules): Use it.  Adjust rules for new global/persistent
12229         parsing.
12230         (octave-reserved-words): Redefine using octave-smie-grammar.
12231         (octave-font-lock-keywords): Use octave-smie--funcall-p and
12232         octave-smie--end-index-p.
12234 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12236         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*.
12238 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
12240         * nt/INSTALL: Remove references to GTK site.
12241         That site no longer offers Windows downloads.
12243 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
12245         * nt/INSTALL: Add instructions for installing Git.
12247 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
12249         * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to
12250         use colors.  Suggested by Eli Zaretskii.
12252 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
12254         * lisp/net/shr.el (shr-colorize-region): Don't do it on a system
12255         not supporting 256 above colors (bug#21557).
12257 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
12259         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
12261         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
12263 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
12265         Add documentation for seq.el
12267         * doc/lispref/sequences.texi: Add documentation regarding extending
12268         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
12269         seq-do and seq-map.
12271 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
12273         Better documentation for seq-some
12275         * doc/lispref/sequences.texi:
12276         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
12277         guarantee that the returned value is the first non-nil value that
12278         resulted from applying the predicate.
12280 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
12282         * lisp/arc-mode.el: Sharp-quote function arguments.
12284 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
12286         Avoid redisplay error in ediff-regions-wordwise
12288         * lisp/vc/ediff-util.el
12289         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
12290         set before activating it.  (Bug#21567)
12292 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
12294         Another attempt to fix crashes due to prematurely freed faces
12296         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
12297         faces for as long as we might have desired matrices that reference
12298         those faces.  (Bug#21428)
12300 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
12302         Add auctex development list email address
12304 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
12306         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
12308 2015-09-28  Arash Esbati  <esbati@gmx.de>  (tiny change)
12310         Improve wrapfig package support and caption parsing
12312         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
12313         Correct description string and add wraptable environment.
12314         (reftex-default-context-regexps): Improve caption regexp.
12316 2015-09-28  Anders Lindgren  <andlind@gmail.com>
12318         Respect value of frame_resize_pixelwise when handling fullscreen state
12320         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
12321         setting size increments.
12323 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
12325         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
12327 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
12329         Add prettify-symbols-alist for js-mode
12331         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
12332         (js-mode): Use it.
12334 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
12336         * nt/subdirs.el: File deleted (no longer used).
12338 2015-09-26  Alan Mackenzie  <acm@muc.de>
12340         Fix follow-scroll-up/down, making them replacements for scroll-up/down
12342         1. Allow point to move between follow windows in scroll operations.
12343         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
12344         when EOB was isolated in the last follow window.
12346         * lisp/follow.el (follow-fixed-window): New variable.
12347         (follow-get-scrolled-point): New function.
12348         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
12349         Reformulate the code.  Put `scroll-command' properties on the functions.
12350         Correct minor errors in ...-down's doc string and code.
12351         (follow-calc-win-end): Amend incomplete doc string.  Use
12352         `pos-visible-in-window-p' to check whether EOB is in the window.
12353         (follow-estimate-first-window-start): Correct an off-by-1 error.
12354         (follow-adjust-window): Add handling for explicit scrolling operations.
12356 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12358         * admin/MAINTAINERS: Add self, plus list some more files
12359         sans maintaners.
12361 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
12363         New DWIM commands for changing letter-case
12365         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
12366         New functions.  (Bug#21501)
12368 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
12370         * etc/PROBLEMS: Document problems with pasting on MS-Windows.
12372 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
12374         Make face realization be more frame-specific
12376         * src/frame.h (struct f): New flag face_change.
12377         * src/xfaces.c (Finternal_make_lisp_face)
12378         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
12379         (update_face_from_frame_parameter): Set the face_change flag only
12380         for the frame whose faces are affected.
12381         * src/xdisp.c (init_iterator): If a frame's face_change flag is
12382         set, free faces only on that frame.
12383         (redisplay_internal): Disable "display optimization 1" if the
12384         frame's face_change flag is set.
12385         (redisplay_window): Don't allow skipping a window's redisplay if
12386         its frame's face_change flag is set.
12387         * src/frame.c (x_set_screen_gamma): Instead of calling
12388         Fclear_face_cache, call clear_face_cache and set
12389         windows_or_buffers_changed to a non-zero value.  This avoids
12390         setting the global face_change flag that triggers face realization
12391         on all frames and thorough redisplay of all of them.
12393         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
12394         clear face cache if the selected frame is a GUI frame.
12396 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
12398         Remove font-latex specific check
12400         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
12401         Use syntax-ppss data to identify verbatim contents.
12403 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
12405         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
12406         Fix some false negatives.
12408 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
12410         Reorder Windows version in Emacs manifests
12412         * nt/emacs-x64.manifest:
12413         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
12414         highest.
12416 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
12418         Update Emacs manifest files for Windows 10
12420         * nt/emacs-x86.manifest:
12421         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
12423 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
12425         Avoid non-ASCII decoding errors in C src files
12427         * src/nsterm.m:
12428         * src/lisp.h:
12429         * src/editfns.c:
12430         * src/doprnt.c: Add 'coding' cookies -- these files include
12431         Unicode characters and should be decoded as UTF-8.
12433 2015-09-25  Alan Mackenzie  <acm@muc.de>
12435         Resurrect edebug-set-initial-mode, repurposing it to set the global mode
12437         * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
12438         amend to match current modes and functions.
12439         (edebug-set-initial-mode): Uncomment and change from setting a defun's
12440         `edebug-initial-mode''s property to setting the variable
12441         `edebug-initial-mode'.
12442         (top level): Create new binding C-x C-a C-m for
12443         `edebug-set-initial-mode'.
12445         * doc/lispref/edebug.texi (Edebug Execution Modes): Document
12446         `edebug-set-initial-mode' and its new key binding.
12447         (Edebug Options): Mention the new command in the pertinent place.
12449         * etc/NEWS: Write entry for this change.
12451 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
12453         Avoid non-ASCII decoding errors in Texinfo files
12455         * doc/misc/tramp.texi:
12456         * doc/lispref/strings.texi:
12457         * doc/lispref/positions.texi:
12458         * doc/lispref/help.texi:
12459         * doc/lispref/functions.texi:
12460         * doc/lispintro/emacs-lisp-intro.texi:
12461         * doc/emacs/text.texi:
12462         * doc/emacs/modes.texi:
12463         * doc/emacs/mini.texi:
12464         * doc/emacs/display.texi:
12465         * doc/emacs/custom.texi:
12466         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
12467         Unicode characters and should be decoded as UTF-8.
12468         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
12469         apostrophe unnecessarily.
12471 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12473         Merge from gnulib
12475         This incorporates:
12476         2015-09-25 c-ctype: rewrite to use inline functions
12477         2015-09-24 maint: add coding cookies to non-ASCII sources
12478         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
12479         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
12480         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
12481         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
12482         * lib/set-permissions.c:
12483         Copy from gnulib.
12485 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12487         Update publicsuffix.txt from upstream
12489         * etc/publicsuffix.txt: Update from
12490         https://publicsuffix.org/list/effective_tld_names.dat
12491         dated 2015-09-24 17:29:21 UTC.
12493 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
12495         Prevent timers from messing up TTY menus
12497         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
12498         the TTY menu is open.  (Bug#21530)
12500 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12502         No need to mention K&R C in c-mode intro
12504 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
12506         Fix recent bootstrap problems
12508         * src/syntax.c (parse_sexp_propertize): Fix last fix.
12509         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
12510         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
12512 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
12514         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
12516 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
12518         Properly quote nested xml comments (Bug#6267) (Bug#20001)
12520         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function.
12521         (nxml-mode): Set comment-quote-nested-function.
12523 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
12525         Allow major-modes full control over quoting nested comments
12527         * lisp/newcomment.el (comment-quote-nested-function): New variable.
12528         (comment-quote-nested-default): New function.
12529         (comment-quote-nested): Use `comment-quote-nested-function'.
12531 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12533         Prefer CALLN in a few more places
12535         * src/macfont.m (macfont_set_family_cache):
12536         * src/nsterm.m (append2):
12537         * src/xterm.c (x_cr_export_frames):
12538         Prefer CALLN to allocating the arg arrays by hand.
12540 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
12542         Adapt file-notify-test02-events test case
12544         * test/automated/file-notify-tests.el (file-notify-test02-events):
12545         Create a new watch for every test.
12547 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
12549         Continue gfilenotify.c implementation of missing parts
12551         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
12552         `gfile-add-watch' call.
12553         (file-notify-rm-watch): Modify `file-notify-descriptors' only
12554         after calling the low level functions.
12556         * src/gfilenotify.c (dir_monitor_callback): Check, whether
12557         event_type is expected.
12558         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
12559         (Fgfile_rm_watch): Fix typo.
12560         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
12562 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
12564         * src/syntax.c (parse_sexp_propertize): Handle spurious
12565         e_property_truncated flag.
12566         (update_syntax_table_forward): Remove invalid assertion.
12568 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
12570         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
12571         space display spec on text-mode terminals, by calling
12572         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the
12573         HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the
12574         test for a GUI frame.
12576 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
12578         Move let-when-compile to lisp-mode.el
12580         This fixes the bootstrapping problem of `let-when-compile' using
12581         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
12583 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12585         * lisp/url/url-http.el (url-http-parse-headers): Do not
12586         automatically include Authorization header in redirect.
12587         (Bug#21350)
12589 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
12591         Clarify documentation of ':relative-width'
12593         * doc/lispref/display.texi (Specified Space): Document that
12594         ':relative-width' is only supported on GUI frames.
12596 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
12598         Fix 'current-column' in presence of :relative-width
12600         * src/indent.c (check_display_width): Support ':relative-width'
12601         in a display spec that specifies a stretch glyph.  (Bug#21533)
12603 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
12605         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
12607         ... to conform better to CONTRIBUTE guidelines.
12609 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
12611         * lisp/progmodes/prolog.el: Fix indentation of empty line
12613         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
12614         `empty-line-token' element.
12615         (smie-indent-empty-line): New function.
12616         (smie-indent-functions): Add it.
12618         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro
12619         behavior and use the new `empty-line-token' element (bug#21526).
12620         (prolog-mode-variables): Fix comment-start-skip setting to match
12621         comment-start.
12623         * test/indent/prolog.prolog: Add nested indentation tests.
12625         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
12626         comment-start-skip not to misuse submatch 1.
12628 2015-09-22  Alan Mackenzie  <acm@muc.de>
12630         Make description of `edebug-initial-mode' user friendly
12632         Fixes bug#21365.
12634         * doc/lispref/edebug.texi (Edebug Execution Modes): Change the
12635         description of `edebug-initial-mode' from that of its implementation
12636         to that of its visual effect and use.  Move the paragraph higher up.
12638 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
12640         lisp/progmodes/gud.el (gud-format-command): Fix last commit
12642         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
12643         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
12645 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
12647         Improve last commit to process.c
12649 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
12651         Implement gfile-valid-p
12653         * lisp/filenotify.el (file-notify-callback): Fix typo.
12654         (gfile-valid-p): Remove defalias.
12656         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
12657         the file or directory to be watched is deleted.
12658         (Fgfile_add_watch): Make watch_object a triple.
12659         (Fgfile_rm_watch): Check, whether watch is cancelled already.
12660         (Fgfile_valid_p): New defun.
12661         (syms_of_gfilenotify): Declare Sgfile_valid_p.
12663 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
12665         Remove callback-handled channels from Available set
12667         * src/process.c (wait_reading_process_output): Remove channel from
12668         Available set if it is handled by a callback, e.g., dbus or
12669         inotify (bug#21313).
12671 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
12673         Use lunate epsilon for TeX \epsilon
12675         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
12676         Add \varepsilon using GREEK SMALL LETTER EPSILON, and change
12677         \epsilon to use GREEK LUNATE EPSILON SYMBOL
12679 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
12681         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
12683         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
12684         rather than outermost paren (bug#21526).
12686 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
12688         Improve git diff hunk headers for .el, .texi
12690         Problem reported by Alan Mackenzie in:
12691         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
12692         * .gitattributes (*.el, *.texi): New patterns.
12693         * autogen.sh: Configure diff.elisp.xfuncname and
12694         diff.texinfo.xfuncname if using Git.
12696 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
12698         Don't rely on defaults in decoding UTF-8 encoded Lisp files
12700         * lisp/replace.el:
12701         * lisp/textmodes/rst.el:
12702         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
12704 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
12706         Clarify or replace a few \u escapes
12708         * doc/lispref/nonascii.texi (Character Properties)
12709         More-detailed commentary for \u escapes.
12710         * lisp/progmodes/python.el (python--prettify-symbols-alist):
12711         * lisp/replace.el (query-replace-from-to-separator):
12712         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
12713         (rst-mode-syntax-table):
12714         * lisp/whitespace.el (whitespace-display-mappings):
12715         Prefer actual character to \u escape when this makes the code
12716         easier to follow in the usual case where Unicode chars can be
12717         displayed.
12719 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
12721         Pacify GCC -Wmaybe-uninitialized in xdisp.c
12723         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
12724         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
12725         charpos.  The loop should always execute at least once anyway.
12727 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
12729         Signal error on invalid regexp
12731         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
12732         Signal an error when the user tries searching with a regexp
12733         matching the empty string.
12735 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
12737         Another fix of file-notify-tests for w32notify
12739         * test/automated/file-notify-tests.el (file-notify-test02-events):
12740         Further adaptation for w32notify: reduce the number of expected
12741         'changed' events.  (Bug#21435)
12743 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
12745         Adapt tests and manual for w32notify
12747         * doc/lispref/os.texi (File Notifications): w32notify does not
12748         send `attribute-changed' events.
12750         * test/automated/file-notify-tests.el (file-notify--test-with-events):
12751         Simplify parameters.  Adapt all callees.
12752         (file-notify-test02-events): w32notify does not send
12753         `attribute-changed' events.
12754         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
12755         Do not skip in case of w32notify.  Simply ignore this part of the test.
12757 2015-09-21  Dima Kogan  <dima@secretsauce.net>
12759         Fix setting breakpoints when remote-debugging
12761         * lisp/progmodes/gud.el (gud-format-command): Send localized file
12762         names to the debugger running on the remote.  (Bug#13304)
12764 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
12766         Better docstring and parameter name for seq-find
12768         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
12769         the parameter `sentinel' to `default'.
12771         * doc/lispref/sequences.texi (Sequence Functions): Update the
12772           documentation for `seq-find' accordingly.
12774 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
12776         Avoid infinite recursion while displaying box face
12778         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
12779         the previous string/buffer character position under bidi
12780         iteration.  (Bug#21428)
12782 2015-09-21  Anders Lindgren  <andlind@gmail.com>
12784         Keep upper edge unchanged when changing size of NS frame
12786         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
12787         (Bug#21415).
12789 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12791         * lisp/progmodes/prolog.el: Improve handling of if/then/else.
12792         (prolog-smie-rules): Accommodate standard if/then/else special
12793         indentation.
12794         (prolog-mode): Add . to electric-indent-chars.
12795         (prolog-electric--if-then-else): Re-indent the line before adding space
12796         after the new char (bug#21526).
12798 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
12800         Add prettify symbols to python-mode
12802         * lisp/progmodes/python.el (python-prettify-symbols-alist):
12803         New variable.
12804         (python-mode): Use it
12806 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12808         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete.
12810 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
12812         (compilation-error-regexp-alist-alist): Tone down guile-file
12814         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
12815         Make guile-file a bit less enthusiastic (bug#21496).
12817 2015-09-20  Drew Csillag  <drew@thecsillags.com>
12819         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
12820         Fix m4_* highlighting.
12822         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
12823         of commands when they have a "m4_" prefix.
12825 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12827         '.' -> `.' in doc string
12829         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
12830         individual chars with grave quotes instead of straight quotes, as
12831         this works better when they are translated to curved quotes.
12833 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
12835         Improve file notifications, especially for Tramp
12837         * doc/lispref/files.texi (Magic File Names):
12838         Mention `file-notify-valid-p'.
12840         * doc/lispref/os.texi (File Notifications):
12841         Describe `file-notify-valid-p'.
12843         * etc/NEWS: Add `file-notify-valid-p'.
12845         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
12846         Improve implementation.
12847         (tramp-gvfs-monitor-file-process-filter): Rename from
12848         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
12849         process if appropriate.
12851         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
12852         Improve implementation.
12853         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
12854         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
12855         if appropriate.
12856         (tramp-sh-inotifywait-process-filter): Rename from
12857         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
12858         appropriate.
12860         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
12861         Use `delete-process'.
12862         (tramp-handle-file-notify-valid-p): Check also, that file or
12863         directory to be watched still exists.
12865         * test/automated/file-notify-tests.el (file-notify--test-timeout):
12866         New defun.  Use it at all places a timeout is needed.
12867         (file-notify--test-cleanup): Delete directories recursively.
12868         Cleanup also Tramp connections.
12869         (file-notify-test02-events): Add tests for `attribute-change'.
12870         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
12871         Add tests for `file-notify-rm-watch'.
12873 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12875         Use %s to format strings instead of splicing them
12877         If FOO might contain quotes that are part of a file or variable
12878         name, the quotes should not be translated when showing FOO’s name
12879         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
12880         is not quite right, as it would translate FOO’s quotes.
12881         Change it to (message "%s: bar" FOO) instead.
12882         * lisp/allout.el (allout-process-exposed):
12883         * lisp/calc/calc-ext.el (calc-do-prefix-help):
12884         * lisp/calc/calc-store.el (calc-store-into):
12885         * lisp/calendar/todo-mode.el (todo-category-completions):
12886         * lisp/cedet/semantic/complete.el (semantic-completion-message):
12887         * lisp/org/ob-latex.el (convert-pdf):
12888         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
12889         * lisp/org/ox-latex.el (org-latex-compile):
12890         * lisp/org/ox-man.el (org-man-compile):
12891         * lisp/org/ox-odt.el (org-odt--export-wrap):
12892         * lisp/org/ox-texinfo.el (org-texinfo-compile):
12893         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
12894         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
12895         (verilog-signals-combine-bus, verilog-read-defines)
12896         (verilog-getopt-file, verilog-expand-dirnames)
12897         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
12898         * lisp/term/ns-win.el (ns-spi-service-call):
12899         Use %s to avoid translating quotes of file names etc. in diagnostics.
12901 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12903         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
12904         (js-mode): Don't set syntax-begin-function.
12906 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12908         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
12909         syntax-begin-function is a symbol.
12911 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
12913         Improve documentation of 'run-at-time'
12914         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
12915         In particular, don't refer to 'diary-entry-time', because it is
12916         unavailable until diary-lib is loaded.  Also, refer to
12917         'timer-duration-words', not 'timer-duration', as the latter's doc
12918         string says nothing about the accepted strings.
12920 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
12922         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
12924 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
12926         Repair pdbtrack remote file tracking
12927         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
12928         Rectify pdbtrack so it follows transitions from one remote source
12929         file to the next.
12931 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
12933         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting.
12935 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
12937         Adapt vc-src to the old-new vc-checkin API
12938         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
12939         additional optional parameter.
12941 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
12943         Add overflow module to CSS property list
12944         * lisp/textmodes/css-mode.el (css-property-ids): Add properties
12945         from CSS Overflow Module Level 3.
12947 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
12949         Fix documentation of "C-u C-x v v"
12950         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
12951         documentation of "C-u C-x v v" match what the code does.
12953         Resurrect the ability to specify a revision in vc-next-action
12954         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
12955         * lisp/vc/vc-dav.el (vc-dav-checkin):
12956         * lisp/vc/vc-git.el (vc-git-checkin):
12957         * lisp/vc/vc-hg.el (vc-hg-checkin):
12958         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
12959         an additional optional argument, the revision to checkin.
12960         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
12961         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
12962         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
12963         a revision to checkin.
12964         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
12965         revision when checking in files.
12966         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
12967         for the details.
12969 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
12971         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
12972         (verilog-decls-princ, verilog-modport-princ)
12973         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
12975 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
12977         Fix the routine for help on Calc's prefixes
12978         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
12979         (calc-do-prefix-help): Use `read-char' to determine the next Calc
12980         command.
12982 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
12984         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove.
12985         (font-lock-fontify-block): Don't let-bind it.
12986         (font-lock-compile-keywords): Don't use it.
12987         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
12988         start one slot earlier, instead.
12989         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
12990         Don't declare.
12991         (syntax-ppss): Don't use it either.
12992         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
12993         from docstring.
12994         * doc/emacs/display.texi (Font Lock): Don't mention
12995         font-lock-beginning-of-syntax-function.
12996         * doc/lispref/modes.texi (Font Lock Basics): Update description of
12997         font-lock-defaults.
12998         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
12999         * lisp/loadhist.el (unload-feature-special-hooks):
13000         Remove font-lock-beginning-of-syntax-function.
13001         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
13002         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
13003         font-lock-beginning-of-syntax-function.
13005 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
13007         Backslash cleanup in Elisp source files
13008         This patch should not change behavior.  It typically omits backslashes
13009         where they are redundant (e.g., in the string literal "^\$").
13010         In a few places, insert backslashes where they make regular
13011         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
13012         "^\\*", which has the same effect as a regular expression.
13013         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
13014         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
13015         RCS IDs, as that makes it clearer that the backslash is intended.
13017         Some more minor backslash fixes
13018         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
13019         * test/automated/info-xref.el (info-xref-test-write-file):
13020         Double backslashes in strings.
13022         Fix several backslash typos in Elisp strings
13023         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
13024         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
13025         (todo-reset-done-string, todo-reset-comment-string)
13026         (todo-reset-highlight-item):
13027         * lisp/erc/erc-networks.el (erc-networks-alist):
13028         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
13029         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
13030         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
13031         (nntp-telnet-shell-prompt):
13032         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
13033         * lisp/image-dired.el (image-dired-rotate-original):
13034         (image-dired-get-exif-file-name):
13035         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
13036         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
13037         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
13038         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
13039         * lisp/net/shr-color.el (shr-color->hexadecimal):
13040         * lisp/org/org-bibtex.el (org-bibtex-fields):
13041         * lisp/org/org-docview.el (org-docview-export):
13042         * lisp/org/org-entities.el (org-entities):
13043         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
13044         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
13045         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
13046         (ebnf-style-database):
13047         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
13048         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
13049         * lisp/progmodes/sql.el (sql-product-alist):
13050         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
13051         (verilog-error-font-lock-keywords)
13052         (verilog-assignment-operator-re):
13053         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
13054         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
13055         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
13056         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
13057         For example, to get the regular expression ‘\.’ use the string
13058         literal "\\.", not "\." (which is equivalent to ".").
13059         * lisp/emulation/viper-util.el (viper-glob-unix-files):
13060         Remove stray ‘\j’ from string.
13061         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
13062         (nntp-telnet-shell-prompt):
13063         Treat > like $ when matching a shell prompt.
13064         * lisp/progmodes/make-mode.el (makefile-browse):
13065         Properly quote a diagnostic.
13067         Fix minor quoting problems in diagnostics
13068         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
13069         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
13070         Follow text-quoting-style in diagnostic, and quote a file name.
13072 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
13074         * doc/lispref/frames.texi (Cursor Parameters):
13075         Document 'x-stretch-cursor'.
13077 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
13079         Omit unnecessary \ before paren in C docstrings
13080         Although \( is needed in docstrings in Elisp code, it is not needed in
13081         docstrings in C code, since C function definitiions do not start with
13082         a parenthesis.  The backslashes made the docstrings a bit harder to
13083         read and to format in columns.  Also, some C docstrings had ( in
13084         column 1 and this did not appear to be causing any problems.  So,
13085         simplify C docstrings by replacing \( with ( and \) with ).
13087         A few more minor quoting fixes in a script and a text file
13089         Minor quoting fixes in scripts and doc
13090         Prefer straight quotes in random script files, as they are not
13091         converted.  Prefer grave quotes in a couple of places in the manual
13092         that were missed earlier, as these quotes are converted.
13094         Minor backslash fixes in manuals and scripts
13095         * Makefile.in (install-arch-indep):
13096         * admin/charsets/compact.awk:
13097         * admin/charsets/gb180302.awk (gb_to_index):
13098         * admin/charsets/gb180304.awk (gb_to_index):
13099         Avoid undefined behavior in Awk regular expression backslashes.
13100         * doc/misc/efaq.texi (Matching parentheses):
13101         Omit unnecessary backslashes.
13102         * doc/misc/gnus-faq.texi (FAQ 5-8):
13103         Avoid undefined behavior in suggested sed backslash usage.
13105         Add -Wswitch to --enable-gcc-warnings
13106         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
13107         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
13108         * lib-src/etags.c (main, consider_token, C_entries):
13109         * src/coding.c (encode_invocation_designation):
13110         * src/data.c (Ftype_of):
13111         * src/eval.c (Fdefvaralias, default_toplevel_binding)
13112         (Fbacktrace__locals, mark_specpdl):
13113         * src/lisp.h (record_xmalloc):
13114         * src/syntax.c (scan_lists, scan_sexps_forward):
13115         * src/window.c (window_relative_x_coord):
13116         * src/xdisp.c (push_it, pop_it):
13117         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
13118         Error out or do nothing (as appropriate) if a switch statement
13119         with an enum value does not cover all of the enum.
13120         * src/dispextern.h (struct iterator_stack_entry.u.comp):
13121         Remove unused member discovered by using -Wswitch.
13122         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
13123         * src/vm-limit.c (check_memory_limits):
13124         Simplify warning-diagnostic computation by using a table.
13126         etags ‘fatal’ function is now printf-like
13127         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
13128         Also, now static; not clear why it needed to be extern.
13129         (verror): New function, with most of the old contents of ‘error’.
13130         (fatal, error): Use it.
13132 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
13134         More adaptations in file-notify-tests.el
13135         * test/automated/file-notify-tests.el
13136         (file-notify-test05-dir-validity): Skip for w32notify in
13137         batch-mode.  (Bug#21432)
13139 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
13141         Adapt test in file-notify-tests.el
13142         * test/automated/file-notify-tests.el
13143         (file-notify-test04-file-validity): Skip for w32notify in
13144         batch-mode.  Add test lost last commit.
13146 2015-09-16  Dima Kogan  <dima@secretsauce.net>
13148         winner no longer holds on to dead frames
13149         * lisp/winner.el (winner-change-fun): Cull dead frames.
13150         This prevents a potentially massive memory leak.  See:
13151         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
13153 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
13155         Use common report_file_notify_error function
13156         * src/fileio.c (report_file_notify_error): New function.
13157         * src/inotify.c (report_inotify_error): Remove function.
13158         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
13159         (Finotify_rm_watch): Use report_file_notify_error.
13160         * src/lisp.h (report_file_notify_error): Declare external function.
13161         * src/w32notify.c (report_w32notify_error): Remove function.
13162         (Fw32notify_add_watch, Fw32notify_rm_watch):
13163         Use report_file_notify_error.
13165 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
13167         Fix documentation.
13168         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
13169         the documentation of the root mean square.
13171 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
13173         Remove tool_bar_redisplayed_once and associated code.
13174         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
13175         * src/frame.c (make_frame, x_set_font): Remove initialization of
13176         f->tool_bar_redisplayed_once.
13177         * src/w32fns.c (x_change_tool_bar_height):
13178         * src/xfns.c (x_change_tool_bar_height): Don't check for
13179         f->tool_bar_redisplayed_once.
13180         * src/xdisp.c (redisplay_internal): Remove handling of
13181         f->tool_bar_redisplayed_once.
13183 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
13185         Restore some of the quoting in the manuals
13186         * doc/lispref/windows.texi (Coordinates and Windows)
13187         (Coordinates and Windows):
13188         * doc/lispref/variables.texi (Lexical Binding)
13189         (File Local Variables):
13190         * doc/lispref/text.texi (Format Properties):
13191         * doc/lispref/symbols.texi (Symbol Components):
13192         * doc/lispref/strings.texi (Creating Strings):
13193         * doc/lispref/sequences.texi (Sequence Functions):
13194         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
13195         (Search and Replace):
13196         * doc/lispref/processes.texi (Bindat Spec):
13197         * doc/lispref/os.texi (Idle Timers):
13198         * doc/lispref/objects.texi (Basic Char Syntax):
13199         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
13200         * doc/lispref/nonascii.texi (Character Properties):
13201         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
13202         (Mode Line Variables):
13203         * doc/lispref/minibuf.texi (Text from Minibuffer):
13204         * doc/lispref/loading.texi (Autoload):
13205         * doc/lispref/keymaps.texi (Controlling Active Maps):
13206         * doc/lispref/frames.texi (Frame Layout, Size and Position)
13207         (Size Parameters, Implied Frame Resizing):
13208         * doc/lispref/files.texi (Changing Files, Magic File Names):
13209         * doc/lispref/eval.texi (Self-Evaluating Forms):
13210         * doc/lispref/display.texi (Progress, Abstract Display)
13211         (Abstract Display Example, Bidirectional Display):
13212         * doc/lispref/commands.texi (Event Mod):
13213         * doc/emacs/windows.texi (Displaying Buffers):
13214         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
13215         * doc/emacs/text.texi (Enriched Text):
13216         * doc/emacs/programs.texi (MixedCase Words):
13217         * doc/emacs/picture-xtra.texi (Insert in Picture)
13218         (Tabs in Picture):
13219         * doc/emacs/misc.texi (Emacs Server, Printing):
13220         * doc/emacs/mini.texi (Minibuffer History):
13221         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
13222         (Pulling / Pushing):
13223         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
13224         * doc/emacs/help.texi (Help, Help Echo):
13225         * doc/emacs/glossary.texi (Glossary):
13226         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
13227         (Frame Commands):
13228         * doc/emacs/files.texi (Reverting, Saving, Directories):
13229         * doc/emacs/entering.texi (Exiting):
13230         * doc/emacs/emacs.texi (Top):
13231         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
13232         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
13233         appropriate or replace quoting with @dfn.
13234         * doc/misc/ediff.texi (Window and Frame Configuration):
13235         * doc/lispref/processes.texi (Network Feature Testing):
13236         * doc/lispref/display.texi (Display Margins): Quote the phrase
13237         after "a.k.a." where appropriate.
13239 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
13241         Clarify reftex-extra-bindings docs
13242         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
13243         * doc/misc/reftex.texi (Key Bindings): Document that the variable
13244         only has an effect at load-time.
13246 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
13248         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
13249         search argument.  (Bug#21492) (Bug#21493)
13251 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
13253         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
13254         Add pretty symbols for \qquad and \varrho.
13256 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
13258         Add new functions for the root mean square of a (Calc) vector
13259         * lisp/calc/calc-stat.el (calcFunc-rms, calc-vector-rms):
13260         New functions.
13261         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
13262         `calc-vector-rms', add autoloads for `calc-vector-rms' and
13263         `calcFunc-rms'.
13264         * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for
13265         `calcFunc-rms'.
13266         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
13267         `calc-vector-rms'.
13268         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
13269         command.
13271 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
13273         Add monotone EDE generic project
13274         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
13275         Add monotone generic project.
13277         Revert premature commit
13278         * doc/lispref/files.texi: Revert premature commit of change to
13279         file-name-all-completions.
13281         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
13282         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
13283         with cl-generic defaults.
13284         (elisp--xref-find-references): Add doc string.
13285         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
13286         tests to find bug.
13288         Fix bugs in eieio-oref-default related to class symbols
13289         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
13290         (eieio-oref-default): Handle class properly.
13292 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13294         Quote “fullboth” when defining it
13295         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
13296         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
13298 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
13300         Minor doc fix in emacs/ack.texi
13301         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
13302         first argument.
13304 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
13306         Adapt tests in auto-revert-tests.el
13307         * test/automated/auto-revert-tests.el (auto-revert--timeout):
13308         Make it a defconst.
13309         (auto-revert--wait-for-revert): New defun.
13310         (auto-revert-test00-auto-revert-mode)
13311         (auto-revert-test01-auto-revert-tail-mode)
13312         (auto-revert-test02-auto-revert-mode-dired): Use it.
13314 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
13316         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const.
13317         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
13318         (cl-lib-fdefs): Add defgeneric.
13319         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
13320         (eieio-kw, cl-lib-kw, el-kw): Remove.
13322 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13324         Quote less in manuals
13325         The manuals often used quotes ``...'' when it is better to use @dfn or
13326         @code or capitalized words or no quoting at all.  For example, there is
13327         no need for the `` and '' in “if a variable has one effect for
13328         @code{nil} values and another effect for ``non-@code{nil}'' values”.
13329         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
13330         unnecessary quoting like this, and to use @dfn etc. instead when called
13331         for (Bug#21472).
13333 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
13335         * lisp/custom.el (load-theme): Only compute hash when needed.
13337 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13339         Pacify --enable-gcc-warnings
13340         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
13342 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
13344         Improve error reports in inotify.c
13345         * src/inotify.c (report_inotify_error): New function.  Clone of
13346         report_w32notify_error.
13347         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
13348         (Finotify_rm_watch): Use it.
13350 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
13352         Fix the file-notify tests for watch validation on w32
13353         * test/automated/file-notify-tests.el
13354         (file-notify-test04-file-validity): Move the directory deletion
13355         out of the file-notify--test-with-events macro.
13356         (file-notify-test04-file-validity)
13357         (file-notify-test05-dir-validity): Enlarge the timeout of
13358         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
13360 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
13362         Use OPEN BOX instead of space for \quad.
13363         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
13364         character for \quad instead of a space.
13366 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
13368         Add missing *.pbm images
13369         * etc/images/connect.pbm: New file.
13370         * etc/images/custom/down-pushed.pbm: New file.
13371         * etc/images/custom/down.pbm: New file.
13372         * etc/images/custom/right-pushed.pbm: New file.
13373         * etc/images/custom/right.pbm: New file.
13374         * etc/images/describe.pbm: New file.
13375         * etc/images/disconnect.pbm: New file.
13376         * etc/images/ezimage/bits.pbm: New file.
13377         * etc/images/ezimage/bitsbang.pbm: New file.
13378         * etc/images/ezimage/box-minus.pbm: New file.
13379         * etc/images/ezimage/box-plus.pbm: New file.
13380         * etc/images/ezimage/box.pbm: New file.
13381         * etc/images/ezimage/checkmark.pbm: New file.
13382         * etc/images/ezimage/dir-minus.pbm: New file.
13383         * etc/images/ezimage/dir-plus.pbm: New file.
13384         * etc/images/ezimage/dir.pbm: New file.
13385         * etc/images/ezimage/doc-minus.pbm: New file.
13386         * etc/images/ezimage/doc-plus.pbm: New file.
13387         * etc/images/ezimage/doc.pbm: New file.
13388         * etc/images/ezimage/info.pbm: New file.
13389         * etc/images/ezimage/key.pbm: New file.
13390         * etc/images/ezimage/label.pbm: New file.
13391         * etc/images/ezimage/lock.pbm: New file.
13392         * etc/images/ezimage/mail.pbm: New file.
13393         * etc/images/ezimage/page-minus.pbm: New file.
13394         * etc/images/ezimage/page-plus.pbm: New file.
13395         * etc/images/ezimage/page.pbm: New file.
13396         * etc/images/ezimage/tag-gt.pbm: New file.
13397         * etc/images/ezimage/tag-minus.pbm: New file.
13398         * etc/images/ezimage/tag-plus.pbm: New file.
13399         * etc/images/ezimage/tag-type.pbm: New file.
13400         * etc/images/ezimage/tag-v.pbm: New file.
13401         * etc/images/ezimage/tag.pbm: New file.
13402         * etc/images/ezimage/unlock.pbm: New file.
13403         * etc/images/gnus/important.pbm: New file.
13404         * etc/images/gnus/mail-send.pbm: New file.
13405         * etc/images/gnus/receipt.pbm: New file.
13406         * etc/images/gnus/toggle-subscription.pbm: New file.
13407         * etc/images/gnus/unimportant.pbm: New file.
13408         * etc/images/gud/all.pbm: New file.
13409         * etc/images/gud/rcont.pbm: New file.
13410         * etc/images/gud/recstart.pbm: New file.
13411         * etc/images/gud/recstop.pbm: New file.
13412         * etc/images/gud/rfinish.pbm: New file.
13413         * etc/images/gud/rnext.pbm: New file.
13414         * etc/images/gud/rnexti.pbm: New file.
13415         * etc/images/gud/rstep.pbm: New file.
13416         * etc/images/gud/rstepi.pbm: New file.
13417         * etc/images/gud/thread.pbm: New file.
13418         * etc/images/lock-broken.pbm: New file.
13419         * etc/images/lock-ok.pbm: New file.
13420         * etc/images/lock.pbm: New file.
13421         * etc/images/mail/copy.pbm: New file.
13422         * etc/images/mail/forward.pbm: New file.
13423         * etc/images/mail/not-spam.pbm: New file.
13424         * etc/images/mail/outbox.pbm: New file.
13425         * etc/images/mail/preview.pbm: New file.
13426         * etc/images/mail/save-draft.pbm: New file.
13427         * etc/images/mh-logo.pbm: New file.
13428         * etc/images/mpc/add.pbm: New file.
13429         * etc/images/mpc/ffwd.pbm: New file.
13430         * etc/images/mpc/next.pbm: New file.
13431         * etc/images/mpc/pause.pbm: New file.
13432         * etc/images/mpc/play.pbm: New file.
13433         * etc/images/mpc/prev.pbm: New file.
13434         * etc/images/mpc/rewind.pbm: New file.
13435         * etc/images/mpc/stop.pbm: New file.
13436         * etc/images/redo.pbm: New file.
13437         * etc/images/smilies/braindamaged.pbm: New file.
13438         * etc/images/smilies/cry.pbm: New file.
13439         * etc/images/smilies/dead.pbm: New file.
13440         * etc/images/smilies/evil.pbm: New file.
13441         * etc/images/smilies/forced.pbm: New file.
13442         * etc/images/smilies/grin.pbm: New file.
13443         * etc/images/smilies/indifferent.pbm: New file.
13444         * etc/images/sort-ascending.pbm: New file.
13445         * etc/images/sort-column-ascending.pbm: New file.
13446         * etc/images/sort-criteria.pbm: New file.
13447         * etc/images/sort-descending.pbm: New file.
13448         * etc/images/sort-row-ascending.pbm: New file.
13449         * etc/images/unchecked.pbm: New file.
13450         * etc/images/zoom-in.pbm: New file.
13451         * etc/images/README: Update instructions for PBM files.
13453         Add separator.pbm tool-bar image
13454         * etc/images/separator.pbm: New file.  Having it avoids the side
13455         effect of changing the tool-bar height when the default font's size
13456         changes and XPM image support is not available, due to the SPC
13457         characters that are left in the Lisp string used to display the tool
13458         bar, because there are no images to display instead of those SPC
13459         characters.
13461         Make show-paren-match face visible on mono-color displays
13462         * lisp/faces.el (show-paren-match): Use the underline face for
13463         mono-color displays.  (Bug#21481)
13465 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
13467         Don’t double-encode non-ASCII mail clipboard
13468         * lisp/mail/mailclient.el (mailclient-send-it):
13469         Also fix the case when mailclient-place-body-on-clipboard-flag
13470         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
13472 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
13474         Adapt file-notify-tests.el test cases
13475         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
13476         * src/inotify.c (Finotify_valid_p): Adapt docstring.
13477         * test/automated/file-notify-tests.el
13478         (file-notify-test03-autorevert)
13479         (file-notify-test04-file-validity)
13480         (file-notify-test04-file-validity-remote)
13481         (file-notify-test05-dir-validity)
13482         (file-notify-test05-dir-validity-remote): Adapt docstring.
13483         (file-notify-test04-file-validity): Let events arrive before
13484         calling final `file-notify-valid-p'.  Do not ignore errors.
13485         (file-notify-test05-dir-validity): Do not manipulate
13486         `temporary-file-directory', it isn't necessary.  Let events arrive
13487         before calling final `file-notify-valid-p'.  Do not ignore errors.
13489 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
13491         Don’t double-encode non-ASCII for mail client
13492         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
13493         Use RFC 6068’s list of unreserved characters.
13494         (mailclient-send-it): When encoding the body as a URL,
13495         first decode it as per Content-Type: and Content-Transfer-Encoding:,
13496         as URLs must use percent-encoded UTF-8 (Bug#21471).
13497         * doc/misc/url.texi (mailto): Update RFC number.
13499 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
13501         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
13503 2015-09-14  Alan Mackenzie  <acm@muc.de>
13505         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs
13506         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
13507         `cadr/car'.
13509 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
13511         Clarify documentation of char-table extra slots
13512         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
13513         slot numbers are zero-based.  (Bug#21467)
13515 2015-09-14  Alan Mackenzie  <acm@muc.de>
13517         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
13518         Fixes bug#21449.
13519         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
13520         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
13521         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
13522         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
13523         Insert "\\|\\\\." into regexps which match symbols.
13525 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
13527         Improve the doc string of w32notify-valid-p
13528         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
13529         that removing a watch makes its object invalid.
13531 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
13533         Fix tests for file-notify-valid-p
13534         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
13535         Use delete-directory to delete file-notify--test-tmpfile if it is
13536         a directory.  Likewise for file-notify--test-tmpfile1.
13537         (file-notify-test04-file-validity)
13538         (file-notify-test05-dir-validity): Delete the parent directory of
13539         the test.  Ignore errors when cleaning up after the test.
13541 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
13543         Report file-notify-error in w32notify.c
13544         * src/w32notify.c (report_w32notify_error): New function.
13545         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
13546         errors, instead of calling report_file_error.  (Bug#21432)
13548         Implement w32notify-valid-p
13549         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
13550         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
13551         'identity'.
13553 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
13555         Test file-notify-valid-p
13556         * test/automated/file-notify-tests.el
13557         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
13558         New tests.
13560 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
13562         Fix markup in ELisp manual
13563         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
13564         of the 'alpha' parameter value.  (Bug#21470)
13566 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
13568         Introduce `file-notify-valid-p'
13569         * lisp/filenotify.el (file-notify-valid-p): New defun.
13570         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
13571         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
13572         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
13573         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
13574         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
13575         <file-notify-valid-p>: Add handler.
13576         * lisp/net/tramp.el (tramp-file-name-for-operation):
13577         Add `file-notify-valid-p'.
13578         (tramp-handle-file-notify-valid-p): New defun.
13579         * src/inotify.c (Finotify_valid_p): New defun.
13580         (syms_of_inotify): Declare Sinotify_valid_p.
13582 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13584         Port Unicode char detection to FreeBSD+svgalib
13585         Problem reported by Ashish SHUKLA in:
13586         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
13587         * configure.ac: Check for struct unipair.unicode instead of for
13588         <linux/kd.h>, since that’s more specific to what the code
13589         actually needs.
13590         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
13592         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
13594 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
13596         Fix vertical cursor motion across overlay strings with newlines
13597         * src/indent.c (Fvertical_motion): Don't leave point in the middle
13598         of an overlay string with newlines, as that will position the
13599         cursor after the string at whatever column is there.  (Bug#21468)
13601 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
13603         Fix tests in file-notify-tests.el
13604         * test/automated/file-notify-tests.el: Remove Tramp declarations.
13605         (file-notify-test00-availability): Print remote command w/o Tramp
13606         internal functions.
13607         (file-notify-test02-events, file-notify-test02-events-remote):
13608         Adapt docstring.
13609         (file-notify-test03-autorevert): Use `format-message' when
13610         inspecting *Messages* buffer.
13612 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
13614         Bind inhibit-modification-hooks rather than a/b-c-f
13615         * lisp/wid-edit.el (widget-editable-list-insert-before)
13616         (widget-editable-list-delete-at):
13617         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
13618         (cperl-font-lock-unfontify-region-function):
13619         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
13620         * lisp/obsolete/longlines.el (longlines-mode):
13621         * lisp/obsolete/fast-lock.el (save-buffer-state):
13622         * lisp/mouse.el (mouse-save-then-kill-delete-region):
13623         * lisp/gnus/message.el (message-hide-headers):
13624         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
13625         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
13626         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
13627         than after/before-change-functions to nil.
13629 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
13631         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
13632         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
13633         the buffers, even if the forced redisplay is interrupted.
13635         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
13637         Merge syntax-propertize--done and parse-sexp-propertize-done
13638         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
13639         (syntax-propertize): Set syntax-propertize--done even if
13640         syntax-propertize-function is nil.  Avoid recursive invocations.
13641         (syntax-propertize-chunks): New var.
13642         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
13643         Simplify.
13644         (parse-sexp-propertize-function): Don't set any more.
13645         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
13646         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
13647         Call Qinternal__syntax_propertize instead of
13648         Vparse_sexp_propertize_function.  Truncate e_property if needed.
13649         (update_syntax_table_forward): Streamline.
13650         (syms_of_syntax): Define Qinternal__syntax_propertize.
13651         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
13653 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13655         Prefer straight quoting in some text files
13656         Mostly this just changes ` to ' in static text.  Some exceptions:
13657         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
13658         typically does that now.
13659         * admin/quick-install-emacs (TRY, top level):
13660         Use straight quoting in diagnostics.
13661         * src/README: Fix working-directory confusion.
13663         * CONTRIBUTE: Move send-email here from git-workflow.
13665 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
13667         Improve file notifications in Tramp
13668         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
13669         Set proper events to watch for.
13670         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
13671         watched events.
13673 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
13675         Fix NS build with --enable-checking='glyphs'
13676         * src/nsfns.m (unwind_create_frame): Make the preprocessor
13677         conditionals for referencing 'dpyinfo' consistent throughout the
13678         function.  (Bug#21426)
13680 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
13682         Add seq-find
13683         This function is similar to `seq-some' but returns the found element.
13684         In the cases where nil can be the found element, a sentinel optional
13685         argument can be provided to avoid ambiguities.
13686         * lisp/emacs-lisp/seq.el (seq-find): New function.
13687         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
13688         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
13689         seq-find.
13691 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
13693         Document file-notify--test-with-events.
13694         * test/automated/file-notify-tests.el (file-notify--test-with-events):
13695         Add docstring.
13697 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
13699         Report used native library in file-notify-tests.el
13700         * test/automated/file-notify-tests.el
13701         (tramp-get-remote-gvfs-monitor-dir)
13702         (tramp-get-remote-inotifywait): Declare them.
13703         (file-notify-test00-availability): Print used native library.
13705 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
13707         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
13708         (mpc-file-local-copy): Check for absolute path.  Check more config
13709         locations.
13711 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
13713         Improve documentation of categories
13714         * doc/lispref/syntax.texi (Categories): Clarify the example of
13715         using define-category and modify-category-entry.  (Bug#21448)
13717 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13719         Revert some stray curved quotes I missed earlier
13720         Problem reported by David Kastrup in:
13721         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
13722         * lisp/international/mule-cmds.el (leim-list-header):
13723         Use format-message with an ASCII-only format.
13725         Prefer NUMBERP to spelling it out
13726         * src/editfns.c (styled_format):
13727         * src/frame.h (NUMVAL):
13728         * src/image.c (parse_image_spec):
13729         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
13730         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
13731         * src/process.c (Fsignal_process):
13732         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
13733         * src/xfaces.c (check_lface_attrs):
13734         * src/xselect.c (x_fill_property_data, x_send_client_event):
13735         Use NUMBERP rather than INTEGERP || FLOATP.
13737 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
13739         Improve file-notify-tests
13740         * test/automated/file-notify-tests.el: Use lexical-binding.
13741         (file-notify--test-cleanup): New function.
13742         (file-notify-test00-availability, file-notify-test01-add-watch)
13743         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
13744         (file-notify--test-with-events): New macro.
13745         (file-notify-test02-events): Use it.
13747 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13749         Add patch-sending instructions to git-workflow
13750         From a suggestion by Mitchel Humpherys in:
13751         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
13752         * admin/notes/git-workflow (Sending patches): New section.
13754         Port to GIFLIB 5.0.6 and later
13755         Problem reported by Mitchel Humpherys in:
13756         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
13757         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
13758         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
13759         (gif_load) [HAVE_GIF]: Use it.
13761 2015-09-10  Glenn Morris  <rgm@gnu.org>
13763         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
13765 2015-09-09  Glenn Morris  <rgm@gnu.org>
13767         * test/automated/file-notify-tests.el (file-notify-test02-events):
13768         Fix recent change.
13770 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13772         Refix movemail GCC pacification
13773         Problem reported by Ken Brown in:
13774         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
13775         * lib-src/movemail.c (main): Fix previous change.
13777 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13779         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
13780         Mark unused vars with underscore.
13782         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
13783         (parse_sexp_propertize): ...from here.
13785         * lisp/filenotify.el: Use lexical-binding
13786         (file-notify-add-watch): Avoid add-to-list.
13788 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
13790         Start checking event types in file-notify tests
13791         * test/automated/file-notify-tests.el (file-notify--test-events):
13792         New variable.
13793         (file-notify--test-event-handler): Append received event to
13794         file-notify--test-events for later analysis.
13795         (file-notify-test02-events): Assert that the expected notifications have
13796         arrived in the expected order.
13798 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13800         Merge from gnulib and texinfo
13801         This incorporates:
13802         2015-08-03 Improve port of stdalign to C++11
13803         * lib/stdalign.in.h: Copy from gnulib.
13804         * doc/misc/texinfo.tex: Copy from texinfo.
13806 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13808         Make syntax.c call syntax-propertize on demand
13809         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
13810         (parse-sexp-propertize-function): Use it.
13811         (syntax-propertize): Disable parse-sexp-propertize-function.
13812         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
13813         New functions.
13814         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
13815         `parse-sexp-propertize-function'.
13816         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
13817         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
13818         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
13819         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
13820         Don't assume `point' is set.
13822 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
13824         Fix indentation of an @example in ELisp manual
13825         * doc/lispref/syntax.texi (Categories): Untabify the example.
13826         (Bug#21448)
13828 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13830         Define internal-char-font even if --without-x
13831         The function is used now even in non-graphical environments.
13832         Problem reported by Glenn Morris in:
13833         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
13834         * src/font.c (Finternal_char_font): Move here ...
13835         * src/fontset.c (Finternal_char_font): ... from here.
13837 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13839         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers):
13840         Remove warning.
13842 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
13844         Fix display of complex local data types in GDB-MI
13845         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
13846         variable has no value, display "<complex data type>" as a
13847         placeholder, instead of a confusing "nil".  (Bug#21438)
13849 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
13851         Remove redundant redefinition of seq-drop-while from seq.el
13852         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
13854 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
13856         * lisp/emacs-lisp/package.el (package--ensure-init-file):
13857         More robust check for `package-initialize' calls in init file.
13858         This function accepts an optional argument, but calls passing
13859         an argument would not have been detected.
13861 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13863         Port movemail to RHEL 6 with --enable-gcc-warnings
13864         * lib-src/movemail.c (main): Declare local only if needed.
13866         Port recent Linux console changes to RHEL 6
13867         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
13869         Improvements for curved quotes on Linux consule
13870         This should help Emacs work better out-of-the-box on Linux consoles,
13871         which have only limited support for displaying Unicode characters.
13872         Also, undo the recent change that caused text-quoting-style to
13873         affect quote display on terminals, so that the two features are
13874         independent.  See Alan Mackenzie in:
13875         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
13876         Finally, add a style parameter to startup--setup-quote-display,
13877         so that this function can also be invoked after startup, with
13878         different styles depending on user preference at the time.
13879         * configure.ac: Check for linux/kd.h header.
13880         * doc/emacs/display.texi (Text Display): Document quote display.
13881         * doc/lispref/display.texi (Active Display Table):
13882         * etc/NEWS:
13883         * lisp/startup.el (startup--setup-quote-display, command-line):
13884         text-quoting-style no longer affects quote display.
13885         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
13886         * lisp/international/mule-util.el (char-displayable-p):
13887         * lisp/startup.el (startup--setup-quote-display):
13888         On a text terminal supporting glyph codes, use the reported
13889         glyph codes instead of the terminal coding system, as this
13890         is more accurate on the Linux console.
13891         * lisp/startup.el (startup--setup-quote-display):
13892         New optional arg STYLE.
13893         * src/fontset.c (Finternal_char_font):
13894         Report glyph codes for a text terminal, if they are available.
13895         Currently this is supported only for the Linux console.
13896         * src/termhooks.h (struct terminal): New member glyph-code-table.
13897         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
13898         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
13899         (terminal_glyph_code): New function.
13901 2015-09-08  Juri Linkov  <juri@linkov.net>
13903         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
13904         underline.  (Bug#21433)
13906 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
13908         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
13910 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
13912         Fix double-reporting of rename events with inotify
13913         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
13914         of rename events with inotify (bug#21435).
13916 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
13918         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
13919         (tetris-mode-map): Use it.
13921 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
13923         Remove a few simple cases of global redisplay
13924         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
13925         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
13926         rather than returning a "resized_p" boolean.
13927         (redisplay_internal): Adjust call accordingly.
13928         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
13929         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
13930         tracking of this undesirable situation.
13932         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
13933         * src/process.c (status_notify): Only set the update_mode_line on the
13934         relevant buffers rather than setting it globally.
13936 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
13938         * lisp/electric.el (electric-quote-post-self-insert-function):
13939         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
13940         (electric-quote-mode): Activate everywhere in message-mode.
13942 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
13944         Go back to grave quoting in source-code docstrings etc.
13945         This reverts almost all my recent changes to use curved quotes
13946         in docstrings and/or strings used for error diagnostics.
13947         There are a few exceptions, e.g., Bahá’í proper names.
13948         * admin/unidata/unidata-gen.el (unidata-gen-table):
13949         * lisp/abbrev.el (expand-region-abbrevs):
13950         * lisp/align.el (align-region):
13951         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
13952         (outlineify-sticky):
13953         * lisp/apropos.el (apropos-library):
13954         * lisp/bookmark.el (bookmark-default-annotation-text):
13955         * lisp/button.el (button-category-symbol, button-put)
13956         (make-text-button):
13957         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
13958         * lisp/calc/calc-embed.el (calc-do-embedded):
13959         * lisp/calc/calc-ext.el (calc-user-function-list):
13960         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
13961         * lisp/calc/calc-help.el (calc-describe-key)
13962         (calc-describe-thing, calc-full-help):
13963         * lisp/calc/calc-lang.el (calc-c-language)
13964         (math-parse-fortran-vector-end, math-parse-tex-sum)
13965         (math-parse-eqn-matrix, math-parse-eqn-prime)
13966         (calc-yacas-language, calc-maxima-language, calc-giac-language)
13967         (math-read-giac-subscr, math-read-math-subscr)
13968         (math-read-big-rec, math-read-big-balance):
13969         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
13970         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
13971         (calc-auto-recompute):
13972         * lisp/calc/calc-prog.el (calc-fix-token-name)
13973         (calc-read-parse-table-part, calc-user-define-invocation)
13974         (math-do-arg-check):
13975         * lisp/calc/calc-store.el (calc-edit-variable):
13976         * lisp/calc/calc-units.el (math-build-units-table-buffer):
13977         * lisp/calc/calc-vec.el (math-read-brackets):
13978         * lisp/calc/calc-yank.el (calc-edit-mode):
13979         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
13980         * lisp/calendar/appt.el (appt-display-message):
13981         * lisp/calendar/diary-lib.el (diary-check-diary-file)
13982         (diary-mail-entries, diary-from-outlook):
13983         * lisp/calendar/icalendar.el (icalendar-export-region)
13984         (icalendar--convert-float-to-ical)
13985         (icalendar--convert-date-to-ical)
13986         (icalendar--convert-ical-to-diary)
13987         (icalendar--convert-recurring-to-diary)
13988         (icalendar--add-diary-entry):
13989         * lisp/calendar/time-date.el (format-seconds):
13990         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
13991         (timeclock-make-hours-explicit, timeclock-log-data):
13992         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
13993         (todo-item-mark, todo-check-format)
13994         (todo-insert-item--next-param, todo-edit-item--next-key)
13995         (todo-mode):
13996         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
13997         * lisp/cedet/mode-local.el (describe-mode-local-overload)
13998         (mode-local-print-binding, mode-local-describe-bindings-2):
13999         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
14000         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
14001         * lisp/cus-start.el (standard):
14002         * lisp/cus-theme.el (describe-theme-1):
14003         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
14004         (custom--sort-vars-1, load-theme):
14005         * lisp/descr-text.el (describe-text-properties-1, describe-char):
14006         * lisp/dired-x.el (dired-do-run-mail):
14007         * lisp/dired.el (dired-log):
14008         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
14009         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
14010         (ad-disable-advice, ad-remove-advice, ad-set-argument)
14011         (ad-set-arguments, ad--defalias-fset, ad-activate)
14012         (ad-deactivate):
14013         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
14014         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
14015         (byte-optimize-while, byte-optimize-apply):
14016         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
14017         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
14018         (byte-compile-log-file, byte-compile-format-warn)
14019         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
14020         (byte-compile-cl-warn)
14021         (byte-compile-warn-about-unresolved-functions)
14022         (byte-compile-file, byte-compile--declare-var)
14023         (byte-compile-file-form-defmumble, byte-compile-form)
14024         (byte-compile-normal-call, byte-compile-check-variable)
14025         (byte-compile-variable-ref, byte-compile-variable-set)
14026         (byte-compile-subr-wrong-args, byte-compile-setq-default)
14027         (byte-compile-negation-optimizer)
14028         (byte-compile-condition-case--old)
14029         (byte-compile-condition-case--new, byte-compile-save-excursion)
14030         (byte-compile-defvar, byte-compile-autoload)
14031         (byte-compile-lambda-form)
14032         (byte-compile-make-variable-buffer-local, display-call-tree)
14033         (batch-byte-compile):
14034         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
14035         * lisp/emacs-lisp/chart.el (chart-space-usage):
14036         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
14037         (check-declare-warn, check-declare-file)
14038         (check-declare-directory):
14039         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
14040         (checkdoc-message-text-engine):
14041         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
14042         (cl--describe-class):
14043         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
14044         (cl--generic-describe, cl-generic-generalizers):
14045         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
14046         (cl-symbol-macrolet):
14047         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
14048         * lisp/emacs-lisp/copyright.el (copyright)
14049         (copyright-update-directory):
14050         * lisp/emacs-lisp/edebug.el (edebug-read-list):
14051         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
14052         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
14053         (eieio-oref):
14054         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
14055         * lisp/emacs-lisp/eieio-speedbar.el:
14056         (eieio-speedbar-child-make-tag-lines)
14057         (eieio-speedbar-child-description):
14058         * lisp/emacs-lisp/eieio.el (defclass, change-class):
14059         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
14060         (elint-init-form, elint-check-defalias-form)
14061         (elint-check-let-form):
14062         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
14063         (ert-results-pop-to-backtrace-for-test-at-point)
14064         (ert-results-pop-to-messages-for-test-at-point)
14065         (ert-results-pop-to-should-forms-for-test-at-point)
14066         (ert-describe-test):
14067         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
14068         (find-function-library):
14069         * lisp/emacs-lisp/generator.el (iter-yield):
14070         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
14071         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
14072         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
14073         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
14074         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
14075         (advice--make, define-advice):
14076         * lisp/emacs-lisp/package-x.el (package-upload-file):
14077         * lisp/emacs-lisp/package.el (package-version-join)
14078         (package-disabled-p, package-activate-1, package-activate)
14079         (package--download-one-archive)
14080         (package--download-and-read-archives)
14081         (package-compute-transaction, package-install-from-archive)
14082         (package-install, package-install-selected-packages)
14083         (package-delete, package-autoremove, describe-package-1)
14084         (package-install-button-action, package-delete-button-action)
14085         (package-menu-hide-package, package-menu--list-to-prompt)
14086         (package-menu--perform-transaction)
14087         (package-menu--find-and-notify-upgrades):
14088         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
14089         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
14090         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
14091         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
14092         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
14093         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
14094         (rx-form):
14095         * lisp/emacs-lisp/smie.el (smie-config-save):
14096         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
14097         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
14098         * lisp/emacs-lisp/testcover.el (testcover-1value):
14099         * lisp/emacs-lisp/timer.el (timer-event-handler):
14100         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
14101         (viper-toggle-search-style, viper-kill-buffer)
14102         (viper-brac-function):
14103         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
14104         * lisp/env.el (setenv):
14105         * lisp/erc/erc-button.el (erc-nick-popup):
14106         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
14107         * lisp/eshell/em-dirs.el (eshell/cd):
14108         * lisp/eshell/em-glob.el (eshell-glob-regexp)
14109         (eshell-glob-entries):
14110         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
14111         * lisp/eshell/esh-opt.el (eshell-show-usage):
14112         * lisp/facemenu.el (facemenu-add-new-face)
14113         (facemenu-add-new-color):
14114         * lisp/faces.el (read-face-name, read-face-font, describe-face)
14115         (x-resolve-font-name):
14116         * lisp/files-x.el (modify-file-local-variable):
14117         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
14118         (set-auto-mode, hack-one-local-variable--obsolete)
14119         (dir-locals-set-directory-class, write-file, basic-save-buffer)
14120         (delete-directory, copy-directory, recover-session)
14121         (recover-session-finish, insert-directory)
14122         (file-modes-char-to-who, file-modes-symbolic-to-number)
14123         (move-file-to-trash):
14124         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
14125         * lisp/find-cmd.el (find-generic, find-to-string):
14126         * lisp/finder.el (finder-commentary):
14127         * lisp/font-lock.el (font-lock-fontify-buffer):
14128         * lisp/format.el (format-write-file, format-find-file)
14129         (format-insert-file):
14130         * lisp/frame.el (get-device-terminal, select-frame-by-name):
14131         * lisp/fringe.el (fringe--check-style):
14132         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
14133         * lisp/help-fns.el (help-fns--key-bindings)
14134         (help-fns--compiler-macro, help-fns--parent-mode)
14135         (help-fns--obsolete, help-fns--interactive-only)
14136         (describe-function-1, describe-variable):
14137         * lisp/help.el (describe-mode)
14138         (describe-minor-mode-from-indicator):
14139         * lisp/image.el (image-type):
14140         * lisp/international/ccl.el (ccl-dump):
14141         * lisp/international/fontset.el (x-must-resolve-font-name):
14142         * lisp/international/mule-cmds.el (prefer-coding-system)
14143         (select-safe-coding-system-interactively)
14144         (select-safe-coding-system, activate-input-method)
14145         (toggle-input-method, describe-current-input-method)
14146         (describe-language-environment):
14147         * lisp/international/mule-conf.el (code-offset):
14148         * lisp/international/mule-diag.el (describe-character-set)
14149         (list-input-methods-1):
14150         * lisp/mail/feedmail.el (feedmail-run-the-queue):
14151         * lisp/mouse.el (minor-mode-menu-from-indicator):
14152         * lisp/mpc.el (mpc-playlist-rename):
14153         * lisp/msb.el (msb--choose-menu):
14154         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
14155         * lisp/net/imap.el (imap-interactive-login):
14156         * lisp/net/mairix.el (mairix-widget-create-query):
14157         * lisp/net/newst-backend.el (newsticker--sentinel-work):
14158         * lisp/net/newst-treeview.el (newsticker--treeview-load):
14159         * lisp/net/rlogin.el (rlogin):
14160         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
14161         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
14162         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
14163         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
14164         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
14165         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
14166         (org-babel-goto-named-result):
14167         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
14168         * lisp/org/ob-ref.el (org-babel-ref-resolve):
14169         * lisp/org/org-agenda.el (org-agenda-prepare):
14170         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
14171         (org-clock-resolve):
14172         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
14173         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
14174         * lisp/org/org-habit.el (org-habit-parse-todo):
14175         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
14176         (org-mouse-context-menu):
14177         * lisp/org/org-table.el (org-table-edit-formulas):
14178         * lisp/org/ox.el (org-export-async-start):
14179         * lisp/proced.el (proced-log):
14180         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
14181         (ada-check-matching-start, ada-goto-matching-start):
14182         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
14183         * lisp/progmodes/ada-xref.el (ada-find-executable):
14184         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
14185         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
14186         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
14187         (flymake-start-syntax-check-process):
14188         * lisp/progmodes/python.el (python-shell-get-process-or-error)
14189         (python-define-auxiliary-skeleton):
14190         * lisp/progmodes/sql.el (sql-comint):
14191         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
14192         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
14193         * lisp/recentf.el (recentf-open-files):
14194         * lisp/replace.el (query-replace-read-from)
14195         (occur-after-change-function, occur-1):
14196         * lisp/scroll-bar.el (scroll-bar-columns):
14197         * lisp/server.el (server-get-auth-key):
14198         * lisp/simple.el (execute-extended-command)
14199         (undo-outer-limit-truncate, list-processes--refresh)
14200         (compose-mail, set-variable, choose-completion-string)
14201         (define-alternatives):
14202         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
14203         (command-line-1):
14204         * lisp/subr.el (noreturn, define-error, add-to-list)
14205         (read-char-choice, version-to-list):
14206         * lisp/term/common-win.el (x-handle-xrm-switch)
14207         (x-handle-name-switch, x-handle-args):
14208         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
14209         * lisp/textmodes/reftex-ref.el (reftex-label):
14210         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
14211         * lisp/textmodes/two-column.el (2C-split):
14212         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
14213         (tutorial--find-changed-keys):
14214         * lisp/type-break.el (type-break-noninteractive-query):
14215         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
14216         (wdired-do-perm-changes):
14217         * lisp/whitespace.el (whitespace-report-region):
14218         Prefer grave quoting in source-code strings used to generate help
14219         and diagnostics.
14220         * lisp/faces.el (face-documentation):
14221         No need to convert quotes, since the result is a docstring.
14222         * lisp/info.el (Info-virtual-index-find-node)
14223         (Info-virtual-index, info-apropos):
14224         Simplify by generating only curved quotes, since info files are
14225         typically that ways nowadays anyway.
14226         * lisp/international/mule-diag.el (list-input-methods):
14227         Don’t assume text quoting style is curved.
14228         * lisp/org/org-bibtex.el (org-bibtex-fields):
14229         Revert my recent changes, going back to the old quoting style.
14231 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14233         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling.
14234         (package--autoloads-file-name)
14235         (package--activate-autoloads-and-load-path): New function.
14236         (package-activate-1): Delegate autoloading and load-path
14237         configuration to `package--activate-autoloads-and-load-path'.
14238         (package--compile): Before compilation, call
14239         `package--activate-autoloads-and-load-path' instead of
14240         `package-activate-1'.
14242 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
14244         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
14246 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
14248         Fix deletion of symlinks to directories on MS-Windows
14249         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
14250         symlink to a directory, try again with 'rmdir'.
14251         (is_symlink): If the argument is a symlink to a directory, set a
14252         bit in the return value to indicate that fact.
14254 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14256         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
14257         When `package-initialize' is called as part of loading the init file,
14258         the user probably doesn't want it to be called again afterwards.
14259         In this situation, `package-initialize' now sets
14260         `package-enable-at-startup' to nil to prevent that.  The user can have
14261         the old behavior by setting this variable to t after the call to
14262         `package-initialize'.  (Bug#21423)
14263         * doc/emacs/package.texi (Package Installation): Document it.
14264         * doc/lispref/package.texi (Packaging Basics): Document it.
14265         * etc/NEWS: Document it.
14267 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
14269         Bump version of ntlm.el to 2.00
14270         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.
14271         Add comm keyword.
14273 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
14275         * doc/misc/gnus.texi (Mail Source Specifiers):
14276         Allow :mailbox to be a list.
14278 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
14280         * lisp/progmodes/etags.el (etags-tags-completion-table):
14281         Allow even one non-regular character before the implicit tag name.
14282         Reported at http://emacs.stackexchange.com/questions/15269/.
14284 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
14286         Add support for NTLMv2 authentication
14287         * lisp/net/ntlm.el (ntlm): New customization group.
14288         (ntlm-compatibility-level): New defcustom.
14289         (ntlm-compute-timestamp): New function.
14290         (ntlm-generate-nonce): Likewise.
14291         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
14293 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
14295         * lisp/emacs-lisp/package.el: Rename custom faces.
14296         All of the recently introduced faces, like `package-name-face', have
14297         been renamed to no end in `-face' to comply with the convention
14298         described in (info "(elisp) Defining Faces").
14299         (package-name, package-description)
14300         (package-status-built-in, package-status-external)
14301         (package-status-available, package-status-new)
14302         (package-status-held, package-status-disabled)
14303         (package-status-installed, package-status-dependency)
14304         (package-status-unsigned, package-status-incompat)
14305         (package-status-avail-obso): New faces.
14306         (package-menu--print-info-simple): Use them.
14308 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
14310         mail-source.el: Make the imap mail-source's :mailbox handle a list
14311         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
14312         Allow :mailbox to be  a list.
14314 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
14316         nnimap.el: Handle nil arg to nnimap-request-group
14317         * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
14318         This arg isn't always passed in, check it's not nil before making it
14319         into a list.  The active arg will also be nil if the group is new,
14320         check for that.
14322 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
14324         File notifications: Support renaming over directory boundaries
14325         * lisp/filenotify.el (file-notify-handle-event):
14326         (file-notify--pending-event): Adapt docstring.
14327         (file-notify--descriptor, file-notify-callback): Reimplement in
14328         order to support renaming over directory boundaries.
14329         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
14330         * doc/lispref/os.texi (File Notifications): Remove limitation of
14331         file renaming to the same directory.
14333 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14335         Spelling fix (Bug#21420)
14337 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
14339         Improve the semantic of map-some
14340         Update map-some to return the returned by the predicate, similar to
14341         seq-some.
14342         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
14343           return value of the predicate.
14344         * test/automated/map-tests.el (test-map-some): Update the test to check
14345           for non-nil values only.
14347         Rename map-contains-key-p and map-some-p
14348         Remove the "-p" suffix from both function names.
14349         * lisp/emacs-lisp/map.el (map-contains-key, map-some):
14350           Rename the functions.
14351         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
14352           Update both test functions.
14354         Improve the semantic of seq-some
14355         Update seq-some to return non-nil if the predicate returns non-nil for
14356         any element of the seq, in which case the returned value is the one
14357         returned by the predicate.
14358         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
14359           docstring.
14360         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
14361         * doc/lispref/sequences.texi (Sequence Functions): Update the
14362           documentation for seq-some.
14364         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
14365         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
14366           without the "-p" prefix.
14367         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
14368           the tests accordingly.
14369         * doc/lispref/sequences.texi (Sequence Functions): Update the
14370           documentation for seq.el.
14372 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
14374         text-quoting-style for usage of fn names with ‘’
14375         * lisp/help.el (help--docstring-quote): Don’t assume
14376         text-quoting-style is ‘curve’ when generating usage strings for
14377         functions whose names contain curved quotes.
14379 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14381         Fix fix for describe-function keybinding confusion
14382         This fixes a bug introduced by the previous patch.
14383         * lisp/help-fns.el (help-fns--signature):
14384         Last arg of help-fns--signature is now a buffer, or nil if a
14385         raw signature is wanted.  All callers changed.
14386         (describe-function-1): Use this to do the right thing with signatures.
14388 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
14390         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
14392         Use PAT rather than UPAT in pcase macros
14393         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
14394         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
14395           than UPAT.
14397 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14399         Fix describe-function keybinding confusion
14400         * lisp/help-fns.el (describe-function-1): Compute signature
14401         in the original buffer, not in standard-output, so that
14402         substitute-command-keys uses the proper keybindings.
14403         This fixes Bug#21412, introduced in commit
14404         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
14406 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
14408         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
14410 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
14412         Avoid read error messages from 'inotify'
14413         * src/process.c (wait_reading_process_output): Add a
14414         'tls_available' set and manipulate it instead of 'Available' when
14415         checking TLS inputs.  Assign the value to 'Available' only if we
14416         find any TLS data waiting to be read.  This avoids error messages
14417         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
14419 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
14421         Avoid errors in thing-at-point with 2nd argument non-nil
14422         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
14423         sequences.  (Bug#21391)
14425 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
14427         Fix segfaults due to using a stale face ID
14428         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
14429         (display_echo_area_1, redisplay_internal): Call it to avoid
14430         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
14431         faces, which could case a segfault if the frame's face cache was
14432         freed since the last redisplay.  (Bug#21394)
14433         * src/xfaces.c (free_realized_faces):
14434         Call forget_escape_and_glyphless_faces.
14435         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
14437 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
14439         Fix minor problems with " in manual
14441 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
14443         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
14444         multi-hop files.
14446 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
14448         Support automated ‘make check’ in non-C locale
14449         This lets the builder optionally test Emacs behavior in other locales.
14450         The C locale is still the default for tests.
14451         * test/automated/Makefile.in (TEST_LOCALE): New macro.
14452         (emacs): Use it.
14453         * test/automated/flymake-tests.el (flymake-tests--current-face):
14454         Use C locale for subprocesses so that tests behave as expected.
14455         * test/automated/python-tests.el:
14456         (python-shell-prompt-validate-regexps-1)
14457         (python-shell-prompt-validate-regexps-2)
14458         (python-shell-prompt-validate-regexps-3)
14459         (python-shell-prompt-validate-regexps-4)
14460         (python-shell-prompt-validate-regexps-5)
14461         (python-shell-prompt-validate-regexps-6)
14462         (python-shell-prompt-set-calculated-regexps-1):
14463         Adjust expected output to match locale.
14464         * test/automated/tildify-tests.el (tildify-test--test)
14465         (tildify-space-test--test, tildify-space-undo-test--test):
14466         This test assumes UTF-8 encoding.
14468 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14470         Fix some more docstring etc. quoting problems
14471         Mostly these fixes prevent the transliteration of apostrophes
14472         that should stay apostrophes.  Also, prefer curved quotes in
14473         Bahá’í proper names, as that’s the preferred Bahá’í style and
14474         these names are chock-full of non-ASCII characters anyway.
14475         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
14476         (eieio-defclass-internal):
14477         * lisp/emacs-lisp/eieio.el (defclass):
14478         * lisp/hi-lock.el (hi-lock-mode):
14479         Don’t transliterate Lisp apostrophes when generating a
14480         doc string or diagnostic.
14481         * lisp/international/mule-diag.el (list-coding-systems-1):
14482         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
14483         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
14484         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
14485         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
14486         Substitute quotes before putting them in the help buffer.
14488 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
14490         Re-add the notion of echo_prompt lost in the translation
14491         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
14492         echo_prompt which contains the actual string.  Update all uses.
14493         * src/keyboard.c (kset_echo_prompt): New function.
14494         (echo_update): Add echo_prompt at the very beginning.
14495         (read_char): Remove workaround for bug#19875, not needed any more.
14496         (read_key_sequence): Set echo_prompt rather than echo_string
14497         (bug#21403).
14498         (mark_kboards): Mark echo_prompt.
14500         Fix disassembly of non-compiled lexical functions (bug#21377)
14501         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
14502         * lisp/emacs-lisp/disass.el: Use lexical-binding.
14503         (disassemble): Recognize `closure's as well.
14504         (disassemble-internal): Use indirect-function and
14505         help-function-arglist, and accept `closure's.
14506         (disassemble-internal): Use interactive-form.
14507         (disassemble-1): Use functionp.
14509         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
14510         Don't compose inside verbatim blocks!
14512 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
14514         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
14515         (bug#19441).
14517         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394).
14519 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
14521         vc-git-mode-line-string: Explicitly re-apply the face
14522         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
14523         the face (bug#21404).
14525 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
14527         Treat initial-scratch-message as a doc string
14528         * doc/emacs/building.texi (Lisp Interaction):
14529         * doc/lispref/os.texi (Startup Summary):
14530         * etc/NEWS: Document this.
14531         * lisp/startup.el (initial-scratch-message):
14532         Look up find-file’s key rather than hardcoding it.
14533         (command-line-1): Substitute the doc string.
14534         This also substitutes the quotes, which will help test display
14535         quoting at startup.
14537         Fix describe-char bug with glyphs on terminals
14538         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
14539         buffers too, so don’t treat them differently from graphic displays.
14540         Without this fix, describe-char would throw an error on a terminal
14541         if given a glyph with a non-default face.
14543         Follow text-quoting-style in display table init
14544         This attempts to fix a problem reported by Alan Mackenzie in:
14545         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
14546         * doc/lispref/display.texi (Active Display Table):
14547         Mention how text-quoting-style affects it.
14548         * doc/lispref/help.texi (Keys in Documentation):
14549         Say how to set text-quoting-style in ~/.emacs.
14550         * etc/NEWS: Document the change.
14551         * lisp/startup.el (startup--setup-quote-display):
14552         Follow user preference if text-quoting-style is set.
14553         (command-line): Setup quote display again if user expresses
14554         a preference in .emacs.
14556 2015-09-02  K. Handa  <handa@gnu.org>
14558         Fix typo
14559         * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask
14560         -> OTF_positioning_type_components_mask.
14562         Fix previous change
14563         * src/ftfont.c (ftfont_drive_otf): Remember some bits of
14564         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
14566 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
14568         * lisp/vc/vc-hooks.el (vc-refresh-state): New command.
14569         Rename from vc-find-file-hook and make interactive.
14570         (vc-find-file-hook): Redefine as obsolete alias.
14572 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14574         Escape ` and ' in doc
14575         Escape apostrophes and grave accents in docstrings if they are
14576         are supposed to stand for themselves and are not quotes.  Remove
14577         apostrophes from docstring examples like ‘'(calendar-nth-named-day
14578         -1 0 10 year)’ that confuse source code with data.  Do some other
14579         minor docstring fixups as well, e.g., insert a missing close quote.
14581 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
14583         Generalize the prefix-command machinery of C-u
14584         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
14585         (prefix-command-preserve-state-hook): New hooks.
14586         (internal-echo-keystrokes-prefix): New function.
14587         (prefix-command--needs-update, prefix-command--last-echo): New vars.
14588         (prefix-command-update, prefix-command-preserve): New functions.
14589         (reset-this-command-lengths): New compatibility definition.
14590         (universal-argument--mode): Call prefix-command-update.
14591         (universal-argument, universal-argument-more, negative-argument)
14592         (digit-argument): Call prefix-command-preserve-state.
14593         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
14594         the "prefix argument" to echo.
14595         (this_command_key_count_reset, before_command_key_count)
14596         (before_command_echo_length): Delete variables.
14597         (echo_add_key): Always add a space.
14598         (echo_char): Remove.
14599         (echo_dash): Don't give up when this_command_key_count is 0, since that
14600         is now the case after a prefix command.
14601         (echo_update): New function, extracted from echo_now.
14602         (echo_now): Use it.
14603         (add_command_key, read_char, record_menu_key): Remove old disabled code.
14604         (command_loop_1): Don't refrain from pushing an undo boundary when
14605         prefix-arg is set.  Remove other prefix-arg special case, now handled
14606         directly in the prefix commands instead.  But call echo_now if there's
14607         a prefix state to echo.
14608         (read_char, record_menu_key): Use echo_update instead of echo_char.
14609         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
14610         (Freset_this_command_lengths): Delete function.
14611         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
14612         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
14613         * lisp/simple.el: Use those new hooks for C-u.
14614         (universal-argument--description): New function.
14615         (prefix-command-echo-keystrokes-functions): Use it.
14616         (universal-argument--preserve): New function.
14617         (prefix-command-preserve-state-hook): Use it.
14618         (command-execute): Call prefix-command-update if needed.
14619         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
14620         (kmacro-step-edit-prefix-index): Delete variables.
14621         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
14622         support for prefix arg commands.
14623         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
14624         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
14625         (cua--shift-control-prefix): Use prefix-command-preserve-state.
14626         Remove now unused arg `arg'.
14627         (cua--prefix-override-handler, cua--prefix-repeat-handler)
14628         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
14629         Update accordingly.
14630         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
14631         any more.
14632         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
14633         if the mark is not set.
14635 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14637         Rework quoting in Emacs Lisp Introduction
14638         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
14639         (if in more detail, type-of-animal in detail, else): Rework the
14640         early example to use " rather than ' so that we don’t burden
14641         complete novices with the low-priority detail of text quoting style.
14642         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
14643         (kill-new function, kill-ring-yank-pointer)
14644         (Complete forward-sentence, Loading Files)
14645         (Code for current-kill, Code for current-kill, yank):
14646         Resurrect the Emacs 22 versions of the code, which uses grave
14647         quoting style in doc strings.
14648         (Complete zap-to-char): Mention how quoting works in doc strings.
14650         Setup quote display only if interactive
14651         * lisp/startup.el (command-line):
14652         Skip call to startup--setup-quote-display if noninteractive.
14653         Without this change, python-shell-prompt-validate-regexps-1
14654         fails in test/automated/python-tests.el when run in an
14655         en_US.utf8 locale on Fedora.
14657 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
14659         Use defalias at the top level
14660         * lisp/gnus/gnus-util.el (gnus-format-message):
14661         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
14662         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
14664 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14666         terminal-init-w32console mimicks command-line
14667         Problem reported by Eli Zaretskii.
14668         * lisp/startup.el (startup--setup-quote-display):
14669         New function, refactored from a part of ‘command-line’.
14670         (command-line): Use it.
14671         * lisp/term/w32console.el (terminal-init-w32console):
14672         Use it, so that this function stays consistent with ‘command-line’.
14674         Display replacement quotes with shadow glyphs
14675         * lisp/startup.el (command-line): When displaying ASCII
14676         replacements for curved quotes, use a shadow glyph instead of a
14677         regular one, to avoid ambiguity.
14679 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
14681         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
14683 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14685         Docstring fixes re quotes in C code
14686         Fix some docstring quoting problems, mostly by escaping apostrophe.
14688 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
14690         Some Tramp password fixes
14691         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
14692         of the hops.
14693         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
14694         at the beginning of the command.  Otherwise, it could be
14695         interpreted as password prompt if the remote host echoes the
14696         command.
14697         (tramp-remote-coding-commands): Add "openssl enc -base64".
14699 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
14701         Make vc-git-working-revision always return the commit hash
14702         * lisp/vc/vc-git.el (vc-git-working-revision):
14703         Return the commit hash (bug#21383).
14704         (vc-git--symbolic-ref): New function, extracted from above.
14705         (vc-git-mode-line-string): Use it.
14707 2015-09-01  K. Handa  <handa@gnu.org>
14709         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs
14710         * src/ftfont.c (MFLTGlyphFT): New type.
14711         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
14712         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
14713         elements in the array MFLTGlyphString.glyphs.
14715 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
14717         Improve comments in elisp-mode.el, elisp-mode-tests.el
14718         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
14720         Delete Emacs 25 test in mode-local.el
14721         * lisp/cedet/mode-local.el (describe-mode-local-overload):
14722         Fix missed an edit in previous commit.
14724         Show all known mode-local overrides in *Help*
14725         * lisp/cedet/mode-local.el (describe-mode-local-overload):
14726         Assume Emacs 25. Add all known mode-local overrides.
14728 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
14730         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
14731         Ensure that the article where the search word is found is displayed
14732         and pointed to in the summary buffer.
14734 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
14736         * lisp/newcomment.el (comment-dwim): Use `use-region-p'.
14737         When the region is active, but is empty (length 0), act as though
14738         the region was not active; that is, put a comment at the end of
14739         the line.  (Bug#21119)
14741 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
14743         Port tls.el to older Emacs
14744         * lisp/net/tls.el (tls-format-message):
14745         Alias to format-message, or format if not available.
14746         (open-tls-stream): Use it.
14748 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
14750         hideif.el: Recognize .h++ as C++ header
14751         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
14753         isearch: Document character folding mode
14754         * lisp/isearch.el (isearch-forward):
14755         Mention `isearch-toggle-character-fold' in doc string.
14757 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
14759         Quoting fixes in ERC and Eshell
14760         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
14761         * lisp/erc/erc-backend.el (define-erc-response-handler):
14762         * lisp/erc/erc-fill.el (erc-fill-static-center):
14763         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
14764         * lisp/eshell/em-glob.el (eshell-glob-entries):
14765         * lisp/eshell/em-hist.el (eshell-save-some-history):
14766         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
14767         (eshell-shuffle-files):
14768         * lisp/eshell/esh-cmd.el (eshell-do-eval):
14769         * lisp/eshell/esh-proc.el (eshell-process-interact)
14770         (eshell-query-kill-processes):
14771         Respect ‘text-quoting-style’ in diagnostics and doc strings.
14773         Quoting fixes in Gnus
14774         * lisp/gnus/gnus-agent.el:
14775         (gnus-agent-possibly-synchronize-flags-server):
14776         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
14777         * lisp/gnus/gnus-eform.el (gnus-edit-form):
14778         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
14779         (gnus-group-nnimap-edit-acl):
14780         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
14781         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
14782         * lisp/gnus/message.el (message-strip-subject-encoded-words)
14783         (message-check-recipients, message-send-form-letter):
14784         * lisp/gnus/mm-decode.el (mm-display-part):
14785         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
14786         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
14787         (mml-smime-get-ldap-cert):
14788         * lisp/gnus/spam-report.el (spam-report-process-queue):
14789         Respect ‘text-quoting-style’ in diagnostics.
14790         * lisp/gnus/gnus-art.el (article-display-face)
14791         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
14792         Use straight quoting in email.
14793         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
14794         Escape apostrophes in doc strings.
14796         Quoting fixes in lisp mail, mh-e, net, url
14797         * lisp/mail/emacsbug.el (report-emacs-bug)
14798         (report-emacs-bug-hook): Use straight quotes in outgoing email,
14799         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
14800         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
14801         * lisp/mail/rmailout.el (rmail-output-read-file-name):
14802         * lisp/net/imap.el (imap-interactive-login):
14803         * lisp/net/tls.el (open-tls-stream):
14804         * lisp/url/url-auth.el (url-register-auth-scheme):
14805         Respect ‘text-quoting-style’ in diagnostics.
14806         * lisp/mh-e/mh-e.el (mh-sortm-args):
14807         Quote docstring example using text quotes, not as a Lisp quote.
14809 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
14811         Fix some byte-compiler warnings in EDE
14812         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
14813         existing autoloader list, rather than add to it.
14814         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
14815         argument to eieio class constructor.
14816         (ede-show-supported-projects): New.
14817         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
14818         with (oref ... name).
14819         (ede-auto-load-project): Use slot name, not initarg key.
14820         * lisp/cedet/ede/generic.el (ede-generic-load)
14821         (ede-generic-find-matching-target): Use slot name, not initarg key.
14822         (ede-find-target): Use oref-default on class name.
14823         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
14824         class constructor.
14825         (ede-enable-generic-projects): Make project type names unique.
14827 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
14829         Fix directory accessibility tests for w32 network volumes
14830         * src/w32.c (faccessat): Don't fail with network volumes without a
14831         share.
14832         (w32_accessible_directory_p): Handle network volumes without a
14833         share.
14835         Fix handling long file names in readdir on MS-Windows
14836         * src/w32.c (sys_readdir): Append "\*" to the directory after
14837         converting it to UTF-16/ANSI, not before, to avoid overflowing the
14838         260-character limit on file names in filename_to_utf16/ansi.
14840         Make file-accessible-directory-p reliable on MS-Windows
14841         * src/w32.c (w32_accessible_directory_p): New function.
14842         * src/w32.h (w32_accessible_directory_p): Add prototype.
14843         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
14844         w32_accessible_directory_p to test a directory for accessibility
14845         by the current user.  (Bug#21346)
14846         (Ffile_accessible_directory_p): Remove the w32 specific caveat
14847         from the doc string.
14849 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
14851         Don't call do_pending_window_change in signal handlers (Bug#21380)
14852         * src/gtkutil.c (xg_frame_resized):
14853         * src/xterm.c (x_set_window_size):
14854         * src/w32term.c (x_set_window_size): Don't call
14855         do_pending_window_change.
14857 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
14859         Quoting fixes in lisp/org
14860         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
14861         (org-tags-view):
14862         * lisp/org/org-capture.el (org-capture-mode)
14863         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
14864         (org-ctags-ask-append-topic):
14865         * lisp/org/org.el (org-time-string-to-time)
14866         (org-time-string-to-absolute):
14867         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
14868         (org-ctags-ask-append-topic):
14869         * lisp/org/org.el (org-time-string-to-time)
14870         (org-time-string-to-absolute):
14871         Respect ‘text-quoting-style’ in diagnostics.
14872         * lisp/org/org-agenda.el (org-agenda-custom-commands)
14873         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
14874         * lisp/org/org-capture.el (org-capture-fill-template):
14875         Avoid contraction in output file that might be ASCII.
14876         * lisp/org/org-compat.el (format-message):
14877         Define if not already defined, for backward compatibility.
14878         * lisp/org/org-src.el (org-edit-src-save):
14879         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
14880         Escape apostrophes in diagnostics.
14882         Treat “instead” strings as docstrings
14883         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
14884         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
14885         Substitute quotes in instead strings.
14887 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
14889         Better documentation of seq-let
14890         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
14891         documentation of seq-let.
14893 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
14895         * lisp/international/ccl.el: Fix quoting.
14897         Quoting fixes in lisp/international and lisp/leim
14898         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
14899         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
14900         * lisp/international/mule-cmds.el:
14901         (select-safe-coding-system-interactively, leim-list-file-name):
14902         * lisp/international/quail.el (quail-use-package, quail-help):
14903         * lisp/international/titdic-cnv.el (tit-process-header)
14904         (miscdic-convert):
14905         Respect text quoting style in doc strings and diagnostics.
14906         * lisp/international/quail.el (lisp/international/quail.el):
14907         * lisp/leim/quail/ethiopic.el ("ethiopic"):
14908         Escape apostrophes in doc strings.
14910         Make ‘text-quoting-style’ a plain defvar
14911         It doesn’t need customization, as it’s likely useful only by experts.
14912         Suggested by Stefan Monnier in:
14913         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
14914         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
14916         Quoting fixes in lisp/textmodes
14917         * lisp/textmodes/bibtex.el (bibtex-validate)
14918         (bibtex-validate-globally, bibtex-search-entries):
14919         * lisp/textmodes/ispell.el (ispell-command-loop):
14920         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
14921         * lisp/textmodes/texinfmt.el (texinfmt-version)
14922         (texinfo-format-region, texinfo-format-buffer-1):
14923         * lisp/textmodes/two-column.el (2C-split):
14924         Respect text quoting style in doc strings and diagnostics.
14925         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
14926         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
14927         Escape apostrophes in doc strings.
14929         Documentation fixes re quotes
14930         Prefer curved quotes in examples if users will typically see
14931         curved quotes when the examples run.
14932         Mention format-message when appropriate.
14933         Don’t use @code in examples.
14934         Quote an apostrophe with @kbd.
14936         Quoting fixes in lisp/progmodes
14937         * lisp/progmodes/cc-engine.el (c-bos-report-error):
14938         * lisp/progmodes/cpp.el (cpp-edit-reset):
14939         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
14940         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
14941         (etags-tags-apropos, list-tags, tags-apropos):
14942         * lisp/progmodes/executable.el (executable-set-magic):
14943         * lisp/progmodes/octave.el (octave-sync-function-file-names)
14944         (octave-help, octave-find-definition-default-filename)
14945         (octave-find-definition):
14946         Respect text quoting style in doc strings and diagnostics.
14947         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
14948         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
14949         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
14950         Escape apostrophes in doc strings.
14951         * lisp/progmodes/cmacexp.el (c-macro-expansion):
14952         Use straight quoting in ASCII comment.
14953         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
14954         (idlwave-pad-keyword):
14955         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
14956         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
14957         (vhdl-electric-semicolon, vhdl-electric-comma)
14958         (vhdl-electric-period, vhdl-electric-equal):
14959         Use directed quotes in diagnostics and doc strings.
14961 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
14963         Minor documentation and NEWS tweak
14964         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let):
14965         Add an index entry.
14966         * etc/NEWS: Fix a typo in character-fold-to-regexp.
14968 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
14970         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
14971         Revert patch from 2015-08-24.  Tramp shall behave like for local files.
14972         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
14973         Adapt test.
14975 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14977         Text quoting fixes in cedet, emulation, emacs-lisp
14978         * lisp/cedet/ede.el (ede-check-project-directory):
14979         * lisp/cedet/semantic/analyze/debug.el
14980         (semantic-analyzer-debug-insert-include-summary):
14981         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
14982         * lisp/cedet/semantic/decorate/include.el
14983         (semantic-decoration-unknown-include-describe)
14984         (semantic-decoration-all-include-summary):
14985         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
14986         * lisp/emulation/edt.el (edt-load-keys):
14987         * lisp/emulation/viper-cmd.el
14988         (viper-display-current-destructive-command)
14989         (viper-query-replace, viper-brac-function):
14990         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
14991         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
14992         Respect text quoting style in doc string or diagnostic.
14993         * lisp/cedet/mode-local.el (describe-mode-local-overload):
14994         Use format-message to avoid overtranslating quotes.
14995         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
14996         Escape an apostrophe in a docstring.
14997         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
14999 2015-08-29  Daniel Colascione  <dancol@dancol.org>
15001         Fix which-func for curly quotes: look for symbol, not message
15002         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
15003         imenu-unavailable error symbol instead of trying to match message
15004         exactly.
15005         * lisp/imenu.el (imenu-unavailable): New error.
15006         (imenu-unavailable-error): New function.
15008 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
15010         Fix Python tests on MS-Windows
15011         * test/automated/python-tests.el
15012         (python-shell-calculate-command-1): Run python-shell-interpreter
15013         through shell-quote-argument before comparing with what
15014         python-shell-calculate-command returns.
15015         (python-shell-calculate-pythonpath-1)
15016         (python-shell-calculate-pythonpath-2)
15017         (python-shell-calculate-process-environment-2): Use path-separator
15018         instead of a literal ':'.
15019         (python-shell-calculate-exec-path-2)
15020         (python-shell-calculate-exec-path-3)
15021         (python-shell-calculate-exec-path-4)
15022         (python-shell-with-environment-1)
15023         (python-shell-with-environment-2): Run "/env/bin" through
15024         expand-file-name before comparing with exec-path.  (Bug#21375)
15026 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
15028         Use Core Text types/functions/variables/enumerators directly
15029         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
15030         (CharacterCollection): Remove typedefs.  All uses replaced with
15031         definitions.
15032         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
15033         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
15034         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
15035         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
15036         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
15037         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
15038         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
15039         definitions.
15040         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
15041         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
15042         (MAC_FONT_FORMAT_BITMAP)
15043         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
15044         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.
15045         All uses replaced with definitions.
15046         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
15047         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
15048         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault):
15049         Add compatibility enumerators for older versions.
15050         (mac_font_descriptor_create_with_attributes)
15051         (mac_font_descriptor_create_matching_font_descriptors)
15052         (mac_font_descriptor_create_matching_font_descriptor)
15053         (mac_font_descriptor_copy_attribute)
15054         (mac_font_descriptor_supports_languages)
15055         (mac_font_create_with_name, mac_font_get_size)
15056         (mac_font_copy_family_name, mac_font_copy_character_set)
15057         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
15058         (mac_font_get_descent, mac_font_get_leading)
15059         (mac_font_get_underline_position)
15060         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
15061         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
15062         replaced with definitions.
15063         (mac_font_create_preferred_family_for_attributes)
15064         (mac_font_get_advance_width_for_glyph)
15065         (mac_font_get_bounding_rect_for_glyph)
15066         (mac_font_create_available_families, mac_font_shape):
15067         Remove macros for renamed functions.
15068         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
15069         * src/macfont.m (mac_font_descriptor_supports_languages):
15070         Rename from mac_ctfont_descriptor_supports_languages.
15071         (mac_font_create_preferred_family_for_attributes): Rename from
15072         mac_ctfont_create_preferred_family_for_attributes.
15073         (mac_font_get_advance_width_for_glyph): Rename from
15074         mac_ctfont_get_advance_width_for_glyph.
15075         Use kCTFontOrientationDefault also for older versions.
15076         (mac_font_get_bounding_rect_for_glyph): Rename from
15077         mac_ctfont_get_bounding_rect_for_glyph.
15078         Use kCTFontOrientationDefault also for older versions.
15079         (mac_font_create_available_families): Rename from
15080         mac_ctfont_create_available_families.
15081         (mac_font_equal_in_postscript_name): Rename from
15082         mac_ctfont_equal_in_postscript_name.  All uses changed.
15083         (mac_font_create_line_with_string_and_font): Rename from
15084         mac_ctfont_create_line_with_string_and_font.  All uses changed.
15085         (mac_font_shape): Rename from mac_ctfont_shape.
15086         (mac_font_family_compare): Remove unused declaration.
15088 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15090         Fix minor text quoting in calc, calendar, vc
15091         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
15092         * lisp/calc/calc-help.el (calc-j-prefix-help):
15093         * lisp/calc/calc-misc.el (calc-help):
15094         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
15095         Escape an apostrophe in a docstring.
15096         * lisp/calc/calc-forms.el (calc-hms-notation):
15097         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
15098         Escape an apostrophe in a diagnostic.
15099         * lisp/calc/calc-misc.el (calc-help):
15100         * lisp/calendar/diary-lib.el (diary-include-files):
15101         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
15102         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
15103         * lisp/vc/ediff-diff.el (ediff-same-contents):
15104         * lisp/vc/ediff-merg.el (ediff-re-merge):
15105         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
15106         * lisp/vc/ediff-util.el (ediff-test-save-region)
15107         (ediff-status-info):
15108         * lisp/vc/ediff.el (ediff-merge-revisions)
15109         (ediff-merge-revisions-with-ancestor):
15110         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
15111         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
15112         Respect text quoting style in doc string or diagnostic.
15113         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
15114         * lisp/vc/add-log.el (change-log-goto-source):
15115         Avoid double-formatting.
15116         * lisp/vc/ediff-init.el (format-message):
15117         New backward-compatibility alias.
15119 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
15121         Fix minor text quoting problems in lisp top level
15122         * lisp/apropos.el (apropos-describe-plist):
15123         * lisp/cus-theme.el (customize-themes):
15124         * lisp/dired.el (dired-log):
15125         * lisp/help-fns.el (describe-variable):
15126         * lisp/hexl.el (hexl-insert-multibyte-char):
15127         * lisp/info.el (Info-finder-find-node):
15128         * lisp/json.el (json-read-string):
15129         * lisp/novice.el (disabled-command-function)
15130         (disabled-command-function):
15131         * lisp/startup.el (normal-mouse-startup-screen):
15132         * lisp/woman.el (WoMan-log, WoMan-warn):
15133         Respect text quoting style in doc string or diagnostic.
15134         * lisp/replace.el (replace-character-fold):
15135         * src/syntax.c (Fmodify_syntax_entry):
15136         Escape an apostrophe in a docstring.
15137         * lisp/tempo.el (tempo-define-template):
15138         Remove confusing apostrophe from docstring.
15139         * lisp/whitespace.el (whitespace-mark-x):
15140         Use directed quotes in docstring.
15142 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
15144         Fix indentation rule in css-mode
15145         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
15146         brackets in presence of pseudo-selectors.  (Bug#21328)
15148 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
15150         Fix a bug in recording a macro while flyspell-mode is active
15151         * lisp/subr.el (sit-for): Don't call read-event when recording a
15152         macro.  (Bug#21329)
15154 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15156         Tweak startup screen quoting
15157         * lisp/startup.el (normal-splash-screen): Use standard
15158         "M-" abbrevation rather than a confusingly-different one.
15159         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
15161 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
15163         Add test case for ‘format’ bug and refactor
15164         * src/editfns.c (styled_format): Refactor internally, mostly by
15165         moving declarations closer to uses.  This should not affect behavior.
15166         * test/automated/textprop-tests.el (textprop-tests-format): New test.
15168         Fix ‘format’ bug with property offsets
15169         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
15170         bug in calculating string property offsets (Bug#21351).
15172         Use straight quotes in lib-src diagnostics
15173         These auxiliary programs can’t use Emacs’s text-quoting-style,
15174         and it’s too much trouble to redo that mechanism by hand.
15175         So just use straight quotes for now.
15176         * lib-src/ebrowse.c (main):
15177         * lib-src/emacsclient.c (decode_options, main):
15178         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
15179         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
15180         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
15181         (none_help, print_language_names, print_help, add_regex)
15182         (suggest_asking_for_help):
15183         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
15184         Use straight quotes in diagnostics.
15186         ‘text-quoting-style’ fixes for admin
15187         * admin/admin.el (cusver-scan, cusver-check):
15188         * admin/authors.el (authors-canonical-file-name):
15189         * admin/bzrmerge.el (bzrmerge-missing):
15190         Respect ‘text-quoting-style’ in diagnostics.
15192 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15194         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
15195         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
15196         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
15197         * doc/lispref/internals.texi (Writing Emacs Primitives):
15198         * etc/NEWS:
15199         Document the change.
15200         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
15201         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
15202         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
15203         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
15204         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
15205         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
15206         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
15207         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
15208         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
15209         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
15210         Remove.  All uses removed.  The code now assumes
15211         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
15212         * src/bytecode.c (relocate_byte_stack):
15213         Rename from unmark_byte_stack, since it now only relocates.
15214         All callers changed.
15215         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
15216         with GCPROs removed.
15217         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
15218         * test/automated/finalizer-tests.el (finalizer-basic)
15219         (finalizer-circular-reference, finalizer-cross-reference)
15220         (finalizer-error):
15221         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
15222         Remove tests, as they depend on gc-precise.
15224 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
15226         Improve seq-concatenate for new sequence types
15227         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
15228         ensure that concatenation happens on sequences only.  This makes it
15229         possible to use `seq-concatenate' for new types of seqs.
15230         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate):
15231         New function used in `seq-concatenate'.
15232         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
15233         for seq-into-sequence.
15235 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
15237         Add mode local overrides to xref-find-definitions
15238         * lisp/cedet/mode-local.el (xref-mode-local--override-present)
15239         (xref-mode-local-overload): New; add mode local overrides to
15240         xref-find-definitions.
15241         * test/automated/elisp-mode-tests.el: Add mode local override tests.
15242         (xref-elisp-test-run): Handle indented defuns.
15243         (xref-elisp-generic-*): Improve doc strings.
15244         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
15245         (elisp--xref-find-definitions): Use it.
15247         Add mode local overrides to describe-function
15248         * lisp/cedet/mode-local.el (describe-mode-local-overload):
15249         New; add mode local overrides to describe-function.
15250         * etc/NEWS: Document change.
15252 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15254         Prefer straight quoting in some etc text files
15255         These files are plain text and might be used by non-Emacs apps.
15256         They’re mostly ASCII, so just use straight quotes.
15258         Fix quoting in ‘message_with_string’
15259         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
15260         should work now.
15261         * src/xdisp.c (message_to_stderr): New function, refactored from
15262         part of ‘message3_nolog’.
15263         (message3_nolog): Use it.
15264         (message_with_string): Use it.  Don’t mishandle NUL bytes when
15265         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
15266         Use ‘format-message’, not ‘format’, so that quotes are translated.
15268 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
15270         Mention false positives of file-accessible-directory on w32
15271         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
15272         (Bug#21346)
15274 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15276         Treat error strings as help
15277         * src/print.c (print_error_message): Translate quotes and command
15278         keys in errmsg so that users see, e.g., "Symbol’s value as
15279         variable is void: foo" when text-quoting-style is curved.
15281 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
15283         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
15285 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15287         Top-level elisp files respect ‘text-quoting-style’
15288         In top-level elisp files, use format-message in diagnostic formats,
15289         so that they follow user preference as per ‘text-quoting-style’
15290         rather than being hard-coded to quote `like this'.
15291         * lisp/allout.el (allout-get-configvar-values):
15292         * lisp/apropos.el (apropos-symbols-internal):
15293         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
15294         (dired-do-create-files-regexp, dired-create-files-non-directory):
15295         * lisp/dired-x.el (dired-do-run-mail):
15296         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
15297         * lisp/disp-table.el (standard-display-european):
15298         * lisp/find-dired.el (find-dired):
15299         * lisp/forms.el (forms-mode):
15300         * lisp/ido.el (ido-buffer-internal):
15301         * lisp/info.el (Info-index-next):
15302         * lisp/outline.el (outline-invent-heading):
15303         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
15304         * lisp/proced.el (proced-log):
15305         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
15306         * lisp/recentf.el (recentf-open-files, recentf-save-list):
15307         * lisp/savehist.el (savehist-save):
15308         * lisp/server.el (server-ensure-safe-dir):
15309         * lisp/ses.el (ses-rename-cell):
15310         * lisp/simple.el (list-processes--refresh):
15311         * lisp/startup.el (command-line):
15312         * lisp/strokes.el (strokes-unset-last-stroke)
15313         (strokes-execute-stroke):
15314         Use format-message so that quotes are restyled.
15315         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
15316         Don’t quote ‘raised’.
15317         * lisp/descr-text.el (describe-char):
15318         * lisp/dirtrack.el (dirtrack-debug-message):
15319         * lisp/hexl.el (hexl-insert-multibyte-char):
15320         Apply substitute-command-keys to help string.
15321         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
15322         (wdired-do-perm-changes):
15323         Let dired-log do the formatting.
15325 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15327         Go back to grave quoting in Tramp
15328         * lisp/net/tramp-adb.el:
15329         * lisp/net/tramp-cache.el:
15330         * lisp/net/tramp-compat.el:
15331         * lisp/net/tramp-gvfs.el:
15332         * lisp/net/tramp-gw.el:
15333         * lisp/net/tramp-sh.el:
15334         * lisp/net/tramp-smb.el:
15335         * lisp/net/tramp.el:
15336         Stick with grave quoting in diagnostics strings.  This is more
15337         portable to older Emacs, desirable for Tramp.
15338         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
15339         for diagnostic that needs requoting.
15340         * lisp/net/tramp-compat.el (format-message):
15341         Fall back on simple ‘format’, since that’s good enough now.
15343         Go back to grave quoting in Gnus
15344         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
15345         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
15346         (gnus-agent-fetch-headers):
15347         * lisp/gnus/gnus-int.el (gnus-start-news-server):
15348         * lisp/gnus/gnus-registry.el:
15349         (gnus-registry--split-fancy-with-parent-internal)
15350         (gnus-registry-post-process-groups):
15351         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
15352         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
15353         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
15354         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
15355         * lisp/gnus/spam.el (spam-check-blackholes):
15356         Stick with grave quoting in diagnostics strings.  This is more
15357         portable to older Emacs, desirable for Gnus.
15359         Fix customization of text-quoting-style
15360         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
15361         * lisp/wid-edit.el (widget-docstring):
15362         Get raw docstring here since it’s cooked later and should not be
15363         cooked twice.
15364         * lisp/cus-edit.el (custom-group-value-create):
15365         Cook the docstring before inserting it.
15366         * lisp/cus-start.el (text-quoting-style): Quote the customization
15367         docstrings according to the new rules.  Give curved examples.
15369         format-message now curves ` and '
15370         That way, the caller doesn’t have to use curved quotes to
15371         get diagnostics that match the text-quoting-style preferences.
15372         Suggested by Dmitry Gutov in:
15373         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
15374         This means we no longer need %qs, so remove that format.
15375         While we’re at it, fix an unlikely bug and lessen the pressure
15376         on the garbage collector by processing the string once rather
15377         than twice in the usual case.
15378         * doc/lispref/strings.texi (Formatting Strings):
15379         * etc/NEWS: Document this.
15380         * lisp/subr.el (format-message): Remove; now done in C.
15381         * src/callint.c (Fcall_interactively):
15382         * src/editfns.c (Fmessage, Fmessage_box):
15383         Use Fformat_message instead of Finternal__text_restyle
15384         followed by Fformat.
15385         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
15386         uLSQM and uRSQM.
15387         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
15388         when pure ASCII now suffices.  Fix unlikely bug when parsing
15389         unibyte string containing non-ASCII bytes.  Use inline code
15390         rather than memcpy, as it’s a tiny number of bytes.
15391         (Finternal__text_restyle): Remove; no longer used.
15392         (syms_of_doc): Don’t declare it.
15393         * src/editfns.c (Fformat): Rewrite in terms of new function
15394         ‘styled_format’.
15395         (Fformat_message): New function, moved here from subr.el.
15396         (styled_format): New function, with the old guts of Fformat,
15397         except it now optionally transliterates quotes, and it transliterates
15398         traditional grave accent and apostrophe quoting as well.
15399         Remove recently-added q flag; no longer needed or used.
15400         (syms_of_editfns): Define format-message.
15401         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
15402         Remove; no longer need to be global symbols.
15403         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
15404         so that callers can use `%s'.
15405         * src/image.c (image_size_error, xbm_load_image, xbm_load)
15406         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
15407         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
15408         (svg_load_image, gs_load, x_kill_gs_process):
15409         * src/lread.c (load_warn_old_style_backquotes):
15410         * src/xfaces.c (load_pixmap):
15411         * src/xselect.c (x_clipboard_manager_error_1):
15412         Use `%s' instead of %qs in formats.
15414 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
15416         Minor fixes in doc/emacs/search.texi
15417         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
15418         (Special Isearch): Use @w{} to generate several consecutive spaces
15419         with Texinfo 6.  (Bug#21345)
15421 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
15423         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
15424         (tramp-awk-coding-test): New defconsts.
15425         (tramp-remote-coding-commands): Use them.
15426         (tramp-find-inline-encoding): Check for Perl only if necessary.
15428 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
15430         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
15431         index entries for the special form `quote'.
15433 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15435         Spelling fixes
15437         Gnus format-message typo fix
15438         * lisp/gnus/gnus-util.el (gnus-format-message):
15439         Fix typo when running in older Emacs.
15441         Prefer directed to neutral quotes in docstings and diagnostics.
15442         In docstrings, escape apostrophes that would otherwise be translated
15443         to curved quotes using the newer, simpler rules.
15444         * admin/unidata/unidata-gen.el (unidata-gen-table):
15445         * lisp/align.el (align-region):
15446         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
15447         * lisp/bookmark.el (bookmark-default-annotation-text):
15448         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
15449         * lisp/calc/calc-lang.el (math-read-giac-subscr)
15450         (math-read-math-subscr):
15451         * lisp/calc/calc-misc.el (report-calc-bug):
15452         * lisp/calc/calc-prog.el (calc-fix-token-name)
15453         (calc-read-parse-table-part):
15454         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
15455         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
15456         * lisp/dabbrev.el (dabbrev-expand):
15457         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
15458         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
15459         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
15460         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
15461         * lisp/erc/erc-button.el (erc-nick-popup):
15462         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
15463         * lisp/eshell/em-dirs.el (eshell/cd):
15464         * lisp/eshell/em-glob.el (eshell-glob-regexp):
15465         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
15466         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
15467         * lisp/eshell/esh-opt.el (eshell-show-usage):
15468         * lisp/files-x.el (modify-file-local-variable):
15469         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
15470         (filesets-update-pre010505):
15471         * lisp/find-cmd.el (find-generic, find-to-string):
15472         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
15473         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
15474         (gnus-agent-fetch-headers):
15475         * lisp/gnus/gnus-int.el (gnus-start-news-server):
15476         * lisp/gnus/gnus-registry.el:
15477         (gnus-registry--split-fancy-with-parent-internal):
15478         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
15479         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
15480         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
15481         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
15482         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
15483         * lisp/gnus/spam.el (spam-check-blackholes):
15484         * lisp/mail/feedmail.el (feedmail-run-the-queue):
15485         * lisp/mpc.el (mpc-playlist-rename):
15486         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
15487         * lisp/net/mairix.el (mairix-widget-create-query):
15488         * lisp/net/tramp-cache.el:
15489         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
15490         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
15491         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
15492         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
15493         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
15494         (org-babel-goto-named-result):
15495         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
15496         * lisp/org/ob-ref.el (org-babel-ref-resolve):
15497         * lisp/org/org-agenda.el (org-agenda-prepare):
15498         * lisp/org/org-bibtex.el (org-bibtex-fields):
15499         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
15500         (org-clock-resolve):
15501         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
15502         * lisp/org/org-habit.el (org-habit-parse-todo):
15503         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
15504         (org-mouse-context-menu):
15505         * lisp/org/org-table.el (org-table-edit-formulas):
15506         * lisp/org/ox.el (org-export-async-start):
15507         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
15508         (dun-rooms, dun-endgame-questions):
15509         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
15510         * lisp/progmodes/ada-xref.el (ada-find-executable):
15511         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
15512         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
15513         (flymake-start-syntax-check-process):
15514         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
15515         * lisp/progmodes/sql.el (sql-comint):
15516         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
15517         * lisp/server.el (server-get-auth-key):
15518         * lisp/subr.el (version-to-list):
15519         * lisp/textmodes/reftex-ref.el (reftex-label):
15520         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
15521         * lisp/vc/ediff-diff.el (ediff-same-contents):
15522         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
15523         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
15524         Use directed rather than neutral quotes in diagnostics.
15526         Treat ' like ’ even when not matching `
15527         This is simpler and easier to explain, and should encourage better
15528         typography.  Do this in Electric Quote mode and when translating
15529         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
15530         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
15531         * doc/emacs/text.texi (Quotation Marks):
15532         * doc/lispref/help.texi (Keys in Documentation):
15533         * etc/NEWS:
15534         Document this.
15535         * lisp/electric.el (electric-quote-post-self-insert-function):
15536         * src/doc.c (Fsubstitute_command_keys):
15537         Always treat ' like ’ even when not matched by an open quote.
15539 2015-08-25  Glenn Morris  <rgm@gnu.org>
15541         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
15542         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
15544 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
15546         * src/macfont.m (macfont_create_family_with_symbol):
15547         Accept localized names.
15549 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15551         Tramp diagnostics as per ‘text-quoting-style’
15552         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
15553         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
15554         (tramp-adb-handle-delete-directory)
15555         (tramp-adb-handle-delete-file)
15556         (tramp-adb-handle-file-local-copy)
15557         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
15558         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
15559         (tramp-adb-maybe-open-connection):
15560         * lisp/net/tramp-cache.el:
15561         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
15562         (tramp-compat-octal-to-decimal)
15563         (tramp-compat-coding-system-change-eol-conversion):
15564         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
15565         (tramp-gvfs-do-copy-or-rename-file)
15566         (tramp-gvfs-handle-delete-directory)
15567         (tramp-gvfs-handle-delete-file)
15568         (tramp-gvfs-handle-expand-file-name)
15569         (tramp-gvfs-handle-file-local-copy)
15570         (tramp-gvfs-handle-file-notify-add-watch)
15571         (tramp-gvfs-handle-make-directory)
15572         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
15573         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
15574         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
15575         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
15576         (tramp-sh-handle-set-visited-file-modtime)
15577         (tramp-sh-handle-set-file-modes)
15578         (tramp-sh-handle-file-name-all-completions)
15579         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
15580         (tramp-do-copy-or-rename-file-directly)
15581         (tramp-do-copy-or-rename-file-out-of-band)
15582         (tramp-sh-handle-make-directory)
15583         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
15584         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
15585         (tramp-sh-handle-start-file-process)
15586         (tramp-sh-handle-file-local-copy)
15587         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
15588         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
15589         (tramp-find-file-exists-command, tramp-open-shell)
15590         (tramp-find-shell)
15591         (tramp-open-connection-setup-interactive-shell)
15592         (tramp-find-inline-encoding, tramp-find-inline-compress)
15593         (tramp-compute-multi-hops, tramp-maybe-open-connection)
15594         (tramp-wait-for-output, tramp-send-command-and-check)
15595         (tramp-send-command-and-read, tramp-get-remote-path)
15596         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
15597         (tramp-get-ls-command-with-quoting-style)
15598         (tramp-get-test-command, tramp-get-remote-ln)
15599         (tramp-get-remote-perl, tramp-get-remote-stat)
15600         (tramp-get-remote-readlink, tramp-get-remote-trash)
15601         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
15602         (tramp-get-remote-inotifywait, tramp-get-remote-id)
15603         (tramp-get-remote-python):
15604         * lisp/net/tramp-smb.el (tramp-smb-errors)
15605         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
15606         (tramp-smb-handle-delete-directory)
15607         (tramp-smb-handle-delete-file)
15608         (tramp-smb-handle-file-local-copy)
15609         (tramp-smb-handle-make-directory)
15610         (tramp-smb-handle-make-directory-internal)
15611         (tramp-smb-handle-make-symbolic-link)
15612         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
15613         (tramp-smb-handle-set-file-modes)
15614         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
15615         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
15616         (tramp-process-actions):
15617         Generate diagnostics according to ‘text-quoting-style’, by
15618         using curved quotes in format strings and ‘format-message’
15619         when appropriate.
15620         * lisp/net/tramp-compat.el (format-message):
15621         Define a replacement, if it’s an older version of Emacs
15622         that doesn’t have it already.
15624         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
15626 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
15628         Fix documentation for `save-excursion'
15629         * doc/lispref/positions.texi (Excursions):
15630         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
15631         (Template for save-excursion, Point and mark): `save-excursion'
15632         does not save&restore the mark any more.
15634 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
15636         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
15637         New defconsts.
15638         (tramp-do-file-attributes-with-stat)
15639         (tramp-do-directory-files-and-attributes-with-stat): Use them.
15640         (tramp-convert-file-attributes): Remove double slashes in symlinks.
15641         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
15642         Handle symlinks with "//" in the file name.
15644         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
15646 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
15648         Fix cl-subseq and cl-concatenate
15649         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
15650         seq functions.
15651         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
15652         seq-concatenate.
15654 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
15656         Fix full-screen code when there is no window manager (Bug#21317)
15657         * src/xterm.h (x_wm_supports): Declare external.
15658         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
15659         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
15660         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
15661         `fullscreen' frame parameter.
15662         * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running
15663         without a window manager.
15665 2015-08-24  Glenn Morris  <rgm@gnu.org>
15667         * lisp/version.el (emacs-version): No longer include build host.
15668         * doc/lispref/intro.texi (Version Info): Update example.
15670 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15672         * doc/lispref/elisp.texi: Fix typo in previous change.
15674         More-conservative ‘format’ quote restyling
15675         Instead of restyling curved quotes for every call to ‘format’,
15676         create a new function ‘format-message’ that does the restyling,
15677         and using the new function instead of ‘format’ only in contexts
15678         where this seems appropriate.
15679         Problem reported by Dmitry Gutov and Andreas Schwab in:
15680         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
15681         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
15682         * doc/lispref/commands.texi (Using Interactive):
15683         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
15684         * doc/lispref/display.texi (Displaying Messages, Progress):
15685         * doc/lispref/elisp.texi:
15686         * doc/lispref/help.texi (Keys in Documentation):
15687         * doc/lispref/minibuf.texi (Minibuffer Misc):
15688         * doc/lispref/strings.texi (Formatting Strings):
15689         * etc/NEWS:
15690         Document the changes.
15691         * lisp/abbrev.el (expand-region-abbrevs):
15692         * lisp/apropos.el (apropos-library):
15693         * lisp/calc/calc-ext.el (calc-record-message)
15694         (calc-user-function-list):
15695         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
15696         * lisp/calc/calc-lang.el (math-read-big-balance):
15697         * lisp/calc/calc-store.el (calc-edit-variable):
15698         * lisp/calc/calc-units.el (math-build-units-table-buffer):
15699         * lisp/calc/calc-yank.el (calc-edit-mode):
15700         * lisp/calendar/icalendar.el (icalendar-export-region)
15701         (icalendar--add-diary-entry):
15702         * lisp/cedet/mode-local.el (mode-local-print-binding)
15703         (mode-local-describe-bindings-2):
15704         * lisp/cedet/semantic/complete.el (semantic-completion-message):
15705         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
15706         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
15707         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
15708         * lisp/descr-text.el (describe-text-properties-1, describe-char):
15709         * lisp/dframe.el (dframe-message):
15710         * lisp/dired-aux.el (dired-query):
15711         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
15712         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
15713         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
15714         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
15715         (cconv-analyze-form):
15716         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
15717         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
15718         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
15719         * lisp/emacs-lisp/edebug.el (edebug-format):
15720         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
15721         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
15722         (eldoc-message):
15723         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
15724         * lisp/emacs-lisp/find-func.el (find-function-library):
15725         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
15726         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
15727         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
15728         * lisp/emacs-lisp/package.el (package-compute-transaction)
15729         (package-install-button-action, package-delete-button-action)
15730         (package-menu--list-to-prompt):
15731         * lisp/emacs-lisp/timer.el (timer-event-handler):
15732         * lisp/emacs-lisp/warnings.el (lwarn, warn):
15733         * lisp/emulation/viper-cmd.el:
15734         (viper-toggle-parse-sexp-ignore-comments)
15735         (viper-kill-buffer, viper-brac-function):
15736         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
15737         * lisp/facemenu.el (facemenu-add-new-face):
15738         * lisp/faces.el (face-documentation, read-face-name)
15739         (face-read-string, read-face-font, describe-face):
15740         * lisp/files.el (find-alternate-file, hack-local-variables)
15741         (hack-one-local-variable--obsolete, write-file)
15742         (basic-save-buffer, delete-directory):
15743         * lisp/format.el (format-write-file, format-find-file)
15744         (format-insert-file):
15745         * lisp/help-fns.el (help-fns--key-bindings)
15746         (help-fns--compiler-macro, help-fns--obsolete)
15747         (help-fns--interactive-only, describe-function-1)
15748         (describe-variable):
15749         * lisp/help.el (describe-mode):
15750         * lisp/info-xref.el (info-xref-output):
15751         * lisp/info.el (Info-virtual-index-find-node)
15752         (Info-virtual-index, info-apropos):
15753         * lisp/international/kkc.el (kkc-error):
15754         * lisp/international/mule-cmds.el:
15755         (select-safe-coding-system-interactively)
15756         (select-safe-coding-system, describe-input-method):
15757         * lisp/international/mule-conf.el (code-offset):
15758         * lisp/international/mule-diag.el (describe-character-set)
15759         (list-input-methods-1):
15760         * lisp/international/quail.el (quail-error):
15761         * lisp/minibuffer.el (minibuffer-message):
15762         * lisp/mpc.el (mpc--debug):
15763         * lisp/msb.el (msb--choose-menu):
15764         * lisp/net/ange-ftp.el (ange-ftp-message):
15765         * lisp/net/gnutls.el (gnutls-message-maybe):
15766         * lisp/net/newst-backend.el (newsticker--sentinel-work):
15767         * lisp/net/newst-treeview.el (newsticker--treeview-load):
15768         * lisp/net/nsm.el (nsm-query-user):
15769         * lisp/net/rlogin.el (rlogin):
15770         * lisp/net/soap-client.el (soap-warning):
15771         * lisp/net/tramp.el (tramp-debug-message):
15772         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
15773         * lisp/nxml/nxml-parse.el (nxml-parse-error):
15774         * lisp/nxml/rng-cmpct.el (rng-c-error):
15775         * lisp/nxml/rng-match.el (rng-compile-error):
15776         * lisp/nxml/rng-uri.el (rng-uri-error):
15777         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
15778         * lisp/org/org-ctags.el:
15779         (org-ctags-ask-rebuild-tags-file-then-find-tag):
15780         * lisp/proced.el (proced-log):
15781         * lisp/progmodes/ebnf2ps.el (ebnf-log):
15782         * lisp/progmodes/flymake.el (flymake-log):
15783         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
15784         * lisp/replace.el (occur-1):
15785         * lisp/simple.el (execute-extended-command)
15786         (undo-outer-limit-truncate, define-alternatives):
15787         * lisp/startup.el (command-line):
15788         * lisp/subr.el (error, user-error, add-to-list):
15789         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
15790         (tutorial--find-changed-keys):
15791         * src/callint.c (Fcall_interactively):
15792         * src/editfns.c (Fmessage, Fmessage_box):
15793         Restyle the quotes of format strings intended for use as a
15794         diagnostic, when restyling seems appropriate.
15795         * lisp/subr.el (format-message): New function.
15796         * src/doc.c (Finternal__text_restyle): New function.
15797         (syms_of_doc): Define it.
15799 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15801         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
15803 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15805         python.el: Fix python-shell-buffer-substring on indented code
15806         (Bug#21086)
15807         * lisp/progmodes/python.el (python-shell-buffer-substring):
15808         Respect current line indentation when calculating string.
15809         * test/automated/python-tests.el
15810         (python-shell-buffer-substring-10)
15811         (python-shell-buffer-substring-11)
15812         (python-shell-buffer-substring-12): New tests.
15814 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15816         Fix minor glitches from ‘format’ reversion
15817         * doc/lispref/strings.texi (Formatting Strings):
15818         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
15819         Documentation’, not below.
15820         * src/syntax.c (Finternal_describe_syntax_value):
15821         Prefer AUTO_STRING to build_string where either will do, as
15822         AUTO_STRING is a bit faster.
15824 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15826         python.el: Defer shell setup code until first interactive prompt
15827         * lisp/progmodes/python.el
15828         (python-shell-comint-watch-for-first-prompt-output-filter):
15829         New function.
15830         (inferior-python-mode): Use it.
15831         (python-shell-first-prompt-hook): New hook.
15832         (python-shell-send-setup-code)
15833         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
15834         this hook instead of inferior-python-hook.
15836 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
15838         Remove the calls to `seq-into` from `seq-concatenate`
15839         Since most new types of seq would have to be defined as sequences (cons
15840         cells or CL structs, mostly), there is no need to convert the seqs to
15841         sequences (which can be a fairly expensive operation).
15842         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
15843         sequences.
15845 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15847         python.el: Fix completion for pdb interactions
15848         * lisp/progmodes/python.el (python-shell-completion-setup-code):
15849         Simplify.  Toggle print_mode for native wrapped completer.
15850         (python-shell-completion-native-setup): Ensure process buffer.
15851         Add print_mode attribute to completer wrapper to toggle returning
15852         or printing candidates.
15853         (python-shell-completion-native-get-completions): Cleanup.
15854         (python-shell-completion-get-completions): Cleanup.
15855         (python-shell-completion-at-point): Perform prompt checks.
15856         Force fallback completion in pdb interactions.
15858 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
15860         Make seq.el more extensible by using cl-defmethod
15861         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
15862         make it easier to extend seq.el with new "seq types".
15863         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
15864         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
15865         subseq in cl-extra.el, and use it in seq.el.
15867 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15869         python.el: Fix prompt detection with user overridden interpreter
15870         * lisp/progmodes/python.el (python-shell-prompt-detect):
15871         Honor buffer local python-shell-interpreter and
15872         python-shell-interpreter-interactive-arg.
15874 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
15876         Support exec-directory with non-ASCII characters on Windows
15877         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
15878         in the system's ANSI codepage, when it is used for invoking
15879         cmdproxy.
15881 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
15883         Revert "Extend ‘format’ to translate curved quotes"
15884         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
15886         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
15887         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
15889 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
15891         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers):
15892         Clarify "invisible window".
15894 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
15896         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
15897         magic-fallback-mode-alist.
15899 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15901         python.el: fallback completion, ffap and eldoc setup enhancements
15902         Setup codes are now sent continuously so that the current frame is
15903         always taken into account.  This allows working within debuggers
15904         and always keeping a fresh version of setup codes that will return
15905         proper results.
15906         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
15907         (python-shell-send-setup-code): Send code only when
15908         python-shell-setup-codes is non-nil.
15909         (python-shell-completion-string-code): Cleanup trailing newline.
15910         (python-shell-completion-get-completions): Always use
15911         python-shell-completion-setup-code.
15912         (python-ffap-setup-code): Work with any object, not only modules.
15913         (python-ffap-string-code): Cleanup trailing newline.
15914         (python-ffap-module-path): Always use python-ffap-setup-code.
15915         (python-eldoc-string-code): Cleanup trailing newline.
15916         (python-eldoc--get-doc-at-point): Always use
15917         python-eldoc-setup-code.  Return non-nil only if docstring is
15918         found.
15920         python.el: Increase native completion robustness
15921         * lisp/progmodes/python.el (python-shell-completion-native-setup):
15922         Make completer print real candidates and just return dummy ones to
15923         avoid input modification.
15924         (python-shell-completion-native-get-completions): Set
15925         comint-redirect-insert-matching-regexp to non-nil and make
15926         comint-redirect-finished-regexp match the last dummy candidate.
15927         Use python-shell-accept-process-output to wait for the full list
15928         of candidates.
15930 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
15932         Fix invocation of programs via cmdproxy.exe
15933         * src/w32proc.c (sys_spawnve): Use exec-directory, not
15934         invocation-directory, for finding cmdproxy.exe.  When Emacs is
15935         run from the source tree, look for cmdproxy.exe in the same source
15936         tree.  (Bug#21323)
15938 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
15940         Handle comments inside unquoted URIs in css-mode
15941         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
15942         (css-syntax-propertize-function): New defconst.
15943         (css--font-lock-keywords): Handle parens around unquoted URIs.
15944         (css-mode): Set `syntax-propertize-function'.
15946 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
15948         Support invocation of Hunspell with multiple dictionaries
15949         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file):
15950         Support lists of dictionaries of the form "DICT1,DICT2,...".
15951         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
15953         Minor formatting changes in ispell.el
15954         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
15955         (ispell-print-if-debug, ispell-aspell-find-dictionary)
15956         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
15957         (ispell-hunspell-dictionary-alist)
15958         (ispell-hunspell-fill-dictionary-entry)
15959         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
15960         (ispell-buffer-with-debug, ispell-complete-word)
15961         (ispell-current-dictionary, ispell-current-personal-dictionary)
15962         (ispell-accept-output, ispell-minor-mode)
15963         (ispell-personal-dictionary, ispell-dictionary-alist)
15964         (ispell-really-aspell, ispell-really-hunspell)
15965         (ispell-encoding8-command, ispell-aspell-supports-utf8)
15966         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
15967         Fix whitespace, inconsistent capitalization, and arguments in doc
15968         strings.
15970 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
15972         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
15973         function refused to resize a size-preserved window.
15975 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
15977         * doc/lispref/windows.texi (Selecting Windows): Improve
15978         documentation and indexing of 'window-use-time'.
15980 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15982         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
15983         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
15984         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
15985         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
15986         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
15987         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
15988         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
15989         Fix up commenting style.
15991 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15993         text-quoting-style in emacs-lisp diagnostics
15994         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
15995         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
15996         (ad-disable-advice, ad-remove-advice, ad-set-argument)
15997         (ad-set-arguments):
15998         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
15999         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
16000         (byte-optimize-while, byte-optimize-apply):
16001         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
16002         (byte-compile-log-file, byte-compile-format-warn)
16003         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
16004         (byte-compile-cl-warn)
16005         (byte-compile-warn-about-unresolved-functions)
16006         (byte-compile-file, byte-compile-fix-header)
16007         (byte-compile--declare-var, byte-compile-file-form-defmumble)
16008         (byte-compile-form, byte-compile-normal-call)
16009         (byte-compile-variable-ref, byte-compile-variable-set)
16010         (byte-compile-subr-wrong-args, byte-compile-setq-default)
16011         (byte-compile-negation-optimizer)
16012         (byte-compile-condition-case--old)
16013         (byte-compile-condition-case--new, byte-compile-save-excursion)
16014         (byte-compile-defvar, byte-compile-autoload)
16015         (byte-compile-lambda-form)
16016         (byte-compile-make-variable-buffer-local, display-call-tree)
16017         (batch-byte-compile):
16018         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
16019         (cconv-analyze-form):
16020         * lisp/emacs-lisp/chart.el (chart-space-usage):
16021         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
16022         (check-declare-warn, check-declare-file)
16023         (check-declare-directory):
16024         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
16025         (checkdoc-message-text-engine):
16026         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
16027         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
16028         (cl-symbol-macrolet):
16029         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
16030         * lisp/emacs-lisp/copyright.el (copyright)
16031         (copyright-update-directory):
16032         * lisp/emacs-lisp/edebug.el (edebug-read-list):
16033         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
16034         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
16035         (eieio-oref, eieio-oset-default):
16036         * lisp/emacs-lisp/eieio-speedbar.el:
16037         (eieio-speedbar-child-make-tag-lines)
16038         (eieio-speedbar-child-description):
16039         * lisp/emacs-lisp/eieio.el (defclass, change-class):
16040         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
16041         (elint-init-form, elint-check-defalias-form)
16042         (elint-check-let-form):
16043         * lisp/emacs-lisp/ert.el (ert-get-test):
16044         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
16045         (find-function-library):
16046         * lisp/emacs-lisp/generator.el (iter-yield):
16047         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
16048         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
16049         * lisp/emacs-lisp/package-x.el (package-upload-file):
16050         * lisp/emacs-lisp/package.el (package-version-join)
16051         (package-disabled-p, package-activate-1, package-activate)
16052         (package--download-one-archive)
16053         (package--download-and-read-archives)
16054         (package-compute-transaction, package-install-from-archive)
16055         (package-install, package-install-selected-packages)
16056         (package-delete, package-autoremove)
16057         (package-install-button-action, package-delete-button-action)
16058         (package-menu-hide-package, package-menu--list-to-prompt)
16059         (package-menu--perform-transaction)
16060         (package-menu--find-and-notify-upgrades):
16061         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
16062         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
16063         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
16064         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
16065         * lisp/emacs-lisp/smie.el (smie-config-save):
16066         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
16067         * lisp/emacs-lisp/testcover.el (testcover-1value):
16068         Use curved quotes in diagnostic format strings.
16070 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
16072         python.el: Ensure remote process-environment on non-interactive processes
16073         * lisp/progmodes/python.el
16074         (python-shell-tramp-refresh-process-environment): New function.
16075         (python-shell-with-environment): Use it.
16076         * test/automated/python-tests.el (python-shell-with-environment-2):
16077         Update.
16079         python.el: Enhancements to process environment setup.
16080         * lisp/progmodes/python.el (python-shell-process-environment)
16081         (python-shell-extra-pythonpaths, python-shell-exec-path)
16082         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
16083         (python-shell-setup-codes): Remove :safe.
16084         (python-shell-remote-exec-path): New defcustom.
16085         (python-shell--add-to-path-with-priority): New macro.
16086         (python-shell-calculate-pythonpath): Give priority to
16087         python-shell-extra-pythonpaths.  Update docstring.
16088         (python-shell-calculate-process-environment): Give priority to
16089         python-shell-process-environment.  Update docstring.
16090         (python-shell-calculate-exec-path): Give priority to
16091         python-shell-exec-path and calculated virtualenv bin directory.
16092         Update docstring.
16093         (python-shell-tramp-refresh-remote-path): New function.
16094         (python-shell-with-environment): Use it when working remotely and
16095         do not modify tramp-remote-path.  Allow nesting.
16096         (python-shell-calculate-command): Remove useless
16097         python-shell-with-environment call.
16098         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
16099         (python-shell-calculate-pythonpath-2)
16100         (python-shell-calculate-process-environment-6)
16101         (python-shell-calculate-process-environment-7)
16102         (python-shell-calculate-process-environment-8)
16103         (python-shell-calculate-exec-path-3)
16104         (python-shell-calculate-exec-path-4)
16105         (python-shell-calculate-exec-path-5)
16106         (python-shell-calculate-exec-path-6)
16107         (python-shell-with-environment-3): New tests.
16108         (python-shell-calculate-process-environment-2)
16109         (python-shell-calculate-process-environment-3)
16110         (python-shell-calculate-process-environment-4)
16111         (python-shell-calculate-process-environment-5)
16112         (python-shell-calculate-exec-path-1)
16113         (python-shell-calculate-exec-path-2)
16114         (python-shell-with-environment-1)
16115         (python-shell-with-environment-2): Update and simplify.
16117 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16119         Avoid hard-coding "M-x command" in docstrings
16120         * lisp/calendar/todo-mode.el (todo-mode):
16121         * lisp/desktop.el (desktop-save-mode):
16122         * lisp/edmacro.el (edit-kbd-macro):
16123         * lisp/emacs-lisp/package.el (package-menu-execute):
16124         * lisp/emulation/viper-cmd.el (viper-ask-level):
16125         * lisp/emulation/viper-init.el (viper-expert-level):
16126         * lisp/filesets.el (filesets-add-buffer):
16127         * lisp/follow.el (follow-mode):
16128         * lisp/gnus/auth-source.el (auth-sources):
16129         * lisp/international/ogonek.el (ogonek-informacja)
16130         (ogonek-information):
16131         * lisp/net/tramp.el (tramp-process-actions):
16132         * lisp/org/org-gnus.el (org-gnus-no-new-news):
16133         * lisp/org/org.el (org-ellipsis):
16134         * lisp/progmodes/python.el (python-shell-get-process-or-error):
16135         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
16136         * lisp/server.el (server-start):
16137         * lisp/type-break.el (type-break-noninteractive-query):
16138         * lisp/userlock.el (ask-user-about-supersession-help):
16139         * lisp/whitespace.el (whitespace-report-region):
16140         Prefer (substitute-command-keys "`\\[foo-command]'")
16141         to "`M-x foo-command'" in docstrings and the like.
16143 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
16145         Use add-function for prettify-symbols-compose-predicate
16146         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
16147         prettify-symbols-compose-predicate in terms of add-function.
16148         * etc/NEWS: Mention prettify-symbols-compose-predicate and
16149         prettify-symbols-mode support in tex-mode.
16151 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16153         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun.
16154         (smie-indent-exps, smie-indent-keyword): Use it.
16155         * test/indent/css-mode.css: Test alignment with leading comment.
16157 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16159         Respect text-quoting-style in (*Finder*) menus
16160         * lisp/info.el (info--prettify-description):
16161         Treat description as a docstring, so that it's requoted as
16162         per text-quoting-style.
16164 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
16166         Document `window-use-time' in Elisp manual
16167         * doc/lispref/windows.texi (Selecting Windows): Document
16168         `window-use-time'.
16170 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16172         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.
16173         This is a cleaner fix for Bug#21260 than the previous change.
16175 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16177         Respect text-quoting-style in calc
16178         In calc, tespect text-quoting-style preference in diagnostic
16179         formats and fix a few similar problems in docstrings.
16180         * lisp/calc/calc-aent.el (math-read-factor):
16181         * lisp/calc/calc-embed.el (calc-do-embedded):
16182         * lisp/calc/calc-ext.el (calc-user-function-list)
16183         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
16184         * lisp/calc/calc-help.el (calc-describe-key)
16185         (calc-describe-thing):
16186         * lisp/calc/calc-lang.el (calc-c-language)
16187         (math-parse-fortran-vector-end, math-parse-tex-sum)
16188         (math-parse-eqn-matrix, math-parse-eqn-prime)
16189         (calc-yacas-language, calc-maxima-language, calc-giac-language)
16190         (math-read-big-rec, math-read-big-balance):
16191         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
16192         (calc-auto-recompute):
16193         * lisp/calc/calc-prog.el (calc-user-define-invocation)
16194         (math-do-arg-check):
16195         * lisp/calc/calc-store.el (calc-edit-variable):
16196         * lisp/calc/calc-units.el (math-build-units-table-buffer):
16197         * lisp/calc/calc-vec.el (math-read-brackets):
16198         * lisp/calc/calc-yank.el (calc-edit-mode):
16199         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
16200         Use curved quotes in diagnostic format strings.
16201         * lisp/calc/calc-help.el (calc-describe-thing):
16202         Format docstrings with substitute-command-keys.
16203         * lisp/calc/calc-help.el (calc-j-prefix-help):
16204         * lisp/calc/calc-misc.el (calc-help):
16205         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
16206         Escape a docstring "`".
16208 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16210         Fix documentation of 'menu-set-font' and 'set-frame-font'
16211         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
16212         * doc/lispref/frames.texi (Frame Font): Document that
16213         set-frame-font with the last argument 't' will also make the font
16214         the default for the future GUI frames.
16216         Document '--create-frame' option to emacsclient
16217         * doc/emacs/misc.texi (emacsclient Options): Document the
16218         '--create-frame' option.  (Bug#21308)
16220 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16222         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
16224 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16226         Document 'get-mru-window' in the ELisp manual
16227         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
16228         'get-mru-window'.  (Bug#21306)
16230         Clarify documentation of 'get-buffer-window-list'
16231         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
16232         current window, if relevant, will be the first in the list
16233         returned by 'get-buffer-window-list'.
16234         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
16236 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
16238         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
16239         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
16240         `switch-to-buffer'.
16242 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
16244         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
16245         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
16246         `display-buffer' instead of `switch-to-buffer'.
16248 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16250         Follow user preference in calendar diagnostics
16251         Respect text-quoting-style preference in diagnostic formats by
16252         using curved quotes (which are translated as per text-quoting-style)
16253         instead of grave accent and apostrophe (which are not).
16254         * lisp/calendar/appt.el (appt-display-message):
16255         * lisp/calendar/diary-lib.el (diary-check-diary-file)
16256         (diary-mail-entries, diary-from-outlook):
16257         * lisp/calendar/icalendar.el (icalendar-export-region)
16258         (icalendar--convert-float-to-ical)
16259         (icalendar--convert-date-to-ical)
16260         (icalendar--convert-ical-to-diary)
16261         (icalendar--convert-recurring-to-diary)
16262         (icalendar--add-diary-entry):
16263         * lisp/calendar/time-date.el (format-seconds):
16264         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
16265         (timeclock-make-hours-explicit):
16266         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
16267         (todo-item-mark, todo-check-format)
16268         (todo-insert-item--next-param, todo-edit-item--next-key)
16269         (todo-mode):
16270         Use curved quotes in diagnostic format strings.
16271         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
16272         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
16273         Just use straight quoting for simple test case.
16275 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
16277         * src/gfilenotify.c (Fgfile_add_watch):
16278         Handle errors from g_file_monitor.
16280 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
16282         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
16283         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
16284         frame" instead of "non-minibuffer frame".
16286         Fix frame geometry related text
16287         * doc/lispref/frames.texi (Frame Layout):
16288         Rename `x-frame-geometry' to `frame-geometry'.
16289         * doc/lispref/frames.texi (Mouse Position):
16290         * doc/lispref/windows.texi (Coordinates and Windows):
16291         Use `set-mouse-absolute-pixel-position' instead of
16292         `x-set-mouse-absolute-pixel-position'.
16294         Sanitize frame geometry related functions
16295         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
16296         (Fx_frame_edges): Rename to Fns_frame_edges.
16297         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
16298         (Fx_frame_edges): Rename to Fw32_frame_edges.
16299         (Fx_mouse_absolute_pixel_position): Rename to
16300         Fw32_mouse_absolute_pixel_position.
16301         (Fx_set_mouse_absolute_pixel_position): Rename to
16302         Fw32_set_mouse_absolute_pixel_position.
16303         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
16304         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
16305         (ns-frame-edges, w32-mouse-absolute-pixel-position)
16306         (x-mouse-absolute-pixel-position)
16307         (w32-set-mouse-absolute-pixel-position)
16308         (x-set-mouse-absolute-pixel-position): Declare.
16309         (frame-geometry, mouse-absolute-pixel-position)
16310         (set-mouse-absolute-pixel-position): New functions.
16311         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
16313 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16315         Fix MinGW64 build broken by latest w32uniscribe.c changes
16316         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
16317         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
16318         (Bug#21260)
16320 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
16322         Add TeX defaults for prettify-symbol-mode
16323         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
16324         Rename from tex-prettify-symbols-alist.
16325         (tex--prettify-symbols-compose-p): New function.
16326         (tex-common-initialization): Use them as prettify-symbols-alist
16327         and prettify-symbols-compose-predicate.
16329         Generalize prettify-symbols to arbitrary modes
16330         * lisp/progmodes/prog-mode.el
16331         (prettify-symbols-default-compose-p): New function.
16332         (prettify-symbols-compose-predicate): New variable.
16333         (prettify-symbols--compose-symbol): Use it.
16335 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16337         Don't quote symbols 'like-this' in docstrings etc.
16338         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
16339         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
16340         * lisp/allout.el (allout-add-resumptions, allout-mode):
16341         * lisp/calculator.el (calculator-operators):
16342         * lisp/cedet/data-debug.el (dd-propertize):
16343         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
16344         * lisp/cedet/semantic/analyze/debug.el:
16345         (semantic-analyzer-debug-global-miss-text):
16346         * lisp/cedet/semantic/lex-spp.el:
16347         (semantic-lex-spp-replace-or-symbol-or-keyword):
16348         * lisp/cedet/semantic/symref.el:
16349         (semantic-symref-cleanup-recent-buffers-fcn):
16350         * lisp/cedet/semantic/tag.el (semantic-tag-class):
16351         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
16352         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
16353         * lisp/gnus/pop3.el (pop3-authentication-scheme):
16354         * lisp/help-fns.el (describe-function-orig-buffer):
16355         * lisp/imenu.el (imenu--history-list):
16356         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
16357         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
16358         (feedmail-queue-default-file-slug)
16359         (feedmail-queue-buffer-file-name):
16360         * lisp/net/mairix.el (mairix-searches-mode-map):
16361         * lisp/net/newst-backend.el (newsticker-retrieval-method)
16362         (newsticker-auto-mark-filter-list):
16363         * lisp/obsolete/vi.el (vi-mode):
16364         * lisp/progmodes/cc-engine.el (c-literal-type):
16365         * lisp/progmodes/cpp.el (cpp-face):
16366         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
16367         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
16368         * lisp/progmodes/pascal.el (pascal-auto-lineup):
16369         * lisp/progmodes/prog-mode.el (prog-widen):
16370         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
16371         (verilog-auto-lineup, verilog-auto-reset-widths)
16372         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
16373         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
16374         (flyspell-maybe-correct-doubling):
16375         * lisp/textmodes/table.el (table-justify, table-justify-cell)
16376         (table-justify-row, table-justify-column, table-insert-sequence)
16377         (table--justify-cell-contents):
16378         * lisp/url/url-auth.el (url-get-authentication):
16379         * lisp/window.el (display-buffer-record-window):
16380         * lisp/xml.el (xml-parse-file, xml-parse-region):
16381         * src/gfilenotify.c (Fgfile_add_watch):
16382         Don't quote symbols with apostrophes in doc strings.
16383         Use asymmetric quotes instead.
16384         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
16385         Likewise for symbol in diagnostic.
16386         * lisp/image.el (image-extension-data):
16387         * lisp/register.el (frame-configuration-to-register):
16388         * src/buffer.c (syms_of_buffer):
16389         Remove bogus apostrophes after symbols.
16390         * lisp/thumbs.el (thumbs-conversion-program):
16391         Quote Lisp string values using double-quotes, not apostrophes.
16393 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
16395         Describe frame geometry and related functions in Elisp manual
16396         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
16397         (Showing Images): Update references.
16398         * doc/lispref/elisp.texi (Top): Update node listing.
16399         * doc/lispref/frames.texi (Frame Geometry): New node.
16400         Move `Size and Position' section here.
16401         (Size Parameters): Update references.
16402         (Mouse Position): Update references and nomenclature.
16403         Describe new functions `x-mouse-absolute-pixel-position' and
16404         `x-set-mouse-absolute-pixel-position'.
16405         * doc/lispref/windows.texi (Window Sizes): Update references.
16406         (Resizing Windows): Update references.  Move description of
16407         `fit-frame-to-buffer' here.
16408         (Coordinates and Windows): Update nomenclature and references.
16409         Describe new arguments of `window-edges'.  Comment out
16410         descriptions of `window-left-column', `window-top-line',
16411         `window-pixel-left' and `window-pixel-top'.  Describe
16412         `window-absolute-pixel-position'.
16414 2015-08-20  Alan Mackenzie  <acm@muc.de>
16416         Handling of `c-parse-state'.  Fix low level bug.
16417         * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards):
16418         Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
16420 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
16422         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
16423         window instead of deleting it.
16425 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
16427         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
16428         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
16429         determine whether frame has a titlebar.
16430         Suggested by Eli Zaretskii <eliz@gnu.org>
16432 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
16434         Add a prettify-symbols-alist for (La)TeX
16435         * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist):
16436         New variable holding an alist suitable as prettify-symbols-alist in
16437         (La)TeX modes.
16439 2015-08-19  Alan Mackenzie  <acm@muc.de>
16441         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
16442         Fixes debbugs#21275.
16443         In Emacs >= 25, let electric-pair-mode take precedence over
16444         delete-selection-mode.
16445         * lisp/delsel.el (delete-selection-uses-region-p): New function,
16446         previously a lambda expression in a property value for
16447         `self-insert-command'.
16448         (top-level): Set the `delete-selection' property of
16449         `self-insert-command' to `delete-selection-uses-region-p'.
16450         * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection'
16451         property for c-electric-\(brace\|paren\) the value
16452         `delete-selection-uses-region-p' when the latter function exists.
16454 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16456         Fix key binding quoting in tutorial *Help*
16457         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
16458         When generating help for custom key bindings, use the user-preferred
16459         quoting style rather than hardcoding the grave style.
16461 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
16463         Improve and future-proof OTF fonts support in w32uniscribe.c
16464         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
16465         about the expected results and why the new Uniscribe APIs are not
16466         used in this function.
16467         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
16468         (ScriptGetFontFeatureTags_Proc): New function typedefs.
16469         (uniscribe_new_apis): New static variable.
16470         (uniscribe_check_features): New function, implements OTF features
16471         verification while correctly accounting for features in the list
16472         after the nil member, if any.
16473         (uniscribe_check_otf_1): New function, retrieves the features
16474         supported by the font for the requested script and language using
16475         the Uniscribe APIs available from Windows Vista onwards.
16476         (uniscribe_check_otf): If the new Uniscribe APIs are available,
16477         use them in preference to reading the font data directly.  Call
16478         uniscribe_check_features to verify that the requested features are
16479         supported, replacing the original incomplete code.
16480         (syms_of_w32uniscribe): Initialize function pointers for the new
16481         Uniscribe APIs.  (Bug#21260)
16482         (otf_features): Scan the script, langsys, and feature arrays back
16483         to front, so that the result we return has them in alphabetical
16484         order, like ftfont.c does.
16485         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
16486         New variable for debugging w32uniscribe.c code.
16488 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
16490         * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87
16491         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
16492         clause of `isearch-search-fun-default'.  That lax variable does not
16493         refer to lax-whitespacing.  Related to (bug#21777).
16494         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
16495         * lisp/character-fold.el (character-fold-search): Set to nil.
16496         Default to nil for now, until someone implements proper
16497         lax-whitespacing with char-fold searching.
16499 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
16501         Fix doc-string of `help-mode-finish'.
16502         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
16504         In nsimage.m include coding.h (Bug#21292)
16505         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
16507         Move window edge functions to Elisp.
16508         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
16509         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
16510         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
16511         Move to window.el.
16512         (calc_absolute_offset): Remove.
16513         * lisp/frame.el (frame-edges): New function.
16514         * lisp/window.el (window-edges, window-pixel-edges)
16515         (window-absolute-pixel-edges): Move here from window.c.
16516         (window-body-edges, window-body-pixel-edges)
16517         (window-absolute-body-pixel-edges): Move here from window.c and
16518         rename "inside" to "body".  Keep old names as aliases.
16519         (window-absolute-pixel-position): New function.
16521 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
16523         [Gnus]: Use overlay functions directly
16524         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
16525         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
16526         (gnus-article-highlight-signature, gnus-article-extend-url-button)
16527         (gnus-article-add-button, gnus-insert-prev-page-button)
16528         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
16529         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
16530         (gnus-cite-add-face):
16531         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
16532         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
16533         (gnus-tree-recenter, gnus-highlight-selected-tree):
16534         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
16535         (gnus-summary-show-thread, gnus-summary-hide-thread)
16536         (gnus-highlight-selected-summary):
16537         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
16538         * lisp/gnus/message.el (message-fix-before-sending)
16539         (message-toggle-image-thumbnails):
16540         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
16541         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
16542         Use overlay functions directly instead of using gnus-overlay-*,
16543         message-overlay-*, and sieve-overlay-*.
16544         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
16545         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
16546         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
16547         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
16548         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
16549         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
16550         (message-overlay-get, message-overlay-put, message-overlays-in):
16551         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
16552         (sieve-overlays-at): Remove.
16554 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
16556         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version
16557         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
16558         builds can use the declaration from the system headers.
16559         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
16560         definition of TITLEBAR_INFO.
16561         Suggested by Eli Zaretskii  <eliz@gnu.org>
16563 2015-08-19  Glenn Morris  <rgm@gnu.org>
16565         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
16567 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16569         Use new q ‘format’ flag when fixing quotes in C
16570         * src/image.c (image_size_error): New function.  All uses of
16571         image_error with "Invalid image size ..."  changed to use it.
16572         * src/image.c (image_size_error, xbm_load_image, xbm_load)
16573         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
16574         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
16575         (imagemagick_load, svg_load, svg_load_image, gs_load)
16576         (x_kill_gs_process):
16577         * src/lread.c (load_warn_old_style_backquotes):
16578         * src/xfaces.c (load_pixmap):
16579         * src/xselect.c (x_clipboard_manager_error_1):
16580         Use %qs, not uLSQM and uRSQM.
16581         * src/syntax.c (Finternal_describe_syntax_value):
16582         Prefer Fsubstitute_command_keys to Fformat, as this lets
16583         us use AUTO_STRING.
16584         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
16585         as it's now guaranteed to be ASCII.
16586         * src/xselect.c (x_clipboard_manager_error_2):
16587         Avoid grave accent in low-level stderr diagnostic.
16589 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16591         New q flag for ‘format’
16592         * doc/lispref/processes.texi (Sentinels):
16593         Don't hardwire grave quoting style in example.
16594         * doc/lispref/strings.texi (Formatting Strings):
16595         * etc/NEWS:
16596         Document new q flag.
16597         * src/editfns.c (Fformat): Implement it.
16599 2015-08-18  Daiki Ueno  <ueno@gnu.org>
16601         pinentry.el: Add debugging support
16602         * lisp/net/pinentry.el (pinentry-debug): New variable.
16603         (pinentry-debug-buffer): New variable.
16604         (pinentry--process-filter): Send input to the debug buffer, if
16605         `pinentry-debug' is set.
16607         pinentry.el: Improve multiline prompt
16608         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
16609         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
16610         command.
16612 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
16614         Fix multibyte confusion in diagnostics
16615         * src/print.c (print_error_message):
16616         Don't assume that the caller's name is unibyte.
16617         * src/xdisp.c (vadd_to_log):
16618         Don't assume that the formatted diagnostic is unibyte.
16620         Fix file name encodings in diagnostics
16621         Also, close some minor races when opening image files, by opening
16622         them once instead of multiple times.
16623         * src/gtkutil.c (xg_get_image_for_pixmap):
16624         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
16625         (svg_load):
16626         * src/nsimage.m (allocInitFromFile:):
16627         * src/xfns.c (xg_set_icon):
16628         Encode file name, since x_find_image_file no longer does that.
16629         * src/image.c (x_find_image_fd): New function.
16630         (x_find_image_file): Use it.  Do not encode resulting file name,
16631         since callers sometimes need it decoded.
16632         (slurp_file): File arg is now a fd, not a file name.
16633         All callers changed.  This saves us having to open the file twice.
16634         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
16635         (svg_load):
16636         Use x_find_image_fd and fdopen to save a file-open.
16637         Report file name that failed.
16638         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
16640 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
16642         Allow blink-matching-paren to jump off screen
16643         * doc/emacs/programs.texi (Matching): Mention the
16644         `blink-matching-paren' value `jump-offscreen'.
16645         * lisp/simple.el (blink-matching-paren): New possible value.
16646         (blink-matching-paren-on-screen): Clarify the docstring.
16647         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
16649         Refine the previous change
16650         * lisp/simple.el (blink-matching-open): Use minibuffer-message
16651         outside of save-excursion (bug#21286).
16653 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
16655         Rewrite and add frame geometry related functions.
16656         * src/frame.c (Fframe_position): New function.
16657         (Fset_frame_position): Rename parameters and rewrite doc-string.
16658         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
16659         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
16660         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
16661         Qtitle_bar_size.
16662         * src/nsfns.m (frame_geometry): New function.
16663         (Fx_frame_geometry): Call frame_geometry.
16664         (Fx_frame_edges): New function.
16665         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
16666         (GetTitleBarInfo_Proc): Define these so we can use the
16667         GetTitleBarInfo API.
16668         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
16669         (Fx_frame_geometry): Rewrite.
16670         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
16671         (Fx_set_mouse_absolute_pixel_position): New functions.
16672         * src/xfns.c (frame_geometry): New function.
16673         (Fx_frame_geometry): Call frame_geometry.
16674         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
16675         (Fx_set_mouse_absolute_pixel_position): New functions.
16677 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
16679         Improve Tramp's compatibility
16680         * lisp/net/tramp.el (tramp-get-method-parameter):
16681         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
16682         (tramp-adb-get-device):
16683         * lisp/net/trampver.el (tramp-repository-get-version):
16684         Use `tramp-compat-replace-regexp-in-string'.
16686 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
16688         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
16689         Encode/decode string.
16691 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
16693         Clarify what happens to match data on failure
16694         Problem reported by Ernesto Alfonso (Bug#21279).
16695         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
16696         Document more carefully what happens to match data after a failed
16697         search.
16698         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
16699         the return value is undefined if the last search failed.
16700         (Fmatch_data): Simplify doc string line 1.
16702 2015-08-18  Daiki Ueno  <ueno@gnu.org>
16704         Revert "pinentry.el: Support external passphrase cache"
16705         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
16706         pinentry.el shouldn't directly interact with the secrets service,
16707         but ask the caller to cache the passphrase.
16709 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
16711         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
16712         Message mode hooks.
16714 2015-08-17  Daiki Ueno  <ueno@gnu.org>
16716         epg.el: Make gpgconf output parsing future proof
16717         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
16718         --list-options" output.
16720         pinentry.el: Support external passphrase cache
16721         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
16722         (pinentry--allow-external-password-cache): New local variable.
16723         (pinentry--key-info): New local variable.
16724         (secrets-enabled, secrets-search-items, secrets-get-secret):
16725         Declare.
16726         (pinentry--send-passphrase): New function, split from
16727         `pinentry--process-filter'.
16728         (pinentry--process-filter): Use secrets.el to retrieve passphrase
16729         from login keyring.
16731         pinentry.el: Popup window for multiline prompt
16732         * lisp/net/pinentry.el (pinentry): New custom group.
16733         (pinentry-popup-prompt-window): New user option.
16734         (pinentry-prompt-window-height): New user option.
16735         (pinentry--prompt-buffer): New variable.
16736         (pinentry-prompt-mode-map): New variable.
16737         (pinentry-prompt-mode): New function.
16738         (pinentry--prompt): New function.
16739         (pinentry--process-filter): Use `pinentry--prompt' instead of
16740         `read-passwd' and `y-or-n-p'.
16742 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
16744         message.el: Silent the byte compiler
16745         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
16746         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
16747         (message-delete-overlay, message-window-inside-pixel-edges):
16748         Declare before using.
16750         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
16751         (message-window-inside-pixel-edges): XEmacs compatible functions.
16753 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
16755         * lisp/gnus/message.el (message-toggle-image-thumbnails): New command.
16757 2015-08-17  Noah Friedman  <friedman@splode.com>
16759         * lisp/simple.el (blink-matching-open): Restore point before
16760         calling minibuffer-message.
16762 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
16764         * lisp/play/dunnet.el: Update version number in header (now
16765         matches help).
16767 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16769         Curved quotes in --batch diagnostics in non-UTF-8
16770         When run with --batch, check that curved quotes are compatible with
16771         the system locale before outputting them in diagnostics.
16772         Problem reported by Eli Zaretskii in:
16773         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
16774         * lisp/startup.el (command-line): Set internal--text-quoting-flag
16775         after the standard display table is initialized.
16776         * src/doc.c (default_to_grave_quoting_style): New function.
16777         (text_quoting_style): Use it.
16778         (text_quoting_flag): New static var, visible to Lisp as
16779         internal--text-quoting-flag.
16780         * src/emacs.c: Include <wchar.h> if available.
16781         (using_utf8): New function.
16782         (main): Use it to initialize text_quoting_flag.
16783         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
16784         Don't define, as it's not needed and it clashes with wchar.h.
16786 2015-08-17  Glenn Morris  <rgm@gnu.org>
16788         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
16789         from makeinfo about spurious "Note:" cross-reference, and for grammar.
16791 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
16793         Minor change in variable initialization on MS-Windows
16794         * src/w32fns.c <after_dead_key>: Initialize to -1.
16795         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
16796         non-zero.
16798         Fix a bug with LWindow key remapping on MS-Windows
16799         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
16801 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
16803         Improve fontset support for latest OTF script tags
16804         * lisp/international/fontset.el (otf-script-alist): Add some
16805         missing script tags.
16806         (setup-default-fontset): Include settings for v2 versions of the
16807         script tags used by some modern OTF/TTF fonts.
16809 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16811         Spelling fixes
16813 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
16815         Use curved quotes in core elisp diagnostics
16816         In the core elisp files, use curved quotes in diagnostic formats,
16817         so that they follow user preference as per ‘text-quoting-style’
16818         rather than being hard-coded to quote `like this'.
16819         * lisp/abbrev.el (expand-region-abbrevs):
16820         * lisp/button.el (button-category-symbol, button-put)
16821         (make-text-button):
16822         * lisp/cus-start.el:
16823         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
16824         (custom--sort-vars-1, load-theme):
16825         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
16826         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
16827         (cl-generic-generalizers):
16828         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
16829         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
16830         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
16831         (advice--make, define-advice):
16832         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
16833         * lisp/emacs-lisp/timer.el (timer-event-handler):
16834         * lisp/env.el (setenv):
16835         * lisp/facemenu.el (facemenu-add-new-face)
16836         (facemenu-add-new-color):
16837         * lisp/faces.el (face-documentation, read-face-name)
16838         (face-read-string, read-face-font, face-spec-set-match-display)
16839         (read-color, x-resolve-font-name):
16840         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
16841         (set-auto-mode, hack-local-variables)
16842         (hack-one-local-variable--obsolete)
16843         (dir-locals-set-directory-class, write-file)
16844         (basic-save-buffer, delete-directory, copy-directory)
16845         (recover-session, recover-session-finish, insert-directory)
16846         (file-modes-char-to-who, file-modes-symbolic-to-number)
16847         (move-file-to-trash):
16848         * lisp/font-lock.el (font-lock-fontify-buffer):
16849         * lisp/format.el (format-write-file, format-find-file)
16850         (format-insert-file):
16851         * lisp/frame.el (get-device-terminal, select-frame-by-name):
16852         * lisp/fringe.el (fringe--check-style):
16853         * lisp/help.el (describe-minor-mode-from-indicator):
16854         * lisp/image.el (image-type):
16855         * lisp/international/fontset.el (x-must-resolve-font-name):
16856         * lisp/international/mule-cmds.el (prefer-coding-system)
16857         (select-safe-coding-system-interactively)
16858         (select-safe-coding-system, activate-input-method)
16859         (toggle-input-method, describe-current-input-method):
16860         * lisp/international/mule-conf.el (code-offset):
16861         * lisp/mouse.el (minor-mode-menu-from-indicator):
16862         * lisp/replace.el (query-replace-read-from)
16863         (occur-after-change-function, occur-1):
16864         * lisp/scroll-bar.el (scroll-bar-columns):
16865         * lisp/simple.el (execute-extended-command)
16866         (undo-outer-limit-truncate, compose-mail, set-variable)
16867         (choose-completion-string, define-alternatives):
16868         * lisp/startup.el (site-run-file, tty-handle-args)
16869         (command-line, command-line-1):
16870         * lisp/subr.el (noreturn, define-error, add-to-list)
16871         (read-char-choice):
16872         * lisp/term/common-win.el (x-handle-xrm-switch)
16873         (x-handle-name-switch, x-handle-args):
16874         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
16875         Use curved quotes in diagnostics.
16876         * lisp/international/mule.el (find-auto-coding):
16877         Use " to quote in a diagnostic, to be consistent with the rest of
16878         this file.
16880         Convert lisp/term/x-win.el to UTF-8
16881         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
16882         runtime behavior, and the file is multilingual so compile-time
16883         appearance shouldn't be an issue.
16884         * admin/notes/unicode: Document this.
16886 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
16888         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
16889         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
16890         issues and comments, bug#943.
16891         (verilog-type-font-keywords): Cycle delay operators like ##1 and
16892         ##[0:$] are now highlighted in their entirety similarly to the #
16893         delay-control operator.  Likewise, the followed-by operators #-#
16894         and #=# are no longer partially highlighed.
16895         (verilog-backward-syntactic-ws-quick)
16896         (verilog-skip-backward-comments): Minor performance improvements
16897         to buffer traversal functions for reduced latency.
16898         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
16899         keyword 'final' follows 'assert/assume/cover', then it is part of
16900         a deferred immediate assertion item and should not be treated as a
16901         final construct for indentation.  Reported by Yuri Sugihara.
16902         (verilog-do-indent): Virtual task/function/class definition lines
16903         should not be considered as declarations.  Reported by Enzo Chi.
16904         (verilog-do-indent): Do not falsely indent to '=' of
16905         property/sequence operators on subsequent lines of a multi-line
16906         statement.
16907         (verilog-assignment-operator-re): Fix '!==' operator and add
16908         support for '<->', ':/', '#-#', and '#=#' operators.
16909         (verilog-calculate-indent, verilog-label-be): Enable
16910         case-sensitive regular expression parsing when looking for
16911         keywords.
16912         (verilog-calc-1): Detect 'pure virtual method' declarations which
16913         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
16914         (verilog-backward-ws&directives): When moving back to the start of
16915         a line and the preceeding line ended with an escaped-newline, then
16916         jump up one line.  This properly consumes a multi-line
16917         pre-processor directive.  Reported by Kaushal Modi.
16918         (verilog-dpi-import-export-re, verilog-extended-complete-re)
16919         (verilog-calc-1): Teach verilog-mode to properly indent after a
16920         DPI import/export statement that resides outside of a module.
16921         Reported by Kaushal Modi.
16922         (verilog-extended-complete-re): Update regexp to match both
16923         "DPI-C" and "DPI".  Reported by Kaushal Modi.
16925 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16927         substitute-command-keys a few more doc strings
16928         * lisp/allout.el (outlineify-sticky):
16929         * lisp/files.el (hack-one-local-variable--obsolete):
16930         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
16931         Use substitute-command-keys on some doc strings so that
16932         they don't use hard-coded key bindings or quoting styles.
16934         Fix quoting in Fformat calls
16935         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
16936         (xpm_load, xpm_load_image, pbm_load, png_load_body)
16937         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
16938         (imagemagick_load, svg_load, svg_load_image, gs_load)
16939         (x_kill_gs_process):
16940         * src/lread.c (load_warn_old_style_backquotes):
16941         * src/xfaces.c (load_pixmap):
16942         * src/xselect.c (x_clipboard_manager_error_1):
16943         Quote diagnostics according to user preference when calling
16944         Fformat or its derivatives.
16946 2015-08-15  Glenn Morris  <rgm@gnu.org>
16948         * admin/admin.el (set-version, set-copyright): Remove deleted files.
16950 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
16952         Allow describe-function helpers to access buffer-local values
16953         This will be used by cedet/mode-local.el `describe-mode-local-override'
16954         on `help-fns-describe-function-functions' in upstream CEDET.
16955         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
16956         `describe-function'.
16957         (describe-function): Bind it, save it on the help xref stack.
16959         Handle pulse-background being nil
16960         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
16961         pulse-background, handle it being nil.
16963 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16965         Fix "\`" confusion in Lisp strings
16966         * admin/authors.el (authors-canonical-author-name):
16967         Fix typo by using "\\`" not "\`" in string RE.
16968         * lisp/obsolete/complete.el (PC-complete-as-file-name):
16969         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
16970         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
16971         Use plain "`", not the equivalent-but-confusing "\`", in strings.
16972         * lisp/textmodes/texinfmt.el: Fix comment likewise.
16974 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
16976         * nt/zipdist.bat: Remove -- no longer used.
16978 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
16980         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
16981         rather than "getenforce".
16982         (tramp-sh-handle-set-file-selinux-context): Do not
16983         cache SELinux context if not all context components are given.
16985 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
16987         Add doc strings to 2 help-mode.el functions
16988         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
16989         strings.  (Bug#21263)
16991         Remove files used by the old MS-Windows specific build procedure
16992         * admin/unidata/makefile.w32-in:
16993         * doc/emacs/makefile.w32-in:
16994         * doc/lispintro/makefile.w32-in:
16995         * doc/lispref/makefile.w32-in:
16996         * doc/misc/makefile.w32-in:
16997         * leim/makefile.w32-in:
16998         * lib-src/makefile.w32-in:
16999         * lib/makefile.w32-in:
17000         * lisp/makefile.w32-in:
17001         * nt/INSTALL.OLD:
17002         * nt/config.nt:
17003         * nt/emacs-src.tags:
17004         * nt/envadd.bat:
17005         * nt/gmake.defs:
17006         * nt/makefile.w32-in:
17007         * nt/multi-install-info.bat:
17008         * nt/nmake.defs:
17009         * nt/paths.h:
17010         * src/makefile.w32-in: Files deleted.
17011         * nt/configure.bat: Remove everything except the blurb about the
17012         new build procedure.
17013         * make-dist: Remove references to makefile.w32-in in various
17014         directories, and to files in nt/ that were deleted.
17015         * etc/NEWS: Mention the fact that the files were dropped.
17017 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
17019         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
17020         (Bug#21248)
17022 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
17024         Default to inotify instead of gfile
17025         * configure.ac (with_file_notification): Fix typo that
17026         prevented suppression of file notification if HAVE_NS.
17027         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
17028         with_file_notification is 'yes' (Bug#21241).
17029         * etc/NEWS: Mention this.
17031         Fix broken URLs for ISO-IR
17032         * doc/emacs/mule.texi (Charsets):
17033         * lisp/international/mule-conf.el:
17034         Fix broken URL (Bug#21248).
17036         Low-level diagnostics now use ‘text-quoting-style’
17037         * src/doprnt.c (doprnt):
17038         Format ` and ' as per ‘text-quoting-style’.
17039         * src/xdisp.c (vmessage, message): Mention that the format should
17040         not contain ` or '.
17042         Prefer ‘format’ to ‘substitute-command-keys’
17043         * src/character.h (uLSQM, uRSQM): Move here ...
17044         * src/doc.c (uLSQM, uRSQM): ... from here.
17045         * src/doc.c (Fsubstitute_command_keys):
17046         * src/syntax.c (Finternal_describe_syntax_value):
17047         * lisp/cedet/mode-local.el (mode-local-print-binding)
17048         (mode-local-describe-bindings-2):
17049         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
17050         * lisp/cus-theme.el (describe-theme-1):
17051         * lisp/descr-text.el (describe-text-properties-1, describe-char):
17052         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
17053         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
17054         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
17055         * lisp/emacs-lisp/package.el (describe-package-1):
17056         * lisp/faces.el (describe-face):
17057         * lisp/help-fns.el (help-fns--key-bindings)
17058         (help-fns--compiler-macro, help-fns--parent-mode)
17059         (help-fns--obsolete, help-fns--interactive-only)
17060         (describe-function-1, describe-variable):
17061         * lisp/help.el (describe-mode):
17062         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
17063         to implement quoting style.  This generally makes the code simpler.
17065         Extend ‘format’ to translate curved quotes
17066         This is a followup to the recent doc string change, and deals with
17067         diagnostics and the like.  This patch is more conservative than
17068         the doc string change, in that the behavior of ‘format’ changes
17069         only if its first arg contains curved quotes and the user prefers
17070         straight or grave quotes.  (Come to think of it, perhaps we should
17071         be similarly conservative with doc strings too, but that can wait.)
17072         The upside of this conservatism is that existing usage is almost
17073         surely unaffected.  The downside is that we'll eventually have to
17074         change Emacs's format strings to use curved quotes in places where
17075         the user might want curved quotes, but that's a simple and
17076         mechanical translation that I'm willing to do later.  (Bug#21222)
17077         * doc/lispref/help.texi (Keys in Documentation):
17078         Move description of text-quoting-style from here ...
17079         * doc/lispref/strings.texi (Formatting Strings):
17080         ... to here, and describe new behavior of ‘format’.
17081         * etc/NEWS: Describe new behavior.
17082         * lisp/calc/calc-help.el (calc-describe-thing):
17083         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
17084         * lisp/info.el (Info-find-index-name):
17085         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
17086         of recently-added curved quotes.
17087         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
17088         Move from here ...
17089         * src/lisp.h: ... to here.
17090         * src/doc.c (text_quoting_style): New function.
17091         (Fsubstitute_command_keys): Use it.
17092         * src/editfns.c (Fformat): Implement new behavior.
17093         * src/lisp.h (enum text_quoting_style): New enum.
17095 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
17097         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
17098         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
17100 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
17102         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
17103         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
17105 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
17107         Flush file properties in Tramp
17108         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
17109         (tramp-sh-handle-set-file-times):
17110         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
17111         (tramp-adb-handle-set-file-times): Flush the file properties of
17112         the directory.
17114 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
17116         * doc/emacs/misc.texi (Amusements): Fixed typo.
17118 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
17120         Don't miss warnings about removing string text properties while dumping
17121         * src/alloc.c (purecopy): Warn about removing a string's text
17122         properties even when the same string was already pure-copied
17123         earlier.
17124         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
17125         (elisp--xref-format-extra): Fix the commentary.
17127 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
17129         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049).
17131 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
17133         * lisp/progmodes/compile.el: Use lexical-binding.
17134         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
17136 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
17138         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
17139         * lisp/uniquify.el: Remove redundant `:group's.
17141 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
17143         * lisp/net/tramp-adb.el
17144         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
17145         result to prevent modification of the tramp-cache by side effects.
17146         Use the correct cache key.
17148 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
17150         Make add_to_log varargs
17151         * src/alloc.c (run_finalizer_handler):
17152         * src/charset.c (load_charset_map_from_vector):
17153         * src/nsimage.m (ns_load_image):
17154         * src/xfaces.c (load_pixmap, load_color2):
17155         Simplify, now that add_to_log has a variable number of args.
17156         * src/image.c (image_error): Take a variable number of args.
17157         Callers simplified.
17158         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
17159         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
17160         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
17161         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
17163         Optional args for holiday-greek-orthodox-easter
17164         * etc/NEWS: Document this.
17165         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
17166         Add optional args N and STRING, mimicking the API and code of
17167         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
17169 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
17171         xref-find-definitions: Exclude more generic function items.
17172         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
17173         Add doc string.
17174         (cl--generic-find-defgeneric-regexp): New.
17175         (find-function-regexp-alist): Add it.
17176         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
17177         elisp-mode.el, change to search for ";;; Code:"
17178         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
17179         (find-function-regexp-alist): Add them.
17180         * lisp/progmodes/elisp-mode.el:
17181         (elisp--xref-format, elisp--xref-format-extra): Change back to
17182         defvar due to bug#21237.
17183         (elisp--xref-find-definitions): Exclude co-located default methods for
17184         generic functions.  Also exclude implicitly declared defgeneric.
17185         (elisp--xref-find-definitions): Handle C source properly.  Exclude minor
17186         mode variables defined by 'define-minor-mode'.
17187         * test/automated/elisp-mode-tests.el: Declare generic functions, add
17188         tests for them.
17189         (xref-elisp-test-run): Fix bug.
17190         (emacs-test-dir): Improve initial value.
17191         (find-defs-defun-defvar-el): Don't expect defvar.
17192         (find-defs-feature-el): Match change to find-feature-regexp.
17194 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
17196         Improve warning about purecopy of strings with properties
17197         * src/alloc.c (purecopy): Show the offending string with the
17198         warning about removing its text properties.
17200 2015-08-12  Alan Mackenzie  <acm@muc.de>
17202         Introduce new macros to cover Emacs's new names in cl-lib.el
17203         This also eliminates `mapcan' warnings in XEmacs.
17204         * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
17205         characterise [X]Emacs versions.
17206         (top-level): Require either 'cl or 'cl-lib, depending on
17207         c--mapcan-status.
17208         Change this back to cc-external-require from an eval-when-compile
17209         require.
17210         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
17211         (c--delete-duplicates): New macros which expand into either old or new
17212         names.
17213         (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros
17214         rather than the old names.
17215         * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan
17216         rather than mapcan.
17217         * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
17218         * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
17219         depending on c--mapcan-status.
17220         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
17221         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
17222         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
17223         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
17224         (c-decl-block-key, c-keywords, c-keywords-obarray)
17225         (c-regular-keywords-regexp, c-primary-expr-regexp)
17226         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
17227         (c-known-type-key, c-nonlabel-token-key)
17228         (c-make-init-lang-vars-fun): Use the new macros rather than the old
17229         names.
17231 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
17233         loadhist.el (read-feature): Conform to completing-read
17234         * lisp/loadhist.el (read-feature): According to `completing-read'
17235         documentation, if collection is a list, then it must be a list of
17236         strings, not a list of symbols like before.
17238 2015-08-12  David Kastrup  <dak@gnu.org>
17240         Deal gracefully with up-events (Bug#19746)
17241         * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
17242         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
17243         those may easily be injected by user-level Lisp code.
17244         (read_key_sequence): Discard unbound up-events like unbound
17245         down-events: they are even more likely only relevant for special
17246         purposes.
17247         While Emacs will not produce up-events on its own currently (those are
17248         converted to drag or click events before being converted to
17249         Lisp-readable structures), the input queue can be made to contain them
17250         by synthesizing events to `unread-command-events'.  Emacs should deal
17251         consistently with such events.
17253 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
17255         Fix display of thin lines whose newline has line-height property of t
17256         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
17257         and descent values of non-empty glyph rows, since they could have
17258         forced low values deliberately.  (Bug#21243)
17260 2015-08-12  Richard Stallman  <rms@gnu.org>
17262         Offer to combine multiple To or CC fields.
17263         * lisp/mail/sendmail.el (mail-combine-fields): New function.
17264         (mail-send): Call 'mail-combine-fields'.
17266         Don't decrypt encrypted files.
17267         * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
17269         Handle encrypted mbox files.
17270         * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt
17271         the mbox file if necessary.
17273         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
17274         * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine.
17275         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
17276         In a mime message, reenable Mime and show the parts that
17277         were shown before.
17278         Add keyword "decrypt" if anything decrypted.
17280         epa-inhibit inhibits auto-recognition of .gpg files
17281         * lisp/epa-file.el (epa-inhibit): New variable.
17282         (epa-file-handler): Check epa-inhibit.
17284 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
17286         * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
17288 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17290         Respect python.el imenu when semantic-mode is off
17291         Fixes bug#21220
17292         * lisp/cedet/semantic/wisent/python.el: Do not force
17293         wisent-python-default-setup on python-mode-hook.
17295 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17297         Give names to Unicode code points in C code
17298         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
17299         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
17300         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
17301         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
17302         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
17303         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
17304         (OBJECT_REPLACEMENT_CHARACTER):
17305         New named constants for Unicode code points.
17306         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
17307         * src/composite.c (char_composable_p):
17308         * src/lread.c (readevalloop, read1):
17309         * src/xdisp.c (get_next_display_element):
17310         Use them.
17311         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
17312         Remove; now in character.h.
17314 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
17316         elisp--xref-find-definitions handle cl-defstuct default constructor
17317         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
17318         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
17319         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
17320         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
17321         from xref-elisp-test for ease of debugging.
17322         (xref-elisp-deftest): Rename from xref-elisp-test.
17323         (find-defs-constructor): New test.
17324         (find-defs-defgeneric-el): Match batch test config.
17325         (compile): Required for find-defs compilation-minor-mode test.
17326         (find-defs-defvar-el): Match code change.
17327         (find-defs-face-el): Match code change.
17328         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
17329         Improve doc string.
17331 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
17333         * lisp/replace.el (perform-replace): Document `replacements'.
17334         (perform-replace): Move the description of the format of `replacements'
17335         from the body's comment to the doc string.
17337 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
17339         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
17340         sequence.  Recent adb version send initial escape sequences, even
17341         when terminal type is set to TERM=dumb.
17343 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
17345         Rewrite elisp--xref-find-definitions to handle many more cases; add tests
17346         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
17347         Function deleted.
17348         (elisp--xref-format-cl-defmethod): New defconst.
17349         (find-feature-regexp, find-alias-regexp): New defcustoms.
17350         (elisp--xref-make-xref): New function.
17351         (elisp--xref-find-definitions): Rewrite using the above, handle many
17352         more cases.  Always output all available definitions.
17353         (xref-location-marker): No need for special cases.
17354         * test/automated/elisp-mode-tests.el: Add more tests of
17355         elisp--xref-find-definitions, improve current tests.
17357 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
17359         Fix recording of events pushed onto unread-command-events
17360         * src/keyboard.c (read_char): Make sure events read from
17361         unread-command-events and unread-post-input-method-events are
17362         always recorded by record_char.  Reported by David Kastrup
17363         <dak@gnu.org>, see
17364         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
17366 2015-08-10  Samer Masterson  <samer@samertm.com>
17368         Set file buffer as current for "--file"
17369         * lisp/startup.el (command-line-1): Set file buffer as current before
17370         it is displayed so it can be used with options like "--eval".
17371         (Bug#21095)
17373 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
17375         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
17376         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
17377         after setting LC_ALL to the desired locale, to avoid affecting how
17378         numbers are read and printed.  (Bug#21223)
17380 2015-08-10  Alan Mackenzie  <acm@muc.de>
17382         Fix "Invalid search bound (wrong side of point)" in fontification
17383         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
17384         an initialization expression, check point is not beyond the
17385         fontification limit.
17387 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17389         Fix DPI calculation when Xft/DPI is default
17390         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
17391         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
17392         Remove unnecessary cast while we're in the neighborhood.
17394 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
17396         Add project-vc-search-path and project-vc-ignores
17397         * lisp/progmodes/project.el (project-vc): New group.
17398         (project-vc-search-path, project-vc-ignores): New variables.
17399         (project--value-in-dir): Utility function.
17400         (project-search-path, project-ignores): Use them.
17401         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
17402         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
17404 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17406         Fix some minor quoting issues with grave accent
17407         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
17408         Remove redundant quotes.
17409         * src/doc.c (uLSQM, uRSQM): New macros.
17410         * src/doc.c (Fsubstitute_command_keys):
17411         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
17412         preference for quotes rather than hardcoding the ‘grave’ style.
17413         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
17414         (re_match_2_internal) [DEBUG]: In debugging output, quote C
17415         strings with "...", not `...'.
17417         ChangeLog.2 ignores remote-tracking merges
17418         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
17419         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
17420         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
17422 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
17424         Use kpsewhich in ffap-latex-mode, if available
17425         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
17426         (ffap-latex-mode): Use kpsewhich if available.
17428         ffap: disallow braces in filenames for tex modes
17429         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
17430         braces in tex-related modes.
17432         Remove useless backslashes from ffap-string-at-point-mode-alist
17433         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
17434         misleading backslashes from default value.
17436         Augment docstring of ffap-string-at-point-mode-alist
17437         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
17438         and END are handled.
17440 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17442         * lisp/org/org-src.el (org-edit-src-code)
17443         (org-edit-fixed-width-region):
17444         * lisp/simple.el (completion-setup-function):
17445         Remove calls to substitute-command-keys that always just return
17446         their argument.
17448 2015-08-09  Daiki Ueno  <ueno@gnu.org>
17450         * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'.
17451         (Bug#21210)
17453 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
17455         Fix link to source code in help window
17456         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
17457         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
17458         'No longer include timestamp in header of .elc files'.  Add code
17459         that will return .el source file in load-path.
17461 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
17463         * lisp/isearch.el (isearch-search-fun-default): (Bug#21164)
17464         Respect `isearch-lax-whitespace' when searching through
17465         `isearch-word'.
17467 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
17469         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
17471         * lisp/org/org.el: Fix up some lexical scoping warnings, and use dolist
17472         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
17473         (org-set-regexps-and-options, org-assign-fast-keys)
17474         (org-contextualize-keys, org-contextualize-validate-key)
17475         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
17476         (org-find-olp, org-find-exact-heading-in-directory)
17477         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
17478         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
17479         (org-replace-escapes): Use dolist.
17480         (org-mode): Optimize away XEmacs-only code.
17481         (org-refile-get-targets): Remove unused var `f'.
17482         (org-fast-todo-selection): Remove unused var `e'.
17483         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
17484         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
17485         (org-format-latex): Use dolist.  Remove unused var `e'.
17486         (org-toggle-heading): Access vars lexically rather than dynamically.
17487         (org-backward-sentence, org-forward-sentence, org-meta-return)
17488         (org-kill-line): Mark arg as unused.
17489         (org-submit-bug-report): Silence compiler warning.
17490         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
17491         (org-get-cursor-date): Remove unused var `tm'.
17492         (org-comment-or-uncomment-region): Use standard name `_'.
17493         (reftex-docstruct-symbol, reftex-cite-format): Declare to
17494         silence byte-compiler.
17495         (org-reftex-citation): Add `org--' prefix to dynamically scoped
17496         `rds' var.
17498 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
17500         Electric quote if coding is undecided or no conv
17501         * lisp/electric.el (electric--insertable-p): Also say that a
17502         string is insertable if the buffer file coding system is undecided
17503         or uses no conversion, as curved quotes will work in either case.
17505         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
17507 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
17509         Fix overlay string display regressions introduced in Emacs 24.5
17510         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
17511         buffer position, if we move the iterator to a new position as
17512         result of jumping over text covered by a "replacing" display
17513         property.
17514         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
17516         Support recovery from C stack overflow on MS-Windows
17517         * src/w32fns.c (w32_reset_stack_overflow_guard)
17518         (stack_overflow_handler): New functions for handling C stack
17519         overflow exceptions.
17520         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
17521         specially, and zero out except_addr if we do.
17522         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
17523         mode.
17524         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
17525         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
17526         the MinGW build, but the code guarded by that is for Posix hosts.
17527         * src/keyboard.c (command_loop) [WINDOWSNT]:
17528         Call w32_reset_stack_overflow_guard.
17529         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
17530         (sigsetjmp): New macro.
17531         (w32_reset_stack_overflow_guard): Declare the prototype.
17532         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
17534 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
17536         Improve error signalling for seq-subseq
17537         * lisp/emacs-lisp/seq.el (seq-subseq): The existing behavior is to error
17538         when indexes are too large, but to silently ignore numbers which
17539         are too negative for lists.  String and vector handling errors in
17540         both cases.  This has been regularized.  Error signaling behavior
17541         has been explicitly added to the doc string.
17543         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
17544         therefore also impacted by this change.  Update the doc string
17545         to reflect this.
17547         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
17548         added for these exceptional cases, as well as one non exceptional
17549         base case.
17551 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
17553         Improve error checking in tramp-adb.el
17554         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
17555         Improve error checking.  "ls -l" on Android in Enforcing mode can
17556         print "lstat './FILENAME failed: Permission denied".
17558 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17560         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
17561         non-struct vectors.
17563 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
17565         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
17566         * lisp/window.el: Fix typo that broke build.
17567         (display-buffer--action-function-custom-type):
17568         Add `display-buffer-use-some-frame'.
17569         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
17571         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
17572         * lisp/window.el (display-buffer-use-some-frame): Add support for
17573         'inhibit-same-window in alist.
17574         * doc/lispref/windows.texi (display-buffer-use-some-frame):
17575         Doc support for 'inhibit-same-window in alist.
17577 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
17579         Avoid infinite loop in display of invisible text in strings
17580         * src/xdisp.c (handle_invisible_prop): If the next change of
17581         invisibility spec does not mean the beginning of a visible text,
17582         update the string position from which to start the search for the
17583         next invisibility change.  This avoids an infinite loop when we
17584         have more than one invisibility spec that are made inactive by
17585         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
17586         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
17587         for the situation that caused bug #21200.
17589 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
17591         * lisp/emacs-lisp/package.el: Simplify describe-package-1
17592         (package-help-section-name-face): New face.
17593         (package--print-help-section): New function.
17594         (describe-package-1): Refactor section printing.
17595         (package-make-button): Use face instead of font-lock-face, which
17596         doesn't work on buttons.
17598         * lisp/emacs-lisp/package.el: Define custom faces
17599         (package-name-face, package-description-face)
17600         (package-status-built-in-face, package-status-external-face)
17601         (package-status-available-face, package-status-new-face)
17602         (package-status-held-face, package-status-disabled-face)
17603         (package-status-installed-face, package-status-dependency-face)
17604         (package-status-unsigned-face, package-status-incompat-face)
17605         (package-status-avail-obso-face): New faces.
17606         (package-menu--print-info-simple): Use them.
17608 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17610         Fix some confusion with ‘format’
17611         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
17612         (allout-graphics-modification-handler):
17613         Protect arbitrary string in a format context with "%s" format.
17614         * lisp/avoid.el:
17615         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
17616         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
17617         * lisp/erc/erc-button.el (erc-button-beats-to-time):
17618         * lisp/gnus/message.el (message-send-form-letter):
17619         * lisp/org/ob-core.el (org-babel-check-evaluate)
17620         (org-babel-confirm-evaluate):
17621         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
17622         * lisp/org/ox-latex.el (org-latex-compile):
17623         * lisp/org/ox-man.el (org-man-compile):
17624         * lisp/org/ox-odt.el (org-odt-template):
17625         * lisp/org/ox-texinfo.el (org-texinfo-compile):
17626         * lisp/progmodes/prolog.el (prolog-help-info)
17627         (prolog-view-predspec):
17628         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
17629         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
17630         * lisp/textmodes/rst.el (rst-replace-lines):
17631         Change (message (format ...)) to (message ...), and likewise
17632         for ‘error’.  This lessens the probability of confusion when the
17633         output of ‘format’ contains ‘%’.
17635 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
17637         * lisp/replace.el (replace-character-fold): Default to nil.
17639         * lisp/character-fold.el: Fix lax whitespace.
17640         (character-fold-table): Don't make space match other whitespace chars.
17641         (character-fold-to-regexp): Simplify lax behavior.
17643 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
17645         Preserve window point in xref-find-definitions-other-window
17646         Fix the problem reported by Ingo Logmar in
17647         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
17648         * lisp/progmodes/xref.el (xref--goto-char): Extract from
17649         xref--goto-location.
17650         (xref--pop-to-location): Use it.  Replace xref--goto-location with
17651         a direct xref-location-marker call.
17652         (xref--show-location): Likewise.
17653         (xref--display-position): Use xref--goto-char.
17655         * lisp/progmodes/project.el: Add a paragraph to the front matter.
17657 2015-08-04  David Kastrup  <dak@gnu.org>
17659         * lisp/vc/emerge.el (emerge-show-file-name):
17660         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
17661         (vhdl-comment-insert, vhdl-hooked-abbrev):
17662         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
17663         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
17664         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
17665         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
17666         * lisp/obsolete/vip.el (vip-escape-to-emacs)
17667         (vip-prefix-arg-value, vip-prefix-arg-com):
17668         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
17669         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
17670         (quail-tibkey-update-translation):
17671         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
17672         * lisp/leim/quail/lao.el (quail-lao-update-translation):
17673         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
17674         (quail-japanese-self-insert-and-switch-to-alpha):
17675         * lisp/leim/quail/hangul.el (hangul2-input-method)
17676         (hangul3-input-method, hangul390-input-method):
17677         * lisp/language/hanja-util.el (hangul-to-hanja-char):
17678         * lisp/international/robin.el (robin-input-method):
17679         * lisp/international/quail.el (quail-start-translation)
17680         (quail-start-conversion):
17681         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
17682         (gnus-article-describe-key-briefly):
17683         * lisp/eshell/em-hist.el (eshell-list-history):
17684         * lisp/term.el (term-dynamic-list-input-ring)
17685         (term-dynamic-list-completions):
17686         * lisp/subr.el (momentary-string-display):
17687         * lisp/simple.el (read-quoted-char):
17688         * lisp/pcomplete.el (pcomplete-show-completions):
17689         * lisp/kmacro.el (kmacro-repeat-on-last-key):
17690         * lisp/info.el (Info-summary):
17691         * lisp/ehelp.el (electric-help-command-loop):
17692         * lisp/ebuff-menu.el (electric-buffer-list)
17693         (Electric-buffer-menu-exit):
17694         * lisp/double.el (double-translate-key):
17695         * lisp/comint.el (comint-dynamic-list-input-ring)
17696         (comint-dynamic-list-completions): Do not overwrite preexisting
17697         contents of `unread-command-events' when putting new events into it.
17699 2015-08-04  Daniel Colascione  <dancol@dancol.org>
17701         Improve ansi-color filtering of unrecognized escape sequences
17702         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
17703         escape sequences.
17704         (ansi-color-filter-apply, ansi-color-apply): Filter out
17705         unrecognized escape sequences.
17707 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
17709         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
17710         definitions to `easy-menu-define', improve a couple to account for
17711         async, and add a couple of new commands.
17713 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
17715         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
17717 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
17719         Add new 'calendar-weekend-days' option
17720         Make the days receiving the 'calendar-weekend-header' face freely
17721         customizable, as they differ by region/culture.
17722         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
17723         new variable.
17724         * lisp/calendar/calendar.el (calendar-generate-month): New variable
17725         calendar-weekend-days to customize day header fontification.
17727 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17729         Redo text-quoting-style variable
17730         Rename help-quote-translation to text-quoting-style,
17731         and use symbols rather than characters as values.
17732         This follows suggestions along these lines by Alan Mackenzie in:
17733         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
17734         and by Drew Adams in:
17735         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
17736         * doc/lispref/help.texi (Keys in Documentation)
17737         * etc/NEWS:
17738         * lisp/cus-start.el (standard):
17739         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
17740         Document and/or implement the new behavior instead of the old.
17741         (syms_of_doc): New symbols 'grave' and 'straight'.
17743 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
17745         nnimap.el: Use IMAP MOVE extension if available
17746         * lisp/gnus/nnimap.el (nnimap-request-move-article)
17747         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
17748         Use MOVE extension if available.
17750         nnimap.el: Explicitly ask for server capabilities
17751         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
17752         capabilities will be returned in the login-result.
17754 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
17756         Treat help strings like other doc strings
17757         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
17758         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
17759         substitute-command-keys.
17760         * src/keyboard.c (show_help_echo, parse_menu_item): Call
17761         substitute-command-keys on the help string before displaying it.
17763         Also mention "curly quotes"
17764         See Drew Adams's email in:
17765         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
17766         * doc/lispref/help.texi (Keys in Documentation):
17767         Add index entry "curly quotes".
17768         * etc/NEWS: Use the phrase "curly quotes" too.
17770         ede-proj-target-makefile docstring tweaks
17771         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
17772         Consistently use "all:" to describe the all: target,
17773         replacing three different and confusingly-quoted usages.
17775 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
17777         Don't abort emacsclientw when -a was specified
17778         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
17779         out if we are in emacsclientw and -a was specified.
17781 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
17783         Fix handling of 1st keystroke on MS-Windows
17784         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
17785         This is needed to correctly handle the session's first keystroke,
17786         if it has any modifiers.  (Bug#19994)
17788 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
17790         Substitute some customization etc. doc strings
17791         These changes apply substitute-command-keys to some
17792         doc strings that were going through untranslated
17793         when creating customization or other widgets.
17794         * lisp/cus-edit.el (custom-group-value-create):
17795         * lisp/wid-edit.el (widget-default-create):
17796         (widget-push-button-value-create):
17797         Treat the widget tag as a doc string.
17798         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
17799         Treat the :documentation value as a doc string.
17800         * lisp/wid-edit.el (widget-choose):
17801         Treat the choice names as doc strings.
17802         (widget-default-create): Treat the :doc value as a doc string.
17803         (widget-toggle-value-create): Treat the :on and :off values
17804         as doc strings.
17805         (widget-documentation-string-value-create):
17806         Substitute the doc string.
17808 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
17810         Add a second argument to project-ignores
17811         * lisp/progmodes/project.el (project-ignores): Add a second
17812         argument DIR.
17813         * lisp/progmodes/project.el (project-ignores): Only include the VC
17814         ignores if DIR is the VC root.
17815         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
17817 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
17819         Prevent incorrect display when 'line-spacing' variable is set
17820         * src/xdisp.c (try_window_id): Give up this optimization if the
17821         buffer has its 'line-spacing' variable set non-nil.
17823 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
17825         Don't pass NOVISIT to find-file
17826         * lisp/progmodes/etags.el (next-file):
17827         Don't pass NOVISIT to find-file (bug#21175).
17829         Ignore buffer restriction for tags-loop-eval
17830         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
17831         restriction (bug#21167).
17833 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
17835         Fix a thinko in 'ffap-gopher-at-point'
17836         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
17838         Honor 'line-spacing' for empty lines
17839         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
17840         property and 'line-spacing' frame parameter or variable or
17841         property for empty lines, by doing the same processing as in
17842         x_produce_glyph for newline characters.  (Bug#21165)
17844 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
17846         Simplify by assuming C99 integer division
17847         * src/floatfns.c (ceiling2, floor2, truncate2):
17848         Assume C99 (i.e., Fortran) semantics for integer division.
17849         This simplifies the code.
17851 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
17853         Don't overflow if computing approximate percentage
17854         * lisp/align.el (align-region):
17855         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
17856         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
17857         * lisp/cus-edit.el (custom-buffer-create-internal):
17858         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
17859         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
17860         (checkdoc-next-message-error):
17861         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
17862         * lisp/epa.el (epa-progress-callback-function):
17863         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
17864         * lisp/ffap.el (ffap-menu-rescan):
17865         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
17866         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
17867         * lisp/gnus/nneething.el (nneething-retrieve-headers):
17868         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
17869         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
17870         * lisp/gnus/nnml.el (nnml-retrieve-headers):
17871         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
17872         * lisp/gnus/nntp.el (nntp-retrieve-headers)
17873         (nntp-retrieve-articles):
17874         * lisp/imenu.el (imenu--relative-position):
17875         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
17876         (skkdic-convert-okuri-nasi):
17877         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
17878         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
17879         * lisp/org/org-list.el (org-update-checkbox-count):
17880         * lisp/org/org.el (org-table-map-tables)
17881         (org-update-parent-todo-statistics):
17882         * lisp/play/decipher.el (decipher-insert-frequency-counts)
17883         (decipher-analyze-buffer):
17884         * lisp/profiler.el (profiler-format-percent):
17885         * lisp/progmodes/cc-cmds.el (c-progress-update):
17886         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
17887         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
17888         (idlwave-list-load-path-shadows):
17889         * lisp/progmodes/opascal.el (opascal-step-progress):
17890         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
17891         (vhdl-scan-directory-contents):
17892         * lisp/textmodes/bibtex.el (bibtex-progress-message):
17893         * lisp/textmodes/flyspell.el (flyspell-small-region)
17894         (flyspell-external-point-words):
17895         * lisp/textmodes/table.el (table-recognize):
17896         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
17897         progress-report percentages and the like.  This avoids problems
17898         if (* 100 NUMERATOR) would overflow.
17899         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
17900         * lisp/gnus/registry.el (registry-reindex):
17901         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
17902         * lisp/descr-text.el (describe-char):
17903         * lisp/org/org-colview.el (org-nofm-to-completion):
17904         * lisp/ps-print.el (ps-plot):
17905         * lisp/simple.el (what-cursor-position):
17906         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
17907         more-complicated and less-accurate approximation.
17909         Fix some int overflows in profiler.c
17910         * src/profiler.c (make_log): Make args EMACS_INT, not int,
17911         to avoid unwanted behavior on 'int' overflow.
17912         (make_log, evict_lower_half, record_backtrace):
17913         Use ptrdiff_t, not int, for object indexes.
17915         Port to pedantic memcpy
17916         * src/keyboard.c (menu_bar_items, tool_bar_items):
17917         * src/xrdb.c (magic_db):
17918         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
17920         Merge from gnulib
17921         This incorporates:
17922         2015-07-29 time_rz: port to pedantic memcpy
17923         * lib/time_rz.c: Copy from gnulib.
17925 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
17927         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
17928         When updating the very last entry, tabulated-list-print would
17929         erase it and then try to look at the next one (which obviously
17930         isn't there).
17932 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
17934         Allow to use the old key processing code on MS-Windows
17935         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
17936         New variable.
17937         (w32_wnd_proc): Use it to invoke the old code that processed
17938         character keys, as fallback, when this variable is non-nil.
17939         Fix typos in comments.  (Bug#19994)
17941 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
17943         Improve handling of Unicode keyboard input on MS-Windows
17944         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
17945         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
17946         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
17947         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
17948         successful, don't call TranslateMessage.  (Bug#19994)
17950 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
17952         Fix default-directory in changeset diffs after vc-print-log
17953         * lisp/vc/log-view.el (log-view-diff-common): Move the
17954         revision-granularity check back into log-view-diff-changeset.
17955         (log-view-diff-changeset): Bind default-directory to the current
17956         VC root.
17958         Rename project-directories to project-roots
17959         * lisp/progmodes/project.el (project-search-path-function)
17960         (project-search-path): Update the docstring.
17961         (project-directories): Rename to `project-roots', update all
17962         callers and implementations accordingly.
17963         (project-root): Remove.
17964         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
17965         as the default file mask.
17967 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
17969         Support long URLs in w32-shell-execute
17970         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
17971         and filename_to_ansi to convert the DOCUMENT argument, as it could
17972         be a URL that is not limited to MAX_PATH characters.  Instead, use
17973         MultiByteToWideChar directly, and allocate heap storage as
17974         required to accommodate the converted string.  Likewise with
17975         non-Unicode operation.  Ensure OPERATION is null-terminated, even
17976         if it is longer than 32K bytes.  (Bug#21158)
17978 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
17980         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev.
17982 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
17984         Add docs for display-buffer action display-buffer-use-some-frame
17985         * lisp/window.el (display-buffer-use-some-frame): Improve doc string.
17986         * doc/lispref/windows.texi (Display Action Functions):
17987         Add display-buffer-use-some-frame.
17988         * etc/NEWS: Mention display-buffer-use-some-frame.
17990         Add display-buffer action display-buffer-use-some-frame
17991         * lisp/window.el (display-buffer-use-some-frame): New.
17993         Handle vc-mtn error more gently
17994         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when
17995         branch is nil.
17997 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
17999         Fix Tramp problems with multihops, and nc
18000         * lisp/net/tramp-cache.el (tramp-get-file-property)
18001         (tramp-set-file-property, tramp-flush-file-property)
18002         (tramp-get-connection-property, tramp-set-connection-property)
18003         (tramp-flush-connection-property): Remove hop from vector.
18004         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
18005         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
18006         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
18007         netstat to 60".
18008         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
18009         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
18010         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
18011         Keep hop in result.
18012         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
18013         Add hop tests.
18015 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
18017         Resurrect highlighting of repeated words by Flyspell Mode
18018         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
18019         characters between point and the doublon candidate, so that
18020         flyspell-word-search-backward finds it.  (Bug#21157)
18022         Fix redisplay of large images on expose events
18023         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
18024         between signed negative values and unsigned values.  This
18025         prevented redisplay on expose events when the window showed a very
18026         large image.
18028 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
18030         Remove unnecessary stack overflow dependency
18031         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
18032         Don't worry about $ac_cv_header_sys_resource_h and
18033         $ac_cv_func_getrlimit, as they're no longer needed for this.
18034         Problem reported by Eli Zaretskii in:
18035         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
18037 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
18039         Pacify compilation -Wincompatible-pointer-types warnings
18040         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
18041         warning.
18042         (CompareStringW_Proc): New typedef.
18043         (w32_compare_strings): Use it, to pacify compiler warnings under
18044         "-Wincompatible-pointer-types".
18045         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
18046         (GetDiskFreeSpaceExA_Proc): New typedefs.
18047         (Ffile_system_info): Use them, to pacify compiler warnings under
18048         "-Wincompatible-pointer-types".
18050 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
18052         Fix subscript error in calculate_direct_scrolling
18053         Use slightly-longer cost vectors.  Without this change,
18054         calculate_direct_scrolling can have a subscript violation when
18055         FRAME_LINES (frame) <= delta.
18056         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
18057         (line_ins_del, do_line_insertion_deletion_costs):
18058         Allocate and use slightly-larger cost vectors, ones based on
18059         FRAME_TOTAL_LINES instead of FRAME_LINES.
18061         Fix uninitalized value in encode_coding_object
18062         * src/coding.c (encode_coding_object): Also initialize
18063         coding->src_pos and coding->src_pos_byte when NILP (src_object).
18064         This avoids later use of uninitialized storage.
18066 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
18068         * doc/lispref/variables.texi (Variable Aliases): Typo fix.
18069         (Bug#21141)
18071 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
18073         Merge from gnulib
18074         This incorporates:
18075         2015-07-27 time_rz: port better to MinGW
18076         2015-07-27 time: port __need_time_t to MinGW
18077         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
18078         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
18079         * lib/time-internal.h: New file, from gnulib.
18081 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
18083         Handle NULL pointers in w32heap.c allocation routines
18084         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
18085         freeable".
18086         (realloc_after_dump, realloc_before_dump, free_before_dump):
18087         Handle NULL pointers gracefully, as Emacs now seems to expect that.
18089         Fix Cairo build without PNG
18090         * src/image.c: Define PNG function when USE_CAIRO is defined, even
18091         if HAVE_PNG is not.  (Bug#21133)
18093         MS-Windows follow-up for recent TZ-related changes
18094         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
18095         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
18096         picking up 'struct timespec' from pthread.h, if it is installed on
18097         the user's system.  We want either the definitions from MinGW
18098         system headers, if available, or the Gnulib replacements if not.
18099         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
18100         lib/time.h.
18101         * lib/time.in.h: Don't let __need_* symbols affect what happens on
18102         MinGW.  These symbols are defined by MinGW system headers, but we
18103         don't want that to affect whether Gnulib portions of the header
18104         are or aren't used.
18106 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
18108         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
18110         New optional ZONE arg for format-time-string etc.
18111         This simplifies time conversions in other time zones.
18112         It also prevents display-time-world tampering with TZ (Bug#21020).
18113         * admin/admin.el (add-release-logs):
18114         Use improved add-log-time-format API.
18115         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
18116         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
18117         * configure.ac (tzalloc): Remove test for this, since
18118         Emacs no longer uses HAVE_TZALLOC directly.
18119         * doc/lispref/os.texi (Time of Day, Time Conversion)
18120         (Time Parsing):
18121         * etc/NEWS: Document the new behavior.
18122         Merge from gnulib, incorporating:
18123         2015-07-25 strftime: fix newly-introduced bug on Solaris
18124         2015-07-23 fprintftime, strftime: use timezone_t args
18125         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
18126         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
18127         * m4/time_h.m4:
18128         Update from gnulib.
18129         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
18130         New files from gnulib.
18131         * lisp/time-stamp.el (time-stamp-string):
18132         * lisp/time.el (display-time-world-list)
18133         (display-time-world-display):
18134         Use new API, with time zone arg.
18135         * lisp/time.el (display-time-world-display):
18136         Fix race when current-time advances while we're running.
18137         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
18138         (add-log-iso8601-time-string): Accept optional time zone arg.
18139         * lisp/vc/add-log.el (add-change-log-entry):
18140         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
18141         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
18142         Add rules for the time module, since they're now needed
18143         for tzalloc etc.
18144         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
18145         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
18146         * src/editfns.c: Include errno.h.
18147         (set_time_zone_rule): Omit unnecessary forward decl.
18148         (initial_tz): Remove, replacing with ...
18149         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
18150         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
18151         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
18152         (tzlookup): New static functions.
18153         (init_editfns): New arg DUMPING.  All uses changed.
18154         (init_editfns): Omit most initialization if dumping, not if
18155         !initialized.  Initialize wall_clock_tz and local_tz.
18156         (emacs_nmemftime, format_time_string): Time zone argument can now
18157         be any time zone, not just a boolean for UTC or local time.  All
18158         callers changed.
18159         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
18160         (Fcurrent_time_zone): New optional arg ZONE.
18161         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
18162         the same form as with the other new additions.
18163         (decode_time_zone): Remove; no longer needed.
18164         (tzvalbuf): Now file-scope.
18165         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
18166         (syms_of_editfns): Define Qwall.
18167         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
18168         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
18169         [!HAVE_TZALLOC]:
18170         Remove; now supplied by gnulib.
18171         * src/emacs.c (main):
18172         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
18174 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
18176         Fix infinite loop in delete-consecutive-dups
18177         * lisp/subr.el (delete-consecutive-dups): Work even if the last
18178         element is nil (Bug#20588).  Avoid rescan of a circular list in
18179         deletion of last element.
18181 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
18183         Have `x-frame-geometry' return nil for terminal and initial
18184         frames (Bug#21132)
18185         * src/nsfns.m (Fx_frame_geometry):
18186         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
18187         terminal frames.
18188         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
18189         (Fx_frame_geometry): Return nil for terminal frames
18191 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
18193         * etc/tutorials/TUTORIAL.ja: Improve translation.
18195 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
18197         Avoid crashes when w32 GUI functions are called in -batch
18198         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
18199         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
18200         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
18202         Fix flyspell-check-previous-highlighted-word
18203         * lisp/textmodes/flyspell.el
18204         (flyspell-check-previous-highlighted-word): Really accept a
18205         numeric argument, as the doc string describes.  Fix an off-by-one
18206         error in looking up overlays, so invocation with point immediately
18207         after a word would check that word.  Clarify the doc string as
18208         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
18210 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
18212         Minor cleanup in tramp-tests.el
18213         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
18214         Implement using the documented interface
18215         `tramp-connection-properties', rather than with internal functions.
18217 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
18219         Pass lambdas to `skeleton-read'
18220         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
18221         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
18222         lambdas to `skeleton-read' (bug#20386).
18224 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
18226         * INSTALL (DETAILED BUILDING AND INSTALLATION):
18227         Mention --without-imagemagick.
18229         Don't require GUI frames and mouse for Flyspell menus
18230         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
18231         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
18232         support, since pop-up menus work with text terminals and can be
18233         controlled via the keyboard.
18235         Improve documentation of Flyspell commands
18236         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
18237         can be invoked via the keyboard.  Mention those commands by name
18238         and add them to the fn index.  (Bug#21125)
18240 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
18242         Fix some Tramp problems with HP-UX
18243         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
18244         Add "tab0" to stty call.
18245         * test/automated/tramp-tests.el (tramp-persistency-file-name):
18246         Set to nil.
18247         (tramp--test-hpux-p): New defun.
18248         (tramp--test-utf8): Use it.
18250 2015-07-22  Glenn Morris  <rgm@gnu.org>
18252         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
18254 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
18256         Fix point positioning in ffap-next-guess
18257         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
18258         as our callers expect.  This was clobbered as part of fixing
18259         bug#5673.  (Bug#21107)
18260         (ffap-gopher-at-point): Set ffap-string-at-point-region.
18262 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
18264         * lisp/window.el (even-window-sizes): Fix customization type.
18266         Optionally even widths of `display-buffer' windows.  (Bug#21100)
18267         * lisp/window.el (quit-restore-window): Restore width if
18268         requested.
18269         (display-buffer-record-window): Record width when window is
18270         reused and horizontally combined.
18271         (even-window-sizes): New option to allow evening window widths.
18272         (even-window-heights): Defalias to `even-window-sizes'.
18273         (window--even-window-heights): Rename to
18274         `window--even-window-sizes'.  Handle side-by-side windows.
18275         (display-buffer-use-some-window): Call `window--even-window-sizes'
18276         instead of `window--even-window-heights'.
18277         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
18278         * doc/lispref/windows.texi (Choosing Window Options): Describe
18279         `even-window-sizes'.
18280         (Coordinates and Windows): Fix typo.
18282 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
18284         Add file name to autoload error messages
18285         * lisp/emacs-lisp/autoload.el (autoload-save-buffers):
18286         Add condition-case to add file name to error message.
18288 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
18290         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
18291         Use 0.0.0.1 as test host.
18293 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
18295         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
18296         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
18297         Fix inf-loop (bug#21083).
18299 2015-07-21  Glenn Morris  <rgm@gnu.org>
18301         * test/automated/package-test.el (package-test-signed):
18302         Update for recent changes.
18304         * test/automated/elisp-mode-tests.el
18305         (elisp-xref-finds-both-function-and-variable)
18306         (elisp-xref-finds-only-function-for-minor-mode):
18307         Update for recent xref name changes.
18309 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
18311         Make eldoc timer non-repeatable
18312         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
18313         non-repeatable.  Since it's on post-command hook, that just wasted
18314         CPU cycles.
18316 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
18318         Mention `tramp-connection-properties' in NEWS
18320         Sync with Tramp repository
18321         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
18322         required prior changing its configuration.
18323         (Connection caching, Predefined connection information)
18324         (Remote shell setup): Fix typos.
18325         (Predefined connection information): Describe, how to overwrite
18326         parameters of `tramp-methods'.
18327         (Remote programs, Remote processes, Traces and Profiles):
18328         Simplify example.
18329         (Remote programs): Remove superfluous comment.
18330         * doc/misc/trampver.texi: Update release number.
18331         * lisp/net/tramp-cache.el (tramp-connection-properties):
18332         Adapt docstring.
18333         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
18334         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
18335         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
18336         "gvfs-mkdir -p ..." does not work robust.
18337         (tramp-gvfs-maybe-open-connection):
18338         Adapt `tramp-get-method-parameter' call.
18339         * lisp/net/tramp-sh.el (tramp-methods):
18340         Add `tramp-remote-shell-login' parameter where it fits.
18341         (tramp-get-remote-path): Use it.
18342         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
18343         (all): Adapt `tramp-get-method-parameter' calls.
18344         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
18345         (tramp-get-method-parameter): Replace argument METHOD by VEC.
18346         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
18347         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
18348         (all): Adapt `tramp-get-method-parameter' calls.
18349         * lisp/net/trampver.el: Update release number.
18350         * test/automated/tramp-tests.el (tramp--instrument-test-case):
18351         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
18352         (tramp-test13-make-directory, tramp--test-adb-p)
18353         (tramp--test-smb-or-windows-nt-p): Simplify.
18354         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
18355         (tramp--test-special-characters): Fix docstring.  Add gvfs and
18356         ftp tests.
18357         (tramp--test-utf8): Fix docstring.
18359 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
18361         Add new xref-query-replace command
18362         * lisp/progmodes/xref.el (xref--match-buffer-bounds):
18363         New function, extracted from xref-pulse-momentarily.
18364         (xref-query-replace): New command.
18365         (xref--query-replace-1): New helper function.
18366         (xref--xref-buffer-mode-map): Add `r' binding.
18368 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
18370         Simplify icalendar decoding of Z dates
18371         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
18372         Simplify calculation of time strings with trailing "Z".
18374 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
18376         Do not corrupt grep-find-ignored-files
18377         * lisp/progmodes/project.el (project-ignores): Change the order of
18378         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
18380         Add xref-match-item, and use it
18381         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
18382         (xref-file-location): Add reader for the column slot.
18383         (xref-match-item): New class.
18384         (xref-match-bounds): A method implementation for it.
18385         (xref-make-match): New constructor function.
18386         (xref--current-item): New private variable.
18387         (xref-pulse-momentarily): Use it.
18388         (xref--pop-to-location): Change the first argument to an xref
18389         item, instead of location, bind xref--current-item.
18390         Update all callers.
18391         (xref-next-line, xref-prev-line, xref--next-error-function)
18392         (xref--mouse-2): Look for the property `xref-item',
18393         instead of `xref-location'.
18394         (xref--item-at-point): Likewise.  This function replaces
18395         `xref-location-at-point'.  Update all callers.
18396         (xref--insert-xrefs): Add the `xref-item' text property, instead
18397         of `xref-location'.
18398         (xref--collect-match): Use xref-make-match.
18400         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
18401         Update all references.
18403         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
18404         slot to `summary'.
18406         vc-hg: Perform the print-log call asynchronously
18407         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
18408         asynchronously (bug#21067).
18410         Add xref-after-jump-hook and xref-after-return-hook
18411         * lisp/progmodes/xref.el (xref-after-jump-hook)
18412         (xref-after-return-hook): New hooks.
18413         (xref-pulse-on-jump): Remove, in favor of the above.
18414         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
18415         (xref--pop-to-location, xref--display-position)
18416         (xref-pop-marker-stack): Use the new hooks, as requested in
18417         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
18419 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
18421         * lisp/progmodes/js.el (js-mode): Correct the lighter.
18423 2015-07-19  Leo Liu  <sdl.web@gmail.com>
18425         Fix a bug in cfengine3-mode
18426         * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil
18427         eldoc-documentation-function.
18429 2015-07-18  Julien Danjou  <julien@danjou.info>
18431         sieve-mode: support "body" test command
18432         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
18433         Add missing "body" test command.
18435 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
18437         Fix info-apropos when the default encoding is Latin-N
18438         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
18439         'undecided', so that it is set to the encoding of the Info file we
18440         are about to insert.  Otherwise, 'info-apropos' will fail to find
18441         some index nodes in some UTF-8 encoded files, if the buffer's
18442         previous encoding is Latin-N or some such.
18444 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
18446         * lisp/epg.el (epg--start): Check that gpgconf can be found
18447         before calling it.
18449         Expose more file types to OS X that Emacs understands
18450         * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for
18451         sty, dtx, json, and org files.  Export UTIs for el, elc, and org files.
18453 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
18455         Fix visual-order cursor movement when lines are truncated
18456         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
18457         simulate display in a window of infinite width, to allow move_it_*
18458         functions reach positions outside of normal window dimensions.
18459         Remove code that tried to handle a subset of these situations by
18460         manual iteration of buffer text.  (Bug#17777)
18462         Fix following Info cross-references to anchors
18463         * lisp/info.el (Info-read-subfile): Add to the returned value the
18464         length of subfile preamble, after converting it to file's byte
18465         offset, as expected by the caller.  Use bufferpos-to-filepos.
18466         (Info-find-node-2): If searching for a node with a
18467         1000-character slop fails, try again with a 10000-character slop,
18468         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
18469         * lisp/international/mule-util.el (bufferpos-to-filepos): New
18470         function.
18471         * etc/NEWS: Mention bufferpos-to-filepos.
18473         Fix scrolling backwards on TTY frames under scroll-conservatively
18474         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
18475         in moving backwards on TTY frames.  (Bug#21080)
18477 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
18479         Consider a jsdoc tag to be a beginning of a paragraph as well
18480         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
18481         consider a jsdoc tag to be a beginning of a paragraph as well.
18483 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
18485         * lisp/emacs-lisp/package.el: Fix warnings.
18487         * lisp/emacs-lisp/package.el (package-buffer-info):
18488         Add author and maintainers to `package-buffer-info'.
18490         * lisp/emacs-lisp/package.el: Many small changes.
18491         Replace all instances of 'face with 'font-lock-face.
18492         (describe-package-1): Improve some strings and move the summary
18493         up the list.
18494         (package-install-file): Update docstring.
18495         (package-menu-hide-package): Bind to `H'.
18497         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
18498         Fix error handling.
18500 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18502         Fix hang with large yanks This should fix the bug fixed by Mike
18503         Crowe's patch in:
18504         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
18505         A problem in this area has been reported by several users; see
18506         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
18507         This fix differs from Mike Crowe's patch in that it should avoid a
18508         race condition that could lose SIGIO signals.  ignore_sigio dates
18509         back to the 1980s when some platforms couldn't block signals, and
18510         could only ignore them, which led to races when signals arrived
18511         while being ignored.  We shouldn't have to worry about those old
18512         platforms now.
18513         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
18514         * src/emacs.c (shut_down_emacs):
18515         Don't call ignore_sigio; unrequest_sigio should suffice.
18516         * src/keyboard.c (kbd_buffer_store_buffered_event):
18517         Use unrequest_sigio, not ignore_sigio.
18518         (kbd_buffer_get_event):
18519         Call request_sigio when getting the ball rolling again.
18521 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
18523         * lisp/obsolete/longlines.el (longlines-search-function):
18524         Fallback on `isearch-search-fun-default'.
18526 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
18528         Support @-mentions
18529         * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion
18530         of mentions/messages with @nick instead of just nick.
18532 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
18534         Fix bug#20943
18535         * lisp/autorevert.el (auto-revert-handler): Do not check for
18536         `buffer-modified-p'.
18537         * lisp/files.el (buffer-stale--default-function): Check for
18538         `buffer-modified-p'.
18539         * test/automated/auto-revert-tests.el
18540         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
18542 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
18544         Fix delete-dups bug on long lists
18545         * lisp/subr.el (delete-dups):
18546         Don't mistakenly keep some dups when applied to long lists.
18548 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
18550         Better heuristic for C stack overflow
18551         Improve the heuristic for distinguishing stack overflows from
18552         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
18553         the getrlimit method wasn't portable to Cygwin; see:
18554         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
18555         Corinna suggested pthread_getattr_np but this also has problems.
18556         Instead, replace the low-level system stuff with a simple
18557         heuristic based on known good stack addresses.
18558         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
18559         * src/sysdep.c: Don't include <sys/resource.h>.
18560         (stack_direction): Remove.  All uses removed.
18561         (stack_overflow): New function.
18562         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
18563         Make SEGV fatal in non-main threads.
18565 2015-07-16  Daiki Ueno  <ueno@gnu.org>
18567         epg: Automatically start pinentry server
18568         * lisp/epg-config.el (epg-gpgconf-program): New variable.
18569         * lisp/epg.el (epg--start): Call `pinentry-start' if
18570         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
18572 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
18574         * lisp/gnus/nnimap.el: Fix my last bogus change.
18575         Reinstall Stefan Monnier's change that was made in
18576         <83d824bc4041332f338ad7e5e830f443535aa300>.
18578 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18580         Merge from gnulib
18581         This incorporates:
18582         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
18583         2015-07-05 acl-permissions: Fix on FreeBSD
18584         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
18585         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
18586         * lib/set-permissions.c: Copy from gnulib.
18588         Port to stricter C99
18589         * src/keyboard.h (kbd_buffer_store_event_hold):
18590         Don't return a void expression.
18592 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
18594         * doc/emacs/frames.texi (Creating Frames):
18595         Fix the command `C-x 5 m' runs.
18597 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
18599         New autorevert tests
18600         * test/automated/auto-revert-tests.el: New file.
18602 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
18604         Clear gcprolist etc. after stack overflow
18605         After stack overflow, command_loop calls init_eval, and this needs to
18606         clear gcprolist and byte_stack_list (Bug#20996).
18607         * src/alloc.c (init_alloc):
18608         Move gcprolist and byte_stack_list initialization from here ...
18609         * src/eval.c (init_eval): ... to here.
18611 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
18613         * doc/emacs/windows.texi (Pop Up Window): Fix the description
18614         of `C-x 4 m'.
18616 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
18618         Avoid deprecated enums in mac-ct font backend driver
18619         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
18620         (mac_ctfont_get_advance_width_for_glyph)
18621         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
18623         Cache font family in mac-ct font backend driver
18624         * src/macfont.m (macfont_family_cache): New variable.
18625         (syms_of_macfont): Initialize it.
18626         (macfont_available_families_cache): New variable.
18627         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
18628         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
18629         (macfont_handle_font_change_notification)
18630         (macfont_init_font_change_handler)
18631         (macfont_copy_available_families_cache): New functions.
18632         (macfont_create_family_with_symbol): Use font family caches.
18633         (macfont_list, macfont_list_family):
18634         Use macfont_copy_available_families_cache instead of
18635         mac_font_create_available_families.
18637 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
18639         Show the default value in the prompt
18640         * lisp/progmodes/xref.el: Add `M-?' binding for
18641         xref-find-references.  Declare functions `grep-read-files' and
18642         `grep-expand-template'.
18643         (xref--read-identifier): Show the default value in the prompt.
18645         * lisp/progmodes/xref.el (xref-find-regexp): When called with
18646         prefix argument, ask for file patterns to search as well.  When
18647         prompting for the directory, require an existing one.
18648         (xref-collect-matches): Add a new argument, FILES.  Use it in the
18649         above function.
18651         Add `project-ignores'
18652         * lisp/progmodes/project.el (project-ignores): New generic
18653         function, and an implementation for the VC project type.
18654         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
18655         variant of rgrep-default-command that handles a generic list of
18656         ignores.
18657         (xref-collect-matches): Use it, and pass through to it the value
18658         of the newly added argument.
18659         (xref-find-regexp): Handle ignored paths within the project.
18660         Remove outdated comment.
18661         * lisp/vc/vc.el (vc-default-ignore-completion-table):
18662         Skip the comments and the empty lines.
18664 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
18666         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
18668 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
18670         gnus-registry.el: Correct function argument order
18671         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
18672         Reverse the order of function arguments.
18674 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
18676         Bind grep-highlight-matches to nil
18677         * lisp/progmodes/xref.el (xref-collect-matches):
18678         Bind grep-highlight-matches to nil (bug#20728).
18680 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
18682         nnimap.el: Fix IMAP message size parsing
18683         * lisp/gnus/nnimap.el (nnimap-transform-headers):
18684         Don't assume that UID comes before RFC822.SIZE.
18686 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
18688         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
18689         (auth-source-creation-prompts): Declare.
18690         (nnimap-retrieve-headers, nnimap-status-message)
18691         (nnimap-request-create-group, nnimap-request-delete-group)
18692         (nnimap-close-group, nnimap-request-move-article)
18693         (nnimap-request-accept-article, nnimap-request-newgroups)
18694         (nnimap-request-post, nnimap-dummy-active-number)
18695         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
18696         (nnimap-parse-flags): Remove unused var `p'.
18697         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
18698         (nnimap-flags-to-marks): Remove unused var `totalp'.
18700 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
18702         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
18704 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
18706         * src/macfont.m (macfont_list): Ignore font families lacking
18707         font descriptors.
18709 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
18711         Don't check the exit status, it can be misleading
18712         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
18713         exit status, it can be misleading.
18715         Introduce a Project API
18716         * lisp/progmodes/project.el: New file.
18717         * lisp/cedet/ede.el (project-try-ede): New function.
18718         (project-root): New implementation.
18719         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
18720         Set project-search-path-function.
18721         (elisp--xref-find-references): Delegate some logic to
18722         project-search-path.
18723         (elisp-search-path): New function.
18724         (elisp-xref-find): Don't implement `matches' anymore.
18725         * lisp/progmodes/etags.el: Don't implement `matches'.
18726         Delegate some logic to project-search-path.
18727         (etags-search-path): New function.
18728         * lisp/progmodes/xref.el (xref-find-function):
18729         Remove `matches' from the API.
18730         (xref-find-regexp): Move whatever common logic was in elisp and
18731         etags implementations, and search the directories returned by
18732         project-directories and project-search-path.
18734 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
18736         * test/automated/map-tests.el (test-map-delete-return-value):
18737         Uncomment test.
18739         Add support for gv.el in map.el
18740         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
18741         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
18742         * test/automated/map-tests.el: Update tests to work with the new
18743         implementations of map-elt and map-put.
18745 2015-07-09  Glenn Morris  <rgm@gnu.org>
18747         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
18749 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
18751         Syntax-propertize until the end of the line first
18752         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
18753         until the end of the line first.
18755 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
18757         * doc/emacs/files.texi (File Archives): Add a cross reference.
18759 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
18761         nnimap.el: Handle plain value for nnimap-stream
18762         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
18763         capabilities, so that a 'plain value for the `nnimap-stream' server
18764         variable is handled correctly.
18765         * doc/misc/gnus.texi (Customizing the IMAP Connection):
18766         Document the 'plain option.
18768 2015-07-08  Leo Liu  <sdl.web@gmail.com>
18770         Fix bug in thing-at-point--bounds-of-well-formed-url
18771         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
18772         sure boundary contains current point.
18774 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
18776         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse'
18777         in the end.
18779         Declare whitespace-line-column a safe file-local
18780         * lisp/whitespace.el (whitespace-line-column): Declare to be a
18781         safe file-local when the value is an integer.
18783 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
18785         gnus-group.el: Check if group names are already strings
18786         * lisp/gnus/gnus-group.el (gnus-group-group-name):
18787         The group name may already be a string.
18788         Specifically, in the group list reached from the *Server* buffer,
18789         the 'gnus-group text property returns a string.  Everywhere else
18790         it returns a symbol.
18792         nnimap.el: Remove unused let variables
18793         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
18795 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
18797         Support "maximized" property of runemacs's shortcut
18798         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
18799         the '--maximized' switch to Emacs.
18801         Support "minimized" property of runemacs's shortcut
18802         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
18803         pass the '--iconic' switch to Emacs.  (Bug#20991)
18805 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
18807         Doc fixes
18808         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
18809         C-w' in Diff mode.
18810         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
18811         Add a cross reference.
18813 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
18815         * lisp/obsolete/landmark.el: Add Obsolete-since header.
18817 2015-07-07  Glenn Morris  <rgm@gnu.org>
18819         * test/automated/ert-tests.el (ert-test-deftest):
18820         Update for recent changes.
18822 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
18824         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
18825         * lisp/emacs-lisp/gv.el (gv-setter): New function.
18826         (gv-invalid-place): New error.
18827         (gv-get): Use them.
18828         (gv-synthetic-place, gv-delay-error): New places.
18829         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
18830         (cl-defgeneric, cl-defmethod): Use gv-setter.
18832 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
18834         Make vc-tests work with MSYS svn program
18835         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
18836         svn is an MSYS program.
18838 2015-07-07  Ken Brown  <kbrown@cornell.edu>
18840         Improve recent change to emacsclient on Cygwin
18841         * lisp/server.el (server-process-filter): Remove redundant check
18842         that 'cygwin-convert-file-name-from-windows' is defined as a
18843         function on Cygwin.  Don't call that function unless its argument
18844         starts with a drive letter.
18846 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
18848         * lisp/emacs-lisp/package.el (package-compute-transaction):
18849         Fix void variable due to `found-something' being in the wrong `let'.
18851 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
18853         * lisp/play/landmark.el: Move to lisp/obsolete/.
18855 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
18857         Have `x-show-tip' handle `right' and `bottom' frame parameters
18858         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
18859         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
18860         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
18861         tooltips also via `right' and `bottom' frame parameters.
18863 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
18865         Add online-help support to describe types
18866         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
18867         (describe-symbol): Improve the selection of default.
18868         * lisp/help-mode.el: Require cl-lib.
18869         (describe-symbol-backends): Move from help-fns.el.
18870         (help-make-xrefs): Use it.
18871         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
18872         for types.
18873         (cl--typedef-regexp): New const.
18874         (find-function-regexp-alist): Add entry for types.
18875         (cl-help-type, cl-type-definition): New buttons.
18876         (cl-find-class): New function.
18877         (cl-describe-type): New command.
18878         (cl--describe-class, cl--describe-class-slot)
18879         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
18880         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
18881         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
18882         New functions.  Moved from eieio-opt.el.
18883         (cl--generic-class-parents): New function, extracted from
18884         cl--generic-struct-specializers.
18885         (cl--generic-struct-specializers): Use it.
18886         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
18887         Improve constructor's docstrings.
18888         (cl-struct-unknown-slot): New error.
18889         (cl-struct-slot-offset): Use it.
18890         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
18891         definition in current-load-list.
18892         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
18893         (eieio--add-new-slot): Set it.
18894         (eieio-defclass-internal): Use new name for current-load-list.
18895         (eieio-oref): Add compiler-macro to warn about unknown slots.
18896         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
18897         as compile-time as well.  Improve constructor docstrings.
18898         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
18899         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
18900         (eieio-class-def): Remove button.
18901         (eieio-help-constructor): Use new name for load-history element.
18902         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
18903         (eieio-method-documentation): Move to cl-generic.el.
18904         (eieio-display-method-list): Use new names.
18905         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
18906         Add "define-linline".
18907         (lisp-fdefs): Remove "defsubst".
18908         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
18909         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
18910         (macroexp--warn-and-return): Use it to avoid inf-loops.
18911         Add `compile-only' argument.
18913 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18915         python.el: Fix local/remote shell environment setup
18916         * lisp/progmodes/python.el (python-shell-with-environment):
18917         Fix remote/local environment setup.
18918         * test/automated/python-tests.el (python-shell-with-environment-1)
18919         (python-shell-with-environment-2): New tests.
18921 2015-07-06  Glenn Morris  <rgm@gnu.org>
18923         * lisp/simple.el (set-variable): Tweak recent doc fix.
18925 2015-07-06  Ken Brown  <kbrown@cornell.edu>
18927         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE.
18929 2015-07-06  Glenn Morris  <rgm@gnu.org>
18931         * lisp/simple.el (set-variable): Use user-error for type mismatch.
18933 2015-07-06  Ken Brown  <kbrown@cornell.edu>
18935         * src/emacs.c (main): Don't increase the stack size on Cygwin.
18937 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
18939         (describe-symbol): Rewrite describe-function-or-variable
18940         * lisp/help-fns.el (describe-symbol-backends): New var.
18941         (help-xref-stack-item): Declare.
18942         (describe-symbol): Rename from describe-function-or-variable.
18943         Rewrite using describe-symbol-backends instead of help-xref-interned.
18944         * lisp/help.el (help-map): Use it.
18945         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
18946         (help-xref-interned): Make it into an obsolete alias.
18948         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
18949         `file' arg (bug#20972).  Always use utf-8-emacs.  Use with-temp-buffer
18950         and cl-letf.
18952 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
18954         Fix parsing glitches in dired-mark-sexp (bug#13575)
18955         * lisp/dired-x.el (dired-x--string-to-number): New function.
18956         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
18957         of directory-listing-before-filename-regexp.  Consider
18958         forward-word harmful and replace it.  Add more verbiage in
18959         comments and doc string.
18961 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18963         python.el: Respect process environment for remote shells
18964         * lisp/progmodes/python.el
18965         (python-shell-calculate-process-environment): Calculate
18966         process-environment or tramp-remote-process-environment depending
18967         whether current file is remote.
18968         (python-shell-calculate-exec-path): Calculate exec-path or
18969         tramp-remote-path depending whether current file is remote.
18970         (python-shell-with-environment): New macro.
18971         (python-shell-prompt-detect, python-shell-calculate-command)
18972         (python-shell-make-comint, python-check): Use it.
18974         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
18975         * lisp/progmodes/python.el (python-shell--interpreter)
18976         (python-shell--interpreter-args): New vars.
18977         (inferior-python-mode, python-shell-make-comint): Use them.
18979         python.el: Fixes for IPython 3.x  (Bug#20580)
18980         * lisp/progmodes/python.el:
18981         (python-shell-completion-native-setup): Fix IPython 3.x setup.
18982         (python-shell-completion-native-get-completions): Fix timeout
18983         logic.
18985         python.el: Fix mark-defun behavior  (Bug#19665)
18986         * lisp/progmodes/python.el (python-mark-defun): New function.
18987         * test/automated/python-tests.el (python-mark-defun-1)
18988         (python-mark-defun-2, python-mark-defun-3): New tests.
18990 2015-07-05  Glenn Morris  <rgm@gnu.org>
18992         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
18993         such as "extends(parent), private".  (Bug#20969)
18994         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
18995         New tests.
18997 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18999         Avoid duplicate calls to current_timespec
19000         * src/process.c (wait_reading_process_output):
19001         Cache current_timespec results as long as we're not waiting.
19003 2015-07-05  Ian Kelling  <ian@iankelling.org>
19005         Avoid returning early reading process output due to SIGIO
19006         * src/process.c (wait_reading_process_output): Extend the behavior of
19007         not breaking due to not finding output when a timer has lowered the
19008         timeout to include when SIGIO lowers the timeout.
19010         Don't return as fast reading any process output
19011         * src/process.c (wait_reading_process_output):
19012         The patch for Bug#17647 returns too fast sometimes when reading
19013         from any processes.  Revert part of it, and limit the timeout more
19014         sensibly (Bug#20978).
19016         Refactor timeouts in wait_reading_process_output
19017         * src/process.c (wait_reading_process_output):
19018         Simplify timeouts with an enum.  Remove a redundant condition.
19019         (Bug#20978)
19021         Remove ADAPTIVE_READ_BUFFERING ifdef
19022         * src/process.c (make-process, make-pipe-process, deactivate_process)
19023         (wait_reading_process_output, read_process_output, send_process)
19024         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
19025         added in case there was an operating system in which it was not
19026         useful.  That was 11 years ago and it hasn't happened.  Make
19027         development easier by not considering the effect of changes on a
19028         theoretical OS where this is disabled (Bug#20978).
19030 2015-07-05  Glenn Morris  <rgm@gnu.org>
19032         * lisp/simple.el (set-variable): Doc fix.
19034         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
19036 2015-07-05  Ian Kelling  <ian@iankelling.org>
19038         accept-process-output fix
19039         This is a followon to the fix for bug#17647 (Bug#20976).
19040         * src/process.c (status_notify): Fix too high return in some cases.
19042 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
19044         * lisp/character-fold.el (character-fold-table):
19045         Only fold decompositions if at least one character is non-spacing.
19046         (Bug#20975)
19048 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19050         Merge from gnulib
19051         This incorporates:
19052         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
19053         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
19054         2015-07-02 update-copyright: fix test failure with perl >= 5.22
19055         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
19056         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
19057         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
19058         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
19060 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
19062         Respect `prog-indentation-context' in python.el
19063         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
19064         (python-indent-context, python-indent--calculate-indentation)
19065         (python-info-current-defun)
19066         (python-info-dedenter-opening-block-message)
19067         (python-info-line-ends-backslash-p)
19068         (python-info-beginning-of-backslash)
19069         (python-info-continuation-line-p): Use `prog-widen'.
19070         (python-indent--calculate-indentation)
19071         (python-indent--calculate-levels)
19072         (python-indent-calculate-indentation): Use `prog-first-column'.
19073         (python-indent--calculate-levels): Simplify.
19074         Ignore also initial empty lines for syntax calculation.
19075         * lisp/progmodes/python.el (python-indent-context): Return
19076         :no-indent for first non-empty line, not just in line 1.
19077         * test/automated/python-tests.el (python-indent-base-case)
19078         (python-indent-inside-paren-1, python-indent-inside-paren-2)
19079         (python-indent-inside-paren-3, python-indent-inside-paren-4)
19080         (python-indent-inside-paren-5, python-indent-inside-paren-6)
19081         (python-indent-after-backslash-1)
19082         (python-indent-after-backslash-2)
19083         (python-indent-after-backslash-3)
19084         (python-indent-after-backslash-4, python-indent-inside-string-1):
19085         Expect :no-indent for first non-empty line.
19087 2015-07-04  Daniel Colascione  <dancol@dancol.org>
19089         Factor isearch word description into new function
19090         * lisp/isearch.el (isearch--describe-word-mode): New function.
19091         (isearch-message-prefix, isearch-query-replace): Use it.
19093 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
19095         Fix mouse pointer on w32 when a menu is active
19096         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
19097         shape while a menu is in use.  This started happening since we now
19098         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
19100 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
19102         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
19103         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
19104         parameter.  (Bug#17344)
19106         Have `compilation-set-window' use right window for getting fringes
19107         (Bug#20829)
19108         * lisp/progmodes/compile.el (compilation-set-window):
19109         Take `window-fringes' from argument window.
19111 2015-07-03  Glenn Morris  <rgm@gnu.org>
19113         Update eieio tests for recent eieio-core change.
19114         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
19115         * test/automated/eieio-tests.el
19116         (eieio-test-32-slot-attribute-override-2):
19117         Replace the deleted eieio--class-v with cl--find-class.
19119 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
19121         Fix some issues with `window-divider-mode'
19122         * lisp/frame.el (window-divider-default-places): New option.
19123         (window-divider-mode): Remove option.
19124         (window-divider-mode): Make it a "regular" minor mode.
19125         (window-divider-width-valid-p): Drop frame- prefix.
19126         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
19127         prefix.  Handle `window-divider-default-places'.
19128         (frame--window-divider-mode-set-and-apply): Remove.
19129         (window-divider-default-bottom-width)
19130         (window-divider-default-right-width): Drop :group entries.
19131         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
19132         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
19133         (menu-bar-no-window-divider): Set `window-divider-default-places'
19134         and call `window-divider-mode'.
19135         * doc/emacs/frames.texi (Window Dividers): Document
19136         `window-divider-default-places'.
19138 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
19140         * doc/emacs/display.texi (Displaying Boundaries):
19141         * doc/emacs/search.texi (Word Search): Add cross references.
19143 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
19145         -batch should not affect ‘’ -> `' display
19146         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
19147         -batch (Bug#20926).
19149 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
19151         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
19152         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el:
19153         * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
19154         Use cl--find-class instead.
19156         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
19158 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
19160         Some further fixes in Change Window node (Bug#20183)
19161         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
19162         by "resizing" in section title.  Add some concept indices.
19163         Suggested by N. Jackson (Bug#20183).
19165         * doc/emacs/windows.texi (Change Window): Reference window
19166         dividers.
19168         Document new `window-divider-mode'.
19169         * lisp/frame.el (window-divider-mode): Fix doc-string.
19170         * doc/emacs/frames.texi (Window Dividers): New section.
19172         Improve accessibility of window dividers (Bug#20183)
19173         * lisp/faces.el (window-divider)
19174         (window-divider-first-pixel, window-divider-last-pixel): Change
19175         membership from `frames' to `window-divider' customization group.
19176         * lisp/frame.el (window-divider): New customization group.
19177         (window-divider-mode): New minor mode.
19178         (window-divider-default-bottom-width)
19179         (window-divider-default-right-width): New options.
19180         (frame--window-divider-previous-mode): New variable.
19181         (frame-window-divider-width-valid-p)
19182         (frame--window-divider-mode-apply)
19183         (frame--window-divider-mode-set-and-apply): New functions.
19184         * lisp/menu-bar.el (menu-bar-options-save): Save
19185         window-divider-mode settings.
19186         (menu-bar-window-divider-customize)
19187         (menu-bar-bottom-and-right-window-divider)
19188         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
19189         (menu-bar-no-window-divider): New functions.
19190         (menu-bar-showhide-window-divider-menu): New variable.
19191         (menu-bar-showhide-menu): Show/hide window divider menu.
19192         * lisp/mouse.el (mouse-split-window-vertically)
19193         (mouse-split-window-horizontally): Replace `error' by
19194         `user-error'.  Bind `window-combination-resize' to nil.
19195         (top-level): Add/reorder mouse key bindings on mode- and
19196         vertical-line.
19198 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
19200         Don't display ‘’ as `' under X in en_GB
19201         The curved quote setup code invokes (char-displayable-p ?‘),
19202         but this isn’t reliable until after the X frame replaces the
19203         terminal frame (Bug#20926).
19204         * lisp/international/mule-cmds.el (set-locale-environment):
19205         Move curved quote setup code from here ...
19206         * lisp/startup.el (command-line): ... to here, after creating
19207         the X frame.
19209 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
19211         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring.
19213         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
19214         to reverse the meaning (Bug#15631).
19216 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
19218         Be more tolerant to fonts named "Foobar-12"
19219         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
19220         don't barf; instead, request a new fontset to be generated.  This
19221         avoids unnecessarily rejecting fonts named against XLFD rules.  See
19222         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
19223         for the description of the original problem.
19224         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
19225         by a hyphen in a font's name.
19227         Fix value of posn-at-pont in R2L lines
19228         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
19229         coordinate of -1, for a newline in a right-to-left line that
19230         overflowed into the left fringe.
19232 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
19234         (cl--copy-slot-descriptor): Copy the `props' alist as well
19235         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
19236         Rename from cl--copy-slot-descriptor.
19237         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
19239 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
19241         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
19242         (xterm-query-timeout): New var.
19243         (xterm--query): Use it.  Fallback on async method if we timeout before
19244         getting the first byte of the reply (bug#12354).
19246 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19248         Spelling fixes
19249         * lisp/character-fold.el (character-fold-search):
19250         * lisp/emacs-lisp/package.el (package-hidden-regexps):
19251         Fix typos.
19253 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
19255         * doc/emacs/frames.texi (Frame Commands): Typo fix.  (Bug#20946)
19257 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19259         In strings, prefer plain ` and ' to \` and \'
19260         * lisp/allout.el (allout-insert-listified):
19261         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
19262         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
19263         (ls-lisp-string-lessp):
19264         * lisp/menu-bar.el (menu-bar-open):
19265         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
19266         * lisp/progmodes/compile.el (compile):
19267         * lisp/progmodes/etags.el (tags-loop-scan):
19268         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
19269         * lisp/subr.el (posn-actual-col-row):
19270         * lisp/term/pc-win.el (x-list-fonts):
19271         * lisp/textmodes/texinfmt.el (texinfmt-version):
19272         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
19273         * lisp/time.el (display-time-world-list):
19274         * lisp/tmm.el (tmm-menubar):
19275         * src/buffer.c (syms_of_buffer):
19276         * src/fileio.c (syms_of_fileio):
19277         Omit unnecessary and confusing backslash before quote.
19278         * lisp/erc/erc.el (erc-cmd-LASTLOG):
19279         * lisp/progmodes/flymake.el (flymake-fix-file-name):
19280         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
19281         Fix string that was intended to escape a backslash and not a quote.
19283 2015-06-30  Glenn Morris  <rgm@gnu.org>
19285         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
19287         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
19288         Replace hard-coded lists with wildcard + filter-out.
19290         * configure.ac (system-configuration-features): Add X11, NS.
19292         Improve reproducibility of generated loaddefs file
19293         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
19294         Make the return value the modtime of the input file (if no autoloads).
19295         (update-directory-autoloads): In the "no autoloads" section,
19296         use "most recent modtime" rather than "current time".
19298 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
19300         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic.
19301         (Bug#20930)
19303 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
19305         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
19307         Add seq-min and seq-max
19308         Bump version number.
19309         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
19310         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
19312 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
19314         Make sure sleep-for always delays for as long as it's told
19315         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
19316         a loop, to ensure we always wait exactly the required amount of
19317         time.  (Bug#15990)
19319 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19321         Fix pointer signedness glitch
19322         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
19324 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
19326         Don't block changes in mouse pointer inside 'track-mouse'
19327         * etc/NEWS:
19328         * doc/lispref/frames.texi (Mouse Tracking): Document the special
19329         effect of setting 'track-mouse' to 'dragging'.
19330         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
19331         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
19332         * lisp/mouse-drag.el (mouse-drag-throw):
19333         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
19334         to avoid changes in the shape of the mouse pointer.
19335         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
19336         pointer shape when do_mouse_tracking has the value of 'dragging',
19337         not just any non-nil value.  (Bug#20934)
19338         (syms_of_xdisp): DEFSYM 'dragging'.
19340 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
19342         * lisp/isearch.el (isearch-toggle-word): Fix toggle.
19344         * lisp/emacs-lisp/package.el (package-compute-transaction):
19345         Don't assume version sorting.
19347         * lisp/emacs-lisp/package.el (package--save-selected-packages):
19348         Don't save before init time, to avoid overwriting configurations.
19349         (Bug#20855)
19351 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
19353         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
19354         references.
19356 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
19358         Update for the upcoming CFEngine 3.7 release: support macros and
19359         quoted context strings; reformat JSON; indent promise attributes 2
19360         units by default; give function parameter descriptions in the eldoc
19361         glue.
19362         * lisp/progmodes/cfengine.el: Update version and docs and fix name.
19363         Autoload `json-pretty-print'.  Support new features in 3.7.
19364         (cfengine-parameters-indent): Set default promise attribute indent to
19365         2 more than the promise itself.
19366         (cfengine3-macro-regex): New variable to match the new macro syntax.
19367         (cfengine3-font-lock-keywords): Use it to highlight macros.
19368         (cfengine3-indent-line): Use it to indent macros to column 0.
19369         (cfengine3-class-selector-regex): Update for the new quoted strings
19370         format.
19371         (cfengine3-reformat-json-string): New function to reformat a JSON
19372         string using `json-pretty-print'.
19373         (cfengine3-format-function-docstring): Use function parameter
19374         description if it's provided by the cf-promises syntax dump.
19376 2015-06-29  Michael R. Mauger  <michael@mauger.com>
19378         Cygwin emacsclient handles w32 file names
19379         * lisp/server.el (server-process-filter): Allow Cygwin's
19380         emacsclient to be used as a file handler on MS-Windows.
19382 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
19384         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice
19385         (bug#20925).
19387 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
19389         * doc/lispref/text.texi (Sticky Properties): Improve wording.
19390         (Bug#20924)
19392         Allow font names that end in "-NN", where NN is a number
19393         * src/font.c (font_load_for_lface): If the font-spec didn't match
19394         any available fonts, try again without interpreting trailing "-NN"
19395         as the font size.  For the description of the original problem, see
19396         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
19398         .gdbinit followup to changes in !USE_LSB_TAG
19399         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
19400         !USE_LSB_TAG, as Emacs no longer does.
19402 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
19404         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
19405         Otherwise `s p' of f and F will stomp on each other's value.
19406         (Bug#20916)
19408 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
19410         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
19411         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
19413 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
19415         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point
19416         as additional guess.
19418         * lisp/emacs-lisp/package.el (describe-package): Convert the guess
19419         to a string.
19421 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
19423         apropos-library quoting fix
19424         * lisp/apropos.el (apropos-library): Quote library consistently
19425         with the rest of the quoting used by apropos.
19427         Clarify interpreter-mode-alist doc
19428         * lisp/files.el (interpreter-mode-alist):
19429         Reword to avoid confusing quoting that wasn't working anyway.
19431 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
19433         Sync with Tramp 2.2.12
19434         * doc/misc/trampver.texi:
19435         * lisp/net/trampver.el: Update release number.
19436         * test/automated/tramp-tests.el (tramp-test13-make-directory):
19437         Fix cleanup.
19439 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
19441         * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913).
19443 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
19445         Bind grep-highlight-matches around the rgrep call
19446         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
19447         around the rgrep call (bug#20728).
19449         Put "--color" before the other options in grep-command
19450         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
19451         before the other options in grep-command (bug#20912).
19453         Add --color Grep option to the command dynamically
19454         * lisp/progmodes/grep.el (grep-template, grep-find-template):
19455         Update the description for <C>.  (Bug#20728)
19456         (grep-compute-defaults): Don't add the --color option to
19457         grep-options.  Only add it to grep-command.
19458         (grep-expand-keywords): Expand the env value opts into <C>.
19459         (grep-expand-template): Replace cf in the env with the opts list,
19460         that can include -i and --color.
19461         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
19462         "--color=always" from the template, because we don't have to.
19464 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
19466         cl-extra fixes for most-negative-fixnum
19467         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
19468         Don't mishandle an argument equal to most-negative-fixnum,
19469         whose absolute value equals itself.
19470         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
19472         Initialize cl--gensym-counter to 0
19473         Previously it was initialized to a random value, which made it
19474         harder to reproduce earlier Emacs runs.  The need for a random
19475         value went away when Emacs introduced and used the #: syntax for
19476         uninterned symbols (Bug#20862).
19477         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
19478         Document that cl--gensym-counter now starts with 0.
19479         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
19480         (cl--random-time): Move to near only remaining use.
19481         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
19483         Improve docstring for macroexp-let2
19484         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
19485         Improve as per suggestion by RMS in:
19486         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
19487         Also, rename args to match new doc string.
19489 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
19491         Fix VC test suite on MS-Windows
19492         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
19493         always starts with 3 slashes after the colon.
19494         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
19495         'w32-application-type' to invoke CVS on MS-Windows with properly
19496         formatted CVSROOT directory name.
19498         Add a new function w32-application-type
19499         * src/w32proc.c (Fw32_application_type): New function.
19501         Avoid error in TLS connections due to incorrect format
19502         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
19503         the call to 'error', instead of the unsupported %u.  Reported by
19504         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
19506 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
19508         * lisp/replace.el (replace-search): Fix regexp case (bug#20901).
19510 2015-06-26  Leo Liu  <sdl.web@gmail.com>
19512         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
19513         `with-output-to-string' in elisp.
19515         Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of
19516         with-output-to-string".
19517         This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
19519 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
19521         Minor corrections in ELisp manual
19522         * doc/lispref/nonascii.texi (Character Properties): Correct
19523         inaccuracies in description of values of the Unicode properties.
19525         Fix invisible mouse pointers on Windows.
19526         * src/w32fns.c: Include windowsx.h.
19527         (w32_wnd_proc): If the mouse moved and the mouse pointer is
19528         invisible, make it visible again even when the main (Lisp)
19529         thread is busy.
19530         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
19531         garbaging the frame have the input thread call SetCursor.
19533 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
19535         Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922)
19536         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
19537         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
19538         * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible.
19539         (w32_toggle_invisible_pointer): New function.
19540         (w32_create_terminal): Add w32_toggle_invisible_pointer as
19541         toggle_invisible_pointer_hook for this terminal.
19543 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
19545         Doc fix for deletion commands
19546         'delete-char' does not respect the value of 'delete-active-region'.
19547         * doc/emacs/killing.texi (Deletion):
19548         Fix documentation for some single-char deletion commands.
19550         * doc/emacs/help.texi (Apropos):
19551         Improve documentation of 'apropos-do-all'.
19553         * doc/emacs/help.texi (Help Summary):
19554         Improve documentation of 'describe-mode'.
19556 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
19558         Fix submake dependency bug with .h files
19559         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
19560         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
19561         before the submake in $(libsrc) would spin off a subsubmake
19562         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
19564 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
19566         * lisp/character-fold.el (character-fold-table): Reuse `table'.
19568 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
19570         Translate undisplayable ‘ to `
19571         * doc/lispref/help.texi (Keys in Documentation):
19572         * lisp/international/mule-cmds.el (set-locale-environment):
19573         * lisp/term/w32console.el (terminal-init-w32console):
19574         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
19575         If ‘ is not displayable, transliterate it to `, not to '.  See:
19576         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
19578         Fix C99 incompatibilities in Cairo code
19579         * src/image.c (xpm_load) [USE_CAIRO]:
19580         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
19581         Fix pointer signedness problem.
19583 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
19585         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
19586         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
19587         `with-output-to-string' should have the same indent as `progn'.
19588         This is in line with the declaration of `with-output-to-string'.
19590 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
19592         Get ‘./configure; make -C src emacs’ to work
19593         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
19594         * lib-src/Makefile.in (../lib/libgnu.a):
19595         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
19597 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19599         Fix GC bugs --with-wide-int and Qnil == 0
19600         Use the same alignment for the !USE_LSB_TAG case as for the
19601         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
19602         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
19603         once we changed the representation of symbols so that Qnil == 0.
19604         Problem reported by Eli Zaretskii (Bug#20862).
19605         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
19606         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
19607         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
19608         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
19609         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
19610         This optimization in the !USE_LSB_TAG case is no longer valid when
19611         symbols are represented via offsets.  Change the only use to
19612         assume that pointers might hide in objects.
19613         * src/lisp.h (alignas) [!USE_LSB_TAG]:
19614         Require support in this case, too.
19615         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
19616         This is OK, because the !USE_LSB_TAG case now applies only when
19617         Lisp_Object is wider than void *, so there's no longer any need
19618         to shift the offset.  Not shifting the offset means that
19619         symbol representations have the same alignment as pointers,
19620         which the GC assumes.
19622 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
19624         * doc/lispintro/emacs-lisp-intro.texi (Data types):
19625         Improve documentation of 'substring'.
19627 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
19629         * lisp/character-fold.el (character-fold-table): Fix table generation.
19631 2015-06-24  Glenn Morris  <rgm@gnu.org>
19633         * nextstep/Makefile.in (all): Make it the first target.
19634         (../src/emacs${EXEEXT}): Add rule for making it.
19636 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
19638         * etc/NEWS: Fix mention to old function name.
19640         * lisp/character-fold.el: New file (Bug#20887)
19641         (character-fold-to-regexp): New function.
19642         * lisp/replace.el (replace-search): Check value of
19643         `character-fold-search'.
19644         * lisp/isearch.el: Move character-folding code to
19645         character-fold.el
19646         (isearch-toggle-character-fold): New command.
19647         (isearch-mode-map): Bind it to "\M-sf".
19648         (isearch-mode): Check value of `character-fold-search'.
19650 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
19652         lisp/subr.el (remove-from-invisibility-spec): Handle the t case
19653         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
19654         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
19656         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
19657         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
19659 2015-06-24  Glenn Morris  <rgm@gnu.org>
19661         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
19663 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
19665         lisp/gnus/nnmaildir.el: Silence lexical warnings
19666         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
19667         functional style.
19668         (nnmaildir--update-nov): Remove unused var `numdir'.
19669         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
19670         (nnmaildir-request-group, nnmaildir-request-create-group)
19671         (nnmaildir-request-post, nnmaildir-request-move-article)
19672         (nnmaildir-request-accept-article, nnmaildir-active-number):
19673         Mark unused args.
19674         (nnmaildir-get-new-mail, nnmaildir-group-alist)
19675         (nnmaildir-active-file): Declare.
19676         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
19677         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
19678         `mark', `end', `new-mark', and `mark-sym'.
19679         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
19680         `nlist2'.
19681         (nnmaildir-request-expire-articles):
19682         Remove unused vars `article', `stop' and `nlist2'.
19683         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
19684         `end'.  Use nnmaildir--article when dyn-binding is needed.
19685         Give the value directly in the `let' for `del-mark', `del-action',
19686         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
19687         (nnmaildir-close-server): Declare those local vars that need to be
19688         dyn-bound.
19690 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19692         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
19694         Port selection info fix to clang
19695         * src/keyboard.h (kbd_buffer_store_event_hold):
19696         Don't assume C11 semantics for alignof (Bug#20756).
19698         Fix bug that munged selection info
19699         On some optimizing C compilers, copying a structure did not
19700         copy the padding bytes between elements, and the type punning
19701         between struct input_data and struct selection_input_data did
19702         not work.  Change the C code to use a proper union type instead.
19703         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
19704         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
19705         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
19706         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
19707         (mark_kboards):
19708         Use union buffered_input_event, not struct input_event.
19709         (clear_event, deliver_input_available_signal, process_special_events):
19710         Remove unnecessary forward decls.
19711         (kbd_buffer_store_buffered_event): New function, mostly just the
19712         old kbd_buffer_store_event_hold, except its argument is of type
19713         union buffered_input_event, not struct input_event.
19714         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
19715         not needed otherwise.  Argument is now of type
19716         struct selection_input_event *, not struct input_event *.
19717         All callers changed.
19718         (clear_event): Arg is now of type union buffered_input_event *,
19719         not struct input_event *.  All callers changed.
19720         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
19721         (union buffered_input_event): New type.
19722         (kbd_buffer_store_event_hold): Now an inline function,
19723         defined here.
19724         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
19725         (struct input_event): Use it.
19726         * src/xselect.c (struct selection_event_queue):
19727         Make elements be of type struct selection_input_event,
19728         not struct input_event.
19729         (selection_input_event_equal): New static function.
19730         (x_queue_event): Use it.
19731         (x_queue_event, x_decline_selection_request)
19732         (x_selection_current_request, x_reply_selection_request)
19733         (x_handle_selection_request, x_handle_selection_clear)
19734         (x_handle_selection_event): Use struct selection_input_event,
19735         not struct input_event.  All callers changed.
19736         (x_convert_selection): Omit unused first arg.  All callers changed.
19737         (Fx_disown_selection_internal): Omit unnecessary union.
19738         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
19739         rather than rolling our own equivalent.  Prefer sie.kind when
19740         setting up that kind of structure.
19741         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
19742         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
19743         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
19744         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
19745         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
19746         (SELECTION_EVENT_TIME, x_handle_selection_event):
19747         Arg is now of type struct selection_input_event *)
19748         not struct input_event *.  All callers changed.
19750 2015-06-23  Glenn Morris  <rgm@gnu.org>
19752         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
19754 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
19756         * lisp/isearch.el: Fold many unicode characters to ASCII.
19757         (isearch-character-fold-search, isearch--character-fold-extras)
19758         (isearch--character-fold-table): New variable.
19759         (isearch--character-folded-regexp): New function.
19760         (isearch-search-fun-default): Use them.
19761         * lisp/replace.el (replace-character-fold): New variable.
19762         (replace-search): Use it.
19763         * etc/NEWS: Document it.
19765 2015-06-23  Glenn Morris  <rgm@gnu.org>
19767         Check for an input event before showing a dialog box.  (Bug#20813)
19768         * lisp/subr.el (y-or-n-p):
19769         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
19770         as last-nonmenu-event.
19772 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
19774         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
19775         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
19776         (switch-to-prev-buffer, switch-to-next-buffer): Respect
19777         switch-to-visible-buffer independent of the windows history.
19779 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
19781         * src/keyboard.c (last_timer_event): Remove unused var.
19783 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
19785         * test/automated/package-test.el (package-test-update-listing):
19786         Fix test.
19788 2015-06-23  Glenn Morris  <rgm@gnu.org>
19790         Revert 2014-06-25 nextstep/Makefile change.
19791         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
19792         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
19793         not as an order-only prerequisite.
19795         * configure.ac (--with-ns): Enable by default on OS X.
19797 2015-06-23  Leo Liu  <sdl.web@gmail.com>
19799         Fix shell-for/backward-command to exclude spaces
19800         * lisp/shell.el (shell-forward-command, shell-backward-command):
19801           Handle the 'move case from re-search-forward/backward.
19802           fixes debbugs:20873
19804 2015-06-22  Juri Linkov  <juri@linkov.net>
19806         * lisp/replace.el (query-replace-read-from): Add separator to
19807         the local binding of text-property-default-nonsticky.  (Bug#20690)
19809         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
19810         (Bug#20785)
19812 2015-06-22  Ken Brown  <kbrown@cornell.edu>
19814         Enable CPU profiling on Cygwin
19815         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
19816         change that undefined this.
19817         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
19818         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
19819           Cygwin.
19821         Improve diagnostics of profiler-cpu-start
19822         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
19823         return -1 if the sampling interval is invalid.
19824         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
19825         fails.  (Bug#20843)
19827 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
19829         * lisp/emacs-lisp/package.el: Exclude packages by name.
19830         (package-hidden-regexps): New variable.
19831         (package-menu--refresh): Use it.
19832         (package-menu-hide-package): New command.
19834         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding.
19836 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
19838         Fix debug-timer-check on systems without HAVE_TIMERFD
19839         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
19840         the expired timers, since wait_reading_process_output doesn't.
19841         (debug_timer_callback): Enlarge the tolerance to 20 msec.
19843         Fix RCS crashes in vc-test
19844         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
19845         ports of 'ci' on MS-Windows by always passing the -t- switch.
19847 2015-06-22  Glenn Morris  <rgm@gnu.org>
19849         * doc/emacs/package.texi (Packages):
19850         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
19852         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
19854 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19856         Port tests to help-quote-translation
19857         * test/automated/ert-x-tests.el (ert-test-describe-test):
19858         * test/automated/package-test.el (package-test-describe-package)
19859         (package-test-signed): Allow straight quotes, too.
19861 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
19863         Make find-function-on-key use the current window
19864         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
19865         Extract from `find-function-on-key', add a second argument.
19866         (find-function-on-key): Use it (bug#19679).
19867         (find-function-on-key-other-window)
19868         (find-function-on-key-other-frame): New commands.
19870 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
19872         Revert "Define `map-elt' as a generalized variable"
19873         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
19875 2015-06-21  Ken Brown  <kbrown@cornell.edu>
19877         Drop support for CPU profiling on Cygwin
19878         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
19879         (Bug#20843)
19881 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19883         Fix some “nested” quoting confusion in doc strings
19884         * lisp/emacs-lisp/advice.el (ad-map-arglists):
19885         * lisp/kermit.el (kermit-clean-on):
19886         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
19887         * src/keyboard.c (Frecursive_edit):
19888         Use curved quotes when quoting text containing apostrophe,
19889         so that the apostrophe isn't curved in the output.
19891 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
19893         Define `map-elt' as a generalized variable
19894         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
19895         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
19896         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
19897         `setf' with `map-elt'.
19898         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
19900 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
19902         Improve error handling in tramp-adb.el
19903         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
19904         Improve error handling.
19906 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
19908         Reuse `alist-get' in map.el
19909         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
19910         elements.
19912 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
19914         Fix bytecomp-tests--warnings when $TMPDIR has a long name
19915         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
19916         Allow the warning to begin on the 3rd, not only 2nd line, which
19917         happens if temporary-file-directory has a very long name.
19919         Expect 2 icalendar tests to fail on MS-Windows
19920         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
19921         (icalendar-real-world): Make them expected failures on MS-Windows.
19923 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
19925         Improve port of settings UI to older displays
19926         * lisp/cus-start.el (standard): Don't assume curved quotes are
19927         easily distinguishable when users are tinkering with a setting
19928         that affects how curved quotes are generated.
19930         Fix quoting in electric-quote-mode doc string
19931         * lisp/electric.el (electric-quote-mode): Fix quoting.
19932         This is a fallout from the recent change introducing
19933         ‘help-quote-translation’.
19935         Spelling fix
19937         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
19939         * src/doc.c (syms_of_doc): Remove unused symbols.
19941 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
19943         * lisp/window.el (window-state-put): Undedicate target window
19944         before putting STATE into it.  (Bug#20848)
19946 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
19948         Merge from origin/emacs-24
19949         a5e6f33 Fixes: debbugs:20832
19950         b9f02cf Fixes: debbugs:20832
19952 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
19954         Fix file-in-directory-p when the directory is UNC
19955         * lisp/files.el (file-in-directory-p): Support files and
19956         directories that begin with "//".  (Bug#20844)
19958 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
19960         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
19961         in the minibuffer.  (Bug#20832)
19963 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
19965         * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer
19966         for adding new todo file is empty but modified.  (Bug#20832)
19968 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
19970         (filepos-to-bufferpos): Further tweaks to the utf-16 code
19971         * lisp/international/mule-util.el (filepos-to-bufferpos):
19972         Fix typo.  Move non-exact check to the utf-16 branch (the only one
19973         affected).  Don't use byte-to-position for the utf-16 case.
19975 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
19977         Minor fixes in filepos-to-bufferpos
19978         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
19979         test for utf-8-emacs.  Exempt single-byte encodings from the
19980         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
19981         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
19982         UTF-16 encoded files for CR-LF EOLs.
19984 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
19986         Improve the optional translation of quotes
19987         Fix several problems with the recently-added custom variable
19988         help-quote-translation where the code would quote inconsistently
19989         in help buffers.  Add support for quoting 'like this', which
19990         is common in other GNU programs in ASCII environments.  Change
19991         help-quote-translation to use more mnemonic values: values are now the
19992         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
19993         traditional Emacs help-buffer quoting style `like this'.  Change the
19994         default behavior of substitute-command-keys to match what's done in
19995         set-locale-environment, i.e., quote ‘like this’ if displayable,
19996         'like this' otherwise.
19997         * doc/lispref/help.texi (Keys in Documentation): Document
19998         new behavior of substitute-command-keys, and document
19999         help-quote-translation.
20000         * doc/lispref/tips.texi (Documentation Tips):
20001         Mention the effect of help-quote-translation.
20002         * etc/NEWS: Mention new behavior of substitute-command-keys,
20003         and merge help-quote-translation news into it.
20004         When talking about doc strings, mention new ways to type quotes.
20005         * lisp/cedet/mode-local.el (overload-docstring-extension):
20006         Revert my recent change to this function, which shouldn't be
20007         needed as the result is a doc string.
20008         * lisp/cedet/mode-local.el (mode-local-print-binding)
20009         (mode-local-describe-bindings-2):
20010         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
20011         * lisp/cus-theme.el (describe-theme-1):
20012         * lisp/descr-text.el (describe-text-properties-1, describe-char):
20013         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
20014         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
20015         (eieio-help-constructor):
20016         * lisp/emacs-lisp/package.el (describe-package-1):
20017         * lisp/faces.el (describe-face):
20018         * lisp/help-fns.el (help-fns--key-bindings)
20019         (help-fns--compiler-macro, help-fns--parent-mode)
20020         (help-fns--obsolete, help-fns--interactive-only)
20021         (describe-function-1, describe-variable):
20022         * lisp/help.el (describe-mode):
20023         Use substitute-command-keys to ensure a more-consistent quoting
20024         style in help buffers.
20025         * lisp/cus-start.el (standard):
20026         Document new help-quote-translation behavior.
20027         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
20028         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
20029         (help-xref-url-regexp):
20030         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
20031         * lisp/wid-edit.el (widget-documentation-link-regexp):
20032         Also match 'foo', in case we're in a help buffer generated when
20033         help-quote-translation is ?'.
20034         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
20035         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
20036         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
20037         (Fsubstitute_command_keys): Document and implement new behavior.
20038         (Vhelp_quote_translation): Document new behavior.
20040 2015-06-18  Glenn Morris  <rgm@gnu.org>
20042         * lisp/cus-start.el (help-quote-translation): Add :version.
20044         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
20046 2015-06-18  Alan Mackenzie  <acm@muc.de>
20048         Make translation of quotes to curly in doc strings optional.
20049         * src/doc.c (traditional, prefer-unicode): New symbols.
20050         (help-quote-translation): New variable.
20051         (Fsubstitute_command_keys): Make translation of quotes dependent on
20052         `help-quote-translation'; also translate curly quotes back to ASCII
20053         ones.
20054         * lisp/cus-start.el (top-level): Add a customization entry for
20055         `help-quote-translation'.
20057 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
20059         * lisp/emacs-lisp/package.el: Don't always propagate async errors
20060         (package--with-work-buffer-async): Only propagate the error if the
20061         callback returns non-nil.
20062         (package--download-one-archive): Return nil on the signature
20063         checking callback if we accept unsigned.
20064         (package--download-and-read-archives): Return non-nil on the
20065         archive download callback.
20067 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
20069         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
20070         * src/nsfns.m (Fx_create_frame):
20071         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
20072         image_cache_refcount before first x_default_parameter call.
20074 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
20076         Improve and extend filepos-to-bufferpos
20077         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
20078         Don't barf if F returns nil for some argument.
20079         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
20080         that every encoding of type 'charset' is single-byte.
20082 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
20084         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
20085         Properly delete packages.  (Bug#20836)
20087 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
20089         Update data files from just-released Unicode 8.0
20090         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
20091         status.
20092         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
20093         * admin/unidata/BidiMirroring.txt:
20094         * admin/unidata/BidiBrackets.txt:
20095         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
20097 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
20099         Document curved quotes a bit better
20100         * doc/emacs/basic.texi (Inserting Text):
20101         Mention C-x 8.  Change example to use curved quote rather
20102         than infinity, as this lets us give more ways to do it.
20103         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
20104         and quotation marks.
20105         * doc/emacs/text.texi (Quotation Marks):
20106         * doc/lispref/tips.texi (Documentation Tips):
20107         Add "curly quotes" and "curved quotes" to the index.
20108         * doc/emacs/text.texi (Quotation Marks):
20109         Give the C-x 8 shorthands for curved quotes.
20110         Cross-reference to "Quotation Marks".
20112 2015-06-17  Daiki Ueno  <ueno@gnu.org>
20114         Add pinentry.el for better GnuPG integration
20115         * lisp/pinentry.el: New file.
20116         * etc/NEWS: Add entry about pinentry.el.
20117         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
20118         (Bug#20550)
20120 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
20122         * lisp/emacs-lisp/package.el: Slightly better error reporting.
20124 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
20126         (define-minor-mode): Use setq-default for :global minor modes
20127         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
20128         Use setq-default for :global minor modes (bug#20712).
20130 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
20132         Avoid infloop in redisplay with tall images
20133         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
20134         down near ZV.  (Bug#20808)
20135         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
20136         instead of CHARPOS.
20138 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
20140         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
20141         Fix error reporting.
20143         * lisp/emacs-lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
20145         * lisp/emacs-lisp/package.el: Revert buffer after any operation
20146         Call `package-menu--post-refresh' after any operation that changes
20147         the package database (`package-install' and `package-delete').  To
20148         avoid performance issues in large transactions, these functions
20149         add `post-refresh' to `post-command-hook' instead of calling it
20150         immediately.
20151         (package-menu--mark-or-notify-upgrades): New function.
20152         (list-packages): Add it to `package--post-download-archives-hook'.
20153         (package-menu--post-refresh): Lose the upgrade-checking code, add
20154         code to remove itself from `post-command-hook'.
20155         (package-install, package-delete): Add it to `post-command-hook'.
20156         (package-menu-execute): Don't call `package-menu--post-refresh'.
20158 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
20160         Add missing function xref-location-group for elisp-mode.
20161         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
20163 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
20165         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
20166         The behavior now matches the description in the manual.  (Bug#20783)
20168 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
20170         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
20172 2015-06-17  Glenn Morris  <rgm@gnu.org>
20174         Generate char-script-table from Unicode source.  (Bug#20789)
20175         * admin/unidata/Makefile.in (AWK): New, set by configure.
20176         (all): Add charscript.el.
20177         (blocks): New variable.
20178         (charscript.el, ${unidir}/charscript.el): New targets.
20179         (extraclean): Also remove generated charscript.el.
20180         * admin/unidata/blocks.awk: New script.
20181         * admin/unidata/Blocks.txt: New data file, from unicode.org.
20182         * lisp/international/characters.el: Load charscript.
20183         * src/Makefile.in (charscript): New variable.
20184         (${charscript}): New target.
20185         (${lispintdir}/characters.elc): Depend on charscript.elc.
20186         (temacs$(EXEEXT)): Depend on charscript.
20188         * lisp/international/characters.el (char-script-table): Tweak
20189         some ranges to better match the source.  (Bug#20789#17)
20191         Remove "no-byte-compile: t" from a few files.
20192         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
20193         * lisp/obsolete/patcomp.el: No reason not to compile these.
20195 2015-06-16  Glenn Morris  <rgm@gnu.org>
20197         Fix some typos in copied Unicode data.  (Bug#20789)
20198         * lisp/international/characters.el (char-script-table):
20199         * lisp/international/fontset.el (script-representative-chars)
20200         (setup-default-fontset): Fix typos.
20202         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
20203         Don't print filename twice (it's in the prefix now).
20205         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
20206         No longer needed.
20208         Address a compilation warning.
20209         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
20210         Replace 't' with '_' in pcase.
20212         Address some check-declare warnings.
20213         * lisp/simple.el (tabulated-list-print):
20214         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
20215         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
20216         (ns-get-selection): Update declarations.
20218         Address some compilation warnings.
20219         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
20220         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
20221         Replace 't' with '_' in pcase.
20223         Address some compilation warnings.
20224         * lisp/face-remap.el (text-scale-adjust):
20225         * lisp/menu-bar.el (popup-menu-normalize-position):
20226         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
20227         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
20228         * lisp/emacs-lisp/generator.el (cps--transform-1):
20229         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
20230         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
20231         * lisp/progmodes/octave.el (octave-goto-function-definition)
20232         (octave-find-definition-default-filename):
20233         Replace 't' with '_' in pcase.
20235         * lisp/emacs-lisp/pcase.el (pcase--u1):
20236         Paper-over today's bootstrap failure.
20238 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
20240         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
20242         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
20244         Better confirmation message in `find-alternate-file' (Bug#20830)
20245         * lisp/files.el (find-alternate-file'): Improve the confirmation
20246         message to show the buffer name.
20248         Better docstring for null.  (Bug#20815)
20249         * src/data.c (null): Improves the docstring, saying what null returns
20250         when OBJECT is non-nil.
20252 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
20254         * lisp/net/newst-treeview.el: Use lexical-binding.
20256         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
20257         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
20258         New auxiliary function, extracted from filepos-to-bufferpos.
20259         Make sure it terminates.
20260         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
20261         Add support for the `exact' quality.
20263 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
20265         Identify feeds in newsticker treeview with :nt-feed property
20266         * lisp/net/newst-treeview.el:
20267         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
20269 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
20271         * lisp/emacs-lisp/pcase.el: Improve docs and error handling.
20272         (pcase--self-quoting-p): Floats aren't self-quoting.
20273         (pcase): Tweak docstring.
20274         (pcase--u1): Deprecate the t pattern.  Improve error detection for
20275         the nil pattern.
20276         (\`): Tweak docstring.  Signal an error for unrecognized cases.
20277         (bug#20784)
20279 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
20281         Fix infloop in filepos-to-bufferpos
20282         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
20283         offset calculation, and make it conditional on the eol-type of the
20284         file's encoding.  (Bug#20825)
20286 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
20288         Fix handling of image cache refcounts.  (Bug#20802)
20289         This backports Eli Zaretskii's solution of this problem for W32
20290         to X and NS.
20291         * src/nsfns.m (image_cache_refcount): Define unconditionally.
20292         (unwind_create_frame): If the image cache's reference count
20293         hasn't been updated yet, do that now.
20294         (Fx_create_frame): Set image_cache_refcount unconditionally.
20295         * src/xfns.c (image_cache_refcount): Define unconditionally.
20296         (unwind_create_frame): If the image cache's reference count
20297         hasn't been updated yet, do that now.
20298         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
20299         unconditionally.
20300         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
20301         X and NS.
20303 2015-06-16  Nils Ackermann  <nils@ackermath.info>
20305         Improve reftex-label-regexps default value
20306         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
20307         keyvals label regexp more strict to better cope with unbalanced
20308         brackets common in math documents.
20310 2015-06-16  Glenn Morris  <rgm@gnu.org>
20312         * doc/emacs/calendar.texi (Format of Diary File):
20313         Move "nonmarking" from here...
20314         (Displaying the Diary): ... to here.
20316         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
20317         Swap the order of these nodes.
20318         * doc/emacs/emacs.texi: Update detailed menu for the above change.
20320         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
20321         Update date of examples.
20322         (Diary, Format of Diary File): Move example from former to latter.
20323         Reduce duplication.
20325         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
20326         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
20327         Don't set no-byte-compile in the outputs.
20328         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
20330 2015-06-15  Glenn Morris  <rgm@gnu.org>
20332         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
20333         * doc/emacs/calendar.texi (Diary, Format of Diary File):
20334         Update for above diary-file change.
20336         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
20337         (apply-macro-to-region-lines): Use user-error.
20339         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
20340         (pages-directory-for-addresses): Doc fixes.
20342 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
20344         * lisp/info.el: Cleanup bytepos/charpos issues
20345         * lisp/international/mule-util.el: Use lexical-binding.
20346         (filepos-to-bufferpos): New function.
20347         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
20348         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
20349         (Info-read-subfile, Info-search): Use 0-based file positions.
20351         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
20352         (perl--syntax-exp-intro-keywords): New var.
20353         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
20354         (bug#20800).
20356 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
20358         Fix quoting when making derived mode docstring
20359         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
20360         Nest regexp-quote inside format, not the reverse.
20361         Problem reported by Artur Malabarba in:
20362         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
20364 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
20366         Fix current-iso639-language on MS-Windows
20367         * lisp/international/mule-cmds.el (set-locale-environment):
20368         Downcase the locale name before interning it.  This is so the
20369         'current-iso639-language' on MS-Windows matches the ':lang'
20370         property of font-spec objects.
20372         Limit Symbola usage some more
20373         * lisp/international/fontset.el (setup-default-fontset): Limit
20374         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
20375         (Bug#20727)
20377 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
20379         * lisp/emacs-lisp/map.el (map-let): Better docstring.
20381 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
20383         * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f):
20384         (help-fns-test-funny-names): Spelling fixes.
20386 2015-06-14  Glenn Morris  <rgm@gnu.org>
20388         * lisp/version.el (emacs-repository-version-git): Demote errors.
20389         Check result is a hash.
20391 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
20393         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
20394         Catch errors that happen before going async.  (Bug#20809)
20396 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
20398         Another improvement of documentation of set-fontset-font
20399         * doc/lispref/display.texi (Fontsets): Say explicitly that
20400         CHARACTER can be a single codepoint.
20401         * src/fontset.c (Fset_fontset_font): Doc fix.
20403         Another improvement for symbol and punctuation characters
20404         * lisp/international/fontset.el (setup-default-fontset): Exclude
20405         from Symbola character ranges for symbols and punctuation covered
20406         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
20407         installed and where its coverage of symbols and punctuation is
20408         known to be good.  (Bug#20727)
20410 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
20412         Some generic support for multi-mode indentation.
20413         * lisp/progmodes/prog-mode.el (prog-indentation-context):
20414         New variable.
20415         (prog-first-column, prog-widen): New convenience functions.
20417 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
20419         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
20420         Don't assume that `tabulated-list-printer' will leave point at the
20421         end of the buffer.  (Bug#20810)
20423 2015-06-13  Glenn Morris  <rgm@gnu.org>
20425         Tweaks for getting repository version; a bit more like it was for bzr
20426         * lisp/version.el (emacs-repository-version-git)
20427         (emacs-repository--version-git-1): New functions,
20428         split from emacs-repository-get-version.
20429         (emacs-repository-get-version): Make the second argument meaningful.
20431         * lisp/startup.el (command-line-1): Inform if skipping relative
20432         file names due to deleted PWD.
20434         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
20435         when starup directory is missing.  (Bug#18851)
20436         (errno.h): Include it.
20438 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
20440         Better fix for documenting `X as "`X"
20441         Fix suggested by Stefan Monnier.
20442         * lisp/help-fns.el (help-fns--signature):
20443         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
20444         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
20445         Don't treat `X specially, as help-fns--signature now handles this.
20447 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
20449         Improve the default fontset when Symbola is not installed
20450         * lisp/international/fontset.el (setup-default-fontset): Only
20451         prepend Symbola and FreeMono font specs for symbols and
20452         punctuation; do not replace the default spec for them.  This
20453         should have better results when Symbola/FreeMono are not
20454         installed.  (Bug#20727)
20456         Improve documentation of ':lang' in font specs
20457         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
20458         use of the ':lang' property of the font spec.
20459         * doc/emacs/frames.texi (Fonts): Document the language names that
20460         can be in the STYLE part of XLFD.
20461         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
20462         property.
20464         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
20466         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
20468         Revert last change in fontset.el
20469         * lisp/international/fontset.el (setup-default-fontset): Revert
20470         the change "Configure Symbola font only if installed", since font
20471         search is evidently not yet set up when this function is called.
20472         (Bug#20727)
20474 2015-06-12  Glenn Morris  <rgm@gnu.org>
20476         Ensure early startup warnings are visible at the end.  (Bug#20792)
20477         * lisp/emacs-lisp/warnings.el (display-warning):
20478         If startup isn't complete, delay the warning.
20479         * lisp/startup.el (normal-top-level, command-line):
20480         Let display-warning automatically handle the needed delays.
20481         Run delayed-warnings-hook.
20483         * lisp/version.el (emacs-repository-get-version):
20484         Avoid calling external executable if possible.  (Bug#20799)
20486 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
20488         Document `X as "`X", not as "(` X)"
20489         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
20490         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
20492         * src/print.c (print_object): Minor simplification.
20494 2015-06-12  Glenn Morris  <rgm@gnu.org>
20496         * src/buffer.c (init_buffer): Add final newline to message.
20498 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
20500         Configure Symbola font only if installed
20501         * lisp/international/fontset.el (setup-default-fontset):
20502         Don't specify the Symbola font if it's not installed.
20503         Likewise for FreeMono.  (Bug#20727)
20505 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
20507         Configure Symbola font only for symbols and punctuation
20508         * lisp/international/fontset.el (setup-default-fontset): Leave
20509         only symbols and punctuation in the fontset setup for Symbola
20510         font; remove "Greek and Coptic" and "Cyrillic Supplement".
20511         (Bug#20798)
20513 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
20515         Fix crash in fontset-info
20516         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
20517         non-nil.
20519 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
20521         Port to Solaris 10 sparc + Sun C 5.13
20522         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
20523         Adjust to process.c change.
20524         * src/process.c (create_process): Declare volatile variables at
20525         top level of this function, so that they're less likely to be
20526         reused later in the function in the code executed by the vforked
20527         child.  Do not declare locals used only in the vforked child, as
20528         they might share memory with locals still live in the parent.
20529         Instead, use the same variables in the child as in the parent.
20530         This works around a subtle bug that causes a garbage collector
20531         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
20533 2015-06-12  Glenn Morris  <rgm@gnu.org>
20535         * lisp/startup.el (normal-top-level): Don't let *Messages* get
20536         a nil default-directory.
20538 2015-06-11  Glenn Morris  <rgm@gnu.org>
20540         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
20542         Some progress towards starting with PWD deleted.  (Bug#18851)
20543         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
20544         * lisp/startup.el (normal-top-level, command-line-1):
20545         * lisp/minibuffer.el (read-file-name-default):
20546         Handle default-directory being nil.
20548 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
20550         Fix "not a tty" bug on Solaris 10
20551         * configure.ac (PTY_OPEN): Define to plain 'open'
20552         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
20553         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
20554         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
20555         hosts that call grantpt which does its work via a setuid subcommand
20556         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
20557         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
20558         seems relevant in that case too.
20560 2015-06-11  Juri Linkov  <juri@linkov.net>
20562         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
20563         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
20564         (Bug#20785)
20566 2015-06-11  Glenn Morris  <rgm@gnu.org>
20568         * lisp/international/characters.el (char-script-table): Fix typo.
20570 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
20572         Fix quoting of help for functions with odd names
20573         While investigating Bug#20759, I discovered other quoting problems:
20574         C-h f mishandled characters like backslash and quote in function names.
20575         This fix changes the behavior so that 'C-h f pcase RET' now
20576         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
20577         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
20578         in src/lread.c's read1 function says that the backslash will be
20579         needed starting in Emacs 25, which implies that 'format' is
20580         correct and the old pcase documention was wrong to omit the backslash.
20581         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
20582         * lisp/help-fns.el (help-fns--signature):
20583         * lisp/help.el (help-add-fundoc-usage):
20584         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
20585         Use help--make-usage-docstring rather than formatting
20586         help-make-usage.
20587         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
20588         Return raw docstring.
20589         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
20590         raw docstring.  Take more care to distinguish raw from cooked dstrings.
20591         (describe-function-1): Let help-fns--signature substitute
20592         command keys.
20593         * lisp/help.el (help--docstring-quote): New function.
20594         (help-split-fundoc): Use it, to quote funny characters more
20595         systematically.
20596         (help--make-usage): Rename from help-make-usage, since this
20597         should be private.  Leave an obsolete alias for the old name.
20598         (help--make-usage-docstring): New function.
20599         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
20601 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
20603         * lisp/thingatpt.el (in-string-p): Revert last change,
20604         since in-string-p is not used in thingatpt.el but only from outside.
20605         Also, use lexical binding.
20607 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
20609         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
20610         * test/automated/let-alist.el (let-alist-cons): Test it.
20612 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
20614         * src/syntax.c (Fbackward_prefix_chars): Reword docstring.
20616 2015-06-10  Glenn Morris  <rgm@gnu.org>
20618         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
20620         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
20621         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
20622         * admin/gitmerge.el (gitmerge-commit-message):
20623         Exclude "skipped" messages from ChangeLog once again.
20625         Slight namespace cleanup for thingatpt.el.
20626         * lisp/thingatpt.el (thing-at-point--in-string-p)
20627         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
20628         (thing-at-point--read-from-whole-string): Rename from
20629         old versions without "thing-at-point--" prefix.
20630         Keep old versions as obsolete aliases.  Update all uses.
20632         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
20633         Move requiring of finder from here...
20634         (checkdoc-package-keywords): ... to here.
20636         Use 'user-error' in a few calendar files.
20637         * lisp/calendar/appt.el (appt-add):
20638         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
20639         (calendar-generate):
20640         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
20641         Replace 'error' with 'user-error'.
20643         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
20645         * lisp/files-x.el (add-file-local-variable):
20646         Special-case 'lexical-binding'.  (Bug#20641)
20648         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
20649         No longer autoload.
20650         * doc/misc/autotype.texi (Executables):
20651         Undocument executable-self-display.
20653         * lisp/progmodes/executable.el (executable-self-display):
20654         Use non-obsolete tail syntax.  (Bug#20779)
20655         (executable-self-display): Doc update.
20657 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
20659         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
20660         (finder-known-keywords): Silence byte-compiler.
20662 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
20664         * lisp/simple.el (eval-expression): Macroexpand before evaluating
20665         (bug#20730).
20667         * lisp/progmodes/sh-script.el: Better handle nested quotes.
20668         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
20669         (sh-font-lock-quoted-subshell): Make sure double quotes within single
20670         quotes don't mistakenly end prematurely the surrounding string.
20672         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
20674 2015-06-09  Glenn Morris  <rgm@gnu.org>
20676         * test/automated/Makefile.in (ELFILES): Sort.
20678         * Makefile.in (SUBDIR_MAKEFILES):
20679         * lwlib/Makefile.in (WARN_CFLAGS):
20680         Use built-in Make functions rather than echo+sed.
20682 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
20684         Update char-script-table
20685         * lisp/international/characters.el (char-script-table): Update
20686         from Unicode 8.0 Draft.
20688         Improve font selection for punctuation and other symbols
20689         * src/fontset.c (face_for_char): If the character's script is
20690         'symbol', and the font used for ASCII face has a glyph for it, use
20691         the font for the ASCII face instead of searching the fontsets.
20692         This comes instead of NS-specific code that used the current
20693         face's font instead, which is now disabled due to undesirable
20694         consequences.  (Bug#20727)
20696 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
20698         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
20699         Skip past `#' to find BEG (bug#20771).
20700         * test/automated/elisp-mode-tests.el
20701         (elisp-completes-functions-after-hash-quote): New test.
20703 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
20705         Fix compilation warning/error in --without-x builds
20706         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
20707         code on HAVE_WINDOW_SYSTEM.
20709         Improve the default fontset wrt symbols
20710         * lisp/international/fontset.el (setup-default-fontset): Better
20711         setup of fontset-default for symbols: use Symbola and FreeMono.
20712         (Bug#20727)
20714 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
20716         Add new command checkdoc-package-keywords
20717         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
20718         New defcustom.
20719         (checkdoc-list-of-strings-p): Add doc.
20720         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
20721         non-nil, call `checkdoc-package-keywords'.
20722         (checkdoc-get-keywords): New defun.
20723         (checkdoc-package-keywords): New command.  Warns if the current file
20724         has package.el-style keywords that aren't in `finder-known-keywords'.
20725         * etc/NEWS: Add entry.
20727 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
20729         Avoid crashes when key-binding is called from a timer
20730         * src/keymap.c (Fkey_binding): Don't segfault if called with an
20731         empty vector as KEY.  (Bug#20705)
20733         Fix a thinko in arc-mode.el
20734         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
20735         non-Zip64 case.  (Bug#20769)
20737 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
20739         * lisp/emacs-lisp/package.el (package-delete): Make interactive.
20741 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
20743         * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function.
20744         (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to
20745         "*warn*", print the warning to the standard output.  (bug#20754)
20747 2015-06-07  Glenn Morris  <rgm@gnu.org>
20749         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
20751         * src/font.c (syms_of_font) <font-log>: Doc fix.
20753         Remove the obsolete leading "*" from some C doc strings.
20754         * src/coding.c (syms_of_coding):
20755         * src/font.c (syms_of_font): Remove leading "*" from docs.
20756         * lisp/cus-start.el (enable-character-translation): Add it.
20758 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
20760         Move gen_origin from program to data
20761         That way, 'make change-history' needs to change only ChangeLog.2,
20762         instead of having to change two files.
20763         * ChangeLog.2: Add commit info for range that this file covers.
20764         * Makefile.in (new_commit_regexp): New macro.
20765         (change-history-nocommit): Simplify, by putting what used to be
20766         the gen_origin value into the data (ChangeLog.2) rather than
20767         into the program (gitlog-to-emacslog).
20768         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
20769         the input file (e.g., ChangeLog.2) rather than by having a
20770         constant in the program.  Substitute it into the output.
20772 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
20774         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
20775         function name (bug#20759).
20777 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
20779         Adapt 'struct timespec' to next release of MinGW runtime
20780         * nt/inc/ms-w32.h (struct timespec): Don't declare if
20781         __struct_timespec_defined is defined.
20783 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
20785         Merge from gnulib
20786         This incorporates:
20787         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
20788         2015-06-05 stdio: Don't redefine gets when using C++
20789         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
20790         2015-06-02 file-has-acl: fix build on Mac OS X 10
20791         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
20792         2015-06-01 pthread_sigmask: discount system version if a simple macro
20793         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
20794         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
20795         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
20796         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
20797         * lib/gnulib.mk: Regenerate.
20799 2015-06-06  Juri Linkov  <juri@linkov.net>
20801         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
20802         before calling grep-compute-defaults because now it affects the
20803         command lines computed in grep-compute-defaults.  (Bug#20728)
20805 2015-06-06  Glenn Morris  <rgm@gnu.org>
20807         Address some compilation warnings.
20808         * lisp/international/mule-cmds.el (w32-get-console-codepage)
20809         (w32-get-console-output-codepage):
20810         * lisp/progmodes/elisp-mode.el (xref-collect-references):
20811         * lisp/version.el (cairo-version-string): Declare.
20812         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
20814 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
20816         Fix display when a font claims large values of ascent and descent
20817         This fixes bug#20628.
20818         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
20819         coordinate of a hollow cursor glyph when the original glyph's
20820         ascent is too small.
20821         (get_font_ascent_descent, normal_char_ascent_descent)
20822         (normal_char_height): New functions.
20823         (handle_single_display_spec, append_space_for_newline)
20824         (calc_pixel_width_or_height, produce_stretch_glyph)
20825         (calc_line_height_property): Use normal_char_ascent_descent and
20826         normal_char_height.
20827         (x_produce_glyphs): When font-global values of ascent and descent
20828         are too large, use per-character glyph metrics instead, if
20829         possible.  But don't allow the glyph row's ascent and descent
20830         values become smaller than the values from the metrics of the
20831         font's "normal" character.
20832         * src/xftfont.c (xftfont_draw):
20833         * src/w32font.c (w32font_draw): Correct the values of ascent and
20834         descent used to draw glyphless characters' hex code in a box.
20835         * src/xterm.c (x_draw_glyph_string_background):
20836         * src/xdisp.c (x_produce_glyphs):
20837         * src/w32term.c (x_draw_glyph_string_background):
20838         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
20839         to detect fonts whose global ascent and descent values are too
20840         large to be used in layout decision, and redraw the background
20841         when that happens.
20842         * src/dispextern.h (FONT_TOO_HIGH): New macro.
20843         (get_font_ascent_descent): Add prototype.
20844         * src/xterm.c (x_new_font):
20845         * src/w32term.c (x_new_font):
20846         * src/nsterm.m (x_new_font):
20847         * src/font.c (font_open_entity):
20848         * src/composite.c (composition_gstring_width):
20849         Use get_font_ascent_descent to obtain reasonable values for ascent
20850         and descent of a font.
20852 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
20854         Add assertion in adjust_point_for_property
20855         * src/keyboard.c (adjust_point_for_property): Add eassert for
20856         current buffer being shown in selected window.
20858 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
20860         Replace uses of in-string-p; make it obsolete
20861         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
20862         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
20864 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
20866         Fix Dired display of an explicit list of files by ls-lisp.el
20867         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
20868         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
20869         correct for when displaying individual files separately, not as
20870         part of listing a directory, in which case these values are not
20871         recomputed by 'ls-lisp-insert-directory', but used verbatim.
20873         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
20875 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
20877         Do not adjust point in a non-selected window
20878         * src/keyboard.c (command_loop_1): Do not adjust point when
20879         current buffer is not shown in selected window (Bug#20590).
20881         * etc/DEBUG: Mention 'maybe_call_debugger'
20883 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
20885         Fix a unit test for map.el
20886         * test/automated/map-tests.el (test-map-let): Fix the test to work
20887         with the new syntax of `map-let'.
20889         * lisp/emacs-lisp/map.el (map-let): Better docstring.
20891         Better syntax for the map pcase pattern
20892         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
20893         bindings of the form (KEY PAT) or SYMBOL.  KEY is not quoted.
20895         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
20897         Fix a byte-compiler error in map-put and map-delete
20898         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
20899         called with a symbol.
20901 2015-06-05  Glenn Morris  <rgm@gnu.org>
20903         * admin/gitmerge.el (gitmerge-commit-message):
20904         Revert to including "skipped" messages in ChangeLog once again.
20906 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
20908         Use string> instead of equiv lambda with string<
20909         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
20910         lambda with string<.
20912 2015-06-05  Glenn Morris  <rgm@gnu.org>
20914         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
20915         (map--delete-array): Fix typo.
20917         * test/automated/map-tests.el: Replace "assert" with "should".
20919         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
20920         (SUBDIRS_REL): Derive from SUBDIRS.
20922         Tweak some build messages.
20923         * lisp/Makefile.in ($(lisp)/loaddefs.el):
20924         * lisp/cus-dep.el (custom-make-dependencies):
20925         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
20926         * lisp/international/titdic-cnv.el (batch-titdic-convert):
20927         Don't say how to compile.
20929 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20931         Omit U+0332 COMBINING LOW LINE in previous change
20932         It turns out that it does not work on Ubuntu 15.04.
20934         Fix transliteration of Bahá'í months
20935         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
20936         Improve quality of Latin transliteration of Bahá'í month names.
20938         Fix curved quotes in a few places
20939         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
20940         The strings in question are not doc strings, so this partially
20941         undoes the recent change that assumed they were doc strings.
20942         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
20943         * lisp/info.el (Info-finder-find-node):
20944         Use curved quotes.
20945         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
20946         Also allow curved quotes in doc strings.
20948 2015-06-04  Glenn Morris  <rgm@gnu.org>
20950         * lisp/Makefile.in (AM_V_at): Add missing definition.
20952         * lisp/Makefile.in: Quieten output a bit.
20953         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
20954         Don't echo directories, since the commands we invoke print them.
20956         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
20957         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
20958         (SUBDIRS_SUBDIRS): New variables.
20959         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
20960         Remove.
20961         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
20962         (update-subdirs, compile-main, compile-clean):
20963         Replace "setwins" usage with new "SUBDIRS" variables.
20965         * lisp/vc/compare-w.el (compare-windows-get-window-function):
20966         Fix :version tag.
20968 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
20970         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
20972         Undo removal of x_clear_area call on expose for GTK3 or cairo
20973         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]:
20974         Clear exposed area.  (Bug#20677)
20976 2015-06-04  Glenn Morris  <rgm@gnu.org>
20978         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
20980         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
20982         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
20983         Rename from quail-lao-update-translation, since lao.el defines that.
20985 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
20987         Handle new-style advice in find-funct
20988         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
20989         Handle new-style advice.  Return the symbol's function definition.
20990         (Bug#20718)
20991         (find-function-library): Update accordingly.
20993 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
20995         Merge branch 'map'
20997         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
20999         Add new function string-greaterp
21000         * lisp/subr.el (string-greaterp): New function.  Also aliased to
21001         `string>'.
21002         * test/automated/subr-tests.el (string-comparison-test): Add unit
21003         tests for `string>'and `string<'.
21004         * src/fns.c (string-lessp): Better docstring.
21006 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
21008         Fix timezone-related functions on MS-Windows
21009         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
21010         'xputenv', even if no reallocation of tzvalbuf was necessary.
21011         This fixes a bug in timezone-related functions on MS-Windows.
21012         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
21014 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
21016         Don't pass raw directory name to 'error'
21017         * lisp/files.el (basic-save-buffer-2): Avoid format error if
21018         a directory name contains a string like "%s".
21020 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
21022         Override 'grep --color=always'
21023         * lisp/progmodes/xref.el (xref-collect-matches):
21024         Override --color=always in grep-find-template.
21026 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
21028         Fix error introduced recently in file-notify-tests.el
21029         * test/automated/file-notify-tests.el
21030         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
21031         (file-notify--deftest-remote): Revert previous patch, not
21032         necessary anymore.
21034 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
21036         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
21037         Starting from a display string after a newline, point went to the
21038         previous line.  Also, fix an inadvertent use of a buffer position
21039         with FETCH_BYTE.  (Bug#20701)
21041 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
21043         Instrument file-notify-test.el in order to catch hydra error
21044         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
21045         Wrap body by `ignore-case', in order to trap non-local errors.
21047 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21049         Undo previous changes in non-toolkit scroll bar drawing
21050         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
21051         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
21053 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
21055         * .gitignore: Also ignore doc/*/*/*.html and .ps.
21057         Support quotes 'like this' in info files
21058         This is possible when 'makeinfo --disable-encoding' is used
21059         in Texinfo 5.
21060         * lisp/calc/calc-help.el (calc-describe-thing):
21061         * lisp/gnus/gnus-art.el (gnus-button-alist):
21062         * lisp/info.el (Info-find-index-name):
21063         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
21064         Also support quotes 'like this'.
21065         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
21066         * lisp/finder.el (finder-font-lock-keywords): Remove var that
21067         hasn't been used in years, instead of bothering to fix its quoting.
21069 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21071         * .gitignore: Remove !test/etags/html-src/*.html.
21072         It's no longer needed, since *.html was removed.  Sort.
21074 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
21076         Restore <D> instead of '.' in grep-find-template
21077         * lisp/cedet/semantic/symref/grep.el
21078         (semantic-symref-grep-use-template): Update a comment.
21079         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
21080         instead of '.' in grep-find-template (bug#20719).
21081         (rgrep): Pass nil as the directory to rgrep-default-command.
21082         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
21083         default value for DIR.
21084         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
21085         workaround.
21087 2015-06-02  Glenn Morris  <rgm@gnu.org>
21089         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
21091         * configure.ac (emacs_config_features): Add Cairo.
21093         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
21095 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
21097         Ensure that autorevert works for remote files in file-notify-tests.el
21098         * test/automated/file-notify-tests.el (file-notify--test-desc):
21099         New defvar.
21100         (file-notify--test-remote-enabled)
21101         (file-notify-test00-availability, file-notify-test01-add-watch)
21102         (file-notify-test02-events): Use it.
21103         (file-notify--test-event-test): Check proper descriptor.
21104         (file-notify-test03-autorevert): Ensure that
21105         `visited-file-modtime' has changed.  (Bug#20392)
21107 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
21109         Add a pcase pattern for maps and `map-let' based on it
21110         * lisp/emacs-lisp/map.el (map-let): New macro.
21111         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
21112         * test/automated/map-tests.el: New test for `map-let'.
21114 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
21116         Reuse rgrep mechanics in xref-find-regexp
21117         * lisp/progmodes/grep.el (rgrep-default-command):
21118         Extract from `rgrep'.
21119         * lisp/progmodes/xref.el (xref-collect-references): Split from
21120         `xref-collect-matches'.  Only handle the case of symbol search.
21121         (xref-collect-matches): Instead of Semantic Symref, use
21122         `rgrep-default-command', to take advantage of its directory and
21123         file ignore settings.
21124         (xref--collect-match): Remove the last argument, leaving the
21125         regexp construction up to the caller.
21126         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
21127         Change to take the xref-collect- function to use as an argument.
21128         (elisp-xref-find): Update accordingly.
21129         * lisp/progmodes/etags.el (etags--xref-find-matches)
21130         (etags-xref-find): Same.
21132         Move xref-elisp-location to elisp-mode.el
21133         * lisp/progmodes/xref.el (xref-elisp-location)
21134         (xref-make-elisp-location, xref-location-marker): Remove here.
21135         (xref--xref): Don't limit the type of the location slot.
21136         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
21137         Define as a cl-struct here.
21138         (xref-location-marker): Move here.
21140 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
21142         Minor tweaks for .gitignore
21143         * .gitignore: Don't ignore versioned *.html and *.ps files.
21144         Don't ignore admin/notes/tags that might be ignored as TAGS
21145         on case-insensitive filesystems.  (Bug#20710)
21147 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21149         Generate curved quotes in ert doc
21150         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
21151         (ert-results-mode-menu)
21152         (ert-results-pop-to-backtrace-for-test-at-point)
21153         (ert-results-pop-to-messages-for-test-at-point)
21154         (ert-results-pop-to-should-forms-for-test-at-point)
21155         (ert-describe-test):
21156         Quote ‘like this’, not `like this', when generating doc strings
21157         and the like.
21158         * test/automated/ert-x-tests.el (ert-test-describe-test):
21159         Allow quoting ‘like this’.
21161 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
21163         Add test for previous commit
21164         * test/automated/replace-tests.el: New file.
21165         (query-replace--split-string-tests): Add test for previous commit.
21167         Avoid confusion in query-replace history when replacing NUL chars
21168         * lisp/replace.el (query-replace--split-string): New function.
21169         (query-replace-read-from): Rely on the 'separator' property
21170         instead of searching for the NUL character (Bug#20690).
21172 2015-06-02  Glenn Morris  <rgm@gnu.org>
21174         Merge from origin/emacs-24
21175         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
21177         * admin/gitmerge.el (gitmerge-commit-message):
21178         Exclude "skipped" messages from ChangeLog.
21180 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
21182         Sync with Tramp repository
21183         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
21184         messages.
21185         (tramp-handle-make-auto-save-file-name): When calling
21186         `make-auto-save-file-name' internally, make sure it uses Unix-like
21187         behavior, not Windows-like behavior.
21188         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
21189         the local case, because "chown" might fail on w32.
21190         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
21191         for XEmacs.
21193 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
21195         MS-Windows followup for batch stdout/stderr output changes
21196         * lisp/international/mule-cmds.el (set-locale-environment):
21197         In batch mode, use console codepages for keyboard and terminal
21198         encoding.  (Bug#20545)
21200         Update .gitattributes for DOS EOL files
21201         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
21202         CRLF end-of-line format.
21204         NS equivalents of xterm.c and w32term.c changes
21205         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
21206         glyph string background also when the font in use claims
21207         preposterously large global height value.  Helps to remove
21208         artifacts left from previous displays when glyphless characters
21209         are displayed as hex code in a box.
21210         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
21211         value for FRAME_LINE_HEIGHT, even when a font claims very large
21212         value for its height.
21214 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
21216         Avoid grave accent quoting in stderr diagnostics
21217         A few Emacs diagnostics go directly to stderr, and so can't easily
21218         contain curved quotes (as non-UTF-8 locales might mishandle them).
21219         Instead of bothering to add support for this rarity, reword the
21220         diagnostics so that they don't use grave accent to quote.
21221         * src/alloc.c (mark_memory): Fix comment.
21222         * src/buffer.c (init_buffer):
21223         * src/dispnew.c (init_display):
21224         * src/emacs.c (main, sort_args):
21225         * src/lread.c (dir_warning):
21226         * src/term.c (init_tty):
21227         * src/unexmacosx.c (unexec):
21228         * src/xfns.c (select_visual):
21229         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
21230         Reword stderr diagnostics to avoid quoting `like this'.
21231         * src/unexmacosx.c: Include errno.h.
21232         * src/xfns.c (select_visual): Encode value for locale.
21234 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
21236         Treat batch stdout/stderr like standard display
21237         Calls like (print FOO) could generate improperly encoded or
21238         hard-to-read output if FOO contains characters outside the system
21239         locale.  Fix this by treating batch stdout and stderr like
21240         interactive standard display, when it comes to transliterating and
21241         encoding characters (Bug#20545).
21242         * doc/emacs/mule.texi (Communication Coding):
21243         * doc/lispref/display.texi (Active Display Table):
21244         * doc/lispref/nonascii.texi (Locales):
21245         * etc/NEWS:
21246         * src/coding.c (syms_of_coding):
21247         * src/dispnew.c (syms_of_display):
21248         Document this.
21249         * src/print.c: Include disptab.h.
21250         (printchar_to_stream): New function, with much of the guts of the
21251         old Fexternal_debugging_output, except this one also uses the
21252         standard display table.
21253         (printchar, strout, Fexternal_debugging_output): Use it.
21255 2015-05-31  Glenn Morris  <rgm@gnu.org>
21257         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
21259 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
21261         Remove DEFSYMs that aren't used at the C level.  Also:
21262         * src/decompress.c (Qzlib_dll):
21263         * src/font.c (Qunicode_sip):
21264         * src/frame.c (Qtip_frame):
21265         * src/ftfont.c (Qserif):
21266         * src/gnutls.c (Qgnutls_dll):
21267         * src/xml.c (Qlibxml2_dll):
21268         Move from here ...
21269         * src/w32fns.c (syms_of_w32fns): ... to here,
21270         as these are used only on MS-Windows.
21272 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
21274         Use another default value for tramp-histfile-override
21275         * lisp/net/tramp-sh.el (tramp-histfile-override):
21276         Use ".tramp_history" as default.
21277         Fixes bug#20446
21279 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
21281         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
21283 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
21285         * etc/NEWS: Add an entry about map.el.
21287         Improve the docstring of functions in map.el
21288         Since a map is not a data structure but a concept, adding information
21289         about the possible types of maps can be useful information.
21290         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
21291         each public function.
21293 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
21295         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
21296         specific tests depending on the type of the map.
21298         * lisp/emacs-lisp/map.el: Better docstrings.
21300 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
21302         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda.
21304 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
21306         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
21308         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
21310         Fix a false negative in `map-elt' with alists and values being nil
21311         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
21312         found but its associated value is nil, do not return the default
21313         value.
21314         * test/automated/map-tests.el: Add a regression test.
21316 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
21318         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
21320         Do not signal an error when trying to delete a key from an array
21321         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
21322         the key is present to avoid signaling an error.
21323         * test/automated/map-tests.el: Add a test for deleting non-existing
21324         keys from maps.
21326         * lisp/emacs-lisp/map.el: Better docstring.
21328         Minor improvement in map-elt
21329         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
21330         doing a lookup in arrays, but check the boundaries of the array
21331         instead.
21332         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
21333         and a negative integer as key.
21335 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
21337         * test/automated/map-tests.el: Refactoring of test methods.
21339         * test/automated/map-tests.el: Renamed from map-test.el.
21341 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
21343         * lisp/emacs-lisp/map.el (map-into): Better error message.
21345         * lisp/emacs-lisp/map.el: Remove byte-compilation warnings.
21347         Throw an error when converting a map into an unknown map type
21348         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
21349         not valid.
21350         * test/automated/map-tests.el: Add a regression test.
21352         New library map.el similar to seq.el but for mapping data structures.
21353         * test/automated/map-tests.el: New file.
21354         * lisp/emacs-lisp/map.el: New file.
21356 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
21358         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
21359         there's no explicit tag name (bug#20629).
21361 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
21363         Remove format2
21364         * src/editfns.c, src/lisp.h (format2): Remove.
21365         It is more trouble than it's worth, now that we have CALLN.
21366         This is just a minor refactoring.
21367         * src/buffer.c (Fkill_buffer):
21368         * src/dbusbind.c (XD_OBJECT_TO_STRING):
21369         * src/fileio.c (barf_or_query_if_file_exists):
21370         Adjust to format2 going away.
21372         Don't misencode C-generated messages
21373         Also, be more consistent about calls to 'Fmessage' vs 'message'.
21374         * src/alloc.c (Fgc_status):
21375         Prefer AUTO_STRING to build_string for Fmessage call.
21376         * src/data.c (Fmake_variable_buffer_local)
21377         (Fmake_local_variable, Fmake_variable_frame_local):
21378         * src/doc.c (store_function_docstring):
21379         Use Fmessage, not message, since the argument can contain
21380         non-ASCII characters, and this can cause the resulting message
21381         to be incorrectly encoded for the current environment.
21382         * src/fns.c (maybe_resize_hash_table):
21383         * src/xselect.c (x_clipboard_manager_save_all):
21384         Use message, not Fmessage, since Fmessage's power isn't needed here.
21385         * src/process.c (Fmake_network_process): Reword message to avoid %s.
21386         * src/xdisp.c (vmessage): Document restrictions on message contents.
21387         (message_nolog) [false]: Remove unused code.
21389         Use \r rather than ^M in string literals
21390         This is less likely to cause problems on platforms that
21391         use CRLF (or CR!) termination for lines.
21393         Update .gitattributes to match current sources
21394         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
21395         * .gitattributes: Accommodate tests that insist on DOS format.
21396         Remove test/automated/data/decompress/foo-gzipped.
21397         Add etc/e/eterm-color.
21399 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
21401         * doc/emacs/mule.texi (Modifying Fontsets):
21402         Document face-ignored-fonts.  (Bug#20628)
21404         Add etags test for the new -Q option
21405         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
21406         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
21407         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
21408         test-case changes below.
21409         * test/etags/ETAGS.good_6: New file.
21410         * test/etags/cp-src/x.cc: New file.
21411         * test/etags/Makefile (CPSRC): Add x.cc.
21412         (check): Add one more test, for -Q.
21414 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
21416         Use list for the tags completion table, not obarray
21417         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
21418         list instead of an obarray
21419         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
21420         (tags-completion-table): Combine those lists.
21421         (tags-completion-table): Update the docstring.
21423 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
21425         Restore EOL format testing in etags
21426         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
21427         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
21428         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
21429         test-case changes below.
21430         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
21431         * test/etags/cp-src/c.C (B): Add back stray CR character.
21432         * test/etags/c-src/dostorture.c: Add back.
21433         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
21435 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
21437         Declare Emacs on MS-Windows to be DPI-aware
21438         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
21439         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
21440         This avoids Windows entering compatibility mode for Emacs,
21441         which causes fonts to look less nice.
21443 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
21445         Improve Tramp traces
21446         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
21447         * lisp/net/tramp.el (tramp-debug-message): Use it.
21449 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
21451         backup-buffer minor reworking of internals
21452         * lisp/files.el (backup-buffer): Rework to avoid a couple of
21453         unused locals inadvertently introduced in the previous change.
21455         backup-buffer now reports .emacs.d/%backup% ills
21456         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
21457         fails due to disk space exhaustion or whatever, do not pretend
21458         that it succeeded.  More generally, do a better job of checking
21459         for I/O failures, and limit the scope of the condition-case to
21460         just the operations where file errors should be caught and ignored
21461         (Bug#20595).  Also, don't bother trying to delete later backups if
21462         an earlier deletion fails, as this is a sign of trouble and it's
21463         better to stop when there's trouble.
21465         copy-file now truncates output after writing
21466         * src/fileio.c (Fcopy_file): Truncate output after writing rather
21467         than before.  This is more likely to work than truncation before
21468         writing, if the file system is out of space or the user is over
21469         disk quota (Bug#20595).  Also, check for read errors.
21471 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
21473         * lisp/emacs-lisp/package.el (package-load-all-descriptors):
21474         Don't load descriptors from directories above the package directories.
21476 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
21478         Merge from gnulib
21479         This incorporates the following (Bug#20681):
21480         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
21481         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
21482         * lib/set-permissions.c: Copy from gnulib.
21484 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
21486         Improve Tramp traces
21487         * lisp/net/tramp.el (tramp-call-process-region): New defun.
21488         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
21490 2015-05-29  Glenn Morris  <rgm@gnu.org>
21492         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
21494 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
21496         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
21497         The signature was changed in the cairo branch, merged on 2015-05-23.
21498         This oversight broke compiling only the non-toolkit X version.
21500 2015-05-29  Samer Masterson  <samer@samertm.com>
21502         * doc/lispref/os.texi: Update initial-buffer-choice docs.
21504 2015-05-29  Glenn Morris  <rgm@gnu.org>
21506         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
21507         Mark as an expected failure.
21509 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
21511         Change package test to look for curved quotes
21512         * test/automated/package-test.el (package-test-describe-package)
21513         (package-test-signed): Search for curved single quotes as well as
21514         for grave accent and apostrophe.
21516 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
21518         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
21519         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
21521 2015-05-28  Samer Masterson  <samer@samertm.com>
21523         Show files when `initial-buffer-choice' is non-nil
21524         * lisp/startup.el (command-line-1): When Emacs is given a file as an
21525         argument and `initial-buffer-choice' is non-nil, display both the file
21526         and `initial-buffer-choice'.  For more than one file, show
21527         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
21528         commands out of the command line arg parser.
21529         (initial-buffer-choice): Clarify docstring.
21531 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
21533         Fix last commit
21534         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
21535         (gnulib module qcopy-acl): Add back, as it is harmless.  This
21536         minimizes differences wrt lib/gnulib.mk.
21538         Fix the MS-Windows build as followup to gnulib update
21539         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
21540         set-permissions.c, as they don't compile on MinGW.
21541         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
21543 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
21545         Revert my change to gnus-art.el
21546         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
21547         It wasn't that important, and it caused a Gnus build to fail.  See:
21548         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
21550         New minor mode Electric Quote
21551         This lets you easily insert quotes ‘like this’ by typing
21552         quotes `like this', and similarly you can easily insert
21553         quotes “like this” by typing quotes ``like this'' (Bug#20545).
21554         * doc/emacs/basic.texi (Inserting Text):
21555         * doc/emacs/modes.texi (Minor Modes):
21556         * etc/NEWS: Document it.
21557         * doc/emacs/text.texi (Quotation Marks): New section.
21558         * lisp/electric.el (electric-quote-comment)
21559         (electric-quote-string, electric-quote-paragraph):
21560         New custom vars.
21561         (electric--insertable-p)
21562         (electric-quote-post-self-insert-function): New functions.
21563         (electric-quote-mode, electric-quote-local-mode): New minor modes.
21564         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
21565         Add curved single quotes to electric-pair-text-pairs.
21566         Set electric-quote-string in this buffer.
21568         A few more doc string fixes (Bug#20385)
21570         Accept curved quotes in doc strings
21571         * lisp/info-look.el (info-lookup-guess-custom-symbol):
21572         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
21574         Generate curved quotes in pseudo-info nodes
21575         * lisp/info.el (Info-virtual-index-find-node)
21576         (Info-virtual-index, Info-apropos-find-node, info-apropos):
21577         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
21579         Fix minor quoting problems in doc strings
21580         Most of these fixes involve escaping grave accents that are
21581         actually intended to be grave accents, not left quotes.
21582         (Bug#20385)
21584         Support curved quotes in doc strings
21585         Emacs's traditional doc string style has been to quote symbols
21586         `like this'.  This worked well on now-obsolete terminals where
21587         ` and ' were symmetric quotes, but nowadays curved quotes
21588         ‘like this’ look better.  Support quoting the new way too.
21589         (Bug#20385)
21590         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
21591         ‘like-this’ as well as `like-this'.
21592         * etc/NEWS: Mention this.
21593         * lisp/cedet/mode-local.el (overload-docstring-extension)
21594         (mode-local-print-binding, mode-local-describe-bindings-2):
21595         * lisp/cus-theme.el (describe-theme-1):
21596         * lisp/descr-text.el (describe-text-properties-1, describe-char):
21597         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
21598         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
21599         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
21600         (eieio-help-constructor):
21601         * lisp/emacs-lisp/package.el (describe-package-1):
21602         * lisp/faces.el (describe-face):
21603         * lisp/help-fns.el (help-fns--key-bindings)
21604         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
21605         (help-fns--interactive-only, describe-function-1):
21606         (describe-variable):
21607         * lisp/help.el (describe-mode):
21608         * lisp/international/mule-cmds.el (describe-input-method)
21609         (describe-language-environment):
21610         * lisp/international/mule-diag.el (describe-character-set)
21611         (print-coding-system-briefly, list-input-methods)
21612         (list-input-methods-1):
21613         Insert curved quotes rather than grave accent and apostrophe.
21614         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
21615         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
21616         (checkdoc-proper-noun-region-engine):
21617         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
21618         (lisp-cl-font-lock-keywords-2):
21619         * lisp/finder.el (finder-font-lock-keywords):
21620         * lisp/gnus/gnus-art.el (gnus-button-alist):
21621         * lisp/help-fns.el (help-do-arg-highlight)
21622         (describe-function-1, describe-variable):
21623         * lisp/help-mode.el (help-xref-symbol-regexp)
21624         (help-xref-info-regexp, help-xref-url-regexp):
21625         * lisp/help.el (describe-mode):
21626         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
21627         * lisp/wid-edit.el (widget-documentation-link-regexp):
21628         Parse symbols quoted ‘like-this’ as well as `like-this'.
21629         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
21630         Add "‘" and "’" to electric-pair-text-pairs.
21631         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
21632         (elisp-completion-at-point, elisp--preceding-sexp):
21633         Also treat "‘" and "’" as quoting chars.
21635         substitute-command-keys now curves quotes
21636         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
21637         * doc/lispref/help.texi (Keys in Documentation):
21638         * etc/NEWS: Document this.
21639         * src/doc.c (Fsubstitute_command_keys): Implement it.
21641 2015-05-28  Glenn Morris  <rgm@gnu.org>
21643         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
21644         (rmail-summary-by-topic, rmail-summary-by-senders):
21645         No longer strip leading/trailing whitespace.
21647         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
21648         (f90-no-block-limit): Add "enum".  (Bug#20680)
21649         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
21650         New tests.
21652 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
21654         * lisp/isearch.el (isearch--current-buffer): Give a default value.
21655         Un-revert changes mistakenly dropped by f9fabb2b.
21657 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21659         Merge from gnulib
21660         This incorporates:
21661         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
21662         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
21663         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
21664         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
21665         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
21666         2015-05-26 stdio: fix probe on mingw under gcc 5.1
21667         * admin/merge-gnulib (GNULIB_MODULES):
21668         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
21669         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
21670         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
21671         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
21672         Get latest versions from gnulib.
21673         * lib/get-permissions.c, lib/set-permissions.c: New files.
21674         * lib/gnulib.mk, m4/gnulib-comp.m4:
21675         Regenerate.
21676         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
21678 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
21680         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
21681         process here.
21682         (vc-do-command): Rather than here (bug#20608).
21684 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
21686         Avoid gratuitous delete-dups in face-at-point
21687         * lisp/faces.el (face-at-point): Do not compute the properly
21688         ordered, duplicate-free list if only a single value is
21689         requested anyway.  (Bug#20519)
21691         Show the exact C-x 8 RET invocation in describe-char
21692         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
21693         invocation instead of a template.  (Bug#20522)
21695 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
21697         * lisp/emacs-lisp/package.el: Don't erase tags on refresh.
21698         (package-menu--post-refresh): Call `tabulated-list-print' with the
21699         UPDATE argument.  This only affects the refresh action, the revert
21700         action still erases tags.
21701         (package-menu-get-status): Change `assq' to `assoc'.
21702         (package-menu--mark-upgrades-1): New function.
21703         (package-menu--mark-upgrades-pending): New variable.
21704         (package-menu-mark-upgrades): Use them to delay marking until
21705         after refresh is done.
21706         (package-menu--post-refresh): Call mark-upgrades-1 if
21707         mark-upgrades-pending is non-nil.
21709 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
21711         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
21712         Fix typo in "Improve tramp-handle-make-auto-save-file-name"
21713         (commit 3953c4be2816537be95520605d45b866dc731f4b).
21715 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
21717         * lisp/isearch.el (isearch--current-buffer): New var.
21718         (isearch-update): Set cursor-sensor-inhibit here.
21719         (isearch-done): Unset cursor-sensor-inhibit in the right buffer
21720         (bug#20532).
21722         Change inhibit-point-motion-hooks to t
21723         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
21724         to t and document it as obsolete.
21726 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
21728         Support ZIP files that use Zip64 extensions
21729         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
21730         format of central directory offsets used by Zip64 extensions.
21731         (Bug#20665)
21733 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
21735         New test tramp-test30-make-auto-save-file-name
21736         * test/automated/tramp-tests.el
21737         (tramp-test30-make-auto-save-file-name): New test.
21738         (tramp-test31-special-characters)
21739         (tramp-test31-special-characters-with-stat)
21740         (tramp-test31-special-characters-with-perl)
21741         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
21742         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
21743         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
21744         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
21746         Improve tramp-handle-make-auto-save-file-name
21747         * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags.
21748         (tramp-handle-make-auto-save-file-name): Let native
21749         `make-auto-save-file-name' use `auto-save-file-name-transforms',
21750         if `tramp-auto-save-directory' is not set.
21752 2015-05-27  Glenn Morris  <rgm@gnu.org>
21754         No longer set dired-directory in eshell.  (Bug#16477)
21755         * lisp/eshell/esh-mode.el (eshell-mode):
21756         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
21758         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
21760         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
21761         * lisp/progmodes/cc-mode.el (c-mode-help-address):
21762         Change to submit@debbugs.
21763         (c-mode-bug-package): New constant.
21764         (mail-position-on-field): Declare.
21765         (c-submit-bug-report): Insert X-Debbugs-Package header.
21766         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
21767         Mention debbugs.gnu.org.
21769 2015-05-26  Glenn Morris  <rgm@gnu.org>
21771         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
21772         (rmail-summary-by-recipients, rmail-summary-by-topic)
21773         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
21774         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
21776 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
21778         Handle curved quotes in info files
21779         * lisp/calc/calc-help.el (calc-describe-thing):
21780         * lisp/info.el (Info-find-index-name)
21781         (Info-try-follow-nearest-node, Info-fontify-node):
21782         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
21783         In info files, process quotes ‘like this’ the same way we process
21784         quotes `like this'.  This catches a few places we missed earlier.
21786 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
21788         xref-prompt-for-identifier: Use a list value
21789         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
21790         value, to be interpreted as a list of commands.
21791         (xref--prompt-p): New function.
21792         (xref--read-identifier): Use it.
21794 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
21796         Teach MS-Windows font back-end return per-glyph ascent/descent
21797         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
21798         values.
21799         * src/w32font.c (w32font_text_extents): Compute, cache, and
21800         accumulate per-glyph ascent and descent values, instead of copying
21801         global values from the font.  If the values are not available from
21802         the font data, i.e., non-TTF fonts, fall back on font-global values.
21803         (compute_metrics): Compute and return per-glyph ascent and descent
21804         values, if returned by GetGlyphOutlineW, falling back on
21805         font-global values.  (Bug#20628)
21806         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
21807         height of rectangle to be drawn, to be compatible with
21808         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
21809         box, when per-glyph ascent/descent values are used.
21811 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
21813         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
21814         Don't sort if sorter is nil.
21816 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
21818         Fix Bug#20621
21819         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
21820         are major modes which set `auto-save-mode' on their own rules;
21821         Tramp shall not overwrite such settings.
21823 2015-05-26  Glenn Morris  <rgm@gnu.org>
21825         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
21826         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
21827         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
21828         Doc updates.
21829         (vc-dir-mode): Remove unnecessary autoload.
21831 2015-05-25  Philipp Stephani  <phst@google.com>
21833         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52.
21834         (xterm--extra-capabilities-type): Add `getSelection'.
21835         (xterm--query): Add `no-async' argument.
21836         (xterm--init-activate-get-selection): New function.
21837         (terminal-init-xterm): Use it.
21838         (xterm--init-modify-other-keys): Rename from
21839         terminal-init-xterm-modify-other-keys.
21840         (xterm--init-bracketed-paste-mode): Rename from
21841         terminal-init-xterm-bracketed-paste-mode.
21842         (xterm--init-activate-set-selection): Rename from
21843         terminal-init-xterm-activate-set-selection.
21844         (xterm--selection-char): New function.
21845         (gui-backend-set-selection): Use it.  Use the &context to only apply
21846         this method in terminals where we enabled the feature.
21847         (gui-backend-get-selection): New method.
21849 2015-05-25  Daniel Colascione  <dancol@dancol.org>
21851         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
21852         keyword constants to C++.
21854 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21856         Make TAGS files more portable to MS-Windows
21857         * etc/NEWS: Document this.
21858         * lib-src/etags.c (readline_internal) [DOS_NT]:
21859         Don't treat CRs differently from GNUish hosts.
21860         * lisp/progmodes/etags.el (etags-goto-tag-location):
21861         Adjust STARTPOS to account for the skipped CRs in dos-style files.
21863 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
21865         Improve fix of bug#20634 in tramp-sh.el
21867 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
21869         Fix a typo in last commit
21870         * lib-src/etags.c (C_entries): Fix a typo.
21871         * test/etags/ETAGS.good_1:
21872         * test/etags/ETAGS.good_2:
21873         * test/etags/ETAGS.good_3:
21874         * test/etags/ETAGS.good_4:
21875         * test/etags/ETAGS.good_5:
21876         * test/etags/CTAGS.good: Update due to the change in etags.c.
21878         Fix tagging of class members in C-like OO languages
21879         * lib-src/etags.c (longopts): Add new option --class-qualify and
21880         its shorthand -Q.
21881         (print_help): Add help text for --class-qualify.
21882         (main): Add handling of -Q.
21883         (consider_token, C_entries) <omethodparm>: Append argument types
21884         to Objective C methods only if --class-qualify was specified.
21885         Qualify C++, Objective C, and Java class members with their class
21886         names only if --class-qualify was specified.
21887         (C_entries): If --class-qualify was not specified, remove the
21888         namespace and class qualifiers from tag names of C++ methods.
21889         This allows to use etags.el as xref back-end without the
21890         tag-symbol-match-p method, which greatly increases the number of
21891         potentially false positives.  (Bug#20629)
21892         * doc/man/etags.1: Update to document the new --class-qualify
21893         option.
21894         * test/etags/ETAGS.good_1:
21895         * test/etags/ETAGS.good_2:
21896         * test/etags/ETAGS.good_3:
21897         * test/etags/ETAGS.good_4:
21898         * test/etags/ETAGS.good_5:
21899         * test/etags/CTAGS.good: Update due to changes in etags.c.
21901 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
21903         (cl-generic-define-method): Side effects are evil (bug#20644)
21904         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
21905         cons-cells that might be used as keys in an `equal' hash-table.
21907 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
21909         Make erc timestamps visible again
21910         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec):
21911         Make timestamps visible again (if requested).
21913 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
21915         Fix last change in etags.c that broke tagging compresed files
21916         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
21917         quoting of decompression shell command for MS-Windows/MS-DOS.
21919 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
21921         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist.
21922         (Bug#20639)
21924 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
21926         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
21927         Fix typo in "Inhibit `epa-file-handler' in Tramp"
21928         (commit 89035e247591c8d688fce922b7079881aa110f33).
21930 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
21932         Fix IPv6 addresses in Tramp
21933         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
21934         Add square brackets around host name.
21936 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
21938         Inhibit `epa-file-handler' in Tramp (Bug#20634)
21939         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
21940         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
21941         `epa-file-handler'.
21943 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21945         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring.
21946         (pcase-let): Document the behavior in case the pattern doesn't match.
21948 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
21950         * lisp/emacs-lisp/tabulated-list.el: New optional print method.
21951         (tabulated-list-print): New optional argument, UPDATE.  If
21952         non-nil, the list is printed by only adding and deleting the
21953         changed entries, instead of erasing the whole buffer.  This method
21954         is much faster when few or no entries have changed.
21955         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
21956         * etc/NEWS: Document it.
21958         * lisp/emacs-lisp/tabulated-list.el: Improve printing.
21959         (tabulated-list--get-sorter): New function.
21960         (tabulated-list-print): Restore window-line when remember-pos is
21961         passed and optimize away the `nreverse'.
21963 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
21965         Simpilify etags TEX mode scanning
21966         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
21967         Remove static vars.
21968         (TeX_commands): Deduce escapes here instead.
21969         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
21970         This removes the need for a reset_input call.
21972         Improve etags I/O error reporting
21973         * lib-src/etags.c:
21974         Don't include sys/types.h and sys/stat.h; no longer needed.
21975         (infilename): New static var.
21976         (process_file_name): Don't call 'stat'.  Instead, just open the
21977         file for reading and report any errors.  Don't bother making
21978         a copy of the file argument; it's not needed.  Be more careful to
21979         use the failing errno when reporting an error.
21980         Quote the real name better (though no perfectly)
21981         when passing it to the shell.
21982         (reset_input): New function, which reports I/O errors.
21983         All uses of 'rewind' changed to use this function.
21984         (perhaps_more_input): New function, which also checks for
21985         I/O errors.  All uses of 'feof' changed to use this function.
21986         (analyze_regex): Report an error if fclose fails.
21987         (readline_internal): Report an error if getc fails.
21988         (etags_mktmp): Return an error if close fails.
21990         etags.c: avoid side effects in 'if'
21991         * lib-src/etags.c (process_file_name, Perl_functions)
21992         (TEX_decode_env): Hoist side effects into previous statement.
21994         .gitignore tweaks
21995         * .gitignore: Ignore all *.stamp files.  Sort.
21996         Ignore [0-9]*.txt (commonly used name for git patches)
21997         and /vc-dwim-log-* (vc-dwim temporary).
21999 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
22001         Fix last change in etags.c, which failed the test suite
22002         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
22003         before the last change.
22005 2015-05-23  Glenn Morris  <rgm@gnu.org>
22007         Remove charset map files from repository, generate in first bootstrap
22008         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
22009         (all): Create the stamp file.
22010         (extraclean): Delete the stamp file.
22011         * src/Makefile.in (lispintdir, charsets): New variables.
22012         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
22013         New rules.
22014         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
22015         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
22016         * etc/charsets/*.map: Remove from repository.
22018 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
22020         Cleanup etags.c to use locale-independent code
22021         Although this doesn't alter behavior (as etags doesn't use
22022         setlocale), the new version is more clearly locale-independent and
22023         the executable is a bit smaller on my platform.
22024         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
22025         Include <c-ctype.h> instead of <ctype.h>.
22026         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
22027         (begtk, midtk):
22028         Remove; no longer needed.
22029         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
22030         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
22031         c_islower, c_tolower, respectively.
22032         (notinname, begtoken, intoken, endtoken): Rewrite as functions
22033         instead of macros, and initialize the tables at compile-time
22034         rather than at run-time.
22036         Put default action first in src/Makefile
22037         * src/Makefile.in (all): Put this rule before lisp.mk.
22038         That way, plain 'make' works in the src directory again.
22040 2015-05-23  Glenn Morris  <rgm@gnu.org>
22042         * Makefile.in: Fix extraclean rule.
22043         (extraclean_dirs): New.
22044         (extraclean): Use it.
22046 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
22048         Avoid compiler warning in image.c on MS-Windows
22049         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
22050         warning in image.c.
22052 2015-05-23  Glenn Morris  <rgm@gnu.org>
22054         Fix --without-toolkit-scroll-bars builds.
22055         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
22056         Add new argument to x_clear_area1.
22057         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
22058         Update x_clear_area arguments.
22060         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
22061         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
22062         Change to included version.
22063         (LOCAL, local, totalclean): Remove.
22064         (extraclean): Delete all generated files.
22066 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
22068         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume
22069         CVS/Entries exists.
22071         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
22073         * lisp/progmodes/etags.el (tags-completion-at-point-function):
22074         Don't trust the find-tag function.
22076 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
22078         Pacify --enable-gcc-warnings
22079         * src/frame.h (x_query_color): Remove redundant extern decl.
22080         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
22081         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
22082         (ftcrfont_text_extents, ftcrfont_draw):
22083         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
22084         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
22085         (x_ins_del_lines, frame_highlight, frame_unhighlight)
22086         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
22087         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
22088         (x_update_window_begin, x_connection_closed)
22089         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
22090         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
22091         (*x_gc_get_ext_data, x_extension_initialize)
22092         (x_cr_accumulate_data):
22093         Remove redundant static decl.  Many of these GCC doesn't complain
22094         about, but we might as well clean out the duplication while we're
22095         in the neighborhood.
22096         * src/xterm.c (x_fill_trapezoid_for_relief):
22097         Remove decl of nonexistent function.
22099 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
22101         Replace gui-method macros with cl-generic with &context
22102         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
22103         (gui-method-declare, gui-call): Remove.
22104         (frame-creation-function): Use cl-defgeneric.
22105         (make-frame): Adjust callers.
22106         * lisp/menu-bar.el (menu-bar-edit-menu):
22107         Use gui-backend-selection-exists-p.
22108         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
22109         (gui-backend-get-selection): New cl-generic to replace
22110         gui-get-selection method.
22111         (gui-backend-set-selection): New cl-generic to replace
22112         gui-set-selection method.
22113         (gui-selection-owner-p): New cl-generic to replace
22114         gui-selection-owner-p method.
22115         (gui-backend-selection-exists-p): New cl-generic to replace
22116         gui-selection-exists-p method.  Adjust all callers.
22117         * lisp/server.el (server-create-window-system-frame): Don't ignore
22118         window-system spec even when unsupported.
22119         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
22120         * lisp/startup.el (handle-args-function, window-system-initialization):
22121         Use cl-defgeneric.
22122         (command-line): Adjust calls accordingly.
22123         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
22124         a window-system-initialization method.
22125         (handle-args-function, frame-creation-function): Use cl-defmethod.
22126         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
22127         (gui-get-selection): Use cl-defmethod on the new functions instead.
22128         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
22129         a gui-backend-get-selection method.
22130         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
22131         Use cl-defmethod on the new functions instead.
22132         (msdos-window-system-initialization): Turn into
22133         a window-system-initialization method.
22134         (frame-creation-function, handle-args-function): Use cl-defmethod.
22135         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
22136         a window-system-initialization method.
22137         (handle-args-function, frame-creation-function): Use cl-defmethod.
22138         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
22139         (gui-get-selection): Use cl-defmethod on the new functions instead.
22140         * lisp/term/x-win.el (x-window-system-initialization): Turn into
22141         a window-system-initialization method.
22142         (handle-args-function, frame-creation-function): Use cl-defmethod.
22143         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
22144         (gui-get-selection): Use cl-defmethod on the new functions instead.
22145         * lisp/term/xterm.el (xterm--set-selection): Turn into
22146         a gui-backend-set-selection method.
22147         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
22148         (Fns_selection_owner_p): Remove unused arg `terminal'.
22149         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
22151 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
22153         Revert "Fix etags Bug#20629 that broke C++ support"
22154         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
22156 2015-05-23  Jan D  <jan.h.d@swipnet.se>
22158         Fix etags Bug#20629 that broke C++ support
22159         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
22160         Revert commit from Sun May 10 (Bug#20629).
22162         Merge branch 'cairo'.
22163         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
22164         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
22166         Merge branch 'master' into cairo
22168         Fixes to compile cairo branch without cairo
22169         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
22170         first argument.
22171         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
22172         USE_CAIRO.
22174 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
22176         * lisp/emacs-lisp/package.el: Always update selected-packages.
22177         (package--update-selected-packages): New function.
22178         (package-menu-execute): Use it before starting the transaction,
22179         this way the list of selected packages is updated even when the
22180         transaction fails.
22181         (package-menu--perform-transaction): Don't edit selected-packages.
22183 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
22185         Fix etags reading of compressed files
22186         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
22187         Include fcntl.h, for O_CLOEXEC.
22188         (process_file_name): Don't use 'popen', whose streams cannot be
22189         rewound.  Instead, uncompress the file to a temporary file,
22190         created by 'etags_mktmp', and read from that as usual.
22191         (etags_mktmp): New function.
22192         * test/etags/ETAGS.good_1:
22193         * test/etags/ETAGS.good_2:
22194         * test/etags/ETAGS.good_3:
22195         * test/etags/ETAGS.good_4:
22196         * test/etags/ETAGS.good_5: Update to be consistent with latest
22197         changes in etags.c regarding reading compressed files.
22199         Improve documentation of 'set-fontset-font'
22200         * doc/lispref/display.texi (Fontsets): Document the value of nil
22201         for the 3rd argument of 'set-fontset-font'.
22203         Fix documentation of forward-line
22204         * src/cmds.c (Fforward_line): Clarify the return value if the line
22205         at end of accessible portion of the buffer has no newline.
22206         * doc/lispref/positions.texi (Text Lines): Document what happens
22207         if the line at end of accessible portion of buffer has no newline.
22208         (Bug#20587)
22210 2015-05-22  Glenn Morris  <rgm@gnu.org>
22212         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
22214         * admin/charsets/mapconv (LC_ALL): Set to C.
22216         * Makefile.in: Add admin/charsets into top-level clean rules.
22217         (clean): Add admin/charsets.
22218         (maybeclean_dirs): New variable.
22219         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
22221         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
22223 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
22225         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc.
22227 2015-05-22  Glenn Morris  <rgm@gnu.org>
22229         Generate admin/charsets Makefile via configure, and make more portable
22230         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
22231         (admin/charsets/Makefile): Generate it.
22232         * admin/charsets/Makefile.in: Rename from Makefile.
22233         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
22234         New variables, set by configure.
22235         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
22236         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
22237         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
22238         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
22239         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
22240         (all): Declare PHONY.
22241         (local): New PHONY target.
22242         (map_template): New template.  Use to define short PHONY aliases.
22243         (*.map): Add directory prefixes to targets and prerequisites.
22244         Respect make verbosity.
22245         (JISC6226.map): Replace non-portable sed append without newline.
22246         (install): Remove rule.
22247         (clean): Only delete temporary sedscript.
22248         (bootstrap-clean, distclean, maintainer-clean, extraclean)
22249         (totalclean): New PHONY rules.
22250         * admin/charsets/mapconv (BASE): Replace basename with expr.
22251         (FILE): Add "mapfiles" subdirectory.
22252         (AWK): New variable.  Use throughout in place of "awk".
22253         (main): Use "gunzip -c" in place of "zcat".
22254         Don't leave whitespace before "p", for older sed.
22255         * admin/charsets/mapfiles/PTCP154: Add final newline,
22256         to make older sed versions happy.
22258 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
22260         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
22261         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
22262         (auto-revert-notify-watch-descriptor): Use defvar-local.
22263         (find-file-hook, auto-revert-tail-mode)
22264         (auto-revert-notify-add-watch): Use setq-local.
22265         (auto-revert-notify-add-watch): Don't call make-local-variable on
22266         kill-buffer-hook (bug#20601).
22268 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
22270         Change defgeneric so it doesn't completely redefine the function
22271         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
22272         previously defined methods.
22273         (cl-generic-define-method): Let-bind purify-flag instead of
22274         using `fset'.
22275         (cl--generic-prefill-dispatchers): Only define during compilation.
22276         (cl-method-qualifiers): Remove redundant alias.
22277         (help-fns-short-filename): Silence byte-compiler.
22278         * test/automated/cl-generic-tests.el:
22279         Adjust to new defgeneric semantics.
22281 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
22283         * lisp/emacs-lisp/package.el (package-menu-execute):
22284         Remove reference to remove-dups.
22286 2015-05-21  kwhite  <kwhite@gnu.org>
22288         * lisp/erc/erc.el: Hide network/channel messages.
22289         (erc-network-hide-list, erc-channel-hide-list): New lists to define
22290         message types per network/channel.
22291         (erc-add-targets): New function to parse list of targets.
22292         (erc-hide-current-message-p): Modify to check for new targets.
22294 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
22296         Don't quote nil and t in doc strings
22297         This is as per "Tips for Documentation Strings" in the elisp manual.
22298         For consistency, do the same in diagnostics and comments.
22300 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
22302         Fix a minor problem with mouse-face on mode line
22303         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
22304         mouse face also if the mouse pointer hovers above mode-line glyphs
22305         that don't come from any Lisp string.  (Bug#20620)
22307 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
22309         * lisp/emacs-lisp/package.el: Fix selected-package logic.
22310         (package-menu-execute): Mark as selected all non-upgrade packages
22311         being installed.
22312         (package-menu--perform-transaction): Don't mark anything.
22314         * lisp/emacs-lisp/package.el: Mode-line progress report.
22315         (package-menu--transaction-status): New variable.
22316         (package-menu-mode, package-menu--perform-transaction): Use it.
22318         * lisp/emacs-lisp/package.el: Better transaction messages.
22319         (package-menu--partition-transaction): New function.
22320         (package-menu--prompt-transaction-p, package-menu-execute):
22321         Use it.
22322         (package-menu--perform-transaction): Don't do any messaging.
22324         * lisp/emacs-lisp/package.el: Revert async package transactions.
22325         (package-menu-async): Update doc.
22326         (package-install-from-archive, package-download-transaction)
22327         (package-install, package-menu--perform-transaction)
22328         (package-menu-execute): Remove asynchronous functionality.
22330 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
22332         Revert doc string changes to f90.el
22333         Problem reported by Glenn Morris in:
22334         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
22335         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
22336         Revert recent changes to doc strings, as it's intended that they
22337         use grave accent, not quote.
22339 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
22341         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p):
22342         Improve parameter name.
22344         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function.
22346 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22348         Don't require help-fns when not needed
22349         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
22350         * lisp/emacs-lisp/elint.el:
22351         Don't require help-fns at the top level
22352         * lisp/emacs-lisp/advice.el (ad-arglist):
22353         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
22354         Don't require help-fns.  (Bug#17001)
22356 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
22358         Fix slash collapsing in etags on MS-Windows
22359         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
22360         MS-Windows code from the Posix code, and support collapsing both
22361         forward- and back-slashes on MS-Windows.  Fixes a regression found
22362         by the test suite.
22364         Improve documentation of glyphless-char-display
22365         * doc/lispref/display.texi (Glyphless Chars): Improve
22366         documentation of glyphless character display.
22368         Fix "acronym" display of glyphless characters on w32
22369         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
22370         ignore "acronym" substitutes of 1 character for glyphless characters.
22372 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
22374         Add an automated test for let-when-compile
22375         * test/automated/subr-tests.el (let-when-compile): New test.
22377         Add let-when-compile macro instead of using pcase-let
22378         * lisp/subr.el (let-when-compile): New let-like macro that makes its
22379         bindings known to macros like `eval-when-compile' in the body.
22380         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to
22381         a `let-when-compile'.  Also comment out the unused lexical var
22382         `el-kws-re'.
22383         The change greatly improves readability, while providing almost the
22384         same (even shorter) byte code: instead of pre-evaluating 10 variables,
22385         tossing them into a list, and destructuring that list a full screen
22386         page later, the variables are simply bound as they are evaluated,
22387         wrapped individually in `eval-when-compile'.
22389 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
22391         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer.
22392         (package-delete-button-action): New function.
22393         (describe-package-1): Add Delete button.
22395         * lisp/emacs-lisp/package.el: Better dependency description.
22396         (package--used-elsewhere-p): New optional arg, ALL, and return
22397         package-desc objects instead of names.
22398         (package-delete): Update accordingly.
22399         (describe-package-1): Describe which packages require the package.
22401 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
22403         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
22404         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
22405         Fix doc-string.
22407         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
22408         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
22409         (switch-to-buffer): If the selected window is strongly dedicated
22410         to its buffer, signal error before prompting for buffer name.
22411         Handle `switch-to-buffer-in-dedicated-window'.
22412         * doc/lispref/windows.texi (Switching Buffers):
22413         Document `switch-to-buffer-in-dedicated-window'.
22415 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22417         Prefer "this" to “this” in doc strings
22418         This mostly just straightens quotes introduced in my previous patch.
22419         Suggested by Dmitry Gutov in:
22420         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
22421         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
22422         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
22423         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
22424         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
22425         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
22426         Prefer straight double quotes to curved double quotes in doc strings.
22428         Fix minor quoting problems in doc strings
22429         These were glitches regardless of how or whether we tackle the
22430         problem of grave accent in doc strings.
22431         * lisp/calc/calc-aent.el (math-restore-placeholders):
22432         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
22433         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
22434         * lisp/leim/quail/hebrew.el ("hebrew-new")
22435         ("hebrew-biblical-sil"):
22436         * lisp/leim/quail/thai.el ("thai-kesmanee"):
22437         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
22438         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
22439         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
22440         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
22441         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
22442         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
22443         (semantic-tag-components):
22444         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
22445         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
22446         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
22447         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
22448         * lisp/emacs-lisp/generator.el (iter-next):
22449         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
22450         (gnus-article-mode-syntax-table):
22451         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
22452         * lisp/net/soap-client.el (soap-wsdl-get):
22453         * lisp/net/telnet.el (telnet-mode):
22454         * lisp/org/org-compat.el (org-number-sequence):
22455         * lisp/org/org.el (org-remove-highlights-with-change)
22456         (org-structure-template-alist):
22457         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
22458         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
22459         (handwrite-12pt, handwrite-13pt):
22460         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
22461         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
22462         * lisp/progmodes/verilog-mode.el (verilog-tool)
22463         (verilog-string-replace-matches, verilog-preprocess)
22464         (verilog-auto-insert-lisp, verilog-auto-insert-last):
22465         * lisp/textmodes/makeinfo.el (makeinfo-options):
22466         * src/font.c (Ffont_spec):
22467         Fix minor quoting problems in doc strings, e.g., missing quote,
22468         ``x'' where `x' was meant, etc.
22469         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
22470         Fix minor quoting problem in other string.
22471         * lisp/leim/quail/ethiopic.el ("ethiopic"):
22472         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
22473         Omit unnecessary quotes.
22474         * lisp/faces.el (set-face-attribute, set-face-underline)
22475         (set-face-inverse-video, x-create-frame-with-faces):
22476         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
22477         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
22478         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
22479         * lisp/net/tramp.el (tramp-methods):
22480         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
22481         * lisp/textmodes/artist.el (artist-ellipse-right-char)
22482         (artist-ellipse-left-char, artist-vaporize-fuzziness)
22483         (artist-spray-chars, artist-mode, artist-replace-string)
22484         (artist-put-pixel, artist-text-see-thru):
22485         * lisp/vc/ediff-util.el (ediff-submit-report):
22486         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
22487         Use double-quotes rather than TeX markup in doc strings.
22488         * lisp/skeleton.el (skeleton-pair-insert-maybe):
22489         Reword to avoid the need for grave accent and apostrophe.
22490         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
22491         Don't use grave and acute accents to quote.
22493 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
22495         * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1):
22496         Silence compiler.
22498 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22500         Try to port new etags tests to MS-Windows
22501         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
22502         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
22503         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
22504         Adjust to test-case changes below.
22505         * test/etags/Makefile (CSRC): Remove dostorture.c.
22506         Whatever it was trying to test, wasn't working portably.
22507         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
22508         just a line-ending problem.
22509         * test/etags/c-src/dostorture.c: Remove.
22510         * test/etags/cp-src/c.C: Remove stray CR.
22511         * test/etags/html-src/algrthms.html: Remove trailing CRs.
22512         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
22513         but if someone edits it later it should stay UTF-8-compatible.
22515 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
22517         Fix display of overlapping window-specific overlays
22518         * src/keyboard.c (adjust_point_for_property): When adjusting point
22519         due to display strings, ignore overlays that are specific to
22520         windows other than the currently selected one.
22521         * src/xdisp.c (handle_single_display_spec): If the display
22522         property comes from an overlay, arrange for buffer iteration to
22523         resume only after the end of that overlay.  (Bug#20607)
22525 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
22527         New command icomplete-force-complete-and-exit
22528         * lisp/icomplete.el (icomplete-force-complete-and-exit):
22529         New command
22530         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
22531         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
22532         (icomplete-minibuffer-map): Bind C-j to it.
22533         (icomplete-forward-completions, icomplete-backward-completions):
22534         Mention the new command in the docstring.
22535         * lisp/minibuffer.el (minibuffer-force-complete-and-exit):
22536         Revert the previous fix for bug#17545.
22538 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
22540         Fix last commit
22542         In Elisp manual explain how to override window manager positioning
22543         (Bug#20552)
22544         * doc/lispref/frames.texi (Position Parameters): Give example of
22545         how to override a window manager positioning decision.
22547         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
22548         * src/frame.c (Fdelete_frame): In doc-string mention that frame
22549         can't be deleted if it has a surrogate minibuffer.
22550         * doc/lispref/frames.texi (Minibuffers and Frames)
22551         (Deleting Frames): Explain "surrogate minibuffer frames".
22553         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
22555 2015-05-18  Glenn Morris  <rgm@gnu.org>
22557         Add option to ignore commit lines matching a pattern in ChangeLog
22558         * build-aux/gitlog-to-changelog: Add --ignore-line option.
22559         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
22561 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
22563         Don't skip new etags tests on non-UTF-8 hosts
22564         Problem reported by Eli Zaretskii for MS-Windows.
22565         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
22566         (LC_ALL): Set to C if the current locale isn't UTF-8.
22567         (.PHONY): Remove ediff_1 thru ediff_5.
22568         (check): Always run.
22570 2015-05-18  Glenn Morris  <rgm@gnu.org>
22572         * lisp/calculator.el (calculator-funcall):
22573         * lisp/textmodes/artist.el (artist-spray-random-points):
22574         Use standard degree/radian conversion utilities.
22576         Further lisp-complete-symbol related cleanup.
22577         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
22578         Unadvertise non-functional argument.  Replace obsolete alias.
22580 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
22582         Add a test case for Maven warning ouput
22583         * test/automated/compile-tests.el
22584         (compile-tests--test-regexps-data): Add a case for Maven warning
22585         ouput.
22586         (compile--test-error-line): Check the compilation message type, if
22587         it's specified in the test data.
22589 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
22591         Update Maven compilation-mode entry to distinguish warnings
22592         * lisp/progmodes/compile.el
22593         (compilation-error-regexp-alist-alist): Update Maven entry to
22594         distinguish warnings (bug#20556).
22596 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
22598         * test/automated/sgml-mode-tests.el: New file.
22600 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
22602         Improve handling of the first Git revision
22603         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
22604         there's no next entry, delete until the end of the buffer.
22605         (log-view-end-of-defun-1): Stop at eob.
22606         * lisp/vc/vc-annotate.el
22607         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
22608         when previous-revision is nil.
22609         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
22610         with `--' to avoid ambiguity.
22611         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
22612         returned revision string.
22613         (vc-git-annotate-time): Expect `^' before the first revision.
22614         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
22615         REV1 is nil, and REV2 is not.
22616         * lisp/vc/vc.el: Update the description of the `diff' function.
22618 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
22620         Allow checkdoc to be called in batch
22621         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
22622         is non-nil, echo the error with `warn'.
22623         How it can be used in -batch:
22624         (with-current-buffer (find-file "checkdoc.el")
22625           (checkdoc-current-buffer t))
22627 2015-05-18  Glenn Morris  <rgm@gnu.org>
22629         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
22631 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22633         * admin/notes/unicode: New section "binary files".
22635         Change new etags test to use UTF-8 encoding
22636         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
22637         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
22638         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
22639         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
22640         * test/etags/html-src/softwarelibero.html:
22641         Switch to UTF-8 encoding.
22642         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
22643         Remove Makefile, as it's too incestuous to have the test input
22644         include the build procedure.
22645         (UTF8_LOCALE, UTF_ENCODING): New macros.
22646         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
22647         (check): Skip if not UTF-8.
22648         (.PHONY): New rule.
22649         (FRC): Remove, as superseded by .PHONY.  All uses removed.
22650         (regexfile): Prefer printf to echo when outputting oddball chars.
22651         (.PRECIOUS): Remove, as these files are not built.
22653         Rename 'foo-gzipped' to 'foo.gz'
22654         * test/automated/data/decompress/foo.gz:
22655         Rename from test/automated/data/decompress/foo-gzipped,
22656         to make it easier for other tools to tell that it's compressed.
22657         * test/automated/zlib-tests.el (zlib--decompress):
22658         Adjust to renamed file.
22660 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
22662         Set up default-directory
22663         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
22664         binding for `v'.
22665         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
22666         appropriate value for default-directory.
22668 2015-05-17  Samer Masterson  <samer@samertm.com>
22670         * lisp/eshell/em-term.el (eshell-term-sentinel):
22671         No-op by default, only kills term buffer if
22672         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
22673         (eshell-destroy-buffer-when-process-dies): New custom to preserve
22674         previous behavior.
22676         eshell: Introduce new buffer syntax
22677         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
22678         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
22679         needed (Bug#19319).
22680         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
22681         (eshell-get-target): Remove shorthand-specific code.
22682         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
22683         '#<buffer-name>'.
22685 2015-05-17  Jan D  <jan.h.d@swipnet.se>
22687         Merge branch 'master' into cairo
22689 2015-04-26  Jan D  <jan.h.d@swipnet.se>
22691         Merge branch 'master' into cairo
22693         Add PBM support for cairo
22694         * src/image.c (xcolor_to_argb32): New function.
22695         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
22696         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
22697         XImagePtr if ! USE_CAIRO.
22698         (pbm_load): Add cairo support.
22700 2015-04-12  Jan D  <jan.h.d@swipnet.se>
22702         * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw.
22703         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
22704         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
22705         x_free_cr_resources.
22707         Handle specified bg in images.  Use generic libpng code for PNGs.
22708         * src/image.c (get_spec_bg_or_alpha_as_argb)
22709         (create_cairo_image_surface): New functions when USE_CAIRO.
22710         (xpm_load): Call the above functions.  Handle XPM without mask
22711         when USE_CAIRO.
22712         (png_load_body): Handle USE_CAIRO case.
22713         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
22714         instead.
22715         (jpeg_load_body): Call create_cairo_image_surface.
22716         (gif_load, svg_load_image): Handle specified background, call
22717         create_cairo_image_surface.
22718         * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO.
22720 2015-04-11  Jan D  <jan.h.d@swipnet.se>
22722         Support GIF and TIFF with cairo
22723         * configure.ac: Allow jpeg with cairo.
22724         Allow tiff and gif with cairo.
22725         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
22726         (tiff_load): Create cairo image surface if USE_CAIRO.
22727         (gif_load): Ditto.
22729         Support JPEG with USE_CAIRO
22730         * configure.ac: Allow jpeg with cairo.
22731         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
22733 2015-04-05  Jan D  <jan.h.d@swipnet.se>
22735         Support RSVG and cairo
22736         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
22737         * src/dispextern.h (struct image): Add cr_data2 if cairo.
22738         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
22739         (x_clear_image): Free cr_data and cr_data2 if set.
22740         (xpm_load): Assign data to cr_data2.
22741         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
22743 2015-04-03  Jan D  <jan.h.d@swipnet.se>
22745         Introduce limited Xpm support (32 bit ZPixmap) for Cairo
22746         * configure.ac (HAVE_RSVG): Move after cairo.
22747         (USE_CAIRO): Disable rsvg, don't disable Xpm.
22748         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
22749         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
22750         don't return early.
22751         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
22752         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
22753         and create a surface.
22755         Tool tips for menus did not show any text.
22756         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
22757         tip frames, the geometry may be wrong.
22759         Merge branch 'master' into cairo, fixes tooltips not shown.
22761         Merge branch 'master' into cairo
22763         Add CAIRO_CFLAGS to lwlib/Makefile.in
22764         * Makefile.in (CAIRO_CFLAGS): Add.
22766 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22768         * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
22770 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22772         Draw outermost line using black relief and erase corners also for cairo.
22773         * src/xterm.c [USE_CAIRO]: Include math.h.
22774         (enum corners) [USE_CAIRO]: New enum.
22775         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
22776         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
22777         than 1, draw the outermost line using the black relief.
22779         * src/xterm.c (x_fill_trapezoid_for_relief):
22780         Remove unnecessary cairo_close_path.
22782 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22784         * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
22786         * src/xterm.c (x_draw_stretch_glyph_string):
22787         Call x_reset_clip_rectangles instead of XSetClipMask.
22789         Use int instead of unsigned int for width and height args.
22790         * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
22791         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
22792         width and height args.
22794         Modernize k&r cairo-related function declarations.
22795         * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
22796         (xg_print_frames_dialog): Modernize k&r declarations.
22797         * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
22798         (Fx_print_frames_dialog): Modernize k&r declarations.
22799         * src/xterm.c (x_gc_get_ext_data, x_extension_initialize)
22800         (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground)
22801         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
22802         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
22803         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
22804         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
22805         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
22806         (x_clear_area): Modernize k&r declarations.
22808         Implement wave-style variant of underlining for cairo.
22809         * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
22810         (x_draw_underwave) [USE_CAIRO]: Use it.
22812         * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle
22813         instead of XFillRectangle.
22815 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22817         Fix fringe bitmap initialization for cairo
22818         * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap
22819         data for cairo image surface.
22820         * src/xterm.c (x_cr_define_fringe_bitmap):
22821         Call cairo_surface_mark_dirty.
22823 2015-02-11  Jan D  <jan.h.d@swipnet.se>
22825         Add cairo drawing
22826         * configure.ac (with-cairo): New option.
22827         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
22828         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
22829         Output "Does Emacs use cairo?".
22830         * lisp/version.el (emacs-version): Add cairo version.
22831         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
22832         (FONT_OBJ): Add comment about ftcrfont.
22833         (ALL_CFLAGS): Add CAIRO_CFLAGS.
22834         (LIBES): Add CAIRO_LIBS.
22835         * src/dispextern.h (struct image): Add cr_data for cairo.
22836         (x_cr_init_fringe): Declare.
22837         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
22838         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
22839         * src/fringe.c (x_cr_init_fringe): New function name that shares code
22840         with w32_init_fringe.
22841         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
22842         * src/ftfont.c (ftfont_info_size); New global variable.
22843         (ftfont_open2): New extern function almost the same as old ftfont_open,
22844         but takes the font_object as argument.
22845         (ftfont_open): Build font object and call ftfont_open2.
22846         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
22847         * src/gtkutil.c (xg_clear_under_internal_border)
22848         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
22849         Only queue_draw if not cairo.  Change args to x_clear_area.
22850         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
22851         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
22852         (xg_print_frames_dialog): New functions for printing.
22853         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
22854         (xg_print_frames_dialog): Declare.
22855         * src/image.c: Add defined (USE_CAIRO) for PNG.
22856         Add !defined USE_CAIRO for W32 PNG code.
22857         (x_clear_image): If cairo, destroy the surface in cr_data.
22858         (png_load): Add new cairo compatible implementation.
22859         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
22860         * src/xfns.c: New section Printing.
22861         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
22862         (x-print-frames-dialog): New printing functions.
22863         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo.
22864         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
22865         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
22866         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
22867         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
22868         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
22869         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
22870         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
22871         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
22872         Declare.
22873         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
22874         (max_fringe_bmp, fringe_bmp): New variables.
22875         (x_gc_get_ext_data, x_extension_initialize)
22876         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
22877         (x_set_cr_source_with_gc_foreground)
22878         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
22879         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
22880         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
22881         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
22882         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
22883         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
22884         (x_update_begin): Create cairo surface if needed.
22885         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
22886         (x_update_end): Paint cairo drawing surface to xlib surface.
22887         (x_clear_under_internal_border, x_after_update_window_line): Adjust
22888         arguments to x_clear_area.
22889         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
22890         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
22891         of XSetClipMask.
22892         (x_set_glyph_string_clipping)
22893         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
22894         instead of XSetClipRectangles.
22895         (x_clear_glyph_string_rect, x_draw_glyph_string_background):
22896         Use x_fill_rectangle instead of XFillRectangle.
22897         (x_draw_glyph_string_foreground)
22898         (x_draw_composite_glyph_string_foreground)
22899         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle
22900         instead of XDrawRectangle.
22901         (x_draw_relief_rect): Add code for USE_CAIRO.
22902         Call x_reset_clip_rectangles instead of XSetClipMask.
22903         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
22904         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
22905         instead of XSetClipMask.
22906         (x_draw_image_foreground, x_draw_image_foreground_1):
22907         x_draw_rectangle instead of XDrawRectangle.
22908         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
22909         XFillRectangle.
22910         (x_draw_image_glyph_string): If img has cr_data, use it as
22911         a cairo surface.
22912         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
22913         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
22914         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
22915         x_reset_clip_rectangles instead of XSetClipMask.
22916         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
22917         (x_clear_area1): New function that calls XClearArea.
22918         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
22919         non-cairo.
22920         (x_clear_frame): x_clear_window instead of XClearWindow.
22921         (x_scroll_run): Set frame garbaged if cairo.
22922         (XTmouse_position): Initialize *part to 0.
22923         (x_scroll_bar_create): Adjust arguments to x_clear_area.
22924         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
22925         x_fill_rectangle instead of XFillRectangle.
22926         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
22927         arguments to x_clear_area.
22928         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
22929         (handle_one_xevent): Adjust arguments to x_clear_area.
22930         Destroy cairo surface for frame if ConfigureNotify.
22931         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
22932         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
22933         x_reset_clip_rectangles instead of XSetClipMask.
22934         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
22935         x_reset_clip_rectangles instead of XSetClipMask.
22936         (x_clear_frame_area): Adjust arguments to x_clear_area.
22937         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
22938         (x_term_init): Call x_extension_initialize if cairo.
22939         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
22940         x_cr_destroy_fringe_bitmap for cairo.
22941         (x_initialize): Call x_cr_init_fringe for cairo.
22942         * src/xterm.h: Add include of cairo header files.
22943         (x_bitmap_record): Add img if cairo.
22944         (x_gc_ext_data): New struct for cairo.
22945         (x_display_info): Add ext_codes for cairo.
22946         (x_output): Add cr_context and cr_surface for cairo.
22947         (x_clear_area): Change arguments from Display*/Window to frame pointer.
22948         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
22949         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
22950         (x_cr_draw_frame, x_cr_export_frames): Declare.
22952 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
22954         Fix integer-valued `mouse-highlight' (Bug#20590)
22955         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
22957 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
22959         MS-Windows followup for ASCIIfication of curved quotes
22960         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
22961         test for curved quotes being displayable, after switching the
22962         terminal encoding.  (Bug#20545)
22964 2015-05-17  Jan D  <jan.h.d@swipnet.se>
22966         Add comment that x_shift_glyphs_for_insert is never called
22967         * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface):
22968         Add comment that this function is never called.
22970 2015-05-16  Glenn Morris  <rgm@gnu.org>
22972         * src/lisp.mk: Remove from repository and generate at build-time.
22973         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
22974         (shortlisp_filter): New variable.
22975         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
22976         (distclean): Remove lisp.mk.
22977         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
22978         * lisp/loadup.el: Tweak layout to make it easier to parse.
22979         * make-dist: Do not distribute src/lisp.mk.
22981 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
22983         Display shorter dates in Git annotate output
22984         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
22985         format (when not overridden with vc-git-annotate-switches).
22986         (vc-git-annotate-time): Support the short format, as well as ISO
22987         8601 that has been used until now (bug#5428).
22989 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22991         ASCIIfy curved quotes on displays lacking them
22992         * lisp/international/mule-cmds.el (set-locale-environment):
22993         If curved quotes don't work, display straight ASCII approximations
22994         (Bug#20545).
22996 2015-05-16  Glenn Morris  <rgm@gnu.org>
22998         Small src/Makefile simplification
22999         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
23000         * src/Makefile.in (lisp): Derive from shortlisp.
23001         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
23003 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
23005         * lisp/help-mode.el (help-go-forward): Doc fix.
23006         (Bug#20577)
23008         * doc/lispref/debugging.texi (Profiling): Improve indexing.
23009         (Bug#20576)
23011 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
23013         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
23014         have one fewer `not'.
23016         * lisp/vc/vc-git.el (vc-git-diff-switches)
23017         (vc-git-annotate-switches, vc-git-resolve-conflicts)
23018         (vc-git-program, vc-git-root-log-format): Remove the redundant
23019         :group declarations.
23021 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
23023         Removes the predicate from lisp-complete-symbol (Bug#20456)
23024         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
23025         and remove it from the docstring.
23027 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
23029         Add new option vc-git-resolve-conflicts
23030         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
23031         (vc-git-find-file-hook): Add to after-save-hook only when the
23032         above is non-nil.
23033         (vc-git-resolve-when-done): Update to honor the new variable.
23034         (Bug#20292)
23036 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
23038         * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string.
23039         (tabulated-list-init-header): Document new behavior.
23040         (tabulated-list-print-fake-header): Do nothing if
23041         `tabulated-list--header-string' is nil.
23042         (tabulated-list--header-string): Add a docstring.
23043         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
23044         * etc/NEWS: Document it.
23046 2015-05-15  Leo Liu  <sdl.web@gmail.com>
23048         Revert "Fix cps--gensym"
23049         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
23050         fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
23052 2015-05-15  Glenn Morris  <rgm@gnu.org>
23054         Replace AC_SUBST_FILE in configure with include in Makefiles
23055         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
23056         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
23057         (AUTO_DEPEND): New output variable.
23058         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
23059         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
23060         (lwlib_deps_frag): Replace by conditional include.
23061         * lwlib/autodeps.mk: Remove file.
23062         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
23063         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
23064         (oldxmenu_deps_frag): Replace by conditional include.
23065         * oldXMenu/autodeps.mk: Remove file.
23066         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
23067         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
23068         (lisp_frag): Replace by an include.
23069         (deps_frag): Replace by conditional include.
23070         * src/autodeps.mk: Remove file.
23072         Tweak japanese.el's loading of dependencies
23073         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
23074         * lisp/language/japanese.el: Use require rather than load.
23075         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
23076         Provide a feature.
23077         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
23078         Provide a feature in the generated file.
23080 2015-05-15  Jan D  <jan.h.d@swipnet.se>
23082         Fix NS warnings
23083         * src/nsmenu.m (ns_popup_dialog)
23084         * src/nsimage.m (initFromXBM:width:height:fg:bg:)
23085         * src/nsfns.m (Fx_create_frame): Remove unused variables.
23086         (Fns_read_file_name): Initialize fname, remove ret.
23087         * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
23088         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown):
23089         Remove unused variable.
23090         (init): Add parantesis in if.
23091         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
23093 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
23095         Fix a enum conversion warning in macfont.m
23096         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
23097         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
23099 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
23101         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
23102         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
23104 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
23106         * lisp/cus-start.el: Add ns-confirm-quit.
23108         Fix warnings on OSX 10.10
23109         * src/nsfns.m (MODAL_OK_RESPONSE): New define for different
23110         OSX versions.
23111         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
23112         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
23113         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:)
23114         * src/nsimage.m (allocInitFromFile, setPixmapData): Only call
23115         setScalesWhenResized for OSX < 10.6.
23116         * src/nsterm.h (EmacsScroller): Declare scrollerWidth.
23117         * src/nsterm.m (ns_copy_bits): New function that does not use
23118         deprecated NSCopyBits.
23119         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
23120         (runAlertPanel): New function.
23121         (applicationShouldTerminate:): Call runAlertPanel.
23122         (initFrameFromEmacs, toggleFullScreen:): Only call
23123         useOptimizedDrawing for OSX < 10.10.
23124         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
23125         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
23126         (draggingEntered:): Returns NSDragOperation.
23127         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
23129 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
23131         * lisp/emacs-lisp/package.el: Don't ensure-init during startup.
23132         (package--init-file-ensured): New variable.
23133         (package-initialize, package--ensure-init-file): Use it.
23135 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
23137         Honor :fore/background for XBM on NS (Bug#14969)
23138         * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
23139         initFromXBM takes bg, fg args, remove flip arg.
23140         (ns_image_from_XBM): Add bg, fg args.
23141         * src/image.c (x_create_bitmap_from_data)
23142         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
23143         * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to
23144         initFromXBM.  Remove flip arg.
23145         (initFromSkipXBM): Move code to initFromXBM.
23146         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
23147         Use fg, bg from args (Bug#14969).  Remove if (length) section, was
23148         always false.
23149         Remove bit flipping (bitPat, swt), generated incorrect images when
23150         width/height wasn't a multiple of 8.
23151         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
23152         * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args,
23153         remove flip arg.
23155 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
23157         * lisp/emacs-lisp/package.el: Be more careful with the init file.
23158         (package--ensure-init-file): Check that user-init-file is set,
23159         exists, is readable, and is writable.  (Bug#20584)
23160         Also expand the docstring.
23162 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
23164         Sync with upstream verilog-mode revision 6232468
23165         * lisp/progmodes/verilog-mode.el
23166         (verilog-font-lock-grouping-keywords-face)
23167         (verilog-highlight-grouping-keywords): Fix use of face when
23168         `verilog-highlight-grouping-keywords' set.  Reported by Jeff Pompa.
23169         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
23170         parent is reset, bug906.  Reported by Ken Schmidt.
23171         (verilog-auto-inout-module): Add fourth regexp argument to
23172         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856.
23173         Reported by John Tillema.
23174         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
23175         modport if signal attachment is itself a modport.  Reported by
23176         Matthew Lovell.
23177         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
23178         always_comb and always_latch, bug844.  Reported by Greg Hilton.
23179         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
23180         with many curly-bracket pairs, bug663.
23181         (verilog-set-auto-endcomments): Fix end comments for functions of
23182         type void, etc.  Reported by Alex Reed.
23183         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
23184         caused by indent-line-to deleting tabls pre 24.5.
23185         (verilog-nameable-item-re): Fix nameable items that can have an
23186         end-identifier to include endchecker, endgroup, endprogram,
23187         endproperty, and endsequence.  Reported by Alex Reed.
23188         (verilog-label-be): When auto-commenting a buffer, consider
23189         auto-comments on all known keywords (not just a subset thereof).
23190         Reported by Alex Reed.
23191         (verilog-auto-end-comment-lines-re)
23192         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
23193         Automatically comment property/endproperty blocks to match other
23194         similar blocks like sequence/endsequence, function/endfunction, etc.
23195         Reported by Alex Reed.
23196         (verilog-set-auto-endcomments): Detect the function- or task-name
23197         when auto-commenting blocks that lack an explicit portlist.
23198         Reported by Alex Reed.
23199         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
23200         allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
23201         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
23202         is nil, fix indenting initial/final to match always statements,
23203         bug825.  Reported by Tim Clapp.
23204         (verilog-extended-complete-re): Fix indentation of DPI-C imports
23205         with c_identifiers, and DPI-C imports, bug557.  Reported by ZeDong
23206         Mao and Jason Forkey.
23207         (verilog-read-decls): Fix parsing typed interfaces.  Fix
23208         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
23209         Fix localparam not being ignored in AUTOINSTPARAM,
23210         bug889.  Reported by Shannon Hill.
23211         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
23212         bug793.  Reported by Pierre-David Pfister.
23213         (verilog-auto-arg-format, verilog-auto-arg-ports):
23214         Add verilog-auto-arg-format to support newlines in AUTOARG.
23215         Reported by Jie Xiao.
23216         (verilog-batch-execute-func): Do not batch re-auto files loaded by
23217         Local Variables.  Fix printing "no changes to be saved" with
23218         verilog-batch.  Reported by Dan Dever.
23219         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
23220         interface-only modules, bug721.  Reported by Dean Hoyt.
23221         Author: Alex Reed <acreed4@gmail.com>
23222         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement):
23223         Don't treat '<keyword>:<identifier>' as the start of a labeled
23224         statement, bug905.  Reported by Enzo Chi.
23225         (verilog-directive-re, verilog-compiler-directives)
23226         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
23227         directives (plus some extras) when determining indentation, bug
23228         901.  Reported by Bernd Beuster.
23229         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
23230         iff expression doesn't start with word-character, bug900.
23231         (verilog-optional-signed-range-re, verilog-optional-signed-re):
23232         Fix incorrect indentation/alignment of unsigned declarations,
23233         bug897.
23234         (verilog-looking-back, verilog-in-attribute-p): Fix labeling of
23235         always constructs, bug895.
23236         (verilog-calc-1): Fix verilog-mode constraint indentation, bug324.
23237         Reported by Eric Mastromarchi.
23238         (verilog-beg-of-statement): Fix indenting for some forms of
23239         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
23240         continued assignment incorrect if first line ends with ']', bug437.
23241         Reported by Dan Dever.  Fix indention of cover inside an
23242         ifdef, bug 862.  Reported by Bernd Beuster.  Fix labeling do-while
23243         blocks, bug842.
23244         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859.
23245         Reported by Kaushal Modi.
23246         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
23247         (verilog-backward-token): Fix indenting sensitivity lists with
23248         named events, bug840.  Reed.
23249         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
23250         nil not honoring 'forever', 'foreach', and 'do' keywords.
23252 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
23254         Check for invalid GTK+ monitor scales
23255         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
23256         INT_MAX for too-large scales.  All callers changed to assume the
23257         result is valid (Bug#20432).
23258         (xg_frame_set_char_size, xg_update_scrollbar_pos):
23259         Calculate scale only if needed.
23260         Show ASCII approximations instead.
23262 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
23264         Fix daemon crashes when linum-mode is turned on early on
23265         * src/window.c (Fwindow_end): Don't try calling display engine
23266         functions on initial-frame frame.  (Bug#20565)
23268         Fix selective diff browsing in Ediff
23269         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches):
23270         Go to the beginning of the region before searching for the
23271         ediff-regexp-focus-* regexps.  (Bug#20568)
23273 2015-05-14  Jan D  <jan.h.d@swipnet.se>
23275         Fixes bug#20142
23276         * src/gtkutil.c (delete_cb): Don't send delete event here, it does
23277         arrive in the main loop, even for Gtk 3 (Bug#20142).
23279         Don't access display after i/o error (Bug#19147).
23280         * src/xterm.c (x_connection_closed): Add third arg ioerror.
23281         If ioerror, set display to 0 (Bug#19147).
23282         (x_error_quitter): Call x_connection_closed with third arg false.
23283         (x_io_error_quitter): Call x_connection_closed with third arg true.
23285         Handle GTK_SCALE, fixes Bug#20432.
23286         * src/gtkutil.c (xg_get_gdk_scale): New function.
23287         (xg_frame_set_char_size)
23288         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
23289         (xg_get_default_scrollbar_height)
23290         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
23291         when setting sizes (Bug#20432).
23293 2015-05-13  Leo Liu  <sdl.web@gmail.com>
23295         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
23297 2015-05-13  Glenn Morris  <rgm@gnu.org>
23299         Fix bootstrap (void function cl-member).
23300         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
23301         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
23303 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
23305         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
23306         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
23307         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
23308         Avoid defalias for closures which are not immutable.
23309         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill
23310         the dispatchers table with various entries.
23311         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
23312         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
23314 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
23316         Improve tagging of C bindings in DEFVAR_*
23317         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
23318         from DEFVAR_*.
23320 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
23322         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
23324 2015-05-12  Glenn Morris  <rgm@gnu.org>
23326         * lisp/progmodes/tcl.el (tcl-filter):
23327         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
23329         Add basic VC push support
23330         * lisp/vc/vc.el (vc-push): New autoloaded command.
23331         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
23332         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
23333         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
23334         (vc-bzr-push): New.
23335         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
23336         (vc-git-pull): Reimplement using vc-git--pushpull.
23337         (vc-git-push): New.
23338         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
23339         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
23340         * doc/emacs/maintaining.texi (Pulling / Pushing):
23341         Rename from "VC Pull".  Mention pushing.
23342         (VC With A Merging VCS, VC Change Log): Update xrefs.
23343         (Branches): Update menu.
23344         * doc/emacs/emacs.texi: Update menu.
23345         * etc/NEWS: Mention this.
23347 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
23349         Improve the seq pcase pattern and the `seq-let' macro
23350         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
23351         object is a sequence, and binds each element of ARGS to the
23352         corresponding element of the sequence.
23354 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
23356         Fix tags created from DEFVAR_* declarations in C
23357         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
23358         to make tags extracted from DEFVAR_* declarations more accurate.
23360         Add a test suite for etags
23361         * test/etags/: New test suite, adapted from
23362         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
23363         whose original author is Francesco Potortì <pot@gnu.org>.
23365         Fix tagging of symbols in C enumerations
23366         * lib-src/etags.c (consider_token): Don't tag symbols in
23367         expressions that assign values to enum constants.  See
23368         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
23369         for details.
23370         (C_entries): Reset fvdef to fvnone after processing a preprocessor
23371         conditional and after a comma outside of parentheses.
23373 2015-05-12  Glenn Morris  <rgm@gnu.org>
23375         * lisp/url/url-handlers.el (url-file-name-completion)
23376         (url-file-name-all-completions): Silence compiler.
23378         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
23380         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
23382 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
23384         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
23385         (cl--generic-mandatory-args): Remove.
23386         (cl--generic-split-args): New function.
23387         (cl-generic-define, cl--generic-lambda): Use it.
23388         (cl-generic-define-method): Use it as well, and add support for
23389         context args.
23390         (cl--generic-get-dispatcher): Handle &context dispatch.
23391         (cl--generic-cache-miss): `dispatch-arg' can now be a
23392         context expression.
23393         (cl--generic-dispatchers): Pre-fill.
23394         * test/automated/cl-generic-tests.el (sm-generic-test-12-context):
23395         New test.
23397 2015-05-11  Glenn Morris  <rgm@gnu.org>
23399         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
23401 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
23403         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
23404         * lisp/term/rxvt.el: Require term/xterm.
23405         (rxvt-function-map): Use xterm-rxvt-function-map.
23406         (rxvt-standard-colors): Move before first use.
23407         (terminal-init-rxvt): Use xterm--push-map and
23408         xterm-register-default-colors.
23409         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
23410         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
23411         Move shared bindings between rxvt and xterm to it.
23412         (xterm-function-map): Use it.  Move the xterm-paste binding to
23413         xterm-rxvt-function-map (bug#20444).
23414         (xterm-standard-colors): Move before first use.
23415         (xterm--push-map): New function.
23416         (xterm-register-default-colors): Take standard colors as argument.
23417         (terminal-init-xterm): Use it.  Adjust call to
23418         xterm-register-default-colors.
23420 2015-05-11  Glenn Morris  <rgm@gnu.org>
23422         * lisp/term/x-win.el: Quieten --without-x compilation.
23423         (x-own-selection-internal, x-disown-selection-internal)
23424         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
23425         Declare.
23427         * Makefile.in (emacslog): Remove srcdir.
23428         (ChangeLog): Update for the above.
23430 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
23432         python.el: better limit for looking-back calls
23433         * lisp/progmodes/python.el (python-shell-accept-process-output):
23434         Use last comint prompt start as limit for looking-back.
23436 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
23438         CEDET (srecode-insert-fcn): Fix use of oref on a class
23439         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref
23440         on a class.  Reported by Pierre Lorenzon.
23441         (srecode-template-inserter-point): Remove declaration.
23443         CEDET (srecode-create-dictionary): Avoid obsolete object name
23444         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
23445         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
23447 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
23449         C-x 8 shorthands for curved quotes, Euro, etc.
23450         Although C-x 8 lets you insert arbitrary Unicode characters,
23451         it's awkward to use this to insert commonly used symbols such as curved
23452         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
23453         characters commonly found in English text and in basic math.
23454         For example, assuming the Alt key works on your keyboard and iso-transl
23455         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
23456         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
23457         (Bug#20499)
23458         * doc/emacs/mule.texi (Unibyte Mode):
23459         A few other printing characters now work too.
23460         * etc/NEWS: Document this.
23461         * lisp/international/iso-transl.el (iso-transl-char-map):
23462         Also support the following characters:
23463         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
23465 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
23467         Add xref-find-regexp
23468         * lisp/progmodes/xref.el (xref-find-function): Describe the
23469         `matches' action.
23470         (xref-find-regexp): New command, using it.
23471         (xref-collect-references): Rename to xref-collect-matches.
23472         (xref--collect-reference): Rename to xref--collect-match.
23473         (xref-collect-matches, xref--collect-match): Accept new argument,
23474         KIND.  Update accordingly.
23475         (xref--regexp-to-extended): New function.
23476         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
23477         `matches' action.
23478         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
23479         * lisp/progmodes/etags.el (etags-xref-find):
23480         Support the `matches' action.
23481         (etags--xref-find-matches): New function.
23483 2015-05-10  Glenn Morris  <rgm@gnu.org>
23485         * Makefile.in: Fixes for recent change-history changes.
23486         (change-history-nocommit): Update footer regexp.
23487         Ensure output script stays executable.
23489 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
23491         New version of `seq-let' based on a pcase pattern
23492         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
23493         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
23495 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
23497         Add basic HTML5 tags and a template
23498         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
23499         (html-tag-alist): Add HTML5 tags.
23500         (html-tag-help): Add new tags descriptions.
23501         (html-navigational-links): Template for nav links.
23502         (html-html5-template): Template for a HTML5 page.
23504 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
23506         semantic/symref/grep: Don't use word boundaries
23507         * lisp/cedet/semantic/symref/grep.el
23508         (semantic-symref-perform-search): Instead of wrapping input in
23509         word boundaries, check that the characters before and after are
23510         not word constituents.
23512         semantic/symref/grep: Support regexp search
23513         * lisp/cedet/semantic/symref.el
23514         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
23515         the search type is regexp.
23516         * lisp/cedet/semantic/symref/grep.el
23517         (semantic-symref-perform-search): Support the regexp search type.
23518         Pass -E to Grep when it's used.
23520         semantic-symref-regexp: Allow to input an arbitrary string
23521         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
23522         Allow to input an arbitrary string interactively.
23524         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
23525         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
23526         Remove tag-symbol-match-p from the default value
23527         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
23529         Declare find-tag obsolete
23530         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
23531         xref-find-definitions.
23533 2015-05-10  Jan D  <jan.h.d@swipnet.se>
23535         Draw composite string correctly (Bug#20537)
23536         * src/nsterm.m (ns_draw_composite_glyph_string_foreground):
23537         New function.
23538         (ns_draw_glyph_string): Call it.
23540 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
23542         Avoid infloop in ERC
23543         * lisp/simple.el (line-move-to-column): Ignore field boundaries
23544         while computing line beginning position.  (Bug#20498)
23546 2015-05-08  Glenn Morris  <rgm@gnu.org>
23548         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
23549         * build-aux/gitlog-to-emacslog: Check called from right directory.
23550         (srcprefix): Remove.
23552         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
23553         * Makefile.in (ChangeLog): No longer pass "distprefix".
23554         * make-dist: Update "make ChangeLog" syntax for the above change.
23556         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
23557         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
23559         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
23561         Add command-line option-parsing to gitlog-to-emacslog
23562         * build-aux/gitlog-to-emacslog: Add command-line options.
23563         By default, refuse to remove an existing output file.
23564         * Makefile.in (CHANGELOG): Update default.
23565         (ChangeLog): Do not test for existing file.
23566         (change-history-nocommit): Ensure temp file does not exist.
23568         Quieten --without-x compilation
23569         * lisp/term/common-win.el: Provide a feature.
23570         * lisp/term/x-win.el (term/common-win): Require it.
23572         * lisp/dired-aux.el (dired-do-print): Require lpr.
23574         Quieten compilation, eg in --without-x builds
23575         * lisp/dired-aux.el (lpr-printer-switch):
23576         * lisp/frame.el (tool-bar-height):
23577         * lisp/linum.el (font-info):
23578         * lisp/window.el (font-info, overflow-newline-into-fringe)
23579         (tool-bar-height):
23580         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
23581         * lisp/gnus/gnus-util.el (iswitchb-mode):
23582         * lisp/mail/rmailmm.el (libxml-parse-html-region):
23583         * lisp/net/nsm.el (gnutls-peer-status)
23584         (gnutls-peer-status-warning-describe):
23585         * lisp/net/shr.el (libxml-parse-xml-region):
23586         * lisp/url/url-http.el (gnutls-peer-status): Declare.
23588 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
23590         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
23591         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
23592         `subclass' since they're never called with a class.
23593         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
23594         srecode-dictionary-child-p.
23596 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
23598         * lisp/help.el (help--binding-locus): Document argument POSITION.
23599         (Bug#20530)
23601 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
23603         Merge from gnulib
23604         * doc/misc/texinfo.tex: Get latest version.
23606 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
23608         ffap.el (ffap-read-file-or-url): Fix completing-read call
23609         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
23610         `completing-read' should be a symbol.
23612 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
23614         Verify file modifications by other programs
23615         * src/filelock.c (lock_file): Check whether the file was modified
23616         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
23618         Fix keyboard macros that include function keys
23619         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
23620         keys in the macro before returning.  (Bug#20454)
23622 2015-05-08  Glenn Morris  <rgm@gnu.org>
23624         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
23625         "Copyright-paperwork-exempt".  (Bug#20324)
23627         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
23628         (log-edit-rewrite-tiny-change): New variable.
23629         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
23630         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
23631         * etc/NEWS: Mention this.
23633         * lisp/calc/calc.el (math-zerop): Declare.
23635         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
23637 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
23639         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec.
23640         Support the case when BINDINGS is a single tuple.  (Bug#20525)
23642         * etc/NEWS: Fix typo in previous commit
23643         (14bb519f1034ddb38ce375cbad7095d9b07f8b26).
23645 2015-05-07  Jan D  <jan.h.d@swipnet.se>
23647         * configure.ac: Warn for multiple display crash for all Gtk+ versions.
23648         Output URL to Gtk+ bug (Bug#20452).
23650         * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection.
23652 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
23654         * lisp/emacs-lisp/package.el: New "external" package status.
23655         An external package is any installed package that's not built-in
23656         and not from `package-user-dir', which usually means it's from an
23657         entry in `package-directory-list'.  They are treated much like
23658         built-in packages, in that they cannot be through the Package Menu
23659         deleted and are not considered for upgrades.
23660         (package-desc-status): Identify if a package is installed outside
23661         `package-user-dir'.
23662         (package-menu--print-info-simple)
23663         (package-menu--status-predicate): Add support for it.
23664         * etc/NEWS: Document it.
23666 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
23668         * lisp/mail/rmail.el: Use lexical-binding.
23669         (rmail-bury): Remove unused var `buffer-to-bury'.
23670         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
23671         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
23672         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
23673         (rmail-insert-inbox-text): Remove unused var `movemail'.
23674         (rmail-add-mbox-headers): Remove unused var `limit'.
23675         (rmail-undelete-previous-message): Remove unused var `value'.
23676         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
23677         `resent-reply-to'.
23678         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
23679         (rmail-restore-desktop-buffer): Rename arguments.
23681 2015-05-06  Glenn Morris  <rgm@gnu.org>
23683         * Makefile.in (change-history-commit): Add missing piece of previous.
23685         Avoid unnecessary bumping of Makefile.in's timestamp
23686         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
23687         (emacslog): New variable.
23688         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
23689         (unchanged-history-files): Use $emacslog rather than Makefile.in.
23690         (change-history-nocommit): Store hash in $emacslog.
23691         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
23692         * admin/update_autogen (changelog_files): Update for the above.
23694         * Makefile.in: Don't always insist on removing existing "ChangeLog".
23695         (CHANGELOG): New variable.
23696         (no-ChangeLog): Remove.
23697         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
23698         (change-history-nocommit): Use a temp file rather than insisting
23699         on deletion of any existing "ChangeLog".
23701         * build-aux/gitlog-to-emacslog: Allow specification of output.
23703         * admin/update_autogen: Add option to update ChangeLog.
23704         (usage): Mention -H.
23705         (changelog_flag, changelog_n, changelog_files): New variables.
23706         (main): Check for -H, and maybe run change-history-nocommit.
23708 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
23710         * lisp/subr.el (delete-dups): Pre-size the hashtable.
23712         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
23713         cl--arglist-args is defined (bug#20517).
23715 2015-05-06  Glenn Morris  <rgm@gnu.org>
23717         * Makefile.in (change-history-nocommit): New.
23719 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
23721         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
23722         timer when it is non-nil
23723         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
23725 2015-05-06  Glenn Morris  <rgm@gnu.org>
23727         Quieten CEDET compilation
23728         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
23729         Invert fboundp test to quieten on current Emacs.
23730         * lisp/cedet/ede/config.el (ede-shell-run-something)
23731         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
23732         (semanticdb-refresh-table): Declare.
23733         (ede-preprocessor-map): Require semantic/db.
23735         Quieten cc-mode compilation
23736         * lisp/progmodes/cc-awk.el (c-forward-sws):
23737         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
23738         Declare.
23740 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
23742         * lisp/subr.el (delete-dups): Avoid nreverse.
23744 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
23746         * lisp/subr.el (delete-dups): Make it destructive again.
23748 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23750         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
23752 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
23754         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487).
23755         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
23756         (testcover--read): Rename from testcover-read.  Change calling
23757         convention.  Use edebug-read-and-maybe-wrap-form now that edebug-read
23758         is gone.
23759         (testcover-start): Use add-function.  Move edebug-all-defs binding to
23760         testcover--read.
23761         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
23762         (testcover-mark): Remove unused var `item'.
23763         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
23765 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
23767         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
23768           use a hash table.  This can result in ~500 times speed-up for typical
23769           collections of size 5000, like that of `load-library'.
23771 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
23773         CEDET: Avoid `oref' on classes in a few more cases
23774         * lisp/cedet/ede/generic.el (ede-find-target):
23775         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
23776         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
23777         var `prefix'.
23779         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings.
23780         (grepflags, greppattern): Declare.
23781         (semantic-symref-perform-search): Remove unused var `pat'.
23783         CEDET (srecode-compile-inserter): Avoid `oref' on classes
23784         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
23785         Avoid `oref' on classes (bug#20491).
23786         (srecode-compile-split-code): Remove unused var `key'.
23788 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
23790         Clean up pulse.el a little
23791         * lisp/cedet/pulse.el (pulse): Remove.
23792         (pulse-momentary-timer): Save instead of the stop time.
23793         (pulse-momentary-highlight-overlay):
23794         Call pulse-momentary-unhighlight first thing.
23795         Treat pulse-momentary-overlay as a single value, not a list.
23796         Save the created timer.  Only pass the stop time to the timer.
23797         (pulse-tick): Update accordingly.
23798         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
23799         single value.  Cancel the timer.
23801 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
23803         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
23804         Support the biblatex journaltitle field.
23806 2015-05-05  Glenn Morris  <rgm@gnu.org>
23808         Minor declare-function improvement
23809         * lisp/emacs-lisp/bytecomp.el
23810         (byte-compile-macroexpand-declare-function):
23811         Handle declarations after calls.  (Bug#20509)
23813         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
23815         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
23817 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
23819         Pulse using a timer
23820         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
23821         (pulse-momentary-highlight-overlay): Set up the timer instead of
23822         calling `pulse'
23823         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
23824         (pulse-tick): New function.
23825         (pulse-momentary-unhighlight): Cut off the stop time.
23826         (pulse-delay): Update the docstring WRT to not using sit-for.
23828         Add semantic/symref/grep file patterns for ruby-mode
23829         * lisp/cedet/semantic/symref/grep.el
23830         (semantic-symref-filepattern-alist): Add patterns for ruby-mode.
23831         Clarify the docstring.
23833         Don't require match
23834         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
23835         match.  That doesn't work for every command, and some identifier
23836         completion tables are bound to be imperfect anyway.
23838 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23840         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505).
23841         (semantic-grammar--template-expand): New function.
23842         (semantic-grammar-header, semantic-grammar-footer): Use it.
23843         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
23844         (semantic-grammar-file-regexp): Refine regexp.
23845         (semantic-grammar-eldoc-get-macro-docstring):
23846         Use elisp-get-fnsym-args-string when available.
23847         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
23848         instead of the old eldoc-* names.
23849         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
23850         from elisp-mode.el.  Tweak calling convention.
23851         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
23852         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
23853         elisp--get-fnsym-args-string.
23854         (elisp--highlight-function-argument): Add `prefix' arg.
23855         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
23856         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
23858 2015-05-05  Glenn Morris  <rgm@gnu.org>
23860         * lisp/help-fns.el (describe-function-1):
23861         Handle builtins with advertised calling conventions.  (Bug#20479)
23863 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
23865         Merge branch 'seq-let'
23867         Update `seq-let' documentation
23868         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
23869         with the support of  `&rest'.
23871         Add support for &rest in `seq-let'
23872         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
23873         in the argument list.
23874         * test/automated/seq-tests.el: Add a test for parsing and binding
23875         `&rest' in `seq-let'.
23877 2015-05-05  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
23879         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get):
23880         Add missing increment (Bug#20467).
23881         (eieio-object-value-create): Adjust to new slots representation
23882         (Bug#20467).
23883         (eieio-object-value-create): Fix missed adjustment to new
23884         representation of slots metadata.
23886 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
23888         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
23890 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
23892         Work around "Attempt to modify read-only object"
23893         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
23894         elisp--xref-find-definitions, to work around "Attempt to modify
23895         read-only object" error.
23897         Only skip some variables that have function counterparts
23898         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
23899         Only skip minor-mode-named variable if it's defined in a Lisp
23900         file, and it's in minor-mode-list (bug#20506).
23901         * test/automated/elisp-mode-tests.el
23902         (elisp-xref-finds-both-function-and-variable)
23903         (elisp-xref-finds-only-function-for-minor-mode): New tests.
23905 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
23907         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
23908         previous change.
23909         (xref--insert-xrefs): Buttonize the whole line, including the
23910         number at the beginning.
23912         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
23913         Make sure we're inside the let bindings.
23914         * test/automated/elisp-mode-tests.el
23915         (elisp-completes-functions-after-let-bindings): New test.
23917 2015-05-04  Glenn Morris  <rgm@gnu.org>
23919         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
23920         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
23921         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
23922         Remove outdated declarations.
23924         Replace instances of "(eval-when-compile (autoload ...))"
23925         * lisp/gnus/gnus-art.el (nneething-get-file-name):
23926         Declare rather than autoload.
23927         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
23928         Remove pointless autoload.
23929         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
23930         (gnus-topic-create-topic, gnus-topic-enter-dribble):
23931         Declare rather than autoload.
23932         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
23933         (mailcap-extension-to-mime): Autoload at run-time.
23934         * lisp/gnus/mm-util.el (latin-unity-massage-name)
23935         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
23936         (latin-unity-representations-present-region):
23937         Declare rather than autoload.
23938         * lisp/gnus/mml-smime.el (epg-make-context)
23939         (epg-passphrase-callback-function): Autoload at run-time.
23940         (epg-context-set-signers, epg-context-result-for)
23941         (epg-new-signature-digest-algorithm)
23942         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
23943         (epg-sign-string, epg-encrypt-string)
23944         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
23945         (epg-configuration, epg-expand-group, epa-select-keys):
23946         Declare rather than autoload.
23947         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
23948         Autoload at run-time.
23949         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
23950         (gnus-registry-get-id-key, gnus-registry-action):
23951         Declare rather than autoload.
23952         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
23953         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
23954         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
23955         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
23956         (spam-stat-split-fancy): Remove pointless autoloads.
23957         * lisp/net/mairix.el: Load gnus-util when compiling.
23958         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
23959         (message-field-value): Declare rather than autoload.
23960         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
23961         Check gnus-alive-p is fbound.
23962         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
23963         (vm-check-for-killed-summary, vm-error-if-folder-empty)
23964         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
23965         Declare rather than autoload.
23967         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
23969         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
23970         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
23972         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
23974         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
23976         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
23977         * lisp/emacs-lisp/package.el (epg-signature-status):
23978         Fix declarations.
23980         * lisp/play/gametree.el (gametree-show-children-and-entry)
23981         (gametree-apply-layout, gametree-mouse-show-subtree)
23982         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
23984         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
23985         Handle cl-defgeneric, cl-defmethod.
23987 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
23989         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
23990         Highlight both type and symbol name.
23992         Insert, highlight and align line numbers in xref output
23993         * lisp/progmodes/etags.el (xref-location-line): Specialize for
23994         xref-etags-location.
23995         * lisp/progmodes/xref.el (xref-location-line): New generic method.
23996         (xref-file-location): Add reader for the line slot.
23997         (xref--location-at-point): Skip to the `xref-location' property.
23998         (xref--collect-reference): Drop the line number from description.
23999         (xref--insert-xrefs): Insert, highlight and align line numbers.
24001 2015-05-04  Daniel Colascione  <dancol@dancol.org>
24003         * lisp/simple.el (save-mark-and-excursion--save)
24004         (save-mark-and-excursion--restore): Fix previous commit
24005         (255a011f0ecf004b31c59945b10154b10fac3af1).
24007 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
24009         Don't pulse the indentation, or the newline
24010         * lisp/cedet/pulse.el (pulse-lighten-highlight)
24011         (pulse-reset-face): Fall back to the inherited background
24012         attribute in FACE.
24013         (pulse-momentary-highlight-region): Add autoload cookie.
24014         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
24015         indentation, or the newline, if the line's non-empty
24016         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
24018 2015-05-04  Daniel Colascione  <dancol@dancol.org>
24020         Add `save-mark-and-excursion', which has the old
24021         `save-excursion' behavior
24022         * doc/lispref/positions.texi (Excursions):
24023         Document `save-mark-and-excursion'.
24024         * lisp/font-lock.el (font-lock-fontify-block):
24025         Use `save-mark-and-excursion' instead of `save-excursion',
24026         restoring Emacs 24 behavior.
24027         * lisp/simple.el (save-mark-and-excursion--save)
24028         (save-mark-and-excursion--restore): New functions.
24029         (save-mark-and-excursion): New user macro.
24030         * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion'
24031         in `save-excursion' documentation.
24033 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
24035         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
24036         Classify lone symbol inside let varlist as variable.
24037         * test/automated/elisp-mode-tests.el
24038         (completest-variables-in-let-bindings): New test.
24040         Add xref-pulse-on-jump
24041         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
24042         Add autoload cookie.
24043         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
24044         (xref--maybe-pulse): New function.
24045         (xref-pop-marker-stack, xref--pop-to-location)
24046         (xref--display-position): Use it.
24047         (xref--location-at-point): Use back-to-indentation.
24049 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
24051         lisp/org/org-{macs,list}.el: Fix lexical warnings
24052         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
24053         (org-list-get-next-item, org-list-get-prev-item)
24054         (org-list-get-children): Mark unused arg `struct'.
24055         (org-list-use-alpha-bul-p): Remove unused var `bul'.
24056         (org-toggle-checkbox): Mark unused var.
24057         (org-update-checkbox-count): Remove unused var `box-num'.
24058         (org-adapt-indentation): Declare.
24059         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
24060         (org-list-send-list): Remove unused var `txt'.
24061         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
24062         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
24063         * lisp/org/org-macs.el: Use `declare'.
24064         (org-with-limited-levels): Declare dyn-bound vars.
24066 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
24068         Fix minor issues with CEDET on MS-Windows
24069         * lisp/cedet/semantic/symref/idutils.el
24070         (semantic-symref-parse-tool-output-one-line): Fix the search
24071         regexp to match MS-Windows file names with drive letters.
24072         (Bug#19468)
24073         * lisp/cedet/semantic/symref/grep.el
24074         (semantic-symref-grep-use-template): Remove "--color=always" from
24075         Grep switches on MS-Windows.
24076         (semantic-symref-grep-shell): Use shell-file-name as the default
24077         value, so this works not only on Posix platforms.
24078         (semantic-symref-perform-search): Use shell-quote-argument instead
24079         of literal '..' for portable quoting of Grep command-line
24080         argument.  Use shell-command-switch instead of a literal "-c".
24081         * lisp/cedet/semantic/bovine/gcc.el
24082         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
24083         for an absolute file name in a portable way.
24085 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
24087         * lisp/emacs-lisp/package.el: Remove `package--silence' variable.
24088         (package-import-keyring, package-refresh-contents)
24089         (package-compute-transaction, package--save-selected-packages)
24090         (package-install-from-archive, package-delete)
24091         (package-menu--perform-transaction): Use `inhibit-message' instead.
24092         (package--compile): Set `warning-minimum-level' to :error.
24094 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
24096         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom.
24097         (terminal-init-screen): Use it (bug#20356).
24098         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
24099         (xterm--extra-capabilities-type): New const.
24100         (xterm-extra-capabilities): Use it.
24101         (xterm--version-handler): Lower the pseudo-version for `screen'.
24103 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
24105         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
24106         Always insert a newline at the end (to avoid mouse-face background
24107         tail at the last line).
24109         elisp-completion-at-point: Prioritize being quoted over funpos
24110         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
24111         Only consider function position when not inside quoted form
24112         (bug#20425).
24113         * test/automated/elisp-mode-tests.el: New file.
24115         Stop vc-print-log from jumping to the top
24116         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
24117         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
24118         is not specified.
24119         (vc-incoming-outgoing-internal): Always pass nil.
24120         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
24121         call it, and don't set vc-sentinel-movepoint (bug#15322).
24122         (vc-print-root-log): Don't fetch the root working revision, nor
24123         pass it to vc-print-log-internal.
24125 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
24127         Fix display of keyboard layouts for right-to-left scripts
24128         * lisp/international/quail.el (quail-insert-kbd-layout):
24129         Force left-to-right paragraph direction.
24131 2015-05-02  K. Handa  <handa@gnu.org>
24133         * src/cmds.c (internal_self_insert): When we insert spaces for
24134         padding, set point before the padding spaces, not after them.
24136 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
24138         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
24140 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
24142         Fix etags-xref-find for references
24143         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
24144         Use `cl-mapcan'.
24145         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
24146         directory if no tags tables are loaded (bug#19468).
24148 2015-05-02  Philipp Stephani  <phst@google.com>
24150         Update the options in whitespace-style defcustom
24151         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
24152         `repeat' because the option is really set-like.  Add missing
24153         options.  Reorder options to match the order in the
24154         documentation.  (Bug#20346)
24156 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
24158         Fix error diagnostics of c-macro-expand
24159         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
24160         too early if no start-marker string was found -- that generally
24161         means cpp exited abnormally, and we still want to show its error
24162         messages to the user.
24164         Don't require Texinfo 5.0 for Emacs documentation
24165         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
24166         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
24167         "@codequoteundirected on", respectively, to avoid requiring
24168         Texinfo 5.x for Emacs documentation.
24170 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
24172         * lisp/files.el (pwd):
24173         When called with a prefix argument, insert the current default
24174         directory at point.
24176 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
24178         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
24179         * lisp/isearch.el (isearch-mode-map): Don't inhibit
24180         function-key-map remapping for backspace (bug#20466).
24182 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
24184         Implement xref-find-references in etags and elisp-mode
24185         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
24186         (elisp-xref-find): Use it.
24187         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
24188         * lisp/progmodes/xref.el (xref-collect-references):
24189         (xref--collect-reference): New functions.
24191 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24193         Prefer plain characters to Texinfo circumlocutions
24194         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
24195         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
24197         Fix single-quoting style in PDF manuals
24198         The PDF versions of the GNU manuals used curved single quotes to
24199         represent grave accent and apostrophe, which made it a pain to cut
24200         and paste code examples from them.  Fix the PDF versions to use
24201         grave accent and apostrophe for Lisp source code, keystrokes, etc.
24202         This change does not affect the info files, nor does it affect
24203         ordinary uses of curved single quotes in PDF.
24204         * doc/emacs/docstyle.texi: New file, which specifies treatment for
24205         grave accent and apostrophe, as well as the document encoding.
24206         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
24207         * doc/lispintro/emacs-lisp-intro.texi:
24208         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
24209         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
24210         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
24211         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
24212         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
24213         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
24214         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
24215         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
24216         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
24217         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
24218         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
24219         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
24220         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
24221         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
24222         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
24223         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
24224         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
24225         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
24226         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
24227         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
24228         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
24229         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
24230         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
24231         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
24232         * doc/misc/woman.texi:
24233         Use it instead of '@documentencoding UTF-8', to lessen the need for
24234         global changes like this in the future.
24235         * doc/emacs/Makefile.in (EMACS_XTRA):
24236         * doc/lispintro/Makefile.in (srcs):
24237         * doc/lispref/Makefile.in (srcs):
24238         Add dependency on docstyle.texi.
24239         * doc/misc/Makefile.in (style): New macro.
24240         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
24241         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
24242         Use it.
24244 2015-05-01  Glenn Morris  <rgm@gnu.org>
24246         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
24248         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
24249         (help-fns--signature): Declare.
24251         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
24253 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
24255         New macro seq-let, providing destructuring support to seq.el
24256         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
24257         to `cl-destructuring-bind' but works on all sequence types supported
24258         by `seq.el'.  Bump version number to 1.6.
24259         * test/automated/seq-tests.el: Add tests for seq-let.
24260         * doc/lispref/sequences.texi: Add documentation for seq-let.
24262 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
24264         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer.
24266 2015-05-01  Glenn Morris  <rgm@gnu.org>
24268         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
24270 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
24272         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
24273         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
24274         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
24275         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
24276         (Bug#20445).
24278 2015-05-01  K. Handa  <handa@gnu.org>
24280         * lisp/international/mule-cmds.el (input-method-use-echo-area):
24281         Change :type to 'boolean.
24283 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
24285         Start using proportional fonts in eww by default
24286         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
24287         it seems to work well.
24289         Fix links in tables in shr
24290         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
24291         makes (some) links in tables not work.
24293 2015-05-01  Jan D  <jan.h.d@swipnet.se>
24295         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
24297 2015-04-30  Glenn Morris  <rgm@gnu.org>
24299         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
24300         Update for 2015-02-08 change to indirect-function.
24302         * lisp/term/ns-win.el (ns-get-selection-internal):
24303         Remove declaration for function deleted 2014-10-21.
24305         * lisp/dom.el: Load subr-x when compiling, for when-let.
24307         Silence some compilation warnings
24308         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
24309         * lisp/emulation/cua-base.el (delete-active-region):
24310         * lisp/net/net-utils.el (w32-get-console-output-codepage):
24311         * lisp/term/ns-win.el (ns-own-selection-internal)
24312         (ns-disown-selection-internal, ns-selection-owner-p)
24313         (ns-selection-exists-p, ns-get-selection):
24314         Declare for compiler.
24316         Function declaration updates prompted by 'make check-declare'
24317         * lisp/emacs-lisp/package.el (lm-homepage):
24318         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
24319         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
24320         * lisp/gnus/mml.el (libxml-parse-html-region):
24321         * lisp/gnus/nnrss.el (libxml-parse-html-region):
24322         * lisp/net/eww.el (libxml-parse-html-region):
24323         * lisp/net/shr.el (libxml-parse-html-region):
24324         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
24325         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
24326         * lisp/vc/vc-git.el (vc-annotate-convert-time):
24327         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
24328         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
24329         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
24330         Update declaration.
24332         Remove compatibility code for 20-year old function renaming
24333         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
24334         Make it an obsolete alias.
24335         (idlwave-shell-filter): Change all uses to comint-output-filter.
24337 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
24339         Add ace-window face config
24340         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
24341         configuration.
24343 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
24345         Unclutter 'make doc' output a bit
24346         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
24347         Use make subst rather than sh IFS to split target string apart.
24348         This makes 'make' output easier to follow.
24350         Merge from gnulib
24351         * doc/misc/texinfo.tex: Update from gnulib.
24353 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
24355         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh.
24356         (package-menu--print-info): Obsolete.
24357         (package-menu--print-info-simple): New function.
24358         (package-menu--refresh): Use it, simplify code, and improve
24359         performance.
24360         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
24361         Tiny performance improvement.
24363         * lisp/emacs-lisp/package.el (package--message): inhibit-message.
24365 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
24367         Omit -Wstrict-overflow workaround in GCC 5
24368         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
24369         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
24371         Merge from gnulib
24372         This incorporates:
24373         2015-04-29 extern-inline: no need for workaround in GCC 5.1
24374         2015-04-26 file-has-acl: port to CentOS 6
24375         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
24377 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
24379         Set next-error-* in xref--xref-buffer-mode
24380         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
24381         Set `next-error-function' and `next-error-last-buffer'.
24382         (xref--next-error-function): New function.
24383         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
24385 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
24387         python.el: Fix warnings on looking-back calls missing LIMIT
24388         * lisp/progmodes/python.el (python-shell-accept-process-output):
24389         Pass LIMIT arg to looking-back.
24391 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
24393         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress.
24394         (package--download-and-read-archives): Use pushnew instead of
24395         append.  If something terrible happened during a previous
24396         download, simply refreshing should now make things work again.
24398 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
24400         Introduce etags-xref-find-definitions-tag-order
24401         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
24402         New variable.
24403         (etags--xref-find-definitions): Use it (bug#19468).
24405 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
24407         PATH- and completion-related fixes in Eshell on MS-Windows
24408         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
24409         MS-Windows, prepend "." to list of directories produced from PATH,
24410         as Windows always implicitly searches the current directory first.
24411         (eshell-force-execution): Make it have a non-nil default value on
24412         MS-Windows and MS-DOS.
24413         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
24414         eshell-force-execution is non-nil, complete on readable files and
24415         directories, not only executables.  When running on MS-Windows,
24416         prepend "." to list of directories produced from PATH, as Windows
24417         always implicitly searches the current directory first.
24419 2015-04-29  Sam Steingold  <sds@gnu.org>
24421         Bury RCIRC buffers when there is no activity
24422         * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove.
24423         (rcirc-bury-buffers): New function.
24424         (rcirc-next-active-buffer): When there is no new activity, use
24425         `rcirc-bury-buffers' to hide all RCIRC buffers.
24427 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
24429         Fix DBUS query result parsing for secrets-search-items
24430         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
24431         parsing.  The function assumed that return value of the
24432         SearchItems method called on a collection is a list of two lists,
24433         however this is true only when no collection is specified.  GNOME
24434         had used to incorrectly return a list of two lists in both cases,
24435         but this was already fixed:
24436         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
24437         incorrect information in the secrets-search-items’ docstring.
24438         (Bug#20449)
24440 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
24442         * lisp/emacs-lisp/bytecomp.el (byte-compile--message):
24443         Use `inhibit-message' instead of hiding the previous message
24444         with (message nil).
24446 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
24448         Remove the deprecated INTERNAL_FIELD macro by expanding it
24449         * src/lisp.h (INTERNAL_FIELD): Remove.
24450         (DEFVAR_KBOARD): Modify accordingly.
24451         * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c:
24452         * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users.
24453         * src/buffer.c (compact_buffer): Use BVAR.
24455 2015-04-29  Glenn Morris  <rgm@gnu.org>
24457         Replace an obsolete function alias
24458         * lisp/isearch.el (isearch-yank-x-selection):
24459         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
24460         (mouse-drag-secondary-moving):
24461         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
24462         Replace obsolete alias x-get-selection with gui-get-selection.
24464 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
24466         * lisp/mail/rmailsum.el: Use lexical-binding.
24468 2015-04-29  Glenn Morris  <rgm@gnu.org>
24470         * test/automated/package-test.el (package-test-update-archives-async):
24471         Skip test on hydra.nixos.org.
24473 2015-04-28  Glenn Morris  <rgm@gnu.org>
24475         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
24476         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
24477         (foldout-mouse-hide-or-exit): Use new names for outline functions.
24479         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
24480         Update for 2014-06-26 hideif.el change.
24482         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
24483         (rmail--decode-and-apply): New function.
24484         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
24486         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
24488 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
24490         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
24491         (package-menu--refresh): Delegate obsolete-hiding to
24492         `package--remove-hidden'.
24493         (package--remove-hidden): Disregard high-priority package if it is
24494         older than the installed one.
24496 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
24498         Update source file encoding list
24499         Update admin/notes/unicode, along with coding system cookies in
24500         other files, so that the two match each other better.
24501         * admin/notes/unicode: lisp/language/ethio-util.el and
24502         lisp/language/ethiopic.el also use utf-8-emacs.
24503         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
24504         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
24505         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
24506         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
24507         * etc/refcards/sk-survival.tex:
24508         Add "coding: utf-8" so that this file is not mishandled in a
24509         Latin-1 or Big-5 locale.
24510         * lisp/international/robin.el, lisp/org/ox-ascii.el:
24511         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
24512         * lisp/language/ethio-util.el: Fix trailer.
24514 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
24516         Fix synchronous invocation of Ispell
24517         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
24518         value to ispell-process-directory before calling ispell-init-process.
24519         Don't call set-process-coding-system if ispell-async-processp is nil.
24520         (Bug#20448)
24522 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
24524         * lisp/emacs-lisp/package.el: Skip space and comments in init file
24525         (package--ensure-init-file): Insert snippet at first
24526         non-whitespace non-comments line.  Respects local-vars at the top
24527         of the file.
24529 2015-04-28  Glenn Morris  <rgm@gnu.org>
24531         * lisp/mail/rmail.el (rmail-copy-headers):
24532         Handle rmail-nonignored-headers being nil.  (Bug#18878)
24534         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
24536         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
24537         Don't get confused by a bzrlib version mismatch warning.
24539 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24541         Change default location of EUDC options file
24542         * etc/NEWS: Document change to EUDC options file's default location.
24543         * lisp/net/eudc-vars.el (eudc-options-file): Use
24544         `locate-user-emacs-file' to change default options file location.
24546 2015-04-27  Glenn Morris  <rgm@gnu.org>
24548         * test/automated/package-test.el (package-test-update-archives-async):
24549         Try to handle the test server script dying.
24551 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24553         * lisp/saveplace.el (save-place-mode): New minor mode.
24554         (save-place): Redefine as an obsolete alias.
24556         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
24557         * lisp/midnight.el: Use lexical-binding.
24558         (midnight-mode): Make it a proper minor mode.
24559         (midnight-buffer-display-time): Make arg non-optional.
24560         (midnight-find): Remove.
24561         (clean-buffer-list-kill-never-regexps)
24562         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
24563         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
24564         contain functions.
24565         (clean-buffer-list): Use cl-find.
24566         Allow clean-buffer-list-kill-never-regexps to contain functions.
24568 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
24570         Bump version of seq.el to 1.5
24571         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
24572         from seq-doseq.  Bump version number of seq.el.
24574 2015-04-27  Glenn Morris  <rgm@gnu.org>
24576         * lisp/mail/rmail.el (rmail-reply):
24577         Decode subject before matching "Re:" prefix.  (Bug#20396)
24579 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
24581         * lisp/emacs-lisp/package.el: Small improvements
24582         (package--with-work-buffer-async): More informative error.
24583         (package-install-user-selected-packages): Rename to
24584         `package-install-selected-packages'.
24586 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24588         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
24589         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
24590         (eieio--class-make): Remove leftover `tag'.
24592 2015-04-27  Glenn Morris  <rgm@gnu.org>
24594         * lisp/gnus/message.el (gnus-extract-address-components):
24595         Remove bogus declaration that was masking previous problem.
24597 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
24599         * lisp/gnus/message.el (message-insert-formatted-citation-line):
24600         Fix typo.  (Bug#20318)
24602 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24604         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
24606         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
24607         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
24608         the buffer in yet another frame.
24609         (reftex-toc-visit-location): Make sure toc-window has focus at the end
24610         when `final' is nil.
24611         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
24612         silence warnings.  Use `--' to clarify that it's internal.
24613         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
24614         (reftex-toc-promote): Clarify unused argument.
24615         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
24616         Add `reftex--' prefix.  Fix all users.
24617         (reftex-toc-promote-prepare): Use _ for dummy variable.
24618         (reftex-toc-restore-region): Rename `m.
24620 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
24622         Fix a typo in bibtex.el
24623         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
24624         last change.  (Bug#20429)
24626         Fix redisplay of frame after loading new fonts
24627         * src/xdisp.c (redisplay_internal): When retrying redisplay of
24628         a frame because new fonts were loaded, disable all redisplay
24629         optimizations on that frame by calling SET_FRAME_GARBAGED.
24630         (Bug#20410)
24632 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24634         * lisp/info.el (Info-menu): Properly provide the `default'
24635         (Bug#20391)
24637         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
24638         Catch errors from documentation (bug#20418).
24639         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
24641 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
24643         * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler.
24644         Remove redundant ":group 'package".
24646 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
24648         Fix a typo in rmail.el
24649         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
24650         last commit.  (Bug#20429)
24652 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
24654         Introduce xref-prompt-for-identifier
24655         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
24656         (xref--read-identifier): Use it
24657         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
24659 2015-04-26  João Távora  <joaotavora@gmail.com>
24661         `tex-insert-quote' after single `'' opens quotes instead of closing
24662         Without this, it's very hard to precede double quotes with the
24663         apostrophe character, i.e. insert the sequence '``
24664         (quote-backquote-backquote), commonly useful in portuguese, for
24665         instance.
24666         * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of
24667         preceding chars making `tex-insert-quote' be in the "opening" context.
24669 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
24671         Pass `id' to `completing-read' as def instead of initial input
24672         * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to
24673         `completing-read' as the default value instead of initial input
24674         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
24676 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
24678         Don't freeze with unreadable processes
24679         Don't freeze if an exiting process can't be read from.  (Bug#19860).
24680         This fixes a bug I introduced in
24681         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
24682         "* process.c: Add sanity checks for file descriptors."
24683         Dmitry Gutov did most of the legwork in finding the problem.
24684         * src/process.c (wait_reading_process_output):
24685         Treat non-running processes that can't be read from
24686         the same as other non-running processes.
24688 2015-04-25  Alan Mackenzie  <acm@muc.de>
24690         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
24691         * lisp/subr.el (remove-yank-excluded-properties): Put
24692         `with-silent-modifications' around only the last three lines of code.
24694 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
24696         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
24697         (package--all-keywords): Deleted variable.
24699         * etc/NEWS: Document package-hiding functionality.
24701 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
24703         * lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
24705         Clarify the doc string of 'replace-regexp-in-string'
24706         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
24708         Improve doc string of 'insert-buffer-substring'
24709         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
24711         MS-Windows followup for the recent gnulib update
24712         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
24713         acl-internal.c.
24715 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
24717         Spelling fixes
24719         Merge from gnulib
24720         This incorporates:
24721         2015-04-24 file-has-acl: new module, split from acl
24722         2015-04-24 manywarnings: add GCC 5.1 warnings
24723         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
24724         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
24725         2015-04-15 acl: On Linux, check for acls without libacl
24726         2015-04-14 tempname: avoid unused parameter warnings (trivial)
24727         * lib/acl-internal.c: New file, from gnulib.
24728         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
24729         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
24730         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
24731         Update from gnulib.
24733         Port --enable-gcc-warnings to GCC 5.1 x86-64
24734         * lib-src/ebrowse.c (dump_sym):
24735         * lib-src/hexl.c (main):
24736         * src/ccl.c (ccl_driver):
24737         * src/character.c (string_escape_byte8):
24738         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
24739         * src/gnutls.c (Fgnutls_boot):
24740         * src/gtkutil.c (xg_check_special_colors):
24741         * src/image.c (x_build_heuristic_mask):
24742         * src/print.c (safe_debug_print, print_object):
24743         * src/term.c (produce_glyphless_glyph):
24744         * src/xdisp.c (get_next_display_element)
24745         (produce_glyphless_glyph):
24746         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
24747         Don't use a signed format to print an unsigned integer, or vice
24748         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
24749         * src/image.c (png_load_body, jpeg_load_body):
24750         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
24752 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
24754         Add new faces to tsdh-light-theme
24755         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
24756         definitions for Info-quoted, ace-jump-face-foreground,
24757         hl-paren-face, show-paren-match, and show-paren-mismatch.
24759 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
24761         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
24763 2015-04-24  Glenn Morris  <rgm@gnu.org>
24765         * build-aux/gitlog-to-emacslog:
24766         Use raw log format rather than wrapped one.
24768 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
24770         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code.
24771         (seq-doseq): Fix out-of-scope binding.
24772         Don't call `seq-length at every iteration.
24773         Reduce `if's from 3 to 2 per iteration.
24774         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
24776 2015-04-24  Glenn Morris  <rgm@gnu.org>
24778         * lisp/textmodes/text-mode.el (text-mode-hook):
24779         Move text-mode-hook-identify to default.
24781         * lisp/mouse.el (minor-mode-menu-from-indicator):
24782         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
24784         * lisp/help-fns.el (describe-function): More type checking.
24785         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
24787         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
24788         (Bug#20325)
24790 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
24792         shr: strip leading whitespace when expanding URLs
24793         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
24795 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
24797         Clarify "co-authored" some more
24799         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
24801         Clarify doc strings of functions that search for properties
24802         * src/textprop.c (Fnext_char_property_change)
24803         (Fprevious_char_property_change)
24804         (Fnext_single_char_property_change)
24805         (Fprevious_single_char_property_change, Fnext_property_change)
24806         (Fnext_single_property_change, Fprevious_property_change)
24807         (Fprevious_single_property_change): Clarify doc strings wrt return
24808         value and the optional LIMIT argument.  (Bug#20411)
24810 2015-04-24  Glenn Morris  <rgm@gnu.org>
24812         * test/automated/message-mode-tests.el (message-mode-propertize):
24813         Handle non-writable HOME; eg on hydra.nixos.org.
24815 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
24817         Avoid starting threads by w32-shell-execute
24818         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
24819         local file names, before invoking ShellExecute.  (Bug#20220)
24821 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
24823         Fix following doc-links in `widget-documentation-link-action'
24824         * lisp/wid-edit.el (widget-documentation-link-action): Make
24825         following doc-links less simplistic (Bug#20398).
24827 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24829         Improve EUDC manual
24830         * doc/misc/eudc.texi (Troubleshooting):
24831         New LDAP troubleshooting subsection.
24833 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24835         Omit needless "\ " after multibyte then newline
24836         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
24837         (print_object): When print-escape-multibyte is non-nil and a
24838         multibyte character is followed by a newline or formfeed, followed
24839         by a hex digit, don't output a needless "\ " before the hex digit.
24840         * test/automated/print-tests.el (print-hex-backslash): New test.
24842 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
24844         Add a new `inhibit-message' variable
24845         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
24846         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
24847         `inhibit_message' is non-zero.
24848         * etc/NEWS: Add an entry.
24849         * doc/lispref/display.texi: Add an entry for `inhibit-message',
24850         mention it in `message'.
24852 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
24854         Fix last fix in `display-buffer-record-window'.
24855         * lisp/window.el (display-buffer-record-window): Fix last fix.
24857 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
24859         Minor edits in CONTRIBUTE
24860         * CONTRIBUTE: Rearrange instructions about log messages.
24861         Use "Git" capitalized all over.
24862         Use 2 spaces between sentences.
24864 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
24866         * lisp/files.el (basic-save-buffer): Fix argument.
24868         * lisp/cus-edit.el (custom-file): Consider init-file-had-error.
24869         In case `(and (null custom-file) init-file-had-error)' do the same
24870         thing we'd do if `(null user-init-file)', which is to either error out
24871         or return nil.  This is in line with `custom-save-all' which would
24872         throw an error in that situation.  (Bug#20355)
24874         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu.
24875         (package-menu-hide-low-priority): New variable, see its doc.
24876         (package-archive-priorities): Update doc.
24877         (package-desc-priority): New function.
24878         (package-desc-priority-version): Use it.
24879         (package--remove-hidden): New function.
24880         (package-menu--refresh): Use it.
24882         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages.
24883         (package-menu--hide-obsolete): New variable.
24884         (package--remove-hidden): Use it.
24885         (package-menu-hide-obsolete): New interactive function to toggle
24886         the variable.
24887         (package--quick-help-keys): Document it.
24888         (package-menu-async): Add :version tag.
24889         (package-menu-mode-map): Bind package-menu-hide-obsolete.
24890         (package-desc-status): Indicate non-installed obsolete packages as
24891         avail-obso.
24892         (package-menu-mark-install): Allow installation of avail-obso.
24893         (package-menu--status-predicate): Sort avail-obso with available.
24895 2015-04-22  Alan Mackenzie  <acm@muc.de>
24897         On C-y, stop some text property entries being written into buffer-undo-list
24898         * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in
24899         `with-silent-modifications'.
24901 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
24903         In display-buffer-record-window record selected window if necessary
24904         * lisp/window.el (display-buffer-record-window): Store selected window
24905         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
24907 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
24909         Fix reftex-citation bug
24910         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
24911         Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX
24912         integration is enabled and there are no citations in the document
24913         so far.
24915 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
24917         Add or reset based on the presence of MERGE_HEAD
24918         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
24919         `vc-git-resolve-when-done' to `after-save-hook' in either case.
24920         (vc-git-conflicted-files): Add a TODO.
24921         (vc-git-resolve-when-done): Depending on the presence of
24922         MERGE_HEAD, either update the resolved file in the index, or
24923         remove it from there.  (Bug#20292)
24925 2015-04-21  Glenn Morris  <rgm@gnu.org>
24927         * lisp/custom.el (custom-declare-group): No need to purecopy
24928         custom-current-group-alist members following recent change to set
24929         it to nil before dumping.
24931         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
24932         (Bug#20399)
24934 2015-04-21  Daniel Colascione  <dancol@dancol.org>
24936         Unbreak no-op buffer save message
24937         * lisp/files.el (basic-save-buffer): Accept called-interactively as
24938         an argument instead of directly invoking called-interactively-p,
24939         which will always yield nil in that context.
24941 2015-04-21  Alan Mackenzie  <acm@muc.de>
24943         CC Mode: Do nothing in before/after-change-functions for text
24944         property changes
24945         Fixes bug#20266.
24946         * lisp/progmodes/cc-mode.el (c-basic-common-init): Make
24947         yank-handled-properties buffer local, and remove 'category from it.
24948         (c-called-from-text-property-change-p): New function.
24949         (c-before-change): Don't do anything if a call of the new function
24950         returns non-nil.
24951         (c-after-change): Don't do much if a call of the new function returns
24952         non-nil.
24953         (c-extend-after-change-region): Put changes to text property 'fontified
24954         inside c-save-buffer-state.
24956 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
24958         Fix byte-compiler warnings about looking-back
24959         * lisp/vc/log-view.el (log-view-end-of-defun-1):
24960         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
24961         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
24962         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
24963         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
24964         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
24965         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
24966         * lisp/org/org.el (org-insert-heading, org-sort-entries):
24967         * lisp/org/org-mouse.el (org-mouse-end-headline)
24968         (org-mouse-context-menu):
24969         * lisp/org/org-clock.el (org-clock-cancel):
24970         * lisp/man.el (Man-default-man-entry):
24971         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
24972         (rmail-ensure-blank-line):
24973         * lisp/mail/footnote.el (Footnote-delete-footnote):
24974         * lisp/mail/emacsbug.el (report-emacs-bug):
24975         * lisp/info.el (Info-follow-reference, Info-fontify-node):
24976         * lisp/info-look.el (info-lookup-guess-custom-symbol):
24977         * lisp/help-fns.el (help-fns--key-bindings):
24978         * lisp/files.el (hack-local-variables):
24979         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
24980         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
24981         (viper-complete-filename-or-exit):
24982         * lisp/emulation/viper-cmd.el (viper-backward-indent):
24983         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
24984         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
24985         * lisp/cus-edit.el (custom-face-edit-value-create):
24986         * lisp/calendar/todo-mode.el (todo-set-item-priority)
24987         (todo-filter-items-1, todo-convert-legacy-files)
24988         (todo-prefix-overlays): Add explicit second arg to looking-back.
24990 2015-04-20  Glenn Morris  <rgm@gnu.org>
24992         Avoid non-nil current-load-list at startup
24993         * src/process.c (init_process_emacs): Move Fprovide statement...
24994         (syms_of_process): ... to here.
24996         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
24998         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value
24999         in emacs -Q.
25001 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
25003         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
25004         (Bug#20330)
25006 2015-04-20  Glenn Morris  <rgm@gnu.org>
25008         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
25010         Tweak exec-path in uninstalled case
25011         * src/callproc.c (init_callproc): If running uninstalled, do not
25012         include eventual installation libexec directory in exec-path.
25014 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
25016         * lisp/emacs-lisp/package.el: Filter by multiple keywords and
25017         cache keywords.
25018         (package-menu-filter): Accept a list of keywords.
25019         (package--all-keywords): New variable to cache known keywords.
25020         (package-all-keywords): Populate it if necessary.
25021         (package-refresh-contents): Reset it.
25023         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
25024         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
25025         as special keywords which match agains package archive and status
25026         respectively.
25027         * etc/NEWS: Document it.
25029 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
25031         Describe and index "empty overlays".
25032         * doc/lispref/display.texi (Overlays): Improve indexing.
25033         (Managing Overlays): Describe "empty" overlays.
25034         (Overlay Properties, Finding Overlays): Add cross-reference to
25035         where empty overlays are described.
25037 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
25039         Spelling fixes
25041         Quote 'like this' in top-level files
25042         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
25043         Prefer to single-quote 'like this' (instead of the older style
25044         `like this').
25045         * configure.ac: Fix some space-before-tab problems that 'git commit'
25046         complained about.
25048         Use bool for boolean in textprop.c, undo.c
25049         * src/textprop.c (soft, hard): Now constants instead of macros.
25050         (validate_plist): Rewrite to avoid need for boolean local.
25051         (interval_has_all_properties, interval_has_some_properties)
25052         (interval_has_some_properties_list, add_properties)
25053         (remove_properties, get_char_property_and_overlay)
25054         (Fnext_single_char_property_change)
25055         (Fprevious_single_char_property_change, add_text_properties_1)
25056         (Fremove_text_properties, Fremove_list_of_text_properties)
25057         (copy_text_properties):
25058         * src/tparam.c (tparam1):
25059         * src/undo.c (record_change, record_property_change)
25060         (syms_of_undo):
25061         Use 'true' and 'false' for booleans.
25063 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
25065         * lisp/vc/vc-git.el (vc-git-find-file-hook):
25066         Call `smerge-start-session' even when dealing with a stash
25067         conflict (bug#20292).
25069 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
25071         Add option to eshell/clear to clear scrollback.
25072         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
25073         (eshell/clear): Add an optional SCROLLBACK argument.  If non-nil,
25074         scrollback contents are cleared.
25075         * etc/NEWS: Describe change.
25076         * doc/misc/eshell.texi: Add entry for `clear'.
25078 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
25080         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
25081         where either will do.
25083 2015-04-19  Steve Purcell  <steve@sanityinc.com>
25085         Assume package archive-contents are UTF8-encoded
25086         * lisp/emacs-lisp/package.el (package--read-archive-file):
25087         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
25088         downloaded and cached archive-contents files, so that non-ASCII
25089         characters in package descriptions are displayed correctly in the
25090         `list-packages' menu.  (Bug#20231)
25092 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
25094         Abort when looking at stashed changes
25095         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
25096         stashed changes (bug#20292).
25098 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
25100         Refactor low-level printing for simplicity
25101         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
25102         PRINTPREPARE; doable now that we assume C99.  All callers changed.
25103         (PRINTCHAR): Remove, as it adds more mystery than clarity.
25104         All callers changed.
25105         (strout): Assume that caller computes length.  All callers changed.
25106         (print_c_string): New function.
25107         (write_string, write_string_1): Compute length instead of asking
25108         the caller to compute it.  All callers changed.
25109         (write_string): Simplify by using write_string_1.
25110         (write_string_1): Simplify by using print_c_string.
25111         (Fterpri): Compute default val more clearly.
25112         (Fprin1_to_string, print_object):
25113         Assume C99 to avoid unnecessary nesting.
25114         (print_object): Prefer print_c_string to multiple printchar, or
25115         to calling strout with -1 length.  Coalesce into sprintf when
25116         this is easy.
25118 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
25120         Prefer "Bug#1234" in commit messages (Bug#20325)
25121         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
25122         as this isn't useful for Git.
25123         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
25125 2015-04-18  Glenn Morris  <rgm@gnu.org>
25127         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
25128         (Bug#19506)
25130 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
25132         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
25133         Do not use `chomp' as a function.  (Bug#19505)
25135 2015-04-18  Glenn Morris  <rgm@gnu.org>
25137         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
25139         * doc/emacs/misc.texi (Sorting): Small edit.
25140         (Bug#19896)
25142         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
25144 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
25146         css-mode.el: Support multi-line comment filling
25147         (Bug#20256)
25148         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
25149         comment filling.
25150         (css-adaptive-fill): New function.
25151         (css-mode): Set `adaptive-fill-function'.
25152         (scss-mode): Set `comment-continue'.
25154 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
25156         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into):
25157         Better error messages.
25159 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
25161         Minor improvements in Bulgarian input methods
25162         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
25163         Replace U+042C with U+045D, as the former character is not used in
25164         the modern Bulgarian language.
25165         (Bug#20350)
25167 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
25169         Improve EUDC manual
25170         * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL
25171         authentication schemes.  Add index items.  Shorten example server
25172         name.
25174 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
25176         Don't show both feature and function with the same name
25177         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
25178         Don't show both feature and function with the same name.
25180         (elisp--xref-identifier-location): Skip variable, if it's also
25181         a function
25182         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
25183         Avoid returning both the variable and the function for the same
25184         minor mode.
25186 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
25188         Fix fontification of keywords clobbered by the prompt
25189         * lisp/comint.el (comint-output-filter): Remove the uses of
25190         with-silent-modifications I introduced as part of the last change.
25191         This fixes, e.g., erratically missing highlighting when running
25192         ./configure --help; ./configure in a shell-mode buffer with
25193         compilation-shell-minor-mode turned on.
25195 2015-04-17  Glenn Morris  <rgm@gnu.org>
25197         * admin/authors.el (authors-valid-file-names)
25198         (authors-renamed-files-alist): Additions.
25200 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
25202         * lisp/indent.el (indent-region): Don't deactivate the mark.
25203         (Bug#20357)
25205 2015-04-17  Sam Steingold  <sds@gnu.org>
25207         * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable.
25209 2015-04-16  Leo Liu  <sdl.web@gmail.com>
25211         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
25213 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
25215         * lisp/erc/erc-pcomplete.el (erc-pcomplete):
25216         Don't use `pcomplete' any more.
25218 2015-04-16  Glenn Morris  <rgm@gnu.org>
25220         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
25222 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
25224         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
25225         * configure.ac (LIBJPEG): Leave it empty for MinGW.
25227 2015-04-16  Glenn Morris  <rgm@gnu.org>
25229         * lisp/replace.el (query-replace-from-to-separator):
25230         Delay initialization to avoid rogue setting after startup.
25232 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
25234         Pre-4.6 GCC succeeds with unknown option
25235         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
25236         (Bug#20338)
25238 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
25240         '[:graph:]' now excludes whitespace, not just ' '
25241         * doc/lispref/searching.texi (Char Classes):
25242         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
25243         sans whitespace (not sans space).
25244         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
25245         not just space.
25246         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
25248 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
25250         * lisp/subr.el (substitute-key-definition-key, special-form-p)
25251         (macrop): Drop deprecated second arg to indirect-function.
25252         (looking-back): Make the second arg non-optional.
25254         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
25255         command is actually sent to the shell.
25257 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
25259         Port jpeg configuration to Solaris 10 with Sun C
25260         * configure.ac: Check for jpeglib 6b by trying to link it, instead
25261         of relying on cpp magic that has problems in practice.  Check for
25262         both jpeglib.h and jerror.h features.  Remove special case for
25263         mingw32, which should no longer be needed (and if it were needed,
25264         should now be addressable by hotwiring emacs_cv_jpeglib).
25265         (Bug#20332)
25267 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
25269         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
25270         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
25271         Move to elisp-mode.el.
25272         (lisp-mode-variables): (Re)move elisp-specific settings.
25273         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
25274         from lisp-mode-variables.
25275         (elisp--font-lock-flush-elisp-buffers): New function, moved from
25276         lisp-mode.el.
25278         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
25279         Avoid pathological slowdown at top-level in large file.
25281 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
25283         Standardize names of ChangeLog history files
25284         Suggested by Glenn Morris in:
25285         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
25286         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
25287         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
25288         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
25289         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
25290         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
25291         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
25292         Remove.
25294         Split top-level entries into pre- and post-April 7
25295         This more clearly distingiushes pre-April-7 ChangeLog entries (which
25296         are for top-level files only) from post-April-7 entries (which are
25297         about files at all levels.  Problem reported by Glenn Morris in:
25298         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
25299         * ChangeLog.1: Move post-April-7 entries from here ...
25300         * ChangeLog.2: ... to this new file.
25301         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
25303 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
25305         Fix recent cus-start changes that added customize-rogues
25306         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
25307         vars early.
25308         * lisp/loadup.el ("cus-start"): Move to the end to reduce
25309         customize-rogue.
25311 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
25313         Define cl-concatenate as an alias to seq-concatenate
25314         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
25315           code by making cl-concatenate an alias to seq-concatenate.
25317 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
25319         * src/lread.c (intern_1): Make sure we'd find the symbol we add
25320         (Bug#20334)
25321         * src/xfaces.c (resolve_face_name): Don't use `intern' with
25322         Lisp_Strings.
25324 2015-04-15  Glenn Morris  <rgm@gnu.org>
25326         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
25328 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
25330         Clean up gnus-uu saving code slightly
25331         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the
25332         save-restriction/widen calls make more sense.
25334 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
25336         Make [:graph:] act like [:print:] sans space
25337         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
25338         [:graph:] so that it matches everything that [:print:] does,
25339         except for space.
25340         * doc/lispref/searching.texi (Char Classes):
25341         * etc/NEWS:
25342         * lisp/emacs-lisp/rx.el (rx):
25343         Document [:graph:] to be [:print:] sans ' '.
25344         * src/character.c, src/character.h (graphicp): New function.
25345         * src/regex.c (ISGRAPH) [emacs]: Use it.
25346         (BIT_GRAPH): New macro.
25347         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
25348         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
25349         Return BIT_GRAPH for RECC_GRAPH.
25350         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
25351         and ISPRINT if BIT_PRINT.
25353 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
25355         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
25356         Don't use call-next-method in a cl-defmethod.
25358         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
25359         (eieio--class-p): Remove, provided by cl-defstruct.
25361 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
25363         Add seq-intersection and seq-difference to the seq library
25364         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference):
25365         New functions.
25366         * test/automated/seq-tests.el: Add tests for seq-intersection and
25367         seq-difference.
25368         * doc/lispref/sequences.texi: Add documentation for seq-intersection
25369         and seq-difference.
25371 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
25373         * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline,
25374         to avoid leaking internals.
25376 2015-04-14  Sam Steingold  <sds@gnu.org>
25378         package--ensure-init-file: widen requires save-restriction
25380 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
25382         Improve the commit-msg Git hook for unibyte environments
25383         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
25384         in unibyte environments.  (Suggested by Paul Eggert
25385         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
25386         [:print:], based on UTF-8 sequences of the unprintable characters.
25388         Describe problems with cursor caused by Windows Magnifier
25389         * etc/PROBLEMS: Describe the problem with cursor shape on
25390         MS-Windows due to Windows Magnifier.
25391         (Bug#20271)
25393         Make [:print:] support non-ASCII characters correctly
25394         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
25395         (BIT_PRINT): New bit mask.
25396         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
25397         * src/character.c (printablep): New function.
25398         * src/character.h (printablep): Add prototype.
25399         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
25400         of 'print', 'alnum', and 'alphabetic'.
25401         * doc/lispref/searching.texi (Char Classes): Document the new
25402         behavior of [:print:].
25403         * etc/NEWS: Mention the new behavior of [:print:].
25405         Assign correct general-category and names to surrogates
25406         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
25407         surrogates.  This avoids assigning them the default
25408         general-category of 'Cn', i.e. unassigned codepoints.
25409         (unidata-get-name): Give surrogates synthetic names.
25411 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
25413         Assume C89 offsetof in xterm.c, xlwmenu.c
25414         * lwlib/xlwmenu.c (offset):
25415         * src/xterm.c (cvt_string_to_pixel_args):
25416         Use offsetof, not XtOffset.
25418 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25420         Assume C89 offsetof in widget.c
25421         * src/widget.c (XtOffset): Remove; no longer needed.
25422         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
25424         Fix think-o in previous patch
25425         * src/window.c (count_windows, get_leaf_windows):
25426         Don't optimize count_windows incorrectly.
25428 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
25430         Avoid some int overflows in window.c
25431         * src/print.c (print_object):
25432         * src/window.c (sequence_number):
25433         * src/window.h (struct window.sequence_number):
25434         Don't assume window sequence number fits in int.
25435         * src/window.c (window_select_count):
25436         * src/window.h (struct window.use_time, window_select_count):
25437         Don't assume window use time fits in int.
25438         * src/window.c (Fsplit_window_internal):
25439         Don't assume user-supplied integer, or sum, fits in int.
25440         (Fset_window_configuration, count_windows, get_leaf_windows)
25441         (save_window_save, Fcurrent_window_configuration):
25442         Use ptrdiff_t for object counts.
25443         (Fset_window_configuration): Omit unused local 'n'.
25444         (count_windows): Simplify by writing in terms of get_leaf_windows.
25445         (get_leaf_windows): Don't store through FLAT if it's null.
25446         (extract_dimension): New static function.
25447         (set_window_margins, set_window_fringes, set_window_scroll_bars):
25448         Use it to avoid undefined behavior when converting user-supplied
25449         integer to 'int'.
25451 2015-04-13  Glenn Morris  <rgm@gnu.org>
25453         Minor doc copyedits
25454         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
25455         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
25457 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
25459         [Gnus] Catch the invalid-operation that idna.el will issue
25460         * lisp/gnus/gnus-art.el (gnus-use-idna):
25461         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
25462         * lisp/gnus/message.el (message-use-idna):
25463         Catch the invalid-operation that idna.el will issue.
25465 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
25467         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
25469 2015-04-13  Sam Steingold  <sds@gnu.org>
25471         package--ensure-init-file: widen before looking for
25472         "(package-initialize)"
25474 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
25476         Change diff-switches default to `-u' (Bug#20290)
25477         * doc/emacs/files.texi (Comparing Files): Document the new default
25478         value of `diff-switches'.
25479         * doc/emacs/trouble.texi (Sending Patches): Document the preference
25480         for unified diff format.  Escape the plus in the suggested `-F' regexp
25481         value.
25482         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
25484 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
25486         (gnus-group--setup-tool-bar-update): Fix last change
25487         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
25488         cursor-sensor-functions should be a list of functions.
25490 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
25492         * lisp/gnus/gnus-topic.el (gnus-topic-mode):
25493         Use gmm-called-interactively-p.
25495 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
25497         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
25498         (Bug#20321)
25499         * lisp/cus-start.el (read-buffer-function): Don't advertise
25500         iswitchb-read-buffer any more.
25501         (iswitchb): Don't tweak this obsolete group any more.
25503 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
25505         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file.
25507         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings.
25508         Adding a string after a constructor's argument list will use
25509         that string as the constructor function docstring.  If this string
25510         is absent but the struct itself was given a docstring, use that as
25511         the constructor's docstring.
25512         Fixes bug#17284.
25514 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
25516         Deprecate `intangible' and `point-entered' properties
25517         * lisp/emacs-lisp/cursor-sensor.el: New file.
25518         * lisp/simple.el (pre-redisplay-functions): New hook.
25519         (redisplay--pre-redisplay-functions): New function.
25520         (pre-redisplay-function): Use it.
25521         (minibuffer-avoid-prompt): Mark obsolete.
25522         (redisplay--update-region-highlight): Adapt it to work as a function on
25523         pre-redisplay-functions.
25524         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
25525         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
25526         than point-entered to make the prompt intangible.
25527         * lisp/forms.el: Move `provide' calls to the end.
25528         (forms-mode): Don't use `run-hooks' on a local var.
25529         (forms--make-format, forms--make-format-elt-using-text-properties):
25530         Use cursor-intangible rather than `intangible'.
25531         (forms-mode): Enable cursor-intangible-mode.
25532         * lisp/isearch.el (isearch-mode): Use defvar-local.
25533         (cursor-sensor-inhibit): Declare.
25534         (isearch-mode): Set cursor-sensor-inhibit.
25535         (isearch-done): Set it back.
25536         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
25537         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
25538         any more.
25539         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
25540         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
25541         Add Edebug spec.
25542         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
25543         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
25544         inhibit-point-motion-hooks any more.
25545         (ses--cell-at-pos, ses--curcell): New functions, extracted from
25546         ses-set-curcell.
25547         (ses-set-curcell): Use them.
25548         (ses-print-cell, ses-setup): Use cursor-intangible instead of
25549         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
25550         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
25551         Use ses--cell-at-pos.
25552         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
25553         extracted from ses-command-hook.  Make them work with multiple windows
25554         displaying the same buffer.
25555         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
25556         Enable cursor-intangible-mode.
25557         (ses-command-hook): Remove cell highlight and mode-line update code.
25558         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
25559         Update for new name of text-property holding the cell name.
25560         (ses-rename-cell): Don't mess with mode-line-process.
25561         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
25562         cursor-sensor-functions property instead of point-entered.
25563         (erc-insert-timestamp-right, erc-format-timestamp):
25564         Use cursor-intangible rather than `intangible'.
25565         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
25566         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
25567         cursor-sensor-mode if needed.
25568         (erc-echo-timestamp): Adapt to calling convention of
25569         cursor-sensor-functions.
25570         (erc-insert-timestamp-right): Remove unused vars `current-window' and
25571         `indent'.
25572         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
25573         (gnus-update-group-mark-positions): Remove unused `topic' var.
25574         (gnus-group-insert-group-line): Remove unused var `header'.
25575         (gnus-group--setup-tool-bar-update): New function.
25576         (gnus-group-insert-group-line): Use it.
25577         (gnus-group-update-eval-form): Declare local
25578         dynamically-bound variables.
25579         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
25580         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
25581         (gnus-group-prepare-topics, gnus-topic-update-topic)
25582         (gnus-topic-change-level, gnus-topic-catchup-articles)
25583         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
25584         Use inhibit-read-only.
25585         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
25586         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
25587         * lisp/textmodes/reftex-index.el (reftex-display-index):
25588         Use cursor-intangible-mode if available.
25589         (reftex-index-post-command-hook): Check cursor-intangible.
25590         * lisp/textmodes/reftex-toc.el (reftex-toc):
25591         Use cursor-intangible-mode if available.
25592         (reftex-toc-recenter, reftex-toc-post-command-hook):
25593         Check cursor-intangible.
25594         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
25595         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
25596         (sgml-tags-invisible): Use with-silent-modifications and
25597         inhibit-read-only.  Enable cursor-sensor-mode.
25598         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
25599         calling convention of cursor-sensor-functions.
25600         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
25601         (table-point-entered-cell-hook, table-point-left-cell-hook):
25602         Don't autoload.
25603         (table-cell-entered-state): Remove var.
25604         (table--put-cell-point-entered/left-property)
25605         (table--remove-cell-properties):
25606         Use cursor-sensor-functions rather than point-entered/left.
25607         (table--point-entered/left-cell-function): Merge
25608         table--point-entered-cell-function and table--point-left-cell-function
25609         and adjust to calling convention of cursor-sensor-functions.
25611         Update ldef-boots.el
25613         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
25615         * doc/misc/eieio.texi: Don't advertise now obsolete constructs
25617         Collapse successive char deletions in the undo log
25618         * src/cmds.c (remove_excessive_undo_boundaries): New function,
25619         extracted from Fself_insert_command.
25620         (Fdelete_char, Fself_insert_command): Use it.
25621         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
25622         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
25624         xterm and OSC 52: Add NEWS entry, and tweak the code
25625         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition
25626         to top-level.
25627         (terminal-init-xterm-activate-set-selection): Set a terminal property.
25628         (xterm--set-selection): Use it instead of checking the value of
25629         `terminal-initted'.  Don't use string-bytes.
25631 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
25633         xterm.el: Implement OSC-52 functionality for setting the X selection
25634         * lisp/term/xterm.el (xterm-max-cut-length): New var.
25635         (xterm--set-selection, terminal-init-xterm-activate-set-selection):
25636         New funs.
25637         (terminal-init-xterm, xterm--version-handler): Use them.
25639 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
25641         Remove left over code from when we used an obsolete/loaddefs.el file
25642         * lisp/subr.el (do-after-load-evaluation): Remove left over code from
25643         when we used an obsolete/loaddefs.el file.
25645         * lisp/cedet/semantic/fw.el (semantic-exit-on-input)
25646         (semanticdb-without-unloaded-file-searches): Use declare.
25647         (semantic-fw-add-edebug-spec): Remove.
25649         * lisp/completion.el (completion-lisp-mode-hook):
25650         Use completion-separator-chars rather than local key binding.
25652         * src/*.c: Set deactivate_mark buffer-locally
25653         (Bug#20260)
25654         * src/insdel.c (prepare_to_modify_buffer_1):
25655         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
25656         buffer-locally.
25658 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
25660         python.el: Keep symmetry on sexp navigation with parens
25661         (Bug#19954)
25662         * lisp/progmodes/python.el
25663         (python-nav--forward-sexp): Add argument skip-parens-p.
25664         (python-nav-forward-sexp, python-nav-backward-sexp)
25665         (python-nav-forward-sexp-safe)
25666         (python-nav-backward-sexp-safe): Use it.
25667         * test/automated/python-tests.el
25668         (python-nav-forward-sexp-1): Fix test.
25670 2015-04-12  João Távora  <joaotavora@gmail.com>
25672         Don't use `setq-local' in Gnus code
25673         This might break upstream builds with older Emacsen
25674         * lisp/gnus/message.el (message-mode): Use `set' and
25675         `make-local-variable' instead of `setq-local'.
25677 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
25679         Update Makefile.in's .PHONY dependencies
25680         * Makefile.in (change-history-commit, master-branch-is-current)
25681         (no-ChangeLog): Now phony.
25683         Remove configure's --with-mmdf option
25684         * configure.ac (MAIL_USE_MMDF): Remove.
25685         * etc/NEWS: Document this.
25686         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
25687         (Bug#20308)
25689         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
25690         That way, 'make install' won't think it's a man page.
25691         Reported by Ashish SHUKLA in:
25692         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
25694         Improve 'make change-history' prereq tests
25695         * Makefile.in (gen_origin): Fix to match what's in the master branch.
25696         (no-ChangeLog, master-branch-is-current): New rules.
25697         (change-history): Depend on them, to avoid similar future problems.
25698         Escape the local-variables string to pacify Emacs when editing
25699         Makefile.in.
25701 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
25703         * test/automated/package-test.el (with-package-test):
25704         Kill Packages buffer.
25706         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt.
25707         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
25708         "Upgrade" last, and use capitalized instead of all-caps.
25710         * lisp/emacs-lisp/package.el: Completely silence async operations.
25711         (package--make-autoloads-and-stuff): Silence autoloads.
25712         (package--save-selected-packages): New function, silences
25713         `customize-save-variable'.
25714         (package--user-selected-p, package-install-from-buffer)
25715         (package-delete, package-install): Use it.
25716         (package-install-from-archive)
25717         (package-menu--perform-transaction): Silence.
25718         (package-menu-execute): Feedback when operation starts.
25720         Use delay-mode-hooks when visiting the init-file
25721         * lisp/emacs-lisp/package.el (package--ensure-init-file):
25722         delay-mode-hooks.
25723         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks.
25725         * lisp/files.el: Only message when saving if save-silently is nil.
25726         (save-silently): New variable.
25727         (files--message): New function.
25728         (find-file-noselect, save-buffer, basic-save-buffer)
25729         (basic-save-buffer-2, save-some-buffers, not-modified)
25730         (append-to-file): Use them.
25732 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
25734         Support debug declarations in pcase macros
25735         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
25736         (pcase-UPAT): Use it.  Remove "`".
25737         (pcase--edebug-match-macro): New function.
25738         (pcase-defmacro): Support debug declarations.
25739         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
25740         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
25741         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>:
25742         Add debug declaration.
25744         pcase.el: Edebug support for `app' and vector patterns
25745         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
25746         (pcase-UPAT): Use it.  Support `app' patterns.
25747         (pcase-QPAT): Support vector patterns.
25749         edebug.el: Disambiguate vector specifications
25750         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
25751         `(vector ...)' as a vector specification, not as a sublist.
25753         (gnus-summary-refer-thread): Don't clobber unread articles
25754         This fixes a bug where `A T' causes "random" articles to become marked
25755         as read.
25756         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
25757         gnus-newsgroup-unreads remains sorted.
25759         mouse-sel.el: Fix mouse-sel-get-selection-function
25760         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
25761         Use gui--last-selected-text-primary instead of no longer existing
25762         gui-last-selected-text.
25764         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
25766         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
25768 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
25770         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate.
25772         * lisp/emacs-lisp/package.el (list-packages): Call refresh in
25773         right buffer.
25775         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations.
25776         (byte-compile--interactive): New var.
25777         (byte-compile--message): New function.
25778         (byte-compile-log-1, byte-force-recompile)
25779         (byte-recompile-directory, byte-recompile-file)
25780         (byte-compile-file, compile-defun)
25781         (byte-compile-file-form-defmumble, byte-compile)
25782         (byte-compile-file-form-defalias, display-call-tree): Use it.
25784         * lisp/files.el: Don't message when nothing happened.
25785         (save-some-buffers, basic-save-buffer): Before messaging to say
25786         "nothing was saved" check if (called-interactively-p 'any).
25788 2015-04-12  João Távora  <joaotavora@gmail.com>
25790         Summary: Improve sexp-based movement in message-mode
25791         Works by giving citations and smileys a different syntax.  This helps
25792         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
25793         sexp-based movement.
25794         * lisp/gnus/message.el (message--syntax-propertize): New function.
25795         (message-mode): Set syntax-related vars.
25796         (message-smileys): New variable.
25797         * test/automated/message-mode-tests.el: New file
25799 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
25801         Use bool for boolean in window.c
25802         * src/window.c: Omit unnecessary static function decls.
25803         (adjust_window_count, select_window, Fselect_window)
25804         (window_body_width, Fwindow_body_height, Fwindow_body_width)
25805         (set_window_hscroll, check_window_containing, Fwindow_at)
25806         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
25807         (unshow_buffer, replace_window, recombine_windows)
25808         (add_window_to_list, candidate_window_p, next_window)
25809         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
25810         (Fget_buffer_window, Fdelete_other_windows_internal)
25811         (replace_buffer_in_windows_safely, set_window_buffer)
25812         (Fset_window_buffer, Fforce_window_update)
25813         (temp_output_buffer_show, make_parent_window)
25814         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
25815         (resize_frame_windows, Fsplit_window_internal)
25816         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
25817         (Fresize_mini_window_internal, mark_window_cursors_off)
25818         (window_scroll, window_scroll_pixel_based)
25819         (window_scroll_line_based, scroll_command, Fscroll_other_window)
25820         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
25821         (Fmove_to_window_line, Fset_window_configuration)
25822         (delete_all_child_windows, apply_window_adjustment)
25823         (set_window_fringes, set_window_scroll_bars)
25824         (Fset_window_vscroll, foreach_window, foreach_window_1)
25825         (compare_window_configurations, Fcompare_window_configurations):
25826         Prefer 'bool', 'true', and 'false' for booleans.
25827         * src/window.h (WINDOW_MODE_LINE_LINES)
25828         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
25830 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
25832         Speed up byte-compilation and autoload generation by avoiding mode-hooks
25833         This prevents emacs-lisp-mode-hook from being run everytime an
25834         autoload file is generated, which can account for a fraction of
25835         package installation time depending on the hooks the user has
25836         configured.
25837         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
25838         * lisp/emacs-lisp/autoload.el (autoload-find-file)
25839         (autoload-find-generated-file): Use delay-mode-hooks.
25841         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'.
25842         (package-menu-refresh): Respect async and do new package checking.
25843         (list-packages): Use `package-menu-refresh' instead of repeating code.
25845         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help.
25846         (package--quick-help-keys): New variable.
25847         (package--prettify-quick-help-key): New function.
25848         (package-menu-quick-help): Use it.
25850         * lisp/emacs-lisp/package.el: Fix initially wrong compat table.
25851         (package--build-compatibility-table): Require finder.
25853         * test/automated/package-test.el: Fix new test.
25855         * lisp/emacs-lisp/package.el: Silence async operations.
25856         (package--silence): New variable.
25857         (package--message): New function.
25858         (package-import-keyring, package-refresh-contents)
25859         (package-compute-transaction, package-install, package-delete)
25860         (package-menu--perform-transaction, package-menu-execute): Use it.
25862         * test/automated/package-test.el: Test async functionality.
25863         (package-test-update-archives-async): New test.
25865 2015-04-11  Daiki Ueno  <ueno@gnu.org>
25867         Utilize `make-process' in epg.el
25868         * lisp/epg.el (epg-error-output): Abolish.
25869         (epg-context): New slot `error-buffer'.
25870         (epg--start): Use `make-process' and `make-pipe-process'.
25871         (epg--process-filter): Remove code separating stderr from stdout.
25872         (epg-wait-for-completion): Simplify `error-output' handling.
25873         (epg-reset): Dispose error buffer.
25875 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
25877         * .gitignore: Ignore doc temps and outputs.
25879         Port commit-msg to MSYS Bash+Gawk
25880         See Eli Zaretskii in:
25881         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
25882         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
25883         (cent_sign, print_at_sign, at_sign): Revert previous change.
25884         (print_at_sign): Prepend "BEGIN".
25885         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
25887         Port commit-msg to broken MS-Windows shell
25888         * build-aux/git-hooks/commit-msg (cent_sign):
25889         Just use UTF-8 here rather than ASCII + printf, as the latter fails
25890         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
25891         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
25893 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
25895         Support GnuTLS v3.4 and later on MS-Windows
25896         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
25897         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
25898         GnuTLS DLL to load according to value of libgnutls-version.
25899         (Bug#20294)
25901 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
25903         Minor quoting etc. fixes to misc manuals
25904         Fix some minor quoting and spacing issues.  Distinguish more
25905         clearly among grave accent and apostrophe (which are ASCII) and
25906         single quote (which is not).  Prefer the standard terms
25907         "apostrophe" and "grave accent" to alternative names that can be
25908         confusing.  Use apostrophes to single-quote ASCII text.
25909         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
25910         rather than approximating it in ASCII with grave accent.
25912 2015-04-11  Daiki Ueno  <ueno@gnu.org>
25914         Respect more keyword args in `make-process'
25915         * src/process.c (Fmake_process): Respect `:sentinel' and `:filter'
25916         keywords as documented.
25918 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
25920         Extract ChangeLog entries when committing a directory
25921         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
25922         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
25923         Add a FIXME comment.
25924         (log-edit-changelog-entries): Extract from
25925         `log-edit-changelog-entries', handle FILE being a directory
25926         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
25928 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
25930         Fix problems found by --enable-gcc-warnings
25931         * src/process.c (create_process, Fmake_pipe_process)
25932         (Fmake_network_process): Omit unused locals.
25934         Fix commit-msg to handle scissors lines
25935         * build-aux/git-hooks/commit-msg:
25936         Ignore every line after a scissors line, such as a line generated
25937         by 'git commit -v'.  Problem reported by Johan Bockgård in:
25938         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
25940         port commit-msg to Gawk 3.0.4 (1999)
25941         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
25942         (print_at_sign, at_sign): New vars.  Use them to avoid problems
25943         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
25944         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
25946         Have commit-msg report commit failure
25947         * build-aux/git-hooks/commit-msg: If the commit is aborted,
25948         say so.  Simplify by doing this at the end.  Problem reported
25949         by Eli Zaretskii in:
25950         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
25952 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
25954         Clean up LDAP Configuration section of EUDC manual
25955         * doc/misc/eudc.texi: Combine indices.
25956         (LDAP Configuration): Use command markup.  Add index entries.
25957         Change formatting.  Wrap long lines.  Add noindent markup.
25959 2015-04-10  Daiki Ueno  <ueno@gnu.org>
25961         Add facility to collect stderr of async subprocess
25962         * src/w32.h (register_aux_fd): New function declaration.
25963         * src/w32.c (register_aux_fd): New function.
25964         * src/process.h (struct Lisp_Process): New member stderrproc.
25965         * src/process.c (PIPECONN_P): New macro.
25966         (PIPECONN1_P): New macro.
25967         (Fdelete_process, Fprocess_status, Fset_process_buffer)
25968         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
25969         (Fcontinue_process): Handle pipe process specially.
25970         (create_process): Respect p->stderrproc.
25971         (Fmake_pipe_process): New function.
25972         (Fmake_process): Add new keyword argument :stderr.
25973         (wait_reading_process_output): Specially handle a pipe process when
25974         it gets an EOF.
25975         (syms_of_process): Register Qpipe and Smake_pipe_process.
25976         * doc/lispref/processes.texi (Asynchronous Processes): Document
25977         `make-pipe-process' and `:stderr' keyword of `make-process'.
25978         * lisp/subr.el (start-process): Suggest to use `make-process' handle
25979         standard error separately.
25980         * test/automated/process-tests.el (process-test-stderr-buffer)
25981         (process-test-stderr-filter): New tests.
25982         * etc/NEWS: Mention new process type `pipe' and its usage with the
25983         `:stderr' keyword of `make-process'.
25985 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
25987         Minor quoting etc. fixes to lispref manual
25988         * doc/lispref/tips.texi (Documentation Tips):
25989         Distinguish more clearly among grave accent, apostrophe,
25990         and single quote.
25991         * doc/lispref/README, doc/lispref/buffers.texi:
25992         * doc/lispref/commands.texi, doc/lispref/control.texi:
25993         * doc/lispref/customize.texi, doc/lispref/display.texi:
25994         * doc/lispref/elisp.texi, doc/lispref/files.texi:
25995         * doc/lispref/frames.texi, doc/lispref/hash.texi:
25996         * doc/lispref/help.texi, doc/lispref/internals.texi:
25997         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
25998         * doc/lispref/markers.texi, doc/lispref/modes.texi:
25999         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
26000         * doc/lispref/os.texi, doc/lispref/positions.texi:
26001         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
26002         * doc/lispref/text.texi, doc/lispref/tips.texi:
26003         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
26004         Use American-style double quoting in ordinary text,
26005         and quote 'like this' when single-quoting in ASCII text.
26006         Also, fix some minor spacing issues.
26008 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
26010         Handle symlinked test directory in tramp-tests.el
26011         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
26012         (tramp--test-check-files): Use `file-truename' for directories.
26014 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
26016         Fix 'recenter' when visual-line-mode is turned on
26017         * src/window.c (Frecenter): Use the same code for GUI and TTY
26018         frames alike; use vmotion only for "initial" frames.  This is
26019         because vmotion doesn't support visual-line-mode.  Rewrite the
26020         'iarg >= 0' case to use move_it_* functions instead of using
26021         vmotion, for the same reason.  Fix the clipping of the argument
26022         value to support scroll-margin in all cases and avoid unwarranted
26023         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
26024         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
26025         which see.
26027 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
26029         * lisp/abbrev.el (define-abbrev-table): Refine last change.
26031         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
26032         use of c[ad]+r", so as to keep the "cl-" prefix on all
26033         cl-lib definitions.
26035         * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
26036         Use inhibit-point-motion-hooks.
26038         * lisp/cedet/semantic: Remove some dead code.
26039         * lisp/cedet/semantic/util-modes.el
26040         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
26041         any more.
26042         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
26043         not supported any more.
26044         (semantic-safe): Use `declare'.
26045         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
26046         (semantic-tag-intangible-p): Remove unused functions.
26047         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
26048         Remove unused function.
26050         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
26051         (gnus-article-hide-text, gnus-article-unhide-text)
26052         (gnus-article-unhide-text-type): Remove special handling of
26053         `intangible' since that property is not used any more.
26054         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
26056 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
26058         Use the VC root in `log-edit-listfun'
26059         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
26060         `log-edit-listfun'.
26062 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
26064         Fix description of Unix time, mention new function.
26065         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
26066         Unix time.
26067         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
26068         (Basic Operations on Units): Mention `calc-convert-exact-units'.
26070 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
26072         * lisp/emacs-lisp/package.el: Use mode-line-process for notification.
26074 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
26076         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
26077         Don't add newline after the last entry.
26079 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
26081         css-mode.el: Add "not" pseudo-class
26082         (Bug#20267)
26083         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
26084         list of CSS pseudo-classes.
26086 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
26088         * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var".
26090 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
26092         Stop messing with the EMACS env var
26093         * doc/emacs/misc.texi (Interactive Shell): Remove description of
26094         EMACS env var.
26096 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
26098         Adapt 'make change-history' to coding cookie
26099         * Makefile.in (change-history): Adjust to change of format of
26100         ChangeLog file, which now has a coding cookie before an indented
26101         copyright notice.
26103 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
26105         Adapt 'make change-history' to coding cookie
26106         * Makefile.in (change-history): Adjust to change of format of
26107         ChangeLog file, which now has a coding cookie before an indented
26108         copyright notice.
26110         gitlog-to-changelog coding cookie and mv -i
26111         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
26112         for copyright notice prototype, so that we get a proper "coding:"
26113         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
26114         existing ChangeLog.  Problems reported by Eli Zaretskii in:
26115         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
26117         Merge from gnulib
26118         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
26119         2015-04-09 gitlog-to-changelog: port to MS-Windows
26121 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
26123         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
26124         (Bug#20212)
26126 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
26128         Stop messing with the EMACS env var
26129         (Bug#20202)
26130         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
26131         * lisp/comint.el (comint-exec-1):
26132         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
26133         * lisp/progmodes/compile.el (compilation-start): Same and bring
26134         INSIDE_EMACS's format in line with other users.
26136         css-mode.el (css-smie-rules): Fix indentation after complex selectors
26137         (Bug#20282)
26138         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
26139         inner structure of selectors.
26141 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
26143         python.el: Indent docstring lines to base-indent
26144         (Bug#19595)
26145         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
26146         an initial patch.
26147         * lisp/progmodes/python.el
26148         (python-indent-context): Add :inside-docstring context.
26149         (python-indent--calculate-indentation): Handle :inside-docstring.
26150         (python-indent-region): Re-indent docstrings.
26151         * test/automated/python-tests.el (python-indent-region-5)
26152         (python-indent-inside-string-2): Fix tests.
26154         python.el: Increase native completion robustness
26155         (Bug#19755)
26156         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
26157         this and providing useful ideas.
26158         * lisp/progmodes/python.el
26159         (python-shell-completion-native-output-timeout): Increase value.
26160         (python-shell-completion-native-try-output-timeout): New var.
26161         (python-shell-completion-native-try): Use it.
26162         (python-shell-completion-native-setup): New readline setup avoids
26163         polluting current context, ensures output when no-completions are
26164         available and includes output end marker.
26165         (python-shell-completion-native-get-completions): Trigger with one
26166         tab only.  Call accept-process-output until output end is found or
26167         python-shell-completion-native-output-timeout is exceeded.
26169 2015-04-08  Samer Masterson  <samer@samertm.com>
26171         * lisp/eshell: Make backslash a no-op in front of normal chars
26172         (Bug#8531)
26173         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
26174         (eshell-parse-backslash): Return escaped character after backslash
26175         if it is special.  Otherwise, if the backslash is not in a quoted
26176         string, ignore the backslash and return the character after; if
26177         the backslash is in a quoted string, return the backslash and the
26178         character after.
26179         * test/automated/eshell.el (eshell-test/escape-nonspecial)
26180         (eshell-test/escape-nonspecial-unicode)
26181         (eshell-test/escape-nonspecial-quoted)
26182         (eshell-test/escape-special-quoted): Add tests for new
26183         `eshell-parse-backslash' behavior.
26185 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
26187         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
26188         after the file name.
26189         (Bug#20276)
26191 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
26193         Minor quoting etc. fixes to Emacs manual
26194         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
26195         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
26196         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
26197         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
26198         * doc/emacs/indent.texi, doc/emacs/macos.texi:
26199         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
26200         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
26201         * doc/emacs/search.texi, doc/emacs/trouble.texi:
26202         * doc/emacs/vc1-xtra.texi:
26203         Use American-style double quoting in ordinary text,
26204         and quote 'like this' when single-quoting in ASCII text.
26205         Also, fix some minor spacing issues.
26207         Minor quoting etc. fixes to elisp intro
26208         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
26209         American-style double quoting in ordinary text.  In ASCII text,
26210         consistently quote 'like this' instead of `like this', unless
26211         Emacs requires the latter.
26213 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
26215         * CONTRIBUTE: Mention log-edit-insert-changelog.
26217         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
26219 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
26221         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
26223 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
26225         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
26226         Fix inheritance of initargs.  (Bug#20270)
26228 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
26230         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
26231         while dowloading information.
26233         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
26234         (package--ensure-init-file): Check file contents before visiting.
26235         (package-initialize): Call it.
26236         (package-install-from-buffer, package-install): Don't call it.
26238 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
26240         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800.
26241         (Bug#17517)
26243 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
26245         * lisp/net/tramp-cache.el (tramp-flush-file-property):
26246         Fix nasty scoping bug.
26248 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
26250         Add notice to visual commands section
26251         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
26252         such as git call less with its -F option which omits pagination if
26253         the contents is less than one page long.  This interferes with
26254         eshell's visual (sub-)commands.
26256 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
26258         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
26259         environment variable expansion in file names.  (Bug#19839)
26261 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
26263         Prefer double-quote to accent-grave in man pages
26265 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
26267         (Bug#20257)
26268         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
26270 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
26272         Update etc/PROBLEMS.
26273         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
26274         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
26275         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
26276         respectively); other minor updates and tweaks.  (Bug#20011)
26278 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
26280         Add doc strings for some Isearch state vars
26281         * lisp/misearch.el (multi-isearch-buffer-list)
26282         (multi-isearch-file-list): Add doc strings.
26283         (Bug#20232)
26285 2015-04-07  Alan Mackenzie  <acm@muc.de>
26287         Always mark "<" and ">" in #include directives with text properties.
26288         * lisp/progmodes/cc-fonts.el (c-cpp-matchers): Replace a font-lock
26289         "anchored matcher" with an invocation of
26290         c-make-font-lock-search-function to allow fontification when there's
26291         no trailing space on an "#include <..>" line.
26293 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
26295         Generate a ChangeLog file from commit logs
26296         * .gitignore: Add 'ChangeLog'.
26297         * build-aux/gitlog-to-changelog: New file, from Gnulib.
26298         * build-aux/gitlog-to-emacslog: New file.
26299         * CONTRIBUTE: Document the revised workflow.
26300         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
26301         instead of just special cases.
26302         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
26303         (ChangeLog, unchanged-history-files, change-history)
26304         (change-history-commit): New rules.
26305         * admin/admin.el (make-manuals-dist--1):
26306         Don't worry about doc/ChangeLog.
26307         * admin/authors.el: Add a FIXME.
26308         * admin/make-tarball.txt:
26309         * lisp/calendar/icalendar.el:
26310         * lisp/gnus/deuglify.el:
26311         * lisp/obsolete/gulp.el:
26312         * lwlib/README:
26313         Adjust to renamed ChangeLog history files.
26314         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
26315         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
26316         Remove obsolete discussion of merging ChangeLog files.
26317         New section "Maintaining ChangeLog history".
26318         * build-aux/git-hooks/pre-commit:
26319         Reject attempts to commit files named 'ChangeLog'.
26320         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
26321         * make-dist: Make and distribute top-level ChangeLog if there's a
26322         .git directory.  Distribute the new ChangeLog history files
26323         instead of scattered ChangeLog files.  Distribute the new files
26324         gitlog-to-changelog and gitlog-to-emacslog.
26325         (Bug#19113)
26327         Rename ChangeLogs for gitlog-to-changelog
26328         This patch was implemented via the following shell commands:
26329         find * -name ChangeLog |
26330         sed 's,.*,git mv & &.1,
26331         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
26332         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
26333         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
26334         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
26335         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
26336         sh
26337         git commit -am"[this commit message]"
26339 This file records repository revisions from
26340 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
26341 commit e6b7b6d89ff9288a49099f041752908b5eb9613e (inclusive).
26342 See ChangeLog.1 for earlier changes.
26344 ;; Local Variables:
26345 ;; coding: utf-8
26346 ;; End:
26348   Copyright (C) 2015-2016 Free Software Foundation, Inc.
26350   This file is part of GNU Emacs.
26352   GNU Emacs is free software: you can redistribute it and/or modify
26353   it under the terms of the GNU General Public License as published by
26354   the Free Software Foundation, either version 3 of the License, or
26355   (at your option) any later version.
26357   GNU Emacs is distributed in the hope that it will be useful,
26358   but WITHOUT ANY WARRANTY; without even the implied warranty of
26359   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26360   GNU General Public License for more details.
26362   You should have received a copy of the GNU General Public License
26363   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.