(ls-lisp-insert-directory): Make -B work
[emacs.git] / ChangeLog.2
blobe441fd184dde22a6d013efb017e227c59c1ec17a
1 2016-02-13  Nicolas Petton  <nicolas@petton.fr>
3         Bump version to 25.0.91
5         * README:
6         * configure.ac:
7         * msdos/sed2v2.inp: Bump version to 25.0.91.
9 2016-02-13  Nicolas Petton  <nicolas@petton.fr>
11         * etc/AUTHORS: Update the AUTHORS file
13 2016-02-13  Glenn Morris  <rgm@gnu.org>
15         * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
17 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
19         Index tilde characters in names of backup files
21         * doc/emacs/files.texi (Backup Names): Improve indexing.
22         (Bug#22625)
24 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
26         Document deprecation of hi-lock-mode's 'C-x w' bindings
28         * doc/emacs/display.texi (Highlight Interactively): Deprecate the
29         "C-x w" bindings of hi-lock-mode.
31         * etc/NEWS: Mark the deprecation entry as documented.
33 2016-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
35         Announce that the `C-x w' bindings are deprecated
37 2016-02-13  Paul Eggert  <eggert@cs.ucla.edu>
39         Suppress GNUstep hardening
41         Fedora 23 normally hardens GNUstep applications, which causes
42         ‘./configure --with-ns’ to break Emacs’s funky way of undumping.
43         Fix this by eliding the hardening options (Bug#22518).
44         * src/Makefile.in (LIBS_GNUSTEP): Omit options like
45         ‘-specs=/usr/lib/rpm/redhat/redhat-hardened-ld’.
46         (GNU_OBJC_CFLAGS): Omit options like
47         ‘-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1’.
49 2016-02-12  Eli Zaretskii  <eliz@gnu.org>
51         Fix redisplay after a large insertion
53         * src/xdisp.c (redisplay_internal): Don't accept the results of
54         "optimization 3" if the cursor ends up in a partially visible
55         glyph row.  (Bug22637)
57 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
59         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
61         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
63                 * lisp/gnus/nnimap.el (nnimap-change-group): Revert last
64                 change.  (Bug#22634)
66 2016-02-11  Paul Eggert  <eggert@cs.ucla.edu>
68         * lib-src/make-docfile.c: Include stdarg.h.
70 2016-02-11  Alan Mackenzie  <acm@muc.de>
72         Extend gpm-mouse-mode's doc string and doc to point out limitations.
74         * lisp/t-mouse.el (gpm-mouse-mode): Extend doc string to indicate the
75         inability to transfer text between Emacs and other programs which use GPM.
77         * doc/emacs/frames.texi (Text-Only Mouse): Note the inability to transfer text
78         between Emacs and other progrmas which use GPM.
80 2016-02-11  Eli Zaretskii  <eliz@gnu.org>
82         Revert "Backport: * lisp/isearch.el: Turn char-folding off by default"
84         * lisp/isearch.el: Turn char-folding back oon by default.
86         This reverts commit 12c50e82c9b432b2fc31f8fb2215f43ceea80822.
88 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
90         Revert "Support integer image rotation and respect EXIF rotations"
92         This reverts commit 0f600496050bf435f55dc81056e06fcd45992dc8.
94         This change does not work on Fedora.
96 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
98         Revert "Document EXIF image rotation"
100         This reverts commit 10b8ed27ec91ff52f93eb0297dcc3abb214931aa.
102         This change does not work on Fedora, for instance.
104 2016-02-11  Paul Eggert  <eggert@cs.ucla.edu>
106         Document OS X LANG default
108         * doc/emacs/cmdargs.texi (General Variables):
109         Document OS X Language and Region system preference.
110         Suggested by Alan Third.
112 2016-02-11  Alan Third  <alan@idiocy.org>
114         Set locale when run from OS X GUI
116         * src/emacs.c (main): Call ns_init_locale.
117         * src/nsterm.m (ns_init_locale): Get locale from OS and set LANG.
118         * src/nsterm.h: Include ns_init_locale.
120 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
122         make-docfile cleanup for I/O, etc.
124         * lib-src/make-docfile.c (progname, generate_globals, num_globals)
125         (num_globals_allocated, globals): Now static.
126         (generate_globals, struct rcsoc_state, read_c_string_or_comment):
127         (write_c_args, scan_c_stream, search_lisp_doc_at_eol, scan_lisp_file):
128         Use bool for boolean.
129         (verror): New function.
130         (fatal, error): Use it.  API is now like printf.  All callers changed.
131         (main): Remove err_count local that was always 0.
132         (main, scan_c_stream, scan_lisp_file): Check for I/O error.
133         (scan_file, scan_c_file, scan_c_stream, scan_lisp_file):
134         Return void, not 0.
135         (put_char, scan_keyword_or_put_char, scan_c_file): Use char for byte.
136         (scan_keyword_or_put_char): Check for missing ( and unexpected EOF.
137         (close_emacs_globals): Use ptrdiff_t for index, not int.
138         (scan_c_file, scan_lisp_file): Exit with failure if file cannot be
139         opened, rather than diagnosing but exiting with status 0.
140         (search_lisp_doc_at_eol): Don't worry about ungetc of EOF; it's
141         portable now.
143 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
145         Memory-management cleanup in make-docfile
147         I compiled it with -fsanitize=address and fixed the leaks it detected.
148         Also, I changed it to prefer signed to unsigned integer types,
149         and to check for integer overflow.
150         * lib-src/make-docfile.c:
151         Include <stddef.h>, <stdint.h>, <intprops.h>, <min-max.h>.
152         (memory_exhausted): New function.
153         (xmalloc, xrealloc): Use it.
154         (xmalloc, xrealloc, scan_file, struct rcsoc_state, write_c_args)
155         (uncompiled, scan_lisp_file):
156         Prefer signed integer types to unsigned.
157         (xstrdup): Remove.  All uses removed.
158         (num_globals, num_globals_allocated, write_globals, scan_c_stream):
159         Use ptrdiff_t, not int, for indexes that in theory could exceed INT_MAX.
160         (add_global): Use const to pacify --enable-gcc-warnings.
161         Make a copy here, rather than relying on strdup calls later.
162         (add_global, write_globals, scan_c_stream):
163         Avoid integer overflow when calculating sizes.
164         (write_globals, scan_c_stream, scan_lisp_file): Avoid memory leak.
165         (scan_c_stream): Check for add_global failure.
167 2016-02-10  Kevin Gallagher  <Kevin.Gallagher@boeing.com>
169         Kevin Gallagher has new email address
171         * lisp/emulation/edt.el:
172         * lisp/emulation/edt-lk201.el:
173         * lisp/emulation/edt-mapper.el:
174         * lisp/emulation/edt-pc.el:
175         * lisp/emulation/edt-vt100.el:
176         * etc/edt-user.el:
177         * doc/misc/edt.texi: Update Kevin Gallagher's email address.
179 2016-02-10  Eli Zaretskii  <eliz@gnu.org>
181         Improve doc strings of 'forward/backward-word-strictly'
183         * lisp/simple.el (backward-word): Refer to 'backward-word-strictly'
184         in the doc string.  Suggested by Glenn Morris <rgm@gnu.org>.
185         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
186         Mention 'subword-mode' in the doc strings.
188         * src/syntax.c (Fforward_word): Refer to 'forward-word-strictly'
189         in the doc string.  (Bug#22560)
191 2016-02-10  Michael Albinus  <michael.albinus@gmx.de>
193         Describe Makefile test targets in test/README
195         * CONTRIBUTE: Move Makefile test targets to test/README.
197         * Makefile.in:
198         * test/README: Describe Makefile test targets.
200 2016-02-10  Artur Malabarba  <bruce.connor.am@gmail.com>
202         Backport: * lisp/isearch.el: Turn char-folding off by default
204         (search-default-mode): Set default value to nil.
206 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
208         Document EXIF image rotation
210         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
212 2016-02-10  Dima Kogan  <dima@secretsauce.net>
214         Support integer image rotation and respect EXIF rotations
216         * src/image.c (imagemagick_load_image): Allow integer rotations in
217         addition to floating point rotations (bug#22591).
218         * src/image.c (imagemagick_load_image): Images that have an
219         orientation given in EXIF and have no explicit :rotation tag are now
220         pre-rotated.  All information such as width/height is reported for the
221         rotated image.
223 2016-02-10  Matthew Carter  <m@ahungry.com>
225         Quote table names for postgres listings (sql-mode)
227         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
228           unquoted table names to the completion list.
230 2016-02-10  Juri Linkov  <juri@linkov.net>
232         * lisp/replace.el (replace-match-maybe-edit): Make arg `backward' optional.
234         Doc fix.
235         (replace-search, replace-highlight): Make arg `backward' optional.
236         (Bug#18388)
238 2016-02-10  Juri Linkov  <juri@linkov.net>
240         * lisp/simple.el (next-line-or-history-element): Reset temporary-goal-column.
242         (previous-line-or-history-element): Reset temporary-goal-column.
243         Use end-of-visual-line instead of line-end-position.  (Bug#22544)
245 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
247         Suppress ACL ops if configured with --disable-acl
249         Without this patch, some ACL operations were suppressed, but not all.
250         * src/fileio.c [!USE_ACL]: Do not include sys/acl.h.
251         (Ffile_acl, Fset_file_acl) [!USE_ACL]: Return nil in this case.
253 2016-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
255         Mention web bugs
257         * doc/misc/emacs-mime.texi (Display Customization):
258         Mention web bugs in the mm-html-blocked-images section.
260 2016-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
262         Make mm-html-blocked-images default to "" again
264         * lisp/gnus/mm-decode.el (mm-html-blocked-images):
265         Default to "" that blocks all external images.
267         * doc/misc/emacs-mime.texi (Display Customization):
268         Mention that mm-html-blocked-images defaults to "".
270 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
272         Minor alignas cleanup
274         * src/lisp.h (alignas): Remove now-redundant #ifdef that was left
275         over from the old way of doing things, before Bug#20862 was fixed.
277 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
279         Add lmalloc commentary and tweak laligned
281         * src/alloc.c (laligned): Help compiler in a tiny way by putting
282         the more-commonly-failing disjunct first.
284 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
286         Clarify documentation of key binding conventions
288         * doc/lispref/tips.texi (Key Binding Conventions): Clarify which
289         "punctuation characters" are reserved after "C-c".  (Bug#22604)
291 2016-02-09  Oscar Fuentes  <ofv@wanadoo.es>
293         * etc/NEWS: mention the `vc-faces' customization group
295 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
297         Sync with gnulib
299         This incorporates:
300         2016-02-09 stdalign: port to clang 3.7.0
301         2016-02-06 misc: port better to gcc -fsanitize=address
302         * doc/misc/texinfo.tex, lib/stdalign.in.h, m4/acl.m4, m4/getgroups.m4:
303         Copy from gnulib.
305 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
307         * CONTRIBUTE: Add more examples for $(SELECTOR) make variable.
309 2016-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
311         Make mm-html-inhibit-images and mm-html-blocked-images default to nil
313         * lisp/gnus/mm-decode.el (mm-html-inhibit-images)
314         (mm-html-blocked-images): Default to nil.
316         * doc/misc/emacs-mime.texi (Display Customization): Mention that
317         mm-html-inhibit-images and mm-html-blocked-images default to nil.
319         * etc/NEWS (Gnus): Document mm-html-inhibit-images and
320         mm-html-blocked-images.
322 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
324         Increase success rate of fallback lmalloc
326         * src/alloc.c (lmalloc, lrealloc): Reallocate with (typically)
327         larger and larger sizes, to increase the probability that
328         the allocator will return a Lisp-aligned pointer.
330 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
332         Make backgrounds extend to the end of the lines in shr
334         * lisp/net/shr.el (shr-face-background): Faces can also be on
335         the form `(:background "#fff)' (bug#22547).
337 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
339         Make the `R' command get the correct relative <img>s
341         * lisp/net/eww.el (eww-readable): Preserve the base URL so
342         that image expansions are fetched from the right place (bug#22605).
344         (cherry picked from commit 8722e849f75ceafb82a1c17105e8ab76077a8ebc)
346         Backport:
348 2016-02-09  Mike Kupfer  <m.kupfer@acm.org>
350         Fix typos in emacs-mime.texi and gnus.texi
352         * doc/misc/emacs-mime.texi (Display Customization):
353         * doc/misc/gnus.texi (HTML): Fix typo.
355 2016-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
357         * doc/misc/emacs-mime.texi (Display Customization):
358         Doc fix for mm-html-inhibit-images.
360 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
362         Fix message-cross-post-followup-to group names
364         * lisp/gnus/message.el (message-cross-post-followup-to): Don't
365         insert group names like "nntp+foo:zot", because those aren't valid.
367 2016-02-09  David Edmondson  <dme@dme.org>
369         Compare recipient and keys case-insensitively
371         * lisp/gnus/mml2015.el: (mml-secure-check-user-id): When comparing a
372         recipient address with that from a key, do so in a case insensitive
373         manner (bug#22603).
375 2016-02-08  Glenn Morris  <rgm@gnu.org>
377         * lisp/gnus/mm-decode.el (mm-alist-to-plist): Doc fix.
379 2016-02-08  Katsumi Yamaoka  <yamaoka@jpl.org>
381         Refactor HTML images handling of Gnus and mm-* (a part of bug#21650)
383         * doc/misc/emacs-mime.texi (Display Customization):
384         Remove mm-inline-text-html-with-images; add documentations for
385         mm-html-inhibit-images and mm-html-blocked-images.
387         * lisp/gnus/gnus-art.el (gnus-article-show-images):
388         No need to bind mm-inline-text-html-with-images.
389         (gnus-bind-safe-url-regexp): Rename to gnus-bind-mm-vars.
390         (gnus-bind-mm-vars): Rename from gnus-bind-safe-url-regexp;
391         bind mm-html-inhibit-images and mm-html-blocked-images.
392         (gnus-mime-view-all-parts, gnus-mime-view-part-internally)
393         (gnus-mm-display-part, gnus-mime-display-single)
394         (gnus-mime-display-alternative): Use gnus-bind-mm-vars.
396         * lisp/gnus/mm-decode.el (mm-inline-text-html-with-images): Remove.
397         (mm-html-inhibit-images, mm-html-blocked-images): New user options.
398         (mm-shr): Bind shr-inhibit-images and shr-blocked-images with
399         mm-html-inhibit-images and mm-html-blocked-images respectively
400         instead of gnus-inhibit-images and gnus-blocked-images.
402         * lisp/gnus/mm-view.el (mm-setup-w3m): Use mm-html-inhibit-images
403         instead of mm-inline-text-html-with-images.
405 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
407         Port to FreeBSD 11-CURRENT i386
409         Problem reported by Herbert J. Skuhra in:
410         http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00354.html
411         Instead of trying
412         * src/alloc.c (lmalloc, lrealloc, laligned): New functions.
413         (xmalloc, xzalloc, xrealloc, lisp_malloc): Use them.
414         (__alignof__) [!__GNUC__ && !__alignof__]: New macro.
415         (MALLOC_IS_GC_ALIGNED): New macro.
416         * src/lisp.h (NONPOINTER_BITS): Remove.  All uses removed.
417         No longer needed now that alloc.c uses lmalloc and lrealloc.
419 2016-02-08  Michael Albinus  <michael.albinus@gmx.de>
421         Some fixes in file-notify-tests.el
423         * test/automated/file-notify-tests.el
424         (file-notify--test-with-events-check)
425         (file-notify--test-with-events-explainer): New defuns.
426         (file-notify--test-with-events): Use it.
427         (file-notify-test07-backup): Fix docstring.  Some of the
428         backends fire two `changed' events.  Backup by rename doesn't
429         work for kqueue.
431 2016-02-07  Michael Albinus  <michael.albinus@gmx.de>
433         Fix Bug#22557
435         * lisp/filenotify.el (file-notify-callback): Do not send a
436         `stopped' event in case of backup by renaming.  (Bug#22557)
438         * test/automated/Makefile.in: Use $(SELECTOR_EXPENSIVE) for
439         all targets but check and check-maybe.
441         * test/automated/file-notify-tests.el
442         (file-notify--test-read-event-timeout): New defconst.
443         (file-notify--deftest-remote, file-notify--wait-for-events)
444         (file-notify-test02-events)
445         (file-notify-test04-file-validity)
446         (file-notify-test06-many-events): Use it.
447         (file-notify--test-cleanup): Make it more robust.  Delete also
448         backup file.
449         (file-notify-test07-backup): New test.
451 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
453         Fix test for dladdr
455         Problem reported by Andreas Schwab in:
456         http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00327.html
457         * configure.ac (dladdr): Link with LIBMODULES when checking for
458         this function.
460 2016-02-07  Andreas Schwab  <schwab@linux-m68k.org>
462         Fix gnus-group-get-new-news-this-group on group with closed server
464         * lisp/gnus/nnimap.el (nnimap-change-group): Lookup server
465         method and pass to nnimap-open-server.
467 2016-02-07  Artur Malabarba  <bruce.connor.am@gmail.com>
469         * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
471         While tabs in code are mostly fine because the Emacs sources have a
472         .dir-locals file specifying tab-width, the same is not true of tabs in
473         code examples inside docstrings.  The docstring is printed on a *Help*
474         buffer, which can be created on any directory and won't necessarily have
475         the same tab-width set.
477 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
479         Don't inloop gnus-uu-mark-thread on the last thread
481         * lisp/gnus/gnus-uu.el (gnus-uu-mark-thread): Don't infloop on the
482         final thread in the summary buffer (bug#16666).
484 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
486         Display non-ASCII group names better in prompts
488         * lisp/gnus/gnus-sum.el (gnus-articles-to-read): To decode the
489         group name, we have to do that before we remove the prefix.
491 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
493         Default to gpg2 instead of gpg
495         * lisp/epg-config.el (epg-gpg-program): Prefer gpg2 over gpg, if
496         it exists.  This fixes many problems with using the GPG
497         authentication agent.
499 2016-02-06  David Edmondson  <dme@dme.org>
501         src/process.c Correctly convert AF_INET6 addresses
503         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
504         converted to a list of 16 bit quantities by
505         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
506         same scheme rather than expecting a (longer) list of 8 bit
507         quantities.
509         Backport:
511         (cherry picked from commit 55ce3c30d617c38eb086d5ad4ffbd881c20c559c)
513 2016-02-06  Artur Malabarba  <bruce.connor.am@gmail.com>
515         * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
517 2016-02-06  Artur Malabarba  <bruce.connor.am@gmail.com>
519         * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
521         (menu-bar-search-options-menu): New variable
523 2016-02-06  Artur Malabarba  <bruce.connor.am@gmail.com>
525         * lisp/isearch.el (search-default-mode)
527         (isearch-regexp-function): Improve docstrings.
529 2016-02-06  Artur Malabarba  <bruce.connor.am@gmail.com>
531         * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
533         (search-default-mode): New variable.
534         (isearch-mode, isearch-define-mode-toggle)
535         (isearch--describe-regexp-mode): Update accordingly.
536         * lisp/menu-bar.el (nonincremental-search-forward): Update accordingly.
537         * etc/NEWS: Update accordingly.
538         * doc/emacs/search.texi: Update accordingly.
540 2016-02-06  Oscar Fuentes  <ofv@wanadoo.es>
542         Use monitor's resolution for positioning tooltips
544         * src/xfns.c (compute_tip_xy): Use the resolution of the monitor where
545           the mouse pointer is to avoid placing the tooltip over the border of
546           the monitor on multi-head displays. Fixes bug#22549.
548 2016-02-06  Eli Zaretskii  <eliz@gnu.org>
550         Fix file-notify-test on MS-Windows
552         * test/automated/file-notify-tests.el (file-notify--test-timeout):
553         Reduce w32notify timeout to 10 sec.
554         (file-notify-test06-many-events): Call read-event after each
555         rename, to keep the w32notify backend happy in batch mode.
556         (Bug#22534)
558 2016-02-06  Eli Zaretskii  <eliz@gnu.org>
560         Fix issues found by auditing w32notify code
562         * src/w32inevt.c (handle_file_notifications): Count the number of
563         events to be returned.
564         * src/w32notify.c (send_notifications): Don't copy to the file
565         notification buffer more than it can hold.  (Bug#22534)
567 2016-02-06  Eli Zaretskii  <eliz@gnu.org>
569         Extend etags Ruby support for accessors
571         * lib-src/etags.c (Ruby_functions): Support accessors defined with
572         parentheses.  (Bug#22563)
574         * test/etags/ruby-src/test1.ru (A::B): Add tests for accessors
575         defined with parentheses.
576         * test/etags/ETAGS.good_1:
577         * test/etags/ETAGS.good_2:
578         * test/etags/ETAGS.good_3:
579         * test/etags/ETAGS.good_4:
580         * test/etags/ETAGS.good_5:
581         * test/etags/ETAGS.good_6:
582         * test/etags/CTAGS.good: Adapt to changes in Ruby tests.
584 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
586         Update publicsuffix.txt.
588         * etc/publicsuffix.txt: Updated from
589         https://publicsuffix.org/list/public_suffix_list.dat.
591 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
593         Ensure that Gnus dribble handling allows removing entries
595         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Ensure that each
596         entry is on a single line.
598 2016-02-05  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
600         Be consistent when using encoded strings in nnimap data
602         * lisp/gnus/nnimap.el (nnimap-encode-gnus-group): New function
603         (nnimap-request-list): Use it.
604         (nnimap-request-newgroups): Ditto.
606 2016-02-05  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
608         Display the decoded Gnus group name
610         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Use the
611         decoded group name in the message.
613 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
615         Use completion-ignore-case instead of defining command
617         * lisp/erc/erc.el (erc-mode): Set completion-ignore-case so
618         that we get case-insensitive completion.
619         (erc-completion-at-point): Remove.
621 2016-02-05  Eli Zaretskii  <eliz@gnu.org>
623         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
625 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
627         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
629         Reduce the number of iterations to 250 in case of w32notify.
631 2016-02-05  Eli Zaretskii  <eliz@gnu.org>
633         Fix problems caused by new implementation of sub-word mode
635         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
636         New functions.
637         (word-move-empty-char-table): New variable.
639         * etc/NEWS: Mention 'forward-word-strictly' and
640         'backward-word-strictly'.
642         * doc/lispref/positions.texi (Word Motion): Document
643         'find-word-boundary-function-table', 'forward-word-strictly', and
644         'backward-word-strictly'.  (Bug#22560)
646         * src/syntax.c (syms_of_syntax)
647         <find-word-boundary-function-table>: Doc fix.
649         * lisp/wdired.el (wdired-xcase-word):
650         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
651         (texinfo-copy-section-title, texinfo-start-menu-description)
652         (texinfo-copy-menu-title, texinfo-specific-section-type)
653         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
654         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
655         (texinfo-insert-@end):
656         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
657         (texinfo-anchor, texinfo-multitable-widths)
658         (texinfo-multitable-item):
659         * lisp/textmodes/tex-mode.el (latex-env-before-change):
660         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
661         * lisp/skeleton.el (skeleton-insert):
662         * lisp/simple.el (count-words):
663         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
664         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
665         (vhdl-update-sensitivity-list, vhdl-template-block)
666         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
667         (vhdl-template-default-indent, vhdl-template-for-loop)
668         (vhdl-template-if-then-use, vhdl-template-bare-loop)
669         (vhdl-template-nature, vhdl-template-procedural)
670         (vhdl-template-process, vhdl-template-selected-signal-asst)
671         (vhdl-template-type, vhdl-template-variable)
672         (vhdl-template-while-loop, vhdl-beginning-of-block)
673         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
674         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
675         (verilog-forward-sexp, verilog-beg-of-statement)
676         (verilog-set-auto-endcomments, verilog-backward-token)
677         (verilog-do-indent):
678         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
679         (vera-indent-block-closing):
680         * lisp/progmodes/simula.el (simula-context)
681         (simula-backward-up-level, simula-forward-down-level)
682         (simula-previous-statement, simula-next-statement)
683         (simula-skip-comment-backward, simula-calculate-indent)
684         (simula-find-if, simula-electric-keyword):
685         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
686         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
687         (ruby-smie--forward-token, ruby-smie--backward-token)
688         (ruby-singleton-class-p, ruby-calculate-indent)
689         (ruby-forward-sexp, ruby-backward-sexp):
690         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
691         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
692         (perl-syntax-propertize-special-constructs)
693         (perl-backward-to-start-of-continued-exp):
694         * lisp/progmodes/pascal.el (pascal-indent-declaration):
695         * lisp/progmodes/octave.el (octave-function-file-p):
696         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
697         * lisp/progmodes/js.el (js--forward-function-decl):
698         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
699         (idlwave-beginning-of-block, idlwave-end-of-block)
700         (idlwave-block-jump-out, idlwave-determine-class):
701         * lisp/progmodes/icon.el (icon-is-continuation-line)
702         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
703         * lisp/progmodes/hideif.el (hide-ifdef-define):
704         * lisp/progmodes/f90.el (f90-change-keywords):
705         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
706         (cperl-linefeed, cperl-electric-terminator)
707         (cperl-find-pods-heres, cperl-fix-line-spacing)
708         (cperl-invert-if-unless):
709         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
710         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
711         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
712         (ada-adjust-case-skeleton, ada-create-case-exception)
713         (ada-create-case-exception-substring)
714         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
715         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
716         (ada-get-indent-if, ada-get-indent-block-start)
717         (ada-get-indent-loop, ada-get-indent-type)
718         (ada-search-prev-end-stmt, ada-check-defun-name)
719         (ada-goto-decl-start, ada-goto-matching-start)
720         (ada-goto-matching-end, ada-looking-at-semi-or)
721         (ada-looking-at-semi-private, ada-in-paramlist-p)
722         (ada-search-ignore-complex-boolean, ada-move-to-start)
723         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
724         * lisp/net/quickurl.el (quickurl-grab-url):
725         * lisp/mail/sendmail.el (mail-do-fcc):
726         * lisp/mail/rmail.el (rmail-resend):
727         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
728         * lisp/mail/mail-extr.el (mail-extract-address-components):
729         * lisp/json.el (json-read-keyword):
730         * lisp/files.el (insert-directory):
731         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
732         * lisp/completion.el (symbol-under-point, symbol-before-point)
733         (symbol-before-point-for-complete, next-cdabbrev)
734         (add-completions-from-c-buffer):
735         * lisp/cedet/semantic/texi.el (semantic-up-context)
736         (semantic-beginning-of-context):
737         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
738         use 'forward-word-strictly' and 'backward-word-strictly' instead
739         of 'forward-word' and 'backward-word'.
741 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
743         Fix doc string of tls-program
745         * lisp/net/tls.el (tls-program): Document the %t parameter (bug#22559).
747 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
749         Restore window conf in nsm
751         * lisp/net/nsm.el (nsm-query-user): Restore the window configuration.
753         Backport:
755 2016-02-05  Mark Oteiza  <mvoteiza@udel.edu>
757         * etc/NEWS: Document new mpc.el features
759 2016-02-04  Leo Liu  <sdl.web@gmail.com>
761         * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
763 2016-02-04  Alan Mackenzie  <acm@muc.de>
765         Correctly fontify C++ initializations which "look like" functions.
767         Fixes bug#7579.
769         lisp/progmodes/cc-engine.el (c-forward-declarator): Add extra optional
770         parameter to enable handling of "anonymous" declarators in declarations.
772         lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Check more rigorously
773         whether a "(" opens a parameter list of a function, or an initialization of a
774         variable.
776 2016-02-04  Ulf Jasper  <ulf.jasper@web.de>
778         Improve newsticker-treeview-selection-face
780         * lisp/net/newst-treeview.el (newsticker-treeview-selection-face): Improve
781         readability for dark background.
783 2016-02-04  Eli Zaretskii  <eliz@gnu.org>
785         Minor fix in tagging Ruby accessors by etags
787         * lib-src/etags.c (Ruby_functions): Don't tag accessors whose
788         names are not literal symbols.  (Bug#22241)
790 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
792         Spelling fixes
794 2016-02-04  Dmitry Gutov  <dgutov@yandex.ru>
796         Remove 'def X' from the example
798         * test/etags/ruby-src/test1.ru (A::B): Remove 'def X'
799         (http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00167.html).
800         * test/etags/CTAGS.good:
801         * test/etags/ETAGS.good_1:
802         * test/etags/ETAGS.good_2:
803         * test/etags/ETAGS.good_3:
804         * test/etags/ETAGS.good_4:
805         * test/etags/ETAGS.good_5:
806         * test/etags/ETAGS.good_6: Adjust accordingly.
808 2016-02-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
810         Allow sending empty hidden values in eww
812         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
813         values (bug#22388).
815         (cherry picked from commit 5898da8210af7953e638ddf7821c05260979c3f0)
817         Backport:
819 2016-02-04  David Edmondson  <dme@dme.org>
821         Make erc work better when encountering unknown prefix chars
823         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
824         instead of erroring out on unknown prefix chars (bug#22380).
826 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
828         Make erc completion case-insensitive again
830         * lisp/erc/erc.el (erc-completion-at-point): Make erc completion
831         case-insensitive again (bug#11360).
833 2016-02-04  Carlos Pita  <carlosjosepita@gmail.com>  (tiny change)
835         Make complection in erc use consistent casing
837         * lisp/erc/erc-pcomplete.el (pcomplete-erc-all-nicks): Make
838         case in the complection consistent (bug#18509).
840 2016-02-04  Francis Litterio  <flitterio@gmail.com>
842         Make /QUIT in erc more robust
844         * lisp/erc/erc.el (erc-kill-query-buffers): Don't bug out if we're
845         issuing /QUIT to disconnected servers (bug#22099).
847 2016-02-04  Kevin Brubeck Unhammer  <unhammer@fsfe.org>  (tiny change)
849         Make tracking faces in Emacs work more reliably
851         * lisp/erc/erc-track.el (erc-faces-in): Always return lists of
852         faces to avoid later ambiguity (bug#22424).
854 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
856         Make shr not bug out on images on non-graphical displays
858         * lisp/net/shr.el (shr-put-image): Don't bug out on alt-less
859         images on non-graphical displays (bug#22327).
861 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
863         Fix bookmark display widths
865         * lisp/net/eww.el (eww-list-bookmarks): Pop to the buffer before
866         preparing it so that the widths are computed correctly (bug#22328).
868 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
870         Fix typo in eww-make-unique-file-name
872         * lisp/net/eww.el (eww-make-unique-file-name): Make this function
873         actually work.
875 2016-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
877         Make it possible to TAB to input fields
879         * lisp/net/eww.el (eww-tag-input): Make it possible to TAB to
880         input fields (bug#22540).
882 2016-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
884         Insert complete alt texts when images are disabled
886         * lisp/net/shr.el (shr-tag-img): When images are disabled, insert
887         the complete alt/title string (bug#22293).
889 2016-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
891         Allow eww text fields to grow
893         * lisp/net/eww.el (eww-process-text-input): Allow text fields to
894         grow when typing in stuff that's longer than the original width.
896 2016-02-03  Dima Kogan  <dima@secretsauce.net>
898         Make erc work when subword-mode is switched on
900         * lisp/erc/erc-backend.el (erc-forward-word, erc-word-at-arg-p)
901         (erc-bounds-of-word-at-point): New functions to do word-based
902         things when subword-mode is switched on.
904         * lisp/erc/erc-button.el (erc-button-add-nickname-buttons): Use them
905         (bug#17558).
907 2016-02-03  Teemu Likonen  <tlikonen@iki.fi>
909         Fix IMAP doc example
911         * doc/misc/gnus.texi (Client-Side IMAP Splitting): Fix example.
913 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
915         Quoting fixes in doc strings and diagnostics
917         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq, byte-compile-funcall):
918         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
919         (mml-smime-get-ldap-cert):
920         Follow user style preference when quoting diagnostics.
922 2016-02-03  Noam Postavsky  <npostavs@gmail.com>
924         Fix warning message in hack-local-variables
926         * lisp/files.el (hack-local-variables): use 'thisbuf' to reference
927         the original buffer name in the warning message.  (Bug#21681)
929 2016-02-03  Eli Zaretskii  <eliz@gnu.org>
931         Etags: yet another improvement in Ruby tags
933         * lib-src/etags.c (Ruby_functions): Handle continuation lines in
934         Ruby accessor definitions.  (Bug#22241)
936         * test/etags/ruby-src/test1.ru (A::B#X): Add some more tests for
937         accessors and multiline definitions.
938         * test/etags/ETAGS.good_1:
939         * test/etags/ETAGS.good_2:
940         * test/etags/ETAGS.good_3:
941         * test/etags/ETAGS.good_4:
942         * test/etags/ETAGS.good_5:
943         * test/etags/ETAGS.good_6:
944         * test/etags/CTAGS.good: Adapt to changes in Ruby tags.
946 2016-02-03  Eli Zaretskii  <eliz@gnu.org>
948         Fix x-popup-menu on TTYs without a mouse
950         * src/menu.c (Fx_popup_menu): Be sure to initialize 'x' and 'y'
951         for the TTY case without a mouse.  (Bug#22538)
953 2016-02-03  Nicolas Petton  <nicolas@petton.fr>
955         * lisp/emacs-lisp/map.el: Improvements to the docstring of the pcase macro
957 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
959         Use pop-to-buffer-same-window in eww
961         * lisp/net/eww.el: pop-to-buffer-same-window throughout instead of
962         switch-to-buffer (bug#22244).
964 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
966         * autogen.sh: Revert all recent changes.
968 2016-02-02  Glenn Morris  <rgm@gnu.org>
970         * make-dist: Updates related to nt/.
972         * make-dist: Add modules/.
974         * make-dist: Update for super-special file that can't live in etc/.
976 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
978         Fix failure to compile ns-win.el in parallel builds
980         * src/Makefile.in ($(lispsource)/term/ns-win.elc): Add order-only
981         dependency on $(lispsource)/international/charprop.el.
982         (Bug#22501)
984 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
986         Fix names of tags generated for Ruby accessors
988         * lib-src/etags.c (Ruby_functions): Don't include the leading
989         colon ':' in tags for Ruby accessors and aliases.  (Bug#22241)
991         * test/etags/ETAGS.good_1:
992         * test/etags/ETAGS.good_2:
993         * test/etags/ETAGS.good_3:
994         * test/etags/ETAGS.good_4:
995         * test/etags/ETAGS.good_5:
996         * test/etags/ETAGS.good_6:
997         * test/etags/CTAGS.good: Adapt to changes in Ruby tags.
999 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
1001         Fix file-name recognition in 'etags'
1003         * lib-src/etags.c (get_language_from_filename): If FILE includes a
1004         leading directory, compare only its basename to the known file
1005         names in lang_names[].
1007         * test/etags/Makefile (RBSRC): Adapt to recent test1.ruby
1008         renaming.
1009         * test/etags/ETAGS.good_1:
1010         * test/etags/ETAGS.good_2:
1011         * test/etags/ETAGS.good_3:
1012         * test/etags/ETAGS.good_4:
1013         * test/etags/ETAGS.good_5:
1014         * test/etags/ETAGS.good_6:
1015         * test/etags/CTAGS.good: Adapt to changes in Ruby file names and
1016         to the results in Makefile due to the above etags.c fix.
1018 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
1020         Change Ruby file names and extensions recognized by 'etags'
1022         * lib-src/etags.c <Ruby_filenames>: New variable, holds names
1023         of Ruby files.
1024         <Ruby_suffixes>: Treat .rb, .ru, and .rbw as Ruby extensions.
1025         <lang_names>: Add Ruby_filenames to the Ruby entry.
1026         * test/etags/ruby-src/test1.ru: Renamed from test1.ruby.
1027         (Bug#22241)
1029 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
1031         More improvements for Ruby support in 'etags'
1033         * lib-src/etags.c (Ruby_functions): Tag Ruby accessors and
1034         alias_method.  Identify constants even if the assignment is not
1035         followed by whitespace.  (Bug#22241)
1037         * test/etags/ruby-src/test1.ru: Add tests for constants,
1038         accessors, and alias_method.
1039         * test/etags/ETAGS.good_1:
1040         * test/etags/ETAGS.good_2:
1041         * test/etags/ETAGS.good_3:
1042         * test/etags/ETAGS.good_4:
1043         * test/etags/ETAGS.good_5:
1044         * test/etags/ETAGS.good_6:
1045         * test/etags/CTAGS.good: Adapt to changes in Ruby tests.
1047 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1049         Add --git-config option to autogen.sh
1051         * autogen.sh: New options --git-config, --help.
1052         (git_config): New shell var.  Alter function to respect this var.
1054 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
1056         Fix editing undo changes in eww fields
1058         * eww.el (eww-tag-form): Don't overwrite initial form data in text
1059         fields.
1060         (eww-process-text-input): Make `M-t' at the end of text fields work
1061         better (bug#19085).
1063 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
1065         Allow the user more control of popping up the eww window
1067         * eww.el (eww): Use pop-to-buffer-same-window (suggested by
1068         Michael Heerdegen) (bug#22244).
1070 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
1072         Make eww-browse-url with new-window parameter work again
1074         * eww.el (eww-browse-url): Stay in the same buffer if we're
1075         already in a eww mode buffer so that eww-browse-url with a
1076         new-window parameter works (bug#22244).
1078 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
1080         Clean up eww code slightly
1082         * eww.el (eww-browse-url): Clean up code slightly.
1084 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
1086         Don't insert nil faces in shr
1088         * shr.el (shr-insert-table): Don't add nil faces, because that
1089         will show up in *Messages* as "Invalid face reference: nil [32
1090         times]".
1092 2016-02-01  Glenn Morris  <rgm@gnu.org>
1094         Improve the custom type of some user options.
1096         * lisp/autoinsert.el (auto-insert-alist):
1097         * lisp/replace.el (query-replace-from-to-separator):
1098         * lisp/gnus/gnus-art.el (gnus-hidden-properties):
1099         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-properties):
1100         * lisp/gnus/gnus-picon.el (gnus-picon-properties):
1101         * lisp/progmodes/prolog.el (prolog-keywords, prolog-types)
1102         (prolog-mode-specificators, prolog-determinism-specificators)
1103         (prolog-directives, prolog-program-name, prolog-program-switches)
1104         (prolog-consult-string, prolog-compile-string, prolog-eof-string)
1105         (prolog-prompt-regexp): Improve custom type.
1107 2016-02-01  Glenn Morris  <rgm@gnu.org>
1109         Mark some risky calendar variables.
1111         * lisp/calendar/cal-china.el (chinese-calendar-time-zone):
1112         Remove risky setting for deleted obsolete alias.
1113         (calendar-chinese-standard-time-zone-name)
1114         (calendar-chinese-daylight-saving-start)
1115         (calendar-chinese-daylight-saving-end):
1116         * lisp/calendar/calendar.el (calendar-iso-date-display-form)
1117         (calendar-european-date-display-form)
1118         (calendar-american-date-display-form, calendar-date-display-form):
1119         * lisp/calendar/diary-lib.el (diary-remind-message)
1120         (diary-header-line-format):
1121         * lisp/calendar/solar.el (calendar-time-display-form)
1122         (calendar-location-name): Mark as risky.
1124 2016-02-01  Simen Heggestøyl  <simenheg@gmail.com>
1126         Highlight two additional SCSS keywords
1128         * lisp/textmodes/css-mode.el (css-bang-ids): New defconst holding CSS
1129         identifiers on the form !foo.
1130         (scss-bang-ids): New defconst holding SCSS identifiers on the form
1131         !foo.
1132         (css--font-lock-keywords): Highlight the new SCSS bang identifiers in
1133         `font-lock-builtin-face'.
1135         * test/indent/css-mode.css: Add bang rule test case.
1137         * test/indent/scss-mode.scss: Add test cases for the introduced bang
1138         rules.
1140 2016-02-01  Karl Fogel  <kfogel@red-bean.com>
1142         Recommend enabling integrity-checking in git
1144         * admin/notes/git-workflow:  Recommend setting transfer.fsckObjects.
1146         This is related to the autogen.sh changes made by Paul Eggert in
1147         commit d766ca8f (2016-02-01) and commit cedd7cad (2016-02-01), and to
1148         my edits today to http://www.emacswiki.org/emacs/GitForEmacsDevs and
1149         to emacswiki.org/emacs/GitQuickStartForEmacsDevs.  See also the thread
1150         "Recommend these .gitconfig settings for git integrity." at
1151         https://lists.gnu.org/archive/html/emacs-devel/2016-01/threads.html#01802.
1153 2016-02-01  Martin Rudalics  <rudalics@gmx.at>
1155         Some corrections in Elisp manual
1157         * doc/lispref/buffers.texi (Read Only Buffers): Describe optional
1158         argument POSITION.
1159         * doc/lispref/debugging.texi (Error Debugging): `debug-on-signal'
1160         is an option.
1161         * doc/lispref/display.texi (Refresh Screen): Describe optional
1162         argument FRAME of `redraw-frame'.
1163         (Attribute Functions): Describe optional argument CHARACTER of
1164         `face-font'.
1165         (Defining Images): `image-load-path' is an option.
1166         (Beeping): `ring-bell-function' is an option.
1167         * doc/lispref/frames.texi (Size and Position): The PIXELWISE
1168         argument of `set-frame-size' is optional.
1169         (Raising and Lowering): The TERMINAL argument of `tty-top-frame'
1170         is optional.
1171         * doc/lispref/keymaps.texi (Controlling Active Maps): Fix doc of
1172         `set-transient-map'.
1173         * doc/lispref/minibuf.texi (Text from Minibuffer):
1174         `read-regexp-defaults-function' is an option.
1175         (Minibuffer Contents): `delete-minibuffer-contents' is a command.
1176         * doc/lispref/modes.texi (Mode Line Variables):
1177         `mode-line-position' and `mode-line-modes' are variables, not
1178         options.
1179         * doc/lispref/strings.texi (Creating Strings): The START argument
1180         of `substring' is optional.
1181         * doc/lispref/text.texi (Buffer Contents): Describe optional
1182         argument NO-PROPERTIES of `thing-at-point'.
1183         (User-Level Deletion): Both arguments of
1184         `delete-trailing-whitespace' are optional.
1185         (Margins): Use @key{RET} instead of @kbd{RET}.
1186         * doc/lispref/windows.texi (Display Action Functions): Write
1187         non-@code{nil} instead of non-nil.
1188         (Choosing Window Options): The WINDOW arg of
1189         `split-window-sensibly' is optional.
1190         (Choosing Window Options): Write non-@code{nil} instead of
1191         non-nil.
1192         (Window Start and End): Both args of `window-group-end' are
1193         optional.
1195         * src/buffer.c (Fbarf_if_buffer_read_only): Rename argument POS
1196         to POSITION to keep consisteny with doc-string.
1198 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
1200         Chatter when autogen.sh changes Git configuration
1202         * autogen.sh (git_config): New function.  Use it instead of ‘git config’.
1204 2016-02-01  Kyle Meyer  <kyle@kyleam.com>
1206         * lisp/org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
1208 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1210         Omit unnecessary history from Lisp intro
1212         * doc/lispintro/emacs-lisp-intro.texi (Review, Digression into C)
1213         (Conclusion): Reword so as not to talk about earlier versions
1214         of Emacs in what should be an intro.
1216 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1218         * etc/HISTORY: Add some more history, plus git tags.
1220 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1222         Improve elisp “Security Considerations” doc
1224         * doc/lispref/os.texi (Security Considerations):
1225         Mention call-process and rename-file as opposed to shell commands.
1226         Add some more cross-references.
1228 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1230         autogen.sh now arranges for git to check hashes
1232         Suggested by Karl Fogel in:
1233         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01802.html
1234         * autogen.sh: Do "git config transfer.fsckObjects true".
1236 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1238         Fix (c & 040) typo in emergency escapes
1240         * src/keyboard.c (handle_interrupt): Fix recently-introduced
1241         typo (040 should have been ~040) that silently suppressed
1242         auto-saves after emergency escapes.  Redo comparison to avoid
1243         similar problems.
1245 2016-01-31  Eli Zaretskii  <eliz@gnu.org>
1247         Fix display of overlay strings with 'display' and 'box' property
1249         * src/xdisp.c (get_next_display_element): Take the box face from
1250         display stack level that comes from a buffer, not an overlay
1251         string.  (Bug#22499)
1253 2016-01-31  Andreas Schwab  <schwab@linux-m68k.org>
1255         Fix imap-starttls-open
1257         * lisp/net/imap.el (imap-starttls-open): Log imap process
1258         output.  Call imap-parse-greeting.  (Bug#22500)
1260 2016-01-31  Andreas Schwab  <schwab@linux-m68k.org>
1262         Fix return value of imap-starttls-open
1264         * lisp/net/imap.el (imap-starttls-open): Fix return value.
1266 2016-01-31  John Wiegley  <johnw@newartisans.com>
1268         Correct reference to DARWIN_OS preprocessor symbol
1270         * src/alloc.c: Correct a preprocessor reference to DARWIN_OS, which may
1271           not be defined.
1273 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1275         Spelling fix
1277         Spelling fixes
1279 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1281         Pacify GCC on C library without glibc API
1283         Without this change, with --enable-gcc-warnings GCC would complain
1284         “error: redundant redeclaration of ‘aligned_alloc’”.
1285         * configure.ac: Simplify aligned_alloc testing.
1286         * src/alloc.c (aligned_alloc): Don’t use if DARWIN_OS,
1287         since the simplified configure.ac no longer checks for that.
1288         Don’t declare if HAVE_ALIGNED_ALLOC.
1289         Correct misspelling of HAVE_ALIGNED_ALLOC in ifdef.
1291 2016-01-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1293         Backport: * lisp/files.el: Remove support for extra .dir-locals file
1295         (dir-locals-file-2, dir-locals--all-files): Remove.
1296         (dir-locals-collect-variables, dir-locals-file, dir-locals-find-file)
1297         (dir-locals-read-from-file, hack-dir-local-variables): Revert changes.
1299         * lisp/files-x.el (modify-dir-local-variable): Revert changes.
1301         * lisp/help-fns.el (describe-variable): Revert changes.
1303         * doc/emacs/custom.texi (Directory Variables): Revert changes.
1305         * etc/NEWS: Revert changes.
1307 2016-01-30  Glenn Morris  <rgm@gnu.org>
1309         * lisp/net/browse-url.el (browse-url-default-browser):
1310         Lower priority of non-free Chrome.
1312 2016-01-30  Glenn Morris  <rgm@gnu.org>
1314         Improve the custom type of some user options.
1316         * lisp/desktop.el (desktop-minor-mode-table):
1317         * lisp/man.el (Man-frame-parameters):
1318         * lisp/midnight.el (midnight-delay):
1319         * lisp/speedbar.el (speedbar-select-frame-method):
1320         * lisp/tooltip.el (tooltip-frame-parameters):
1321         * lisp/tree-widget.el (tree-widget-space-width):
1322         * lisp/type-break.el (type-break-keystroke-threshold):
1323         * lisp/woman.el (woman-imenu-generic-expression):
1324         * lisp/cedet/ede.el (ede-debug-program-function):
1325         * lisp/cedet/ede/project-am.el (project-am-debug-target-function):
1326         * lisp/emulation/viper-keym.el (viper-toggle-key):
1327         * lisp/erc/erc-networks.el (erc-server-alist):
1328         * lisp/gnus/message.el (message-deletable-headers, message-signature):
1329         * lisp/mail/mailalias.el (mail-directory-stream):
1330         * lisp/play/tetris.el (tetris-x-colors):
1331         * lisp/progmodes/gud.el (gud-tooltip-modes): Improve custom type.
1333 2016-01-30  Simen Heggestøyl  <simenheg@gmail.com>
1335         Highlight CSS variables with variable name face
1337         * lisp/textmodes/css-mode.el (css-nmstart-re): Don't match variables.
1338         (css--font-lock-keywords): Highlight variables in
1339         `font-lock-variable-name-face'.
1341 2016-01-30  Glenn Morris  <rgm@gnu.org>
1343         * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not user-serviceable.
1345 2016-01-30  Glenn Morris  <rgm@gnu.org>
1347         Mark some user options that can get evalled as risky.
1349         * lisp/allout.el (allout-title):
1350         * lisp/emacs-lisp/edebug.el (edebug-global-break-condition):
1351         * lisp/gnus/message.el (message-mailer-swallows-blank-line):
1352         * lisp/progmodes/gud.el (gud-tooltip-display):
1353         * lisp/vc/ediff-mult.el (ediff-default-filtering-regexp):
1354         Mark as risky.
1356 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
1358         Disable DebPrint in sys_read on MS-Windows
1360         * src/w32.c (sys_read): Disable a debugging print that is normal
1361         when non-blocking reads are retried.
1363 2016-01-30  Martin Rudalics  <rudalics@gmx.at>
1365         ;Fix ChangeLog entry
1367 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
1369         Fix typos in Introduction to Emacs Lisp manual
1371         * doc/lispintro/emacs-lisp-intro.texi (Emacs Initialization)
1372         (kill-new function, Digression into C)
1373         (Complete forward-sentence, Divide and Conquer, Find a File)
1374         (lengths-list-many-files, Columns of a graph, defcustom)
1375         (recursive-count-words): Fix typos.  Reported by Daniel Bastos
1376         <dbastos@toledo.com>.
1378 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
1380         Bump version to 25.0.90
1382         * README:
1383         * configure.ac:
1384         * msdos/sed2v2.inp: Bump version to 25.0.90.
1386 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
1388         * etc/AUTHORS: Update the AUTHORS file
1390 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
1392         Bump version to 25.0.90
1394         * README:
1395         * configure.ac:
1396         * msdos/sed2v2.inp: Bump version to 25.0.90.
1398 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
1400         * etc/AUTHORS: Update the AUTHORS file
1402 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
1404         authors.el updates
1406         * admin/authors.el (authors-renamed-files-alist): Additions.
1408 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
1410         Make it possible to run make change-history on emacs-25
1412         * Makefile.in: Check if the current branch is emacs-25 instead of
1413           master.
1415 2016-01-30  lu4nx  <lx@shellcodes.org>
1417         Support Go language in 'etags'
1419         * lib-src/etags.c <Ruby_help>: Fix documentation of Ruby tags.
1420         <Go_help>: New help.
1421         <Go_suffixes>: New variable.
1422         (Go_functions): New function.
1423         <lang_names>: Add entry for Go.  (Bug#22370)
1425         * doc/emacs/maintaining.texi (Tag Syntax): Document Go support.
1426         * doc/man/etags.1: Mention Go support.
1428         * etc/NEWS: Mention Go support.
1430         * test/etags/go-src/test.go:
1431         * test/etags/go-src/test1.go: New test files.
1432         * test/etags/Makefile (GOSRC): New variable.
1433         (SRCS): Add $(GOSRC).
1434         * test/etags/ETAGS.good_1:
1435         * test/etags/ETAGS.good_2:
1436         * test/etags/ETAGS.good_3:
1437         * test/etags/ETAGS.good_4:
1438         * test/etags/ETAGS.good_5:
1439         * test/etags/ETAGS.good_6:
1440         * test/etags/CTAGS.good: Adapt to addition of Go tests.
1442 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
1444         Improve Ruby support in 'etags'
1446         * lib-src/etags.c (Ruby_functions): Tag constants.  Don't tag
1447         singleton classes.  Remove class qualifiers from tags generated
1448         for method and constant names.  (Bug#22241)
1450         * doc/emacs/maintaining.texi (Tag Syntax): Mention that constants
1451         are tagged by etags in Ruby.
1453         * etc/NEWS: Mention that constants are tagged by etags in Ruby.
1455         * test/etags/ruby-src/test1.ru: Add more tests.
1456         * test/etags/ETAGS.good_1:
1457         * test/etags/ETAGS.good_2:
1458         * test/etags/ETAGS.good_3:
1459         * test/etags/ETAGS.good_4:
1460         * test/etags/ETAGS.good_5:
1461         * test/etags/ETAGS.good_6:
1462         * test/etags/CTAGS.good: Adapt to the changes in etags and in Ruby
1463         tests.
1465 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
1467         Adjust etags test results to changes in copyright years
1469         * test/etags/CTAGS.good:
1470         * test/etags/ETAGS.good_1:
1471         * test/etags/ETAGS.good_2:
1472         * test/etags/ETAGS.good_3:
1473         * test/etags/ETAGS.good_4:
1474         * test/etags/ETAGS.good_5:
1475         * test/etags/ETAGS.good_6: Adjust to shift in characters and
1476         in line numbers.
1478 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
1480         Revert "Re-enable checks in member, memql, delete to complain about non-lists"
1482         This reverts commit f524e8b7f12d9b5a8b92084e5385429fe7b085b9.
1484 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
1486         Make it possible to run make change-history on emacs-25
1488         * Makefile.in: Check if the current branch is emacs-25 instead of
1489           master.
1491 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
1493         Don't fiddle with DEFAULT
1495         * lisp/progmodes/project.el (project--completing-read-strict):
1496         Don't change DEFAULT, whether is has any matches in
1497         COLLECTION, or not.
1499 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
1501         Document xwidget commands and functions
1503         * doc/lispref/display.texi (Xwidgets): New section, describes some
1504         of the xwidget primitives.
1505         * doc/lispref/display.texi (Display): Update the chapter menu.
1506         * doc/emacs/misc.texi (Embedded WebKit Widgets): New section.
1507         * doc/emacs/emacs.texi (Top): Update the master menu to include
1508         the xwidget node.
1510 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
1512         Build fix for shr.el
1514         * shr.el (seq): Require.
1516 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
1518         Improve project-find-file yet again!
1520         * lisp/progmodes/project.el (project--completing-read-strict):
1521         New function.
1522         (project-find-file-in): Use it.
1523         (project-file-completion-table): Move the default
1524         implementation inside the cl-defgeneric form.
1525         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01720.html)
1527 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
1529         Don't pass DIR to 'hg status'
1531         * lisp/vc/vc-hg.el (vc-hg-dir-status-files):
1532         Don't pass DIR to 'hg status' (bug#22481).
1534 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
1536         Fix typo in previous commits
1538         * lisp/progmodes/project.el (project-find-file-in):
1539         * lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): Fix typo in previous
1540         commit.
1542 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
1544         Improve project-find-file
1546         * lisp/progmodes/project.el (project-file-completion-table): New.
1547         (project-find-file, project-or-external-find-file): Default to filename
1548         at point.
1549         (project-file-completion-table): New, split out from
1550         project--find-file-in.
1551         (project-find-file-in): Renamed from project--find-file-in, use
1552         project-file-completion-table.
1554         * lisp/progmodes/xref.el (ede-minor-mode): New declaration.
1555         (xref--find-ignores-arguments): Add doc string.
1557 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
1559         Implement vc-mtn-find-ignore-file, fix some doc strings
1561         * lisp/cedet/cedet-global.el (cedet-gnu-global-root): Improve doc string.
1563         * lisp/cedet/ede/locate.el (initialize-instance): Improve doc string.
1565         * lisp/vc/vc-git.el (vc-git-find-ignore-file): Fix doc string.
1567         * lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): New function.
1569 2016-01-29  Vincent Belaïche  <vincentb1@users.sourceforge.net>
1571         Correct a whole bunch of bugs coming with renamed cell relocation.
1573         This is the same change as commit on master branch. See
1574         http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=badcd38aa86ed7973f2be2743c405710973a0bdd
1576         * lisp/ses.el (ses-localvars): rename variable
1577         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
1578         and adjust the comment about it.
1579         (ses-plist-delq): new defun.
1580         (ses--ses-buffer-list): new defvar.
1581         (ses--unbind-cell-name): new defun.
1582         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
1583         (ses-relocate-formula): Undo change of
1584         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
1585         preventing relocation for named cell --- now doing this is delegated
1586         to function `ses-relocate-symbol'.
1587         (ses-relocate-range): In docstring, undo change of
1588         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
1589         lower case as it is not a variable.
1590         (ses-relocate-all): Cell name relocation : 1) check that cell is a
1591         renamed cell by testing `ses-cell' property to :ses-named, rather than
1592         comparing name to corresponding standard name. Set rowcol of renamed
1593         cell into the hashmap --- `ses-cell' property must not be used for
1594         that as the same name can be used for different locations in different
1595         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
1596         `local-variable-p' to check if cell name is already in use in this
1597         sheet or needs initialization.
1598         (ses-relocate-all): Cell value relocation : 1) like for name
1599         relocation use the `ses-cell' property rather than comparing actual
1600         name to corresponding standard name. 2) Correct bug introduced in
1601         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
1602         made the other way round than the intention --- ie value relocation
1603         was disabled for standard cell, not for renamed cell as was the
1604         intention.
1605         (ses-relocate-all): Add loop for unbinding deleted renamed cells
1606         names.
1607         (ses-killbuffer-hook): new defun.
1608         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
1609         kill buffer hook, plus pushing current buffer if new in list.
1610         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
1611         into `ses--in-killing-named-cell-list'.
1612         (ses-rename-cell): Remove update of variable
1613         `ses--renamed-cell-symb-list', this variable is renamed to
1614         `ses--in-killing-named-cell-list', and its setting is done in
1615         functions `ses-delete-row' and , `ses-delete-column' now.
1616         (ses-rename-cell): Make cell new name a buffer local variable.
1617         (ses-rename-cell): Change correction of
1618         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
1619         computation of the range over which `cursor-intangible' property was
1620         to be updated. This correction was ok for non spilling cells, but not
1621         for cells spilling over following blank cells. Simply use
1622         `next-single-property-change' rather than computing the end column
1623         from column widths.
1625 2016-01-29  Andreas Schwab  <schwab@linux-m68k.org>
1627         Re-enable checks in member, memql, delete to complain about non-lists
1629         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
1631 2016-01-29  Martin Rudalics  <rudalics@gmx.at>
1633         Minor doc(-string) tweaks
1635         * lisp/window.el (window-in-direction): Fix doc-string typo.
1636         * doc/lispref/frames.texi (Frame Font): Mention canonical
1637         character width/height.
1638         * doc/lispref/windows.texi (Windows and Frames): Clarify
1639         handling of minibuffer window for `window-in-direction'.
1640         (Window Sizes): Minor tweaks in descriptions of
1641         `window-max-chars-per-line', `window-min-width' and
1642         `window-min-size'.
1643         (Deleting Windows): Minor tweak in `delete-window' description.
1644         (Selecting Windows): Clarify window use time description.
1645         (Cyclic Window Ordering): Minor tweak.
1646         (Switching Buffers): Clarify description of
1647         `switch-to-buffer-in-dedicated-window'.
1649 2016-01-29  Eli Zaretskii  <eliz@gnu.org>
1651         Minor improvements to 'pcase' documentation
1653         * doc/lispref/control.texi (Pattern matching case statement):
1654         Improve the documentation of 'pcase' per comments.  See two
1655         discussion threads on emacs-devel@gnu.org for the details:
1656         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01335.html
1657         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01336.html.
1659 2016-01-29  Glenn Morris  <rgm@gnu.org>
1661         Don't use eval to quieten prolog.el compilation.
1663         * lisp/progmodes/prolog.el (pltrace-on, pltrace-off): Declare.
1664         (prolog-enable-sicstus-sd, prolog-disable-sicstus-sd): Don't use eval.
1666 2016-01-29  Glenn Morris  <rgm@gnu.org>
1668         Mark some risky prolog variables.
1670         * lisp/progmodes/prolog.el (prolog-system-version)
1671         (prolog-keywords, prolog-types, prolog-mode-specificators)
1672         (prolog-determinism-specificators, prolog-directives)
1673         (prolog-program-name, prolog-program-switches)
1674         (prolog-consult-string, prolog-compile-string)
1675         (prolog-eof-string, prolog-prompt-regexp, prolog-help-function):
1676         Mark anything processed by prolog-find-value-by-system as risky.
1678 2016-01-28  Glenn Morris  <rgm@gnu.org>
1680         * lisp/custom.el (defcustom): Doc fix.
1682         * doc/lispref/customize.texi (Variable Definitions):
1683         Defcustom should always have a type.
1685 2016-01-28  Glenn Morris  <rgm@gnu.org>
1687         * lisp/cedet/semantic/db-file.el (semanticdb-persistent-path):
1688         Fix :type.
1690         * lisp/emacs-lisp/package.el (package-load-list): Improve :type.
1692 2016-01-28  Michael Albinus  <michael.albinus@gmx.de>
1694         Fix Bug#22452
1696         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
1697         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
1698         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
1699         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
1700         Mark it as connected.
1702         * lisp/net/tramp.el (tramp-handle-file-remote-p): Check also, if
1703         connection property "connected" is set.  (Bug#22452)
1705 2016-01-27  Glenn Morris  <rgm@gnu.org>
1707         * lisp/xwidget.el (xwidget-query-on-exit-flag): Declare.
1709         * lisp/xwidget.el (xwidget-webkit-browse-url): Give explicit error
1710         if not compiled with xwidgets.
1712 2016-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1714         C-u C-x = example doc fix
1716         * doc/emacs/mule.texi (International Chars):
1717         Adjust example to match current behavior of C-u C-x =.
1719 2016-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1721         malloc.h hygiene
1723         This attempts to future-proof Emacs a bit against possible glibc
1724         changes, by having Emacs use <malloc.h> declarations rather than
1725         coding them up by hand.  Problem noted by Florian Weimer in:
1726         https://sourceware.org/ml/libc-alpha/2016-01/msg00777.html
1727         Implement this mainly by moving malloc.h-related functions from
1728         emacs.c (which does not include <malloc.h>) to alloc.c (which does).
1729         * src/alloc.c (my_heap_start) [DOUG_LEA_MALLOC || GNU_LINUX]:
1730         New function.
1731         The remaining changes to this file apply only if DOUG_LEA_MALLOC.
1732         (alloc_unexec_pre, alloc_unexec_post): New functions.
1733         (malloc_initialize_hook): Use my_heap_start and alloc_unexec_post.
1734         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
1735         (__malloc_initialize_hook): Use it.
1736         (malloc_state_ptr, malloc_initialize_hook, __malloc_initialize_hook):
1737         Move here from ...
1738         * src/emacs.c: ... here.
1739         (malloc_get_state, malloc_set_state): Remove extern decls.
1740         (my_heap_start) [DOUG_LEA_MALLOC || GNU_LINUX]: Remove static var.
1741         All uses changed to similarly-named new function.
1742         (Fdump_emacs): Use new functions alloc_unexec_pre, alloc_unexec_post.
1743         * src/lisp.h (my_heap_start, alloc_unexec_pre, alloc_unexec_post):
1744         New decls.
1746 2016-01-26  Eli Zaretskii  <eliz@gnu.org>
1748         * doc/emacs/mark.texi (Using Region): Clarify wording.  (Bug#22467)
1750 2016-01-26  Paul Eggert  <eggert@cs.ucla.edu>
1752         Remove never-set var handle_user_signal_hook
1754         * src/keyboard.c, src/keyboard.h (handle_user_signal_hook):
1755         Remove never-set var.  All uses removed.
1757 2016-01-26  K. Handa  <handa@gnu.org>
1759         Backport:fix previous change of src/ftfont.c (ftfont_shape_by_flt)
1761         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
1762         second glyph only when there are enough glyphs.
1764         (cherry picked from commit 9835757013569673854b692ccbb58bfb3c3ed1f7)
1766 2016-01-26  K. Handa  <handa@gnu.org>
1768         support rendering of wider range of combinging characters by ftfont backend
1770         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
1771         supports rendering of combining characters, call
1772         font-shape-gstring.
1774         * src/font.c (Ffont_get): Handle `combining-capability' property.
1775         (syms_of_font): New symbol ":combining-capability'.
1777         * src/font.h (struct font_driver): New member combining_capability.
1779         * src/ftfont.c: Include "category.h".
1780         (ftfont_driver): Initialize combining_capability to
1781         ftfont_combining_capability.
1782         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
1783         FLT in advance.
1784         (ftfont_combining_capability): New function.
1786         (cherry picked from commit 536f48e9a2251b9e654ea974bd90ff2f40218753)
1788 2016-01-26  Anders Lindgren  <andlind@gmail.com>
1790         Fixed NextStep fullscreen issue (bug#22468)
1792         When in fullscreen mode, `[screen visibleFrame]' sometimes
1793         includes, sometimes excludes the menu bar. This could cause
1794         a frame to be placed too low when in fullscreen mode.
1796         * src/nsterm.m (ns_menu_bar_should_be_hidden): Trace.
1797         (constrain_frame_rect): New parameter, isFullscreen, when true don't
1798         query the height of the menu bar.
1799         (ns_constrain_all_frames): Pass `false' (isFullscreen) to
1800         `constrain_frame_rect'.
1801         ([EmacsView initFrameFromEmacs:]): Trace.
1802         ([EmacsView isFullscreen]): Trace.
1803         ([EmacsWindow constrainFrameRect:toScreen:]): Pass fullscreen
1804         state to `constrain_frame_rect'.
1806 2016-01-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1808         * lisp/files.el: Use a fixed file name for the second dir-locals file
1810         (dir-locals-file): Revert to its original fixed value.
1811         (dir-locals-file-2): New const.
1812         (dir-locals--all-files): Don't use `file-name-all-completions'.
1813         Instead, just check for the 2 dir-locals files and return a list
1814         of the ones that exit (if any).
1816         * etc/NEWS: Document the change.
1818         * doc/emacs/custom.texi (Directory Variables): Document the change.
1820         * doc/lispref/variables.texi (Directory Local Variables): Update
1821         accordingly.
1823 2016-01-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1825         * lisp/files-x.el (modify-dir-local-variable): Small rewrite
1827         Change a variable name to be more meaningful, and reorder some of
1828         the code with no change in behaviour.
1830 2016-01-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1832         * lisp/files.el (dir-locals-find-file): Refactor return values
1834         Returning a cache remains unchanged, but the case of returning a
1835         file (or pattern) is now changed to return the contaning
1836         directory.
1838         (dir-locals-read-from-file): Rename to `dir-locals-read-from-dir'
1839         and make obsolete.
1840         (dir-locals-read-from-dir): Simplify accordingly.
1841         (hack-dir-local-variables): Simplify accordingly and rename a
1842         variable.
1844 2016-01-26  Glenn Morris  <rgm@gnu.org>
1846         * lisp/textmodes/flyspell.el (flyspell--prev-meta-tab-binding):
1847         Declare.
1849         * configure.ac (USE_CAIRO): Rename to more standard HAVE_CAIRO.
1851         * configure.ac (--with-cairo): Say it's experimental.
1853         * lisp/xwidget.el (xwidget-webkit-scroll-behavior):
1854         Rename using American spelling.  Update all uses.
1856 2016-01-26  Glenn Morris  <rgm@gnu.org>
1858         Yet more xwidget doc fixes.
1860         * lisp/xwidget.el (xwidget-webkit-scroll-behaviour)
1861         (xwidget-insert, xwidget-webkit-browse-url)
1862         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down)
1863         (xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward)
1864         (xwidget-webkit-insert-string, xwidget-webkit-show-named-element)
1865         (xwidget-webkit-show-id-element)
1866         (xwidget-webkit-show-id-or-named-element)
1867         (xwidget-webkit-adjust-size, xwidget-webkit-current-url)
1868         (xwidget-webkit-execute-script-rv)
1869         (xwidget-webkit-copy-selection-as-kill, xwidget-get)
1870         (xwidget-put):  Doc fixes.
1871         (xwidget-webkit-insert-string, xwidget-webkit-show-named-element)
1872         (xwidget-webkit-show-id-element)
1873         (xwidget-webkit-show-id-or-named-element): Prompt fixes.
1875 2016-01-25  Ted Zlatanov  <tzz@lifelogs.com>
1877         * lisp/gnus/gnus-art.el (gnus-blocked-images):
1878         Add explicit nil choice and tags.
1880 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1882         Spelling fixes
1884 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1886         (font-lock-ensure-function): Fix bug#22399
1888         * lisp/font-lock.el (font-lock-ensure-function): Fix handling when
1889         font-lock-mode is not enabled (bug#22399).
1891 2016-01-25  Alan Mackenzie  <acm@muc.de>
1893         Expunge "allow" + infinitive from source and doc, part 2.
1895         Do the same for "permit", "enable", "prevent", and (where appropriate)
1896         "require".
1898         doc/misc/reftex.texi:
1899         doc/misc/url.texi:
1900         lib/get-permissions.c:
1901         lib/strftime.c:
1902         lisp/org/org-element.el:
1903         lisp/org/org-mobile.el:
1904         lisp/textmodes/reftex-vars.el:
1905         src/bidi.c:
1906         src/emacs.c:
1907         src/xdisp.c:
1908         test/etags/c-src/emacs/src/lisp.h:
1910         Expunge the likes of "This allows to do something" from the above files.
1912 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1914         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Redundant line
1916         `special-mode' is already read-only.
1918 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1920         * lisp/emacs-lisp/ert.el (ert--results-move): Change error to user-error
1922 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1924         Port "$@" to OpenIndiana ksh93
1926         In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html
1927         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
1928         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
1929         bug in long-dead shells, so remove the workaround.
1930         * admin/check-doc-strings, configure.ac, lib-src/rcs2log:
1931         Use plain "$@" rather than ${1+"$@"}.
1933 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1935         * src/xwidget.c (Fxwidget_set_adjustment): Fix doc string quoting typo.
1937 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1939         Improve wording for SMB support
1941         * doc/misc/tramp.texi (External methods): Improve and modernize
1942         wording for discussion of smbclient.  There is no longer any
1943         need to mention the laundry list of old MS Windows implementations
1944         of SMB and CIFS, nor to mention CIFS.  Also, give a URL for Samba.
1946 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1948         Merge from gnulib
1950         This incorporates:
1951         2016-01-24 openat_proc_name: fix last '/' overwritten on OS/2 kLIBC
1952         2016-01-24 closedir, dirfd, opendir: port to OpenSolaris 5.10
1953         2016-01-15 detect utimes() correctly on OS/2 kLIBC
1954         2016-01-15 openat_proc_name: port to OS/2 kLIBC
1955         2016-01-14 stdint: check _INTPTR_T_DECLARED for intptr_t etc.
1956         2016-01-14 opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
1957         2016-01-14 dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
1958         2016-01-14 binary-io: don't put fd in binary mode if a console on EMX
1959         2016-01-14 sig2str: list all signals on FreeBSD >= 7
1960         2016-01-13 acl-permissions: port to USE_ACL==0 platforms
1961         2016-01-12 mktime: rename macro to avoid glibc clash
1962         2016-01-12 Port "$@" to OpenIndiana ksh93
1963         2016-01-12 Port Universal Time settings to strict POSIX
1964         * build-aux/gitlog-to-changelog, build-aux/update-copyright:
1965         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
1966         * lib/binary-io.h, lib/dirent.in.h, lib/dirfd.c, lib/dup2.c:
1967         * lib/fcntl.c, lib/fdopendir.c, lib/mktime.c, lib/openat-proc.c:
1968         * lib/sig2str.h, lib/stdint.in.h, m4/dirfd.m4, m4/dup2.m4:
1969         * m4/fcntl.m4, m4/utimes.m4:
1970         Copy from gnulib.
1971         * m4/gnulib-comp.m4: Regenerate.
1973 2016-01-24  Alan Mackenzie  <acm@muc.de>
1975         Expunge "allow" + infinitive without direct object from source and doc.
1977         Do the same for "permit", "enable", and "prevent".
1979         * doc/emacs/mule.texi:
1980         * doc/lispref/control.texi:
1981         * doc/lispref/display.texi:
1982         * doc/lispref/frames.texi:
1983         * doc/lispref/functions.texi:
1984         * doc/lispref/nonascii.texi:
1985         * doc/lispref/streams.texi:
1986         * doc/lispref/windows.texi:
1987         * doc/misc/dbus.texi:
1988         * doc/misc/eww.texi:
1989         * doc/misc/flymake.texi:
1990         * doc/misc/octave-mode.texi:
1991         * doc/misc/org.texi:
1992         * doc/misc/reftex.texi:
1993         * doc/misc/tramp.texi:
1994         * doc/misc/wisent.texi:
1995         * etc/NEWS:
1996         * lisp/autorevert.el:
1997         * lisp/cedet/mode-local.el:
1998         * lisp/cedet/semantic/senator.el:
1999         * lisp/cedet/semantic/wisent.el:
2000         * lisp/dos-fns.el:
2001         * lisp/frameset.el:
2002         * lisp/gnus/gnus-agent.el:
2003         * lisp/gnus/mm-util.el:
2004         * lisp/international/characters.el:
2005         * lisp/ldefs-boot.el:
2006         * lisp/mail/mailclient.el:
2007         * lisp/man.el:
2008         * lisp/mh-e/mh-search.el:
2009         * lisp/net/tramp-cmds.el:
2010         * lisp/net/tramp-gvfs.el:
2011         * lisp/org/org-crypt.el:
2012         * lisp/org/org-element.el:
2013         * lisp/org/org-feed.el:
2014         * lisp/org/org.el:
2015         * lisp/org/ox-ascii.el:
2016         * lisp/org/ox-icalendar.el:
2017         * lisp/org/ox-publish.el:
2018         * lisp/org/ox.el:
2019         * lisp/play/gamegrid.el:
2020         * lisp/play/gomoku.el:
2021         * lisp/progmodes/antlr-mode.el:
2022         * lisp/progmodes/python.el:
2023         * lisp/progmodes/vhdl-mode.el:
2024         * lisp/strokes.el:
2025         * lisp/textmodes/ispell.el:
2026         * lisp/tree-widget.el:
2027         * lisp/vc/pcvs.el:
2028         * lisp/window.el:
2029         * src/lisp.h:
2030         * src/w32.c:
2031         * src/w32heap.c:
2032         * src/w32term.c:
2033         * src/window.c:
2034         * src/xfaces.c:
2036         Replace solecisms like "This allow to do something" with a correct
2037         alternative, such as "This allow you to do something", "This allows
2038         something to be done" or "This allows the doing of something".
2040 2016-01-24  l3thal  <kwhite@gnu.org>
2042         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
2044 2016-01-24  Kelvin White  <kwhite@gnu.org>
2046         Add NEWS entry for asynchronous reconnect in ERC
2048 2016-01-24  l3thal  <kwhite@gnu.org>
2050         Add NEWS entry for asynchronous reconnect in ERC
2052 2016-01-24  Kelvin White  <kwhite@gnu.org>
2054         browse-url.el: Add 'google-chrome' to supported browsers.
2056 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
2058         Port Tramp manual to latest Texinfo
2060         Otherwise, 'make pdf' did not work (Bug#22416).
2061         * doc/misc/tramp.texi (xxx, yyy): Remove macros.
2062         (trampfn): Specialize to the case where METHOD is nonempty.
2063         The 2nd argument is now user@host, not 2nd user and 3rd host args.
2064         All uses changed.
2065         (trampf): New macro.
2067 2016-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
2069         * eww.el (eww-render): Protect against empty content-types.
2071 2016-01-24  Nicolas Petton  <nicolas@petton.fr>
2073         authors.el updates
2075         * admin/authors.el (authors-ignored-files, authors-renamed-files-alist):
2076           Additions.
2078 2016-01-24  Dmitry Gutov  <dgutov@yandex.ru>
2080         Rename xref-query-replace to xref-query-replace-in-results
2082         * lisp/progmodes/xref.el(xref-query-replace):
2083         Rename to xref-query-replace-in-results.
2084         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01240.html)
2086         * lisp/progmodes/xref.el (xref--xref-buffer-mode-map):
2087         * lisp/dired-aux.el (dired-do-find-regexp-and-replace):
2088         * doc/emacs/dired.texi (Operating on Files):
2089         * doc/emacs/maintaining.texi (Xref Commands)
2090         (Identifier Search, Identifier Search): Update accordingly.
2092 2016-01-24  Dmitry Gutov  <dgutov@yandex.ru>
2094         Update cl-defgeneric and cl-defmethod docstrings
2096         * lisp/emacs-lisp/cl-generic.el: Remove outdated TODO item.
2097         (cl-defgeneric): Rename BODY to DEFAULT-BODY.
2098         (cl-defmethod): Mention that multiple dispatch arguments are
2099         allowed.  Document supported types.  (Bug#22336)
2101 2016-01-23  Dmitry Gutov  <dgutov@yandex.ru>
2103         Comment out next-error-function integration in xref
2105         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
2106         Comment out next-error-function integration
2107         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01286.html).
2109 2016-01-23  John Wiegley  <johnw@newartisans.com>
2111         Correct a use of "which" in intro.texi
2113 2016-01-23  Alan Mackenzie  <acm@muc.de>
2115         Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
2117         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 14): Check the
2118         context of case labels (including "default") more rigorously.
2119         (c-guess-basic-syntax CASE 15): Consequential amendment.
2121         * lisp/progmodes/cc-langs.el (c-modifier-kwds): Add "default" to Java's value.
2123 2016-01-23  Oscar Fuentes  <ofv@wanadoo.es>
2125         Don't operate on menu bar of nonexistent frame
2127         * src/xfns.c (Fx_hide_tip) [USE_LUCID]: Check that the current frame
2128         is valid before redisplaying its menu. Fixes bug#22438.
2130 2016-01-23  Anders Lindgren  <andlind@gmail.com>
2132         Unbreak the GNUstep build.
2134         * src/nsterm.m ([EmacsBell init]): In GNUstep, don't use the
2135         predefined "caution" image. Add trace.
2136         (x_set_window_size): Remove unused variables `cols' and `rows'.
2137         (ns_draw_fringe_bitmap): Exclude assignment of `fromRect' when
2138         GNUstep is used.
2139         ([EmacsView updateFrameSize:]): Remove unused variable `win'.
2140         ([EmacsWindow zoom:]): Remove unused variable `f'.
2142 2016-01-23  Eli Zaretskii  <eliz@gnu.org>
2143             John Wiegley  <johnw@gnu.org>
2144             Michael Heerdegen  <michael_heerdegen@web.de>
2146         Improve documentation of 'pcase'
2148         * doc/lispref/control.texi (Pattern matching case statement):
2149         Reorganize, expand, and improve wording.
2151         * etc/NEWS: Mention that 'pcase' changes are documented.
2153 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2155         * etc/NEWS: Say that Cairo is experimental.
2157 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2159         Report error for PNG under Cairo
2161         * src/image.c (lookup_rgb_color): Signal a file error instead
2162         of dumping core when mishandling an image.
2164 2016-01-23  Arash Esbati  <esbati@gmx.de>
2166         Delete a spurious backquote (tiny change)
2168         * lisp/textmodes/reftex-ref.el (reftex-label): Delete a
2169         spurious backquote which raises an error with emacs 25.
2171 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2173         Pacify --enable-gcc-warnings --with-cairo
2175         Problem reported by Alexander Kuleshov in:
2176         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01289.html
2177         * src/gtkutil.c (xg_get_page_setup):
2178         Use switch rather than if-then-else.
2179         * src/image.c (COLOR_TABLE_SUPPORT):
2180         Define directly rather than via #define and optional later #undef.
2181         (lookup_rgb_color) [USE_CAIRO && ENABLE_CHECKING]:
2182         Crash when the pixel is undefined, as there is a genuine bug
2183         here (Bug#22442).
2184         * src/image.c (tiff_load, gif_load, svg_load_image)
2185         (x_kill_gs_process) [USE_CAIRO]:
2186         * src/xterm.c (x_draw_fringe_bitmap) [USE_CAIRO]:
2187         Omit unused locals, or move them to where they’re needed.
2188         (x_clear_area1): Now ATTRIBUTE_UNUSED.
2190 2016-01-23  Eli Zaretskii  <eliz@gnu.org>
2192         Update documentation for Dired search and replace
2194         * doc/emacs/dired.texi (Operating on Files): Update descriptions
2195         of 'A' and 'Q' now bound to 'dired-do-find-regexp' and
2196         'dired-do-find-regexp-and-replace'.
2198         * etc/NEWS: Mention xref-related changes in Dired.
2200 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2202         Port recent xdisp.c fix to picky C compilers
2204         * src/xdisp.c (dump_glyph): Redo the call to fprintf to avoid
2205         putting #if inside the arguments to a standard function, which
2206         the C standard says has undefined behavior.
2208 2016-01-22  Alan Mackenzie  <acm@muc.de>
2210         Prevent spurious recognition of K&R argument declarations.  Fixes bug #2203
2212         * lisp/progmodes/cc-engine.el (c-forward-declarator): New function.
2213         (c-in-knr-argdecl): Before recognizing a K&R argument declaration, check it is
2214         contained in the preceding arg list.
2216         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Use the new function
2217         `c-forward-declarator' in place of inline code.
2219 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
2221         Fix the build with --enable-checking=glyphs
2223         * src/xdisp.c (dump_glyph): Don't refer to glyph->u.xwidget in a
2224         build without xwidget support.
2226 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
2228         Document cl-generic.el
2230         * doc/lispref/functions.texi (Generic Functions): New section.
2231         (Bug#22336)
2232         (Functions): Update the chapter menu.
2233         * doc/lispref/elisp.texi: Update the master menu.
2235 2016-01-22  Paul Eggert  <eggert@cs.ucla.edu>
2237         xwidgets style cleanup
2239         Adjust the newly-added Xwidgets code so that it uses a more-typical
2240         Emacs style.  This should not affect behavior, except that in
2241         a few places it adds runtime checks that Lisp arguments are of
2242         the proper type, and in one place it uses more-precise arithmetic.
2243         * src/buffer.c, src/dispnew.c, src/emacs.c, src/emacsgtkfixed.c:
2244         * src/emacs.c, src/print.c, src/window.c, src/xdisp.c, src/xterm.c:
2245         Include xwidget.h unconditionally.
2246         * src/buffer.c (Fkill_buffer):
2247         * src/dispnew.c (update_window):
2248         * src/emacs.c (main):
2249         * src/print.c (print_object):
2250         * src/window.c (Fdelete_window_internal):
2251         * src/xdisp.c (handle_single_display_spec, push_it, pop_it)
2252         (get_next_element, set_iterator_to_next, next_element_from_xwidget)
2253         (dump_glyph, calc_pixel_width_or_height, BUILD_GLYPH_STRINGS_XW)
2254         (BUILD_GLYPH_STRINGS, x_produce_glyphs, get_window_cursor_type):
2255         * src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
2256         Call xwidget functions and macros without worrying about
2257         HAVE_XWIDGETS when the code is a no-op on non-xwidget
2258         platforms.
2259         * src/dispextern.h (XWIDGET_GLYPH, struct glyph_string.xwidget)
2260         (IT_XWIDGET, GET_FROM_XWIDGET, struct it.u.xwidget)
2261         (struct it.xwidget):
2262         * src/lisp.h (PVEC_XWIDGET, PVEC_XWIDGET_VIEW):
2263         Always define.
2264         * src/emacsgtkfixed.h: Omit unnecessary comment.
2265         * src/keyboard.c: Fix spacing.
2266         * src/xdisp.c (BUILD_XWIDGET_GLYPH_STRING, produce_xwidget_glyph):
2267         Define to be a no-op if not HAVE_XWIDGETS.
2268         * src/xwidget.c: Include xwidget.h first (after config.h)
2269         to make sure that it can stand by itself.
2270         (Fmake_xwidget, Fxwidget_webkit_execute_script):
2271         Fix typo in doc string.
2272         (Fmake_xwidget): Check type of args.
2273         (Fmake_xwidget, offscreen_damage_event)
2274         (webkit_document_load_finished_cb, webkit_download_cb)
2275         (webkit_new_window_policy_decision_requested_cb)
2276         (webkit_navigation_policy_decision_requested_cb)
2277         (xwidget_osr_draw_cb, xwidget_osr_event_forward)
2278         (xwidget_osr_event_set_embedder, xwidget_init_view):
2279         Omit unnecessary casts.
2280         * src/xwidget.c (Fmake_xwidget, xwidget_hidden)
2281         (xwidget_show_view, xwidget_hide_view)
2282         (x_draw_xwidget_glyph_string, xwidget_start_redisplay, xwidget_touch)
2283         (xwidget_touched):
2284         * src/xwidget.h (struct xwidget.kill_without_query)
2285         (struct xwidget_view.redisplayed, struct xwidget_view.hidden):
2286         Use bool for boolean.
2287         * src/xwidget.c (store_xwidget_event_string, Fxwidget_size_request):
2288         Simplify by using list functions.
2289         (WEBKIT_FN_INIT): Omit unnecessary test for nil.
2290         (Fxwidget_resize): Check type of integer args
2291         before doing any work.  Check that they are nonnegative.
2292         (Fxwidget_set_adjustment): Check type of integer arg.
2293         Avoid redundant call to gtk_scrolled_window_get_vadjustment.
2294         Simplify.  Use double, not float.
2295         (Fxwidget_info, Fxwidget_view_info): Simplify by using CALLN.
2296         (valid_xwidget_spec_p): Simplify.
2297         (xwidget_spec_value): Omit unused arg FOUND.  All callers changed.
2298         * src/xwidget.h: Include lisp.h first, so that includers do
2299         not need to worry about doing that before including this file.
2300         Make this .h file safe to include even on non-HAVE_XWIDGETS
2301         configurations, to simplify the includers.
2302         (x_draw_xwidget_glyph_string, syms_of_xwidget, valid_xwidget_spec_p)
2303         (xwidget_end_redisplay, lookup_xwidget)
2304         (xwidget_view_delete_all_in_window, kill_buffer_xwidgets):
2305         Now a no-op if !HAVE_XWIDGETS, to simplify callers.
2306         (struct glyph_matrix, struct glyph_string, struct xwidget)
2307         (struct xwidget_view, struct window):
2308         New forward or incomplete decls, so that includers need not
2309         assume the corresponding .h files are already included, or that
2310         HAVE_XWIDGETS is defined.
2311         (struct xwidget_type, xwidget_from_id): Remove; unused.
2313 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
2315         Backport kqueue integration from master
2317         * configure.ac (--with-file-notification): Add kqueue.
2318         (top): Remove special test for "${HAVE_NS}" and
2319         ${with_file_notification}, this is handled inside gfilenotify
2320         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
2321         instead of library specific variables.  Add error message for
2322         gfile on Nextstep.
2324         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
2325         Fix some glitches in the example.
2327         * etc/NEWS: Mention kqueue.
2329         * lisp/filenotify.el (file-notify--library)
2330         (file-notify-descriptors, file-notify-callback)
2331         (file-notify-add-watch, file-notify-rm-watch)
2332         (file-notify-valid-p): Add kqueue support.
2333         (file-notify--rm-descriptor): Remove WHAT arg.
2335         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
2337         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
2339         * src/inotify.c (inotifyevent_to_event): Extract file name from
2340         watch_object if the event doesn't provide it.
2341         (Finotify_add_watch): Add file name to watch_object.
2343         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
2345         * src/kqueue.c: New file.
2347         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
2349         * test/automated/file-notify-tests.el
2350         (file-notify--test-expected-events): Remove.
2351         (file-notify--test-cleanup): Do not set that variable.
2352         (file-notify--test-timeout) Use different timeouts for
2353         different libraries.
2354         (file-notify--test-library): New defun.
2355         (file-notify--test-event-test): Make stronger checks.
2356         (file-notify--test-with-events): EVENTS can also be a list of
2357         lists.  Flush outstanding events before running the body.
2358         Make timeout heuristically depend on the number of events.
2359         (file-notify-test01-add-watch, file-notify-test02-events)
2360         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
2361         Rewrite in order to call file monitors but directory monitors.
2362         (file-notify-test02-events, file-notify-test04-file-validity): Do
2363         not skip cygwin tests.  Add additional test for file creation.
2364         Adapt expected result for different backends.
2365         (file-notify-test03-autorevert): Some of the tests don't work for
2366         w32notify.
2367         (file-notify-test06-many-events): New test.
2369 2016-01-22  John Wiegley  <johnw@newartisans.com>
2371         Further corrections to the pcase docstring
2373 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
2375         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 25.
2377 2016-01-22  Stephen Leake  <stephen_leake@stephe-leake.org>
2379         In xref-collect-references, force backends to respect the 'dir' arg
2381         * lisp/progmodes/xref.el (xref-collect-references): Force symref backends
2382         to use `default-directory'.
2384 2016-01-22  John Wiegley  <johnw@newartisans.com>
2386         Minor correction to pcase docstring
2388 2016-01-22  John Wiegley  <johnw@newartisans.com>
2390         Write a new docstring for the pcase macro
2392         * lisp/emacs-lisp/pcase.el (pcase): Write a new docstring.
2394 2016-01-21  Stephen Berman  <stephen.berman@gmx.net>
2396         Avoid byte-compiler warning in todo-mode (bug#21953)
2398         * lisp/calendar/todo-mode.el (todo-convert-legacy-files): Add limit argument
2399         to looking-back to comply with advertised-calling-convention.
2401 2016-01-21  Stephen Berman  <stephen.berman@gmx.net>
2403         Fix desktop support in todo-mode and doc-view (bug#22377)
2405         * lisp/calendar/todo-mode.el (todo-restore-desktop-buffer):
2406         * lisp/doc-view.el (doc-view-restore-desktop-buffer): Return current buffer.
2408         * lisp/calendar/todo-mode.el (todo-modes-set-2):
2409         * lisp/doc-view.el (doc-view-mode): Set desktop-save-buffer unconditionally.
2411 2016-01-21  Paul Eggert  <eggert@cs.ucla.edu>
2413         No need to configure gobject-introspection
2415         It wasn’t needed for the recently-installed xwidget_mvp code; see:
2416         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01154.html
2417         * configure.ac (DOES_XWIDGETS_USE_GIR, GIR_REQUIRED, GIR_MODULES):
2418         (HAVE_GIR):
2419         * src/Makefile.in (GIR_LIBS, GIR_CFLAGS):
2420         Remove.  All uses removed.
2421         * configure.ac (emacs_config_features): Don’t worry about GIR.
2423 2016-01-20  Paul Eggert  <eggert@cs.ucla.edu>
2425         Don’t export C symbols not used elsewhere
2427         These were recently added, mostly as part of xwidget code.
2428         * src/emacsgtkfixed.c (emacs_fixed_get_type): Now static.
2429         (EMACS_FIXED, EMACS_FIXED_GET_CLASS):
2430         Now static functions here, not macros in emacsgtkfixed.h.
2431         * src/emacsgtkfixed.h (EMACS_TYPE_FIXED):
2432         Remove.  All uses replaced by definiens.
2433         (EMACS_FIXED, EMACS_FIXED_GET_CLASS):
2434         Remove; these are now static functions in emacsgtkfixed.c.
2435         (EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS):
2436         Remove; unused.
2437         (emacs_fixed_get_type): Remove decl; no longer extern.
2438         * src/xwidget.c (offscreen_damage_event)
2439         (webkit_mime_type_policy_typedecision_requested_cb)
2440         (webkit_new_window_policy_decision_requested_cb)
2441         (webkit_navigation_policy_decision_requested_cb)
2442         (xwidget_spec_value, xwidget_view_lookup)
2443         (xwidget_start_redisplay, xwidget_touch):
2444         Now static.
2445         * src/xwidget.h (xwidget_start_redisplay, xwidget_touch):
2446         Remove decls.
2448 2016-01-20  Dmitry Gutov  <dgutov@yandex.ru>
2450         Support squiggly heredocs in ruby-mode
2452         * lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re):
2453         Support squiggly heredocs added in Ruby 2.3.
2455         * test/indent/ruby.rb: Add squiggly example.
2457 2016-01-20  Glenn Morris  <rgm@gnu.org>
2459         * configure.ac (emacs_config_features): Remove WEBKIT.
2461 2016-01-20  Paul Eggert  <eggert@cs.ucla.edu>
2463         Port to platforms with gtk3 but not webkitgtk3
2465         I ran into this problem on my Fedora 23 installation;
2466         Emacs configured but did not build when --with-xwidgets was specified.
2467         * configure.ac (HAVE_WEBKIT, HAVE_GIR): Omit unnecessary initializations.
2468         (DOES_XWIDGETS_USE_GIR): New var.
2469         If --with-xwidgets is specified, report an error if not
2470         doable, to be consistent with the other --with options.
2471         Require webkitgtk3 to use Xwidgets, as the Xwidgets code does
2472         not work at all without webkitgtk3.  Simplify use of
2473         EMACS_CHECK_MODULES.  Output message about gobject
2474         introspection only if xwidgets are used.
2475         * etc/NEWS: Users need webkitgtk3, not merely webkit.
2476         * src/xwidget.c (syms_of_xwidget): Don’t worry about HAVE_WEBKIT_OSR,
2477         since this file is no longer compiled if webkitgtk3 is not available.
2479 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
2481         Fix doc string of 'isearch-search-fun-function'
2483         * lisp/isearch.el (isearch-search-fun-function)
2484         (isearch-search-string): Doc fixes.  (Bug#22411)
2486 2016-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
2488         * lisp/xwidget.el: Nitpicks
2490         * lisp/xwidget.el (xwidget-log, xwidget-webkit-callback):
2491         Use with-current-buffer rather than save-excursion + set-buffer.
2493 2016-01-20  Glenn Morris  <rgm@gnu.org>
2495         Don't hard-code 1 as point-min.
2497         * lisp/image-mode.el (image-display-size):
2498         * lisp/xwidget.el (xwidget-webkit-last-session)
2499         (xwidget-webkit-current-session): Don't hard-code 1 as point-min.
2501 2016-01-20  Glenn Morris  <rgm@gnu.org>
2503         * lisp/xwidget.el: Add declarations to silence non-xwidget compilation.
2505 2016-01-20  Glenn Morris  <rgm@gnu.org>
2507         Trivial doc copyedits.
2509         * src/xwidget.c (Fmake_xwidget, Fget_buffer_xwidgets)
2510         (Fxwidget_webkit_get_title, Fxwidget_resize)
2511         (Fxwidget_set_adjustment, Fxwidgetp, Fxwidget_view_p)
2512         (Fxwidget_info, Fxwidget_view_lookup)
2513         (Fset_xwidget_query_on_exit_flag): Trivial doc copyedits.
2515 2016-01-20  Glenn Morris  <rgm@gnu.org>
2517         Avoid advising image-display-size for xwidgets.
2519         * lisp/xwidget.el (xwidget-image-display-size): Remove.
2520         (image-display-size): Remove advice.
2521         * lisp/image-mode.el (xwidget-info, xwidget-at): Declare.
2522         (image-display-size): Incorporate xwidget code directly.
2524 2016-01-20  Glenn Morris  <rgm@gnu.org>
2526         Avoid breaking non-xwidget Emacs that happen to load xwidget.el.
2528         * lisp/xwidget.el (window-configuration-change-hook)
2529         (kill-buffer-query-functions): Only modify these hooks if
2530         compiled with xwidget support.
2532 2016-01-20  Glenn Morris  <rgm@gnu.org>
2534         * lisp/xwidget.el (xwidget-webkit-scroll-behaviour): Fix custom spec.
2536 2016-01-19  Glenn Morris  <rgm@gnu.org>
2538         * configure.ac (WEBKIT, GIR, CAIRO): Use EMACS_CHECK_MODULES, not PKG_.
2540         * configure.ac (emacs_config_features): Add XWIDGETS, WEBKIT, GIR.
2542         * configure.ac (HAVE_WEBKIT_OSR): Remove broken, duplicated gtk3 test.
2544 2016-01-19  Katsumi Yamaoka  <yamaoka@jpl.org>
2546         * lisp/gnus/nnir.el (nnir-request-update-mark):
2547         Default to the original mark.
2548         cf. <http://thread.gmane.org/gmane.emacs.gnus.general/86583>
2549         and <http://thread.gmane.org/gmane.emacs.gnus.general/86640>
2551 2016-01-19  Glenn Morris  <rgm@gnu.org>
2553         * lisp/xwidget.el (report-xwidget-bug): Remove.
2555         (top-level): No longer require reporter.
2557 2016-01-19  Joakim Verona  <joakim@verona.se>
2558             Grégoire Jadi  <daimrod@gmail.com>
2560         Support for the new Xwidget feature.
2562         * configure.ac:
2563         (HAVE_XWIDGETS, WIDGET_OBJ, EMACS_CONFIG_FEATURES):
2564         * src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
2565         * src/xdisp.c:
2566         (handle_display_spec, handle_single_display_spec, push_it)
2567         (pop_it, set_iterator_to_next, dump_glyph)
2568         (calc_pixel_width_or_height, fill_xwidget_glyph_string)
2569         (BUILD_XWIDGET_GLYPH_STRING, BUILD_GLYPH_STRINGS)
2570         (produce_xwidget_glyph, x_produce_glyphs)
2571         (get_window_cursor_type):
2572         * src/window.c (Fdelete_window_internal):
2573         * src/termhooks.h (e):
2574         * src/print.c (print_object):
2575         * src/lisp.h (ptrdiff_t):
2576         * src/keyboard.c (kbd_buffer_get_event, make_lispy_event)
2577         (syms_of_keyboard):
2578         * src/emacs.c (main):
2579         * src/dispnew.c (update_window, scrolling_window):
2580         * src/dispextern.h (g, i):
2581         * Makefile.in (XWIDGETS_OBJ, WEBKIT_CFLAGS, WEBKIT_LIBS)
2582         (GIR_LIBS, ALL_CFLAGS, base_obj, LIBES):
2583         * src/keyboard.c (kbd_buffer_get_event):
2584         * src/emacsgtkfixed.c (emacs_fixed_gtk_widget_size_allocate)
2585         (emacs_fixed_class_init): Add case for an xwidget view.
2587         * src/xwidget.c, src/xwidget.h, lisp/xwidget.el: New files for xwidgets
2590         Various improvements to the Xwidget feature.
2591         * src/xwidget.c:
2592         * src/emacsgtkfixed.c:
2593         * lisp/xwidget.el:
2595 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
2597         Improve documentation of 'alist-get'
2599         * doc/lispref/variables.texi (Setting Generalized Variables): Add
2600         'alist-get' to the list of functions that can appear in PLACE
2601         argument of 'setf'.
2603 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
2605         Minor copyedits of doc/emacs/maintaining.texi
2607         * doc/emacs/maintaining.texi (List Identifiers): More accurate
2608         description of "C-M-i" wrt tags tables.
2609         (Tags Tables): Move the definition of "tag" to a footnote.
2611 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
2613         Unbreak the Cygwin-w32 build
2615         * src/w32fns.c (globals_of_w32fns): Move the initialization of
2616         resetstkoflw into a part that isn't compiled on Cygwin.
2617         (Bug#22403)
2619 2016-01-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2621         * shr.el (shr-table-body): Allow tables to have text children.
2623 2016-01-19  Phillip Lord  <phillip.lord@russet.org.uk>
2625         Cope with multiple overlapping faces.
2627         * lisp/htmlfontify.el (hfy-face-to-style-i): Treat inheritance right to
2628           left.
2629           (hfy-face-resolve-face): Handle font specification as well as font
2630           name. Documentation update. (Bug#21990)
2632 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2634         Fix spurious escapes in describe-input-method
2636         Problem reported by Vincent Belaïche (Bug#22309).
2637         * lisp/international/mule-cmds.el (describe-language-environment):
2638         * lisp/international/quail.el (quail-help):
2639         Apply substitute-command-keys to doc strings before displaying them.
2641 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2643         Minor improvements to (random t) documentation
2645         * doc/lispref/numbers.texi (Random Numbers):
2646         * src/fns.c (Frandom):
2647         Omit unnecessary details about randomness fallback.
2648         Say that it is a fallback.
2650 2016-01-19  Dmitry Gutov  <dgutov@yandex.ru>
2652         Rename methods in Ruby etags example file
2654         * test/etags/ruby-src/test.rb: Rename the example methods to
2655         correspond to the common terminology used in Ruby.
2656         * test/etags/CTAGS.good:
2657         * test/etags/ETAGS.good_1:
2658         * test/etags/ETAGS.good_2:
2659         * test/etags/ETAGS.good_3:
2660         * test/etags/ETAGS.good_4:
2661         * test/etags/ETAGS.good_5:
2662         * test/etags/ETAGS.good_6: Adjust accordingly.
2664 2016-01-19  Dmitry Gutov  <dgutov@yandex.ru>
2666         Propertize backtick in 'def `(abc)' as symbol constituent
2668         * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
2669         Propertize backtick in 'def `(abc)' as symbol constituent.
2670         (ruby-syntax-propertize-function):
2671         Rename to ruby-syntax-propertize.
2673 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
2675         Fix scrolling under scroll-preserve-screen-position on TTY
2677         * src/window.c (window_scroll_line_based): When setting point to
2678         preserve screen coordinates, don't let cursor enter either of the
2679         two scroll margins.  (Bug#22395)
2681 2016-01-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2683         Fix shr table rendering of nested tables
2685         * shr.el (shr-table-body): Don't include all tbodies in nested
2686         tables in the levels above.
2688 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
2690         * lisp/progmodes/project.el (project--read-regexp): Quote the identifier.
2692 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
2694         Add xref-based replacements for Dired search commands
2696         * lisp/dired-aux.el (dired-do-find-regexp)
2697         (dired-do-find-regexp-and-replace): New commands.
2698         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00864.html
2700         * lisp/dired.el (dired-mode-map): Change bindings for `A' and
2701         `Q' to the new commands.
2703         * lisp/progmodes/xref.el (xref-query-replace)
2704         (xref-collect-matches): Add progress reporters.
2705         (xref--find-ignores-arguments): Return nil for zero ignores.
2706         (xref--show-xrefs): Add an optional argument.
2707         (xref-collect-matches): Drop the assert.  'find' accepts a
2708         regular file in place of directory argument, too.
2710 2016-01-18  Alan Mackenzie  <acm@muc.de>
2712         * doc/lispref/frames.texi (Position Parameters): Say they don't exist on TTYs.
2714 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
2716         Improve user documentation of Xref
2718         * doc/emacs/maintaining.texi (Xref, Find Identifiers)
2719         (Looking Up Identifiers, Identifier Search, List Identifiers):
2720         Adjudicate comments by Dmitry Gutov <dgutov@yandex.ru>.  See
2721         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00650.html
2722         for the details.
2724 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
2726         Fix scrolling under scroll-preserve-screen-position and margins
2728         * src/window.c (window_scroll_pixel_based): When setting point to
2729         preserve screen coordinates, don't let cursor enter either of the
2730         two scroll margins.  Fix incorrect usage of
2731         WINDOW_WANTS_HEADER_LINE_P and use WINDOW_HEADER_LINE_HEIGHT
2732         instead of CURRENT_HEADER_LINE_HEIGHT.  (Bug#22395)
2734 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
2736         Unbreak the MS-Windows build
2738         * src/sysdep.c (emacs_gnutls_global_init, gnutls_rnd): Disable for
2739         WINDOWSNT, to avoid link failure.  (Bug#22202)
2741 2016-01-18  Alan Mackenzie  <acm@muc.de>
2743         Desktop: protect users against inadvertant upgrading of desktop file.
2745         An upgraded (version 208) desktop file cannot be read in Emacs < 25.
2747         * etc/NEWS: Add an entry about upgrading a desktop file.
2749         * lisp/desktop.el (desktop-file-version): Amend doc string.
2750         (desktop-native-file-version, desktop-io-file-version): new variables.
2751         (desktop-clear): Set desktop-io-file-version to nil.
2752         (desktop-buffer-info): make the presence of the last item on the list
2753         conditional on (>= desktop-io-file-version 208).
2754         (desktop-save): Add extra parameter VERSION to take user's C-u or C-u C-u.
2755         Amend the doc string.  Add code to determine the output file version.
2756         (desktop-create-buffer): Set desktop-io-file-version to the input file's
2757         version.
2759 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
2761         Initialize GnuTLS before calling gnutls_rnd
2763         * src/gnutls.c (emacs_gnutls_global_init): Now extern.
2764         Don’t set gnutls_global_initialized if gnutls_global_init fails.
2765         * src/sysdep.c: Include "gnutls.h", and <gnutls/crypto.h>
2766         if 2.12 or later, which has gnutls_rnd.
2767         (emacs_gnutls_global_init, gnutls_rnd): New fallback
2768         placeholder macros if before 2.12.
2769         (init_random): Initialize gnutls globals before trying to
2770         use gnutls_rnd.
2772 2016-01-18  Andreas Schwab  <schwab@linux-m68k.org>
2774         Don't use GnuTLS before it is initialized
2776                 * src/sysdep.c (init_random): Don't use gnutls_rnd.
2778 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2780         Port cleanup attribute to OpenBSD
2782         The OpenBSD C compiler issues false alarms about strcpy, strcat, and
2783         sprintf, and this messes up 'configure' when it tests for the cleanup
2784         attribute.  Work around the problem by using __has_attribute directly.
2785         Problem reported by Joakim Jalap (Bug#22385).
2786         * configure.ac: Don’t use AX_GCC_VAR_ATTRIBUTE.
2787         * m4/ax_gcc_var_attribute.m4: Remove.
2788         * src/conf_post.h (__has_attribute): Provide a substitute, for
2789         non-GCC or older GCC compilers.  All uses changed to assume
2790         the substitute.  Check for the cleanup attribute.
2791         * src/emacs-module.c (module_has_cleanup): Just use __has_attribute.
2793 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2795         Prefer GnuTLS when acquiring random seed
2797         This attempts to improve on the fix for Bug#22202.
2798         * configure.ac (HAVE_DEV_URANDOM): Remove.
2799         Check /dev/urandom existence at run time, not at build time,
2800         since the device could exist in the former but not the latter.
2801         * src/sysdep.c [HAVE_GNUTLS]: Include gnutls/gnutls.h.
2802         (gnutls_rnd) [GNUTLS_VERSION_NUMBER < 0x020c00]: New fallback macro.
2803         (random_seed): New typedef.
2804         (set_random_seed): New static function.
2805         (seed_random): Use them.
2806         (init_random): Use random_seed instead of uintmax_t, so as to
2807         not consume more entropy than needed.  Prefer gnutls_rnd if it
2808         works; this avoids a redundant open of /dev/urandom on
2809         GNU/Linux with modern GnuTLS.
2811 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2813         Improve documentation of dynamic modules
2815         * doc/lispref/loading.texi (How Programs Do Loading): Update the
2816         description of searching for files in 'load' when Emacs was built
2817         with support for dynamic modules.
2819 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2821         * INSTALL: Document --with-modules.
2823 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2825         Document 'function-put'
2827         * doc/lispref/symbols.texi (Symbol Plists): Document
2828         'function-put'.  Update documentation of 'function-get'.
2830 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2832         Document 'funcall-interactively'
2834         * doc/lispref/commands.texi (Interactive Call): Document
2835         'funcall-interactively'.
2836         * doc/lispref/functions.texi (Calling Functions): Mention
2837         'funcall-interactively' and provide a cross-reference.
2839 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2841         * doc/lispref/lists.texi (Association Lists): Document 'alist-get'.
2843         * doc/lispref/strings.texi (Text Comparison): Document 'string-greaterp'.
2845 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2847         Document renaming of selection-related functions
2849         * doc/lispref/frames.texi (Window System Selections): Rename "x-*"
2850         functions into the corresponding "gui-*" functions.  Make the
2851         description slightly less X-centric.
2853 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2855         * doc/lispref/macros.texi (Expansion): Document 'macroexpand-1'.
2857 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2859         Document 'define-inline'
2861         * doc/lispref/functions.texi (Defining Functions): Document
2862         'define-inline' and related macros.
2864         * lisp/emacs-lisp/inline.el (inline-letevals): Doc fix.
2866 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2868         * lisp/files.el (dir-locals--all-files): Respect absolute file-names
2870         * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
2872 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2874         * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
2876         instead of manually writing a dir-locals file.
2878 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2880         * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
2882         (dir-locals-file)
2883         * lisp/files-x.el (modify-dir-local-variable)
2884         * lisp/dos-fns.el (dosified-file-name)
2885         * lisp/help-fns.el (describe-variable): Change accordingly.
2887 2016-01-16  Jussi Lahdenniemi  <jussi@aprikoodi.fi>  (tiny change)
2889         Fix incompatbilities with MS-Windows 2000 and older
2891         * src/w32.c <multiByteToWideCharFlags>: New global variable.
2892         (filename_to_utf16, filename_from_ansi, check_windows_init_file):
2893         Use it instead of the literal MB_ERR_INVALID_CHARS.
2894         (maybe_load_unicows_dll): Initialize multiByteToWideCharFlags as
2895         appropriate for the underlying OS version.  For details, see
2896         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
2897         * src/w32.h: Declare multiByteToWideCharFlags.
2898         * src/w32fns.c (Fx_file_dialog, Fw32_shell_execute)
2899         (add_tray_notification): Use multiByteToWideCharFlags instead of
2900         the literal MB_ERR_INVALID_CHARS.
2901         (_resetstkoflw_proc): New typedef.
2902         (w32_reset_stack_overflow_guard): Call _resetstkoflw via a
2903         pointer, as this function is absent in msvcrt.dll shipped with W2K
2904         and older systems.
2906 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2908         Mention in PROBLEMS an issue with MS-Windows NT4
2910         * etc/PROBLEMS (MS-Windows): Mention the problem with Shell32.dll
2911         on Windows NT4.  For the details, see
2912         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
2914 2016-01-16  Jussi Lahdenniemi  <jussi@aprikoodi.fi>  (tiny change)
2916         Ensure 8-byte aligned memory allocation on MS-Windows 9X
2918         * src/w32heap.c (init_heap): Redirect malloc, realloc, and free to
2919         special functions on Windows 9X.  Refuse to dump Emacs on Windows 9X.
2920         (malloc_after_dump_9x, realloc_after_dump_9x)
2921         (free_after_dump_9x): New functions.  (Bug#22379)  See also
2922         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00852.html
2923         for more details about the original problem.
2925         * nt/inc/ms-w32.h (malloc_after_dump_9x, realloc_after_dump_9x)
2926         (free_after_dump_9x): Add prototypes.
2928 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2930         Fix tests for active region in hideif.el
2932         * lisp/progmodes/hideif.el (hif-evaluate-macro, hide-ifdef-block): Use
2933         'use-region-p' to test whether to operate on region, instead of
2934         testing 'mark-active'.
2936 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
2938         Fix interactive specs in some hideif.el commands
2940         * lisp/progmodes/hideif.el (hif-evaluate-macro)
2941         (hide-ifdef-undef, show-ifdef-block): Don't use '(interactive "r")'
2942         in commands that should only act on the region if it's active.
2944 2016-01-15  Phillip Lord  <phillip.lord@russet.org.uk>
2946         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
2948 2016-01-15  Phillip Lord  <phillip.lord@russet.org.uk>
2950         Enable test selector from command line
2952         * test/automated/Makefile.in: Change variable manipulation to avoid
2953           over-writing selector.
2955 2016-01-15  Alan Mackenzie  <acm@muc.de>
2957         Don't confuse "::" with ":" when trying to parse member initializers.
2959         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
2960         more robustly for ":" token when searching backwards for it.
2962         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New language
2963         variable.
2965 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
2967         Ensure positive number of glyphs for margins of positive width
2969         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
2970         positive value when a non-zero width of the marginal area was
2971         requested.  (Bug#22356)
2973 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
2975         Fix crashes when mini-window has non-zero margins
2977         * src/window.c (resize_frame_windows): Use 'new_size' to set
2978         minibuffer window's 'total_cols' value, as 'size' might be in
2979         pixels.  (Bug#22356)
2981 2016-01-15  Alan Mackenzie  <acm@muc.de>
2983         In comment-dwim with style `extra-line', respect indent-tabs-mode.
2985         This fixes bug #22369.
2987         * lisp/newcomment.el (comment-make-bol-ws): New function.
2988         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
2990 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
2992         Make 'random' seeds cryptographically secure if possible
2994         * configure.ac: Check for "/dev/urandom".
2996         * src/sysdep.c (init_random) [HAVE_DEV_URANDOM]: Read the stream
2997         for the seed from "/dev/urandom".
2998         [WINDOWSNT]: Obtain the stream for the seed from w32 APIs.
2999         * src/fns.c (Frandom): Update the doc string to indicate that
3000         system entropy is used when available.
3001         * src/w32.c: Include wincrypt.h.
3002         (w32_init_crypt_random, w32_init_random): New functions, use the
3003         CryptGenRandom API.
3004         (globals_of_w32): Initialize w32_crypto_hprov handle to zero.
3005         * src/w32.h (w32_init_random): Add prototype.
3007         * doc/lispref/numbers.texi (Random Numbers): Document more details
3008         about 't' as the argument to 'random'.
3010         * etc/NEWS: Mention that '(random t)' now uses a cryptographically
3011         strong seed if possible.
3013         (Bug#22202)
3015 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
3017         Unhide the --no-line-directive option to 'etags'
3019         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
3020         option.  (Bug#22306)
3022         * doc/man/etags.1: Document the --no-line-directive option.
3024 2016-01-15  Alan J Third  <alan@idiocy.org>  (tiny change)
3026         Fix picture-mode wrt double-width characters
3028         * lisp/textmodes/picture.el (picture-insert): Check the width of
3029         the character being replaced, not just that of the replacement.
3030         (Bug#1808)
3032 2016-01-15  Eric Abrahamsen  <eric@ericabrahamsen.net>
3034         Honor docstring of gnus-group-get-new-news
3036         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg is t,
3037         but non-numeric, unconditionally consider all groups to need updating.
3039 2016-01-14  Simen Heggestøyl  <simenheg@gmail.com>
3041         Disallow parenthesis in non-pseudo CSS selectors
3043         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Disallow
3044         parenthesis in selectors except for in the function notation that
3045         might appear right after a pseudo-class.
3046         * test/indent/scss-mode.scss: Add a test for it.
3048 2016-01-14  Katsumi Yamaoka  <yamaoka@jpl.org>
3050         * lisp/gnus/nntp.el (nntp-request-newgroups): Simplify
3052 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
3054         check-maybe shall run only default tests
3056         * test/automated/Makefile.in (check, check-expensive): Depend on
3057         mostlyclean.
3058         (check-maybe): Re-run only default tests.
3059         (check-doit): Use code of check-maybe.
3060         (mostlyclean): Move *.log files away.
3062 2016-01-14  Mark Oteiza  <mvoteiza@udel.edu>
3064         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "magnet:"
3066 2016-01-14  Dmitry Gutov  <dgutov@yandex.ru>
3068         Un-obsolete tags-loop-continue
3070         * lisp/progmodes/etags.el (tags-loop-continue): Un-obsolete.
3071         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00682.html
3073 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3075         Document obsoletion of 'intangible' and 'point-entered/left'
3077         * doc/lispref/text.texi (Special Properties): Document the new
3078         properties 'cursor-intangible' and 'cursor-sensor-functions'.
3079         Document the obsolete status of 'intangible', 'pointer-left',
3080         and 'point-entered' properties, and of 'inhibit-point-motion-hooks'.
3081         * doc/lispref/display.texi (Overlay Properties): Document that
3082         'intangible' overlay property is obsolete.
3084         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor-mode): Doc fix.
3086 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3088         Updater documentation of 'looking-back'
3090         * doc/lispref/searching.texi (Regexp Search): Update documentation
3091         of 'looking-back'.  Fix markup.
3093 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3095         Document 'pre-redisplay-functions'
3097         * doc/lispref/hooks.texi (Standard Hooks):
3098         * doc/lispref/display.texi (Forcing Redisplay): Document
3099         'pre-redisplay-functions'.
3101 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3103         Document the new deafault value of 'load-read-function'
3105         * doc/lispref/loading.texi (How Programs Do Loading): Document the
3106         change in the default value of 'load-read-function'.
3108 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3110         Document 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
3112         * doc/lispref/nonascii.texi (Text Representations): Document
3113         'bufferpos-to-filepos' and 'filepos-to-bufferpos'.
3115 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
3117         Document the new prefix-command hooks
3119         * doc/lispref/hooks.texi (Standard Hooks): Document
3120         `prefix-command-echo-keystrokes-functions' and
3121         `prefix-command-preserve-state-hook'.
3123 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
3125         Fix one more misuse of time-stamp-time-zone
3127         * test/etags/html-src/softwarelibero.html: Use "UTC0" rather
3128         than the unportable "GMT" for time zone.
3130 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
3132         Fix NNTP NEWGROUPS off-by-a-few-hours bug
3134         * lisp/gnus/nntp.el (nntp-request-newgroups): Format string
3135         in Universal Time, since we’re telling the server “GMT”.
3137 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
3139         Update publicsuffix.txt from upstream
3141         * etc/publicsuffix.txt: Update from
3142         https://publicsuffix.org/list/effective_tld_names.dat
3143         dated 2016-01-12 11:52:01 UTC.
3145 2016-01-13  Glenn Morris  <rgm@gnu.org>
3147         Fix some declarations.
3149         * lisp/descr-text.el (internal-char-font):
3150         * lisp/cedet/mode-local.el (xref-item-location):
3151         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
3152         (epg-sub-key-capability, epg-sub-key-validity):
3153         * lisp/international/mule-util.el (internal-char-font):
3154         Fix declarations.
3156 2016-01-13  Glenn Morris  <rgm@gnu.org>
3158         Fix some custom types.
3160         * lisp/gnus/gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files):
3161         * lisp/gnus/gnus.el (gnus-valid-select-methods):
3162         * lisp/mail/rmail.el (rmail-get-coding-function):
3163         * lisp/net/newst-treeview.el (newsticker-groups-filename):
3164         * lisp/progmodes/hideif.el (hide-ifdef-exclude-define-regexp):
3165         * lisp/textmodes/tildify.el (tildify-space-predicates):
3166         * lisp/url/url-tramp.el (url-tramp-protocols):
3167         Fix custom types.
3169 2016-01-13  Glenn Morris  <rgm@gnu.org>
3171         Add some missing version tags.
3173         * lisp/electric.el (electric-quote-comment)
3174         (electric-quote-string, electric-quote-paragraph):
3175         * lisp/epg-config.el (epg-gpgconf-program):
3176         * lisp/rect.el (rectangle-preview):
3177         * lisp/emacs-lisp/check-declare.el (check-declare-ext-errors):
3178         * lisp/emacs-lisp/package.el (package-selected-packages)
3179         (package-hidden-regexps):
3180         * lisp/erc/erc.el (erc-network-hide-list, erc-channel-hide-list):
3181         * lisp/eshell/em-term.el (eshell-destroy-buffer-when-process-dies):
3182         * lisp/gnus/mml-sec.el (mml1991-signers, mml2015-signers)
3183         (mml-smime-signers, mml1991-encrypt-to-self, mml2015-encrypt-to-self)
3184         (mml-smime-encrypt-to-self, mml2015-sign-with-sender)
3185         (mml-smime-sign-with-sender, mml2015-always-trust)
3186         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
3187         * lisp/net/browse-url.el (browse-url-conkeror-new-window-is-buffer)
3188         (browse-url-conkeror-arguments):
3189         * lisp/net/newst-reader.el (newsticker-download-logos):
3190         * lisp/progmodes/gud.el (gud-guiler-command-name):
3191         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
3192         * lisp/progmodes/project.el (project-vc):
3193         * lisp/progmodes/python.el (python-indent-guess-indent-offset-verbose)
3194         (python-shell-remote-exec-path, python-shell-first-prompt-hook)
3195         (python-shell-completion-native-disabled-interpreters)
3196         (python-shell-completion-native-enable)
3197         (python-shell-completion-native-output-timeout)
3198         (python-shell-completion-native-try-output-timeout):
3199         * lisp/progmodes/xref.el (xref):
3200         * lisp/term/screen.el (xterm-screen-extra-capabilities):
3201         * lisp/term/xterm.el (xterm-max-cut-length):
3202         Add missing version tags.
3204 2016-01-13  Glenn Morris  <rgm@gnu.org>
3206         * test/automated/core-elisp-tests.el
3207         (core-elisp-tests-1-defvar-in-let): Add a custom type.
3209 2016-01-13  Glenn Morris  <rgm@gnu.org>
3211         * src/buffer.c (syms_of_buffer) <major-mode>: Doc fix.
3213         Remove comments that do not apply since 2005-08-09.  (Bug#22349)
3215 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
3217         Merge from gnulib
3219         This mostly just changes "UTC" to "UTC0" for POSIX conformance.
3220         It also updates to the latest version of texinfo.tex.
3221         * build-aux/gitlog-to-changelog, build-aux/move-if-change:
3222         * build-aux/update-copyright, doc/misc/texinfo.tex:
3223         Update from gnulib.
3225 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
3227         Update documentation of 'process-running-child-p'
3229         * doc/lispref/processes.texi (Input to Processes): Document the
3230         changes in return value of 'process-running-child-p'.
3232 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
3234         Update documentation of 'deactivate-mark'.
3236         * doc/lispref/markers.texi (The Mark): Document that
3237         'deactivate-mark' is now buffer-local when set.
3239 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
3241         Update documentation of 'completion-table-dynamic'
3243         * doc/lispref/minibuf.texi (Programmed Completion): Document the
3244         new optional argument to 'completion-table-dynamic'.
3246 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
3248         Document changes in 'read-buffer' and 'read-buffer-function'
3250         * doc/lispref/minibuf.texi (High-Level Completion): Document the
3251         4th argument to 'read-buffer' and 'read-buffer-function'.
3253 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
3255         Fix time-stamp-time-zone bugs introduced in July
3257         This fixes a bug introduced when the July changes to
3258         format-time-string installed, as the changes were not
3259         correctly handled in this module (Bug#22302).
3260         Also, document time stamp time zones.
3261         * lisp/time-stamp.el (time-stamp-time-zone): Document values better.
3262         (time-stamp--format): New private function.
3263         (time-stamp-string, time-stamp-string-preprocess)
3264         (time-stamp-do-number): Use it.
3265         * doc/emacs/files.texi (Time Stamps): Mention time zones.
3266         * doc/misc/autotype.texi (Timestamps): Document time-stamp-time-zone.
3268 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
3270         Make piping to subprocesses more robust on MS-Windows
3272         * src/w32.c (sys_write): Don't write to a pipe more stuff than its
3273         buffer can hold.  Don't return -1 if something has been written to
3274         the pipe.  Zero out 'errno' before calling '_write', to avoid
3275         returning a stale value.  (Bug#22344)
3276         * src/w32proc.c (syms_of_ntproc) <w32-pipe-buffer-size>: New variable.
3277         * src/w32.c (pipe2): Use it to request a user-defined size for the
3278         pipe being created.
3280         * etc/NEWS: Mention 'w32-pipe-buffer-size'.
3282         * doc/emacs/msdos.texi (Windows Processes): Document
3283         'w32-pipe-buffer-size'.
3285 2016-01-11  Dmitry Gutov  <dgutov@yandex.ru>
3287         test/automated/vc-hg.el: Support out-of-tree build
3289         * test/automated/vc-hg.el
3290         (vc-hg-annotate-extract-revision-at-line-with-filename)
3291         (vc-hg-annotate-extract-revision-at-line-with-both):
3292         Don't refer to source-directory.
3293         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00755.html
3295 2016-01-11  Michael Albinus  <michael.albinus@gmx.de>
3297         Minor change in tramp-tests.el
3299         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
3300         Use `dired-uncache' instead of a Tramp internal function.
3302 2016-01-11  Peter Feigl  <peter.feigl@nexoid.at>
3304         * etc/HELLO: Add Armenian and Mongolian greetings.
3306         (Bug#22346)
3308 2016-01-11  Alan Mackenzie  <acm@muc.de>
3310         Java Mode: Fontify identifiers in the presence of annotations.
3312         * lisp/progmodes/cc-engine.el (c-forward-annotation): Tidy up the coding:
3313         Don't move point when the defun fails.
3314         (c-forward-decl-or-cast-1): Correct a usage of match data.
3316         * lisp/progmodes/cc-fonts.el (c-font-lock-maybe-decl-faces): Remove.
3317         (c-font-lock-declarations): Use the new c-maybe-decl-faces in place of the
3318         removed variable.
3320         * lisp/progmodes/cc-langs.el (c-maybe-decl-faces): New language variable.
3322 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
3324         Avoid an infloop when we run out of memory
3326         * src/alloc.c (garbage_collect_1): Don't bother saving and
3327         restoring the echo-area message if we are GC'ing after running out
3328         of memory.  This avoids an infloop due to repeated attempts to
3329         allocate memory for the cons cell needed to save the message,
3330         which signals the memory-full error, which attempts to save the
3331         echo-area message, which signals memory-full again, etc.
3333 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
3335         Avoid unnecessary failures of auto-saving after fatal error
3337         * src/w32.c (map_w32_filename): Avoid non-trivial system calls for
3338         the benefit of FAT volumes if we are called as part of shutting
3339         down due to a fatal error, which probably means we are trying to
3340         auto-save the session.
3341         * src/lread.c (check_obarray): Don't bother making the obarray
3342         valid if we are shutting down due to a fatal error.  This avoids
3343         interfering with auto-saving the crashed session.
3345 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3347         Simplify HAVE_MODULES use in mark_maybe_pointer
3349         * src/alloc.c (HAVE_MODULES): Now a constant 0 if not defined,
3350         so that later code can use 'if' rather than '#ifdef'.
3351         (mark_maybe_pointer): Simplify based on HAVE_MODULES now
3352         always working.
3354 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3356         Revert attempt to use 'noexcept' in typedef
3358         This use of 'noexcept' runs afoul of the C++11 standard.
3359         Problem reported by Philipp Stephani in:
3360         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00706.html
3361         * src/emacs-module.c (emacs_finalizer_function):
3362         Move this typedef here ...
3363         * src/emacs-module.h: ... from here, and use only the C
3364         version of the typedef.  The typedef is now private since it
3365         is never used in the .h file now and anyway it seemed to be
3366         causing more confusion than it cured.
3367         (make_user_ptr, get_user_finalizer, set_user_finalizer):
3368         Open-code the type instead.
3370 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
3372         Update documentation of 'indirect-function'
3374         * doc/lispref/eval.texi (Function Indirection): Update the
3375         documentation of 'indirect-function'.
3377 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
3379         Update documentation for obsoleting 'syntax-begin-function'
3381         * doc/lispref/syntax.texi (Position Parse): Undocument
3382         'syntax-begin-function' that is now obsolete.
3384 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
3386         Document new features if Eshell
3388         * doc/misc/eshell.texi (Input/Output): Document the new
3389         '#<bufname>' syntax.
3390         (Input/Output): Document 'eshell-destroy-buffer-when-process-dies'.
3391         Disable "Key Index" generation, as there are no @kindex entries in
3392         this manual.
3394 2016-01-10  Michael Albinus  <michael.albinus@gmx.de>
3396         Handle too long commands in Tramp
3398         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
3399         (tramp-do-file-attributes-with-ls): Send sequence of commands, in
3400         order to not exceed shell command line limit.
3402         * test/automated/tramp-tests.el (tramp--test-darwin-p): Remove.
3403         (tramp--test-utf8): Include Arabic file name, again.
3405 2016-01-10  Paul Eggert  <eggert@cs.ucla.edu>
3407         * .gitattributes: *.cur and *.pif are binary files too.
3409 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3411         * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
3413 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3415         * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
3417         * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation
3418         within $(...).
3419         * test/indent/shell.sh: Add corresponding test.
3421 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3423         * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
3425         (mark_memory): Simplify loop.  Don't assume a pointer-sized word can be
3426         cast to Lisp_Object.
3428 2016-01-10  Dmitry Gutov  <dgutov@yandex.ru>
3430         Use short date for 'hg annotate', and output the author
3432         * lisp/vc/vc-hg.el (vc-hg-annotate-command):
3433         Change '-d' to '-dq'.  (Bug#21805)
3434         (vc-hg-annotate-switches): Default to "-u" "--follow".
3435         (vc-hg-annotate-re): Update to recognize the short date format
3436         and the optional username.
3437         (vc-hg-annotate-time)
3438         (vc-hg-annotate-extract-revision-at-line): Update accordingly.
3440         * test/automated/vc-hg.el: New file.
3442 2016-01-10  Paul Eggert  <eggert@cs.ucla.edu>
3444         Spelling fix
3446 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
3448         Document user-level functions in project.el
3450         * lisp/progmodes/project.el (project-find-file)
3451         (project-or-external-find-file): Add doc strings.
3453 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
3455         Document the user-level features of the Xref package
3457         * doc/emacs/maintaining.texi (Maintaining): Add a list of
3458         described features.
3459         (Xref): New section, made out of thoroughly rewritten "Tags"
3460         section.
3461         (Find Identifiers, Looking Up Identifiers, Xref Commands)
3462         (Identifier Search, List Identifiers): New subsections,
3463         incorporating the old tags commands and the new xref commands.
3464         (Tags Tables, Tag Syntax, Create Tags Table, Etags Regexps):
3465         Section and subsections demoted to a lower level.
3466         * doc/emacs/search.texi (Search):
3467         * doc/emacs/windows.texi (Pop Up Window):
3468         * doc/emacs/frames.texi (Creating Frames):
3469         * doc/emacs/programs.texi (Imenu, Symbol Completion):
3470         * doc/emacs/building.texi (Grep Searching):
3471         * doc/emacs/dired.texi (Operating on Files):
3472         * doc/emacs/glossary.texi (Glossary): All references to tags changed.
3474 2016-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>
3476         * doc/lispref/loading.texi: Add `define-type' entry for load-history
3478         * doc/lispref/loading.texi (Where Defined): Remove incorrect
3479         cl-defmethod description, and add missing define-type entry.
3481 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
3483         Improve doc strings and prompts in xref.el
3485         * lisp/progmodes/xref.el (xref-backend-functions)
3486         (xref-find-definitions): Doc fixes.
3487         (xref-query-replace): Doc fix.  Improve prompts for arguments.
3489 2016-01-09  Alan Mackenzie  <acm@muc.de>
3491         Allow the use of `font-lock-extend-region-multiline' in CC Mode.
3493         * lisp/progmodes/cc-mode.el (c-font-lock-init): Remove
3494         `font-lock-extend-regions-wholelines' from
3495         `font-lock-extend-region-functions' rather than setting the latter to
3496         nil.
3498 2016-01-09  Michael Albinus  <michael.albinus@gmx.de>
3500         Fix coding system for Tramp on OS X.
3502         * lisp/net/tramp-compat.el: Require ucs-normalize.
3504         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3505         Set coding system to `utf-8-hfs' for Mac OS X.
3507         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
3508         Flush directory properties when needed.
3509         (tramp--test-utf8): Include Chinese file name, again.
3511 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
3513         Update 'load-history' docs
3515         * doc/lispref/loading.texi (Where Defined): Update the list of
3516         forms in 'load-history' by adding the forms created for the
3517         'cl-generic' generics.  (Bug#21422)
3519 2016-01-09  Paul Eggert  <eggert@cs.ucla.edu>
3521         Fix (error ...) error
3523         Problem reported by Glenn Morris in:
3524         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00561.html
3525         * lisp/vc/add-log.el (change-log-goto-source): Fix typos
3526         introduced in my Aug 28 change, where I got confused by the
3527         two meanings of (error ...).
3529 2016-01-08  Alan Mackenzie  <acm@muc.de>
3531         Correctly analyze brace arguments in templated C++ function declarations.
3533         * lisp/progmodes/cc-defs.el (c-go-list-forward, c-go-list-backward): add
3534         POS and LIMIT parameters, like the other c-go-list-* functions have.
3536         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): Check backwards
3537         for a ?\( rather than a ?<.  (c-looking-at-inexpr-block): Handle names
3538         followed by template specifiers.
3540 2016-01-08  Glenn Morris  <rgm@gnu.org>
3542         * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
3544         * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
3546 2016-01-08  Mark Oteiza  <mvoteiza@udel.edu>
3548         * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
3550 2016-01-08  Alan Mackenzie  <acm@muc.de>
3552         Respect fontification region calculated by major mode.  Fixes bug #22316.
3554         * lisp/font-lock.el (font-lock-extend-jit-lock-region-after-change): when a
3555         fontification region has been calculated by a function on
3556         font-lock-extend-after-change-region-function use this region rather than
3557         changing the end position to somewhere else.
3559 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
3561         Improve documentation of Delete Selection mode
3563         * lisp/delsel.el (delete-selection-mode)
3564         (delete-selection-helper): Update and expand the doc strings.
3565         (Bug#22296)
3567         * doc/emacs/mark.texi (Using Region): Document the behavior of
3568         delete commands in Delete Selection mode.  (Bug#22296)
3570         * doc/lispref/markers.texi (The Mark): Document how to add the
3571         support for Delete Selection mode to Lisp programs. (Bug#22296)
3573 2016-01-08  Dmitry Gutov  <dgutov@yandex.ru>
3575         Fix two project-find-file issues
3577         * lisp/progmodes/project.el (project--value-in-dir):
3578         Temporarily set enable-local-variables to :all.
3579         (project-find-file, project-or-external-find-file):
3580         All autoloads.
3581         (project--find-file-in): Require xref.
3583 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
3585         Clarify doc string of 'dired-current-directory'
3587         * lisp/dired.el (dired-current-directory): Doc fix: clarify that
3588         the return value might not end in a slash when called with the
3589         optional argument non-nil.  (Bug#6273)
3591 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
3593         Use the face of preceding text for displaying the ellipsis
3595         * src/xdisp.c (setup_for_ellipsis): Use the face of the preceding
3596         text in it->saved_face_id for displaying the ellipsis, and ignore
3597         the face, if any, of the invisible text.  (Bug#22320)
3599 2016-01-08  Michael Albinus  <michael.albinus@gmx.de>
3601         Suppress Chinese file name test for OSX in tramp-tests.el
3603         * test/automated/tramp-tests.el (tramp--test-utf8):
3604         Remove instrumentation.  Suppress Chinese file name test for OSX.
3606 2016-01-08  Glenn Morris  <rgm@gnu.org>
3608         * admin/admin.el (set-version): Also handle the NEWS file.
3610 2016-01-08  Dmitry Gutov  <dgutov@yandex.ru>
3612         apropos-library: Skip obvious duplicates; don't error on generics
3614         * lisp/apropos.el (apropos-library): Skip "was an autoload"
3615         entries, to avoid obvious duplicates.  For each cl-defmethod
3616         entry, take just its function symbol (bug#21422).
3618 2016-01-07  Dmitry Gutov  <dgutov@yandex.ru>
3620         Add project-find-file and project-or-external-find-file
3622         * lisp/minibuffer.el (completion-category-defaults):
3623         Add `project-file' category.
3625         * lisp/progmodes/project.el (project-find-file)
3626         (project-or-external-find-file): New commands.
3627         (project--find-file-in): New private function.
3629         * lisp/progmodes/xref.el (xref-collect-matches): Use
3630         `expand-file-name' on DIR, to expand the tildes.
3631         (xref--find-ignores-arguments): Extract from
3632         `xref--rgrep-command'.
3634 2016-01-07  Leo Liu  <sdl.web@gmail.com>
3636         Add defvar-local to lisp-imenu-generic-expression
3638         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add
3639           defvar-local.
3641 2016-01-07  Leo Liu  <sdl.web@gmail.com>
3643         Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
3645         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
3646           Don't declare (indent 1).
3648 2016-01-07  Glenn Morris  <rgm@gnu.org>
3650         * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
3652 2016-01-07  Glenn Morris  <rgm@gnu.org>
3654         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
3656         Avoid specifying the length of a time object (it has not been "2"
3657         for some time).
3659 2016-01-06  Andreas Schwab  <schwab@linux-m68k.org>
3661         Properly encode/decode base64Binary data in SOAP
3663                 * lisp/net/soap-client.el (soap-encode-xs-basic-type): Encode
3664                 base64Binary value as utf-8.
3665                 (soap-decode-xs-basic-type): Decode base64Binary value as utf-8.
3667 2016-01-06  Eli Zaretskii  <eliz@gnu.org>
3669         Obey coding-system-for-write when writing stdout/stderr in batch
3671         * src/print.c (printchar_to_stream):
3672         * src/xdisp.c (message_to_stderr): If coding-system-for-write has
3673         a non-nil value, use it to encode output in preference to
3674         locale-coding-system.  See the discussions in
3675         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00048.html
3676         for the details.
3678         * doc/lispref/os.texi (Terminal Output): Document how to send
3679         non-ASCII text via 'send-string-to-terminal'.
3680         (Batch Mode): Document how text written to standard streams is
3681         encoded.  Fix inaccuracy regarding which output streams are used
3682         by output functions in batch mode.
3684 2016-01-06  Xue Fuqiao  <xfq.free@gmail.com>
3686         * doc/misc/efaq.texi (Packages that do not come with Emacs):
3687         Update the URI of MELPA and marmalade-repo.  Reported by CHENG Gao
3688         <chenggao@royau.me> in
3689         https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
3691 2016-01-06  Maksim Golubev  <maksim.golubev72@gmail.com>  (tiny change)
3693         * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
3695         Fix backslash.  (Bug#22224)
3697 2016-01-06  Federico Beffa  <beffa@ieee.org>  (tiny change)
3699         * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
3701         Make it actually work.  (Bug#22265)
3703 2016-01-05  Alan Mackenzie  <acm@muc.de>
3705         Remove function wrongly on AWK Mode value of context fontification hook.
3707         * lisp/progmodes/cc-langs.el (c-before-context-fontification-functions):
3708         swap order of entries so that awk's entry isn't superseded by the default.
3710         * lisp/progmodes/cc-mode.el (c-before-context-fl-expand-region): Correct
3711         to handle nil value of c-before-context-fontification-functions.
3713 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3715         * src/buffer.c: Stick with ASCII in doc string.
3717 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3719         Reword transient-mark-mode doc string
3721         * src/buffer.c (syms_of_buffer): Reword doc string to avoid confusion.
3722         The value 'lambda (literally) can be interpreted as (quote lambda),
3723         which is not intended here; we want just the lambda symbol.
3725 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
3727         Update doc string of 'selective-display'
3729         * src/buffer.c (syms_of_buffer) <selective-display>: Say that
3730         using it with the value of 't' is obsolete.  (Bug#1092)
3732 2016-01-05  Alan Mackenzie  <acm@muc.de>
3734         Make C++ buffers writeable when writing their initial text properties.
3736         This is a correction to yesterday's CC Mode patch.
3738         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Put
3739         c-save-buffer-state around the function rather than a mere `let'.
3741 2016-01-05  Michael Albinus  <michael.albinus@gmx.de>
3743         Additional changes for "make check-expensive"
3745         * CONTRIBUTE : Encourage use of ":tags '(:expensive-test)".
3746         Explain make target `check-expensive'.
3748         * etc/NEWS: Mention new make target `check-expensive'.
3750         * test/automated/Makefile.in (check-doit): New target.
3751         (check, check-expensive): Use it.
3753 2016-01-04  Alan Mackenzie  <acm@muc.de>
3755         Apply text properties for <, > in new after-change function (C++ Java Modes).
3757         These are category/syntax-table properties to give < and > paren syntax.
3758         Also apply certain `c-type' text properties to the insides of <..> constructs
3759         to ensure that identifiers contained by them get fontified.  This patch fixes
3760         bug #681.
3762         * lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Reformulate due to new
3763         after-change action.
3765         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Expand
3766         change region to include <s and >s which might not be already marked as
3767         parens, rather than just when paren text properties are removed.
3768         (c-restore-<>-properties): New after-change function, which applies text
3769         properties marking < and > with paren syntax.
3771         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Ensure `c-type'
3772         properties are applied to the interiors of <...> constructs, to ensure
3773         fontification of identifiers there.
3775         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
3776         c-restore-<>-properties to this list for C++ and Java.
3778         * lisp/progmodes/cc-mode.el (c-common-init): When invoking
3779         c-before-font-lock-functions, exclude c-restore-<>-properties from the
3780         functions invoked.
3781         (c-before-change): Initialize c-new-BEG/END here (rather than c-after-change)
3782         to allow modification by before-change functions.
3783         (c-after-change): Amend c-new-END here, rather than initializing it and
3784         c-new-BEG.
3786 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
3788         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
3790 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
3792         Introduce check-expensive tests.
3794         * Makefile.in (check-expensive):
3795         * test/automated/Makefile.in (check-expensive): New target.
3797         * test/automated/auto-revert-tests.el
3798         (auto-revert-test01-auto-revert-several-files):
3799         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
3800         * test/automated/tramp-tests.el (tramp-test26-process-file)
3801         (tramp-test27-start-file-process, tramp-test28-shell-command)
3802         (tramp-test29-vc-registered)
3803         (tramp-test31-special-characters-with-stat)
3804         (tramp-test31-special-characters-with-perl)
3805         (tramp-test31-special-characters-with-ls)
3806         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
3807         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
3808         (tramp-test35-unload): Tag the tests as :expensive-test.
3810 2016-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3812         shr-tag-video bug fix
3814         * shr.el (shr-tag-video): Protect against the `poster' being
3815         empty.
3817 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
3819         Minor fixes in tramp-tests.el
3821         * test/automated/tramp-tests.el (tramp-test26-process-file):
3822         Move point properly.
3823         (tramp-test29-vc-registered): Work with relative file names.
3825 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
3827         Ensure redisplay when 'truncate-lines' is set
3829         * lisp/frame.el (redisplay--variables): Add 'truncate-lines'.
3830         (Bug#22303)
3832 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
3834         Fix a doc string of 'transient-mark-mode'
3836         * src/buffer.c (syms_of_buffer) <transient-mark-mode>: Prevent
3837         "lambda" in doc string from becoming a link to lambda expressions.
3839 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
3841         MS-Windows followup to latest gnulib update
3843         * nt/gnulib.mk (EXTRA_DIST): Add ignore-value.h.
3845 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3847         Spelling fix
3849 2016-01-04  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
3851         Do secure signed Bcc handling
3853         * lisp/gnus/message.el (message-send): Do secure signed Bcc handling
3854         (bug#18718).
3856 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3858         Avoid stdio in SIGINT handler
3860         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
3861         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
3862         * lib/ignore-value.h: New file, from gnulib.
3863         * src/keyboard.c: Include it.
3864         (write_stdout, read_stdin): New functions.
3865         (handle_interrupt): Use them instead of printf and getchar,
3866         and avoid fflush when handling signals.
3868 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3870         * doc/misc/texinfo.tex: Revert unwanted copyright change.
3872 2016-01-03  Artur Malabarba  <bruce.connor.am@gmail.com>
3874         * lisp/align.el (align): Simplify a lambda
3876         * lisp/align.el (align): Fix arg order in call to `align-region'
3878 2016-01-03  Eli Zaretskii  <eliz@gnu.org>
3880         Fix compilation next-error in buffers with selective-display
3882         * lisp/progmodes/compile.el (compilation-beginning-of-line): New
3883         function.
3884         (compilation-internal-error-properties)
3885         (compilation-next-error-function, compilation-set-window): Use
3886         it.  (Bug#1092)
3888 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3890         * lisp/net/nsm.el (nsm-check-protocol): Fix typo in the message.
3892 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3894         Add SHA1 warnings for high network security settings
3896         * lisp/net/nsm.el (nsm-check-protocol): When using high security, warn
3897         about SHA1 certificates, which are now believed to be open to
3898         spoofing.
3900 2016-01-03  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
3902         Refactor mml-smime.el, mml1991.el, mml2015.el
3904         (Maybe this is the last merge from Gnus git to Emacs git)
3906         Cf. discussion on ding mailing list, messages in
3907         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
3908         Common code from the three files mml-smime.el, mml1991.el, and
3909         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
3910         to gnus-util.el.
3912         The code is supported by test cases with necessary test keys.
3914         Documentation in message.texi is updated.
3916         * doc/misc/message.texi (Security, Using S/MIME):
3917         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
3918         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
3919         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
3921         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
3922         New functions.
3924         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
3925         (epa--select-keys): Autoload.
3926         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
3927         (mml-secure-openpgp-signers): New user option;
3928         make mml1991-signers and mml2015-signers obsolete aliases to it.
3929         (mml-secure-smime-signers): New user option;
3930         make mml-smime-signers an obsolete alias to it.
3931         (mml-secure-openpgp-encrypt-to-self): New user option;
3932         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
3933         aliases to it.
3934         (mml-secure-smime-encrypt-to-self): New user option;
3935         make mml-smime-encrypt-to-self an obsolete alias to it.
3936         (mml-secure-openpgp-sign-with-sender): New user option;
3937         make mml2015-sign-with-sender an obsolete alias to it.
3938         (mml-secure-smime-sign-with-sender): New user option;
3939         make mml-smime-sign-with-sender an obsolete alias to it.
3940         (mml-secure-openpgp-always-trust): New user option;
3941         make mml2015-always-trust an obsolete alias to it.
3942         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
3943         New user options.
3944         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
3945         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
3946         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
3947         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
3948         (mml-secure-passphrase-callback, mml-secure-check-user-id)
3949         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
3950         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
3951         (mml-secure-fingerprint, mml-secure-filter-keys)
3952         (mml-secure-normalize-cust-name, mml-secure-select-keys)
3953         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
3954         (mml-secure-self-recipients, mml-secure-recipients)
3955         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
3957         * lisp/gnus/mml-smime.el: Require epg;
3958         refactor declaration and autoloading of epg functions.
3959         (mml-smime-use): Doc fix.
3960         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
3961         Obsolete.
3962         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
3963         Use format instead of gnus-format-message.
3964         (mml-smime-epg-secret-key-id-list): Remove variable.
3965         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
3966         (mml-smime-epg-find-usable-secret-key): Remove functions.
3967         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
3969         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
3970         (mml1991-passphrase-cache-expiry): Obsolete.
3971         (mml1991-epg-secret-key-id-list): Remove variable.
3972         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
3973         (mml1991-epg-find-usable-secret-key): Remove functions.
3974         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
3976         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
3977         (mml2015-passphrase-cache-expiry): Obsolete.
3978         (mml2015-epg-secret-key-id-list): Remove variable.
3979         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
3980         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
3981         (mml2015-epg-find-usable-secret-key): Remove functions.
3982         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
3983         (mml2015-epg-encrypt): Refactor.
3985 2016-01-02  Glenn Morris  <rgm@gnu.org>
3987         * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
3989         Explicitly ignore case.  (Bug#22262)
3991 2016-01-02  Stefan Monnier  <monnier@iro.umontreal.ca>
3993         (semantic-symref-derive-find-filepatterns): Return a list
3995         * lisp/cedet/semantic/symref/grep.el
3996         (semantic-symref-derive-find-filepatterns): Return a list.
3997         (semantic-symref-perform-search): Quote the result here once and for all.
3999 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4001         Fix xref-find-references on MS-Windows
4003         * lisp/cedet/semantic/symref/grep.el
4004         (semantic-symref-derive-find-filepatterns): Use
4005         'shell-quote-argument' instead of manually quoting in a way that
4006         only works with Posix shells.  (Bug#22289)
4008 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4010         Document new features of tildify-mode
4012         * lisp/textmodes/tildify.el (tildify-foreach-ignore-environments)
4013         (tildify-mode): Spelling fixes in doc strings.
4015         * etc/NEWS: Reformat the tildify-mode entry.
4017 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4019         Document new features of Whitespace mode
4021         * doc/emacs/display.texi (Useless Whitespace): Document
4022         'whitespace-toggle-options' and the new 'big-indent' style.
4023         Document 'whitespace-big-indent-regexp'.  Document the Global
4024         Whitespace mode.
4026 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4028         Improve documentation of new Hide-IfDef features
4030         * etc/NEWS: Expand and reword Hide-IfDef section.
4032 2016-01-02  Leo Liu  <sdl.web@gmail.com>
4034         Fix regression in font-locking cl-assert and cl-check-type
4036         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Fix
4037           el-errs-re.
4039 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4041         Spelling and grammar fixes
4043 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4045         Fix copyright years by hand
4047         These are dates that admin/update-copyright did not update, or
4048         updated incorrectly.
4050 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4052         Update copyright year to 2016
4054         Run admin/update-copyright.
4056 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4058         Merge from gnulib
4060         This mostly just updates copyright dates of gnulib files.
4061         It also updates to the latest version of texinfo.tex.
4063 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
4065         lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
4067 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
4069         Port chart.el methods to cl-generic.
4071         cl-call-next-method cannot be used inside EIEIO's defmethod.
4072         * lisp/emacs-lisp/chart.el: Require cl-generic at compile time.
4073         * lisp/emacs-lisp/chart.el (initialize-instance, chart-draw):
4074         (chart-draw-title, chart-size-in-dir, chart-draw-axis):
4075         (chart-axis-draw, chart-translate-xpos, chart-translate-ypos):
4076         (chart-translate-namezone, chart-draw-data, chart-add-sequence):
4077         (chart-trim, chart-sort): Use cl-defmethod instead of defmethod.
4079 2015-12-31  Brian Burns  <bburns.km@gmail.com>
4081         Add nt/INSTALL.W64 build instructions
4083         * nt/INSTALL.W64: New file.
4084         * nt/INSTALL: Point to INSTALL.W64 for 64-bit build instructions.
4086 2015-12-31  Joakim Jalap  <joakim.jalap@fastmail.com>
4088         Add new input method 'programmer-dvorak'
4090         * lisp/leim/quail/programmer-dvorak.el ("programmer-dvorak"): New
4091         input method.
4093         * etc/NEWS: Mention it.
4095 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
4097         Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
4099         * lisp/textmodes/flyspell.el (flyspell-prog-mode): Record the
4100         original M-TAB binding in a buffer-local variable.
4101         (flyspell-auto-correct-word): Invoke the original binding of M-TAB
4102         if that is recorded, when point is in a place where flyspell
4103         should not be active (e.g., because the user turned on
4104         'flyspell-prog-mode').  (Bug#18533)
4106 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
4108         Fix EWW rendering of long RTL lines
4110         * lisp/net/shr.el (shr-insert-document): Undo any previous hscroll
4111         of the selected window before filling its lines.  (Bug#22250)
4113 2015-12-31  Vincent Belaïche  <vincentb1@users.sourceforge.net>
4115         fix  bug#21054
4117         * lisp/ses.el (ses-check-curcell): Call `ses-set-curcell' unconditionally
4119 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4121         Clean up cairo printing code
4123         * src/gtkutil.c (xg_get_page_setup): Use listn.
4124         * src/xfns.c (Fx_export_frames, Fx_print_frames_dialog): Doc fix.  Use
4125         decode_window_system_frame and FRAME_VISIBLE_P.
4126         (Fx_print_frames_dialog): Use redisplay_preserve_echo_area instead
4127         of Fdisplay.
4128         * src/xterm.c (x_cr_export_frames): Use redisplay_preserve_echo_area
4129         instead of Fdisplay.  Temporarily unblock_input around QUIT.
4131 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4133         Move variables to inner loop, preparing for Mac port merge
4135         * src/keyboard.c (command_loop_1): Move variables `cmd',
4136         `keybuf', and `i' to inner loop.
4138 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4140         Add handle_user_signal_hook
4142         * src/keyboard.h (handle_user_signal_hook): New declaration.
4143         * src/keyboard.c (handle_user_signal_hook): New variable.
4144         (handle_user_signal): Call it.
4146 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4148         Avoid writing to purespace
4150         * src/alloc.c (Fmake_string): Don't write to empty string contents.
4151         (allocate_vector): Don't write to empty vector size.
4152         * src/character.h (CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR):
4153         Don't call unnecessary XSETCAR or XSETCDR.
4154         * src/lisp.h (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE): Don't
4155         write to empty string size_byte.
4157 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4159         Remove unused variable
4161         * lisp/international/mule-cmds.el: Remove unused variable
4162         `mac-system-coding-system'.
4164 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4166         * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
4168 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4170         Use posix_openpt instead of openpty on Darwin
4172         * configure.ac (PTY_ITERATION, FIRST_PTY_LETTER, PTY_OPEN)
4173         (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Remove
4174         Darwin-specific definitions.  Use posix_openpt instead.
4176 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
4178         Document support for ':documentation' in Lisp mode
4180         * lisp/emacs-lisp/lisp-mode.el (lisp-string-in-doc-position-p)
4181         (lisp-string-after-doc-keyword-p)
4182         (lisp-font-lock-syntactic-face-function): Add doc strings.
4184 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
4186         Document new features of TeX mode
4188         * doc/emacs/text.texi (TeX Print): Document
4189         'tex-print-file-extension'.
4190         * doc/emacs/programs.texi (Misc for Programs): Document support
4191         for Prettify Symbols mode in TeX mode.
4193 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
4195         Clarify docs of hscroll in RTL text
4197         * doc/lispref/windows.texi (Horizontal Scrolling): Clarify the
4198         meaning of a window's horizontal scroll amount for RTL paragraphs.
4200 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
4202         Fix rendering of HTML pages that use character composition
4204         * src/indent.c (Fvertical_motion): Fix the case when point starts
4205         in the middle of a composition, as in shr-vertical-motion.
4206         (Bug#22250)
4208 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
4210         Avoid some compiler warnings in w32.c
4212         * src/w32.c (codepage_for_filenames, crlf_to_lf)
4213         (ansi_encode_filename, socket_to_fd, sys_write)
4214         (check_windows_init_file): Avoid compiler warnings about
4215         differences in pointer signedness.
4217 2015-12-30  Dmitry Gutov  <dgutov@yandex.ru>
4219         Undo ill-advised change
4221         * lisp/progmodes/xref.el (xref-collect-matches): Undo
4222         ill-advised change.  The hits come in the order that `find'
4223         produces them in, which isn't alphabetical.
4225 2015-12-30  Dmitry Gutov  <dgutov@yandex.ru>
4227         Unbreak completion in python-mode buffers
4229         * lisp/progmodes/python.el (python-shell-completion-at-point):
4230         Unbreak in python-mode buffers.
4232 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
4234         Fix typos in CC Mode manual
4236         * doc/misc/cc-mode.texi (c-offsets-alist, Style Variables): Fix
4237         typos.  (Bug#22267)
4239 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
4241         Avoid assertion violations in compact_font_cache_entry
4243         * src/alloc.c (compact_font_cache_entry): Don't use VECTORP to
4244         avoid assertion violation in ASIZE.  (Bug#22263)
4246 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
4248         Fix filling text with bidirectional characters in shr.el
4250         * lisp/net/shr.el (shr-insert-document): Bind
4251         bidi-display-reordering to nil while filling lines.  This is
4252         required for when a line includes characters whose bidi
4253         directionality is opposite to the base paragraph direction,
4254         because columns are counted in the logical order.  (Bug#22250)
4256 2015-12-29  Martin Rudalics  <rudalics@gmx.at>
4258         * src/xfns.c (x_create_tip_frame): Process alpha parameter.
4260 2015-12-29  Michael Albinus  <michael.albinus@gmx.de>
4262         Sync with Tramp 2.2.13
4264         * doc/misc/trampver.texi: Change version to "2.2.13.25.1".
4266         * lisp/net/tramp-compat.el (tramp-compat-delete-dups):
4267         Use `tramp-compat-funcall'.
4269         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names):
4270         Make `split-string' call compatible with older Emacsen.
4272         * lisp/net/trampver.el: Change version to "2.2.13.25.1".
4274 2015-12-29  Lambda Coder  <sjLambda@gmail.com>
4276         * doc/misc/tramp.texi: Editorial revisions to the Tramp manual
4278 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
4280         Mention that tls.el is secure by default, and will fail
4282 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
4284         Make tls.el use trustfiles by default
4286         * lisp/net/tls.el (tls-program): Add a certfile by default (bug#21227).
4287         (open-tls-stream): Insert the trustfile by looking at
4288         `gnutls-trustfiles'.
4290 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
4292         Refactor out gnutls-trustfiles
4294         * lisp/net/gnutls.el (gnutls-trustfiles): Refactor out for reuse by tls.el.
4296 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
4298         Remove --insecure from gnutls-cli invocation
4300         * tls.el (tls-program): Default to using secure TLS
4301         connections (bug#19284).
4303 2015-12-29  Paul Eggert  <eggert@cs.ucla.edu>
4305         Spelling fix
4307 2015-12-29  Paul Eggert  <eggert@cs.ucla.edu>
4309         Port report-emacs-bug to deterministic builds
4311         * lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
4312         recent "built on" change to deterministic builds where
4313         emacs-build-system will be nil.  See:
4314         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
4316 2015-12-29  Jose A. Ortega Ruiz  <jao@gnu.org>  (tiny change)
4318         Fix URL auth error message
4320         * lisp/url/url-http.el (url-http-handle-authentication): Make the error
4321         message more correct (bug#20069).
4323 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
4325         shr link traversal fixup
4327         * shr.el (shr-next-link): Don't bug out on adjacent links.
4329         Backport:
4331         (cherry picked from commit 1efc5f8b09273c359683ce13be95fb5df7a84311)
4333 2015-12-28  Tom Tromey  <tom@tromey.com>
4335         set :safe on css-indent-offset
4337         * lisp/textmodes/css-mode.el (css-indent-offset): Add :safe 'integerp.
4339 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
4341         * eww.el (eww-mode): Remove superfluous bidi reset.
4343 2015-12-28  James Stout  <james.wolf.stout@gmail.com>  (tiny change)
4345         Make chunked encoding trailer detection more compliant
4347         * lisp/url/url-http.el
4348         (url-http-chunked-encoding-after-change-function): Make
4349         trailer detection more compliant (bug#16345).
4351 2015-12-28  Martin Rudalics  <rudalics@gmx.at>
4353         Fix Bug#10873 in `report-emacs-bug'
4355         * lisp/mail/emacsbug.el (report-emacs-bug): If
4356         `report-emacs-bug-no-explanations' is nil, make sure we can show
4357         mail and warnings buffer on this frame (Bug#10873).
4359 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
4361         Always reset the bidi direction
4363         * eww.el (eww-display-html): Always reset the bidi direction
4364         to `left-to-right' (bug#22257).
4366 2015-12-28  Alan Mackenzie  <acm@muc.de>
4368         Allow line comments ending with escaped NL to be continued to the next line.
4370         Use this in C, C++, and Objective C Modes.  Fixes bug#22246
4372         * src/syntax.c (comment-end-can-be-escaped): New buffer local variable.
4373         (forw-comment, back-comment): On encountering an end of comment character,
4374         test whether it is escaped when `comment-end-can-be-escaped' is non-nil.
4376         * doc/lispref/syntax.texi (Control Parsing): Describe
4377         `comment-end-can-be-escaped'.
4379         * etc/NEWS (Lisp Changes): Describe `comment-end-can-be-escaped'.
4381         * lisp/progmodes/cc-langs.el: New c-lang-setvar `comment-end-can-be-escaped'.
4383 2015-12-28  Dmitry Gutov  <dgutov@yandex.ru>
4385         Rename project-library-roots to project-external-roots
4387         * lisp/progmodes/project.el (project-library-roots): Rename to
4388         project-external-roots.
4389         (project-library-roots-function): Rename to
4390         project-vc-external-roots-function.  Only use it in the VC
4391         backend, for now.  Update project-external-roots accordingly.
4392         (project-vc-library-roots): Remove.
4393         (project-or-libraries-find-regexp):
4394         Rename to project-or-external-find-regexp.
4396         * lisp/progmodes/elisp-mode.el (elisp-library-roots):
4397         Rename to elisp-load-path-roots.
4399         * lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
4400         an anonymous function for the default value of
4401         project-vc-external-roots-function.
4403 2015-12-27  Deniz Dogan  <deniz@dogan.se>
4405         Clear erc user list upon disconnection
4407         * lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
4408         lists upon disconnection.  This prevents invalid channel
4409         user lists when reconnecting (bug#10947).
4411 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
4413         Don't bug out in erc after waking from sleep
4415         * lisp/erc/erc-backend.el (erc-server-send-ping): If the server has
4416         closed connection, this may already have been detected and
4417         `erc-server-last-received-time' has been set to nil (bug#13608).
4419 2015-12-27  David Edmondson  <dme@dme.org>
4421         Proxy error in erc with multiple clients
4423         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
4424         generated when multiple IRC clients talk to a single IRC proxy
4425         (bug#19034).
4427         Backport:
4429         (cherry picked from commit 507e98a54d1aa37823c64993d6b59257a82fe8f4)
4431 2015-12-27  Dima Kogan  <dima@secretsauce.net>
4433         Ensure that we don't have several timers in erc
4435         * lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
4436         for existing timers in the alist before adding new ones.  If a
4437         timer already exists, it is cancelled and
4438         overwritten. (bug#19292).
4440 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
4442         Fix mml-sec build warnings
4444         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
4445         (bug#18718).
4447         Backport:
4449         (cherry picked from commit 3603097f62f5f4aa5451716e9ac380161f6829e2)
4451 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
4453         Don't insert erc logs at the end
4455         * lisp/erc/erc-log.el (erc-log-setup-logging): Insert the previous log
4456         at the start of the buffer, not at the end (bug#20496).
4458 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
4460         (eww-setup-buffer): Restore left-to-right defaults
4462         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
4464         Backport:
4466         (cherry picked from commit 96c874b96b617c124d500a94de761a61f2a08685)
4468 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
4470         Don't join erc channels doubly
4472         * lisp/erc/erc-join.el (erc-autojoin-channels): Don't join channels
4473         more than once (if you have several nicks) (bug#20695).
4475 2015-12-27  Eli Zaretskii  <eliz@gnu.org>
4477         Avoid leaving "ghost" of mouse pointer on MS-Windows
4479         * src/w32term.c (frame_set_mouse_pixel_position):
4480         * src/w32fns.c (Fw32_mouse_absolute_pixel_position): Momentarily
4481         disable "mouse trails" when moving the mouse pointer.  (Bug#22247)
4482         * src/w32term.c (frame_set_mouse_pixel_position): Include
4483         w32common.h.
4485 2015-12-27  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
4487         Fix auth source lookups from erc with port numbers
4489         * lisp/erc/erc.el (erc-open): `auth-source' wants strings, not port
4490         numbers (bug#20541).
4492 2015-12-27  Fran Litterio  <flitterio@gmail.com>
4494         Run erc-kill-channel-hook always on exit
4496         * lisp/erc/erc.el (erc-kill-buffer-function): Run erc-kill-channel-hook
4497         when erc-kill-queries-on-quit is set (bug#21187).
4499 2015-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4501         Spelling fix
4503         * test/automated/url-parse-tests.el:
4504         (url-generic-parse-url/same-document-reference):
4505         Rename from url-generic-parse-url/same-decument-reference.
4507 2015-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4509         Reword initial *scratch* for brevity, appearance
4511         * lisp/startup.el (initial-scratch-message):
4512         Reword to avoid apostrophes, and to make it shorter.
4513         See the thread starting in:
4514         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html
4516 2015-12-26  Leo Liu  <sdl.web@gmail.com>
4518         Add ert-deftest to lisp-mode.el
4520         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression,
4521           lisp-el-font-lock-keywords-1): Add ert-deftest.
4523 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
4525         Mark imap changes as not needing doc changes
4527         * lisp/net/imap.el (imap-ssl-open): Remove
4529 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
4531         Use built-in encryption in imap.el
4533         * lisp/net/imap.el (imap-ssl-program): Remove (bug#21134).
4534         (imap-starttls-open): Use open-network-stream instead of starttls.el.
4535         (imap-tls-open): Use open-network-stream instead of tls.el.
4537 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4539         Don't try using /bin/sh in artist.el on MS-Windows
4541         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
4542         New function.
4543         (artist-figlet-choose-font): Use it on MS-Windows and MS-DOS.
4544         (Bug#20167)
4546 2015-12-26  Wolfgang Jenkner  <wjenkner@inode.at>
4548         Always define gmalloc etc. in src/gmalloc.c
4550         This is a work-around to prevent the compiler from using semantic
4551         knowledge about malloc for optimization purposes.  E.g., gcc 5.2
4552         with -O2 replaces most of calloc's definition by a call to calloc;
4553         see Bug#22085.
4554         * src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
4555         (aligned_alloc, free): Do not undef.  Instead, define these as
4556         functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
4558 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4560         Fix documentation of browse-url browser-related functions
4562         * lisp/net/browse-url.el (browse-url)
4563         (browse-url-default-browser, browse-url-default-windows-browser)
4564         (browse-url-default-macosx-browser, browse-url-chromium)
4565         (browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS
4566         and NEW-WINDOW arguments in these functions.  (Bug#19421)
4568 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
4570         Propagate Bug#14412 fix to backtrace_eval_unrewind
4572         * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
4573         becomes accurate again. This shouldn’t affect behavior.
4574         (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.
4576 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4578         Don't produce non-ASCII characters in *scratch*
4580         * lisp/startup.el (initial-scratch-message): Quote apostrophes to
4581         avoid producing non-ASCII characters in the *scratch* buffer's
4582         commentary.
4584 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4586         Document changes in 'compare-windows'
4588         * lisp/vc/compare-w.el (compare-windows-removed)
4589         (compare-windows-added): Doc fix.
4591         * doc/emacs/files.texi (Comparing Files): Document the changes in
4592         window selection by 'compare-windows'.
4594 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4596         Document 'vc-annotate-background-mode'
4598         * doc/emacs/maintaining.texi (Old Revisions): Document
4599         'vc-annotate-background-mode'.
4601 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4603         Document 'vc-region-history'
4605         * doc/emacs/maintaining.texi (VC Change Log): Document
4606         'vc-region-history'.
4608 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4610         Improve documentation of 'vc-push'
4612         * doc/emacs/maintaining.texi (Pulling / Pushing): Expand and
4613         improve the documentation of 'vc-push'.
4615         * lisp/vc/vc.el (vc-pull, vc-push): Doc fix.
4617 2015-12-26  Alain Schneble  <a.s@realize.ch>
4619         Include the tests for the URL parsing fixes
4621 2015-12-26  Alain Schneble  <a.s@realize.ch>
4623         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
4625         * test/automated/url-parse-tests.el: Add tests covering url-generic-parse-url.
4626         * test/automated/url-expand-tests.el: Add tests covering url-expand-file-name.
4627         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
4628         information in URL-struct.
4629         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
4630         path and query into nil path and query, respectively.
4631         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
4632         empty path into an absolute ("/") path.
4633         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
4634         fragment-only URIs. Do not just return them unchanged.
4635         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
4636         reference URI should not drop the last segment.
4638         Backport:
4640         (cherry picked from commit b792ecea1715e080ad8e232d3d154b8a25d2edfb)
4642 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4644         Document 'url-user-agent'.
4646         * lisp/url/url-http.el (url-user-agent): Move from here...
4647         * lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
4648         keep all the URL defcustoms in one place, and also have it defined
4649         whenever the URL library is loaded.
4651         * doc/misc/url.texi (Customization): Document 'url-user-agent'.
4653 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4655         Document protocols supported by URL library via Tramp
4657         * doc/misc/url.texi (Tramp): New node, describes the URL schemes
4658         supported via Tramp.
4659         (Supported URL Types, file/ftp, rlogin/telnet/tn3270): Mention
4660         Tramp.
4662 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4664         Document changes in Shell-script mode
4666         * lisp/progmodes/sh-script.el (sh-mode, sh-set-shell): Document
4667         the 'sh-shell' file-local variable.
4668         (top level): Add an auto-load form to avoid byte-compiler warning
4669         about 'comint-send-string'.
4671 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4673         Fix documentation of 'ses-define-local-printer'
4675         * doc/misc/ses.texi (Printer functions): Fix whitespace between
4676         sentences and punctuation.  Add an index entry for
4677         'ses-define-local-printer'.
4679 2015-12-26  Shakthi Kannan  <shakthimaan@gmail.com>
4681         Document 'ert-summarize-tests-batch-and-exit'
4683         * doc/misc/ert.texi (Running Tests in Batch Mode): Document
4684         'ert-summarize-tests-batch-and-exit'.
4686 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
4688         Avoid assertion violation in unbind_to
4690         * src/eval.c (unbind_to) <SPECPDL_LET>: Avoid assertion violation
4691         if we get here with an object that is not a symbol.  (Bug#14412)
4693 2015-12-25  Andreas Schwab  <schwab@linux-m68k.org>
4695         Don't treat /foo/bar:mumble as ange-ftp address
4697                 * lisp/net/browse-url.el (browse-url-filename-alist): Match colons
4698                 only in the first component.  (bug#5362)
4700 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4702         Follow <meta> redirects in eww
4704         Merge conflict, but I think I resolved it.
4706             Follow meta refresh tags in eww
4708             * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
4710         Backport:
4712 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4714         Allow http://user:pass@foo/ URLs again
4716         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
4717         user/passwords in URLs (bug#19046).
4719         Backport:
4721         (cherry picked from commit b563715a2db265517d5a77f165a42afa1e233fdd)
4723 2015-12-25  Samer Masterson  <samer@samertm.com>
4725         Autoload url-insert-buffer-contents
4727         * lisp/url/url-handlers.el: Add autoload cookie so that
4728         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
4730         Backport:
4732         (cherry picked from commit 7a7b5b492ff9929eecd90c4564db6fbf3b192323)
4734 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
4736         Make sure *scratch* etc. use forward slashes in its default-directory
4738         * lisp/startup.el (normal-top-level): On MS-Windows, convert
4739         backslashes to forward slashes while decoding default-directory
4740         of the initially-created buffers.
4742 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4744         More eww file name coding fixes
4746         * eww.el (eww-decode-url-file-name): Use the base coding
4747         system to check for encodability.
4749         Backport:
4751         (cherry picked from commit a8627008abe4ab339df19b417776da28b3ce0fc7)
4753 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4755         Always save eww history
4757         * eww.el (eww-setup-buffer): Always save history, even when
4758         called from outside the eww buffer (bug#19638).
4760         Backport:
4762         (cherry picked from commit 2a0f18d9b6ce0ccce3d9c4a4a3b5743bae71b41e)
4764 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4766         Default web pages to right-to-left
4768         * eww.el (eww-mode): Most web pages are left-to-right, so make
4769         that the default (bug#19801).
4771         * shr.el (shr-tag-html): Respect "dir" attributes
4772         (left-to-right, right-to-left).
4774         Backport:
4776         (cherry picked from commit 9e089ec8a380ec3758fcf1564c5f86dc92c68c2a)
4778 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4780         Make toggling checkboxes work again
4782         * eww.el (eww-update-field): Make toggling checkboxes work
4783         again (bug#21881).
4785         Backport:
4787         (cherry picked from commit 5e56f606952e5e81b4d3a93ea70e791b74b33041)
4789 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4791         Don't store cookies with empty names
4793         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
4794         cookies with empty names (bug#21936).
4796         Backport:
4798         (cherry picked from commit 9f0fd7cb1aec3eb9e2e0f7b8854c30870286d96c)
4800 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4802         Stop rendering HTML before specdlr exhaustion
4804         Fixes: 22117
4806         * shr.el (shr-descend): Stop rendering before we run out of
4807         specpdl room (bug#22117).
4809         Backport:
4811         (cherry picked from commit 248da292fe46224b0b5a79b632c89cf4de2c2081)
4813 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4815         Use cl-reduce, not reduce.
4817         Backport:
4819         (cherry picked from commit fe4606f93b91ff3d046aee0cf21ecc277af7a786)
4821 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4823         Allow several <tbody> tags in shr
4825         * shr.el (shr-table-body): New function to find the real body
4826         of a table.
4827         (shr-tag-table): Use it to render several <tbody> tags in a
4828         table (bug#22170).
4830         Backport:
4832         (cherry picked from commit cdaf33029d6620073833876d76056045ecfbc7c4)
4834 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4836         Make prettier unique file names in eww
4838         (eww-make-unique-file-name): Make unique file names by making
4839         files like foo(2).jpg instead of foo(1)(2).jpg.
4841         Backport:
4843         (cherry picked from commit edfdd0a6cbdfa9e5e4bd0553e2b489401ca39266)
4845 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4847         Decode hex-encoded URLs before using them as file names
4849         * eww.el (eww-decode-url-file-name): New function.
4850         (eww-download-callback): Use it to decode file names before
4851         saving them.
4853         Backport:
4855         (cherry picked from commit af22a010d87516c2a646572fb27512c03057784f)
4857 2015-12-25  Ashish SHUKLA  <ashish.is@lostca.se>
4859         Add FreeBSD cert bundle
4861         * doc/misc/emacs-gnutls.texi (Help For Users): Document
4862         FreeBSD bundle.
4864         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
4866         Backport:
4868         (cherry picked from commit 60c0f1a18ad88d6dc1a8f4ee5d9d18940eaeb6f7)
4870 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4872         Ignore invalid SVG images
4874         * shr.el (shr-tag-svg): Ignore SVG images that have no width
4875         or height, because these can't be displayed by ImageMagick,
4876         anyway.
4878         Backport:
4880         (cherry picked from commit 821107d53c2e390240d25c036b99ebbf9b4a93b6)
4882 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4884         shr table rendering fix
4886         * shr.el (shr-tag-table): Allow rendering body-less tables
4887         that have headers.
4889         Backport:
4891         (cherry picked from commit b05471e42c17e02c56c87d7599ada0c124a5fe09)
4893 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
4895         Restore info about the build host in bug reports
4897         * lisp/mail/emacsbug.el (report-emacs-bug): Report the system on
4898         which Emacs was built.  This is important information for
4899         investigating bug reports reported by users who don't build their
4900         Emacs.
4902 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
4904         Fix bootstrap broken by changes related to OS X file-name encoding
4906         * lisp/international/ucs-normalize.el (eval-when-compile): Make
4907         sure char-code-property-alist includes elements that allow access
4908         to 'decomposition' and 'canonical-combining-class' Unicode
4909         properties, as compiling ucs-normalize.el requires that.
4910         * lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
4911         only of charprop.el was already loaded.
4913         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
4914         New order-only dependency.
4916 2015-12-25  Leo Liu  <sdl.web@gmail.com>
4918         * lisp/ido.el (ido-add-virtual-buffers-to-list): Use bookmark-get-filename.
4920 2015-12-25  Michael Albinus  <michael.albinus@gmx.de>
4922         Make tramp-test29-vc-registered more robust
4924         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
4925         Move `bzr' case down.  Skip test when `vc-create-repo' fails.
4926         Remove instrumentation.
4928 2015-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4930         * lisp/term/x-win.el (x-gtk-stock-map): Fix typo.
4932 2015-12-24  Katsumi Yamaoka  <yamaoka@jpl.org>
4934         Fix `gnus-union' so as to behave like `cl-union'
4936         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat):
4937         Make gnus-union use `equal' to compare items in lists.
4939         * lisp/gnus/gnus-util.el (gnus-union):
4940         Make it behave like cl-union partially.
4942 2015-12-23  Paul Eggert  <eggert@cs.ucla.edu>
4944         Fix dired.c typo with ptrdiff_t vs Lisp_Object
4946         * src/dired.c (file_name_completion): Don't assume Lisp_Object is
4947         an integer type, fixing a problem introduced in the recent fix for
4948         Bug#22169.
4950 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
4952         Document default process sentinel more prominently
4954         * doc/lispref/processes.texi (Asynchronous Processes): Mention the
4955         defaults for process filter and sentinel.  Provide cross-references.
4956         (Process Information): Provide cross-references to where filters
4957         and sentinels are described.
4958         (Filter Functions): Add an index entry for "default filter".
4959         (Sentinels): Add a few status messages not documented previously.
4960         Resolve the "killed" confusion.  Document and describe the default
4961         sentinel.  (Bug#22220)
4963 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
4965         Fix file-name completion on OS X
4967         * src/dired.c (file_name_completion): Reject false matches due to
4968         file-name-coding-systems that decompose characters when encoding
4969         file names, by comparing decoded file names as well.  (Bug#22169)
4970         (syms_of_dired) <Qdecomposed_characters>: New DEFSYM.
4972         * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a
4973         non-nil 'decomposed-characters' property.
4975 2015-12-23  Anders Lindgren  <andlind@gmail.com>
4977         File-name completion of non-ASCII characters on OS X (bug#22169)
4979         The coding system `utf-8-nfd', locally defined in ns-win.el,
4980         didn't provide a :pre-write-conversion method, causing file name
4981         completion of non-ASCII characters to fail.  Solved by using the
4982         `utf-8-hfs' coding system provided by `ucs-normalize'.
4984         * lisp/loadup.el: Load international/ucs-normalize (when building
4985         for ns).
4987         * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for
4988         `utf-8-hfs' and removed the old implementation.  Set `utf-8-hfs'
4989         as the file name coding system.
4991         * src/nsfns.m (ns-convert-utf8-nfd-to-nfc): Removed.
4993 2015-12-23  Tom Tromey  <tom@tromey.com>
4995         Fix bug #18588 by making bug-reference-bug-regexp more lenient
4997         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Accept
4998         "bug NNNN".  (Bug #18588)
5000 2015-12-23  Tom Tromey  <tom@tromey.com>
5002         add some cl-* aliases to lisp-mode imenu
5004         * (lisp-imenu-generic-expression): Add cl-define-compiler-macro,
5005         cl-defgeneric, and cl-defmethod.
5007 2015-12-22  Tom Tromey  <tom@tromey.com>
5009         Make a variable buffer-local
5011         * lisp/generic-x.el (generic-rul-mode-setup-function): Make
5012         font-lock-syntax-table buffer-local.  (Bug #21627)
5014 2015-12-22  Eli Zaretskii  <eliz@gnu.org>
5016         Fix decoding of text in URLs retrieved by EWW
5018         * lisp/net/eww.el (eww-render): Pass 'charset' to
5019         'eww-display-raw'.  Use the value of 'last-coding-system-used', if
5020         non-nil, to set 'buffer-file-coding-system' of the buffer where we
5021         show the URL.
5022         (eww-display-html, eww-display-raw): Decode the text correctly,
5023         using the charset found in the headers, and defaulting to UTF-8.
5024         If the user told us to use a specific encoding, override the
5025         charset from the headers.  (Bug#22222)
5027 2015-12-22  Alan Mackenzie  <acm@muc.de>
5029         Fix a coding error in c-forward-<>-arglist-recur.  Fixes bug#22156
5031         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Remove unused
5032         variable `tmp'.
5033         After a failed search for a matching ">", restore point before continuing.
5035 2015-12-22  Michael Albinus  <michael.albinus@gmx.de>
5037         Instrument Tramp tests
5039         * test/automated/tramp-tests.el (tramp-test29-vc-registered)
5040         (tramp--test-utf8): Instrument tests.
5042 2015-12-22  Martin Rudalics  <rudalics@gmx.at>
5044         Fix `display-buffer' call in `display-message-or-buffer' (Bug#22221)
5046         * lisp/simple.el (display-message-or-buffer): Call
5047         `display-buffer' with ACTION instead of NOT-THIS-WINDOW
5048         (Bug#22221).
5050 2015-12-22  Juri Linkov  <juri@linkov.net>
5052         * lisp/saveplace.el (toggle-save-place, save-place-to-alist)
5054         (save-places-to-alist, save-place-dired-hook):
5055         Check for dired-subdir-alist.  (Bug#19851)
5057 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5059         Add FIXME comment re stack overflow and modules
5061 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5063         Revert some recent emacs-module commentary
5065         Most of the recently-added commentary was incorrect, due to the
5066         possibility of stack overflow.
5068 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5070         Spelling fix: prefer "cooperate" to "co-operate"
5072 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5074         Port undo fixes to -fno-common
5076         Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'.
5077         * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo)
5078         (buffer_before_last_command_or_undo):
5079         Declare in keyboard.h, and define in keyboard.c,
5080         instead of assuming the traditional Unix relaxed ref-def linkage.
5082 2015-12-20  Philipp Stephani  <phst@google.com>
5084         Improve commentary for emacs-module.c
5086         * src/lisp.h: Document emacs-module.c assumptions about EQ and NILP.
5087         * src/emacs-module.c (module_non_local_exit_get): Document that we
5088         cannot use the current implementation.
5089         (module_is_not_nil, module_eq): Document assumptions about EQ and
5090         NILP.
5092 2015-12-20  Michael Albinus  <michael.albinus@gmx.de>
5094         Suppress test on Mac OS X
5096         * test/automated/tramp-tests.el (tramp--test-darwin-p): New defun.
5097         (tramp--test-utf8): Use it.
5099 2015-12-20  Alan Mackenzie  <acm@muc.de>
5101         Merge branch 'scratch/follow' into emacs-25
5103         This allows Isearch, etc., to work well when Follow Mode is active.
5105 2015-12-19  Michael Albinus  <michael.albinus@gmx.de>
5107         * lisp/net/tramp-sh.el (tramp-get-ls-command-with-w-option): Improve check.
5109 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5111         Fix last commit
5113         * doc/emacs/rmail.texi (Rmail Deletion): Document new behavior of 'u'
5114         with numeric argument.
5116 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5118         Document new features of Rmail
5120         * doc/emacs/rmail.texi (Rmail Summary Edit, Rmail Deletion):
5121         Document new behavior of 'd' and 'C-d' with numeric argument.
5122         (Rmail Display): Document the rendering of HTML MIME parts.
5124 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5126         Improve documentation of new cl-lib functions
5128         * doc/misc/cl.texi (Predicates on Numbers, Numerical Functions):
5129         Fix wording.
5131 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5133         Document the new feature of 'minibuffer-with-setup-hook'
5135         * lisp/files.el (minibuffer-with-setup-hook): Clarify how FUN is
5136         added to `minibuffer-setup-hook'.
5138 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5140         Document new features of Font Lock
5142         * doc/lispref/modes.texi (Other Font Lock Variables): Document
5143         'font-lock-flush-function' and 'font-lock-ensure-function'.
5144         (Font Lock Basics): Document the basic fontification functions
5145         referenced in "Other Font Lock Variables".
5147         * lisp/font-lock.el (font-lock-flush, font-lock-ensure): Doc fix.
5149 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5151         Document new features of Rectangle mode
5153         * doc/emacs/killing.texi (Rectangles): Document "C-x C-x" in
5154         rectangle-mark-mode.
5156 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5158         Manual followup to last change
5160         * doc/lispref/display.texi (Displaying Messages): Sync with the
5161         doc string.  (Bug#22210)
5163 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5165         Clarify doc string of 'display-message-or-buffer'
5167         * lisp/simple.el (display-message-or-buffer): Doc fix.  Suggested
5168         by Sebastian Wiesner <swiesner@lunaryorn.com>.  (Bug#22210)
5170 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5172         * doc/emacs/emacs.texi (Top): Update top-level menus.
5174         * doc/lispref/elisp.texi (Top): Update top-level menus.
5176 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5178         Document how to avoid file-local variables that aren't
5180         * doc/emacs/custom.texi (Specifying File Variables): Describe how
5181         to prevent Emacs from interpreting unrelated text as file-local
5182         variables.  (Bug#22166)
5184 2015-12-19  Dave Thomas  <dave@pragprog.org>  (tiny change)
5186         Fix a typo in eterm-color's termcap entry
5188         * lisp/term.el (term-termcap-format): Fix a typo in the "ue="
5189         entry.  (Bug#22184)
5191 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
5193         Allow 'browse-url-emacs' visit non-existent URLs
5195         * lisp/url/url-handlers.el (url-insert-file-contents): Don't
5196         signal an error if VISIT is non-nil, to more faithfully emulate
5197         the behavior of 'insert-file-contents'.  (Bug#22160)
5199 2015-12-19  Paul Eggert  <eggert@cs.ucla.edu>
5201         Remove SunOS 4.x cruft
5203         Support for SunOS 4.x was removed in Emacs 23 but some cruft was left behind.
5204         * lib-src/pop.c [sun]: Remove no-longer-needed include.
5205         * lwlib/xlwmenu.c (SUNSO41): Remove.
5207 2015-12-19  Paul Eggert  <eggert@cs.ucla.edu>
5209         Merge from gnulib
5211         This mostly commentary fixes.
5212         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
5213         * lib/gnulib.mk: Regenerate with new gnulib-tool.
5215 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
5217         Minor fixes in Tramp
5219         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
5220         Reorder ls arguments.
5222         * lisp/net/tramp.el (tramp-dissect-file-name): Fix docstring.
5224 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
5226         Make tramp a built-in package
5228         * lisp/finder.el (finder-compile-keywords): Update
5229         `package--builtins' also when Version: keyword is available.
5231         * lisp/net/trampver.el: Add Version: keyword.
5232         (tramp-version): Change it to "2.2.13.25.1", in order to be
5233         compatible with `version-to-list'.
5235 2015-12-18  Lele Gaifax  <lele@metapensiero.it>
5237         * etc/tutorials/TUTORIAL.it: Update and fix typos.
5239 2015-12-18  Alan Mackenzie  <acm@muc.de>
5241         Rename `recenter-group' to `recenter-window-group'
5243         * doc/lispref/windows.texi (Textual Scrolling)
5244         * lisp/window.el (top level, recenter-group)
5245         * lisp/follow.el (follow-mode)
5246         * lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
5247         `recenter-window-group' and `recenter-group-function' to
5248         `recenter-window-group-function'.
5250 2015-12-18  Eli Zaretskii  <eliz@gnu.org>
5252         Fix vertical-motion in tabulated-list mode
5254         * src/indent.c (Fvertical_motion): When moving from line beginning
5255         to point under line truncation, assume overshoot by one line only
5256         if point actually lies beyond the window's right margin.
5257         (Bug#22194)
5259 2015-12-18  Martin Rudalics  <rudalics@gmx.at>
5261         Don't have help functions call x-display-pixel-width/-height on ttys
5263         * lisp/help.el (temp-buffer-max-height, temp-buffer-max-width):
5264         Don't call x-display-pixel-width/-height on ttys.
5266 2015-12-18  Dmitry Gutov  <dgutov@yandex.ru>
5268         Use 'hg id' in vc-hg-previous-revision
5270         * lisp/vc/vc-hg.el (vc-hg-previous-revision):
5271         Use 'hg id' to retrieve it (bug#22032).
5273 2015-12-17  Alan Mackenzie  <acm@muc.de>
5275         * lisp/follow.el (follow-sit-for): Remove (it's redundant).
5277 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
5279         Fix a typo in the Emacs manual
5281         * doc/emacs/trouble.texi (Sending Patches): Fix a typo.  Reported
5282         by Lele Gaifax <lele@metapensiero.it>.  (Bug#22193)
5284 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
5286         Fix parsing netrc entries with ports
5288         * lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't
5289         make a list out of 't'.  (Bug#22188)
5291         * test/automated/auth-source-tests.el
5292         (auth-source-test-netrc-parse-entry): New test.
5294 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
5296         Fix typo in Doug Lea malloc configure log
5298         * configure.ac (emacs_cv_var_doug_lea_malloc):
5299         Fix typo that confused the log output of 'configure'.
5301 2015-12-16  Nicolas Petton  <nicolas@petton.fr>
5303         * etc/NEWS: Mention the new pcase patterns `seq' and `map'.
5305 2015-12-16  Alan Mackenzie  <acm@muc.de>
5307         * etc/NEWS: Move entry on pcase to correct section
5309         (Accidentally omitted from previous commit)
5311 2015-12-16  Alan Mackenzie  <acm@muc.de>
5313         Add documentation for changes to Show Paren mode.
5315         * lisp/paren.el (show-paren-highlight-openparen): Enhance doc string.
5317         * doc/emacs/programs.texi (Matching): Add descriptions of some pertinent user
5318         options, including the new show-paren-when-point-inside-paren and
5319         show-paren-when-point-in-periphery.
5321         * etc/NEWS (.. Specialized Modes ...): Add an entry for Show Paren mode.
5322         Move an entry on pcase to the Lisp Changes section.
5324 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
5326         Document Eldoc changes
5328         * doc/emacs/programs.texi (Lisp Doc): Document Global Eldoc mode.
5330 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
5332         Fix invocation of Python and Guile interpreters from gdb-mi
5334         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
5335         commands for interactive Python and Guile interpreters.
5336         (gdb-send): Recognize various ways of exiting from Python and
5337         Guile interpreters and returning to GDB.  For details, see
5338         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00693.html
5339         and http://stackoverflow.com/questions/31514741.
5341 2015-12-16  Paul Eggert  <eggert@cs.ucla.edu>
5343         Remove attempt to use C11 threads
5345         C11 threads are not needed for Emacs now, and their use is causing
5346         hassles on FreeBSD 10.x.  Problem reported by Ashish SHUKLA in:
5347         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html
5348         * configure.ac: Do not check for C11 threads. Remove unnecessary
5349         fiddling with CPPFLAGS when configuring pthreads.
5350         * src/emacs-module.c (main_thread, check_main_thread)
5351         (module_init): Do not worry about C11 threads.
5353 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
5355         Set utf8 encoding with stty in Tramp
5357         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
5358         Move up uname check.  Handle Mac OS X eol encoding.  Set utf8
5359         encoding with stty.
5361 2015-12-15  Alan Mackenzie  <acm@muc.de>
5363         Tidy up documentation associated with window groups.
5365         * doc/lispref/windows.texi (Basic Windows): Add an @anchor for "Window
5366         Groups".  Correct example function to `window-group-start'.
5367         (Window Start and End, Textual scrolling): Point to the new anchor.  State
5368         that (most of) the args in window group functions have the same meaning as for
5369         the corresponding window primitives.
5371         * doc/lispref/positions.texi (Screen Lines).  Same as above.
5373 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
5375         Complete last commit
5377         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
5378         Move uname check up.  Handle Mac OS X eol encoding.
5380 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
5382         Handle Mac OS X eol encoding in Tramp
5384         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
5385         Handle Mac OS X eol encoding.
5387 2015-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5389         Fix variable name typo in compute_tip_xy
5391         * src/w32fns.c (compute_tip_xy):
5392         * src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y
5393         when `right' is integer.
5395 2015-12-14  foudfou  <foudil.newbie+git@gmail.com>
5397         * lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region.
5399 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
5401         Revert "Fix rx matcher overflow without limiting"
5403         This reverts commit fe27e037663d36be3e5741c2ce86ab4ee8017db1.
5405 2015-12-14  Alan Mackenzie  <acm@muc.de>
5407         Ispell: Bind isearch-regexp-function to nil around call to isearch..-new-loop
5409         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): bind
5410         isearch-regexp-function to nil around call to isearch-lazy-highligh-new-loop.
5412 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
5414         Fix rx matcher overflow without limiting
5416         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve last
5417         change to the regexp without imposing a limit on the length of the
5418         options.
5420 2015-12-14  Alan Mackenzie  <acm@muc.de>
5422         Enhance ispell-skip-region-alist by generating part of it at runtime.
5424         * lisp/textmodes/ispell.el (ispell--\\w-filter, ispell--make-\\w-expression)
5425         (ispell--make-filename-or-URL-re): New functions which generate a regexp.
5426         (ispell-skip-region-alist): Remove the bit that matches a filename/URL, etc.
5427         (ispell-begin-skip-region-regexp, ispell-skip-region-list, ispell-message):
5428         Include the result of ispell--make-filename-or-URL-re in regexps.
5430 2015-12-14  Glenn Morris  <rgm@gnu.org>
5432         * build-aux/gitlog-to-emacslog: Ignore more pointless merge commits.
5434 2015-12-14  Alan Mackenzie  <acm@muc.de>
5436         Replace GROUP argument in six window primitives by new functions.
5438         * doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
5439         * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
5440         from description of six window functions.  Add in description of new functions
5441         window-group-start, window-group-end, set-window-group-start,
5442         pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
5443         together with the six variables indirecting to the pertinent group
5444         functions.
5446         * src/window.c
5447         * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
5448         applies to these two files, which added the GROUP argument to six window
5449         primitives.
5451         * lisp/follow.el (follow-mode): Use updated variable names for the indirected
5452         functions.
5454         * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
5455         (isearch-back-into-window, isearch-lazy-highlight-new-loop)
5456         (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
5457         to window primitives (e.g. window-start) with a GROUP argument by calls to
5458         new functions (e.g. window-group-start).
5460         * lisp/ispell.el (ispell-command-loop): Replace call to
5461         pos-visible-in-window-p with pos-visible-in-window-group-p.
5463         * lisp/window.el (window-group-start, window-group-end)
5464         (set-window-group-start, recenter-group, pos-visible-in-window-group-p)
5465         (selected-window-group, move-to-window-group-line): New functions.
5466         (window-group-start-function, window-group-end-function)
5467         (set-window-group-start-function, recenter-group-function)
5468         (pos-visible-in-window-group-p-function, selected-window-group-function)
5469         (move-to-window-group-line-function): New variables.
5471 2015-12-14  Vitorio Miguel  <vdrbandeiras@gmail.com>  (tiny change)
5473         * etc/tutorials/TUTORIAL.pt_BR: Fix a typo.  (Bug#22165)
5475 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
5477         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
5479 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
5481         Improve regex to not trigger stack overflow
5483         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve regex in
5484         order not to trigger a stack overflow in regex matcher with unbalanced
5485         brackets (bug#22146).
5487 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
5489         Fix visiting files with raw-text
5491         * src/fileio.c (Finsert_file_contents): Fix setting buffer unibyte
5492         when some stuff was actually read.  (Bug#22162)
5494 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
5496         Fix regex matching keyval labels
5498         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Fix regexp
5499         matching keyval labels.
5501 2015-12-13  Michael Albinus  <michael.albinus@gmx.de>
5503         * lisp/ido.el (ido-file-name-all-completions-1): Do not raise an error
5505         ... in case of Tramp.  (Bug#20821)
5507 2015-12-13  Paul Eggert  <eggert@cs.ucla.edu>
5509         Fix performance regression with gcc -O0
5511         This fixes the smaller performance hit that I noted in:
5512         https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00357.html
5513         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, macro_XPNTR):
5514         * src/puresize.h (puresize_h_PURE_P)
5515         (puresize_h_CHECK_IMPURE):
5516         New macros, with the old contents of the functions.
5517         * src/alloc.c (XPNTR_OR_SYMBOL_OFFSET, XPNTR):
5518         * src/puresize.h (PURE_P, CHECK_IMPURE):
5519         Use the new macros.  Also macros, if DEFINE_KEY_OPS_AS_MACROS.
5520         * src/conf_post.h (ATTRIBUTE_UNUSED):
5521         * src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): New macros.
5523 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5525         * lisp/emacs-lisp/package.el (package-unpack): Security check
5527         Check that we received the package we were offered.
5529 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5531         * lisp/emacs-lisp/package.el (package--compile): Don't activate
5533         `package-unpack' takes care of all activations now (other than
5534         `package-initialize).  `package--compile' now only compiles.
5536 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
5538         Document the new bindings of <UP> and <DOWN> in the minibuffer
5540         * doc/emacs/mini.texi (Minibuffer History): Describe the new
5541         bindings of <UP> and <DOWN> in the minibuffer.
5543 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
5545         Document new features of Ido
5547         * doc/misc/ido.texi (Misc): Document 'C-S-b'.
5549 2015-12-12  Martin Rudalics  <rudalics@gmx.at>
5551         Fix frame height calculations with added menu bar on Windows (Bug#22105)
5553         * doc/lispref/frames.texi (Parameter Access): Mention pitfalls
5554         when simultaneously specifying multiple parameters for
5555         `modify-frame-parameters' that all may change the frame's size.
5556         * src/w32fns.c (x_set_menu_bar_lines): Don't set
5557         windows_or_buffers_changed here.
5558         (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect
5559         with third argument false.
5560         * src/w32menu.c (set_frame_menubar): Set
5561         windows_or_buffers_changed here.
5562         * src/w32term.c (x_set_window_size): Determine third argument of
5563         AdjustWindowRect from whether the frame has a menu bar and not
5564         from whether it wants one.
5566 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
5568         Document the change in interactive shell mode
5570         * doc/emacs/misc.texi (Interactive Shell): Document that the
5571         '*shell*' buffer by default displays in a new window.
5573 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
5575         Document new features of package.el
5577         * doc/emacs/package.texi (Package Menu): Document the 'external'
5578         status and the new menu commands.
5579         (Package Installation): Document archive priorities.
5581         * lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
5582         (package-menu-hide-low-priority): Doc fix.
5584 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
5586         Update and document new features of xterm support
5588         * doc/emacs/frames.texi (Text-Only Mouse): Document that
5589         track-mouse is supported by newer xterm versions.
5591 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
5593         Document new features of Prettify Mode
5595         * doc/emacs/programs.texi (Misc for Programs): Document
5596         'prettify-symbols-compose-predicate' and
5597         'prettify-symbols-unprettify-at-point'.
5599         * lisp/progmodes/prog-mode.el (prettify-symbols-alist)
5600         (prettify-symbols-default-compose-p)
5601         (prettify-symbols-compose-predicate)
5602         (prettify-symbols--compose-symbol): Doc fixes.
5604 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
5606         Document multi-mode indentation facilities
5608         * doc/lispref/text.texi (Mode-Specific Indent): Document
5609         'prog-indentation-context', 'prog-first-column', and 'prog-widen'.
5611         * lisp/progmodes/prog-mode.el (prog-indentation-context)
5612         (prog-widen): Doc fixes.
5614 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
5616         Document 'vc-refresh-state'
5618         * doc/emacs/maintaining.texi (Version Control): Document
5619         'vc-refresh-state'.
5621         * lisp/vc/vc-hooks.el (vc-refresh-state): Doc fix.
5623 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
5625         Fix echo for "C-u"
5627         * src/keyboard.c (command_loop_1): Undo last change.  It caused
5628         duplicate echo of C-u.  (Bug#22107)
5630 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
5632         Avoid errors when creating files under SVN in new directory
5634         * lisp/vc/vc-svn.el (vc-svn-registered): Use
5635         file-accessible-directory-p, to avoid cd'ing to a non-existing
5636         directory, which signals an error on some systems.  (Bug#21984)
5637         (vc-svn-checkin): Call log-edit-extract-headers with 2 arguments.
5638         Use declare-function to avoid byte-compiler warnings.
5640 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
5642         Improve Lua support in etags
5644         * lib-src/etags.c (Lua_functions): Skip spaces before looking for
5645         "function".
5647         * etc/NEWS: Mention improved Lua support by 'etags'.
5649         * test/etags/lua-src/test.lua (test): Add tests for indented
5650         function definitions.
5651         * test/etags/ETAGS.good_1:
5652         * test/etags/ETAGS.good_2:
5653         * test/etags/ETAGS.good_3:
5654         * test/etags/ETAGS.good_4:
5655         * test/etags/ETAGS.good_5:
5656         * test/etags/ETAGS.good_6:
5657         * test/etags/CTAGS.good: Adapt to the modified Lua tests.
5659 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
5661         Fix 'this-command-keys' wrt prefix argument
5663         * src/keyboard.c (command_loop_1): Restore the feature whereby C-u
5664         was part of this-command-keys, but not of this-single-command-keys.
5665         (Bug#22107)
5667         * lisp/simple.el (internal-echo-keystrokes-prefix): Add
5668         commentary about the function's return value.
5670 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
5672         * lisp/files.el (load-library): Doc fix.  (Bug#22140)
5674 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
5676         Improve and document Ruby support in 'etags'
5678         * lib-src/etags.c (Ruby_suffixes): Add ".ruby".
5679         (Ruby_functions): Support "module" and overloaded operators.
5680         (Ruby_help): Mention "module".
5682         * test/etags/ruby-src/test.rb:
5683         * test/etags/ruby-src/test1.ru: New files.
5684         * test/etags/Makefile (RBSRC): New tests.
5685         (SRCS): Add ${RBSRC}.
5686         * test/etags/ETAGS.good_1:
5687         * test/etags/ETAGS.good_2:
5688         * test/etags/ETAGS.good_3:
5689         * test/etags/ETAGS.good_4:
5690         * test/etags/ETAGS.good_5:
5691         * test/etags/ETAGS.good_6:
5692         * test/etags/CTAGS.good: Adapt to the new Ruby tests.
5694         * doc/man/etags.1: Mention Ruby support.
5695         * etc/NEWS: Mention Ruby support.
5697 2015-12-11  Xi Lu  <lx@shellcodes.org>
5699         Initial support for Ruby in 'etags'
5701         * lib-src/etags.c <Ruby_suffixes>: New variable.
5702         (lang_names): Add an entry for Ruby.
5703         (Ruby_functions): New function.  (Bug#22116)
5705 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
5707         Clarify documentation of 'modify-frame-parameters'
5709         * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
5710         PARMs" mean for 'modify-frame-parameters'.
5712         * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
5713         PARMs" mean for this function.  (Bug#22104)
5715 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
5717         Fix setting buffer unibyte when reading from a device
5719         * src/fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
5720         to make a (possibly non-empty) buffer unibyte.  (Bug#22096)
5722 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
5724         Clarify documentation of 'values'
5726         * doc/lispref/eval.texi (Eval): Clarify that 'values' are not
5727         updated by any evaluation commands in 'lisp-interaction-mode'.
5728         (Bug#22056)
5730 2015-12-11  Anders Lindgren  <andlind@gmail.com>
5732         Fixed subversion vc error when opening file in new directory (bug#21984).
5734         * lisp/vc/vc-svn.el (vc-svn-registered): Check if directory exists.
5736 2015-12-09  Eli Zaretskii  <eliz@gnu.org>
5738         Yet another fix for when point ends up in invisible text
5740         * src/xdisp.c (redisplay_window): When someone forced
5741         window-start, and honoring that failed to show the cursor, try
5742         moving out of invisible text, before falling back to the middle of
5743         the window.  (Bug#22098)
5745 2015-12-09  Michael Albinus  <michael.albinus@gmx.de>
5747         Fix error in Tramp perl script for cygwin
5749         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not raise an
5750         error if file doesn't exist.
5752 2015-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5754         Remove font workaround for limited outdated versions
5756         * src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove
5757         workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1.
5759 2015-12-09  Anders Lindgren  <andlind@gmail.com>
5761         Don't add "." to load path (bug#21104)
5763         When configured with --enable-locallisppath=no, which is the
5764         default for OS X, the load-path incorrectly was populated with ".".
5766         * src/lread.c (init_lread): Don't call `decode_env_path' when
5767         PATH_SITELOADSEARCH is empty.
5769 2015-12-08  Artur Malabarba  <bruce.connor.am@gmail.com>
5771         * lisp/emacs-lisp/package.el (package--with-response-buffer):
5773         Search for the blank-line in the right buffer.
5775 2015-12-08  Glenn Morris  <rgm@gnu.org>
5777         * test/automated/simple-test.el (undo-auto-boundary-timer): Update
5778         for recent change.
5780 2015-12-08  Glenn Morris  <rgm@gnu.org>
5782         Fix some display-warning usage.
5784         * lisp/files.el (hack-local-variables, hack-dir-local-variables):
5785         * lisp/calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
5786         * lisp/calendar/holidays.el (calendar-holiday-list):
5787         * lisp/mail/rmailout.el (rmail-output-read-file-name):
5788         Fix display-warning usage.
5790 2015-12-08  Glenn Morris  <rgm@gnu.org>
5792         * lisp/calendar/cal-html.el: Require diary-lib.
5794         (cal-html-list-diary-entries): Handle no diary.  (Bug#21994)
5796 2015-12-08  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5798         Add Obsolete-since header to eudcb-ph.el
5800         * lisp/obsolete/eudcb-ph.el: Add Obsolete-since header.
5802 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
5804         Spelling fixes
5806         * doc/misc/calc.texi (Predefined Units): Use the bland modern
5807         scientific style for spelling the units “ampere” and
5808         “angstrom” rather than the older style “Ampere” and
5809         “Ångstrom”.  The latter spelling was wrong anyway (it should
5810         have been “Ångström”).
5811         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
5812         Fix misspelling of ‘atom’ in code.
5814 2015-12-07  Eli Zaretskii  <eliz@gnu.org>
5816         Improve documentation of kill commands
5818         * lisp/simple.el (region-extract-function, delete-backward-char)
5819         (delete-forward-char, kill-region, copy-region-as-kill)
5820         (kill-ring-save): Better document the optional argument REGION in
5821         the doc strings.  Mention in the doc strings that text put in the
5822         kill-ring can be filtered by 'filter-buffer-substring'.
5824         * doc/lispref/text.texi (Kill Functions): Mention that functions
5825         described in this subsection can filter text they put in the
5826         kill-ring.  Add a cross-reference to "Buffer Contents" and an
5827         index entry.  Document the optional argument 'region' and its
5828         effect.
5829         (Bug#21315)
5831 2015-12-07  Alan Mackenzie  <acm@muc.de>
5833         Further progress making Isearch, Ispell, Replace work with Follow Mode.
5835         * lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which
5836         no longer exists.  Add follow-post-command-hook to  three special purpose
5837         hooks at setup, and remove them at tear down.
5839         * lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before
5840         isearch-lazy-highlight-new-loop.
5841         (isearch-lazy-highlight-new-loop): Restore this function to what it previously
5842         was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into
5843         it.
5844         (isearch-lazy-highlight-maybe-new-loop): function removed.
5846         * lisp/replace.el: (replace-update-post-hook): New hook variable.
5847         (perform-replace): Add second (nil) argument to looking-back.  Invoke
5848         replace-update-post-hook before calling replace-highlight.
5850         * lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable.
5851         (ispell-command-loop): invoke ispell-update-post-hook.  Add GROUP argument to
5852         call of pos-visible-in-window-p.
5853         (ispell-display-buffer): Place *Choices* window at the top of the last window
5854         in a window group.
5856 2015-12-07  Alan Mackenzie  <acm@muc.de>
5858         Amend doc of `mapconcat': it can take sequences, not merely strings.
5860         * doc/lispref/functions.texi (Mapping Functions): Amend the doc of `mapconcat'
5861         to say that SEPARATOR and the results from FUNCTION may be any character
5862         sequences, not just strings.  Add an @xref to "Sequences Arrays Vectors".
5864 2015-12-07  Michael Albinus  <michael.albinus@gmx.de>
5866         Fix an utf8 problem for Tramp on BSD
5868         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
5869         Make lax check for utf8.
5870         (tramp-get-remote-locale): Add "en_US.UTF-8" as candidate.
5872 2015-12-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5874         Make eudcb-ph.el obsolete
5876         * doc/misc/eudc.texi: Bump version to 1.40.0.
5877         Remove PH/QI sections and mentions.
5878         * lisp/obsolete/eudcb-ph.el: Make obsolete.
5879         * lisp/net/eudc-vars.el (eudc-known-protocols): Remove ph.
5880         (eudc-ph-bbdb-conversion-alist): Make obsolete.
5881         * etc/NEWS: Mention this.  (Bug#21191)
5883 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
5885         Remove overenthusiastic eassert
5887         * src/lisp.h (XSYMBOL): Remove eassert incorrectly added in
5888         previous change.  It breaks on MS-Windows --with-wide-int.
5889         Problem reported by Eli Zaretskii in:
5890         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00275.html
5892 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
5894         Pacify gcc -Wparentheses
5896         * src/xdisp.c (row_containing_pos): Reparenthesize.
5898 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
5900         Port mod-test to 32-bit Emacs --without-wide-int
5902         * modules/mod-test/test.el (mod-test-sum-test):
5903         Bring back the 2**29 tests, but port them to 32-bit Emacs
5904         --without-wide-int.
5906 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
5908         Fix minor Tramp problems found on BSD
5910         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
5911         trailing slash.  Quote apostrophes.
5912         (tramp-sh-handle-file-truename): Do not append trailing slash in
5913         the "ls" case.
5914         (tramp-get-ls-command-with-w-option): New defun.
5915         (tramp-do-file-attributes-with-ls)
5916         (tramp-do-directory-files-and-attributes-with-stat): Use it.
5918         * test/automated/tramp-tests.el
5919         (tramp-test31-special-characters-with-perl)
5920         (tramp-test31-special-characters-with-ls)
5921         (tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
5922         Suppress also readlink.
5924 2015-12-06  Eli Zaretskii  <eliz@gnu.org>
5926         Fix cursor display when invisible text is at line beginning
5928         * src/xdisp.c (redisplay_window): When scrolling fails to show
5929         point, prefer using the desired matrix if possible for finding the
5930         fallback glyph row for displaying the cursor.  (Bug#22098)
5931         (row_containing_pos): Exit the loop as soon as we hit the first
5932         disabled glyph row.  Otherwise we risk accessing garbled data and
5933         departing to the no-no land.
5935 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
5937         Improve module interface when WIDE_EMACS_INT
5939         * src/emacs-module.c (plain_values): New constant.
5940         (module_nil): Now a constant.
5941         (Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits)
5942         (syms_of_module): Use if, not #ifdef, so that both sides are
5943         checked at compile-time, and so that GCC doesn’t complain
5944         about an unused var in the typical case.  Also, depend on
5945         plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume
5946         that WIDE_EMACS_INT implies !USE_LSB_TAG.
5947         (value_to_lisp_bits, lisp_to_value_bits): New functions.
5948         Sign-extend integers rather than zero-extending them, as small
5949         negative integers are more likely.
5950         (value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits
5951         functions.
5952         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined.
5953         (mark_modules): Remove.  All uses removed.
5954         (lisp_to_value): Don’t assume Fcons returns a pointer aligned
5955         to GCALIGNMENT.
5956         (syms_of_module): Check that module_nil converts to Qnil.
5957         * src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since
5958         we prefer signed to unsigned when either will do.
5959         (TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is
5960         a bit better for emacs-module.c.
5962 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
5964         Port mod-test to x86-64 GNU/Linux running 32-bit
5966         * modules/mod-test/test.el (mod-test-sum-test):
5967         Don’t attempt to match descriptions to operating systems.
5968         It didn’t work on Fedora x86-64 running a 32-bit executable,
5969         and it’s not worth the trouble anyway.
5970         Port to 32-bit platforms by removing an assumption about
5971         fixnum widths.
5973 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
5975         Fix auto-revert-tests.el when filenotify isn't used
5977         * test/automated/auto-revert-tests.el (auto-revert--wait-for-revert):
5978         Make it working also when filenotify isn't used.
5980 2015-12-06  Juri Linkov  <juri@linkov.net>
5982         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
5984         Let-bind isearch-regexp-function to nil.  (Bug#22097)
5986 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
5988         * lisp/emacs-lisp/package.el: Don't install bad signatures (bug#22089)
5990         (package--with-response-buffer): NOERROR and ERROR-FORM only
5991         handle connection errors.
5992         (bad-signature): New error type.
5993         (package--check-signature-content): Use it.
5994         (package--check-signature): Properly distinguish connection errors
5995         from bad-signature errors.  Do the check for
5996         `package-check-signature' `allow-unsigned' here instead of forcing
5997         the callbacks to do it.  Add a new argument, UNWIND.
5998         (package--download-one-archive, package-install-from-archive):
5999         Update usage of `package--check-signature'.
6001 2015-12-05  Ulf Jasper  <ulf.jasper@web.de>
6003         Fix Bug#22092.
6005         * lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
6006           Clean up inconsistent line endings. (Bug#22092)
6007           (icalendar--clean-up-line-endings): New.
6008         * test/automated/icalendar-tests.el (icalendar-real-world): Add test
6009           for Bug#22092.
6011 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6013         Document 'bookmark-set-no-overwrite'
6015         * doc/emacs/regs.texi (Bookmarks): Document the new command
6016         'bookmark-set-no-overwrite' and its keybinding.
6018 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6020         Document new binding of 'mouse-buffer-menu'
6022         * doc/emacs/buffers.texi (Buffer Menus): 'mouse-buffer-menu' is
6023         now also on C-F10.
6025 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6027         Initial documentation of dynamic modules
6029         * doc/lispref/loading.texi (Dynamic Modules): New section with
6030         initial documentation for dynamic modules.
6031         * doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the
6032         detailed menu
6034         * etc/NEWS: Fix typos in dynamic modules' entry.
6036 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
6038         Remove copyright statements from trivial test files
6040 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6042         Add "Preliminaries" section to etc/DEBUG
6044         * etc/DEBUG: Add the "Preliminaries" section for GDB beginners.
6045         Most of the content was suggested by Phillip Lord
6046         <phillip.lord@russet.org.uk>.  Remove the section about debugging
6047         with the Visual Studio, as building Emacs with the Microsoft
6048         compilers is no longer supported.  Minor fixes in some other
6049         sections.
6051 2015-12-05  Alex Dunn  <dunn.alex@gmail.com>  (tiny change)
6053         Improve parsing of version strings
6055         * lisp/subr.el (version-regexp-alist): Allow "." as priority separator
6056         (version-to-list): More helpful error messages.
6057         (version-to-list): ".5" is valid (update docstring).  Make
6058         "22.8X3" invalid, as the doc string says.
6060         * test/automated/subr-tests.el (ert-test-version-parsing): New
6061         tests for version string processing.
6063 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6065         Fix documentation of 'undo' changes
6067         * doc/lispref/text.texi (Undo): Minor wording changes.  Use US
6068         English conventions for spelling and whitespace between sentences.
6070         * etc/NEWS: Fix wording and spelling of undo-related entries.
6071         Mark them as documented.
6073 2015-12-05  Glenn Morris  <rgm@gnu.org>
6075         * lisp/net/net-utils.el: Small improvements.
6077         (net-utils--executable-find-sbin): New function.
6078         (ifconfig-program): Check sbin directories.
6079         Fallback to "ip".  (Bug#22091)
6080         (ifconfig-program-options): Check the actual program in use.
6081         (arp-program): Check sbin directories.
6083 2015-12-04  (tiny change) Arash Esbati  <esbati@gmx.de>  (tiny change)
6085         Fix wrong-type-argument integer-or-marker-p nil error
6087         * lisp/textmodes/reftex-auc.el (reftex-what-index-tag):
6088         Fix (wrong-type-argument integer-or-marker-p nil) error (bug#22077).
6090 2015-12-04  Alan Mackenzie  <acm@muc.de>
6092         Merge branch 'scratch/follow' of /home/acm/emacs/emacs.git/emacs-25 into scratch/follow
6094         Merge necessitated by a rebase operation.
6096 2015-12-04  Alan Mackenzie  <acm@muc.de>
6098         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
6100 2015-12-04  Alan Mackenzie  <acm@muc.de>
6102         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
6104         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
6105         Windows" and new @defun selected-window-group.
6106         (Window Start and End): Describe new &optional parameter GROUP and
6107         ...-group-function for window-start, window-end, set-window-start, and
6108         pos-visible-in-window-p.
6109         (Textual Scrolling) Describe the same for recenter.
6110         doc/lispref/positions.texi (Screen Lines): Describe the same for
6111         move-to-window-line.
6113         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
6114         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
6115         new optional parameter "group".  At the beginning of each, check whether the
6116         corresponding ...-group-function is set to a function, and if so execute this
6117         function in place of the normal processing.
6118         (syms_of_window): Define symbols for the six new variables below.
6119         (window-start-group-function, window-end-group-function)
6120         (set-window-start-group-function, recenter-group-function)
6121         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
6122         New permanent local buffer local variables.
6123         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
6124         Fpos_visible_in_window_p.
6126         lisp/window.el (selected-window-group-function): New permanent local buffer
6127         local variable.
6128         (selected-window-group): New function.
6130         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
6131         enable, kill them at mode disable.  Add/remove follow-after-change to/from
6132         after-change-functions.
6133         (follow-start-end-invalid): New variable.
6134         (follow-redisplay): Manipulate follow-start-end-invalid.
6135         (follow-after-change, follow-window-start, follow-window-end)
6136         (follow-set-window-start, follow-pos-visible-in-window-p)
6137         (follow-move-to-window-line, follow-sit-for): New functions.
6139         lisp/isearch.el (isearch-call-message): New macro.
6140         (isearch-update, with-isearch-suspended, isearch-del-char)
6141         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
6142         (with-isearch-suspended): Rearrange code such that isearch-call-message is
6143         invoked before point is moved.
6144         (isearch-message): Add comment about where point must be at function call.
6145         (isearch-search): Remove call to isearch-message.
6146         (isearch-lazy-highlight-window-group): New variable.
6147         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
6148         the battery of tests to ...
6149         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
6150         Note: (sit-for 0) is still called.
6151         (isearch-lazy-highlight-update): Check membership of
6152         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
6153         property.
6154         (isearch-update, isearch-done, isearch-string-out-of-window)
6155         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
6156         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
6157         (isearch-lazy-highlight-update): Call the six amended primitives (see
6158         src/window.c above) with the new `group' argument set to t, to cooperate
6159         with Follow Mode.
6161 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6163         * lisp/emacs-lisp/ert.el: Prefer pcase over cl-typecase
6165         * lisp/emacs-lisp/ert.el (ert--should-error-handle-error)
6166         (ert--explain-format-atom, ert--explain-equal-rec)
6167         (ert--print-backtrace, ert-test-result-type-p, ert-select-tests)
6168         (ert--insert-human-readable-selector): Prefer pcase over cl-typecase.
6170 2015-12-04  Artur Malabarba  <bruce.connor.am@gmail.com>
6172         * lisp/character-fold.el: Remove special case-folding support
6174         (character-fold-to-regexp): Remove special code for
6175         case-folding.  Char-fold search still respects the
6176         `case-fold-search' variable (i.e., f matches F).  This only
6177         removes the code that was added to ensure that f also matched
6178         all chars that F matched.  For instance, after this commit, f
6179         no longer matches 𝔽.
6181         This was necessary because the logic created a regexp with
6182         2^(length of the string) redundant paths.  So, when a very
6183         long string "almost" matched, Emacs took a very long time to
6184         figure out that it didn't.  This became particularly relevant
6185         because isearch's lazy-highlight does a search bounded by (1-
6186         match-end) (which, in most circumstances, is a search that
6187         almost matches).  A recipe for this can be found in bug#22090.
6189 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6191         * lisp/emacs-lisp/cl-macs.el (character): Can't be negative
6193         Fixes (bug#21701)
6195 2015-12-04  Daiki Ueno  <ueno@gnu.org>
6197         lisp/gnus/qp.el: Don't replace "from " at bol
6199         * lisp/gnus/qp.el (quoted-printable-encode-region): Bind `case-fold-search'
6200         to nil when looking for "^From ".  Problem reported by Simon Josefsson.
6202 2015-12-03  Phillip Lord  <phillip.lord@russet.org.uk>
6204         Externalize some symbols in undo-auto
6206          * doc/lispref/text.texi: Update symbols.
6207          * lisp/simple.el (undo-auto--amalgamate,
6208            undo-auto--current-boundary-timer): Make symbols public.
6209          * src/cmds.c (Fself_insert_command,Fdelete_char): Call
6210            updated symbol.
6212 2015-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6214         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix BOB "token"
6216 2015-12-03  Michael Albinus  <michael.albinus@gmx.de>
6218         Some error message improvements in tramp-sh.el
6220         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6221         Suppress error messages for "mesg" and "biff" calls.
6222         (tramp-get-remote-path): Ignore errors when expanding
6223         `tramp-own-remote-path'.  Raise a warning instead.
6225 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
6227         Document 'nacl' value for 'system-type'
6229         * doc/lispref/os.texi (System Environment): Document the 'nacl'
6230         value of 'system-type'.
6232 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
6234         Document 'window-max-chars-per-line'
6236         * doc/lispref/windows.texi (Window Sizes): Document
6237         'window-max-chars-per-line'.
6239 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
6241         Fix some file headers for the purpose of `package--builtins'
6243         * lisp/emacs-lisp/cl-preloaded.el
6244         * lisp/emacs-lisp/eieio-compat.el
6245         * lisp/net/sasl-scram-rfc.el: Add a "Package:" header
6247         * lisp/ielm.el: Fix summary line.
6249 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
6251         * lisp/emacs-lisp/package.el (package-unpack): Load before compiling
6253         Reload any previously loaded package files before compiling
6254         the package (also reload the same files after compiling).
6255         This ensures that we have the most recent definitions during
6256         compilation, and avoids generating bad elc files when a macro
6257         changes and it is used in a different file from the one it's
6258         defined in.
6260 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
6262         * lisp/emacs-lisp/package.el: Refactor package activation code
6264         (package-activate): Move code that activates dependencies into
6265         package-activate-1.
6266         (package--load-files-for-activation): New function.
6267         (package-activate-1): Add code for (optionally) activating
6268         dependencies, and move file-loading code into
6269         `package--load-files-for-activation'.
6271 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
6273         Document new font-related functionality
6275         * doc/lispref/display.texi (Low-Level Font): Document
6276         'default-font-width', 'default-font-height', 'window-font-width',
6277         and 'window-font-height'.
6279         * etc/NEWS: Move entries for 'default-font-width',
6280         'default-font-height', 'window-font-width', and 'window-font-height'
6281         to their place and mark them documented.
6283 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
6285         Fix documentation and implementation of 'directory-name-p'
6287         * lisp/files.el (directory-name-p): Modify to recognize
6288         backslashes on MS-Windows and MS-DOS.  Adjust the doc string
6289         accordingly.  Use '=', not char-equal, for comparison, as
6290         letter-case cannot possibly be an issue here.
6292         * doc/lispref/files.texi (Directory Names): Move the documentation
6293         of directory-name-p here from "Relative File Names".  Update the
6294         description per the changes in implementation.
6296         * etc/NEWS: Move the entry for 'directory-name-p' to its proper
6297         place and mark it documented.
6299 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
6301         Minor copyedit in Emacs manual
6303         * doc/emacs/search.texi (Lax Search): Make wording about character
6304         folding by default less definitive.  (Bug#22043)
6306 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
6308         More emacs-module.c fixes for wide ints
6310         * src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
6311         unsigned data types to manipulate pointers, to avoid sign
6312         extension coming after us with a vengeance.
6314         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
6315         Emacs with wide ints that verify integer values near the critical
6316         value that requires us to switch to a cons cell.
6318 2015-12-02  Stephen Leake  <stephen_leake@stephe-leake.org>
6320         Fix bug#22069 in cl-generic.el
6322         * lisp/emacs-lisp/cl-generic.el (cl-no-method): Remove %S; this string is
6323         not run thru `format'.
6325 2015-12-02  Dmitry Gutov  <dgutov@yandex.ru>
6327         APPEND etags--xref-backend to xref-backend-functions
6329         * lisp/progmodes/xref.el (xref-backend-functions):
6330         Use APPEND when adding the default element
6331         (http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00061.html).
6333 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
6335         More accurate documentation of lax whitespace matching
6337         * lisp/isearch.el (isearch-forward-word, isearch-forward-symbol)
6338         (word-search-backward, word-search-forward)
6339         (word-search-backward-lax, word-search-forward-lax): Mention in
6340         doc strings that toggling lax whitespace matching has no effect on
6341         these commands.
6343         * doc/emacs/search.texi (Word Search, Symbol Search): Clarify that
6344         lax whitespace matching has no effect on these commands.
6346 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
6348         Fix emacs-module.c for wide ints
6350         * src/emacs-module.c (lisp_to_value): Compare the produced value
6351         with the original Lisp object, not with the one potentially
6352         converted into a Lisp_Cons.  Fixes assertion violations when
6353         working with integers larger than fit into a 32-bit value.
6355         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
6356         large integers, to test --with-wide-int.
6358 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
6360         Document 'directory-files-recursively'
6362         * lisp/files.el (directory-files-recursively): Doc fix.  Rename
6363         the argument MATCH to REGEXP, to be more explicit about its form.
6365         * doc/lispref/files.texi (Contents of Directories): Improve the
6366         documentation of 'directory-files-recursively'.  Add
6367         cross-references.
6369         * etc/NEWS: Move the entry for 'directory-files-recursively' to
6370         its place and mark it documented.
6372 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
6374         Document 'inhibit-read-only' property
6376         * doc/lispref/text.texi (Special Properties): Describe the new
6377         'inhibit-read-only' text property.  Add cross-reference to where
6378         read-only buffers are described.
6379         * doc/lispref/buffers.texi (Read Only Buffers): Mention that
6380         'inhibit-read-only' property exempts text from being read-only.
6381         Add cross-reference to "Special Properties".
6383         * etc/NEWS: Move the entry about 'inhibit-read-only' property to
6384         its place and mark it documented.
6386 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
6388         * lisp/emacs-lisp/package.el: Update header comments
6390 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
6392         * lisp/character-fold.el: Add back multi-char matching
6394         (character-fold-to-regexp): Uncomment recently commented code
6395         and make the algorithm "dummer" by not checking every possible
6396         combination.  This will miss some possible matches, but it
6397         greatly reduces regexp size.
6399         * test/automated/character-fold-tests.el
6400         (character-fold--test-fold-to-regexp): Comment out test of
6401         functionality no longer supported.
6403 2015-12-01  Xue Fuqiao  <xfq.free@gmail.com>
6405         * doc/emacs/ack.texi (Acknowledgments): Update.
6407 2015-12-01  Michael Albinus  <michael.albinus@gmx.de>
6409         Check `file-remote-p' over absolute files names in files.el
6411         * lisp/files.el (directory-files-recursively)
6412         (get-free-disk-space): Check `file-remote-p' over absolute files names.
6414 2015-12-01  Andreas Schwab  <schwab@linux-m68k.org>
6416                 * src/lread.c (syms_of_lread): Doc fix.
6418 2015-12-01  Dmitry Gutov  <dgutov@yandex.ru>
6420         Don't mistake certain JS method calls for keywords
6422         * lisp/progmodes/js.el (js--ctrl-statement-indentation):
6423         Braceless keyword can't come after a period (bug#22063).
6425 2015-12-01  David Reitter  <david.reitter@gmail.com>
6427         Read frame_title_format from buffer-local variable for NS port
6429         * src/nsfns.m (x_implicitly_set_name): Read frame-title-format and
6430         icon-title-format variables from buffer in appropriate window.
6431         (Bug#22048)
6433 2015-12-01  Juri Linkov  <juri@linkov.net>
6435         * lisp/replace.el (occur-engine): Count matches in empty lines.
6437         (Bug#22062)
6439 2015-11-30  Aurélien Aptel  <aurelien.aptel@gmail.com>
6441         * src/emacs-module.h: Fix finalizer typedef for C++11
6443         C++11 standard doesn't allow exception-specification in typedef.
6444         The workaround is to declare a dummy function prototype and use
6445         decltype on it.
6447 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
6449         Fix last change
6451         * src/emacs-module.c (lisp_to_value, value_to_lisp)
6452         [WIDE_EMACS_INT]: Avoid compiler warnings.
6454 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
6456         Rely on conservative stack scanning to find "emacs_value"s
6458         * src/emacs-module.c (struct emacs_value_tag)
6459         (struct emacs_value_frame, struct emacs_value_storage): Remove.
6460         (value_frame_size): Remove constant.
6461         (struct emacs_env_private): Use Lisp_Object for non_local_exit info.
6462         (lisp_to_value): Remove first arg.
6463         (module_nil): New constant.
6464         Use it instead of NULL when returning an emacs_value.
6465         (module_make_function): Adjust to new calling convention of
6466         Qinternal_module_call.
6467         (DEFUN): Receive args in an array rather than a list.
6468         Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
6469         we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
6470         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
6471         Adjust to new type of non_local_exit info.
6472         (ltv_mark) [WIDE_EMACS_INT]: New constant.
6473         (value_to_lisp, lisp_to_value): Rewrite.
6474         (initialize_frame, initialize_storage, finalize_storage): Remove functions.
6475         (allocate_emacs_value): Remove function.
6476         (mark_modules): Gut it.
6477         (initialize_environment): Don't initialize storage any more.
6478         Keep the actual env object on Vmodule_environments.
6479         (finalize_environment): Don't finalize storage any more.
6480         (syms_of_module): Initialize ltv_mark and module_nil.
6482         * src/emacs-module.h (emacs_value): Make it more clear that this type
6483         is really opaque, including the fact that NULL may not be valid.
6485         * modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
6486         Don't assume that NULL is a valid emacs_value.
6488 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
6490         Yet another doc improvement for search commands
6492         * doc/emacs/search.texi (Word Search, Symbol Search)
6493         (Regexp Search): Document commands that don't support lax
6494         whitespace matching or character folding.
6495         (Nonincremental Search): Mention the search commands that can be
6496         invoked from the menu bar.
6498         * lisp/isearch.el (isearch-define-mode-toggle-word)
6499         (isearch-define-mode-toggle-symbol)
6500         (isearch-define-mode-toggle-character-fold): Note in the doc
6501         string that turning these on exits the regexp mode.
6502         (isearch-forward-regexp, isearch-forward-word)
6503         (isearch-forward-symbol, isearch-backward-regexp)
6504         (word-search-backward, word-search-forward)
6505         (word-search-backward-lax, word-search-forward-lax): State in the
6506         doc string which commands don't support character folding and/or
6507         lax-whitespace matching.
6509 2015-11-30  Martin Rudalics  <rudalics@gmx.at>
6511         Run `window-size-change-functions' also when reading from minibuffer
6513         * src/xdisp.c (redisplay_internal): Run `window-size-change-functions'
6514         also when reading from minibuffer.
6516 2015-11-30  Ulf Jasper  <ulf.jasper@web.de>
6518         Fix scrambling of html-rendered item buffers
6520         * lisp/net/newst-treeview.el (newsticker--treeview-render-text): Fix
6521           scrambling of contents by wrapping call to html-renderer in
6522           save-selected-window.
6524 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
6526         Fix font typo in previous doc fix.
6528 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
6530         A bit more security doc, esp. file local vars
6532         * doc/emacs/emacs.texi (Top):
6533         * doc/emacs/misc.texi (Miscellaneous Commands):
6534         Refer to new Host Security section.
6535         (Host Security): New section.
6536         * doc/lispref/os.texi (Security Considerations):
6537         Mention file local variables.
6539 2015-11-30  Artur Malabarba  <bruce.connor.am@gmail.com>
6541         * lisp/character-fold.el: Comment out branching code
6543         (character-fold-to-regexp): Comment out code that uses multi-char
6544         table.  The branching caused by this induces absurdly long regexps,
6545         up to 10k chars for as little as 25 input characters.
6547 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
6549         Spelling and grammar fixes
6551 2015-11-30  Dmitry Gutov  <dgutov@yandex.ru>
6553         Make lisp-completion-at-point a wrapper instead of an alias
6555         * lisp/progmodes/elisp-mode.el (lisp-completion-at-point):
6556         Turn into an obsolete wrapper around elisp-completion-at-point
6557         (bug#20455).
6559 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6561         * lisp/isearch.el (isearch-search-fun-default): Nicer error
6563         message when the search fails.
6565 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
6567         Update menu-bar-goto-uses-etags-p for the current xref API
6569         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult
6570         xref-backend-functions, instead of now-nonexistent
6571         xref-find-function.
6573 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6575         * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding
6577 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6579         * lisp/menu-bar.el: Use folding in searches
6581         (nonincremental-search-forward): Use `isearch-search-fun-default'
6582         to determine the search function.
6583         (nonincremental-search-backward)
6584         (nonincremental-repeat-search-forward)
6585         (nonincremental-repeat-search-backward): Use it.
6587 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6589         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning
6591 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6593         * lisp/character-fold.el (character-fold-to-regexp): Be careful
6595         not to return huge regexps.
6597 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
6599         Improve documentation of string-collate-* functions
6601         * doc/lispref/strings.texi (Text Comparison): Improve wording and
6602         indexing of 'string-collate-equalp' and 'string-collate-lessp'.
6604         * etc/NEWS: Move the entry of 'string-collate-equalp' and
6605         'string-collate-lessp' to "Lisp Changes" section and mark it as
6606         documented.
6608 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
6610         Document truncate-string-ellipsis
6612         * doc/lispref/display.texi (Size of Displayed Text): Document
6613         'truncate-string-ellipsis'.
6615         * lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix.
6616         (truncate-string-to-width): Mention in the doc string that the
6617         default for ELLIPSIS comes from 'truncate-string-ellipsis'.
6619         * etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp
6620         Changes" section.
6622 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
6624         Fix confusion wrt character folding in the Emacs manual
6626         * doc/emacs/search.texi (Nonincremental Search, Regexp Search):
6627         Document that invoking search-forward/backward and
6628         re-search-forward/backward supports only case folding, but not the
6629         rest of the lax-search features.  Reported by Mike Kupfer
6630         <m.kupfer@acm.org>.
6632 2015-11-29  Ken Brown  <kbrown@cornell.edu>
6634         Update mod-test-sum-test
6636         * modules/mod-test/test.el (mod-test-sum-test): Update to
6637         accommodate the lack of dladdr on Cygwin.
6639 2015-11-29  Alan Mackenzie  <acm@muc.de>
6641         Byte compiler: Catch missing argument to `funcall'.  Fixes bug#22051.
6643         * lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
6644         to `funcall', (i) Output an error message; (ii) Generate code to signal a
6645         `wrong-number-of-arguments' error.
6647 2015-11-29  Martin Rudalics  <rudalics@gmx.at>
6649         * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil.
6651 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6653         * lisp/character-fold.el (character-fold-to-regexp)
6655         Warn about using long strings.
6657         * test/automated/character-fold-tests.el
6658         (character-fold--test-lax-whitespace)
6659         (character-fold--test-consistency): Reduce string size for tests.
6661 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6663         Document renaming of x-select-enable-* variables
6665         * doc/emacs/killing.texi (Clipboard): Rename
6666         x-select-enable-clipboard to select-enable-clipboard and
6667         x-select-enable-primary to select-enable-primary.  Update index
6668         entries.
6670         * etc/NEWS: Mark entry as documented.
6672 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6674         Document the shorthand hints displayed by M-x
6676         * doc/emacs/m-x.texi (M-x): Document the numeric meaning of
6677         suggest-key-bindings.  Document the shorthand hints for commands
6678         that have no key bindings.  Document that M-x completion ignores
6679         obsolete commands.
6681         * etc/NEWS: Move the M-x entry to "Editing Changes" and mark it as
6682         documented.
6684 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6686         Update docs of character folding
6688         * doc/emacs/search.texi (Lax Search): Update the description of
6689         character folding for the latest changes.
6691 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6693         * lisp/character-fold.el: Also play nice with case-folding
6695         (character-fold-to-regexp): Take `case-fold-search' into account.
6697 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6699         * lisp/character-fold.el: Add support for multi-char matches
6701         (character-fold-table): Now has an extra-slot. This is a second
6702         char-table that holds multi-character matches.  See docstring for
6703         details.
6704         (character-fold-to-regexp): Can build branching regexps when a
6705         character's entry the extra slot of `character-fold-table' matches the
6706         characters that succeed it.
6708 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6710         * lisp/character-fold.el: Code simplifications
6712         (character-fold-table): Reduce the scope of a variable.
6713         (character-fold-to-regexp): Change logic to work directly on the
6714         input string.  It's a little easier to understand, probably
6715         faster, and sets us up for implementing multi-char matches.
6717         * test/automated/character-fold-tests.el
6718         (character-fold--test-fold-to-regexp): New test.
6720 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6722         Document changes in "C-h l"
6724         * doc/emacs/help.texi (Misc Help): Document the changes in "C-h l".
6726         * etc/NEWS: mark "C-h l" changes as documented.
6728 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6730         Finalize documentation of 'custom-prompt-customize-unsaved-options'
6732         * doc/emacs/custom.texi (Saving Customizations): Index the new
6733         function 'custom-prompt-customize-unsaved-options'.
6735         * etc/NEWS: Mention when 'custom-prompt-customize-unsaved-options'
6736         is useful.
6738 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6740         Document 'comment-line'
6742         * doc/emacs/programs.texi (Comment Commands): Document
6743         'comment-line'.
6745         * etc/NEWS: Move the entry for 'comment-line' into "Editing Changes".
6747 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6749         Document new checkdoc features
6751         * doc/lispref/tips.texi (Tips, Library Headers): Document the
6752         keyword-checking features of checkdoc and the commands
6753         'checkdoc-file' and 'checkdoc-current-buffer'.
6755         * etc/NEWS: Move the checkdoc-related entries to their own
6756         section.
6758 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
6760         Simplify the prologue of emacs-module.c functions
6762         * src/emacs-module.c (MODULE_FUNCTION_BEGIN): New macro.
6763         (module_make_global_ref)
6764         (module_free_global_ref, module_make_function, module_funcall)
6765         (module_intern, module_type_of, module_extract_integer)
6766         (module_make_integer, module_extract_float, module_make_float)
6767         (module_copy_string_contents, module_make_string)
6768         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
6769         (module_get_user_finalizer, module_set_user_finalizer)
6770         (module_vec_set, module_vec_get, module_vec_size): Use new helper
6771         macro MODULE_FUNCTION_BEGIN.
6773 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6775         Don't reject module calls with no arguments
6777         * src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil.
6779 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
6781         Make module-call be visible from Lisp
6783         * src/emacs-module.c (module_make_function): Use internal--module-call.
6784         (Finternal_module_call): Renamed from Fmodule_call.  Add safety
6785         checks.
6786         (syms_of_module): DEFSYM save-value-p and save-pointer-p.  Do
6787         defsubr internal--module-call.
6789 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6791         Add etags tests for the recent Lua-related bugfix
6793         * test/etags/lua-src/test.lua: New file, tests the issues raised
6794         by bug#21934.
6795         * test/etags/Makefile (LUASRC): Add test.lua.
6796         * test/etags/ETAGS.good_1:
6797         * test/etags/ETAGS.good_2:
6798         * test/etags/ETAGS.good_3:
6799         * test/etags/ETAGS.good_4:
6800         * test/etags/ETAGS.good_5:
6801         * test/etags/ETAGS.good_6:
6802         * test/etags/CTAGS.good: Adapt to the new Lua test.  Also, an old
6803         regression fix, resolved around 25 May 2015, required changes to
6804         the "good" ETAGS files.
6806 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6808         Fix Lua tags when a function name includes '.' or ':'
6810         * lib-src/etags.c (Lua_functions): Add a tag for the last element
6811         of a function name after a dot or a colon.  (Bug#21934)
6813 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6815         Improve documentation of search and replace commands
6817         * doc/emacs/search.texi (Replacement and Lax Matches): Document
6818         which commands are affected by 'replace-character-fold'.
6819         (Lax Search): Add a cross reference to "Replacement and Lax
6820         Matches".  Improve wording.  Fix lost extra whitespace.
6821         (Search Customizations): Improve wording.  (Bug#22036)
6822         See also comments in
6823         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.
6825         * lisp/replace.el (query-replace, query-replace-regexp)
6826         (query-replace-regexp-eval, replace-string, replace-regexp):
6827         Mention 'replace-character-fold' in the doc strings.
6829 2015-11-28  Paul Eggert  <eggert@cs.ucla.edu>
6831         Fix minor problems found by static checking
6833         * src/undo.c (prepare_record): Add proper prototype for C.
6835 2015-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6837         * src/emacs-module.c (struct env_storage): Delete
6839         (struct emacs_runtime_private): Keep an emacs_env instead.
6840         (Fmodule_load, Fmodule_call): Declare emacs_env_private separately.
6841         (initialize_environment): Split the arg in two.  Adjust all callers.
6842         Only store the private part in Vmodule_environments.
6843         (finalize_environment): Change the arg to only be the private env.
6844         Adjust all callers.
6846 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
6848         Improve documentation of 'replace-character-fold'
6850         * lisp/replace.el (replace-character-fold): Clarify which commands
6851         are affected by this variable.
6853 2015-11-27  Mark Oteiza  <mvoteiza@udel.edu>
6855         Backport: Add interactive seek command.
6857         * lisp/mpc.el (mpc-cmd-seekcur): New function.
6858         (mpc-seek-current): New command.
6859         (mpc-mode-menu): Add entry for mpc-seek-current
6860         (mpc-mode-map): Bind mpc-seek-current to "g"
6862 2015-11-27  Dmitry Gutov  <dgutov@yandex.ru>
6864         Autoload etags when using its xref backend
6866         * lisp/progmodes/xref.el (xref--etags-backend):
6867         Rename to etags--xref-backend.  Move to etags.el.  Autoload.
6868         (Bug#22026)
6870 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
6872         * lisp/character-fold.el: Allow complex chars to match their decomposition
6874         (character-fold-table): When a character's decomposition does not
6875         involve a formatting tag (i.e., if it has an "exact" description via
6876         other characters), then this character is allowed to match the
6877         decomposition.
6879 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
6881         * lisp/character-fold.el: More descriptive variable names
6883         (character-fold-table): Rename a lot of the lexical variables to
6884         make the code easier to read.
6886 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
6888         * lisp/isearch.el: Ensure we still support `isearch-new-word'
6890         (isearch-new-regexp-function): Define variable.
6891         (isearch-new-word): Define as an obsolete alias. (Bug#22018)
6893 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
6895         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
6897 2015-11-27  Lee Bochicchio  <lboc.home@gmail.com>
6899         * test/automated/abbrev-tests.el: Define more tests
6901         (abbrev-table-name-test, kill-all-abbrevs-test)
6902         (clear-abbrev-table-test): New tests.
6904 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
6906         Add module tests for wrong-type-argument
6908         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
6909         wrong-type-argument.
6911 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
6913         Improve handling of signals and 'throw' in modules
6915         * src/emacs-module.c: Add commentary explaining how to write
6916         functions in this file.
6917         (module_make_global_ref, module_free_global_ref)
6918         (module_non_local_exit_signal, module_non_local_exit_throw)
6919         (module_make_function, module_funcall, module_intern)
6920         (module_type_of, module_is_not_nil, module_eq)
6921         (module_extract_integer, module_make_integer)
6922         (module_extract_float, module_make_float)
6923         (module_copy_string_contents, module_make_string)
6924         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
6925         (module_get_user_finalizer, module_set_user_finalizer)
6926         (module_vec_set, module_vec_get, module_vec_size)
6927         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
6928         Do nothing and return with failure indication immediately, if some
6929         previous module call signaled an error or wants to throw.  See
6930         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html
6931         for the relevant discussions.
6933 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
6935         Add ':version' tag to 'checkdoc-package-keywords-flag'
6937         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
6938         Add a ':version' tag.
6940 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
6942         Improve documentation of 'eval-buffer' and 'eval-region'
6944         * src/lread.c (Feval_buffer, Feval_region): Doc fixes.  (Bug#22023)
6946         * doc/lispref/eval.texi (Eval): Mention narrowing to clarify
6947         "accessible portion of buffer".
6949 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
6951         Unbreak the Cygwin w32 build
6953         * src/emacs.c (main): Call w32_init_main_thread in the Cygwin w32
6954         build as well.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
6956 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
6958         Improve commentary in character-fold.el
6960         * lisp/character-fold.el (character-fold-to-regexp): Move detailed
6961         description from commit log message to comments.  (Bug#22019)
6963 2015-11-26  Alan Mackenzie  <acm@muc.de>
6965         Byte Compiler: generate code to adjust stack count after call to `signal'.
6967         Corrects change from earlier today.
6969         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
6970         `byte-compile--for-effect' as argument to `byte-compile-form'.
6972 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
6974         Improve commentary of prepare_to_modify_buffer_1
6976         * src/insdel.c (prepare_to_modify_buffer_1): Mention in commentary
6977         that this function runs Lisp.  Suggested by Richard Stallman
6978         <rms@gnu.org>.
6980 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
6982         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
6984 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
6986         Fix regression after merge.
6988          * src/undo.c (prepare_record): Remove call to run_undoable_change.
6990 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
6992         After delete, record point location in undo.
6994         Addresses Bug #21968.
6996                 * lisp/simple.el (undo-auto--add-boundary): Clean up code to
6997                 better support intercalating calls.
6998                 * src/keyboard.c, src/keyboard.h (command_loop_1): Store value of
6999                 point and current buffer before each command.
7000                 * src/undo.c (record_point): Now only record the point.
7001                 * src/undo.c (prepare_record): Functionality removed form
7002                 record_point.
7003                 * src/undo.c (record_delete): Check if point needs recording.
7004                 * src/undo.c (undo-boundary): Record value of point before each
7005                 boundary.
7006                 * test/automated/simple-test.el: New tests.
7008         Conflicts:
7009                 src/undo.c
7011 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
7013         Fix compiler warnings in w32.c
7015         * src/w32.c (sys_socket): In case of error, use -1 as return
7016         value, not INVALID_SOCKET, which causes compiler warnings.
7017         (maybe_load_unicows_dll): Cast the return value of GetProcAddress
7018         to the appropriate function signature, to avoid compiler errors.
7019         Reported by Andy Moreton <andrewjmoreton@gmail.com>.  (Bug#21953)
7021 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
7023         Check if the file exists on disk before producing the revert diff
7025         * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file
7026         exists on disk (bug#20558).
7028 2015-11-26  Alan Mackenzie  <acm@muc.de>
7030         Byte compiler: on setq with an odd number of arguments, generate a `signal'
7032         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
7033         it has an odd number of arguments, to allow bytecomp to handle the error.
7035         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
7036         odd number of arguments, generate a `signal' instead of the normal code.
7038 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
7040         Use find-tag-default for xref-backend-identifier-at-point
7042         * lisp/progmodes/etags.el (find-tag-tag)
7043         (tags-completion-at-point-function): Extract common code as
7044         find-tag--default.
7045         (xref-backend-identifier-at-point): Define in terms of the new
7046         function.
7048 2015-11-26  Paul Eggert  <eggert@cs.ucla.edu>
7050         * src/undo.c (record_property_change): Remove now-unused local.
7052 2015-11-25  Phillip Lord  <phillip.lord@russet.org.uk>
7054         run_undoable_changes now called from insdel.
7056         The original calls from inside undo.c are not always at a safe position
7057         to call lisp, as they originate in varied positions within insdel.c.
7058         Calling them directly from prepare_to_modify_buffer_1 ensures that they
7059         are always run at the same point.
7061          * src/undo.c (run_undoable_changes,syms_of_undo): Remove function
7062          and symbol used.
7063          * src/insdel.c (run_undoable_changes): Add function and symbol.
7065 2015-11-25  Eli Zaretskii  <eliz@gnu.org>
7067         Improve and update documentation of search commands
7069         * doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
7070         all references changed.  Move the description of lax-whitespace
7071         here.  Add description of the new character folding features and
7072         additional customizable options.
7073         (Isearch Yank): Move before "Error in Search".
7074         (Basic Isearch): Improve wording.  Add index entries.  Add short
7075         description of how to abandon search, making this subsection a
7076         complete introduction to search basics.
7077         (Repeat Isearch): Add index entries.  Describe additional
7078         customizable options.  Describe mouse clicks.
7079         (Isearch Yank): Add index entries.  Describe mouse-2 click in echo
7080         area.  Describe more customizable options.
7081         (Error in Isearch): Add index entries.
7082         (Special Isearch): Move actual description of some isearch
7083         commands to other sections, leaving here just the summary of the
7084         commands.  Add command that toggles character folding.  Describe
7085         commands, like "C-h C-h", that were previously omitted for some
7086         reason.
7087         (Not Exiting Isearch): Describe search-exit-option.  Add index
7088         entries.
7089         (Word Search): Describe eww-search-word and eww-search-prefix.
7090         (Symbol Search): Add index entries.
7091         (Regexp Search): Describe regexp-search-ring-max.
7092         (Replacement and Lax Matches): Renamed from "Replacement and
7093         Case"; all references changed.  Describe lax-whitespace matching
7094         in replace commands and related options.  Describe character
7095         folding in replace commands and related options.
7096         (Query Replace): Describe query-replace-from-to-separator and the
7097         new history features.  Add index entries for highlighted text.
7098         Describe query-replace-skip-read-only.  Describe more keys
7099         accepted by query-replace.
7100         (Other Repeating Search): More index entries for Occur.  Describe
7101         list-matching-lines-default-context-lines.
7102         (Search Customizations): New section, documents customizable
7103         options that were not documented until now.
7104         * doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
7105         "Character Folding".
7107         * etc/NEWS: Move search- and replace-related entries to a single
7108         parent section.
7110         * lisp/replace.el (query-replace-show-replacement): Doc fix.
7111         * lisp/isearch.el (search-nonincremental-instead)
7112         (isearch-hide-immediately): Doc fixes.
7114 2015-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
7116         Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
7118         * lisp/gnus/nnml.el (nnml-retrieve-groups): Remove.  See:
7119         <http://thread.gmane.org/gmane.emacs.gnus.general/86308> and
7120         <http://thread.gmane.org/gmane.emacs.gnus.general/86321>
7122 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7124         Fix module_format_fun_env when dynlib_addr fails
7126         * src/emacs-module.c (module_format_fun_env):
7127         exprintf doesn’t support %p, so use %x.  Reported by Eli Zaretskii in:
7128         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html
7130 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7132         Disambiguate variable help a bit better
7134         * lisp/help-fns.el (describe-variable): Quote the
7135         variable’s value if it is a symbol other than t or nil.
7136         See: T.V Raman in:
7137         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
7139 2015-11-25  Dmitry Gutov  <dgutov@yandex.ru>
7141         Pass SVN commit message through log-edit-extract-headers
7143         * lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through
7144         log-edit-extract-headers (bug#18954).
7146 2015-11-24  Alan Mackenzie  <acm@muc.de>
7148         CC Mode: Eliminate compiler warning messages.
7150         * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
7151         `font-lock-syntactic-keywords' (which CC Mode doesn't use).
7152         * lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
7153         (c-awk-set-syntax-table-properties): Clarify comments about
7154         `font-lock-syntactic-keywords'.
7156         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
7157         of this before the real (interpreted) one, to satisfy the byte compiler.
7159 2015-11-24  Simen Heggestøyl  <simenheg@gmail.com>
7161         Extend the test suite for json.el
7163         * lisp/json.el (json-plist-p): Clarify docstring.
7165         * test/automated/json-tests.el (json-tests--with-temp-buffer): New
7166         macro.
7167         (test-json-join, test-json-alist-p)
7168         (test-json-plist-p, test-json-advance, test-json-peek)
7169         (test-json-pop, test-json-skip-whitespace)
7170         (test-json-read-keyword, test-json-encode-keyword)
7171         (test-json-read-number, test-json-encode-number)
7172         (test-json-read-escaped-char, test-json-read-string)
7173         (test-json-encode-string, test-json-encode-key)
7174         (test-json-new-object, test-json-add-to-object)
7175         (test-json-read-object, test-json-encode-list)
7176         (test-json-read-array, test-json-encode-array)
7177         (test-json-read, test-json-read-from-string)
7178         (test-json-encode): New tests.
7179         (json-read-simple-alist): Merged into `test-json-read-object'.
7180         (json-encode-string-with-special-chars): Merged into
7181         `test-json-encode-string'.
7182         (json-read-string-with-special-chars): Split into
7183         `test-json-encode-string' and `test-json-read-from-string'.
7185 2015-11-24  Anders Lindgren  <andlind@gmail.com>
7187         Fixed bug#18283: Enable applescript in NextStep.
7189         * nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES.
7191 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
7193         Allow completion on dynamic module files in load-library
7195         * lisp/files.el (load-library): Bind completion-ignored-extensions
7196         to nil, to allow completion on dynamic modules typed as file
7197         names.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
7199 2015-11-24  Alan Mackenzie  <acm@muc.de>
7201         CC Mode: eliminate almost all byte compilation warnings
7203         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
7204         (cc-require): Remove the crude hack that saved and restored
7205         byte-compile-noruntime-functions.
7206         (cc-conditional-require, cc-conditional-require-after-load): New macros.
7208         * lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
7209         cc-fix.el using the new macros in cc-bytecomp.el.
7211         * lisp/progmodes/cc-langs.el (c++-template-syntax-table)
7212         (c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
7213         forms to remove the superflous quotes.
7215 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
7217         Add one more mod-test test
7219         * modules/mod-test/test.el (mod-test-sum-test): Test the error
7220         signaled when the function is invoked with a wrong number of
7221         arguments.
7223 2015-11-24  Philipp Stephani  <phst@google.com>
7225         * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args.
7227 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
7229         Implement dynlib_addr for MS-Windows
7231         * src/dynlib.c [WINDOWSNT]: Include w32common.h.
7232         <g_b_init_get_module_handle_ex> [WINDOWSNT]: New static variable.
7233         (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
7234         (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define
7235         if undefined.
7236         (dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to
7237         zero.
7238         (dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report
7239         the full file name of the module for a given address.
7241 2015-11-24  Alan Mackenzie  <acm@muc.de>
7243         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
7245 2015-11-24  Alan Mackenzie  <acm@muc.de>
7247         Squashed commit of the following:
7249         commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
7250         Author: Alan Mackenzie <acm@muc.de>
7251         Date:   Tue Nov 24 16:50:09 2015 +0000
7253             Byte compile: minor amendments.
7255             * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
7256             add a comment to explain the binding of variables around a subsidiary
7257             compilation.
7258             (byte-compile-new-defuns): Amend the doc string.
7260         commit c537bfed1dda1593d218956ff00c6105a3ff0316
7261         Author: Alan Mackenzie <acm@muc.de>
7262         Date:   Sat Nov 21 18:43:57 2015 +0000
7264             Byte compiler: fix spurious warnings "might not be defined at runtime".
7266             Also initialize byte-compile-noruntime-functions between runs.
7268             * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
7269             (byte-compile-initial-macro-environment): For eval-when-compile: bind
7270             byte-compile-unresolved-functions and byte-compile-new-defuns around
7271             byte-compile-top-level, to prevent spurious entries being made.
7272             (byte-compile-warn-about-unresolved-functions): Check whether function is
7273             in byte-compile-new-defuns before emitting a warning about it.
7274             (byte-compile-from-buffer): Initialize new variable and
7275             byte-compile-noruntime-functions to nil.
7276             (byte-compile-file-form-require): record all new functions defined by a
7277             `require' in byte-compile-new-defuns.
7278             (byte-compile-file-form-defmumble): record the new alias in
7279             byte-compile-new-defuns.
7281 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
7283         Fix crash at startup related to GC of font entities
7285         * src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P)
7286         (GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY)
7287         (GC_XFONT_OBJECT): New macros, for use in garbage collector.
7288         * src/alloc.c (compact_font_cache_entry, compact_font_caches):
7289         Don't ifdef away font cache compaction on NT_GUI, as the problems
7290         which led to that seem to have been solved.
7291         (compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC,
7292         GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_
7293         cousins.  (Bug#21999)
7295 2015-11-24  Alan Mackenzie  <acm@muc.de>
7297         Byte compile: Output an error, not a warning, for odd number of args to setq
7299         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend.
7301 2015-11-24  Ken Raeburn  <raeburn@raeburn.org>
7303         Fix kbd_buffer iteration loop in readable_events
7305         * src/keyboard.c (readable_events): Wrap the event pointer back to the
7306         start of the kbd_buffer array inside the top of the loop instead of
7307         right before checking the loop condition, since kbd_fetch_ptr and
7308         kbd_store_ptr point past the end of the array to mean that element 0
7309         is next. (bug#21935)
7311 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7313         Improve text-quoting-style doc again
7315         * doc/lispref/help.texi (Keys in Documentation):
7316         Omit overkill discussion of ‘setq’.  Mention Emacs versions
7317         where ‘grave’ style was standard.
7319 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7321         Improve text-quoting-style doc
7323 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7325         Simplify module_make_function
7327         * src/emacs-module.c (module_make_function):
7328         Simplify by calling build_unibyte_string.
7330 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7332         Port better to FreeBSD’s dlfunc vs dlsym
7334         This avoids warnings when converting between void * and
7335         function pointers, which strict C11 does not allow.
7336         * configure.ac (dlfunc): Check for existence.
7337         * src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
7338         (dynlib_func): New function.
7339         * src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
7340         * src/emacs-module.c (Fmodule_load): Use dynlib_func, not
7341         dynlib_sym, for function pointers.
7343 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7345         Simplify use of emacs_finalizer_function type
7347         * src/emacs-module.h (emacs_finalizer_function):
7348         Now EMACS_NOEXCEPT.  All users simplified to omit EMACS_NOEXCEPT.
7349         (struct emacs_env_25): Use emacs_finalizer_function where applicable.
7351 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7353         module_format_fun_env fixes
7355         * src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case.
7356         * src/emacs-module.c (module_format_fun_env):
7357         Convert path and sym to UTF-8.
7358         Don’t use VLAs, as the C11 standard says they’re optional,
7359         and anyway they can cause core dumps with large allocations.
7360         Use exprintf rather than snprintf, as exprintf handles arbitrarily
7361         long strings.  Simplify the code a bit.
7363 2015-11-23  Dmitry Gutov  <dgutov@yandex.ru>
7365         Don't use package-user-dir in elisp-library-roots if it's not bound
7367         * lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
7368         use package-user-dir if it's not bound (bug#19759).
7370 2015-11-23  Anders Lindgren  <andlind@gmail.com>
7372         New visible-bell for NextStep (OS X El Capitan compatible).
7374         Instead of inverting a rectangle in the middle of the frame, use
7375         the standard NextStep image "caution", represented using an
7376         warning sign with an exclamation mark.  (Bug#21662)
7378         Implemented based on a suggestion drafted by Mustafa Kocaturk.
7380         * src/nsterm.m (EmacsBell): New class for managing the caution
7381         image.  Support multiple active bells, the image is removed once
7382         all bells have timed out.
7383         (ns_timeout): Removed, no longer used.
7384         (ns_ring_bell): Reimplemented to use EmacsBell.
7386 2015-11-23  Johan Bockgård  <bojohan@gnu.org>
7388         * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec.
7390         (remove-function): Ditto. (Bug#20376)
7392 2015-11-23  Mark Oteiza  <mvoteiza@udel.edu>
7394         * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes.
7396 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
7398         Improve how non-ASCII strings are accepted from modules
7400         * src/emacs-module.c (module_make_function, module_make_string):
7401         Build a unibyte Lisp string and then decode it by UTF-8, instead
7402         of building a multibyte string without decoding.  This is more
7403         tolerant to deviations from UTF-8.
7405 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
7407         Port recent module changes to pickier compilers
7409         * src/emacs-module.c (module_make_function)
7410         (module_make_string): Add casts to fix pointer signedness issues.
7412 2015-11-23  Philipp Stephani  <phst@google.com>
7414         Fix how strings are accepted from modules
7416         * src/emacs-module.c (module_make_function, module_make_string): Use
7417         make_multibyte_string.
7418         (module_copy_string_contents): Encode before reading the byte
7419         size.  Return false if and only if an error occurred.
7421 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
7423         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
7425 2015-11-23  Shakthi Kannan  <shakthimaan@gmail.com>
7427         Add the tamil-dvorak input method
7429         * lisp/leim/quail/tamil-dvorak.el: New file.  (Bug#21768)
7431         * etc/NEWS: Mention the new input method.
7433 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
7435         Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows.
7437         * src/frame.c (adjust_frame_size): Don't set
7438         FRAME_WINDOW_SIZES_CHANGED here ...
7439         * src/window.c (resize_frame_windows): ... but here, as suggested
7440         by Stefan Monnier.  Also remove some dead code along the way.
7442 2015-11-23  Alan Mackenzie  <acm@muc.de>
7444         * etc/NEWS (Incompatible Lisp Changes): Also `setf' needs an even # of args.
7446 2015-11-23  Alan Mackenzie  <acm@muc.de>
7448         Signal an error when `setf' gets an odd number of arguments.
7450         * lisp/emacs-lisp/gv.el (setf): Amend.
7452 2015-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
7454         * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
7456 2015-11-23  Alan Mackenzie  <acm@muc.de>
7458         * etc/NEWS (Incompatible Lisp Changes): Document new restriction on `setq'.
7460 2015-11-23  Alan Mackenzie  <acm@muc.de>
7462         Expunge occurrences of `setq' with an odd number of arguments.
7464         * lisp/apropos.el (apropos-documentation):
7465         * lisp/obsolete/complete.el (PC-include-file-all-completions):
7466         * lisp/progmodes/compile.el (compilation-goto-locus):
7467         * lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
7468         Insert missing nil at end of `setq' forms.
7470         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
7471         erroneous trailing variable name from a setq, thus allowing a compilation
7472         properly to track functions not defined at runtime.
7474 2015-11-23  John Wiegley  <johnw@newartisans.com>
7476         Add a note about a questionable use of bool in xdisp.c
7478 2015-11-23  Alan Mackenzie  <acm@muc.de>
7480         Issue a warning from the byte compiler on a malformed `setq' form.
7482         Partly fixes bug#20241.
7483         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
7484         `setq' form with an odd number of arguments is compiled.
7486 2015-11-23  Alan Mackenzie  <acm@muc.de>
7488         Don't let cconv_convert insert a nil argument into a `setq' form.
7490         Fixes bug#21983.
7491         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
7492         argument into a `setq' when there're an odd number of args.  This enables the
7493         byte compiler to issue a message in this case.
7495 2015-11-23  Alan Mackenzie  <acm@muc.de>
7497         Signal an error when `setq' has an odd number of arguments.  Fixes bug#20241.
7499         * src/eval.c (Fsetq): Signal an error on an odd number of arguments.
7500         (syms_of_eval): Add a DEFSYM for Qsetq.
7502 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
7504         * doc/lispref/windows.texi (Window Sizes): Fix indices and references.
7506         * src/frame.c (adjust_frame_size): Set FRAME_WINDOW_SIZES_CHANGED (Bug#21975).
7508 2015-11-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7510         Add EUDC BBDB 3 entry in NEWS
7512         * NEWS: Mention EUDC BBDB backend support for BBDB 3.
7514 2015-11-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7516         Improve EUDC to BBDB 3 export
7518         * lisp/net/eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
7519         entry to single item.  Add company conversion.
7520         * lisp/net/eudc-export.el (eudc-bbdbify-company): New function.
7521         (bbdb-parse-phone): Declare function.
7522         (eudc-bbdbify-phone): Add BBDB 3 support.
7523         (Bug#21971)
7525 2015-11-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7527         Add BBDB 3 support for EUDC export
7529         * lisp/net/eudc.el: Add bbdb-version defvar.
7530         (eudc--using-bbdb-3-or-newer-p): New function.
7531         * lisp/net/eudc-export.el (eudc-create-bbdb-record): Add support for
7532         bbdb-create-internal argument list changes introduced in BBDB 3.
7533         * lisp/net/eudcb-bbdb.el: Remove bbdb-version defvar.
7534         (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
7535         (Bug#21971)
7537 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
7539         Allow loading modules by 'load-file'
7541         * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
7542         2nd arg, to avoid the "binding stack not balanced" error.
7543         (syms_of_lread) <module-file-suffix>: New Lisp variable.
7545         * lisp/files.el (module-file-suffix): Declare.
7546         (load-file): Remove 'module-file-suffix' from
7547         'completion-ignored-extensions', to allow completion on modules.
7549         * etc/NEWS: Mention 'module-file-suffix'.
7551 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
7553         Fix unoptimized builds
7555         * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized
7556         builds.
7558 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
7560         Work around the asynchronous-empty-diff problem
7562         * lisp/vc/vc-rcs.el (vc-rcs-diff):
7563         * lisp/vc/vc-mtn.el (vc-mtn-diff):
7564         * lisp/vc/vc-hg.el (vc-hg-diff):
7565         * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument,
7566         do a synchronous process call (bug#21969).
7568 2015-11-22  Karl Fogel  <kfogel@red-bean.com>
7570         Finish excising electric indent from `open-line'
7572         * lisp/simple.el (open-line): Remove INTERACTIVE argument.
7574         * test/automated/simple-test.el (open-line-indent, open-line-hook):
7575           Adjust accordingly.
7577         This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
7578         (git commit c59353896) started.  It turns out that having INTERACTIVE
7579         cause `post-self-insert-hook' to run (via `newline') meant `open-line'
7580         still had the electric indent behavior, as `post-self-insert-hook'
7581         normally contains `electric-indent-post-self-insert-function' ever
7582         since `electric-indent-mode' has been on by default.  Tracing the code
7583         change in `open-line' is mildly twisty, because Artur Malabarba's
7584         earliest two commits of 24 Oct 2015 first removed the `interactive'
7585         form entirely (git commit 6939896e2) and then restored it with the new
7586         extra "p" already added (git commit bd4f04f86), such that there is no
7587         single-commit diff in which one sees the second "p" appear.  Thus this
7588         change is effectively a reversion of parts of each of those commits.
7590         This could close bug#21884, at least until further discussion.
7592 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
7594         Adhere closer to the "implicit tag name" definition
7596         * lisp/progmodes/etags.el (etags-tags-completion-table):
7597         Adhere closer to the "implicit tag name" definition.  Simplify
7598         the regexp.  Search for the explicit tag name first, and when
7599         not found, search locally for the implicit one.  (Bug#21934)
7601 2015-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
7603         Unrevert most of regexp reentrancy abort patch
7605         The problem was in:
7606           * src/syntax.c (update_syntax_table_forward): Propertize even when truncated
7607         which is hence not unreverted.
7608         The rest is:
7609         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
7610         (UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
7611         All callers in regex.c changed back to the _FAST versions.
7613         * test/automated/message-mode-tests.el: Tweak the test to rely on auto
7614         propertization in backward-sexp.
7616 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
7618         Revert regexp reentrancy abort patch
7620         Although the patch does fix Bug#21688 and prevents a core dump,
7621         it also makes the message-mode-propertize test fail; see:
7622         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html
7623         Perhaps someone else can come up with a better fix some day.
7624         * src/syntax.c (update_syntax_table_forward):
7625         Propertize even when truncated.
7626         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
7627         (UPDATE_SYNTAX_TABLE_FAST): Remove.
7628         All callers changed back to the non-_FAST versions.
7630 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
7632         Add a few safety checks when ENABLE_CHECKING
7634         This was motivated by the recent addition of module code,
7635         which added some ENABLE_CHECKING-enabled checks that are
7636         useful elsewhere too.
7637         * src/alloc.c (compact_font_cache_entry):
7638         * src/fns.c (sweep_weak_table):
7639         * src/lread.c (oblookup):
7640         Use gc_asize rather than doing it by hand.
7641         * src/emacs-module.c (module_make_global_ref)
7642         (module_free_global_ref, module_vec_size):
7643         Omit assertions that lisp.h now checks.
7644         * src/lisp.h (XFASTINT, ASIZE): In functional implementations,
7645         check that the result is nonnegative.  Use eassume, as this
7646         info can help a bit when optimizing production code.
7647         (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
7648         to be consistent with the USE_LSB_TAG case.
7649         (gc_asize): New function, when ASIZE is needed in the gc.
7650         (gc_aset): Use it.
7651         (HASH_TABLE_P): Move definition up, so that it can be used ...
7652         (XHASH_TABLE): ... here, to assert that the arg is a hash table.
7654 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
7656         Simplify recording of main thread's ID on MS-Windows
7658         * src/w32term.c (w32_initialize):
7659         * src/w32console.c (initialize_w32_display):
7660         * src/w32fns.c (globals_of_w32fns): Don't record the main thread
7661         ID independently for each type of session (GUI, TTY, batch).
7662         * src/w32term.c (w32_init_main_thread): New function, records the
7663         main thread's thread ID.
7664         * src/w32term.h: Add prototype for w32_init_main_thread.
7665         * src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread.
7667         * src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to
7668         main_thread, for consistency with other threading libraries.  All
7669         users changed.  Include w32term.h.
7670         (check_main_thread) [WINDOWSNT]: Simplify the test: no need to
7671         make sure the main thread is alive, as we hold a handle on it
7672         opened by w32_init_main_thread.
7673         (module_init) [WINDOWSNT]: Reuse the thread ID recorded by
7674         w32_init_main_thread, instead of calling the requisite APIs once
7675         more.
7677 2015-11-21  Mark Oteiza  <mvoteiza@udel.edu>
7679         Backport: Fix issue where a new tempfile was created every refresh
7681         * lisp/mpc.el (mpc-format): Leave dir as relative path
7683 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
7685         Call 'window-size-change-functions' for mini-windows
7687         * src/window.c (grow_mini_window, shrink_mini_window): Set the
7688         frame's 'window_sizes_changed' flag.
7689         * src/xdisp.c (redisplay_internal): Call the hooks on
7690         'window-size-change-functions' if the call to 'echo_area_display'
7691         sets the frame's 'window_sizes_changed' flag.
7692         (syms_of_xdisp) <window-size-change-functions>:
7693         Update doc string to indicate the mini-window resizes trigger a
7694         call to the hooks, and don't promise that will happen "before
7695         redisplay".  (Bug#19576, Bug#21333)
7697         * doc/lispref/windows.texi (Window Hooks): Update the description
7698         of 'window-size-change-functions'.
7700 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
7702         Improve documentation of dynamic modules
7704         * src/fns.c (Frequire): Doc fix to include the dynamic module
7705         support.
7706         * src/lread.c (Fload, Vload_suffixes): Doc fixes to include the
7707         dynamic module support.
7708         (Fload): Treat the module suffix the same as '*.el' and '*.elc'
7709         wrt the MUST-SUFFIX argument.
7711         * etc/NEWS: Expand documentation of dynamically loaded modules.
7713 2015-11-21  Philipp Stephani  <phst@google.com>  (tiny change)
7715         Initial documentation for dynamic modules
7717         * etc/NEWS: Mention the new support for dynamically loaded modules.
7719 2015-11-21  Dmitry Gutov  <dgutov@yandex.ru>
7721         Add xref--etags-backend to xref-backing-functions using add-hook
7723         * lisp/progmodes/xref.el (xref-backend-functions): Move the
7724         default value into a separate `add-hook' call (bug#21964).
7726         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
7727         Don't declare the xref-backend-functions variable.
7728         It doesn't make any difference.
7730 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7732         Fix double-decrement bug when freeing global refs
7734         * src/emacs-module.c (module_free_global_ref): Add a FIXME
7735         comment about error reporting.  Fix a recently-introduced typo
7736         that double-decremented the refcount.
7738 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7740         Declare emacs_module_init in the module API
7742         * src/emacs-module.h (emacs_module_init): New decl.
7743         Without it, GCC might complain about a module that defines
7744         emacs_module_init without using it.  This also checks the
7745         API better.
7747 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7749         Fix module test to use ptrdiff_t nargs too
7751         * modules/mod-test/mod-test.c (Fmod_test_return_t)
7752         (Fmod_test_sum, Fmod_test_signal, Fmod_test_throw)
7753         (Fmod_test_non_local_exit_funcall, Fmod_test_globref_make)
7754         (Fmod_test_string_a_to_b, Fmod_test_userptr_make)
7755         (Fmod_test_userptr_get, Fmod_test_vector_fill)
7756         (Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int.
7757         (finalizer): Remove; no longer used.
7759 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7761         Fix reindent-introduced typo in module code
7763         * src/emacs-module.c (MODULE_SETJMP_1): Fix typo that I
7764         introduced while reindenting the code earlier, and add a
7765         comment explaining the unusual use of do-while here.
7767 2015-11-20  Anders Lindgren  <andlind@gmail.com>
7769         Fixed bug#19576: `write-file' saves wrong buffer.
7771         If a function on the hook `window-size-change-functions' doesn't
7772         restore the current buffer, functions that save and restore the
7773         current window configuration (like `y-or-no-p') could silently
7774         change the current buffer.  When `write-file' asked the user
7775         confirmation to overwrite a file, `y-or-no-p' changed the current
7776         buffer, and the wrong buffer was saved to the file.
7778         * lisp/follow.el (follow-windows-start-end): Call `select-frame'
7779         using the `norecord' parameter.
7780         (follow-window-size-change): Restore current buffer. Call
7781         `select-frame' using the `norecord' parameter. Cleanup.
7783 2015-11-20  John Wiegley  <johnw@newartisans.com>
7785         Correct a documentation error in frames.texi
7787 2015-11-20  Stephen Leake  <stephen_leake@stephe-leake.org>
7789         * lisp/cedet/mode-local.el: Delete obsolete comment
7791 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7793         Module function arg counts are ptrdiff_t, not int
7795         * src/emacs-module.c (struct module_fun_env)
7796         (module_make_function, module_funcall, Fmodule_call):
7797         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
7798         Use ptrdiff_t, not int, for arg counts.
7799         * src/emacs-module.c (module_make_function): Don’t bother
7800         checking arity against MOST_POSITIVE_FIXNUM, as that’s
7801         unnecessary here.  Make the checking clearer by negating it.
7802         (module_make_function, Fmodule_call): No need to use xzalloc
7803         since the storage doesn’t need to be cleared.
7804         (module_funcall): Don’t use VLA, since C11 doesn’t guarantee support
7805         for it, and many implementations are buggy with large VLAs anyway.
7806         Use SAFE_ALLOCA_LISP instead.
7807         (module_vec_set): Don’t crash if i < 0.
7808         (module_vec_get): Don’t crash if i < MOST_NEGATIVE_FIXNUM.
7809         (module_vec_set, module_vec_get): Do fixnum checks only when
7810         i is out of array bounds, for efficiency in the usual case.
7811         (Fmodule_load): Simplify fixnum range check.
7812         (Fmodule_call): Simplify arity check.  Use xnmalloc to detect
7813         integer overflow in array allocation size.
7815 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
7817         Minor improvements in module test
7819         * modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings
7820         about missing prototype of malloc.
7821         * modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid
7822         compiler warnings.
7824 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
7826         Improve MS-Windows implementation in dynlib.c
7828         * src/dynlib.c [WINDOWSNT]: Include errno.h, lisp.h, and w32.h.
7829         No need to include windows.h, as w32.h already does that.
7830         <dynlib_last_err>: New static variable.
7831         (dynlib_reset_last_error): New function.
7832         (dynlib_open): Convert forward slashes to backslashes.  Convert
7833         file names from UTF-8 to either UTF-16 or the current ANSI
7834         codepage, and call either LoadLibraryW or LoadLibraryA.  If the
7835         argument is NULL, return a handle to the main module, like
7836         'dlopen' does.  Record the error, if any, for use by dynlib_error.
7837         (dynlib_sym): Check the handle for validity. Record the error, if
7838         any, for use by dynlib_error.
7839         (dynlib_error): Call w32_strerror to produce the error string, and
7840         zero out the last error code, like dlerror does.
7841         (dynlib_close): Check the handle for validity.  Record the error,
7842         if any, for use by dynlib_error.  Don't call FreeLibrary with a
7843         handle for the main module.
7844         * src/w32.c (globals_of_w32): Call dynlib_reset_last_error.
7846 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7848         Include-file tweaks for modules
7850         * src/dynlib.c, src/emacs-module.c: Include <config.h> first.
7851         * src/dynlib.h: Do not include config.h.
7852         It’s every .c file’s responsibility to include config.h first.
7853         * src/emacs-module.c: Include emacs-module.h immediately after
7854         config.h, to test that emacs-module.h doesn’t depend on
7855         include files other than config.h.
7857 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7859         Simplify push_handler and profile its malloc
7861         * src/lisp.h (PUSH_HANDLER): Remove.
7862         All callers changed to use push_handler directly.
7863         * src/eval.c (internal_condition_case)
7864         (internal_condition_case_1, internal_condition_case_2)
7865         (internal_condition_case_n):
7866         Use same pattern as for other invokers of push_handler.
7867         (push_handler, push_handler_nosignal): Use call-by-value
7868         instead of call-by-reference.  All uses changed.
7869         (push_handler): Simplify by rewriting in terms of
7870         push_handler_nosignal.
7871         (push_handler_nosignal): Profile any newly allocated memory.
7873 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7875         * src/emacs-module.h: Include stddef.h, not stdlib.h.
7877 2015-11-20  Juanma Barranquero  <lekktu@gmail.com>
7879         Discover repository version in linked worktrees (bug#21930)
7881         * lisp/version.el (emacs-repository--version-git-1): Do not assume
7882         HEAD is at .git/HEAD, it can also be at .git/worktrees/<branch>/HEAD.
7883         (emacs-repository-get-version): Grok linked worktrees when EXTERNAL
7884         is nil too.
7886 2015-11-20  Juri Linkov  <juri@linkov.net>
7888         * lisp/replace.el (occur-regexp-descr): New function.
7889         (occur-1, occur-engine): Use it.
7891         * lisp/isearch.el (isearch-occur): Propertize regexp with
7892         isearch-string and isearch-regexp-function-descr for
7893         occur-regexp-descr to display the correct description
7894         message in the header (bug#21176, bug#21180).
7896 2015-11-20  Karl Fogel  <kfogel@red-bean.com>
7898         Revert `open-line' electric-indent sensitivity
7900         * lisp/simple.el (open-line): Remove electric indent code.
7901           (electric-indent-just-newline): Don't declare.
7903         * test/automated/simple-test.el (open-line-indent): Adjust test.
7905         This partly reverts Artur Malabarba's change that added electric
7906         indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git
7907         commit bd4f04f86), and adjusts a new test he added right afterwards
7908         (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly.
7909         However, the new INTERACTIVE argument to `open-line', which he also
7910         added in the first commit, is not reverted here.
7912         See the thread "Questioning the new behavior of `open-line'." on the
7913         Emacs Devel mailing list, and in particular this message:
7915           From: Artur Malabarba
7916           Subject: Re: Questioning the new behavior of `open-line'.
7917           To: Karl Fogel
7918           Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel
7919           Date: Wed, 18 Nov 2015 21:03:58 +0000
7920           Message-ID: \
7921             <CAAdUY-KN06pvCMy5bt3+Buk3yeKjf6n9iB2FaSTTOPpCqPwyhA@mail.gmail.com>
7923           https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html
7925 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7927         Omit unnecessary clear in Fmodule_load
7929         * src/emacs-module.c (Fmodule_load):
7930         Simplify and avoid unnecessary initialization of priv member to 0.
7932         * src/emacs-module.c: (module_vec_set, module_vec_get, module_vec_size)
7934 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7936         Prefer signed integer types in module code
7938         Generally speaking, at the C level the Emacs source code prefers
7939         signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’,
7940         partly to avoid the usual signedness confusion when comparing values.
7941         Change the module API to follow this convention.
7942         Use ‘int’ for small values that can’t exceed INT_MAX.
7943         * modules/mod-test/mod-test.c (Fmod_test_globref_make)
7944         (Fmod_test_string_a_to_b, Fmod_test_vector_fill)
7945         (Fmod_test_vector_eq):
7946         * src/emacs-module.c (struct emacs_value_frame)
7947         (module_make_global_ref, module_free_global_ref)
7948         (module_copy_string_contents, module_make_string)
7949         (module_vec_set, module_vec_get, module_vec_size):
7950         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
7951         * src/lread.c (suffix_p):
7952         Prefer signed to unsigned integer types.
7954 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
7956         Omit ‘const’ on locals
7958         Remove ‘const’ qualifier from locals that were newly added.
7959         We don’t normally bother declaring locals with ‘const’ even
7960         though they are not modified, for the same reason we don’t
7961         bother declaring them with ‘register’ even though their
7962         addresses are not taken; the advantage in compile-time
7963         checking isn’t worth the loss of readability.
7964         * modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall)
7965         (Fmod_test_vector_fill, Fmod_test_vector_eq):
7966         * src/emacs-module.c (MODULE_SETJMP_1)
7967         (module_make_global_ref, module_free_global_ref)
7968         (module_non_local_exit_get, module_make_function)
7969         (module_extract_integer, module_extract_float)
7970         (module_get_user_ptr, module_set_user_ptr)
7971         (module_get_user_finalizer, module_set_user_finalizer)
7972         (module_vec_get, Fmodule_call)
7973         (module_non_local_exit_signal_1)
7974         (module_non_local_exit_throw_1, lisp_to_value)
7975         (finalize_storage, allocate_emacs_value, mark_modules)
7976         (module_handle_signal, module_handle_throw)
7977         (module_format_fun_env):
7978         * src/eval.c (push_handler, push_handler_nosignal)
7979         (init_handler):
7980         * src/lread.c (suffix_p):
7981         Omit unnecessary ‘const’.
7983 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
7985         Prefer intmax_t to int64_t in module code
7987         * modules/mod-test/mod-test.c (sum, Fmod_test_sum):
7988         * src/emacs-module.c (module_extract_integer)
7989         (module_make_integer):
7990         * src/emacs-module.h (struct emacs_env_25):
7991         Prefer intmax_t to int64_t.  This doesn’t change the generated
7992         code on any of the machines Emacs currently ports to, but it’s
7993         at least in theory more future-proof as C99 doesn’t guarantee
7994         that int64_t exists.
7996 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
7998         Rename module.c to emacs-module.c, etc.
8000         * src/emacs-module.c: Rename from src/module.c.
8001         * src/emacs-module.h: Rename from src/module.h.
8002         All uses changed.
8004 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8006         Fix minor module problems found by static checking
8008         * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used.
8009         * src/eval.c, src/lisp.h (lisp_eval_depth): Now static.
8010         * src/emacs-module.c (Fmodule_load): Fix pointer signedness bug.
8011         (Fmodule_call): Tell GCC that the default case is unreachable.
8013 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8015         Style fixes for indenting etc. in module code
8017         This is mostly indenting and spacing changes.  Also, remove
8018         some unnecessary static decls instead of bothering to reindent them.
8019         * src/emacs-module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
8020         as most other Emacs files do for this sort of thing.
8022 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
8024         Minor improvements in modules testing Makefile
8026         * modules/mod-test/Makefile (EMACS, SO): New variables.
8027         (CFLAGS): When SO = dll, don't use -fPIC.
8028         (check): New target, runs the test.
8030 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
8032         * .gitignore: Add "*.dll".
8034 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8036         Migrate modules/.gitignore into .gitignore
8038         * .gitignore: Add former contents of modules/.gitignore.
8039         * modules/.gitignore: Remove.
8041 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8043         Add copyright notices to module code
8045         Put them in the usual format for GNU Emacs copyright notices.
8047 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8049         Rename emacs_module.h to module.h
8051         * src/module.h: Rename from src/emacs_module.h.
8052         All uses changed.
8054 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
8056         * src/module.c (Fmodule_load): Remove unused vars `doc_name', `args'
8058         * src/lread.c (Fload): Remove unused variable `size'
8060 2015-11-19  Alan Mackenzie  <acm@muc.de>
8062         src/keyboard.c (pre-command-hook): Fix typo in doc string: "pre" -> "post".
8064 2015-11-19  Dmitry Gutov  <dgutov@yandex.ru>
8066         Prioritize looking inside vc-parent-buffer over log-view-mode fallback
8068         * lisp/vc/vc.el (vc-deduce-fileset): Prioritize looking inside
8069         vc-parent-buffer over log-view-mode fallback (bug#21955).
8071 2015-11-18  Alan Mackenzie  <acm@muc.de>
8073         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
8075 2015-11-18  Ken Brown  <kbrown@cornell.edu>
8077         * configure.ac (LIBMODULES): Don’t define on Cygwin
8079 2015-11-18  Eli Zaretskii  <eliz@gnu.org>
8081         Fix MS-Windows build --with-modules
8083         * src/module.c: Reformat copyright commentary.
8084         (module_vec_get): Use explicit cast to size_t to avoid compiler
8085         warning in 32-bit builds.
8086         (check_main_thread) [WINDOWSNT]: Fix letter-case in Windows APIs.
8087         Compare thread IDs directly, as GetThreadId is not available
8088         before Windows Vista.
8089         (check_main_thread) [WINDOWSNT]: Duplicate the thread handle
8090         without using APIs and constants not available on XP and older
8091         systems.  Obtain and store the thread ID as well.
8093 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
8094             Philipp Stephani  <phst@google.com>
8096         Add dynamic module test and helper script
8098         Add 'modhelp.py' script (python2) to automate module testing and
8099         module generation.
8101         To build and test all modules in the modules/ dir
8102           $ ./modhelp.py test
8104         To generate a module from template code (good starting point)
8105           $ ./modhelp init mynewtestmodule
8107         See the script -h option for more documentation.
8109         * modules/modhelp.py: New module helper script.
8110         * modules/mod-test/Makefile: New file. Makefile for the test module.
8111         * modules/mod-test/mod-test.c: New file. Test module source file.
8112         * modules/mod-test/test.el: New file. ert test suite for the test module.
8113         * modules/.gitignore: New file. Local .gitignore file.
8115 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
8117         Make 'Fload' look for modules
8119         'Fload' can now load dynamic modules. This also makes 'require' work.
8121         * src/lread.c:
8122           (suffix_p): New function.
8123           (Fload): Use 'suffix_p'.  Call 'Fmodule_load' when we try to load a file
8124           with a module suffix.
8125           (syms_of_lread): Append module suffix to 'Vload_suffixes'.
8127 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
8128             Philipp Stephani  <phst@google.com>
8130         Add dynamic module module support
8132         * configure.ac: Add '--with-modules' option.  Conditionally add
8133           dynlib.o and module.o to the list of objects.  Add any system
8134           specific flags to the linker flags to support dynamic libraries.
8135         * m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
8136           attributes.
8137         * src/Makefile.in: Conditionally add module objects and linker flags.
8138         * src/alloc.c (garbage_collect_1): protect module local values from
8139           GC.
8140         * src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
8141         * src/emacs-module.h: New header file included by modules.  Public
8142           module API.
8143         * src/emacs-module.c: New module implementation file.
8145 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
8147         Add new User Pointer (User_Ptr) type
8149         * src/lisp.h: Add new Lisp_Misc_User_Ptr type.
8150         (XUSER_PTR): New User_Ptr accessor.
8151         * src/alloc.c (make_user_ptr): New function.
8152         (mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr.
8153         * src/data.c (Ftype_of): Return 'user-ptr' for user pointer.
8154         (Fuser-ptrp): New user pointer type predicate function.
8155         (syms_of_data): New 'user-ptrp', 'user-ptr' symbol.  New 'user-ptrp'
8156         subr.
8157         * src/print.c (print_object): Add printer for User_Ptr type.
8159 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
8160             Philipp Stephani  <phst@google.com>
8162         Add portable layer for dynamic loading
8164         * src/dynlib.h: New file.
8165         * src/dynlib.c: New file.
8167 2015-11-18  Philipp Stephani  <phst@google.com>
8169         Add catch-all & no-signal version of PUSH_HANDLER
8171         Ground work for modules. Add a non-signaling version of PUSH_HANDLER and
8172         a new "catch-all" handler type.
8174         * src/eval.c (init_handler, push_handler, push_handler_nosignal): New
8175           functions.
8176         * src/fns.c (hash_remove_from_table): Expose function public.
8177         * src/lisp.h: New handler type, define macro to push_handler call.
8179 2015-11-18  Ken Brown  <kbrown@cornell.edu>
8181         Silence byte-compiler warning
8183         * lisp/server.el (server-process-filter): Silence byte-compiler
8184         warning.
8186 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
8188         Quote symbols in docstrings using `'
8190         Be more systematic about quoting symbols `like-this' rather than
8191         `like-this or 'like-this' in docstrings.  This follows up Artur
8192         Malabarba's email in:
8193         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html
8195 2015-11-18  Peder O. Klingenberg  <peder@klingenberg.no>
8197         Fix savegames in dunnet
8199         * lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead
8200           of separate implementation.
8202 2015-11-18  Artur Malabarba  <bruce.connor.am@gmail.com>
8204         * lisp/emacs-lisp/package.el (package--with-response-buffer):
8206         Ensure we're at the start of the buffer before searching for
8207         the end of headers.
8209 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
8211         * admin/release-process: Improve wording.
8213 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
8215         Backport: * CONTRIBUTE: Remove information about feature freeze.
8217         (cherry picked from commit ae0653b5ab9ee223751ec389b87011963e1cbbef)
8219 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
8221         Backport: Document the release process
8223         * admin/notes/versioning: Add information about RC releases.
8224         * admin/release-process: Document the release process.
8225         * admin/authors.el (authors-ignored-files):
8226         * admin/README: Change FOR-RELEASE to release-process.
8227         * CONTRIBUTE:
8228         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
8230         (cherry picked from commit 9a4aa0f5945a03611ae29c516025dbd353bd26ab)
8232 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
8234         Backport: * admin/release-process: Rename from admin/FOR-RELEASE.
8236         (cherry picked from commit f8cc14b59700e51a4e31139c0a65c8154995e055)
8238 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
8240         Backport: Mention CONTRIBUTE in README
8242         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
8243         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
8244         * README: Mention CONTRIBUTE.
8246         (cherry picked from commit ed2e7e20ae0945288c98091f308f5460c3453873)
8248 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
8250         Fix docstring quoting problems with ‘ '’
8252         Problem reported by Artur Malabarba in:
8253         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
8254         Most of these fixes are to documentation; many involve fixing
8255         longstanding quoting glitches that are independent of the
8256         recent substitute-command-keys changes.  The changes to code are:
8257         * lisp/cedet/mode-local.el (mode-local-augment-function-help)
8258         (describe-mode-local-overload):
8259         Substitute docstrings before displaying them.
8260         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
8261         Quote the generated docstring for later substitution.
8263 2015-11-17  Eli Zaretskii  <eliz@gnu.org>
8265         Improve configure --help text for wide ints
8267         * configure.ac (wide-int): Clarify user-level advantages and
8268         disadvantages.
8270 2015-11-17  Stephen Leake  <stephen_leake@stephe-leake.org>
8272         Improve doc string
8274         * lisp/progmodes/xref.el (xref-backend-references): Improve doc string.
8276 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8278         eval_sub followed dangling pointer when debugging
8280         Problem reported by Pip Cet (Bug#21245).
8281         This bug could occur in eval_sub if the C compiler reused
8282         storage associated with the ‘argvals’ local after ‘argvals’
8283         went out of scope, and if the Elisp debugger stopped on Elisp
8284         function exit and accessed ‘argvals’.  It could also occur if
8285         a variadic function was called with so many arguments (over
8286         2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then
8287         SAFE_FREE freed the arguments, then the memory manager used
8288         the storage for other purposes, then the debugger accessed the
8289         arguments.
8290         * src/eval.c (eval_sub): Declare ‘argvals’ at top level of
8291         function body.  Simplify local decls.
8292         When allocating args via SAFE_ALLOCA, call
8293         debugger before invoking SAFE_FREE, as the debugger needs
8294         access to the args.
8295         (eval_sub, apply_lambda): Rework to avoid need for
8296         set_backtrace_debug_on_exit hack.  This is cleaner,
8297         and should work better with buggy custom debuggers.
8299 2015-11-17  Daiki Ueno  <ueno@gnu.org>
8301         * lisp/image-mode.el: Support encrypted file
8303         (image-toggle-display-image): Read content from the buffer instead
8304         of the file, if the buffer holds a decrypted data.  (Bug#21870)
8306 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8308         ELF unexec: align section header
8310         This ports the recent unexelf.c changes to Fedora x86-64
8311         when configured with GCC’s -fsanitize=undefined option.
8312         * src/unexelf.c (unexec): Align new_data2_size to a multiple
8313         of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a
8314         pointer aligned appropriately for its type.
8316 2015-11-17  Andreas Schwab  <schwab@linux-m68k.org>
8318         Do more checks on bytecode objects (Bug#21929)
8320         * src/eval.c (funcall_lambda): Check size of compiled function
8321         object.
8322         (Ffetch_bytecode): Likewise.
8324 2015-11-16  Johan Bockgård  <bojohan@gnu.org>
8326         pcase.el: Fix edebugging of backquoted cons patterns
8328         * lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
8329         cons patterns. (Bug#21920)
8331 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
8333         Improve fix for regex reentrancy abort
8335         Suggested by Stefan Monnier (Bug#21688).
8336         * src/syntax.c (update_syntax_table_forward):
8337         Remove recently-added PROPERTIZE arg, and assume it is true.
8338         All callers changed.
8339         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
8340         Invoke update_syntax_table directly.
8342 2015-11-16  Artur Malabarba  <bruce.connor.am@gmail.com>
8344         * lisp/faces.el (faces--attribute-at-point): Use `face-list-p'
8346         * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require
8348         * lisp/emacs-lisp/nadvice.el (add-function): Escape quote
8350 2015-11-16  Vasily Korytov  <vasily.korytov@yahoo.com>
8352         Recognize .rbw and .pyw files (bug#18753)
8354         * lisp/progmodes/python.el (auto-mode-alist):
8355         Recognize .pyw files.
8357         * lisp/progmodes/ruby-mode.el (auto-mode-alist):
8358         Recognize .rbw files.
8360 2015-11-16  Dmitry Gutov  <dgutov@yandex.ru>
8362         Fix ruby-mode auto-mode-alist entry
8364         * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
8365         around the extensions (bug#21257).
8367 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
8369         Fix etags completion near eob
8371         * lisp/progmodes/etags.el (tags-completion-at-point-function):
8372         Use `goto-char', to avoid the end-of-buffer error (bug#20061).
8374 2015-11-15  Alan Mackenzie  <acm@muc.de>
8376         De-pessimize detection of C++ member initialization lists.
8378         list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
8379         (c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
8380         is only called when a construct "looks right" rather than continually.
8381         (c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
8383 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
8385         Backport: * lisp/emacs-lisp/package.el: Fix a decoding issue.
8387         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
8388         `url-insert-buffer-contents'.
8389         (url-insert-buffer-contents): New function
8391         (package--with-response-buffer): Use `url-insert-buffer-contents'.
8392         The previous code had some issues with decoding. Refactoring that
8393         function allows us to use the decoding from url-handlers while still
8394         treating both sync and async requests the same.
8396 2015-11-15  Stephen Leake  <stephen_leake@stephe-leake.org>
8398         Improve a few doc strings, comments
8400         * lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
8401         * lisp/cedet/ede/locate.el (ede-locate-base):
8402         * lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
8403         * src/fns.c (Fdelq): Improve doc string.
8405         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
8407 2015-11-15  Anders Lindgren  <andlind@gmail.com>
8409         Enhance NSTRACE (trace output for NextStep).
8411         Trace can be disabled for groups of functions. By default, event
8412         functions and functions that generate lots of output are disabled.
8414         Trace output of Objective-C functions now use the "[ClassName
8415         parameter:]" form.
8417         * src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
8418         (NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
8419         (NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
8420         controlling in which function groups trace should be active.
8421         (NSTRACE_WHEN): Support for silencing a function, this also
8422         silencing all called functions.
8423         (NSTRACE_UNSILENCE): New macro, used to re-enable trace.
8424         (NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
8425         print the full screen state in NSTRACE functions.
8427         * src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
8428         can be accessed from multiple threads.
8429         (nstrace_enabled_global): New variable, when FALSE, trace is
8430         silenced.
8431         (nstrace_restore_global_trace_state): New function, used to
8432         restore `nstrace_enabled_global' at end of block.
8433         ([EmacsView setFrame:], [EmacsWindow setFrame:display:])
8434         ([EmacsWindow setFrame:display:animation:])
8435         ([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
8436         and call corresponding super function.
8437         (Many functions): Add or enhance trace output.
8439         * src/nsimage.m (ns_image_from_file): Enhanced trace output.
8441         * src/nsfns.m (x_set_tool_bar_lines): Add trace output.
8443         * src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
8444         and call corresponding super function.
8446 2015-11-15  Anders Lindgren  <andlind@gmail.com>
8448         Fixed a toolbar related issue on OS X.
8450         Earlier, when toggling the tool-bar in a maximized frame, the
8451         frame size didn't match the number of text lines, leaving an
8452         unused area at the bottom of the frame.
8454         * src/nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
8455         fullscreen modes when tool bar is disabled.
8457 2015-11-15  Anders Lindgren  <andlind@gmail.com>
8459         Fixed OS X 10.6.8 build issue (bug#21862).
8461         * src/nsterm.h (EmacsView): Add missing declarations.
8462         * src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
8463         the standard method but without the notification parameter.
8464         Intended to be used for direct calls.
8465         ([EmacsView windowDidEnterFullScreen]): Call the non-notification
8466         version of `windowDidBecomeKey'. Made the notification method call
8467         the non-notification method instead of the vice versa.
8468         (NSWindowDidEnterFullScreenNotification): Deleted, no longer
8469         needed.
8471 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
8473         * lisp/faces.el (faces--attribute-at-point): Fix an issue
8475         Previous code would signal an error when the face at point was
8476         a manually built list of attributes such as '(:foregroud "white").
8478         * test/automated/faces-tests.el (faces--test-color-at-point): Add a test
8480 2015-11-15  Paul Eggert  <eggert@cs.ucla.edu>
8482         Fix regex abort when it tries to reenter itself
8484         Problem reported by Ken Raeburn.
8485         Solution suggested by Stefan Monnier (Bug#21688).
8486         * src/regex.c (re_match_2_internal):
8487         Use new _FAST functions to avoid regex code reentering itself.
8488         * src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
8489         All callers changed.
8490         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
8491         (UPDATE_SYNTAX_TABLE_FAST): New inline functions.
8493 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
8495         Improve Ruby 1.9-style keyword keys highlighting
8497         * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
8498         Handle required keyword arguments (bug#21367).
8499         And highlight the colon together with the name.
8501 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
8503         Unify the absolutely equal xref-backend-references implementations
8505         * lisp/progmodes/elisp-mode.el (xref-backend-references):
8506         Remove.
8508         * lisp/progmodes/etags.el (xref-backend-references):
8509         Remove.
8511         * lisp/progmodes/xref.el (xref-backend-references):
8512         Define the default implementation.
8514 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
8516         Update project-find-regexp for the new xref API
8518         * lisp/progmodes/project.el (project--read-regexp):
8519         Update to use the new xref API methods.
8521         * lisp/progmodes/xref.el (xref-find-backend): Autoload.
8523 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
8525         Fix replacing a match with a shorter string
8527         In effect, partially reverting fe973fc.
8529         * lisp/progmodes/xref.el (xref-query-replace): Store the end
8530         of each match as a marker again, instead of length.
8531         (xref--query-replace-1): Update accordingly.
8533 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
8535         * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
8537         Signal user-errors instead.
8539 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
8541         Document 'describe-symbol'
8543         * doc/emacs/help.texi (Help Summary): Mention "C-h o".
8544         (Name Help): Document "C-h o" and describe-symbol.
8546         * lisp/help-fns.el (describe-symbol): Doc fix.
8548 2015-11-14  Paul Eggert  <eggert@cs.ucla.edu>
8550         Change test name to avoid spellcheck issue.
8552 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
8554         Avoid signaling an error in 'describe-symbol'
8556         * lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
8557         exists as a function/variable/face/etc., but is undocumented.
8559         * test/automated/help-fns.el (help-fns-test-describe-symbol): New
8560         test.
8562 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
8564         * INSTALL (--with-cairo): Document this new configure option.
8566 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
8568         Document that GNU Make >= 3.81 is required to build Emacs
8570         * doc/lispref/internals.texi (Building Emacs): Document that GNU
8571         Make 3.81 or later is now required.
8573 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
8575         Backport: * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async.
8577         (package--with-work-buffer-async): Reimplement as
8578         `package--with-response-buffer'.
8579         (package--with-work-buffer): Mark obsolete.
8580         (package--with-response-buffer): New macro. This is a more self
8581         contained and less contrived version of
8582         `package--with-work-buffer-async'.  It uses keyword arguments,
8583         doesn't have async on the name, doesn't fallback on
8584         `package--with-work-buffer', and has _much_ simpler error
8585         handling.  On master, this macro will soon be part of another
8586         library (either standalone or inside url.el), which is why this
8587         commit is not to be merged back.
8589         (package--check-signature, package--download-one-archive)
8590         (package-install-from-archive, describe-package-1): Use it.
8592         (package--download-and-read-archives): Let
8593         `package--download-one-archive' take care of calling
8594         `package--update-downloads-in-progress'.
8596 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
8598         * CONTRIBUTE (Branches): Improve wording for back-ported commits.
8600 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
8602         Merge branch 'master' into emacs-25
8604 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
8606         Use generic dispatch for xref backends
8608         * lisp/progmodes/xref.el (xref-backend-functions):
8609         New variable.
8610         (xref-find-function): Remove.
8611         (xref-find-backend)
8612         (xref--etags-backend): New functions.
8613         (xref-identifier-at-point-function)
8614         (xref-identifier-completion-table-function): Remove.
8615         (xref-backend-definitions, xref-backend-references)
8616         (xref-backend-apropos, xref-backend-identifier-at-point)
8617         (xref-backend-identifier-completion-table):
8618         New generic functions.
8620         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add
8621         `elisp--xref-backend' to the beginning of
8622         `xref-backend-functions', locally.  Delete references to
8623         removed functions and vars.
8624         (elisp-xref-find): Remove.
8625         (elisp--xref-backend): New function.
8626         (elisp--xref-find-references, elisp--xref-find-apropos)
8627         (elisp--xref-identifier-completion-table):
8628         Turn into appropriately named generic methods.
8630         * lisp/progmodes/etags.el (etags-xref-find): Remove.
8631         (xref-backend-identifier-completion-table)
8632         (xref-backend-references, xref-backend-definitions)
8633         (xref-backend-apropos): New generic methods.
8635 2015-11-14  Juri Linkov  <juri@linkov.net>
8637         Support rectangular regions for more commands
8639         * lisp/simple.el (region-extract-function): Handle the arg value ‘bounds’.
8640         (region-insert-function): New function.
8641         (shell-command-on-region): Add arg ‘region-noncontiguous-p’.
8642         If non-nil, operate on multiple chunks.
8643         (region-noncontiguous-p): New function.
8645         * lisp/rect.el: Add function rectangle--insert-region
8646         around region-insert-function.
8647         (extract-rectangle-bounds): New function.
8648         (rectangle--extract-region): Handle the arg value ‘bounds’.
8649         (rectangle--insert-region): New function.
8651         * lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
8652         around region-insert-function.
8653         (cua--extract-rectangle-bounds): New function.
8654         (cua--rectangle-region-extract): Handle the arg value ‘bounds’.
8656         * lisp/replace.el (query-replace, query-replace-regexp): Add arg
8657         ‘region-noncontiguous-p’.  Use ‘use-region-p’.
8658         (query-replace-regexp-eval, map-query-replace-regexp)
8659         (replace-string, replace-regexp): Use ‘use-region-p’.
8660         (keep-lines, flush-lines, how-many): Use ‘use-region-p’.
8661         (perform-replace): Add arg ‘region-noncontiguous-p’.
8662         If non-nil, operate on multiple chunks.
8664         * src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
8665         If non-nil, operate on multiple chunks. (Bug#19829)
8667 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
8669         Handle multiple matches on the same line; add highlighting
8671         * lisp/progmodes/xref.el (xref-location-marker): Interpret the
8672         column value in characters.
8673         (xref--collect-matches): Rename from `xref--collect-match'.
8674         Search for all matches in the hit line.  Add `highlight' face to
8675         the matched region in the summary.  Update both callers.
8677 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
8679         Replace xref-match-bounds with xref-match-length
8681         Relying on xref-location-marker to point to the beginning of the match
8683         * lisp/progmodes/xref.el (xref-match-bounds): Remove.
8684         (xref-match-length): Add.
8685         (xref-make-match): Change the arguments.
8686         (xref--match-buffer-bounds): Remove.
8687         (xref-match-item): Store length, instead of end-column.
8688         (xref-pulse-momentarily)
8689         (xref--collect-match)
8690         (xref--query-replace-1): Update accordingly.
8691         (xref-query-replace): Ditto.  And check that the search results
8692         are up-to-date.
8694 2015-11-13  John Wiegley  <johnw@newartisans.com>
8696         Merge remote-tracking branch 'origin/master' into emacs-25
8698 2015-11-13  l3thal  <kwhite@gnu.org>
8700         Merge branch 'erc-async-reconnect' into emacs-25
8702         Reconnect asynchronously.
8704 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8706         Merge from gnulib
8708         This incorporates:
8709         2015-11-13 xalloc-oversized: improve performance with GCC 5
8710         * lib/xalloc-oversized.h: Copy from gnulib.
8712 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8714         Spruce up ftfont.c memory allocation
8716         * src/ftfont.c (setup_otf_gstring):
8717         Avoid O(N**2) behavior when reallocating.
8718         (ftfont_shape_by_flt): Prefer xpalloc to xrealloc when
8719         reallocating buffers; this simplifies the code.  Do not trust
8720         mflt_run to leave the output areas unchanged on failure, as
8721         this isn’t part of its interface spec.
8723 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8725         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
8727 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8729         Port recent XCB changes to 64-bit ‘long int’
8731         For historical reasons, libX11 represents 32-bit values like Atoms as
8732         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
8733         do that, so adapt the recent XCB code to behave properly on 64-bit
8734         platforms.  Also, fix what appears to be a bug in the interpretation
8735         of xcb_get_property_value_length, at least on my Fedora platform
8736         which is running libxcb-1.11-5.fc21.
8737         * src/xfns.c (x_real_pos_and_offsets):
8738         * src/xterm.c (get_current_wm_state):
8739         xcb_get_property_value_length returns a byte count, not a word count.
8740         For 32-bit quantities, xcb_get_property_value returns a vector
8741         of 32-bit words, not of (possibly 64-bit) long int.
8743         Backport.
8745 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8747         * src/undo.c (run_undoable_change): Now static.
8749         Backport.
8751 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8753         Remove support for ':timeout' from w32 tray notifications
8755         * src/w32fns.c (Fw32_notification_notify): Delete the code that
8756         supports ':timeout'.
8757         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
8758         with dbusbind.c when D-Bus is compiled in.
8760         * doc/lispref/os.texi (Desktop Notifications): Don't mention
8761         ':timeout'.
8763         Backport.
8765 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
8767         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
8769         (simple-test--transpositions): New macro.
8770         (simple-transpose-subr): New test.
8772         Backport.
8774 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
8776         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
8778         Backport.
8780 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
8782         * src/undo.c: Small fixes for previous change
8784         (run_undoable_change): Mark void argument list.
8785         (record_property_change): Remove unused variable `boundary'.
8787         Backport.
8789 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8791         Add a few more variables to redisplay--variables
8793         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
8794         and bidi-display-reordering to the list.
8796         Backport.
8798 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8800         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
8802         Backport.
8804 2015-11-13  Eli Barzilay  <eli@barzilay.org>
8806         Fix point positioning after transposing with negative arg
8808         * lisp/simple.el (transpose-subr): When invoked with a negative
8809         argument, move point to after the transposed text, like we do
8810         when invoked with a positive argument.  (Bug#21885)
8812         Backport.
8814 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8816         Fix last change in shr.el
8818         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
8819         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
8821         Backport.
8823 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8825         Fix last change
8827         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
8828         Don't DEFSYM tray notification symbols if D-Bus is being used.
8830         Backport.
8832 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8834         Another fix for MinGW64 and Cygwin builds due to notifications
8836         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
8837         being compiled into Emacs.
8838         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
8839         Sw32_notification_notify and Sw32_notification_close if the code
8840         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
8842         Backport.
8844 2015-11-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8846         Remove intern calls and XXX comments from Fx_export_frames
8848         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
8849         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
8850         for consistency with image types.  Remove XXX comments.
8851         (syms_of_xfns) <Qpdf>: DEFSYM it.
8853         Backport.
8855 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8857         Port recent XCB changes to 64-bit ‘long int’
8859         For historical reasons, libX11 represents 32-bit values like Atoms as
8860         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
8861         do that, so adapt the recent XCB code to behave properly on 64-bit
8862         platforms.  Also, fix what appears to be a bug in the interpretation
8863         of xcb_get_property_value_length, at least on my Fedora platform
8864         which is running libxcb-1.11-5.fc21.
8865         * src/xfns.c (x_real_pos_and_offsets):
8866         * src/xterm.c (get_current_wm_state):
8867         xcb_get_property_value_length returns a byte count, not a word count.
8868         For 32-bit quantities, xcb_get_property_value returns a vector
8869         of 32-bit words, not of (possibly 64-bit) long int.
8871 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8873         * src/undo.c (run_undoable_change): Now static.
8875 2015-11-13  Michael Albinus  <michael.albinus@gmx.de>
8877         Adapt Tramp version, do not merge with master
8879         * doc/misc/trampver.texi (trampver):
8880         * lisp/net/trampver.el (tramp-version): Set to "2.2.13-25.1".
8882 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8884         Remove support for ':timeout' from w32 tray notifications
8886         * src/w32fns.c (Fw32_notification_notify): Delete the code that
8887         supports ':timeout'.
8888         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
8889         with dbusbind.c when D-Bus is compiled in.
8891         * doc/lispref/os.texi (Desktop Notifications): Don't mention
8892         ':timeout'.
8894 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
8896         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
8898         (simple-test--transpositions): New macro.
8899         (simple-transpose-subr): New test.
8901 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
8903         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
8905 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
8907         * src/undo.c: Small fixes for previous change
8909         (run_undoable_change): Mark void argument list.
8910         (record_property_change): Remove unused variable `boundary'.
8912 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8914         Add a few more variables to redisplay--variables
8916         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
8917         and bidi-display-reordering to the list.
8919 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8921         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
8923 2015-11-13  Eli Barzilay  <eli@barzilay.org>
8925         Fix point positioning after transposing with negative arg
8927         * lisp/simple.el (transpose-subr): When invoked with a negative
8928         argument, move point to after the transposed text, like we do
8929         when invoked with a positive argument.  (Bug#21885)
8931 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8933         Fix last change in shr.el
8935         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
8936         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
8938 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8940         Fix last change
8942         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
8943         Don't DEFSYM tray notification symbols if D-Bus is being used.
8945 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
8947         Another fix for MinGW64 and Cygwin builds due to notifications
8949         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
8950         being compiled into Emacs.
8951         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
8952         Sw32_notification_notify and Sw32_notification_close if the code
8953         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
8955 2015-11-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8957         Remove intern calls and XXX comments from Fx_export_frames
8959         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
8960         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
8961         for consistency with image types.  Remove XXX comments.
8962         (syms_of_xfns) <Qpdf>: DEFSYM it.
8964 2015-11-13  Eric Hanchrow  <eric.hanchrow@gmail.com>
8966         shr: don't invoke unbound function (Bug#21895)
8968         * lisp/net/shr.el (have-fringes-p): New function.
8969           (shr-insert-document, shr-fill-text): Use it.
8971 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
8973         * test/automated/keymap-tests.el: Fix test to make it repeatable
8975         (keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map
8976         entry to its initial value to make the test repeatable in interactive
8977         sessions (assuming it doesn't fail and crashes Emacs, of course).
8979 2015-11-13  Artur Malabarba  <bruce.connor.am@gmail.com>
8981         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
8983 2015-11-12  Phillip Lord  <phillip.lord@russet.org.uk>
8985         : Tests for undo-auto functionality.
8987 2015-11-12  Phillip Lord  <phillip.lord@newcastle.ac.uk>
8989         The heuristic that Emacs uses to add an `undo-boundary' has been
8990         reworked, as it interacts poorly with functions on `post-command-hook'
8991         or `after-change-functions'.
8993         * lisp/simple.el: New section added.
8994         * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
8995         (self_insert_command): Calls simple.el to amalgamate.
8996         (delete_char): Calls simple.el to amalgamate.
8997         * src/keyboard.c (last_undo_boundary): Removed.
8998         * src/undo.c (run_undoable_change): New function.
9000 2015-11-12  Juri Linkov  <juri@linkov.net>
9002         Bind [?\S-\ ] to previous line command in Dired-like modes.
9004         * lisp/arc-mode.el (archive-mode-map):
9005         * lisp/dired.el (dired-mode-map):
9006         * lisp/proced.el (proced-mode-map):
9007         * lisp/vc/vc-dir.el (vc-dir-mode-map):
9008         Bind [?\S-\ ] to previous line command.
9009         (Bug#20790)
9011 2015-11-12  Eli Zaretskii  <eliz@gnu.org>
9013         Fix the MinGW64 and Cygwin-w32 builds
9015         * src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
9016         (MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
9017         use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
9018         which cause trouble with MinGW42 headers.  Ifdef away tray
9019         notifications code for Cygwin.  Reported by Andy Moreton
9020         <andrewjmoreton@gmail.com>.
9022 2015-11-12  Simen Heggestøyl  <simenheg@gmail.com>
9024         Enable sorting of JSON object keys when encoding
9026         * lisp/json.el (json-encoding-object-sort-predicate): New variable for
9027         specifying a sorting predicate for JSON objects during encoding.
9028         (json--plist-to-alist): New utility function.
9029         (json-encode-hash-table): Re-use `json-encode-alist' when object keys
9030         are to be sorted.
9031         (json-encode-alist): Sort output by
9032         `json-encoding-object-sort-predicate, when set.
9033         (json-encode-plist): Re-use `json-encode-alist' when object keys are
9034         to be sorted.
9035         (json-pretty-print-buffer-ordered): New command to pretty print the
9036         buffer with object keys sorted alphabetically.
9037         (json-pretty-print-ordered): New command to pretty print the region with
9038         object keys sorted alphabetically.
9040         * test/automated/json-tests.el (test-json-plist-to-alist)
9041         (test-json-encode-plist, test-json-encode-hash-table)
9042         (test-json-encode-alist-with-sort-predicate)
9043         (test-json-encode-plist-with-sort-predicate): New tests.
9045         * etc/NEWS: Add an entry for the new commands.
9047 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
9049         * test/automated/keymap-tests.el: New test file
9051 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
9053         Speed up x_real_pos_and_offsets using XCB
9055         * src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of
9056         all X calls, and pipeline requests when possible, collecting results
9057         later.  Eliminate use of x_catch_errors (and thus XSync) in XCB case.
9059 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
9061         Enable use of XCB for checking window manager state
9063         * src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead
9064         of XGetWindowProperty plus error-catching, since we can explicitly
9065         check for errors in the XCB version.  This eliminates 3 XSync calls on
9066         top of the round-trip actually fetching the information.
9068 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
9070         Detect XCB and save a connection handle
9072         * configure.ac: If using X11, check for XCB libraries and header.
9073         * src/Makefile.in (XCB_LIBS): Define.
9074         (LIBX_EXTRA): Include it.
9076         * src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
9077         (struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
9078         * src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
9080 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
9082         Reduce some data dependencies between X calls
9084         Gains nothing in the traditional-Xlib code, but more closely aligns
9085         with how the XCB version will work.
9087         * src/xfns.c (x_real_pos_and_offsets): When translating coordinates,
9088         send coordinates (0,0) to the X server and add in the real coordinates
9089         after getting the response.  Move XGetGeometry for outer window inside
9090         error-trapping block.  Use DPY variable more, since it's available.
9092 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
9094         Use color cache for creating bitmap
9096         * src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]: Set
9097         attributes to use the caching color allocator.  Initialize and free
9098         the cache.
9100 2015-11-12  Eli Barzilay  <eli@barzilay.org>
9102         Add "^" to the interactive specs of `dired-next/previous-line'
9104         * lisp/dired.el (dired-next-line, dired-previous-line): It makes sense
9105         to bind these commands to the arrow keys, and that means that they work
9106         better with a "^" in the `interactive' declaration so selection works
9107         as expected.
9109 2015-11-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9111         Sync with soap-client repository, version 3.0.2
9113         * lisp/net/soap-client.el: Bump version to 3.0.2.
9115         * lisp/net/soap-client.el (soap-warning): Use format, not format-message.
9117         * lisp/net/soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
9118         (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.
9120         * lisp/net/soap-client.el: Support Emacs versions that do not have
9121         define-error.
9123         * lisp/net/soap-inspect.el: Remove version header.
9125         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Fix first line header
9126         format.
9128 2015-11-11  Alan Mackenzie  <acm@muc.de>
9130         CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
9132         lisp/progmodes/cc-engine.el (c-backward-single-comment, c-backward-comments)
9133         (c-invalidate-state-cache-1, c-parse-state-1, c-guess-basic-syntax):
9134         remove bindings of open-paren-in-column-0-is-defun-start to nil.
9135         (c-get-fallback-scan-pos): "New" function (existed several years ago).
9136         (c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using
9137         c-get-fallback-scan-pos.
9138         (c-parse-state-1): Handle 'BOD strategy.
9140         lisp/progmodes/cc-mode.el (c-before-change, c-after-change)
9141         c-font-lock-fontify-region): remove bindings of
9142         open-paren-in-column-0-is-defun-start to nil.
9144         cc-mode.texi (Performance Issues, Limitations and Known Bugs): Fix mix up
9145         between @chapter and @appendix.
9147 2015-11-11  Artur Malabarba  <bruce.connor.am@gmail.com>
9149         * lisp/obarray.el: Fix shadowed variables
9151         (obarray-map, obarray-remove, obarray-put, obarray-get):
9152         Change OBARRAY arg to OB to avoid shadowing ‘obarray’.
9154 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
9156         Avoid error in submitting a form with EWW
9158         * lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument
9159         CHUNK to be nil.  (Bug#21881)
9161 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
9163         Rename seq-p and map-p to seqp and mapp
9165         * lisp/emacs-lisp/seq.el (seqp): New name.
9166         * lisp/emacs-lisp/map.el (mapp): New name.
9167         * doc/lispref/sequences.texi: Update the documentation for seqp.
9168         * test/automated/map-tests.el: Update the tests for mapp.
9170 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
9172         Rename obarray-p to obarrayp
9174         * lisp/obarray.el (obarrayp): New name.
9175         * test/automated/obarray-tests.el: Update the tests.
9177 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
9179         Rename obarray-foreach to obarray-map
9181         * lisp/obarray.el (obarray-map): New name.
9182         * test/automated/obarray-tests.el: Update the corresponding tests.
9184 2015-11-11  Przemysław Wojnowski  <esperanto@cumego.com>
9186         New file with obarray functions.
9188         * lisp/obarray.el: basic obarray functions extracted from abbrev.el
9189         * test/automated/obarray-tests.el: new file
9191 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
9193         Implement tray notifications for MS-Windows
9195         * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef.
9196         (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE)
9197         (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO)
9198         (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID)
9199         (EMACS_NOTIFICATION_MSG): New macros.
9200         (NI_Severity): New enumeration.
9201         (get_dll_version, utf8_mbslen_lim, add_tray_notification)
9202         (delete_tray_notification, Fw32_notification_notify)
9203         (Fw32_notification_close): New functions.
9204         (syms_of_w32fns): Defsubr functions exposed to Lisp.  DEFSYM
9205         keywords used by w32-notification-notify.
9207         * doc/lispref/os.texi (Desktop Notifications): Describe the native
9208         w32 tray notifications.
9210 2015-11-11  Alan Mackenzie  <acm@muc.de>
9212         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
9214         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
9215         Windows" and new @defun selected-window-group.
9216         (Window Start and End): Describe new &optional parameter GROUP and
9217         ...-group-function for window-start, window-end, set-window-start, and
9218         pos-visible-in-window-p.
9219         (Textual Scrolling) Describe the same for recenter.
9220         doc/lispref/positions.texi (Screen Lines): Describe the same for
9221         move-to-window-line.
9223         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
9224         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
9225         new optional parameter "group".  At the beginning of each, check whether the
9226         corresponding ...-group-function is set to a function, and if so execute this
9227         function in place of the normal processing.
9228         (syms_of_window): Define symbols for the six new variables below.
9229         (window-start-group-function, window-end-group-function)
9230         (set-window-start-group-function, recenter-group-function)
9231         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
9232         New permanent local buffer local variables.
9233         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
9234         Fpos_visible_in_window_p.
9236         lisp/window.el (selected-window-group-function): New permanent local buffer
9237         local variable.
9238         (selected-window-group): New function.
9240         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
9241         enable, kill them at mode disable.  Add/remove follow-after-change to/from
9242         after-change-functions.
9243         (follow-start-end-invalid): New variable.
9244         (follow-redisplay): Manipulate follow-start-end-invalid.
9245         (follow-after-change, follow-window-start, follow-window-end)
9246         (follow-set-window-start, follow-pos-visible-in-window-p)
9247         (follow-move-to-window-line, follow-sit-for): New functions.
9249         lisp/isearch.el (isearch-call-message): New macro.
9250         (isearch-update, with-isearch-suspended, isearch-del-char)
9251         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
9252         (with-isearch-suspended): Rearrange code such that isearch-call-message is
9253         invoked before point is moved.
9254         (isearch-message): Add comment about where point must be at function call.
9255         (isearch-search): Remove call to isearch-message.
9256         (isearch-lazy-highlight-window-group): New variable.
9257         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
9258         the battery of tests to ...
9259         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
9260         Note: (sit-for 0) is still called.
9261         (isearch-lazy-highlight-update): Check membership of
9262         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
9263         property.
9264         (isearch-update, isearch-done, isearch-string-out-of-window)
9265         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
9266         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
9267         (isearch-lazy-highlight-update): Call the six amended primitives (see
9268         src/window.c above) with the new `group' argument set to t, to cooperate
9269         with Follow Mode.
9271 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
9273         Optimize `file-equal-p' and `file-in-directory-p' in Tramp
9275         * lisp/net/tramp.el (tramp-handle-file-equal-p)
9276         (tramp-handle-file-in-directory-p): New defuns.  Suggested by
9277         Harvey Chapman <hchapman@3gfp.com>
9279         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
9280         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
9281         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
9282         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
9284 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
9286         * CONTRIBUTE: Encourage adding tests.
9288         Based on this post from John Wiegley:
9290           From: "John Wiegley" <johnw@newartisans.com>
9291           Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test
9292           To: Juanma Barranquero <lekktu@gmail.com>
9293           Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com,
9294               emacs-devel <emacs-devel@gnu.org>
9295           Date: Wed, 28 Oct 2015 18:45:29 -0700
9296           Message-ID: <m2y4emqwg6.fsf@newartisans.com>
9298           https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
9300 2015-11-10  David Reitter  <david.reitter@gmail.com>
9302         Avoid creating notification objects when possible
9304         * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:,
9305         windowDidEnterFullScreen, windowDidExitFullScreen): provide
9306         convenience functions that do not require a notification object.  When
9307         needed, define NSWindowDidEnterFullScreenNotification to allow for
9308         compilation on OS X 10.6.8.
9310 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9312         Move INTEGER_TO_CONS body out of .h file
9314         * src/data.c (INTBIG_TO_LISP): New macro, with most
9315         of the contents of the old INTEGER_TO_CONS.
9316         (intbig_to_lisp, uintbig_to_lisp): New functions.
9317         * src/lisp.h (INTEGER_TO_CONS):
9318         Simplify by using EXPR_SIGNED and the new functions.
9319         This shrinks code size a bit, and makes it easier to
9320         put a breakpoint on handling of large integers.
9322 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9324         Merge from gnulib
9326         This incorporates:
9327         2015-11-10 intprops: new public macro EXPR_SIGNED
9328         2015-11-10 intprops: fix typo in clang port
9329         * lib/intprops.h: Copy from gnulib.
9331 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9333         Spelling fixes
9335         * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type):
9336         Fix misspelling in output.
9338 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
9340         * doc/lispref/variables.texi (Directory Local Variables):
9342         Document dir-locals wildcards
9344         * lisp/files.el (dir-locals-file): Point to Info node.
9346         * doc/emacs/custom.texi (Directory Variables):
9347         Document dir-locals wildcards.
9349         * etc/NEWS: Document new functionality.
9351 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
9353         * lisp/files.el: Don't allow customization of dir-locals sorting
9355         In retrospect, this is not a good idea for the same reason that
9356         `dir-locals-file' is a defconst, because it is important that this
9357         behaviour be "uniform across different environments and users".
9358         Sure, the user can still change the sorting with a hack, but we
9359         shouldn't encourage them to change it.
9361         (dir-locals--all-files): Return list in the order returned by
9362         `file-expand-wildcards'.
9363         (file-expand-wildcards): Document the sorting predicate used.
9364         (dir-locals-sort-predicate): Delete variable.
9366 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
9368         * lisp/files.el (dir-locals-read-from-file): Better handle errors
9370         * lisp/isearch.el (search-default-regexp-mode): change default value
9372 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
9374         * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files
9376         `locate-dominating-file' will now keep looking if the files it finds in
9377         a given directory are unreadable (or not files).
9379 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
9381         * lisp/files.el (dir-locals-file): Allow wildcards
9383         (dir-locals-find-file, dir-locals-collect-variables)
9384         (dir-locals-read-from-file): Update accordingly.
9385         (hack-dir-local-variables): Rename a local variable.
9387         * lisp/files-x.el (modify-dir-local-variable): Update accordingly
9389         * lisp/help-fns.el (describe-variable): Update accordingly
9391         * .gitignore: Add .dir-locals?.el
9393 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
9395         * lisp/emacs-lisp/map.el (map-merge-with): New function
9397         * test/automated/map-tests.el (test-map-merge-with): New test
9399 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
9401         Fix some recently-perturbed bookmark autoloads
9403         * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload.
9404           (bookmark-set): Restore autoload.
9405           (bookmark-set-no-overwrite): Add autoload.
9407         Thanks to Juanma Barranquero for noticing the autoload problems
9408         introduced by my recent commit adding/changing the above functions
9409         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
9411 2015-11-10  Noah Friedman  <friedman@splode.com>
9413         (ydump-buffer): Handle case where gap is at the start of buffer.
9414         I don't recall if older versions of gdb were less strict but you
9415         cannot dump a 0-length range in gdb 7.9.1.
9417 2015-11-10  Dmitry Gutov  <dgutov@yandex.ru>
9419         * lisp/progmodes/project.el: Update Commentary.
9421         Merge branch 'project-next'
9423 2015-11-10  Dmitry Gutov  <dgutov@yandex.ru>
9425         Fold `project-ask-user' into `project-current'
9427         * lisp/progmodes/project.el (project-find-functions): Remove
9428         `project-ask-user'.
9429         (project-ask-user): Remove function and the corresponding
9430         `project-roots' implementation.
9431         (project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
9432         user in case there's no project in the current directory.  Update
9433         all callers.
9435 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
9437         When VC detects a conflict, specify which file
9439         * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function.
9440         * lisp/vc/vc-svn.el (vc-svn-find-file-hook):
9441         * lisp/vc/vc-hg.el (vc-hg-find-file-hook):
9442         * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook):
9443         * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function
9444           to display a standard message that specifies the conflicted file.
9446         Before this change, the message VC used for indicating a conflicted
9447         file was just "There are unresolved conflicts in this file" without
9448         naming the file (and this language was duplicated in several places).
9449         After this change, it's "There are unresolved conflicts in file FOO"
9450         (and this language is now centralized in one function in vc.el).
9452         Justification: It's important for the message to name the conflicted
9453         file because the moment when VC realizes a file is conflicted does not
9454         always come interactively.  For example, some people automatically
9455         find a set of Org Mode files on startup, and may keep those .org files
9456         under version control.  If any of the files are conflicted, the user
9457         just sees some messages fly by, and might later check the "*Messages*"
9458         buffer to find out what files were conflicted.  I'm not saying this
9459         happened to me or anything; it's a purely hypothetical example.
9461 2015-11-09  Eli Zaretskii  <eliz@gnu.org>
9463         Fix assertion violation in define-key
9465         * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character
9466         objects.  Reported by Drew Adams <drew.adams@oracle.com>
9467         and Juanma Barranquero <lekktu@gmail.com>.
9469 2015-11-09  Dima Kogan  <dima@secretsauce.net>
9471         Fix a memory leak in GC of font cache
9473         * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font
9474         entities if some of the fonts it references are marked.  This
9475         plugs a memory leak.  (Bug#21556)
9477 2015-11-09  Paul Eggert  <eggert@cs.ucla.edu>
9479         Use INT_ADD_WRAPV etc. to check integer overflow
9481         * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string):
9482         * src/buffer.c (record_overlay_string, overlay_strings):
9483         * src/casefiddle.c (casify_object):
9484         * src/ccl.c (Fccl_execute_on_string):
9485         * src/character.c (char_width, c_string_width, lisp_string_width)
9486         (count_size_as_multibyte, string_escape_byte8):
9487         * src/coding.c (coding_alloc_by_realloc, produce_chars):
9488         * src/data.c (arith_driver):
9489         * src/dispnew.c (realloc_glyph_pool, init_display):
9490         * src/editfns.c (styled_format):
9491         * src/fns.c (Ffillarray):
9492         * src/ftfont.c (ftfont_shape_by_flt):
9493         * src/gnutls.c (gnutls_hex_string):
9494         * src/gtkutil.c (get_utf8_string):
9495         * src/image.c (x_to_xcolors, x_detect_edges, png_load_body):
9496         * src/keymap.c (Fkey_description):
9497         * src/lisp.h (SAFE_ALLOCA_LISP):
9498         * src/term.c (encode_terminal_code):
9499         * src/tparam.c (tparam1):
9500         * src/xselect.c (x_property_data_to_lisp):
9501         * src/xsmfns.c (smc_save_yourself_CB):
9502         * src/xterm.c (x_term_init):
9503         When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to
9504         more-complicated code involving division and/or
9505         INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and
9506         subtraction and/or INT_ADD_OVERFLOW.
9507         * src/casefiddle.c (casify_object): Simplify multibyte size check.
9508         * src/character.c: Remove some obsolete ‘#ifdef emacs’s.
9509         * src/data.c (arith_driver): Also check for division overflow,
9510         as that’s now possible given that the accumulator can now contain
9511         any Emacs integer.
9512         * src/lisp.h (lisp_word_count): Remove; no longer used.
9514 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
9516         Make sure that the ignore file exists
9518         * lisp/vc/vc.el (vc-default-ignore-completion-table):
9519         Make sure that the ignore file exists.
9521 2015-11-09  Michael Sperber  <mike@xemacs.org>
9523         * lisp/gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
9524         `gnus-summary-delete-article` in a way that also works on XEmacs.
9526 2015-11-08  Simen Heggestøyl  <simenheg@gmail.com>
9528         Add support for retrieving paths to JSON elements
9530         Add support for retrieving the path to a JSON element. This can for
9531         instance be useful to retrieve paths in deeply nested JSON
9532         structures.
9534         * lisp/json.el (json-pre-element-read-function)
9535         (json-post-element-read-function): New variables to hold pre- and post
9536         read callback functions for `json-read-array' and `json-read-object'.
9537         (json--path): New variable used internally by `json-path-to-position'.
9538         (json--record-path, json--check-position): New functions used
9539         internally by `json-path-to-position'.
9540         (json-path-to-position): New function for retrieving the path to a
9541         JSON element at a given position.
9542         (json-read-object, json-read-array): Call
9543         `json-pre-element-read-function' and `json-post-element-read-function'
9544         when set.
9546         * test/automated/json-tests.el (test-json-path-to-position-with-objects)
9547         (test-json-path-to-position-with-arrays)
9548         (test-json-path-to-position-no-match): New tests for
9549         `json-path-to-position'.
9551 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
9553         * etc/NEWS: Mention new `bookmark-set-no-overwrite'.
9555         This really should been part of my previous commit
9556         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
9558 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
9560         Offer non-overwrite bookmark setter (Bug#15746)
9562         * lisp/bookmark.el (bookmark-set-internal): New helper function to do
9563           what `bookmark-set' used to do, but with more choices for overwrite
9564           vs push, and with minor changes to the interactive prompt format.
9565           (bookmark-set): Rewrite as wrapper around above.
9566           If overwriting, inform the user of that in the prompt.
9567           (bookmark-set-no-overwrite): New function, also done as wrapper.
9568           Bind to "M" in `ctl-x-r-map' autoloads.
9569           (bookmark-map): Similarly bind "M" here.
9571 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
9573         * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614).
9575 2015-11-08  Alan Modra  <amodra@gmail.com>
9577         ELF unexec: Don't insert a new section
9579         Reuse the .bss section instead, making it SHT_PROGBITS.  This way we
9580         don't need to mess with symbol st_shndx, or section sh_link and
9581         sh_info.
9583         This does lead to eu-elflint complaints about symbols defined in .bss
9584         with a needed version, because normally it is undefined symbols that
9585         have needed versions;  Defined symbols have version definitions.
9586         The exception is symbols defined by the linker in .dynbss for
9587         variables copied from a shared library in order to avoid text
9588         relocations, with copy relocs to copy their initial values from the
9589         shared library.  These symbols are both defined and have needed
9590         versions, and eu-elflink only expects to see them in SHT_NOBITS
9591         sections.  Of course there is no real problem with having such symbols
9592         in SHT_PROGBITS sections.  glibc ld.so handles them fine.
9594         * src/unexelf.c: Delete outdated comments.
9595         (PATCH_INDEX): Delete.
9596         (find_section): Delete.
9597         (unexec): Don't add a new section.  Instead reuse the last bss
9598         section, extending it to cover dumped data.  Make bss sections
9599         SHT_PROGBITS.  Remove all patching of sh_link, sh_info and
9600         st_shndx.  Rename bss sections.
9602 2015-11-08  Alan Modra  <amodra@gmail.com>
9604         ELF unexec: Drive from PT_LOAD header rather than sections
9606         This rewrites bss handling in the ELF unexec code.  Finding bss
9607         sections by name results in complicated code that
9608         - does not account for all names of possible bss sections,
9609         - assumes specific ordering of bss sections,
9610         - can wrongly choose a SHT_NOBITS section not in the bss segment,
9611         - incorrectly calculates bss size (no accounting for alignment gaps),
9612         - assumes .data and .bss are in the same segment.
9614         All of these problems and more are solved by finding the bss segment
9615         in PT_LOAD headers, ie. the address range included in p_memsz but not
9616         p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections
9617         in that address range.
9619         * src/unexelf.c: Delete old ppc comment.
9620         (OLD_PROGRAM_H): Define.
9621         (round_up): Delete.
9622         (unexec): Don't search for bss style sections by name.  Instead,
9623         use the last PT_LOAD header address range covered by p_memsz
9624         but not p_filesz and match any SHT_NOBITS section in that
9625         address range.  Simplify initialization of section header vars.
9626         Don't assume that section headers are above bss segment.  Move
9627         copying of bss area out of section loop.  Align .data2 section
9628         to 1, since it now covers the entire bss area.  For SHT_NOBITS
9629         sections in the bss segment, leave sh_addr and sh_addralign
9630         unchanged, but correct sh_offset.  Clear memory corresponding
9631         to SHT_NOBITS .plt section.  Delete comment and hacks for
9632         sections partly overlapping bss range now that the full range
9633         is properly calculated.  Delete now dead .sbss code.
9634         (Bug#20614)
9636 2015-11-08  Alan Modra  <amodra@gmail.com>
9638         ELF unexec: R_*_NONE relocs
9640         These should be ignored on all targets.
9642         * src/unexelf.c (unexec): Ignore R_*_NONE relocs for any target,
9643         not just Alpha.  Comment on reloc size assumption.
9645 2015-11-08  Alan Modra  <amodra@gmail.com>
9647         ELF unexec: _OBJC_ symbols in bss sections
9649         This code assumed that there was only one bss section.  Rather than
9650         checking for a particular index, check the section type.  Also, handle
9651         the possibility that the section was SHT_NOBITS originally and is
9652         unchanged, in which case no clearing is needed (and sh_offset isn't
9653         necessarily valid, which can lead to a wild memset).
9655         * src/unexelf.c (unexec): Properly handle _OBJC_ symbols in bss sections.
9657 2015-11-08  Alan Modra  <amodra@gmail.com>
9659         ELF unexec: Symbol table patching
9661         No st_shndx value larger than SHN_LORESERVE should be changed.
9662         * src/unexelf.c (unexec): Don't adjust any st_shndx larger than
9663         SHN_LORESERVE.  Error on SHN_XINDEX.
9665 2015-11-08  Alan Modra  <amodra@gmail.com>
9667         ELF unexec: Merge Alpha and MIPS COFF debug handling
9669         * src/unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling.
9670         Don't find .mdebug section index, find the section in the loop.
9671         Allow for unlikely possibility that .mdebug is located at sh_offset
9672         before bss segment, by calculating move from difference in
9673         sh_offset rather than just assuming new_data2_size.  Simplify
9674         cbLineOffset handling.
9676 2015-11-08  Alan Modra  <amodra@gmail.com>
9678         ELF unexec: Tidy code
9680         Separate out some of the more mechanical changes so following patches
9681         are smaller.
9683         * src/unexelf.c (unexec): Rearrange initialization of program
9684         header vars.  Use pointer vars in loops rather than indexing
9685         section header array via macros.  Simplify _OBJC_ sym code
9686         and reloc handling code.
9688 2015-11-08  Alan Modra  <amodra@gmail.com>
9690         ELF unexec: Correct section header index
9692         First a small fix.  The code incorrectly uses "NEW_SECTION_H (n)" when
9693         it should have been using "NEW_SECTION_H (nn)" to find the name of the
9694         section currently being processed.  Of course, before the bss
9695         sections, n and nn have the same value, so this doesn't matter except
9696         in the case of .sbss.  For .sbss this probably meant .bss (most likely
9697         the next section) was copied from memory.  A later patch removes the
9698         bogus .sbss handling anyway.
9700         * src/unexelf.c (unexec): Use correct index to look up names.
9702 2015-11-08  Michael Albinus  <michael.albinus@gmx.de>
9704         Fix Bug#21841
9706         * lisp/filenotify.el (file-notify--rm-descriptor):
9707         Use `descriptor' instead of computing its value.
9708         (file-notify--descriptor): Additional argument FILE.  Adapt all callees.
9709         (file-notify-rm-watch): Use `descriptor' when calling file name handler.
9710         (Bug#21841)
9712 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
9714         Remove dirs in vc project roots from the the vc project library roots
9716         * lisp/progmodes/project.el (project-library-roots): Remove
9717         directories inside the project roots from the result.
9718         (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
9720 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
9722         Move and rename xref-find-regexp to the project package
9724         * lisp/progmodes/project.el (project-find-regexp)
9725         (project--read-regexp)
9726         (project--find-regexp-in): New functions.
9728         * lisp/progmodes/xref.el (xref--find-xrefs): Extract from
9729         xref--show-xrefs.  Use in existing callers in place of that
9730         function.
9731         (xref--show-xrefs): Only do the "show" part.
9732         (xref-find-regexp): Rename, more or less, to
9733         project-or-libraries-find-regexp.
9735 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
9737         Abolish temporary buffer management for xref
9739         * lisp/progmodes/xref.el (xref--temporary-buffers)
9740         (xref--current)
9741         (xref--inhibit-mark-current)
9742         (xref--mark-selected): Remove.  Remove all references.
9743         (xref--show-xrefs): Do not construct the
9744         list of the temporary buffers, nor pass it along.
9746 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
9748         Rename "search path" to "library roots"
9750         * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
9751         of the elements from CL-LIST1.
9753         * test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
9754         Update WRT to the above change.
9756         * lisp/progmodes/project.el (project-search-path-function): Rename
9757         to project-library-roots-function, update the documentation and
9758         references.
9759         (project-search-path): Likewise, to project-library-roots.
9760         (project-roots): Clarify documentation.
9761         (project-vc-search-path): Likewise, to project-vc-library-roots.
9762         (project-library-roots): In addition to the renames, thread the
9763         results through file-name-as-directory.
9764         (project-prune-directories): Accept a variable number of
9765         arguments.  Rename to project-combine-directories.
9766         (project-subtract-directories): New function.
9768         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
9769         Append project-roots and project-library-roots together.
9771         * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
9773 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
9775         Prefer xpalloc to doubling buffers by hand
9777         * src/lread.c (grow_read_buffer): New function, which uses xpalloc.
9778         (read1): Use it for simplicity.
9779         * src/macros.c (store_kbd_macro_char):
9780         * src/minibuf.c (read_minibuf_noninteractive):
9781         * src/term.c (encode_terminal_code):
9782         * src/xrdb.c (magic_db):
9783         Prefer xpalloc to growing buffers by hand.
9784         This doesn’t fix any bugs, but simplifies the code a bit.
9786 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
9788         Merge from gnulib
9790         This incorporates:
9791         2015-11-05 timespec-sub: fix overflow bug; add tests
9792         2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW
9793         2015-11-03 intprops: add parentheses
9794         * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c:
9795         Copy from gnulib.
9797 2015-11-07  David Reitter  <david.reitter@gmail.com>
9799         Provide NS notification objects where required to eliminate warnings
9801         * src/nsterm.m (windowDidResize:, toggleFullScreen:):
9802         Call notification functions with notification objects
9803         as per delegate APIs.
9805 2015-11-07  Noam Postavsky  <npostavs@users.sourceforge.net>
9807         Add test for bug #21824
9809         * test/automated/buffer-tests.el: New file.
9810         (overlay-modification-hooks-message-other-buf): New test.
9812 2015-11-07  Kelvin White  <kwhite@gnu.org>
9814         * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771.
9816 2015-11-07  David Reitter  <david.reitter@gmail.com>
9818         Ignore fullscreen exit notifications on NS when frame is dead
9820         * src/nsterm.m (windowDidResize:, windowWillExitFullScreen:)
9821         (windowDidExitFullScreen:): Return if frame is dead.
9822         These functions may be called when a fullscreen frame
9823         is closed; they are called before, not after.
9825         May address Bug#21428.
9827 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
9829         Speed up lookup in redisplay--variables
9831         * lisp/frame.el (redisplay--variables): Make it a hash-table.
9833         * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
9834         as a hash-table.  This speeds up this function by an order of
9835         magnitude: where previously a setq was slowed down by 100% by
9836         introducing the maybe_set_redisplay test, it is now only 5%
9837         slower.
9838         (syms_of_xdisp) <redisplay--variables>: Doc fix.
9840 2015-11-07  Artur Malabarba  <bruce.connor.am@gmail.com>
9842         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug.
9844         The defsubst was being created as:
9845             (cl-defsubst name (args) ("DOC") ...)
9847         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
9848         Add test.
9850 2015-11-07  Mihai Olteanu  <mihai_olteanu@fastmail.fm>  (tiny change)
9852         Update doc string of hexl-mode
9854         * lisp/hexl.el (hexl-mode): Doc fix.  (Bug#21800)
9856 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
9858         Fix error in copy-abbrev-table
9860         * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff
9861         property of the abbrev-table.  (Bug#21828)
9863         * test/automated/abbrev-tests.el: New file.
9865 2015-11-07  Michael Albinus  <michael.albinus@gmx.de>
9867         Add test to auto-revert-tests.el for Bug#21841
9869         * test/automated/auto-revert-tests.el
9870         (auto-revert-test01-auto-revert-several-files): New test.
9871         (auto-revert-test02-auto-revert-tail-mode)
9872         (auto-revert-test03-auto-revert-mode-dired): Rename them.
9874 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
9876         * doc/lispref/windows.texi (Coordinates and Windows): Fix typo.
9878 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
9880         In x_consider_frame_title don't set title of tooltip frames
9882         * src/xdisp.c (x_consider_frame_title): Return immediately for
9883         tooltip frames to avoid displaying empty tooltips.
9885 2015-11-06  Anders Lindgren  <andlind@gmail.com>
9887         Fixed NextStep fullscreen problem (bug#21770).
9889         * src/nsterm.m (ns_constrain_all_frames): Don't constrain
9890         fullscreen frames.
9892 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
9894         Ensure redisplay after evaluation
9896         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
9897         Revert last change.
9898         * lisp/frame.el (redisplay--variables): Populate the
9899         redisplay--variables list.
9900         * src/xdisp.c (maybe_set_redisplay): New function.
9901         (syms_of_xdisp) <redisplay--variables>: New variable.
9902         * src/window.h (maybe_set_redisplay): Declare prototype.
9903         * src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
9905 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
9907         * test/automated/subr-tests.el (subr-test-when): Fix again.
9909 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
9911         Don't invoke overlay modification hooks in wrong buffer
9913         * src/buffer.c (report_overlay_modification): When called with
9914         AFTER non-zero, don't invoke overlay modification hooks if the
9915         buffer recorded in last_overlay_modification_hooks is different
9916         from the current buffer.  (Bug#21824)
9918 2015-11-06  Juanma Barranquero  <lekktu@gmail.com>
9920         * admin/notes/repo: Fix a few obsolete references to Bazaar.
9922 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
9924         * test/automated/subr-tests.el (subr-test-when): Fix test.
9926 2015-11-06  Martin Rudalics  <rudalics@gmx.at>
9928         Avoid division by zero crash observed by Yuan MEI
9930         See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html.
9932         * src/dispnew.c (required_matrix_height, required_matrix_width):
9933         Avoid division by zero.
9934         * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and
9935         dpyinfo->smallest_char_width to 1.
9937 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
9939         Ensure redisplay after "C-x C-e"
9941         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure
9942         redisplay happens to account for any side effects of the evaluated
9943         sexp.  (Bug#21835)
9945 2015-11-06  Michael Albinus  <michael.albinus@gmx.de>
9947         Skip some file notification tests for cygwin
9949         * test/automated/file-notify-tests.el (file-notify--test-with-events):
9950         Remove argument TIMEOUT.  Adapt all callees.
9951         (file-notify-test02-events, file-notify-test04-file-validity):
9952         Skip for cygwin.  (Bug#21804)
9954 2015-11-05  Stephen Leake  <stephen_leake@stephe-leake.org>
9956         * lisp/progmodes/xref.el: Require semantic/symref during compilation.
9958 2015-11-05  Daiki Ueno  <ueno@gnu.org>
9960         Suppress redundant Pinentry startup messages
9962         * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument.
9963         * lisp/epg.el: Declare `pinentry-start'.
9964         (epg--start): Call `pinentry-start' with QUIET argument set.
9966 2015-11-05  Xue Fuqiao  <xfq.free@gmail.com>
9968         * doc/emacs/ack.texi (Acknowledgments): Updates.
9970 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
9972         * test/automated/elisp-mode-tests.el: Silence some run-time warnings.
9973         (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
9975 2015-11-05  Tassilo Horn  <tsdh@gnu.org>
9977         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
9978         Add prettification support for \times.
9980 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
9982         * test/automated/process-tests.el: Skip tests when bash is unavailable.
9983         (process-test-sentinel-accept-process-output)
9984         (process-test-sentinel-sit-for): skip-unless bash executable found.
9986 2015-11-05  Eli Zaretskii  <eliz@gnu.org>
9988         Add test for bug #21831
9990         * test/automated/process-tests.el
9991         (start-process-should-not-modify-arguments): New test.  (Bug#21831)
9992         Suggested by Nicolas Richard <youngfrog@members.fsf.org>
9994 2015-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
9996         * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests.
9998         (eieio--generic-static-object-generalizer): Fix typo.
9999         * test/automated/eieio-tests.el: Byte-compile it again.  It looks
10000         like the underlying cause of bug#17852 was fixed in the mean time.
10002 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
10004         Revert "* lisp/subr.el (when): Use `macroexp-progn'"
10006         This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8.
10007         It breaks bootstrapping (duh).
10009 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
10011         * lisp/files.el (report-errors): Obsolete.
10013         (normal-mode, hack-local-variables, dir-locals-find-file):
10014         Use `with-demoted-errors' instead.
10016 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
10018         * lisp/subr.el (when): Use `macroexp-progn'.
10020         * test/automated/subr-tests.el (subr-test-when): New test.
10022 2015-11-04  Juanma Barranquero  <lekktu@gmail.com>
10024         * lisp/progmodes/xref.el: Doc fixes.
10025         (xref-make-file-location, xref-make-buffer-location, xref-make)
10026         (xref-make-bogus-location, xref-make-match): Add cross-references.
10027         (xref--insert-xrefs): Fix typo in docstring.
10029 2015-11-04  Anders Lindgren  <andlind@gmail.com>
10031         Render fringe bitmaps correctly on NextStep (bug#21301)
10033         The fringe bitmaps were inverted, the background was not transparent,
10034         the image data was horizontally mirrored, and periodic fringe bitmaps
10035         were not supported.
10037         * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]):
10038         When both background and foreground colors are 0, set the background
10039         alpha channel to 0 (making the background transparent).  When
10040         copying the image data, do this from the most significant bit
10041         (leftmost) to the least (rightmost), to avoid mirroring.
10042         * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits.
10043         Add support for periodic images (e.g. the empty line indicator).
10045 2015-11-03  Michael Heerdegen  <michael_heerdegen@web.de>
10047         * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring.
10049 2015-11-03  Nicolas Petton  <nicolas@petton.fr>
10051         * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el.
10053         * admin/MAINTAINERS: Add thunk.el.
10055 2015-11-03  Jay Belanger  <jay.p.belanger@gmail.com>
10057         * lisp/calc/calc.el (calc-bug-address): Change maintainer address.
10059 2015-11-03  Michael Albinus  <michael.albinus@gmx.de>
10061         Fix a stupid error in gfilenotify.c
10063         * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only,
10064         if we've got a `deleted' signal AND the file name is the watched one.
10066 2015-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
10068         Fix Bug#21816; case insensitive file system in elisp-mode-tests.el
10070         * test/automated/elisp-mode-tests.el (xref-elisp-test-run):
10071         Use case-insensitive string compare for file names.
10072         (emacs-test-dir): Add 'downcase' to cause case differences (at
10073         least on my system).
10075 2015-11-02  Juanma Barranquero  <lekktu@gmail.com>
10077         flymake-tests.el (warning-predicate-rx-gcc): Fix check
10079         * test/automated/flymake-tests.el (warning-predicate-rx-gcc):
10080         Also check that "make" is available, not just "gcc".
10082 2015-11-02  Ken Brown  <kbrown@cornell.edu>
10084         Document behavior of collation on Cygwin
10086         * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as
10087         expected failure on Cygwin.
10088         * doc/lispref/strings.texi (Text Comparison): Document that
10089         punctuation and whitespace are not ignored for sorting on Cygwin.
10091 2015-11-02  Dani Moncayo  <dmoncayo@gmail.com>
10093         * build-aux/msys-to-w32: Prevent double slashes in w32 path list.
10095 2015-11-01  Glenn Morris  <rgm@gnu.org>
10097         * lisp/progmodes/f90.el (f90-no-block-limit): Add associate.
10098         (Bug#21794)
10099         * test/automated/f90.el (f90-test-bug21794): New test.
10101 2015-11-01  Juanma Barranquero  <lekktu@gmail.com>
10103         Fix incompatibility with TCC in test for bug#18745
10105         * test/automated/process-tests.el (process-test-quoted-batfile):
10106         Remove spaces unrelated to the bug being tested.
10108 2015-11-01  Michael Albinus  <michael.albinus@gmx.de>
10110         Improve completion in tramp-gvfs.el
10112         * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names):
10113         Rename from `tramp-zeroconf-parse-service-device-names'.
10114         (tramp-zeroconf-parse-webdav-device-names): Remove.  Code merged
10115         with `tramp-zeroconf-parse-device-names'.
10116         (tramp-gvfs-parse-device-names): New defun.
10117         (top): Use it when `tramp-zeroconf-parse-device-names' is not
10118         applicable.
10120         * lisp/net/tramp.el (tramp-set-completion-function): The argument
10121         could also be a zeroconf service type.
10123 2015-10-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10125         * lisp/net/ntlm.el: Change version to 2.0.0.
10127 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
10129         Fix bug#21762
10130         * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
10131         `eql' instead of `=' to accommodate the case that (syntax-after (point))
10132         returns nil.
10133         * test/automated/python-tests.el (python-indent-inside-paren-7):
10134         New test.
10136 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
10138         * test/automated/python-tests.el: Avoid warnings.
10139         (python-tests-with-temp-buffer, python-tests-with-temp-file):
10140         Bind `python-indent-guess-indent-offset' to nil.
10142 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
10144         * src/alloc.c: Silence compiler warnings.
10145         (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC.
10147 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
10149         * etc/NEWS: Fix js-jsx-mode entry punctuation.
10151 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
10153         Add JSX indentation via js-jsx-mode  (Bug#21799)
10155         * lisp/progmodes/js.el: Add JSX indentation support.
10156         (js--jsx-end-tag-re)
10157         (js--jsx-after-tag-re): New variables.
10158         (js--jsx-find-before-tag)
10159         (js--jsx-indented-element-p)
10160         (js--as-sgml)
10161         (js--expression-in-sgml-indent-line)
10162         (js-jsx-indent-line)
10163         (js-jsx-mode): New functions.
10164         * test/indent/js-jsx.js: New file.
10165         * etc/NEWS: Add information about js-jsx-mode.
10167 2015-10-31  Michael Albinus  <michael.albinus@gmx.de>
10169         Minor fix in filenotify.el
10171         * lisp/filenotify.el (file-notify--event-file-name)
10172         (file-notify--event-file1-name): Normalize result with
10173         `directory-file-name'.
10175 2015-10-31  Eli Zaretskii  <eliz@gnu.org>
10177         Avoid errors in redisplay--pre-redisplay-functions
10179         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
10180         use 'bobp', instead compare window-point with 1.  (Bug#21730)
10182 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
10184         Merge from gnulib
10186         This incorporates:
10187         2015-10-30 intprops: add WRAPV and const flavors for GCC 5
10188         2015-10-25 stdalign: port to Sun C 5.9
10189         * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h:
10190         Copy from gnulib.
10192 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
10194         * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro.
10195         (w32_compare_strings): Adjust for the correction.
10197 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
10199         * test/automated/vc-tests.el (vc-test--state)
10200         (vc-test--working-revision, vc-test--checkout-model):
10201         Add result messages.
10203 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10205         * test/automated/faces-tests.el: Add another test
10207 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10209         * lisp/faces.el (faces--attribute-at-point): Fix bug
10210         introduced by previous commit.
10212 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10214         * test/automated/faces-tests.el: New file.
10216 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10218         * lisp/faces.el: Refactor common code and fix a bug.
10219         (faces--attribute-at-point): New function.  Fix a bug when the
10220         face at point is a list of faces and the desired attribute is not
10221         on the first one.
10222         (foreground-color-at-point, background-color-at-point): Use it.
10224 2015-10-30  Przemysław Wojnowski  <esperanto@cumego.com>
10226         * etc/tutorials/TUTORIAL.translators: Fix PL names.
10228 2015-10-30  Juanma Barranquero  <lekktu@gmail.com>
10230         * lisp/character-fold.el: Provide `character-fold'.
10232 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
10234         * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces
10235         for Gnus and ivy.
10237 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
10239         Some minor fixes for tramp-gvfs.el
10241         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
10242         An attribute returned by gvfs-info might be empty.  In case of
10243         undetermined uid or gid, return "UNKNOWN" or -1, respectively.
10244         (tramp-zeroconf-parse-service-device-names): New defun.
10245         Derived from `tramp-zeroconf-parse-workstation-device-names'.
10246         (top): Add completion functions for "afp" and "smb" methods.
10248 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10250         * test/automated/character-fold-tests.el: New file
10252 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10254         * test/automated/sort-tests.el: New file.
10255         Tests in this file are randomly generated and then tested with
10256         regular, reverse, and case-fold sorting.
10258 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
10260         Describe known problems with pinning Emacs to taskbar
10262         * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar
10263         on Windows 10.  For the details, see the discussion starting at
10264         http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html.
10266 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10268         * lisp/isearch.el: Avoid an error that blocks isearch.
10269         (isearch-update): Don't error if `isearch--current-buffer' has
10270         been killed.
10272         * test/automated/isearch-tests.el (isearch--test-update):
10273         New file.
10275 2015-10-30  Phil Sainty  <psainty@orcon.net.nz>
10277         Fix documentation of 'beginning/end-of-buffer'
10279         * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify
10280         conditions under which the mark will be pushed at the previous
10281         position.  (Bug#21748)
10283 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
10285         Add RefTeX feature idea: editing RefTeX TOC buffers
10287         More face defs for ivy, swiper, ace-window, eshell
10289 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10291         * lisp/gnus/auth-source.el: Silence lexical-binding warnings.
10292         (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to
10293         just VAR.
10294         (auth-source-backend-parse): Use make-instance.
10295         (auth-source-search): Remove unused key args.
10296         Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
10297         (auth-source-search-backends): Use slot names rather than their initarg.
10298         (auth-source-netrc-create):
10299         (auth-source-delete):
10300         (auth-source-secrets-create, auth-source-plstore-search)
10301         (auth-source-macos-keychain-create, auth-source-macos-keychain-search)
10302         (auth-source-plstore-create, auth-source-netrc-search)
10303         (auth-source-netrc-parse): Remove unused key args.
10304         (auth-source-forget+): Simplify the arglist.
10305         (auth-source-macos-keychain-search-items)
10306         (auth-source-token-passphrase-callback-function): Mark unused args.
10307         (auth-source-epa-extract-gpg-token): Remove unused var `plain'.
10308         (pp-escape-newlines): Declare.
10309         (auto-source--symbol-keyword): New function.
10310         (auth-source-plstore-create, auth-source-netrc-create)
10311         (auth-source-netrc-normalize): Use it.
10312         (auth-source-netrc-search): Don't pass :delete to
10313         auth-source-netrc-parse since it doesn't use it.
10314         (auth-source-plstore-create, auth-source-netrc-create): Use plist-get
10315         symbol-value to index in keyword args.
10316         (auth-source-macos-keychain-result-append): Avoid setq.
10317         (auth-source-netrc-create): Remove unused vars `file' and `add'.
10318         (auth-source-user-or-password): Remove unused var `cname'.
10320 2015-10-29  Juri Linkov  <juri@linkov.net>
10322         * lisp/dired.el (dired-unmark-all-files-query): Declare.
10323         (dired-unmark-all-files): Let-bind it and use instead of ‘query’.
10324         (Bug#21746)
10326 2015-10-29  Juri Linkov  <juri@linkov.net>
10328         * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol
10329         to go to the beginning of text line instead of command line.
10330         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html
10332 2015-10-29  Eli Zaretskii  <eliz@gnu.org>
10334         Fix encoding of saving *Help* buffers
10336         * lisp/help-fns.el (describe-function-1): If we use curved quotes,
10337         set help buffer's buffer-file-coding-system to UTF-8.  (Bug#21780)
10339 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10341         * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context.
10342         (cl--generic-derived-specializers): New function.
10343         (cl--generic-derived-generalizer): New generalizer.
10344         (cl-generic-generalizers): New specializer (derived-mode MODE).
10345         (cl--generic-split-args): Apply the rewriter, if any.
10346         (cl-generic-define-context-rewriter): New macro.
10347         (major-mode): Use it to define a new context-rewriter, so we can write
10348         `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
10350         * lisp/frame.el (window-system): New context-rewriter so we can write
10351         `(window-system VAL)' instead of (window-system (eql VAL)).
10352         (cl--generic-split-args): Apply the rewriter, if any.
10353         (frame-creation-function): Use the new syntax.
10355         * lisp/term/x-win.el (window-system-initialization)
10356         (handle-args-function, frame-creation-function)
10357         (gui-backend-set-selection, gui-backend-selection-owner-p)
10358         (gui-backend-selection-exists-p, gui-backend-get-selection):
10359         * lisp/term/w32-win.el (window-system-initialization)
10360         (handle-args-function, frame-creation-function)
10361         (gui-backend-set-selection, gui-backend-get-selection)
10362         (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
10363         * lisp/term/pc-win.el (gui-backend-get-selection)
10364         (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
10365         (gui-backend-set-selection, window-system-initialization)
10366         (frame-creation-function, handle-args-function):
10367         * lisp/term/ns-win.el (window-system-initialization)
10368         (handle-args-function, frame-creation-function)
10369         (gui-backend-set-selection, gui-backend-selection-exists-p)
10370         (gui-backend-get-selection):
10371         * lisp/startup.el (handle-args-function):
10372         * lisp/term/xterm.el (gui-backend-get-selection)
10373         (gui-backend-set-selection): Use the new syntax.
10375 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10377         * test/indent/css-mode.css: Add tests for url(...) syntax.
10379 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10381         * lisp/emacs-lisp/smie.el: Use `declare' for `pure'.
10382         (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2)
10383         (smie-prec2->grammar): Use `declare'.
10385 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10387         * lisp/emacs-lisp/cl-generic.el: Accommodate future changes.
10388         (cl--generic-generalizer): Add `name' field.
10389         (cl-generic-make-generalizer): Add corresponding `name' argument.
10390         (cl-generic-define-generalizer): New macro.
10391         (cl--generic-head-generalizer, cl--generic-eql-generalizer)
10392         (cl--generic-struct-generalizer, cl--generic-typeof-generalizer)
10393         (cl--generic-t-generalizer): Use it.
10394         (cl-generic-ensure-function): Add `noerror' argument.
10395         (cl-generic-define): Use it so we don't follow aliases.
10396         (cl-generic-define-method): Preserve pre-existing ordering of methods.
10397         (cl--generic-arg-specializer): New function.
10398         (cl--generic-cache-miss): Use it.
10399         (cl-generic-generalizers): Only fset a temporary definition
10400         during bootstrap.
10401         (cl--generic-struct-tag, cl--generic-struct-specializers):
10402         Allow extra arguments.
10404         * lisp/emacs-lisp/eieio-compat.el
10405         (eieio--generic-static-symbol-generalizer)
10406         (eieio--generic-static-object-generalizer):
10407         Use cl-generic-define-generalizer.
10408         (eieio--generic-static-symbol-specializers): Allow extra arguments.
10410         * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
10411         (eieio--generic-subclass-generalizer):
10412         Use cl-generic-define-generalizer.
10413         (eieio--generic-subclass-specializers): Allow extra arguments.
10415 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10417         * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope.
10419 2015-10-29  Michael Albinus  <michael.albinus@gmx.de>
10421         Add "afp" method to Tramp
10423         * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
10425         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
10426         (tramp-gvfs-handle-expand-file-name)
10427         (tramp-gvfs-handler-mounted-unmounted)
10428         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
10429         (tramp-gvfs-maybe-open-connection): Support also "afp".
10430         (tramp-gvfs-handle-file-attributes): Handle the case of empty
10431         "owner::user" and "owner::group" entries.
10433 2015-10-29  Andy Moreton  <andrewjmoreton@gmail.com>
10435         Handle negative coordinates in ‘x_calc_absolute_position’
10437         * src/w32term.c (x_calc_absolute_position): Find display origin to
10438         allow for negative coordinates.
10440 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
10442         (internal--syntax-propertize): Save match-data here (bug#21766)
10444         * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data.
10445         * lisp/simple.el (delete-trailing-whitespace): Undo last change.
10447 2015-10-28  Dmitry Gutov  <dgutov@yandex.ru>
10449         Don't require default-directory to end with a slash
10451         * doc/lispref/files.texi (Magic File Names): Document the change
10452         in unhandled-file-name-directory.
10454         * lisp/url/url-handlers.el
10455         (url-handler-unhandled-file-name-directory): Update accordingly.
10457         * src/buffer.c (default-directory): Update the docsting.
10459         * src/fileio.c (unhandled-file-name-directory): Default to calling
10460         `file-name-as-directory'
10461         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
10463 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10465         * lisp/isearch.el: Delete some outdated comments.
10467 2015-10-28  Vibhav Pant  <vibhavp@gmail.com>
10469         Fix eshell/clear not working if the output has a small line count
10471         * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the
10472         number of newlines to be inserted. This fixes the issue where
10473         eshell/clear wouldn't work if the prompt was not at the bottom of the
10474         window, and the output wasn't too long.
10476 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
10478         * lisp/files.el (write-file): Use vc-refresh-state.
10480         * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state.
10482         * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state.
10484 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
10486         * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations.
10487         (macroexp-unprogn): Make sure we never return an empty list.
10488         (macroexp-if): Remove unused (and unsafe) optimization.
10489         Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does
10490         occur occasionally.
10492 2015-10-28  Juanma Barranquero  <lekktu@gmail.com>
10494         Fix bug#21766 and add test
10495         * lisp/simple.el (delete-trailing-whitespace): Save match data when
10496         calling `skip-syntax-backward'.
10497         * test/automated/simple-test.el (simple-delete-trailing-whitespace):
10498         New test.
10500 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10502         * doc/lispref/sequences.texi (Sequence Functions): Fix typo.
10504 2015-10-28  Paul Eggert  <eggert@cs.ucla.edu>
10506         * src/dispnew.c (init_display): Simplify overflow checking.
10508 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10510         * lisp/character-fold.el (character-fold-to-regexp): Fix case
10511         where string ends in space
10513 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10515         * lisp/emacs-lisp/seq.el (seq-mapn): New function.
10517         * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn.
10519 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10521         * lisp/character-fold.el: Make compatible with lax-whitespace.
10522         (character-fold-to-regexp): Rework internals to play nice with
10523         lax-whitespacing.
10525         When the user types a space, we want to match the table entry for
10526         ?\s, which is generally a regexp like "[ ...]".  However, the
10527         `search-spaces-regexp' variable doesn't "see" spaces inside these
10528         regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to
10529         manually expose a space).
10531         Furthermore, the lax search engine acts on a bunch of spaces, not
10532         on individual spaces, so if the string contains sequential spaces
10533         like "  ", we need to keep them grouped together like this:
10534         "\\(  \\|[ ...][ ...]\\)".
10536 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10538         * lisp/isearch.el: Refactor momentary messages.
10539         (isearch--momentary-message): New function.
10540         (isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
10541         (isearch-toggle-invisible): Use it.
10543 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10545         * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'.
10546         (isearch-define-mode-toggle): New macro.
10547         (isearch-toggle-invisible): Rename to
10548         `isearch-define-mode-toggle'.
10549         (isearch-toggle-case-fold, isearch-toggle-invisible)
10550         (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
10551         with `isearch-define-mode-toggle'.
10553 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
10555         Avoid using `add-to-list' on a let-local var in tramp-smb.el
10557         * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun.
10558         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
10560 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
10562         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
10563         Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups'
10564         does not exist in XEmacs 21.4.
10566 2015-10-28  Anders Lindgren  <andlind@gmail.com>
10568         Fixed OS X startup crash
10570         Input events started to arrive before ns_term_init() was finished.
10571         Solved by blocking input.  This also seems to correct the "You
10572         can't open the application "Emacs" because it may be damaged or
10573         incomplete" error issued when double-clicking on the Emacs
10574         application.
10576         * src/nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
10577         * src/nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
10579 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10581         * src/process.c (Fget_buffer_process): Improve docstring.
10582         Document the fact that it doesn't return dead processes.
10584 2015-10-28  Anders Lindgren  <andlind@gmail.com>
10586         Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
10588         * src/nsterm.h (struct ns_output): New flag, in_animation.
10589         * src/nsfns.m (Fx_create_frame): Initialize in_animation flag.
10590         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
10591         in_animation flag around call to "setVisible". Set new tool bar
10592         height before call to setVisible.
10593         * src/nsterm.m (x_set_window_size): Don't call [view setRow:
10594         andColumns:] as this fools the subsequent call to updateFrameSize
10595         from performing the real resize.
10596         (windowDidResize): Don't update anything when in_animation is
10597         non-zero.
10599         Trace output.
10601         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
10602         (EmacsToolbar):
10603         * src/nsterm.m (x_set_window_size, updateFrameSize)
10604         ([EmacsView setRows: andColumns:])
10606 2015-10-28  Nicolas Petton  <nicolas@petton.fr>
10608         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro.
10610 2015-10-28  Tassilo Horn  <tsdh@gnu.org>
10612         Prettify TeX macros not ending in a word char
10614         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
10615         Prettify macros which don't end in a word character.
10617 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
10619         Pipe Hg commit descriptions through 'tabindent'
10621         * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description
10622         through 'tabindent'.
10623         (vc-hg-log-view-mode): Set tab-width to 2 locally.
10624         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html)
10626 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10628         * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var.
10629         (tramp-smb-handle-directory-files): Use `delete-dups'.
10631         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
10633 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10635         * lisp/international/ccl.el: Use lexical-binding.
10636         (ccl-compile-if): Remove unused var `false-ic'.
10637         (ccl-compile-write-repeat): Remove unused var `i'.
10638         (ccl-compile-map-single): Remove unused var `id'.
10639         (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the
10640         dynamic var `ccl-code'.
10642 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10644         * lisp/json.el (json-new-object): Optimize trivial `list' call.
10646 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10648         * lisp/help.el: Fix bug with incorrect arglist string.
10649         (help-add-fundoc-usage): Don't mistake a mis-formatted string
10650         for a list.
10652 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10654         * lisp/gnus/gnus-topic.el: Silence some warnings.
10655         (gnus-topic-prepare-topic): Remove unused var `topic'.
10656         (gnus-topic-remove-topic): Mark unused arg `hide'.
10657         (gnus-tmp-header): Declare.
10658         (gnus-topic-goto-missing-group): Remove unused var `entry'.
10659         (gnus-topic-unmark-topic): Mark unused arg `dummy'.
10660         (gnus-topic-copy-matching): Mark unused arg `copyp'.
10661         Move initialization of `topic' into its declaration.
10663 2015-10-27  Stephen Leake  <stephen_leake@stephe-leake.org>
10665         Minor CEDET fixes
10667         * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call):
10668         Handle warnings from gtags about invalid options.
10669         (cedet-gnu-global-create/update-database): Do incremental update
10670         properly.
10672         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
10673         Get monotone root right.
10675 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
10677         Fall back to polling in autorevert when needed
10679         * lisp/autorevert.el (auto-revert-notify-handler): When a
10680         `stopped' event arrives from file notification, fall back to polling.
10682         * test/automated/file-notify-tests.el
10683         (file-notify-test03-autorevert): Extend test for polling when file
10684         notification ceases to work.
10686 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
10688         Show full commit messages in 'hg log' when appropriate
10690         * lisp/vc/vc-hg.el (vc-hg-log-format): New variable.
10691         (vc-hg-print-log, vc-hg-expanded-log-entry): Use it.
10692         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html)
10694 2015-10-27  Nicolas Petton  <nicolas@petton.fr>
10696         Use a plain SVG file for the icon
10698         * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG
10699           format instead of the Inkscape SVG format.
10701 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
10703         Fix subtle bug in auto-revert-tests.el
10705         * test/automated/auto-revert-tests.el
10706         (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages*
10707         buffer where it belongs to.  (Bug#21668)
10709 2015-10-26  Nicolas Petton  <nicolas@petton.fr>
10711         * lisp/emacs-lisp/map.el: Better docstrings.
10713         * lisp/emacs-lisp/seq.el: Better docstrings.
10715         * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence.
10717 2015-10-26  Phillip Lord  <phillip.lord@russet.org.uk>
10719         * lisp/emacs-lisp/ert.el: Print results without newline escaping.
10721 2015-10-26  Stephen Leake  <stephen_leake@stephe-leake.org>
10723         Clarify that load-path contents should be directory file names
10725         * doc/lispref/files.texi (Directory Names): Define and use "directory
10726         file name".  Recommend `expand-file-name'.
10728         * src/lread.c (load-path): Fix doc string; elements are directory file
10729         names.
10731 2015-10-26  Eli Zaretskii  <eliz@gnu.org>
10733         Fix simple-test.el test
10735         * test/automated/simple-test.el (simple-test--dummy-buffer):
10736         Make sure indentation doesn't use TABs, otherwise the 6th test
10737         might fail.
10739 2015-10-26  Mark Oteiza  <mvoteiza@udel.edu>
10741         * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width.
10742         `substring' does not account for full width characters.
10744 2015-10-26  Michael Albinus  <michael.albinus@gmx.de>
10746         Further work on `stopped' events in filenotify.el
10748         * doc/lispref/os.texi (File Notifications): Rework examples.
10750         * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter.
10751         (file-notify--rm-descriptor, file-notify-callback): Improve check
10752         for sending `stopped' event.
10753         (file-notify-add-watch): Check for more events for `inotify'.
10755         * test/automated/file-notify-tests.el
10756         (file-notify--test-expected-events): New defvar.
10757         (file-notify--test-with-events): Use it.
10758         (file-notify--test-cleanup): Make it more robust when deleting
10759         directories.
10760         (file-notify--test-event-test): Check also for watched directories.
10761         (file-notify--test-event-handler): Suppress temporary .#files.
10762         (file-notify-test02-events, file-notify-test04-file-validity):
10763         Rework `stopped' events.
10764         (file-notify-test05-dir-validity): Wait for events when appropriate.
10766 2015-10-26  Artur Malabarba  <bruce.connor.am@gmail.com>
10768         * src/keyboard.c (post-command-hook): Shorten docstring.
10770 2015-10-26  Tassilo Horn  <tsdh@gnu.org>
10772         Fix infinite loop in sh-script's SMIE code
10774         * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite
10775         loop (bug#21747).
10777 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10779         * lisp/isearch.el (search-default-regexp-mode): Revert to nil.
10780         Character-fold search _still_ doesn't play well with
10781         lax-whitespace.  So disable it by default (again) for now.
10783 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10785         * lisp/isearch.el: No visual feedback for default search mode.
10786         During an isearch where character-folding is the default, we don't
10787         want to take up minibuffer space just to tell the user that
10788         "Char-fold " is on.  The same goes for other modes, if the user
10789         changes the default.  In contrast, if the user toggles OFF the
10790         default mode, they should see "Literal", to distinguish it from
10791         the default mode.
10792         (isearch--describe-regexp-mode): Return "" if describing the
10793         default mode, and return "literal " if describing a plain search
10794         and it is not default.
10796 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10798         * test/automated/simple-test.el: New file.
10799         Define tests for `newline' and `open-line'.
10801 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10803         * lisp/simple.el (open-line): Integrate with electric-indent-mode.
10804         Also run `post-self-insert-hook' when called interactively.
10806 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10808         * lisp/simple.el (open-line): Fix docstring.
10809         Also explain apparently redundant line.
10811 2015-10-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10812             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
10814         Sync with soap-client repository, version 3.0.1
10816         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
10817         Bump version to 3.0.1.
10819         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page.
10821 2015-10-25  Eli Zaretskii  <eliz@gnu.org>
10823         * lisp/progmodes/grep.el (grep): Doc fix.  (Bug#21754)
10825 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10827         * src/keyboard.c (post-command-hook): Extend the docstring.
10828         Mainly, explain how to use it without hanging Emacs, or giving the
10829         impression that it is hanging.  Also mention `pre-command-hook'.
10830         (pre-command-hook): Mention `post-command-hook'.
10832 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10834         * lisp/custom.el (custom-declare-variable): Shorten code again.
10835         Without using pcase this time.  We can't use pcase because it is
10836         loaded after custom in loadup.el.  Also add a comment explaining
10837         this to future dummies like me.
10839 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
10841         * doc/lispref/os.texi (File Notifications): Document `stopped event'.
10843 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
10845         Introduce `stopped' event in file notification
10847         * lisp/filenotify.el (file-notify--rm-descriptor): New defun.
10848         (file-notify-rm-watch): Use it.
10849         (file-notify-callback): Implement `stopped' event.
10850         (file-notify-add-watch): Mention `stopped' in the docstring.
10851         Check, that upper directory exists.
10853         * test/automated/file-notify-tests.el (file-notify-test01-add-watch):
10854         Add two test cases.
10855         (file-notify-test02-events): Handle also `stopped' event.
10856         (file-notify-test04-file-validity): Add another test case.
10858 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
10860         Revert commit that broke 'make bootstrap'
10862         * lisp/custom.el (custom-declare-variable): Revert commit
10863         79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
10864         even when pcase has not been defined yet, when doing bootstrapping.
10866 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
10868         Port recent inline functions fix to Standard C
10870         * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove.
10871         All uses rewritten to define the function directly rather than to
10872         use a macro to define the function.  This conforms to Standard C,
10873         which does not allow stray semicolons at the top level.  I hope it
10874         also avoids the problems with TAGS.  Those macros, though clever,
10875         were pretty confusing anyway, and it wasn’t clear they were worth
10876         the aggravation even without the TAGS problem.
10878 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10880         * lisp/isearch.el: Make character-fold search the default again.
10882 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10884         * lisp/character-fold.el: Many improvements.
10885         (character-fold-search-forward, character-fold-search-backward):
10886         New command.
10887         (character-fold-to-regexp): Remove lax-whitespace hack.
10888         (character-fold-search): Remove variable.  Only isearch and
10889         query-replace use char-folding, and they both have their own
10890         variables to configure that.
10892 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10894         * lisp/isearch.el: Generalize definition of regexp-function toggles.
10895         (isearch-specify-regexp-function): New macro for specifying
10896         possible values of `isearch-regexp-function'.
10897         (isearch-toggle-character-fold, isearch-toggle-symbol)
10898         (isearch-toggle-word): Define with `isearch-specify-regexp-function'.
10900 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10902         * lisp/isearch.el (search-default-regexp-mode): New variable.
10903         (isearch-mode): Use it.
10905 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10907         * lisp/isearch.el (search-exit-option, search-slow-window-lines)
10908         (search-slow-speed, search-upper-case)
10909         (search-nonincremental-instead, search-whitespace-regexp)
10910         (search-invisible, isearch-hide-immediately)
10911         (isearch-resume-in-command-history, search-ring-max)
10912         (regexp-search-ring-max, search-ring-update, search-highlight)
10913         (isearch-fail): Delete :group entries.
10915 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10917         * lisp/custom.el (custom-declare-variable): Shorten code a bit.
10919 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10921         addpm.c: Silence some warnings.
10923         * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction
10924         to LPBYTE.
10925         (add_registry): Pass NULL to optional lpClass argument of
10926         RegCreateKeyEx, not an empty string.
10928 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10930         addpm.c: Do not add obsolete GTK libraries to the path.
10932         * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete.
10933         (add_registry): Remove variables `size' and `gtk_key'.
10934         Do not add the GTK DLL directory to the library search path; it is
10935         confusing behavior (in particular, the same Emacs version with and
10936         without invoking addpm will use a different path), and the GTK image
10937         libraries are obsolete anyway.
10939 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10941         addpm.c: Replace existing registry entries, but do not create new ones
10943         * nt/addpm.c (add_registry): If the Emacs registry key exists, replace
10944         existing values from previous versions, but do not add new ones; the
10945         key could exist for other reasons unrelated to old Emacsen, like X-style
10946         resources, or to set some environment variables like HOME or LANG, and
10947         in that case we don't want to populate it with obsolete values.
10949 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10951         * nt/addpm.c (add_registry): Do not compute unused return value.
10953 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10955         addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx
10957         * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of
10958         RegOpenKeyEx, not REG_OPTION_NON_VOLATILE.  This doesn't change
10959         current behavior because REG_OPTION_NON_VOLATILE is defined to
10960         be 0L anyway, but that option is actually documented only for
10961         RegCreateKeyEx.
10963 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
10965         * src/w32notify.c (Fw32notify_add_watch): Fix version check.
10967 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
10969         Update frame title when redisplay scrolls selected window
10971         * src/xdisp.c (redisplay_window): Reconsider the frame's title
10972         when the mode-line of the frame's selected window needs to be
10973         updated.
10975 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
10977         Update frame title when scrolling the selected window
10979         * src/window.c (wset_update_mode_line): New function, sets either
10980         the window's update_mode_line flag or the global update_mode_lines
10981         variable.
10982         (Fset_window_start, set_window_buffer, window_scroll_pixel_based)
10983         (window_scroll_line_based): Call it instead of only setting the
10984         window's update_mode_line flag.
10986 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
10988         An even better fix for bug#21739
10990         * src/window.c (set_window_buffer): If the window is the frame's
10991         selected window, set update_mode_lines, not the window's
10992         update_mode_line flag.
10993         * src/buffer.c (Fkill_buffer): Undo last change.
10994         (set_update_modelines_for_buf): Function deleted.
10996 2015-10-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10997             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
10999         Sync with soap-client repository, version 3.0.0
11001         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
11002         Bump version to 3.0.0.
11004         * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch.
11006         * lisp/net/soap-client.el: Merge in changes from Emacs master branch.
11008         * lisp/net/soap-inspect.el: Shorten first line description.
11010         * lisp/net/soap-client.el: Make a small whitespace fix.
11012         * lisp/net/soap-inspect.el: Update copyright years.
11014         * lisp/net/soap-client.el (soap-encoded-namespaces): Move above
11015         first use in soap-encode-xs-element.
11017         * lisp/net/soap-client.el (soap-type-is-array?): new defun
11018         (soap-encode-xs-element): handle array elements in this function
11019         (soap-encode-xs-complex-type): flag error if asked to encode an
11020         array type, this is handled in `soap-encode-xs-element'
11022         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group):
11023         Do not print type for attribute group.
11025         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group)
11026         New function.
11027         (soap-inspect-xs-attribute-group): Likewise.
11029         * lisp/net/soap-inspect.el
11030         (soap-resolve-references-for-xs-attribute-group): Resolve
11031         references of attributes in an attribute group.
11033         * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute
11034         type directly, not through soap-wsdl-get.
11036         * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference
11037         nil if reference attribute is nil.
11039         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
11040         Convert XML schema attributes to xsd:string.
11042         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute):
11043         New function.
11044         (soap-sample-value-for-xs-simple-type): Prepend attributes to result.
11045         (soap-sample-value-for-xs-complex-type): Likewise.
11046         (soap-inspect-xs-attribute): New function.
11047         (soap-inspect-xs-simple-type): Print attributes.
11048         (soap-inspect-xs-complex-type): Likewise.
11050         * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type):
11051         Resolve references for attributes.
11052         (soap-resolve-references-for-xs-complex-type): Likewise.
11054         * lisp/net/soap-client.el (soap-xml-node-find-matching-child):
11055         Rename from soap-xml-node-first-child.
11056         (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child.
11057         (soap-xs-parse-simple-type): Likewise.
11059         * lisp/net/soap-client.el (soap-invoke-async): Add error checking.
11061         * lisp/net/soap-client.el (soap-invoke-internal): New function.
11062         (soap-invoke-async): Call soap-invoke-internal.
11063         (soap-invoke): Likewise.
11065         * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to
11066         url-retrieve callback is killed.
11068         * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node):
11069         Rename function.
11070         (soap-parse-wsdl-phase-fetch-imports): Likewise.
11071         (soap-parse-wsdl-phase-parse-schema): Likewise.
11072         (soap-parse-wsdl-phase-fetch-schema): Likewise.
11073         (soap-parse-wsdl-phase-finish-parsing): Likewise.
11074         (soap-parse-wsdl): Update calls.
11076         * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation.
11078         * lisp/net/soap-client.el (soap-invoke-async): New function.
11079         (soap-invoke): Reimplement using soap-invoke-async.
11081         * lisp/net/soap-client.el (soap-parse-server-response):
11082         Improve docstring.
11083         (soap-invoke): Inline call to soap-parse-server-response.
11085         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
11086         Prevent incorrect warning.
11088         * lisp/net/soap-client.el (soap-parse-server-response):
11089         Rename soap-process-url-response.  Destroy the mime part.
11090         (soap-invoke): Call soap-parse-server-response.
11092         * lisp/net/soap-client.el: Update copyright date.
11094         * lisp/net/soap-client.el: Fix checkdoc issues.
11096         * lisp/net/soap-client.el: Fix indentation and long lines.
11098         * lisp/net/soap-client.el (soap-time-format): Remove variable.
11099         (soap-encode-xs-basic-type): Simplify date-time format detection.
11100         (soap-decode-xs-basic-type): Remove soap-time-format support.
11102         * lisp/net/soap-client.el (soap-process-url-response): New function.
11103         (soap-fetch-xml-from-url): Call soap-process-url-response.
11104         (soap-parse-wsdl-phase-1): New function.
11105         (soap-parse-wsdl-phase-2): Likewise.
11106         (soap-parse-wsdl-phase-3): Likewise.
11107         (soap-parse-wsdl-phase-4): Likewise.
11108         (soap-parse-wsdl-phase-5): Likewise.
11109         (soap-parse-wsdl): Call phase functions.
11111         * lisp/net/soap-client.el (soap-decode-xs-basic-type):
11112         Remove one-argument and call.
11114         * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring.
11116         * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable.
11117         (soap-parse-schema): Add wsdl argument.  Look up XML schema
11118         imports from wsdl.
11119         (soap-load-wsdl): Do not set soap-xmlschema-imports.
11120         (soap-parse-wsdl): Get XML schema imports from wsdl.
11122         * lisp/net/soap-client.el (soap-current-file): Remove variable.
11123         (soap-wsdl): Add current-file slot.
11124         (soap-fetch-xml-from-url): Add wsdl argument.  Look up current
11125         file from wsdl.
11126         (soap-fetch-xml-from-file): Likewise.
11127         (soap-fetch-xml): Likewise.
11128         (soap-load-wsdl): Always create wsdl object first.
11129         (soap-parse-wsdl): Pass wsdl to soap-fetch-xml.
11131         * lisp/net/soap-client.el (soap-xs-element): Add is-group slot.
11132         (soap-xs-parse-element): Set is-group slot.
11133         (soap-resolve-references-for-xs-element): Skip is-group elements.
11134         (soap-xs-complex-type): Add is-group slot.
11135         (soap-xs-parse-complex-type): Set is-group slot.
11136         (soap-xs-parse-sequence): Parse xsd:group elements.
11137         (soap-resolve-references-for-xs-complex-type): Inline elements
11138         from referenced xsd:group nodes.
11139         (soap-parse-schema): Parse xsd:group nodes.
11141         * lisp/net/soap-client.el (soap-invoke):
11142         Don't set url-http-version to 1.0.
11144         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
11145         Allow choice nodes to accept multiple values.
11147         * lisp/net/soap-client.el (soap-encode-body): Check parameters argument
11148         for extra header values.
11150         * lisp/net/soap-client.el (soap-well-known-xmlns):
11151         Add wsa and wsaw tags.
11152         (soap-operation): Add input-action and output-action slots.
11153         (soap-parse-operation): Parse wsaw:Action nodes.
11154         (soap-encode-body): Encode service-url for WS-Addressing.
11155         (soap-create-envelope): Likewise.
11156         (soap-invoke): Update soap-create-envelope call to provide
11157         service-url argument.
11159         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
11160         Support xsi:type override attribute.
11161         (soap-decode-array): Likewise.
11163         * lisp/net/soap-client.el (soap-parse-schema):
11164         Handle location attribute.
11166         * lisp/net/soap-client.el (soap-decode-type): Check that multiRef
11167         matched validation regexp.
11169         * lisp/net/soap-client.el (soap-encode-xs-simple-type):
11170         Encode xsd:list nodes.
11171         (soap-decode-xs-simple-type): Decode xsd:list nodes.
11173         * lisp/net/soap-client.el (soap-get-candidate-elements):
11174         Fix reference handling.
11176         * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot.
11177         (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes.
11178         (soap-xs-add-list): New function.
11180         * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is
11181         expected, interpret nil as "false".
11183         * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth,
11184         gYear, gMonthDay, gDay and gMonth.
11186         * lisp/net/soap-client.el (soap-time-format): New variable.
11187         (soap-encode-xs-basic-type): Handle dateTime, time, date,
11188         gYearMonth, gYear, gMonthDay, gDay and gMonth.
11189         (soap-decode-date-time): New function.
11190         (soap-decode-xs-basic-type): Use soap-decode-date-time.
11192         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value
11193         after encoding.
11194         (soap-decode-xs-basic-type): Validate value before decoding.
11196         * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function.
11197         (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type.
11199         * lisp/net/soap-client.el (soap-xs-add-union): Append result to base
11200         instead of overwriting it.
11201         (soap-validate-xs-simple-type): Add union support.
11203         * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern
11204         to Emacs regexp using xsdre-translate.
11205         (soap-validate-xs-simple-type): Validate value against pattern.
11207         * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of
11208         inline simpleType nodes.
11209         (soap-decode-type): Handle union types.
11211         * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type
11212         attributes.
11214         * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename
11215         from soap-xs-attribute-group-consolidate, all callers updated
11216         (soap-get-xs-attributes): Rename from
11217         soap-xs-attributes-consolidate, all callers updated
11219         * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot.
11220         (soap-xs-attribute-group): New type.
11221         (soap-xs-parse-attribute-group): New function.
11222         (soap-resolve-references-for-xs-attribute-group): Likewise.
11223         (soap-xs-add-extension): Handle attribute groups.
11224         (soap-resolve-references-for-xs-simple-type): Likewise.
11225         (soap-xs-parse-complex-type): Likewise.
11226         (soap-xs-parse-extension-or-restriction): Likewise.
11227         (soap-resolve-references-for-xs-complex-type): Likewise.
11228         (soap-xs-attribute-group-consolidate): New function.
11229         (soap-xs-attributes-consolidate): Handle attribute groups.
11230         (soap-parse-schema): Likewise.
11232         * lisp/net/soap-client.el (soap-encode-xs-basic-type):
11233         Fix boolean encoding.
11235         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref
11236         element names in warnings.
11238         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing.
11240         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
11241         Eliminate invalid warnings for choice types.
11243         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
11244         Also encode base type attributes.
11246         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation
11247         warning.  Print e-name in warnings, or element if e-name is nil.
11249         * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot.
11250         (soap-xs-parse-element): Set substitution-group.
11251         (soap-resolve-references-for-xs-element): Populate alternatives slot.
11252         (soap-get-candidate-elements): New function.
11253         (soap-encode-xs-complex-type): Iterate through all candidate elements.
11254         Handle types with nil type indicator.  Fix warning logic.
11256         * lisp/net/soap-client.el (soap-current-wsdl): Move declaration
11257         earlier in the file to prevent compiler warning.
11259         * lisp/net/soap-client.el (soap-node-optional): New function.
11260         (soap-node-multiple): Likewise.
11261         (soap-xs-parse-element): Call soap-node-optional and
11262         soap-node-multiple.
11263         (soap-xs-complex-type): Add optional? and multiple? slots.
11264         (soap-xml-get-children-fq): New function.
11265         (soap-xs-element-get-fq-name): Likewise.
11266         (soap-xs-complex-type-optional-p): Likewise.
11267         (soap-xs-complex-type-multiple-p): Likewise.
11268         (soap-xs-attributes-consolidate): Likewise.
11269         (soap-decode-xs-attributes): Likewise.
11270         (soap-decode-xs-complex-type): Decode types with nil type indicator.
11271         Support children that use local namespaces.  Decode attributes.
11272         Add type considerations to optional? and multiple? warnings.
11274         * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction):
11275         Store parsed attributes.
11276         (soap-encode-xs-complex-type-attributes): Encode custom attributes.
11278         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
11279         Don't add the xsi:type attribute (Exchange refuses requests which have
11280         this attribute).
11282         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Convert to lexical binding,
11283         correct compiler warnings about unused function arguments and
11284         local variables.
11286         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil
11287         type indicator.
11288         (soap-parse-envelope): Handle response headers.
11289         (soap-parse-response): Likewise.  Only return non-nil decoded values.
11291         * lisp/net/soap-client.el (soap-validate-xs-simple-type):
11292         Return validated value.
11294         * lisp/net/soap-client.el (soap-xs-parse-element)
11295         (soap-xs-parse-simple-type)
11296         (soap-xs-parse-complex-type)
11297         (soap-parse-message)
11298         (soap-parse-operation): Add the current namespace to the element
11299         being created.
11300         (soap-resolve-references-for-xs-element)
11301         (soap-resolve-references-for-xs-simple-type)
11302         (soap-resolve-references-for-xs-complex-type)
11303         (soap-resolve-references-for-operation): Resolve the namespace to
11304         the namespace tag.
11305         (soap-make-wsdl): specify a namespace tag when creating the xsd
11306         and soapenc namespaces
11307         (soap-wsdl-resolve-references): don't update namespace tags in
11308         elements here
11309         (soap-parse-port-type): bind the urn: to soap-target-xmlns
11310         (soap-encode-body): don't add nil namespace tags to
11311         soap-encoded-namespaces
11313         * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object
11314         for registering the soap-inspect method.  Make debbugs tests pass.
11315         * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the
11316         type name, also skip string only nodes when decoding a structure.
11317         (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice
11318         types too.
11319         (soap-encode-body): Grab the header value from the param table.
11321         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
11322         New function.
11323         (soap-encode-xs-element): Don't encode nil value unless needed.
11325         * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`.
11326         (soap-parse-binding): Parse the message parts required in the body.
11327         (soap-encode-body): Encode only the parts that are declared to be
11328         part of the body.
11330         * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name
11331         when writing out the tag.
11332         (soap-encode-body): Remove hack that inserts the xmlns in the
11333         element attributes list.
11335         * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot.
11336         (soap-xs-parse-attribute): Default slot is set from the XML
11337         "fixed" attribute.
11338         (soap-encode-xs-complex-type-attributes): Encode any attributes
11339         that have a default value.  Also, don't put the xsi:nil attribute
11340         when the complex type has no content anyway.
11342         * lisp/net/soap-client.el (soap-well-known-xmlns):
11343         Add the xml namespace.
11344         (soap-local-xmlns): Start with the xml namespace.
11345         (soap-xml-node-first-child): Skip xsd:annotation nodes too.
11346         (soap-make-xs-basic-types): More xsd types added.
11347         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
11348         Handle "language", "time", "date", "nonNegativeInteger".
11349         (soap-resolve-references-for-xs-element): Don't signal an error if
11350         the element does not have a type.
11351         (soap-xs-parse-simple-type): Subtypes are handled with ecase,
11352         added stum for xsd:list.
11353         (soap-xs-add-union): Call soap-l2fq on all union members.
11354         (soap-xs-add-extension): Call soap-l2fq on the base member.
11355         (soap-resolve-references-for-xs-simple-type): Don't signal an
11356         error if the simple type has no base.
11357         (soap-resolve-references-for-xs-simple-type): Bugfix, call
11358         soap-wsdl-get on each type of the base.
11360         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
11361         Referenced type can be eiher a simple type or a basic type.
11362         (soap-xs-add-restriction)
11363         (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base.
11364         (soap-make-xs-basic-types)
11365         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
11366         Add support for more XMLSchema basic types.
11367         (soap-current-file, soap-xmlschema-imports): New defvars.
11368         (soap-parse-schema): Add locations from xsd:import tags to
11369         `soap-xmlschema-imports'.
11370         (soap-wsdl): Make destructor private.
11371         (soap-make-wsdl): New defun, SOAP-WSDL object constructor.
11372         (soap-wsdl-add-alias): Check if we try to replace aliases.
11373         (soap-fetch-xml-from-url, soap-fetch-xml-from-file)
11374         (soap-fetch-xml): New defuns.
11375         (soap-load-wsdl): Update to load the WSDL from either a file or
11376         an url.
11377         (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'.
11378         (soap-parse-wsdl): Process wsdl:import tags and imports from
11379         `soap-xmlschema-imports'.
11380         * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of
11381         symbol-name.
11382         (soap-l2fq): Make the name part always a string.
11383         (soap-name-p): New defun, used for name tests.
11385         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type):
11386         Supply sample values for choice types with a special tag.
11387         * lisp/net/soap-client.el (soap-encode-xs-complex-type):
11388         Handle anonymous elements correctly.
11389         (soap-encode-value): Accept nodes that have no namespace tag.
11391         * lisp/net/soap-client.el (soap-invoke): Encode the string for
11392         `url-request-data' as UTF-8.  Fixes issue 16.
11394 2015-10-24  Nicolas Petton  <nicolas@petton.fr>
11396         Update the new icon
11398         Move the E slightly to the right in the circle.
11400         * etc/images/icons/hicolor/128x128/apps/emacs.png:
11401         * etc/images/icons/hicolor/16x16/apps/emacs.png:
11402         * etc/images/icons/hicolor/24x24/apps/emacs.png:
11403         * etc/images/icons/hicolor/32x32/apps/emacs.png:
11404         * etc/images/icons/hicolor/48x48/apps/emacs.png:
11405         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
11406         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
11407         * nt/icons/emacs.ico: New icom update.
11409 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
11411         Avoid missing inline functions from lisp.h in TAGS
11413         * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
11414         need to end each invocation with a semi-colon.
11415         Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
11416         and LISP_MACRO_DEFUN_VOID.  This is to avoid missing in TAGS
11417         inline functions defined immediately after each invocation, and
11418         also avoid tagging every invocation of these macros.
11420 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
11422         A better fix for bug#21739
11424         * src/buffer.c (set_update_modelines_for_buf): New function.
11425         (Fkill_buffer): Use it to set the global variable
11426         update_mode_lines if the killed buffer was displayed in some
11427         window.  Don't set windows_or_buffers_changed.  This is a better
11428         fix for bug#21739 than the previous fix, since it will cause only
11429         redisplay of mode lines, not of entire windows, but will still
11430         catch attention of x_consider_frame_title in xdisp.c, which
11431         redraws the frame title.
11433 2015-10-24  Tassilo Horn  <tsdh@gnu.org>
11435         * lisp/dired-aux.el (dired-compress-files-alist): Add support for
11436         tar.bz2 and tar.xz archives.
11438 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
11440         Fix infloop in redisplay introduced by a recent change
11442         * src/xdisp.c (redisplay_internal): Avoid inflooping when
11443         redisplaying the selected window sets the selected frame's
11444         redisplay flag.  (Bug#21745)
11446 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
11448         * lisp/emacs-lisp/thunk.el: Better documentation.
11450 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
11452         Replace the old icon for Windows and Mac OSX
11454         * nt/icons/emacs.ico:
11455         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
11456         Use the new icons.
11458 2015-10-23  Stephen Leake  <stephen_leake@stephe-leake.org>
11460         * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
11461         `load-path' should contain only directory names.
11463 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
11465         New library thunk.el
11467         thunk.el is extracted from stream.el in ELPA, with additional tests.
11469         * lisp/emacs-lisp/thunk.el: New file.
11470         * test/automated/thunk-tests.el: New file.
11471         * etc/NEWS: Add information about thunk.el
11473 2015-10-23  Michael Albinus  <michael.albinus@gmx.de>
11475         Fix bug#21669
11477         * lisp/filenotify.el (file-notify-rm-watch): Improve check for
11478         calling low-level functions.
11480         * test/automated/file-notify-tests.el (file-notify--test-timeout):
11481         Decrase to 6 seconds for remote directories.
11482         (file-notify-test02-events): Expect different number of
11483         `attribute-changed' events for the local and remote cases.  Apply
11484         short delays between the operations, in order to receive all
11485         events in the remote case.  Combine `attribute-change' tests.
11486         (Bug#21669)
11488 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
11490         Decode the HTML source when displaying it in EWW
11492         * lisp/net/eww.el (eww-view-source): Decode the HTML source
11493         according to its headers.
11495 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
11497         New default icon
11499         * etc/images/icons/hicolor/128x128/apps/emacs23.png:
11500         * etc/images/icons/hicolor/16x16/apps/emacs23.png:
11501         * etc/images/icons/hicolor/24x24/apps/emacs23.png:
11502         * etc/images/icons/hicolor/32x32/apps/emacs23.png:
11503         * etc/images/icons/hicolor/48x48/apps/emacs23.png:
11504         * etc/images/icons/hicolor/scalable/apps/emacs23.svg:
11505         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg:
11506         Move the old logo files to emacs23.*.
11507         * etc/images/icons/hicolor/128x128/apps/emacs.png:
11508         * etc/images/icons/hicolor/16x16/apps/emacs.png:
11509         * etc/images/icons/hicolor/24x24/apps/emacs.png:
11510         * etc/images/icons/hicolor/32x32/apps/emacs.png:
11511         * etc/images/icons/hicolor/48x48/apps/emacs.png:
11512         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
11513         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
11514         New files.
11515         * etc/images/icons/README: Update the copyright information.
11517 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
11519         Fix redisplay of frame title when current buffer is killed
11521         * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a
11522         non-zero value, to redisplay more than just the affected windows.
11523         (Bug#21739)
11525 2015-10-23  Anders Lindgren  <andlind@gmail.com>
11527         NextStep maximization and NSTRACE rewrite
11529         Full-height, full-width, and maximized windows now cover the
11530         entire screen (except the menu bar), including the part where the
11531         system dock is placed.  The system zoom animation is no longer
11532         used.
11534         Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
11535         original size.
11537         * src/nsterm.m (ns_menu_bar_height): New function, return height of
11538         the menu bar, or 0 when it's hidden.
11539         (constrain_frame_rect): New function for constraining a frame.
11540         (ns_constrain_all_frames): Set frame size explicitly rather than
11541         relying on the system doing it for us by writing back the current
11542         frame size.
11543         (windowWillUseStandardFrame): Register non-maximized width or
11544         height as new user size.  When entering full width or height,
11545         the other size component is taken from the user size.
11546         (fullscreenState): New method for accessing the fullscreen state.
11547         (constrainFrameRect): Restrict frame to be placed under the menu bar,
11548         if present.  The old version, sometimes, restricted the height of a
11549         frame to the screen, this version never does this.
11550         (zoom): Perform zoom by setting the frame to the full size of the
11551         screen (minus the menu bar).  The default system function, with the
11552         zoom animation, is no longer used, as the final frame size doesn't
11553         cover the entire screen.
11555         Rework how to constrain resizing to the character grid.  The old
11556         system used "resizeIncrements" in NSWindows.  However, once a frame
11557         was resized so that it was not aligned to the text grid, it
11558         remained unaligned even after a resize.  In addition, it conflicted
11559         when resizing a fullheight window.
11561         * src/nsterm.m (windowWillResize): Restrict frame size to text grid,
11562         unless when pixelwise frame resizing is enabled.
11563         (updateFrameSize, initFrameFromEmacs)
11564         (toggleFullScreen, handleFS): Don't set resizeIncrements.
11566         Redesign the NS trace system.  The call structure is represented
11567         using indentations and vertical lines.  The NSTRACE macro accepts
11568         printf-style arguments.  New macros for printing various
11569         information.
11571         * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
11572         (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new
11573         block (typically a function), accept printf-style arguments.
11574         (NSTRACE_MSG): Macro for extra information, accepts
11575         printf-style arguments.
11576         (NSTRACE_what): Macros for printing various types.
11577         (NSTRACE_FMT_what): Macro with printf format string snippets.
11578         (NSTRACE_ARG_what): Macros for passing printf-style arguments,
11579         corresponds to NSTRACE_FMT_what.
11580         (NSTRACE_RETURN): Macro to print return value, accept
11581         printf-style arguments.
11582         (NSTRACE_RETURN_what): Macros to print return value for
11583         various types.
11585         * src/nsterm.m: Remove old NSTRACE macro
11586         * src/nsterm.m (nstrace_num): Trace counter.
11587         (nstrace_depth): Current call depth.
11588         (nstrace_leave): NSTRACE support function, called when the
11589         local variable "nstrace_enabled" goes out of scope using the
11590         "cleanup" extension.
11591         (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function.
11592         (constrain_frame_rect, ns_constrain_all_frames)
11593         (ns_update_auto_hide_menu_bar, ns_update_begin)
11594         (ns_update_window_begin, update_window_end, ns_update_end)
11595         (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
11596         (ns_frame_rehighlight, x_make_frame_visible)
11597         (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
11598         (x_destroy_window, x_set_offset, x_set_window_size)
11599         (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
11600         (ns_defined_color, frame_set_mouse_pixel_position)
11601         (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
11602         (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
11603         (ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
11604         (ns_after_update_window_line, ns_shift_glyphs_for_insert)
11605         (dumpcursor, ns_draw_vertical_window_border)
11606         (ns_draw_window_divider, ns_draw_relief)
11607         (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
11608         (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
11609         (ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
11610         (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
11611         (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
11612         (ns_create_terminal, ns_term_init, sendEvent)
11613         (applicationDidFinishLaunching, applicationDidBecomeActive)
11614         (timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
11615         (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
11616         (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
11617         (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
11618         (mouse_autoselect_window, in_window, mouseDragged)
11619         (rightMouseDragged, otherMouseDragged, windowShouldClose)
11620         (updateFrameSize, windowWillResize, windowDidResize)
11621         (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
11622         (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
11623         (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
11624         (windowDidEnterFullScreen, windowWillExitFullScreen)
11625         (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
11626         (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
11627         (draggingEntered, performDragOperation, validRequestorForSendType)
11628         (setMiniwindowImage, constrainFrameRect, performZoom, zoom)
11629         (EmacsScroller_initFrame, EmacsScroller_setFrame)
11630         (EmacsScroller_dealloc, condemn, reprieve, judge)
11631         (resetCursorRects, setPosition, EmacsScroller_mouseDown)
11632         (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
11634         * src/nsfns.m: Remove old NSTRACE macro
11635         * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
11636         (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
11637         (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
11639         * src/nsimage.m: Remove old NSTRACE macro
11640         * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
11641         (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
11643         * src/nsmenu.m: Remove old NSTRACE macro
11644         * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
11645         Use new trace system.
11647 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
11649         No need to use eval-and-compile
11651         * lisp/gnus/auth-source.el: Do require epg (when compiling) before
11652         autoload epg functions.
11654 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
11656         Fix auth-source-epa-make-gpg-token compilation (bug#21724)
11658         * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for
11659         epg-context-set-passphrase-callback, epg-decrypt-string, and
11660         epg-encrypt-string; require epg when compiling for the setf-method
11661         for epg-context-armor. (bug#21724)
11663 2015-10-22  Eli Zaretskii  <eliz@gnu.org>
11665         Include file cleanup for w32 files in src directory
11667         * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h,
11668         fontset.h, blockinput.h.
11669         * src/w32uniscribe.c: Don't include dispextern.h, character.h,
11670         charset.h, fontset.h.
11671         * src/w32term.c: Don't include systty.h, systime.h, charset.h,
11672         character.h, ccl.h, dispextern.h, disptab.h, intervals.h,
11673         process.h, atimer.h, keymap.h, w32heap.h.  Include bitmap/gray.xbm
11674         in an ifdef-ed away block.
11675         Include fcntl.h for CYGWIN.
11676         (set_frame_param): Remove unused function.
11677         * src/w32select.c: Don't include charset.h and composite.h.
11678         (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings
11679         due to pointer signedness mismatches.
11680         * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings
11681         due to pointer signedness mismatches.
11682         * src/w32proc.c: Include unistd.h.  Don't include systime.h,
11683         process.h, dispextern.h.
11684         (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name)
11685         (Fw32_application_type): Avoid compiler warnings due to pointer
11686         signedness mismatches.
11687         * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h,
11688         character.h, charset.h, dispextern.h.
11689         (simple_dialog_show, add_menu_item): Avoid compiler warnings due
11690         to pointer signedness mismatches.
11691         * src/w32inevt.c: Don't include dispextern.h, window.h,
11692         termhooks.h, w32heap.h.
11693         * src/w32font.c: Don't include dispextern.h, character.h,
11694         charset.h, fontset.h, font.h.
11695         (intern_font_name, add_font_entity_to_list)
11696         (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont)
11697         (list_all_matching_fonts): Avoid compiler warnings due to pointer
11698         signedness mismatches.
11699         * src/w32fns.c: Don't include character.h, intervals.h,
11700         dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h,
11701         termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h.
11702         (w32_color_map_lookup, add_system_logical_colors_to_map)
11703         (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p)
11704         (Fxw_color_values, x_display_info_for_name, Fset_message_beep)
11705         (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash)
11706         (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid
11707         compiler warnings, mainly due to pointer signedness mismatches.
11708         (unwind_create_frame_1): Remove unused function.
11709         * src/w32console.c: Don't include character.h, disptab.h, frame.h,
11710         window.h, termhooks.h, dispextern.h.
11711         (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer
11712         signedness mismatch.
11713         * src/w32.c: Include c-strcase.h and systty.h.  Don't include
11714         w32heap.h.
11716 2015-10-22  Tassilo Horn  <tsdh@gnu.org>
11718         Improve doc-view wrt. auto-revert-mode
11720         * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file
11721         is corrupted (bug#21729).
11722         (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function.
11724 2015-10-22  Oleh Krehel  <ohwoeowho@gmail.com>
11726         Describe dired-do-compress-to in the manual
11728         * etc/NEWS: Update.
11730         * lisp/dired-aux.el: Fix typo.
11732         * doc/emacs/dired.texi: Add entry.
11734 2015-10-22  Jürgen Hötzel  <juergen@archlinux.org>
11736         Further fix for proper locale handling in tramp-gvfs.el
11738         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
11739         Just suppress LC_MESSAGES locale category settings.
11741 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
11743         New lispref section “Security Considerations”
11745         This attempts to document some of the issues recently discussed
11746         on emacs-devel, and to indicate other such issues.  The section
11747         could be a lot longer.
11748         * doc/lispref/os.texi (Security Considerations):
11749         New node.
11750         * doc/lispref/elisp.texi (Top):
11751         * doc/lispref/processes.texi (Shell Arguments):
11752         * lisp/subr.el (shell-quote-argument):
11753         * src/callproc.c (syms_of_callproc):
11754         Reference it.
11756 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
11758         Merge from gnulib
11760         This incorporates:
11761         2015-10-18 stdalign: work around pre-4.9 GCC x86 bug
11762         2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
11763         * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c:
11764         Copy from gnulib.
11766 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
11768         * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks.
11769         (mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.
11771 2015-10-21  Ken Brown  <kbrown@cornell.edu>
11773         Further include-file cleanup
11775         * src/sheap.c: Include stdlib.h.
11776         * src/unexcw.c: Include string.h.
11778 2015-10-21  Eli Zaretskii  <eliz@gnu.org>
11780         Fix logic in 'server-kill-emacs-query-function'
11782         * lisp/server.el (server-kill-emacs-query-function): Correct the
11783         logic that controls whether the user is asked for confirmation.
11784         (Bug#21723)
11786 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
11788         * lisp/isearch.el (isearch-search-fun-default): Simplify logic.
11789         (isearch--lax-regexp-function-p): New function.
11791 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
11793         * lisp/isearch.el: Support lax-whitespace in regexp-function searches.
11794         (isearch-search-fun-default): Let-bind `search-spaces-regexp'
11795         around `isearch-regexp-function'.
11797 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
11799         * lisp/isearch.el: Rename word search to regexp-function search.
11800         `isearch-word' went well beyond its original purpose, and the name
11801         no longer makes sense.  It is now called
11802         `isearch-regexp-function', and its value should always be a function
11803         that converts a string to a regexp (though setting it to t is still
11804         supported for now).
11805         (isearch-word): Make obsolete.
11806         (isearch-regexp-function): New variable.
11807         (isearch-mode, isearch-done, isearch--state, isearch--set-state)
11808         (with-isearch-suspended, isearch-toggle-regexp)
11809         (isearch-toggle-word, isearch-toggle-symbol)
11810         (isearch-toggle-character-fold, isearch-query-replace)
11811         (isearch-occur, isearch-highlight-regexp)
11812         (isearch-search-and-update, isearch-message-prefix)
11813         (isearch-search-fun-default, isearch-search)
11814         (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
11815         Use it.
11816         (isearch-lazy-highlight-regexp-function): New var.
11817         (isearch-lazy-highlight-word): Make obsolete.
11818         (isearch--describe-regexp-mode): New function.
11819         (isearch--describe-word-mode): Make obsolete.
11821         * lisp/info.el (Info-isearch-search):
11822         * lisp/replace.el (replace-search, replace-highlight):
11823         * lisp/obsolete/longlines.el (longlines-search-function):
11824         * lisp/hexl.el (hexl-isearch-search-function):
11825         * lisp/cedet/semantic/senator.el (senator-isearch-search-fun):
11826         Use the new var.
11828 2015-10-21  Oleh Krehel  <ohwoeowho@gmail.com>
11830         Add dired-do-compress-to command bound to "c"
11832         * lisp/dired-aux.el (dired-shell-command): Use the caller's
11833           `default-directory', return the result of `process-file'.
11834         (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
11835         used by default.
11836         (dired-compress-files-alist): New defvar.
11837         (dired-do-compress-to): New command.
11839         * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
11840         (dired-do-compress-to): Add an autoload entry.
11842         * etc/NEWS: Add two entries.
11844 2015-10-21  Tassilo Horn  <tsdh@gnu.org>
11846         Make RefTeX work with LaTeX subfiles package
11848         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles
11849         document class argument as master file for referencing purposes.
11851 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
11853         * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.
11855 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
11857         Include-file cleanup for src directory
11859         Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
11860         In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
11861         but does not include it directly.  As a general rule, a source
11862         file should include foo.h if it needs the interfaces that foo.h
11863         defines.
11864         * src/alloc.c: Don’t include process.h.  Include dispextern.h,
11865         systime.h.
11866         * src/atimer.c: Don’t include blockinput.h.
11867         * src/buffer.c: Include coding.h, systime.h.  Don’t include
11868         keyboard.h, coding.h.
11869         * src/callint.c: Don’t include commands.h, keymap.h.
11870         * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
11871         systty.h, termhooks.h.
11872         * src/casetab.c: Don’t include character.h.
11873         * src/category.c: Don’t include charset.h, keymap.h.
11874         * src/ccl.h: Don’t include character.h.
11875         * src/character.c: Don’t include charset.h.
11876         * src/charset.c: Don’t include disptab.h.
11877         * src/chartab.c: Don’t include ccl.h.
11878         * src/cm.c: Don’t include frame.h, termhooks.h.
11879         * src/cmds.c: Don’t include window.h, dispextern.h.
11880         * src/coding.c: Don’t include window.h, frame.h.
11881         * src/composite.c: Include composite.h.  Don’t include window.h,
11882         font.h.
11883         * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
11884         * src/dbusbind.c: Don’t include frame.h.
11885         * src/decompress.c: Don’t include character.h.
11886         * src/dired.c: Don’t include character.h, commands.h, charset.h.
11887         * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
11888         process.h, timespec.h.  Include systime.h.
11889         * src/doc.c: Include coding.h.  Don’t include keyboard.h.
11890         * src/editfns.c: Include composite.h.  Don’t include frame.h.
11891         * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
11892         commands.h, systty.h..
11893         * src/fileio.c: Don’t include intervals.h, dispextern.h.
11894         Include composite.h.
11895         * src/filelock.c: Don’t include character.h, systime.h.
11896         * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
11897         keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
11898         * src/font.c: Include termhooks.h.
11899         * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
11900         struct composition_it, struct face, struct glyph_string.
11901         * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
11902         intervals.h, window.h, termhooks.h.
11903         * src/frame.c: Don’t include character.h, commands.h, font.h.
11904         * src/frame.h: Don’t include dispextern.h.
11905         * src/fringe.c: Don’t include character.h.
11906         * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
11907         character.h, charset.h, fontset.h.
11908         * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
11909         fontset.h.
11910         * src/ftxfont.c: Don’t include dispextern.h, character.h,
11911         charset.h, fontset.h.
11912         * src/gfilenotify.c: Don’t include frame.h, process.h.
11913         * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
11914         Don’t include syssignal.h, buffer.h, charset.h, font.h.
11915         * src/gtkutil.h: Don’t include frame.h.
11916         * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
11917         Don’t include character.h.
11918         * src/indent.c: Don’t include keyboard.h, termchar.h.
11919         * src/inotify.c: Don’t include character.h, frame.h.
11920         * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
11921         * src/intervals.c: Don’t include character.h, keyboard.h.
11922         * src/intervals.h: Don’t include dispextern.h, composite.h.
11923         * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
11924         Include coding.h.
11925         * src/keyboard.h: Don’t incldue systime.h.
11926         * src/keymap.c: Don’t include charset.h, frame.h.
11927         * src/lread.c: Include dispextern.h and systime.h.
11928         Don’t include frame.h.  Include systime.h.
11929         * src/macros.c: Don’t include commands.h, character.h, buffer.h.
11930         * src/menu.c: Include character.h, coding.h.  Don’t include
11931         dispextern.h.
11932         * src/menu.h: Don’t include systime.h.
11933         * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
11934         intervals.h, termhooks.h.
11935         * src/print.c: Include coding.h.  Don’t include keyboard.h,
11936         window.h, dispextern.h, termchar.h, termhooks.h, font.h.
11937         Add forward decl of struct terminal.
11938         * src/process.c: Don’t include termhooks.h, commands.h,
11939         dispextern.h, composite.h.
11940         * src/region-cache.c: Don’t include character.h.
11941         * src/scroll.c: Don’t include keyboard.h, window.h.
11942         * src/search.c: Don’t include category.h, commands.h.
11943         * src/sound.c: Don’t include dispextern.h.
11944         * src/syntax.c: Don’t include command.h, keymap.h.
11945         * src/sysdep.c: Don’t include window.h, dispextern.h.
11946         * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
11947         * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
11948         * src/terminal.c: Include character.h.
11949         Don’t include charset.h, coding.h.
11950         * src/textprop.c: Don’t include character.h.
11951         * src/undo.c: Don’t include character.h, commands.h, window.h.
11952         * src/unexsol.c: Don’t include character.h, charset.h.
11953         * src/widget.c: Include widget.h.  Don’t include keyboard.h,
11954         window.h, dispextern.h, blockinput.h, character.h, font.h.
11955         * src/widgetprv.h: Don’t include widget.h.
11956         * src/window.c: Don’t include character.h, menu.h, intervals.h.
11957         * src/xdisp.c: Include composite.h, systime.h.  Don’t include
11958         macros.h, process.h.
11959         * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
11960         intervals.h.
11961         * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
11962         epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
11963         * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
11964         * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
11965         * src/xgselect.c: Don’t include timespec.h, frame.h.
11966         Include systime.h.
11967         * src/xgselect.h: Don’t include time.h.
11968         Use a forward decl to struct timespec instead.
11969         * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
11970         dispextern.h.  Include systime.h.
11971         * src/xml.c: Don’t include character.h.
11972         * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
11973         * src/xselect.c: Don’t include dispextern.h, character.h,
11974         buffer.h, process.h.
11975         * src/xsmfns.c: Don’t include systime.h, sysselect.h.
11976         * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
11977         intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
11979 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
11981         (/ N) now returns the reciprocal of N
11983         This is more compatible with Common Lisp and XEmacs (Bug#21690).  See:
11984         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
11985         * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
11986         (color-xyz-to-srgb, color-xyz-to-lab):
11987         * lisp/emacs-lisp/cl-extra.el (cl-float-limits):
11988         * lisp/net/shr-color.el (shr-color-hue-to-rgb)
11989         (shr-color-hsl-to-rgb-fractions):
11990         Exploit the change to simplify the code a bit.
11991         * lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
11992         Don’t complain about single-argument calls to ‘/’.
11993         * src/data.c (arith_driver, float_arith_driver):
11994         Implement the change.
11996 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
11998         Call vc-dir-refresh after stash operations
12000         * lisp/vc/vc-git.el (vc-git-stash-apply-at-point)
12001         (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960).
12003         * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well,
12004         since it can be abbreviated (as returned by vc-find-root).
12006 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
12008         * lisp/vc/vc-svn.el:
12009         * lisp/vc/vc-mtn.el:
12010         * lisp/vc/vc-hg.el:
12011         * lisp/vc/vc-cvs.el:
12012         * lisp/vc/vc-git.el:
12013         * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore.
12014         Its usages have been replaced with vc-run-delayed.
12016 2015-10-20  Dima Kogan  <dima@secretsauce.net>
12018         Fix memory leak in fontset handling
12020         * src/font.c (copy_font_spec): Make a deep copy of the input
12021         argument FONT.  (Bug#21651)
12023 2015-10-20  Michael Sperber  <mike@xemacs.org>
12025         * lisp/gnus/mailcap.el (mailcap-mime-data):
12026         Conditonalize `doc-view-mode', which does not exist on XEmacs.
12028 2015-10-20  Oleh Krehel  <ohwoeowho@gmail.com>
12030         Update the way directories are compressed
12032         * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
12033         for *.tar.gz decompression to use a pipe.
12034         Add an entry for the default directory compression (to *.tar.g).
12035         (dired-compress-file): Update.
12037         See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html.
12039 2015-10-20  Michael Sperber  <mike@xemacs.org>
12041         Unbreak `group' option for `mail-sources'
12043         * lisp/gnus/nnml.el (nnml-retrieve-groups, nnml-request-scan):
12044         * lisp/gnus/nnmail.el (nnmail-get-new-mail-per-group)
12045         (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
12047 2015-10-19  Nicolas Petton  <nicolas@petton.fr>
12049         New function seq-position
12051         * lisp/emacs-lisp/seq.el (seq-position): New function.
12052         * test/automated/seq-tests.el: New tests for seq-position.
12053         * doc/lispref/sequences.texi: Add documentation for `seq-position'.
12055 2015-10-19  Ken Brown  <kbrown@cornell.edu>
12057         Enable --with-wide-int build on 32-bit Cygwin
12059         * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86
12060         and x86_64 to enable --with-wide-int build on 32-bit Cygwin.
12062 2015-10-19  Glenn Morris  <rgm@gnu.org>
12064         * doc/emacs/ack.texi (Acknowledgments): Small, sad, update.
12066 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
12068         Resurrect image loading under auto-image-file-mode
12070         * src/image.c (x_find_image_fd): Handle the case of -2 returned by
12071         'openp' specially.  This special case was lost in the changes on
12072         2015-08-18.  (Bug#21685)
12074 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
12076         Fix return value of 'set-file-extended-attributes'
12078         * lisp/files.el (set-file-extended-attributes): Return non-nil
12079         when setting either ACLs or SELinux context succeeds.  Document
12080         the return value.  (Bug#21699)
12082         * doc/lispref/files.texi (Changing Files): Document the return
12083         value of set-file-extended-attributes.
12085 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
12087         Improve documentation of functions that change files
12089         * doc/lispref/files.texi (Changing Files): Document that these
12090         functions signal an error on failure.
12092 2015-10-18  Eli Zaretskii  <eliz@gnu.org>
12094         Fix doc string of 'shell-quote-argument'
12096         * lisp/subr.el (shell-quote-argument): Doc fix.  (Bug#21702)
12098 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
12100         Some minor Tramp changes
12102         * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning.
12104         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
12105         Expand `tramp-auto-save-directory'.
12107 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
12109         Minor edits in Tramp
12111         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp):
12112         Declare it.
12114         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
12115         Remove declaration.
12117 2015-10-17  Mark Oteiza  <mvoteiza@udel.edu>
12119         * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list.
12121 2015-10-17  Eli Zaretskii  <eliz@gnu.org>
12123         Avoid crashes when redisplayng a window changes faces or fonts
12125         * src/xdisp.c (redisplay_internal): If redisplaying the selected
12126         window or one of the frames turns on the frame's 'redisplay' flag,
12127         redisplay again.  (Bug#21428)
12129         * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag.
12131 2015-10-17  Michael Albinus  <michael.albinus@gmx.de>
12133         Solve timimg issues in file-notify-tests.el
12135         * test/automated/file-notify-tests.el (file-notify-test02-events):
12136         Rectify `attribute-change' tests.  There are timing issues with
12137         gfilenotify.  (Bug#21669)
12139 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
12141         Fix quoting of data within htmlfontify doc
12143         * doc/misc/htmlfontify.texi (Data Structures, Customization):
12144         Fix quoting of data structures.  A Lisp quote is needed only
12145         when data appears within Lisp code.
12147 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
12149         * lisp/emacs-lisp/package.el: Reload archive-contents if
12150         priorities change.
12151         (package--old-archive-priorities): New variable.
12152         (package-read-all-archive-contents, package-menu--refresh): Use it
12153         to decide when the `package-archive-contents' needs to be read
12154         again.
12156 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
12158         Make src headers idempotent and standalone
12160         Redo src/*.h so that each include file is idempotent (that is, can
12161         be included multiple times with the latter inclusions having no
12162         effect) and standalone (that is, can be included by itself,
12163         with no include file other than config.h needed as a prerequisite).
12164         This is standard practice in GNU programs nowadays.
12165         * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h:
12166         * src/charset.h, src/coding.h, src/commands.h, src/disptab.h:
12167         * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h:
12168         * src/regex.h [emacs]:
12169         * src/syntax.h, src/systty.h, src/termhooks.h:
12170         Include lisp.h, for Lisp_Object.
12171         * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h:
12172         * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h:
12173         * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h:
12174         * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h:
12175         * src/termopts.h, src/tparam.h, src/unexec.h:
12176         Protect against multiple inclusion.
12177         * src/buffer.h: Include character.h, for STRING_CHAR.
12178         * src/emacsgtkfixed.h (struct frame):
12179         * src/fontset.h (struct face):
12180         * src/region-cache.h (struct buffer):
12181         * src/termhooks.h (struct glyph):
12182         * src/xsettings.h (struct x_display_info):
12183         Add possibly-forward decl.
12184         * src/syntax.h: Include buffer.h, for BVAR.
12185         * src/sysselect.h: Include lisp.h, for eassume.
12186         * src/termchar.h: Include <stdio.h>, for FILE.
12187         * src/widget.h: Include <X11/IntrinsicP.h>, for Widget.
12188         * src/xsettings.h: Include <X11/Xlib.h>, for XEvent.
12190 2015-10-16  Jürgen Hötzel  <juergen@archlinux.org>
12192         Handle symlink targets containing spaces in tramp-gvfs.el
12194         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
12195         Handle symlink targets containing spaces.
12197 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
12199         * lisp/custom.el (custom-theme-load-path): Demote to defvar.
12201         `custom-theme-load-path' was a defcustom, but it shouldn't be for the
12202         same reason that `load-path' shouldn't.  Setting it via the customize
12203         interface is a trap for the user.
12205         Installed themes commonly add themselves to this variable, which means
12206         its value is not fit for being saved (it will permanently remember dirs
12207         that don't exist anymore).
12209         This is aggravated by the fact that Emacs always applies the `user'
12210         theme on top of any theme that's loaded, since this will apply the old
12211         variable value and remove any new directories that had been recently
12212         added by themes themselves.
12214         Not to mention, we already have `custom-theme-directory', which is safe
12215         to customize.
12217 2015-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
12219         * lisp/mpc.el: Rename the new toggling commands.
12220         (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single)
12221         (mpc-toggle-shuffle): Add "-toggle" in the name.
12223 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
12225         Improve the doc string of 'completion-boundaries'
12227         * lisp/minibuffer.el (completion-boundaries): Rename the argument
12228         TABLE to COLLECTION, for consistency with other high-level
12229         completion functions.  Document how COLLECTION is called if it
12230         is a function.  (Bug#21644)
12232 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
12234         * lisp/dired-aux.el (dired-shell-command): Fix compile warning.
12236 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
12238         Make dired-do-compress work for *.zip files
12240         * lisp/dired-aux.el (dired-check-process): Transform the top-level
12241           comment into a docstring.
12242         (dired-shell-command): New command.  This mirrors
12243         `dired-check-process', but is more user-friendly for passing
12244         arguments.
12245         (dired-compress-file-suffixes): Allow to specify the command switches
12246         along with input (%i) and output (%o) inside the PROGRAM part.
12247         Add an entry for *.zip files, and update the entry for *.tar.gz files
12248         to the new style.  Update the docstring.
12249         (dired-compress-file): When PROGRAM matches %i or %o, use the new
12250         logic.
12251         (dired-update-file-line): Avoid an error when at end of buffer.
12253         Fixes bug#21637.
12255 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
12257         Minor improvement in documentation of internals
12259         * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
12261 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
12263         Improve documentation of COLLECTION in completion functions
12265         * doc/lispref/minibuf.texi (Minibuffer Completion): Add a
12266         cross-reference to "Programmed Completion".
12268         * src/minibuf.c (Fcompleting_read): Improve the doc string.
12269         (Bug#21644)
12271 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
12273         Add more release info to etc/HISTORY
12275         * etc/HISTORY: Add more release information about 19.x and 20.x
12276         versions.
12278 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
12280         New file etc/HISTORY
12282         * admin/FOR-RELEASE: Procedure for etc/HISTORY.
12283         * etc/HISTORY: New file.
12284         * etc/NEWS: Mention it.
12286 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
12288         js-mode: Don't misindent generator methods
12290         * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
12291         generator methods from multiplication operator
12292         (https://github.com/mooz/js2-mode/issues/275).
12294 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
12296         Fix animation timeout delay calculation
12298         * lisp/image.el (image-animate-timeout):
12299         Don’t assume speed is floating-point.
12301 2015-10-15  Mark Oteiza  <mvoteiza@udel.edu>
12303         Add commands for controlling MPD modes
12305         * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat)
12306         (mpc-cmd-single): New functions.
12307         (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands.
12308         (mpc-mode-menu): Add new commands as menu items.
12310 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
12312         Refer to `(elisp)Basic Completion' in completing-read docstring
12314         * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic
12315         Completion' in the docstring (bug#21644).
12317 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
12319         * lisp/mpc.el (mpc-format): Always push form to pred
12321 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12323         Spelling fixes
12325         * configure.ac (bitmapdir): Fix misspelling of bmd_acc.
12326         * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
12327         Fix misspelling of nonexistent file name.
12329 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
12331         * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings
12333 2015-10-14  Michael Albinus  <michael.albinus@gmx.de>
12335         Some editing fixes in Tramp
12337         * lisp/net/tramp-gvfs.el:
12338         * doc/misc/tramp.texi: "customer option" -> "custom option".
12340         * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring.
12342 2015-10-14  Jürgen Hötzel  <juergen@archlinux.org>
12344         Use proper localization in tramp-gvfs.el
12346         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
12347         Suppress localized settings in order to proper parse gfvs output.
12349 2015-10-14  Warren Lynn  <wrn.lynn@gmail.com>  (tiny change)
12351         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
12352         Quote argument in proper order.  (Bug#21562)
12354 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
12356         Fix typos in docstrings
12358         * lisp/emacs-lisp/map.el:
12359         * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
12360           macros.
12362 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
12364         * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live.
12366 2015-10-14  Oleh Krehel  <ohwoeowho@gmail.com>
12368         Make dired-jump work with tar-subfile-mode
12370         * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of
12371           emitting an error, switch to `tar-superior-buffer'.
12373 2015-10-14  Juanma Barranquero  <lekktu@gmail.com>
12375         * .gitignore: Add build-aux/ar-lib.
12377 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
12379         Better docstrings in seq.el and map.el
12381         * lisp/emacs-lisp/map.el:
12382         * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
12384 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12386         Merge from gnulib
12388         This incorporates:
12389         2015-10-13 binary-io, u64, unistd: port to strict C
12390         2015-09-26 c-ctype: do not worry about EBCDIC + char signed
12391         2015-09-25 c-ctype: port better to z/OS EBCDIC
12392         2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
12393         * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
12394         * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
12395         Copy from gnulib.
12397 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12399         Take XPNTR private
12401         * src/alloc.c (PURE_POINTER_P): Remove.
12402         All uses replaced with PURE_P.
12403         (XPNTR_OR_SYMBOL_OFFSET): New function.
12404         (XPNTR): Move here from lisp.h.
12405         Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET.
12406         (mark_maybe_object, valid_lisp_object_p, survives_gc_p):
12407         Remove unnecessary cast.
12408         (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR,
12409         to avoid an unnecessary runtime test for symbols.
12410         * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c.
12411         Only alloc.c needs XPNTR now.
12413 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
12415         Add MPC play/pause command
12417         * lisp/mpc.el (mpc-toggle-play): New command.
12418         (mpc-mode-map): Bind it to "s".
12419         (mpc-mode-menu): Add corresponding menu item.
12421 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
12423         Add bindings and menu items for prev and next tracks
12425         * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next,
12426         "<" to mpc-prev.
12427         (mpc-mode-menu): Add corresponding menu items
12429 2015-10-13  Ken Raeburn  <raeburn@raeburn.org>
12431         Reduce face-related consing during frame creation.
12433         * lisp/faces.el (face--attributes-unspecified): Compute the "unspecified"
12434         attribute list once.
12435         (face-spec-reset-face): Use it instead of building the list.
12437 2015-10-13  Ken Raeburn  <raeburn@permabit.com>
12439         Do process ConfigureNotify events indicating size changes.
12441         * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify
12442         events don't have the same size, process each one.
12444 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
12446         Derive mpc-mode from special-mode
12448         lisp/mpc.el (mpc-mode-map): Make from sparse keymap.  Unbind g.
12449         (mpc-mode): Derive from special mode.
12450         (mpc-songs-mode-map): Don't set parent keymap.
12452 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
12454         Fix error messages for when covers are not found.
12456         The last change to mpc-format let the binding to file call
12457         mpc-file-local-copy with nil argument.  Instead, employ if-let here
12458         so nil bindings don't result in needless computation and errors.
12459         * lisp/mpc.el: Require 'subr-x at compile time.
12460         * lisp/mpc.el (mpc-format): Use if-let.
12462 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
12464         Make dired-do-compress work for *.tar.gz files
12466         * lisp/dired-aux.el (dired-compress-file-suffixes): Associate
12467           "tar -zxvf" to *.tar.gz; update docstring.
12469         (dired-compress-file): Allow to specify switches after the command in
12470         `dired-compress-file-suffixes'.
12472 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
12474         Make dired-do-compress work for directories
12476         * lisp/dired-aux.el (dired-compress-file): When FILE is a directory,
12477           instead of emitting an error, call "tar -czf FILE.tar.gz FILE".
12478         Also convert the top comment into a docstring.
12480 2015-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
12482         * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active'
12484         ... since it might come straight from the memoizing table.
12486 2015-10-13  Juanma Barranquero  <lekktu@gmail.com>
12488         * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame.
12490 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
12492         Use special-mode in eww list modes
12494         * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode)
12495         (eww-buffers-mode): Derive from special-mode and remove redundant
12496         setting of buffer-read-only.
12497         (eww-mode-map): Remove redundant keymap parent setting.
12498         (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map):
12499         Remove redundant keymap suppressions and mappings.
12501 2015-10-13  Martin Rudalics  <rudalics@gmx.at>
12503         Allow setting frame pixel sizes from frame parameters (Bug#21415)
12505         Also fix some misfeatures in frame (re-)sizing code, add more
12506         debugging information and remove some dead code.
12508         * lisp/frame.el (frame-notice-user-settings, make-frame): Change
12509         parameter names when setting `frame-size-history'.
12510         (frame--size-history): New function.
12512         * src/frame.c (frame_inhibit_resize): If frame has not been made
12513         yet, return t if inhibit_horizontal_resize or
12514         inhibit_vertical_resize bit have been set.
12515         (adjust_frame_size): Simplify.
12516         (make_frame): Initialize inhibit_horizontal_resize,
12517         inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
12518         (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
12519         inhibit_vertical_resize slots.
12520         (x_set_frame_parameters): Handle `text-pixels' specification for
12521         width and height parameters.  Don't consider new_height or
12522         new_width changes.  Call adjust_frame_size instead of
12523         Fset_frame_size.
12524         (x_figure_window_size): Two new arguments x_width and y_width
12525         returning frame's figures width and height.  Calculate tool bar
12526         height before frame sizes so SET_FRAME_HEIGHT can pick it up.
12527         Handle `text-pixels' specification for width and height
12528         parameters.
12529         (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
12530         (Qx_set_window_size_1, Qx_set_window_size_2)
12531         (Qx_set_window_size_3, Qx_set_menu_bar_lines)
12532         (Qupdate_frame_menubar, Qfree_frame_menubar_1)
12533         (Qfree_frame_menubar_2): New symbols.
12534         * src/frame.h (structure frame): New booleans
12535         tool_bar_redisplayed, tool_bar_resized,
12536         inhibit_horizontal_resize, inhibit_vertical_resize.
12537         (x_figure_window_size): Update external declaration.
12538         * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
12539         calling gtk_window_resize.
12540         (update_frame_tool_bar): Make inhibiting of frame resizing more
12541         discriminative.  Set tool_bar_resized bit.
12542         * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
12543         resizing more discriminative.  Call adjust_frame_size instead of
12544         x_set_window_size.
12545         (Fx_create_frame): Handle x_width and x_height if
12546         set by x_figure_window_size.
12547         * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
12548         subtract 3 from tool bar height.
12549         (x_set_window_size): Add frame_size_history_add call.
12550         (x_new_font): Call adjust_frame_size instead of
12551         x_set_window_size.
12552         * src/w32fns.c (x_change_tool_bar_height): Reset
12553         tool_bar_redisplayed and tool_bar_resized bits when adding tool
12554         bar.  Make inhibiting of frame resizing more discriminative.
12555         (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
12556         (Fx_create_frame): Handle x_width and x_height if set by
12557         x_figure_window_size.  Set size hints before adjusting frame size.
12558         (x_create_tip_frame): Adjust x_figure_window_size call.
12559         * src/w32term.c (x_set_window_size): Add frame_size_history_add
12560         call.
12561         * src/widget.c (set_frame_size): Remove dead code.  Add
12562         frame_size_history_add call.  When frame_resize_pixelwise is t
12563         use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
12564         pixel_width and pixel_height.
12565         (update_various_frame_slots): Remove dead code.
12566         (EmacsFrameResize): Add more information in
12567         frame_size_history_add call.
12568         (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
12569         is not set.
12570         * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
12571         * src/xfns.c (x_set_menu_bar_lines): Change argument name.
12572         (x_change_tool_bar_height): Reset tool_bar_redisplayed and
12573         tool_bar_resized bits when adding tool bar.  Make inhibiting of
12574         frame resizing more discriminative.
12575         (Fx_create_frame): Handle x_width and x_height if set by
12576         x_figure_window_size.  Set size hints before adjusting frame size.
12577         (x_create_tip_frame): Adjust x_figure_window_size call.
12578         * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
12579         (set_frame_menubar): On Lucid never add core-border-width to
12580         avoid that adding XtNinternalBorderWidth adds it again.
12581         (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
12582         * src/xterm.c (x_new_font): In non-toolkit case handle size
12583         change of menu bar.
12584         (x_set_window_size_1): Fix calls to frame_size_history_add.
12585         (x_wm_set_size_hint): Remove dead code.  Set
12586         size_hints.min_width and size_hints.min_height to base_width and
12587         base_height.
12589 2015-10-13  Michael Albinus  <michael.albinus@gmx.de>
12591         * test/automated/file-notify-tests.el (file-notify--test-timeout):
12592         Add docstring.  Increase to 10 seconds for remote
12593         directories.  (Bug#21669)
12595 2015-10-12  Paul Eggert  <eggert@cs.ucla.edu>
12597         Unmacroize ebrowse.c and etags.c a bit
12599         * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant.
12600         (streq, filename_eq, set_flag, has_flag): Now inline functions.
12601         (set_flag): First arg is now an address, not an lvalue.
12602         All callers changed.
12603         (filename_eq, set_flag, has_flag):
12604         Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG.
12605         All callers changed.
12606         * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq):
12607         Now inline functions.  Remove asserts that are unnecessary these
12608         days (and in some cases were too-generous anyway).
12610 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
12612         Use highlight for current items
12614         * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select):
12615         Apply highlight face instead of region face.
12617 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
12619         Search for more cover image names in MPC
12621         * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg
12622         case insensitively
12624 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
12626         Remove or comment out unused variables
12628         * src/w32fns.c (x_set_mouse_color): Comment out variables cursor,
12629         nontext_cursor, mode_cursor, hand_cursor and count.
12630         (x_change_tool_bar_height): Remove variable old_text_height.
12631         (deliver_wm_chars): Remove variable strip_Alt.
12632         (Fw32_shell_execute): Remove variable document_a.
12633         (Fw32_frame_geometry): Remove variable fullboth.
12634         * src/w32term.c (w32_setup_relief_color): Comment out variable
12635         w32_display_info.
12636         (w32_horizontal_scroll_bar_handle_click): Remove variables start, end.
12637         (w32_read_socket): Comment out variables rows, columns.
12638         * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest.
12640 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
12642         * src/w32proc.c (sys_select): Fix bitwise test.
12644 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
12646         Minor typo corrections in doc strings
12648         * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position):
12649         Doc fixes.
12651 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
12653         * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports.
12655 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
12657         Attempt to avoid crashes in plist-member
12659         * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test
12660         and a call to XCDR.  (Bug#21655)
12662 2015-10-12  Mike FABIAN  <mfabian@redhat.com>
12664         * lisp/select.el (gui-get-primary-selection): In
12665         gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
12667 2015-10-12  Tassilo Horn  <tsdh@gnu.org>
12669         Support RTF in doc-view
12671         * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension.
12673 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
12675         * src/w32fns.c (get_wm_chars): Increment counter, not pointer.
12677 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
12679         Replace the usage of an obsolete function in auth-source.el
12681         * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token):
12682         Replace an usage of `epg-context-set-armor' with `setf'.
12684 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
12686         * lisp/gnus/auth-source.el: Use sharp-quoting with functions.
12688 2015-10-11  Jay Belanger  <jay.p.belanger@gmail.com>
12690         Have calc-yank recognize numbers in different bases.
12692         * lisp/calc/calc-yank.el (math-number-regexp): New function.
12693         (calc-yank): Use `math-number-regexp' to recognize numbers.
12695 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
12697         Handle an opaque-move X11 window manager operation more efficiently
12699         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
12700         followed by more ConfigureNotify events for the same window, process
12701         only the last one.
12703 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
12705         Fix cursor setting for tip frame; re-enable cursor generation
12707         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
12708         attributes sent when creating the new X window.  Don't skip setting
12709         the pointerColor parameter.
12711 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
12713         Rewrite x_set_mouse_color to sync less
12715         We can track serial numbers of X requests and correlate error events
12716         with the associated requests.  This way we can identify errors for
12717         specific calls without having to use XSync after every one.
12719         * src/xfns.c (enum mouse_cursor): New type.
12720         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
12721         (mouse_cursor_types): New array listing the Lisp variables and default
12722         cursor appearances for each cursor type.
12723         (x_set_mouse_color_handler): New function; checks error event serial
12724         number against submitted requests.
12725         (x_set_mouse_color): Updated to use the new error handler callback,
12726         and to be more table-driven, to simplify repetitious code.
12728 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
12730         Add x_catch_errors_with_handler
12732         * src/xterm.c (struct x_error_message_stack): Add new fields for a
12733         callback function and associated data pointer.
12734         (x_error_catcher): If the callback function is set, call it after
12735         saving the error message string.
12736         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
12737         accepts a callback function and data pointer.
12738         (x_catch_errors): Now a wrapper function.
12739         * src/xterm.h (x_special_error_handler): New typedef.
12740         (x_catch_errors_with_handler): Declare.
12742 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
12744         Introduce x_uncatch_errors_after_check to reduce XSync calls
12746         Both x_had_errors_p and x_check_errors call XSync, so if they're
12747         immediately followed by x_uncatch_errors, its XSync call will be
12748         redundant, resulting in a wasted round trip to the X server.
12750         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
12751         x_uncatch_errors without the XSync call.
12752         (XTmouse_position, x_wm_supports):
12753         * src/xfns.c (x_set_mouse_color):
12754         * src/xmenu.c (Fx_menu_bar_open_internal):
12755         * src/xselect.c (x_own_selection, x_get_foreign_selection):
12756         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
12757         * src/xterm.h (x_uncatch_errors_after_check): Declare.
12759 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
12761         Document the optional prefix to `calc-yank'
12763         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
12764         prefix to `calc-yank'.
12765         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
12766         the Calc buffer are yanked back unchanged.
12768 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
12770         * lisp/calendar/calendar.el: Display buffer before executing body.
12772         In each use of this macro, the modeline is derived from a window width
12773         calculation, which will be wrong if (display-buffer) splits the window
12774         horizontally.
12776 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12778         Use ‘echo’ safely with ‘\’ or leading ‘-’
12780         POSIX says that ‘echo FOO’ produces implementation-defined output
12781         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
12782         behavior in that case.
12783         * Makefile.in (removenullpaths): Remove.
12784         (epaths-force): Rewrite to avoid the need for ‘echo’.
12785         (install-etc): Be clearer about escaping the shell metacharacters
12786         ‘\’ and ‘$’.
12787         * Makefile.in (install-arch-indep, install-etcdoc):
12788         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
12789         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
12790         * configure.ac, lib-src/rcs2log, make-dist:
12791         * src/Makefile.in (lisp.mk):
12792         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
12793         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
12794         if $foo can contain arbitrary characters.
12795         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
12796         * doc/lispref/two-volume.make (vol1.pdf):
12797         * test/etags/make-src/Makefile (web ftp publish):
12798         Use ‘printf’ rather than ‘echo -e’.
12800 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
12802         Allow numbers with different radixes to be yanked.
12804         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
12805         default base 10.
12807 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12809         Improve CHECK_IMPURE and PURE_P speedup
12811         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
12813 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
12815         Use events instead of chars to keep track of steps.
12817         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
12818         to keep track of steps.
12820 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12822         Fix --enable-gcc-warnings problem with older GCC
12824         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
12825         This is for building with --enable-gcc-warnings with
12826         GCC 4.6 through 5.0.
12828 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
12830         Fix vertical-motion in truncated lines that end in a stretch
12832         * src/indent.c (Fvertical_motion): Expect overshoot when point is
12833         beyond window margin and lines are truncated, even if we have a
12834         stretch at point.  (Bug#21468)
12836 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
12838         Avoid link-time errors due to inline functions
12840         * src/emacs.c: Include puresize.h, to avoid link-time errors in
12841         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
12842         inline functions.
12844 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
12846         * src/data.c (Faset): Fix last change.
12848 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12850         CHECK_IMPURE and PURE_P speedup
12852         * src/intervals.c (create_root_interval):
12853         Do CHECK_IMPURE only for strings; not needed for buffers.
12854         Prefer ! STRINGP to BUFFERP, for a tad more speed.
12855         * src/puresize.h (CHECK_IMPURE, PURE_P):
12856         Now inline functions instead of macros.
12857         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
12858         All callers changed.
12859         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
12860         All callers changed.
12862 2015-10-09  Noah Friedman  <friedman@splode.com>
12864         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
12866 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12868         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
12870         our after-change-function, rather than re-adding it if it was removed.
12872 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12874         * lisp/cedet/ede: Silence some compiler warnings
12876         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
12877         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
12878         (ede-apply-object-keymap, ede-reset-all-buffers)
12879         (ede-auto-add-to-target): Use dolist.
12880         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
12881         Use field names rather than initarg names in `oref'.
12882         (ede-load-project-file): Remove unused var `file'.
12883         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
12884         (ede-set): Remove unused var `a'.
12886         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
12887         (ede-project-autoload): Avoid the old-style "name" argument.
12888         (ede-emacs-find-matching-target): Use field names rather than initarg
12889         names in `oref'.
12891         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
12892         (ede-linux-load, ede-project-autoload): Avoid the old-style
12893         "name" argument.
12894         (ede-linux-find-matching-target): Use field names rather than initarg
12895         names in `oref'.
12897 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12899         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
12901 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12903         * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid
12904         indenting too far after ":-".
12906 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
12908         Update case-table and categories of recently added characters
12910         * lisp/international/characters.el: Update information about Latin
12911         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
12912         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
12913         blocks.  (Byug#21654)
12915 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
12917         * src/frame.c (adjust_frame_size): In minibuffer-only windows
12918         don't count minibuffer height twice.  (Bug#21643)
12920 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
12922         Avoid inflooping in font-lock
12924         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
12925         inhibit-field-text-motion around the call to
12926         line-beginning-position, to avoid inflooping.  (Bug#21615)
12928 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
12930         Refactor duplicated code; ensure default is in completions
12932         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps):
12933         New function.
12934         (reftex-extract-bib-entries): Use it.
12935         (reftex-extract-bib-entries-from-thebibliography): Use it.
12937 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
12939         * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst"
12940         in the example.
12942 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
12944         * lisp/calc/calc.el: Silence byte-compiler warnings.
12945         (calc-scan-for-dels): Use ignore-errors.
12946         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
12947         (calc-read-key-sequence): Remove unused var `prompt2'.
12948         (calc-kill-stack-buffer): Remove unused var `buflist'.
12949         (calc): Remove unused var `oldbuf'.
12950         (calc-refresh): Use inhibit-read-only.
12951         (calc-can-abbrev-vectors): Declare.
12952         (calc-record): Remove unused var `mainbuf'.
12953         (math-sub-bignum): Remove unused var `sum'.
12954         (math-svo-c, math-svo-wid, math-svo-off): Declare.
12956 2015-10-08  Daiki Ueno  <ueno@gnu.org>
12958         Use g_clear_error instead of g_error_free
12960         * src/image.c: Define g_clear_error instead of g_error_free.
12961         (init_svg_functions): Resolve symbol g_clear_error instead of
12962         g_error_free.
12963         (svg_load_image): Use g_clear_error instead of g_error_free, to
12964         suppress GLib warnings when ERR is not set.  See bug#21641.
12966 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12968         * src/image.c (image_size_error): Simplify.
12970 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12972         Fix problems caught with --enable-gcc-warnings
12974         * src/image.c (lookup_rgb_color):
12975         * src/xfns.c (x_defined_color):
12976         * src/xterm.c (x_parse_color):
12977         Remove unused locals.
12979 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
12981         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
12983 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
12985         Format initial input uniformly
12987         * lisp/calc/calc.el (calc-digit-start-entry): New function.
12988         * lisp/calc/calc.el (calcDigit-start):
12989         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
12990         Use `calc-digit-start-entry' to format input.
12992 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
12994         Disable non-working pointerColor setting for X tooltip frame
12996         It generates a bunch of server traffic, but there's some bug wherein
12997         the new mouse cursor settings don't seem to get used.  In most
12998         situations the cursor isn't likely to be seen anyway, so it's not
12999         urgent to fix.
13001         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
13003 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
13005         Reduce some unnecessary X calls
13007         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
13008         call.  If border width is wanted, get it from the XGetGeometry call
13009         instead of calling XGetWindowAttributes on the same window.  Skip some
13010         X calls if we've already detected an error from the X server.
13011         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
13012         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
13014 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
13016         Reduce color allocation/query traffic in the TrueColor case
13018         When working with an X visual with TrueColor class, pixel values can
13019         be generated from the RGB values according to mask value provided by
13020         the server on connection.  Some of the image-handling code was already
13021         doing this.
13023         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
13024         lookup_rgb_color.
13025         (x_mutable_colormap): New function.
13026         * src/image.c (lookup_rgb_color): Move pixel composition code to
13027         x_make_truecolor_pixel.
13028         (x_kill_gs_process): Call x_mutable_colormap.
13029         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
13030         x_mutable_colormap.
13031         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
13032         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
13033         pixel value into RGB values directly, and don't send a request to the
13034         server.
13035         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
13036         value with x_make_truecolor_pixel.
13037         (x_copy_color): For an immutable color map, just return the provided
13038         pixel value.
13040 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
13042         Cache XParseColor results in the X display info structure
13044         With repeated lookups of foreground and background colors for multiple
13045         faces per frame, we issue a lot of redundant color name lookups to the
13046         X server, waiting every time for the response.  On a remote network
13047         with, say, 30ms round-trip time, this can add nearly a full second to
13048         creation of a new frame.
13050         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
13051         * src/image.c (get_spec_bg_or_alpha_as_argb):
13052         (xpm_init_color_cache, xpm_lookup_color):
13053         * src/xfns.c (x_defined_color):
13054         * src/xterm.c (x_parse_color): New function; caches color names not
13055         starting with "#" in the display-info structure.
13056         (x_delete_display): Delete the cache content.
13057         * src/xterm.h (struct color_name_cache_entry): New type.
13058         (x_parse_color): Declare.
13059         (struct x_display_info): Add a new field for the cache.
13061 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
13063         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local.
13065 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
13067         Fix segfault in image_size_error
13069         * src/image.c (image_size_error): Pass a Lisp string to
13070         image_error, not a C string.  (Bug#21641)
13072 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
13074         Highlight CSS variable definitions
13076         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
13077         CSS variables.  (Bug#21638)
13079 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
13081         * test/automated/tabulated-list-test.el: New file.
13082         Test bug#21639 and some basic functionality.
13084 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
13086         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
13087         Check if column can be sorted before trying.  (Bug#21639)
13089 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
13091         Add test for `self-insert-command' (bug#21633)
13093         * test/automated/cmds-tests.el: New file.
13095 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
13097         * src/window.c (resize_frame_windows): Don't set root window's
13098         top position when resizing horizontally.
13100 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
13102         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
13103         Document more possible values.
13105 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
13107         * lisp/textmodes/tex-mode.el: Use lexical-binding.
13109 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
13111         * lisp/indent.el (indent--default-inside-comment): New function.
13112         (indent-for-tab-command): Use it for `noindent' indentation.
13114 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
13116         Fix bug in GC_CHECK_MARKED_OBJECTS check
13118         * src/alloc.c (mark_object): Fix bug in checking code.
13119         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
13120         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
13121         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
13122         bucket.  The bug did not affect behavior either in the normal case
13123         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
13124         not have an internal error that a properly-written
13125         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
13127 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
13129         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
13130         Add prettified version for \\Bbb{Q}.
13132 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
13134         * test/automated/package-test.el (package-test-install-single):
13135         Add a test for bug#21625.
13137 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
13139         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
13140           not a package-desc object.  Also clarify documentation.  (Bug#21625)
13142 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
13144         Fix display of characters adjacent to ZWJ and ZWNJ
13146         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
13147         characters the same as directional formatting controls.
13148         (bidi_level_of_next_char): Include all Bn characters in rule L1,
13149         as mandated by the UBA.
13151 2015-10-06  Andreas Schwab  <schwab@suse.de>
13153         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
13154         number.  (Bug#21633)
13156 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
13158         * doc/lispref/objects.texi (Window Type): Add a cross reference.
13160         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
13162 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
13164         * lisp/language/misc-lang.el (composition-function-table):
13165         Fix entries for Arabic and Syriac.
13167 2015-10-05  Damien Cassou  <damien@cassou.me>
13169         Add first unit tests for auth-source.el
13171         * test/automated/auth-source-tests.el: New file.
13173 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
13175         Remove redundant redisplay code
13177         * src/xdisp.c (redisplay_internal, try_cursor_movement)
13178         (try_window_reusing_current_matrix, try_window_id): Remove
13179         redundant restrictions on redisplay optimizations based on the
13180         frame's 'redisplay' flag.  See
13181         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
13182         discussions.
13184 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
13186         * src/xdisp.c (windows_or_buffers_changed): Improve docstring.
13188 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
13190         Update tutorials/TUTORIAL.cn
13192         * etc/tutorials/TUTORIAL.cn: Improve translation.
13194 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
13196         * src/macfont.m (macfont_encode_char, syms_of_macfont):
13197         Remove unused vars.
13199 2015-10-04  Stefan Merten  <stefan@merten-home.de>
13201         Pull in version numbers from rst.el upstream release.
13203         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
13204         (rst-svn-timestamp, rst-official-version)
13205         (rst-official-cvs-rev, rst-package-emacs-version-alist):
13206         Update version numbers.
13208 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
13210         * test/automated/coding-tests.el: New file.
13212 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
13214         Improve XEmacs compatibility of Tramp
13216         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
13217         Declare if it doesn't exist.
13218         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
13219         (redisplay): Make it an alias if it doesn't exist.
13221         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
13222         `file-remote-p' (due to XEmacs compatibility).
13224         * lisp/net/trampver.el (locate-dominating-file)
13225         (tramp-compat-replace-regexp-in-string): Autoload.
13226         (tramp-repository-get-version): Do not dupe byte-compiler.
13228 2015-09-02  K. Handa  <handa@gnu.org>
13230         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
13232         * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
13233         Adjusted for the change of type of elements in the array
13234         MFLTGlyphString.glyphs.
13236 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
13237             Michael Heerdegen  <michael_heerdegen@web.de>
13239         shr: fix too long lines in rendered buffers (Bug#21012)
13241         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
13242         Correct calculation of available width.
13243         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
13244         is nil.
13246 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
13248         Restore blank line before next section, erroneously erased
13249         in my previous commit
13251         * etc/compilation.txt (symbol ant): Add an additional trailing blank
13252         line to this section, so that there are two of them immediately before
13253         the next section.
13255 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
13257         Support MSW filename style for ant compilation error regexp
13259         * etc/compilation.txt (symbol ant):
13260         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
13261         Support MSW filename style.
13263 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
13265         * nt/INSTALL: Minor spelling and quote fixes.
13267         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
13269 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
13271         Maintain ordering of JSON object keys by default
13273         * lisp/json.el (json-object-type): Mention order handling in doc-string.
13274         (json--plist-reverse): New utility function.
13275         (json-read-object): Maintain ordering for alists and plists.
13276         (json-pretty-print): Ensure that ordering is maintained.
13278         * test/automated/json-tests.el (test-json-plist-reverse): New test for
13279         `json--plist-reverse'.
13280         (json-read-simple-alist): Update test to accommodate for changes in
13281         `json-read-object'.
13283         * etc/NEWS: Document the new behavior of the pretty printing functions.
13285 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
13287         * src/coding.c (complement_process_encoding_system): Revert last change.
13289 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
13291         * admin/MAINTAINERS: Add entry for Ulf Jasper.
13293 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
13295         Doc fix for `defmacro'
13297         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
13299 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
13301         More validatation of coding systems
13303         * src/fileio.c (Finsert_file_contents): Remove redundant
13304         coding-system check.
13305         (choose_write_coding_system): Likewise.
13306         * src/coding.c (complement_process_encoding_system): Check argument
13307         for valid coding system.
13309 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
13311         Avoid crashes in coding_inherit_eol_type
13313         * src/coding.c (coding_inherit_eol_type): Check the validity of
13314         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
13315         (Bug#21602)
13317 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
13319         More validatation of coding system in 'write-region'
13321         * src/coding.c (choose_write_coding_system): More validation of
13322         coding-system from various sources.  Suggested by Andreas Schwab
13323         <schwab@linux-m68k.org>.  (Bug#21602)
13325 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
13327         Avoid crashes due to invalid coding-system
13329         * src/fileio.c (choose_write_coding_system)
13330         (Finsert_file_contents): Check validity of coding-system-for-write
13331         and coding-system-for-read bound by the caller.  (Bug#21602)
13333 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
13335         Adapt to new prettify-symbols-unprettify-at-point default
13337         * etc/NEWS: Mention that unprettication of symbol at point is off
13338         by default.
13340 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
13342         Revert my two recent process.c changes
13344         Revert "Improve last commit to process.c" and "Remove callback-handled
13345         channels from Available set" because they did not fix bug#21313.
13347         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
13348         27f871907cc24f33a7d12ac3a4ab71a88f0bc554.
13350 2015-10-02  Markus Triska  <triska@metalevel.at>
13352         * lisp/progmodes/prolog.el: Update and extend operator table.
13353         (prolog-smie-grammar): Add multifile, public etc.
13355 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
13357         Allow autogen even when Git is not installed
13359         * autogen.sh: Test ‘git status’ before trying to use Git.
13361 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
13363         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes.
13364         Adjust lto/lfrom when we have uncommitted changes.
13366 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
13368         Fix problems found by clang 3.5.0
13370         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
13371         * src/font.c (font_parse_family_registry):
13372         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
13374 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
13376         * nt/INSTALL: Update instructions for running autogen.sh.
13378         * nt/INSTALL: Point to ezwinports for libXpm binaries.
13380 2015-10-02  Daniel Colascione  <dancol@dancol.org>
13382         Fix winner in cl-lib not loaded case
13384         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
13385         without requiring CL
13387 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
13389         Fix a few problems with directed quotes
13391         This is in response to a problem report by Kaushal Modi in:
13392         http://bugs.gnu.org/21588#25
13393         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13394         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
13395         * lisp/info-xref.el (info-xref-check-all-custom):
13396         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
13397         Prefer directed to undirected single quotes in diagnostics.
13399 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
13401         Revert "Attempt to fix slow redisplay caused by last changes"
13403         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
13404         (try_cursor_movement): Don't relax requirements for redisplay
13405         optimizations for the selected frame.  (Bug#21597)
13407         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
13409 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
13411         Fix slow redisplay when daemon frame exists
13413         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
13414         when looking for frames that need to be redisplayed.  (Bug#21597)
13416 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
13418         Attempt to fix slow redisplay caused by last changes
13420         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
13421         (try_cursor_movement): Relax requirements for redisplay
13422         optimizations for the selected frame.  (Bug#21597)
13424 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
13426         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
13427         Improve doc string.
13429 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
13431         * lisp/minibuffer.el (minibuffer-completion-help):
13432         Set default base-size, in case completion table does not set it.
13434 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
13436         Fix GUD display of GDB output with non-ASCII text
13438         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
13439         (gdb-mi-decode): New function.
13440         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
13441         decode octal escapes in GDB output.  (Bug#21572)
13443 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
13445         * nt/INSTALL: Document where to find XPM support files.
13447 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
13449         Un- and re-prettification are not exclusive
13451         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
13452         Re-apply prettification to previous symbol also when unprettifying
13453         next one.
13455 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
13457         Don't unprettify symbol at point by default
13459         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
13460         Default to disabled (nil).
13462 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
13464         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
13465         Support unprettifying when point is after a symbol.
13467         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'.
13469 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
13471         Avoid assertion violations in push_prefix_prop
13473         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
13474         a line that has a line-prefix defined starts with an image.  (Bug#21428)
13476 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
13478         Disable some display optimizations when frames need redisplay
13480         These optimizations were previously disabled by the
13481         windows_or_buffers_changed flag, which now is not set
13482         when only some frames need to be redrawn.
13483         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
13484         'redisplay' flag is set.
13485         (try_window_reusing_current_matrix, try_window_id)
13486         (try_cursor_movement): Disable these optimizations when the
13487         frame's 'redisplay' flag is set.
13489 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
13491         Don't modify buffer by unprettification
13493         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
13494         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
13495         modify buffer when setting/removing custom prettify-symbols-start/end
13496         text properties.  Add them to font-lock-extra-managed-props, too.
13498 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
13500         Try to avoid redisplaying all frames when creating a new one
13502         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
13503         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
13504         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
13505         * src/frame.c (x_set_screen_gamma): Set the specific frame's
13506         `redisplay' bit rather than windows_or_buffers_changed.
13508         * src/window.c (apply_window_adjustment): Remove redundant setting of
13509         windows_or_buffers_changed.
13511         * src/xdisp.c (redisplay_internal): Set the specific frame's
13512         `redisplay' bit rather than update_mode_lines in response to
13513         cursor_type_changed.
13514         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
13515         (AINC): Adjust accordingly.
13517 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
13519         Implement unprettification of symbol at point
13521         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
13522         symbol at point.
13523         (prettify-symbols--current-symbol-bounds): New variable.
13524         (prettify-symbols--post-command-hook): New function.
13525         (prettify-symbols-unprettify-at-point): New defcustom.
13526         (prettify-symbols-mode): Use it.
13527         (prettify-symbols--compose-symbol): Use them.
13529 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
13531         * src/macfont.m (mac_font_descriptor_supports_languages):
13532         Regard "zh" as synonym of "zh-Hans".
13534 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
13536         Work around crash when displaying etc/HELLO on OS X 10.11
13538         * src/macfont.m (mac_font_get_weight)
13539         (mac_font_descriptor_get_adjusted_weight): New functions.
13540         (macfont_store_descriptor_attributes): Adjust weight.
13542 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
13544         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
13546 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
13548         * lisp/arc-mode.el (archive-rar-summarize): Better alignment
13549         of the columns.
13551 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
13553         Use unar and lsar to handle RAR archives in arc-mode
13555         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
13556         on unar and lsar instead of unrar-free for RAR archives (bug#17663).
13558 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
13560         Clarify :create in auth-source's docs
13562         * lisp/gnus/auth-source.el (auth-source-search):
13563         Clarify :create's meaning.
13565 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
13567         Avoid empty -path arguments in rgrep
13569         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
13570         the list produced according to grep-find-ignored-directories,
13571         before passing it to Find/Grep invocation.  (Bug#21548)
13573 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
13575         Clarify documentation of pos-visible-in-window-p
13577         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
13578         t for POS.  See
13579         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
13580         for the original report.
13582         * doc/lispref/windows.texi (Window Start and End): Clarify the
13583         meaning of t for the POSITION argument of pos-visible-in-window-p.
13585 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
13587         * lisp/progmodes/prolog.el: Fix various indentation cases.
13588         (prolog-operator-chars): New const (add \\).
13589         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
13590         (prolog-smie-rules): Add rules according to bug#21526.
13592 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
13594         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent.
13595         (sh-indent-after-continuation): Add new value `always' (bug#17620)
13596         (sh-smie-sh-rules): Remove old handling of continued lines.
13597         (sh-smie--indent-continuation): New function.
13598         (sh-set-shell): Use it.
13600 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
13602         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun.
13603         Remove redundant :group keyword args.
13604         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
13605         Remove variables.
13606         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
13607         turn them into compile-time variables.
13608         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
13609         Add rules for break, continue, return, global, and persistent.
13610         Refine the rule for "until".
13611         (octave-smie--funcall-p, octave-smie--end-index-p)
13612         (octave-smie--in-parens-p): New functions.
13613         (octave-smie-backward-token, octave-smie-forward-token): Use them to
13614         distinguish the "enumeration" function and the "end" index from
13615         their corresponding keywords.
13616         (octave--block-offset-keywords): New constant.
13617         (octave-smie-rules): Use it.  Adjust rules for new global/persistent
13618         parsing.
13619         (octave-reserved-words): Redefine using octave-smie-grammar.
13620         (octave-font-lock-keywords): Use octave-smie--funcall-p and
13621         octave-smie--end-index-p.
13623 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
13625         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*.
13627 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
13629         * nt/INSTALL: Remove references to GTK site.
13630         That site no longer offers Windows downloads.
13632 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
13634         * nt/INSTALL: Add instructions for installing Git.
13636 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
13638         * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to
13639         use colors.  Suggested by Eli Zaretskii.
13641 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
13643         * lisp/net/shr.el (shr-colorize-region): Don't do it on a system
13644         not supporting 256 above colors (bug#21557).
13646 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
13648         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
13650         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
13652 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
13654         Add documentation for seq.el
13656         * doc/lispref/sequences.texi: Add documentation regarding extending
13657         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
13658         seq-do and seq-map.
13660 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
13662         Better documentation for seq-some
13664         * doc/lispref/sequences.texi:
13665         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
13666         guarantee that the returned value is the first non-nil value that
13667         resulted from applying the predicate.
13669 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
13671         * lisp/arc-mode.el: Sharp-quote function arguments.
13673 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
13675         Avoid redisplay error in ediff-regions-wordwise
13677         * lisp/vc/ediff-util.el
13678         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
13679         set before activating it.  (Bug#21567)
13681 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
13683         Another attempt to fix crashes due to prematurely freed faces
13685         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
13686         faces for as long as we might have desired matrices that reference
13687         those faces.  (Bug#21428)
13689 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
13691         Add auctex development list email address
13693 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
13695         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
13697 2015-09-28  Arash Esbati  <esbati@gmx.de>  (tiny change)
13699         Improve wrapfig package support and caption parsing
13701         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
13702         Correct description string and add wraptable environment.
13703         (reftex-default-context-regexps): Improve caption regexp.
13705 2015-09-28  Anders Lindgren  <andlind@gmail.com>
13707         Respect value of frame_resize_pixelwise when handling fullscreen state
13709         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
13710         setting size increments.
13712 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
13714         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
13716 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
13718         Add prettify-symbols-alist for js-mode
13720         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
13721         (js-mode): Use it.
13723 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
13725         * nt/subdirs.el: File deleted (no longer used).
13727 2015-09-26  Alan Mackenzie  <acm@muc.de>
13729         Fix follow-scroll-up/down, making them replacements for scroll-up/down
13731         1. Allow point to move between follow windows in scroll operations.
13732         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
13733         when EOB was isolated in the last follow window.
13735         * lisp/follow.el (follow-fixed-window): New variable.
13736         (follow-get-scrolled-point): New function.
13737         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
13738         Reformulate the code.  Put `scroll-command' properties on the functions.
13739         Correct minor errors in ...-down's doc string and code.
13740         (follow-calc-win-end): Amend incomplete doc string.  Use
13741         `pos-visible-in-window-p' to check whether EOB is in the window.
13742         (follow-estimate-first-window-start): Correct an off-by-1 error.
13743         (follow-adjust-window): Add handling for explicit scrolling operations.
13745 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
13747         * admin/MAINTAINERS: Add self, plus list some more files
13748         sans maintaners.
13750 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
13752         New DWIM commands for changing letter-case
13754         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
13755         New functions.  (Bug#21501)
13757 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
13759         * etc/PROBLEMS: Document problems with pasting on MS-Windows.
13761 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
13763         Make face realization be more frame-specific
13765         * src/frame.h (struct f): New flag face_change.
13766         * src/xfaces.c (Finternal_make_lisp_face)
13767         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
13768         (update_face_from_frame_parameter): Set the face_change flag only
13769         for the frame whose faces are affected.
13770         * src/xdisp.c (init_iterator): If a frame's face_change flag is
13771         set, free faces only on that frame.
13772         (redisplay_internal): Disable "display optimization 1" if the
13773         frame's face_change flag is set.
13774         (redisplay_window): Don't allow skipping a window's redisplay if
13775         its frame's face_change flag is set.
13776         * src/frame.c (x_set_screen_gamma): Instead of calling
13777         Fclear_face_cache, call clear_face_cache and set
13778         windows_or_buffers_changed to a non-zero value.  This avoids
13779         setting the global face_change flag that triggers face realization
13780         on all frames and thorough redisplay of all of them.
13782         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
13783         clear face cache if the selected frame is a GUI frame.
13785 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
13787         Remove font-latex specific check
13789         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
13790         Use syntax-ppss data to identify verbatim contents.
13792 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
13794         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
13795         Fix some false negatives.
13797 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
13799         Reorder Windows version in Emacs manifests
13801         * nt/emacs-x64.manifest:
13802         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
13803         highest.
13805 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
13807         Update Emacs manifest files for Windows 10
13809         * nt/emacs-x86.manifest:
13810         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
13812 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
13814         Avoid non-ASCII decoding errors in C src files
13816         * src/nsterm.m:
13817         * src/lisp.h:
13818         * src/editfns.c:
13819         * src/doprnt.c: Add 'coding' cookies -- these files include
13820         Unicode characters and should be decoded as UTF-8.
13822 2015-09-25  Alan Mackenzie  <acm@muc.de>
13824         Resurrect edebug-set-initial-mode, repurposing it to set the global mode
13826         * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
13827         amend to match current modes and functions.
13828         (edebug-set-initial-mode): Uncomment and change from setting a defun's
13829         `edebug-initial-mode''s property to setting the variable
13830         `edebug-initial-mode'.
13831         (top level): Create new binding C-x C-a C-m for
13832         `edebug-set-initial-mode'.
13834         * doc/lispref/edebug.texi (Edebug Execution Modes): Document
13835         `edebug-set-initial-mode' and its new key binding.
13836         (Edebug Options): Mention the new command in the pertinent place.
13838         * etc/NEWS: Write entry for this change.
13840 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
13842         Avoid non-ASCII decoding errors in Texinfo files
13844         * doc/misc/tramp.texi:
13845         * doc/lispref/strings.texi:
13846         * doc/lispref/positions.texi:
13847         * doc/lispref/help.texi:
13848         * doc/lispref/functions.texi:
13849         * doc/lispintro/emacs-lisp-intro.texi:
13850         * doc/emacs/text.texi:
13851         * doc/emacs/modes.texi:
13852         * doc/emacs/mini.texi:
13853         * doc/emacs/display.texi:
13854         * doc/emacs/custom.texi:
13855         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
13856         Unicode characters and should be decoded as UTF-8.
13857         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
13858         apostrophe unnecessarily.
13860 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
13862         Merge from gnulib
13864         This incorporates:
13865         2015-09-25 c-ctype: rewrite to use inline functions
13866         2015-09-24 maint: add coding cookies to non-ASCII sources
13867         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
13868         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
13869         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
13870         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
13871         * lib/set-permissions.c:
13872         Copy from gnulib.
13874 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
13876         Update publicsuffix.txt from upstream
13878         * etc/publicsuffix.txt: Update from
13879         https://publicsuffix.org/list/effective_tld_names.dat
13880         dated 2015-09-24 17:29:21 UTC.
13882 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
13884         Prevent timers from messing up TTY menus
13886         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
13887         the TTY menu is open.  (Bug#21530)
13889 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
13891         No need to mention K&R C in c-mode intro
13893 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
13895         Fix recent bootstrap problems
13897         * src/syntax.c (parse_sexp_propertize): Fix last fix.
13898         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
13899         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
13901 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
13903         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
13905 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
13907         Properly quote nested xml comments (Bug#6267) (Bug#20001)
13909         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function.
13910         (nxml-mode): Set comment-quote-nested-function.
13912 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
13914         Allow major-modes full control over quoting nested comments
13916         * lisp/newcomment.el (comment-quote-nested-function): New variable.
13917         (comment-quote-nested-default): New function.
13918         (comment-quote-nested): Use `comment-quote-nested-function'.
13920 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13922         Prefer CALLN in a few more places
13924         * src/macfont.m (macfont_set_family_cache):
13925         * src/nsterm.m (append2):
13926         * src/xterm.c (x_cr_export_frames):
13927         Prefer CALLN to allocating the arg arrays by hand.
13929 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
13931         Adapt file-notify-test02-events test case
13933         * test/automated/file-notify-tests.el (file-notify-test02-events):
13934         Create a new watch for every test.
13936 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
13938         Continue gfilenotify.c implementation of missing parts
13940         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
13941         `gfile-add-watch' call.
13942         (file-notify-rm-watch): Modify `file-notify-descriptors' only
13943         after calling the low level functions.
13945         * src/gfilenotify.c (dir_monitor_callback): Check, whether
13946         event_type is expected.
13947         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
13948         (Fgfile_rm_watch): Fix typo.
13949         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
13951 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13953         * src/syntax.c (parse_sexp_propertize): Handle spurious
13954         e_property_truncated flag.
13955         (update_syntax_table_forward): Remove invalid assertion.
13957 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
13959         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
13960         space display spec on text-mode terminals, by calling
13961         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the
13962         HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the
13963         test for a GUI frame.
13965 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
13967         Move let-when-compile to lisp-mode.el
13969         This fixes the bootstrapping problem of `let-when-compile' using
13970         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
13972 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13974         * lisp/url/url-http.el (url-http-parse-headers): Do not
13975         automatically include Authorization header in redirect.
13976         (Bug#21350)
13978 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
13980         Clarify documentation of ':relative-width'
13982         * doc/lispref/display.texi (Specified Space): Document that
13983         ':relative-width' is only supported on GUI frames.
13985 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
13987         Fix 'current-column' in presence of :relative-width
13989         * src/indent.c (check_display_width): Support ':relative-width'
13990         in a display spec that specifies a stretch glyph.  (Bug#21533)
13992 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
13994         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
13996         ... to conform better to CONTRIBUTE guidelines.
13998 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
14000         * lisp/progmodes/prolog.el: Fix indentation of empty line
14002         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
14003         `empty-line-token' element.
14004         (smie-indent-empty-line): New function.
14005         (smie-indent-functions): Add it.
14007         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro
14008         behavior and use the new `empty-line-token' element (bug#21526).
14009         (prolog-mode-variables): Fix comment-start-skip setting to match
14010         comment-start.
14012         * test/indent/prolog.prolog: Add nested indentation tests.
14014         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
14015         comment-start-skip not to misuse submatch 1.
14017 2015-09-22  Alan Mackenzie  <acm@muc.de>
14019         Make description of `edebug-initial-mode' user friendly
14021         Fixes bug#21365.
14023         * doc/lispref/edebug.texi (Edebug Execution Modes): Change the
14024         description of `edebug-initial-mode' from that of its implementation
14025         to that of its visual effect and use.  Move the paragraph higher up.
14027 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
14029         lisp/progmodes/gud.el (gud-format-command): Fix last commit
14031         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
14032         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
14034 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
14036         Improve last commit to process.c
14038 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
14040         Implement gfile-valid-p
14042         * lisp/filenotify.el (file-notify-callback): Fix typo.
14043         (gfile-valid-p): Remove defalias.
14045         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
14046         the file or directory to be watched is deleted.
14047         (Fgfile_add_watch): Make watch_object a triple.
14048         (Fgfile_rm_watch): Check, whether watch is cancelled already.
14049         (Fgfile_valid_p): New defun.
14050         (syms_of_gfilenotify): Declare Sgfile_valid_p.
14052 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
14054         Remove callback-handled channels from Available set
14056         * src/process.c (wait_reading_process_output): Remove channel from
14057         Available set if it is handled by a callback, e.g., dbus or
14058         inotify (bug#21313).
14060 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
14062         Use lunate epsilon for TeX \epsilon
14064         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
14065         Add \varepsilon using GREEK SMALL LETTER EPSILON, and change
14066         \epsilon to use GREEK LUNATE EPSILON SYMBOL
14068 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
14070         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
14072         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
14073         rather than outermost paren (bug#21526).
14075 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
14077         Improve git diff hunk headers for .el, .texi
14079         Problem reported by Alan Mackenzie in:
14080         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
14081         * .gitattributes (*.el, *.texi): New patterns.
14082         * autogen.sh: Configure diff.elisp.xfuncname and
14083         diff.texinfo.xfuncname if using Git.
14085 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
14087         Don't rely on defaults in decoding UTF-8 encoded Lisp files
14089         * lisp/replace.el:
14090         * lisp/textmodes/rst.el:
14091         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
14093 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
14095         Clarify or replace a few \u escapes
14097         * doc/lispref/nonascii.texi (Character Properties)
14098         More-detailed commentary for \u escapes.
14099         * lisp/progmodes/python.el (python--prettify-symbols-alist):
14100         * lisp/replace.el (query-replace-from-to-separator):
14101         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
14102         (rst-mode-syntax-table):
14103         * lisp/whitespace.el (whitespace-display-mappings):
14104         Prefer actual character to \u escape when this makes the code
14105         easier to follow in the usual case where Unicode chars can be
14106         displayed.
14108 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
14110         Pacify GCC -Wmaybe-uninitialized in xdisp.c
14112         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
14113         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
14114         charpos.  The loop should always execute at least once anyway.
14116 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
14118         Signal error on invalid regexp
14120         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
14121         Signal an error when the user tries searching with a regexp
14122         matching the empty string.
14124 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
14126         Another fix of file-notify-tests for w32notify
14128         * test/automated/file-notify-tests.el (file-notify-test02-events):
14129         Further adaptation for w32notify: reduce the number of expected
14130         'changed' events.  (Bug#21435)
14132 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
14134         Adapt tests and manual for w32notify
14136         * doc/lispref/os.texi (File Notifications): w32notify does not
14137         send `attribute-changed' events.
14139         * test/automated/file-notify-tests.el (file-notify--test-with-events):
14140         Simplify parameters.  Adapt all callees.
14141         (file-notify-test02-events): w32notify does not send
14142         `attribute-changed' events.
14143         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
14144         Do not skip in case of w32notify.  Simply ignore this part of the test.
14146 2015-09-21  Dima Kogan  <dima@secretsauce.net>
14148         Fix setting breakpoints when remote-debugging
14150         * lisp/progmodes/gud.el (gud-format-command): Send localized file
14151         names to the debugger running on the remote.  (Bug#13304)
14153 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
14155         Better docstring and parameter name for seq-find
14157         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
14158         the parameter `sentinel' to `default'.
14160         * doc/lispref/sequences.texi (Sequence Functions): Update the
14161           documentation for `seq-find' accordingly.
14163 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
14165         Avoid infinite recursion while displaying box face
14167         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
14168         the previous string/buffer character position under bidi
14169         iteration.  (Bug#21428)
14171 2015-09-21  Anders Lindgren  <andlind@gmail.com>
14173         Keep upper edge unchanged when changing size of NS frame
14175         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
14176         (Bug#21415).
14178 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
14180         * lisp/progmodes/prolog.el: Improve handling of if/then/else.
14181         (prolog-smie-rules): Accommodate standard if/then/else special
14182         indentation.
14183         (prolog-mode): Add . to electric-indent-chars.
14184         (prolog-electric--if-then-else): Re-indent the line before adding space
14185         after the new char (bug#21526).
14187 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
14189         Add prettify symbols to python-mode
14191         * lisp/progmodes/python.el (python-prettify-symbols-alist):
14192         New variable.
14193         (python-mode): Use it
14195 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
14197         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete.
14199 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
14201         (compilation-error-regexp-alist-alist): Tone down guile-file
14203         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
14204         Make guile-file a bit less enthusiastic (bug#21496).
14206 2015-09-20  Drew Csillag  <drew@thecsillags.com>
14208         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
14209         Fix m4_* highlighting.
14211         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
14212         of commands when they have a "m4_" prefix.
14214 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
14216         '.' -> `.' in doc string
14218         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
14219         individual chars with grave quotes instead of straight quotes, as
14220         this works better when they are translated to curved quotes.
14222 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
14224         Improve file notifications, especially for Tramp
14226         * doc/lispref/files.texi (Magic File Names):
14227         Mention `file-notify-valid-p'.
14229         * doc/lispref/os.texi (File Notifications):
14230         Describe `file-notify-valid-p'.
14232         * etc/NEWS: Add `file-notify-valid-p'.
14234         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
14235         Improve implementation.
14236         (tramp-gvfs-monitor-file-process-filter): Rename from
14237         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
14238         process if appropriate.
14240         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
14241         Improve implementation.
14242         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
14243         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
14244         if appropriate.
14245         (tramp-sh-inotifywait-process-filter): Rename from
14246         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
14247         appropriate.
14249         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
14250         Use `delete-process'.
14251         (tramp-handle-file-notify-valid-p): Check also, that file or
14252         directory to be watched still exists.
14254         * test/automated/file-notify-tests.el (file-notify--test-timeout):
14255         New defun.  Use it at all places a timeout is needed.
14256         (file-notify--test-cleanup): Delete directories recursively.
14257         Cleanup also Tramp connections.
14258         (file-notify-test02-events): Add tests for `attribute-change'.
14259         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
14260         Add tests for `file-notify-rm-watch'.
14262 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
14264         Use %s to format strings instead of splicing them
14266         If FOO might contain quotes that are part of a file or variable
14267         name, the quotes should not be translated when showing FOO’s name
14268         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
14269         is not quite right, as it would translate FOO’s quotes.
14270         Change it to (message "%s: bar" FOO) instead.
14271         * lisp/allout.el (allout-process-exposed):
14272         * lisp/calc/calc-ext.el (calc-do-prefix-help):
14273         * lisp/calc/calc-store.el (calc-store-into):
14274         * lisp/calendar/todo-mode.el (todo-category-completions):
14275         * lisp/cedet/semantic/complete.el (semantic-completion-message):
14276         * lisp/org/ob-latex.el (convert-pdf):
14277         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
14278         * lisp/org/ox-latex.el (org-latex-compile):
14279         * lisp/org/ox-man.el (org-man-compile):
14280         * lisp/org/ox-odt.el (org-odt--export-wrap):
14281         * lisp/org/ox-texinfo.el (org-texinfo-compile):
14282         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
14283         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
14284         (verilog-signals-combine-bus, verilog-read-defines)
14285         (verilog-getopt-file, verilog-expand-dirnames)
14286         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
14287         * lisp/term/ns-win.el (ns-spi-service-call):
14288         Use %s to avoid translating quotes of file names etc. in diagnostics.
14290 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
14292         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
14293         (js-mode): Don't set syntax-begin-function.
14295 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
14297         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
14298         syntax-begin-function is a symbol.
14300 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
14302         Improve documentation of 'run-at-time'
14303         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
14304         In particular, don't refer to 'diary-entry-time', because it is
14305         unavailable until diary-lib is loaded.  Also, refer to
14306         'timer-duration-words', not 'timer-duration', as the latter's doc
14307         string says nothing about the accepted strings.
14309 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
14311         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
14313 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
14315         Repair pdbtrack remote file tracking
14316         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
14317         Rectify pdbtrack so it follows transitions from one remote source
14318         file to the next.
14320 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
14322         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting.
14324 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
14326         Adapt vc-src to the old-new vc-checkin API
14327         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
14328         additional optional parameter.
14330 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
14332         Add overflow module to CSS property list
14333         * lisp/textmodes/css-mode.el (css-property-ids): Add properties
14334         from CSS Overflow Module Level 3.
14336 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
14338         Fix documentation of "C-u C-x v v"
14339         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
14340         documentation of "C-u C-x v v" match what the code does.
14342         Resurrect the ability to specify a revision in vc-next-action
14343         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
14344         * lisp/vc/vc-dav.el (vc-dav-checkin):
14345         * lisp/vc/vc-git.el (vc-git-checkin):
14346         * lisp/vc/vc-hg.el (vc-hg-checkin):
14347         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
14348         an additional optional argument, the revision to checkin.
14349         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
14350         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
14351         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
14352         a revision to checkin.
14353         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
14354         revision when checking in files.
14355         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
14356         for the details.
14358 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
14360         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
14361         (verilog-decls-princ, verilog-modport-princ)
14362         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
14364 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
14366         Fix the routine for help on Calc's prefixes
14367         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
14368         (calc-do-prefix-help): Use `read-char' to determine the next Calc
14369         command.
14371 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
14373         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove.
14374         (font-lock-fontify-block): Don't let-bind it.
14375         (font-lock-compile-keywords): Don't use it.
14376         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
14377         start one slot earlier, instead.
14378         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
14379         Don't declare.
14380         (syntax-ppss): Don't use it either.
14381         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
14382         from docstring.
14383         * doc/emacs/display.texi (Font Lock): Don't mention
14384         font-lock-beginning-of-syntax-function.
14385         * doc/lispref/modes.texi (Font Lock Basics): Update description of
14386         font-lock-defaults.
14387         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
14388         * lisp/loadhist.el (unload-feature-special-hooks):
14389         Remove font-lock-beginning-of-syntax-function.
14390         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
14391         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
14392         font-lock-beginning-of-syntax-function.
14394 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
14396         Backslash cleanup in Elisp source files
14397         This patch should not change behavior.  It typically omits backslashes
14398         where they are redundant (e.g., in the string literal "^\$").
14399         In a few places, insert backslashes where they make regular
14400         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
14401         "^\\*", which has the same effect as a regular expression.
14402         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
14403         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
14404         RCS IDs, as that makes it clearer that the backslash is intended.
14406         Some more minor backslash fixes
14407         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
14408         * test/automated/info-xref.el (info-xref-test-write-file):
14409         Double backslashes in strings.
14411         Fix several backslash typos in Elisp strings
14412         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
14413         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
14414         (todo-reset-done-string, todo-reset-comment-string)
14415         (todo-reset-highlight-item):
14416         * lisp/erc/erc-networks.el (erc-networks-alist):
14417         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
14418         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
14419         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
14420         (nntp-telnet-shell-prompt):
14421         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
14422         * lisp/image-dired.el (image-dired-rotate-original):
14423         (image-dired-get-exif-file-name):
14424         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
14425         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
14426         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
14427         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
14428         * lisp/net/shr-color.el (shr-color->hexadecimal):
14429         * lisp/org/org-bibtex.el (org-bibtex-fields):
14430         * lisp/org/org-docview.el (org-docview-export):
14431         * lisp/org/org-entities.el (org-entities):
14432         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
14433         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
14434         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
14435         (ebnf-style-database):
14436         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
14437         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
14438         * lisp/progmodes/sql.el (sql-product-alist):
14439         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
14440         (verilog-error-font-lock-keywords)
14441         (verilog-assignment-operator-re):
14442         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
14443         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
14444         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
14445         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
14446         For example, to get the regular expression ‘\.’ use the string
14447         literal "\\.", not "\." (which is equivalent to ".").
14448         * lisp/emulation/viper-util.el (viper-glob-unix-files):
14449         Remove stray ‘\j’ from string.
14450         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
14451         (nntp-telnet-shell-prompt):
14452         Treat > like $ when matching a shell prompt.
14453         * lisp/progmodes/make-mode.el (makefile-browse):
14454         Properly quote a diagnostic.
14456         Fix minor quoting problems in diagnostics
14457         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
14458         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
14459         Follow text-quoting-style in diagnostic, and quote a file name.
14461 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
14463         * doc/lispref/frames.texi (Cursor Parameters):
14464         Document 'x-stretch-cursor'.
14466 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
14468         Omit unnecessary \ before paren in C docstrings
14469         Although \( is needed in docstrings in Elisp code, it is not needed in
14470         docstrings in C code, since C function definitiions do not start with
14471         a parenthesis.  The backslashes made the docstrings a bit harder to
14472         read and to format in columns.  Also, some C docstrings had ( in
14473         column 1 and this did not appear to be causing any problems.  So,
14474         simplify C docstrings by replacing \( with ( and \) with ).
14476         A few more minor quoting fixes in a script and a text file
14478         Minor quoting fixes in scripts and doc
14479         Prefer straight quotes in random script files, as they are not
14480         converted.  Prefer grave quotes in a couple of places in the manual
14481         that were missed earlier, as these quotes are converted.
14483         Minor backslash fixes in manuals and scripts
14484         * Makefile.in (install-arch-indep):
14485         * admin/charsets/compact.awk:
14486         * admin/charsets/gb180302.awk (gb_to_index):
14487         * admin/charsets/gb180304.awk (gb_to_index):
14488         Avoid undefined behavior in Awk regular expression backslashes.
14489         * doc/misc/efaq.texi (Matching parentheses):
14490         Omit unnecessary backslashes.
14491         * doc/misc/gnus-faq.texi (FAQ 5-8):
14492         Avoid undefined behavior in suggested sed backslash usage.
14494         Add -Wswitch to --enable-gcc-warnings
14495         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
14496         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
14497         * lib-src/etags.c (main, consider_token, C_entries):
14498         * src/coding.c (encode_invocation_designation):
14499         * src/data.c (Ftype_of):
14500         * src/eval.c (Fdefvaralias, default_toplevel_binding)
14501         (Fbacktrace__locals, mark_specpdl):
14502         * src/lisp.h (record_xmalloc):
14503         * src/syntax.c (scan_lists, scan_sexps_forward):
14504         * src/window.c (window_relative_x_coord):
14505         * src/xdisp.c (push_it, pop_it):
14506         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
14507         Error out or do nothing (as appropriate) if a switch statement
14508         with an enum value does not cover all of the enum.
14509         * src/dispextern.h (struct iterator_stack_entry.u.comp):
14510         Remove unused member discovered by using -Wswitch.
14511         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
14512         * src/vm-limit.c (check_memory_limits):
14513         Simplify warning-diagnostic computation by using a table.
14515         etags ‘fatal’ function is now printf-like
14516         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
14517         Also, now static; not clear why it needed to be extern.
14518         (verror): New function, with most of the old contents of ‘error’.
14519         (fatal, error): Use it.
14521 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
14523         More adaptations in file-notify-tests.el
14524         * test/automated/file-notify-tests.el
14525         (file-notify-test05-dir-validity): Skip for w32notify in
14526         batch-mode.  (Bug#21432)
14528 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
14530         Adapt test in file-notify-tests.el
14531         * test/automated/file-notify-tests.el
14532         (file-notify-test04-file-validity): Skip for w32notify in
14533         batch-mode.  Add test lost last commit.
14535 2015-09-16  Dima Kogan  <dima@secretsauce.net>
14537         winner no longer holds on to dead frames
14538         * lisp/winner.el (winner-change-fun): Cull dead frames.
14539         This prevents a potentially massive memory leak.  See:
14540         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
14542 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
14544         Use common report_file_notify_error function
14545         * src/fileio.c (report_file_notify_error): New function.
14546         * src/inotify.c (report_inotify_error): Remove function.
14547         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
14548         (Finotify_rm_watch): Use report_file_notify_error.
14549         * src/lisp.h (report_file_notify_error): Declare external function.
14550         * src/w32notify.c (report_w32notify_error): Remove function.
14551         (Fw32notify_add_watch, Fw32notify_rm_watch):
14552         Use report_file_notify_error.
14554 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
14556         Fix documentation.
14557         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
14558         the documentation of the root mean square.
14560 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
14562         Remove tool_bar_redisplayed_once and associated code.
14563         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
14564         * src/frame.c (make_frame, x_set_font): Remove initialization of
14565         f->tool_bar_redisplayed_once.
14566         * src/w32fns.c (x_change_tool_bar_height):
14567         * src/xfns.c (x_change_tool_bar_height): Don't check for
14568         f->tool_bar_redisplayed_once.
14569         * src/xdisp.c (redisplay_internal): Remove handling of
14570         f->tool_bar_redisplayed_once.
14572 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
14574         Restore some of the quoting in the manuals
14575         * doc/lispref/windows.texi (Coordinates and Windows)
14576         (Coordinates and Windows):
14577         * doc/lispref/variables.texi (Lexical Binding)
14578         (File Local Variables):
14579         * doc/lispref/text.texi (Format Properties):
14580         * doc/lispref/symbols.texi (Symbol Components):
14581         * doc/lispref/strings.texi (Creating Strings):
14582         * doc/lispref/sequences.texi (Sequence Functions):
14583         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
14584         (Search and Replace):
14585         * doc/lispref/processes.texi (Bindat Spec):
14586         * doc/lispref/os.texi (Idle Timers):
14587         * doc/lispref/objects.texi (Basic Char Syntax):
14588         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
14589         * doc/lispref/nonascii.texi (Character Properties):
14590         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
14591         (Mode Line Variables):
14592         * doc/lispref/minibuf.texi (Text from Minibuffer):
14593         * doc/lispref/loading.texi (Autoload):
14594         * doc/lispref/keymaps.texi (Controlling Active Maps):
14595         * doc/lispref/frames.texi (Frame Layout, Size and Position)
14596         (Size Parameters, Implied Frame Resizing):
14597         * doc/lispref/files.texi (Changing Files, Magic File Names):
14598         * doc/lispref/eval.texi (Self-Evaluating Forms):
14599         * doc/lispref/display.texi (Progress, Abstract Display)
14600         (Abstract Display Example, Bidirectional Display):
14601         * doc/lispref/commands.texi (Event Mod):
14602         * doc/emacs/windows.texi (Displaying Buffers):
14603         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
14604         * doc/emacs/text.texi (Enriched Text):
14605         * doc/emacs/programs.texi (MixedCase Words):
14606         * doc/emacs/picture-xtra.texi (Insert in Picture)
14607         (Tabs in Picture):
14608         * doc/emacs/misc.texi (Emacs Server, Printing):
14609         * doc/emacs/mini.texi (Minibuffer History):
14610         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
14611         (Pulling / Pushing):
14612         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
14613         * doc/emacs/help.texi (Help, Help Echo):
14614         * doc/emacs/glossary.texi (Glossary):
14615         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
14616         (Frame Commands):
14617         * doc/emacs/files.texi (Reverting, Saving, Directories):
14618         * doc/emacs/entering.texi (Exiting):
14619         * doc/emacs/emacs.texi (Top):
14620         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
14621         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
14622         appropriate or replace quoting with @dfn.
14623         * doc/misc/ediff.texi (Window and Frame Configuration):
14624         * doc/lispref/processes.texi (Network Feature Testing):
14625         * doc/lispref/display.texi (Display Margins): Quote the phrase
14626         after "a.k.a." where appropriate.
14628 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
14630         Clarify reftex-extra-bindings docs
14631         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
14632         * doc/misc/reftex.texi (Key Bindings): Document that the variable
14633         only has an effect at load-time.
14635 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
14637         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
14638         search argument.  (Bug#21492) (Bug#21493)
14640 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
14642         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
14643         Add pretty symbols for \qquad and \varrho.
14645 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
14647         Add new functions for the root mean square of a (Calc) vector
14648         * lisp/calc/calc-stat.el (calcFunc-rms, calc-vector-rms):
14649         New functions.
14650         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
14651         `calc-vector-rms', add autoloads for `calc-vector-rms' and
14652         `calcFunc-rms'.
14653         * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for
14654         `calcFunc-rms'.
14655         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
14656         `calc-vector-rms'.
14657         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
14658         command.
14660 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
14662         Add monotone EDE generic project
14663         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
14664         Add monotone generic project.
14666         Revert premature commit
14667         * doc/lispref/files.texi: Revert premature commit of change to
14668         file-name-all-completions.
14670         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
14671         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
14672         with cl-generic defaults.
14673         (elisp--xref-find-references): Add doc string.
14674         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
14675         tests to find bug.
14677         Fix bugs in eieio-oref-default related to class symbols
14678         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
14679         (eieio-oref-default): Handle class properly.
14681 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
14683         Quote “fullboth” when defining it
14684         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
14685         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
14687 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
14689         Minor doc fix in emacs/ack.texi
14690         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
14691         first argument.
14693 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
14695         Adapt tests in auto-revert-tests.el
14696         * test/automated/auto-revert-tests.el (auto-revert--timeout):
14697         Make it a defconst.
14698         (auto-revert--wait-for-revert): New defun.
14699         (auto-revert-test00-auto-revert-mode)
14700         (auto-revert-test01-auto-revert-tail-mode)
14701         (auto-revert-test02-auto-revert-mode-dired): Use it.
14703 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
14705         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const.
14706         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
14707         (cl-lib-fdefs): Add defgeneric.
14708         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
14709         (eieio-kw, cl-lib-kw, el-kw): Remove.
14711 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
14713         Quote less in manuals
14714         The manuals often used quotes ``...'' when it is better to use @dfn or
14715         @code or capitalized words or no quoting at all.  For example, there is
14716         no need for the `` and '' in “if a variable has one effect for
14717         @code{nil} values and another effect for ``non-@code{nil}'' values”.
14718         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
14719         unnecessary quoting like this, and to use @dfn etc. instead when called
14720         for (Bug#21472).
14722 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
14724         * lisp/custom.el (load-theme): Only compute hash when needed.
14726 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
14728         Pacify --enable-gcc-warnings
14729         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
14731 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
14733         Improve error reports in inotify.c
14734         * src/inotify.c (report_inotify_error): New function.  Clone of
14735         report_w32notify_error.
14736         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
14737         (Finotify_rm_watch): Use it.
14739 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
14741         Fix the file-notify tests for watch validation on w32
14742         * test/automated/file-notify-tests.el
14743         (file-notify-test04-file-validity): Move the directory deletion
14744         out of the file-notify--test-with-events macro.
14745         (file-notify-test04-file-validity)
14746         (file-notify-test05-dir-validity): Enlarge the timeout of
14747         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
14749 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
14751         Use OPEN BOX instead of space for \quad.
14752         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
14753         character for \quad instead of a space.
14755 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
14757         Add missing *.pbm images
14758         * etc/images/connect.pbm: New file.
14759         * etc/images/custom/down-pushed.pbm: New file.
14760         * etc/images/custom/down.pbm: New file.
14761         * etc/images/custom/right-pushed.pbm: New file.
14762         * etc/images/custom/right.pbm: New file.
14763         * etc/images/describe.pbm: New file.
14764         * etc/images/disconnect.pbm: New file.
14765         * etc/images/ezimage/bits.pbm: New file.
14766         * etc/images/ezimage/bitsbang.pbm: New file.
14767         * etc/images/ezimage/box-minus.pbm: New file.
14768         * etc/images/ezimage/box-plus.pbm: New file.
14769         * etc/images/ezimage/box.pbm: New file.
14770         * etc/images/ezimage/checkmark.pbm: New file.
14771         * etc/images/ezimage/dir-minus.pbm: New file.
14772         * etc/images/ezimage/dir-plus.pbm: New file.
14773         * etc/images/ezimage/dir.pbm: New file.
14774         * etc/images/ezimage/doc-minus.pbm: New file.
14775         * etc/images/ezimage/doc-plus.pbm: New file.
14776         * etc/images/ezimage/doc.pbm: New file.
14777         * etc/images/ezimage/info.pbm: New file.
14778         * etc/images/ezimage/key.pbm: New file.
14779         * etc/images/ezimage/label.pbm: New file.
14780         * etc/images/ezimage/lock.pbm: New file.
14781         * etc/images/ezimage/mail.pbm: New file.
14782         * etc/images/ezimage/page-minus.pbm: New file.
14783         * etc/images/ezimage/page-plus.pbm: New file.
14784         * etc/images/ezimage/page.pbm: New file.
14785         * etc/images/ezimage/tag-gt.pbm: New file.
14786         * etc/images/ezimage/tag-minus.pbm: New file.
14787         * etc/images/ezimage/tag-plus.pbm: New file.
14788         * etc/images/ezimage/tag-type.pbm: New file.
14789         * etc/images/ezimage/tag-v.pbm: New file.
14790         * etc/images/ezimage/tag.pbm: New file.
14791         * etc/images/ezimage/unlock.pbm: New file.
14792         * etc/images/gnus/important.pbm: New file.
14793         * etc/images/gnus/mail-send.pbm: New file.
14794         * etc/images/gnus/receipt.pbm: New file.
14795         * etc/images/gnus/toggle-subscription.pbm: New file.
14796         * etc/images/gnus/unimportant.pbm: New file.
14797         * etc/images/gud/all.pbm: New file.
14798         * etc/images/gud/rcont.pbm: New file.
14799         * etc/images/gud/recstart.pbm: New file.
14800         * etc/images/gud/recstop.pbm: New file.
14801         * etc/images/gud/rfinish.pbm: New file.
14802         * etc/images/gud/rnext.pbm: New file.
14803         * etc/images/gud/rnexti.pbm: New file.
14804         * etc/images/gud/rstep.pbm: New file.
14805         * etc/images/gud/rstepi.pbm: New file.
14806         * etc/images/gud/thread.pbm: New file.
14807         * etc/images/lock-broken.pbm: New file.
14808         * etc/images/lock-ok.pbm: New file.
14809         * etc/images/lock.pbm: New file.
14810         * etc/images/mail/copy.pbm: New file.
14811         * etc/images/mail/forward.pbm: New file.
14812         * etc/images/mail/not-spam.pbm: New file.
14813         * etc/images/mail/outbox.pbm: New file.
14814         * etc/images/mail/preview.pbm: New file.
14815         * etc/images/mail/save-draft.pbm: New file.
14816         * etc/images/mh-logo.pbm: New file.
14817         * etc/images/mpc/add.pbm: New file.
14818         * etc/images/mpc/ffwd.pbm: New file.
14819         * etc/images/mpc/next.pbm: New file.
14820         * etc/images/mpc/pause.pbm: New file.
14821         * etc/images/mpc/play.pbm: New file.
14822         * etc/images/mpc/prev.pbm: New file.
14823         * etc/images/mpc/rewind.pbm: New file.
14824         * etc/images/mpc/stop.pbm: New file.
14825         * etc/images/redo.pbm: New file.
14826         * etc/images/smilies/braindamaged.pbm: New file.
14827         * etc/images/smilies/cry.pbm: New file.
14828         * etc/images/smilies/dead.pbm: New file.
14829         * etc/images/smilies/evil.pbm: New file.
14830         * etc/images/smilies/forced.pbm: New file.
14831         * etc/images/smilies/grin.pbm: New file.
14832         * etc/images/smilies/indifferent.pbm: New file.
14833         * etc/images/sort-ascending.pbm: New file.
14834         * etc/images/sort-column-ascending.pbm: New file.
14835         * etc/images/sort-criteria.pbm: New file.
14836         * etc/images/sort-descending.pbm: New file.
14837         * etc/images/sort-row-ascending.pbm: New file.
14838         * etc/images/unchecked.pbm: New file.
14839         * etc/images/zoom-in.pbm: New file.
14840         * etc/images/README: Update instructions for PBM files.
14842         Add separator.pbm tool-bar image
14843         * etc/images/separator.pbm: New file.  Having it avoids the side
14844         effect of changing the tool-bar height when the default font's size
14845         changes and XPM image support is not available, due to the SPC
14846         characters that are left in the Lisp string used to display the tool
14847         bar, because there are no images to display instead of those SPC
14848         characters.
14850         Make show-paren-match face visible on mono-color displays
14851         * lisp/faces.el (show-paren-match): Use the underline face for
14852         mono-color displays.  (Bug#21481)
14854 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
14856         Don’t double-encode non-ASCII mail clipboard
14857         * lisp/mail/mailclient.el (mailclient-send-it):
14858         Also fix the case when mailclient-place-body-on-clipboard-flag
14859         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
14861 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
14863         Adapt file-notify-tests.el test cases
14864         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
14865         * src/inotify.c (Finotify_valid_p): Adapt docstring.
14866         * test/automated/file-notify-tests.el
14867         (file-notify-test03-autorevert)
14868         (file-notify-test04-file-validity)
14869         (file-notify-test04-file-validity-remote)
14870         (file-notify-test05-dir-validity)
14871         (file-notify-test05-dir-validity-remote): Adapt docstring.
14872         (file-notify-test04-file-validity): Let events arrive before
14873         calling final `file-notify-valid-p'.  Do not ignore errors.
14874         (file-notify-test05-dir-validity): Do not manipulate
14875         `temporary-file-directory', it isn't necessary.  Let events arrive
14876         before calling final `file-notify-valid-p'.  Do not ignore errors.
14878 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
14880         Don’t double-encode non-ASCII for mail client
14881         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
14882         Use RFC 6068’s list of unreserved characters.
14883         (mailclient-send-it): When encoding the body as a URL,
14884         first decode it as per Content-Type: and Content-Transfer-Encoding:,
14885         as URLs must use percent-encoded UTF-8 (Bug#21471).
14886         * doc/misc/url.texi (mailto): Update RFC number.
14888 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
14890         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
14892 2015-09-14  Alan Mackenzie  <acm@muc.de>
14894         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs
14895         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
14896         `cadr/car'.
14898 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
14900         Clarify documentation of char-table extra slots
14901         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
14902         slot numbers are zero-based.  (Bug#21467)
14904 2015-09-14  Alan Mackenzie  <acm@muc.de>
14906         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
14907         Fixes bug#21449.
14908         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
14909         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
14910         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
14911         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
14912         Insert "\\|\\\\." into regexps which match symbols.
14914 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
14916         Improve the doc string of w32notify-valid-p
14917         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
14918         that removing a watch makes its object invalid.
14920 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
14922         Fix tests for file-notify-valid-p
14923         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
14924         Use delete-directory to delete file-notify--test-tmpfile if it is
14925         a directory.  Likewise for file-notify--test-tmpfile1.
14926         (file-notify-test04-file-validity)
14927         (file-notify-test05-dir-validity): Delete the parent directory of
14928         the test.  Ignore errors when cleaning up after the test.
14930 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
14932         Report file-notify-error in w32notify.c
14933         * src/w32notify.c (report_w32notify_error): New function.
14934         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
14935         errors, instead of calling report_file_error.  (Bug#21432)
14937         Implement w32notify-valid-p
14938         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
14939         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
14940         'identity'.
14942 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
14944         Test file-notify-valid-p
14945         * test/automated/file-notify-tests.el
14946         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
14947         New tests.
14949 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
14951         Fix markup in ELisp manual
14952         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
14953         of the 'alpha' parameter value.  (Bug#21470)
14955 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
14957         Introduce `file-notify-valid-p'
14958         * lisp/filenotify.el (file-notify-valid-p): New defun.
14959         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
14960         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
14961         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
14962         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
14963         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
14964         <file-notify-valid-p>: Add handler.
14965         * lisp/net/tramp.el (tramp-file-name-for-operation):
14966         Add `file-notify-valid-p'.
14967         (tramp-handle-file-notify-valid-p): New defun.
14968         * src/inotify.c (Finotify_valid_p): New defun.
14969         (syms_of_inotify): Declare Sinotify_valid_p.
14971 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
14973         Port Unicode char detection to FreeBSD+svgalib
14974         Problem reported by Ashish SHUKLA in:
14975         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
14976         * configure.ac: Check for struct unipair.unicode instead of for
14977         <linux/kd.h>, since that’s more specific to what the code
14978         actually needs.
14979         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
14981         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
14983 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
14985         Fix vertical cursor motion across overlay strings with newlines
14986         * src/indent.c (Fvertical_motion): Don't leave point in the middle
14987         of an overlay string with newlines, as that will position the
14988         cursor after the string at whatever column is there.  (Bug#21468)
14990 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
14992         Fix tests in file-notify-tests.el
14993         * test/automated/file-notify-tests.el: Remove Tramp declarations.
14994         (file-notify-test00-availability): Print remote command w/o Tramp
14995         internal functions.
14996         (file-notify-test02-events, file-notify-test02-events-remote):
14997         Adapt docstring.
14998         (file-notify-test03-autorevert): Use `format-message' when
14999         inspecting *Messages* buffer.
15001 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
15003         Bind inhibit-modification-hooks rather than a/b-c-f
15004         * lisp/wid-edit.el (widget-editable-list-insert-before)
15005         (widget-editable-list-delete-at):
15006         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
15007         (cperl-font-lock-unfontify-region-function):
15008         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
15009         * lisp/obsolete/longlines.el (longlines-mode):
15010         * lisp/obsolete/fast-lock.el (save-buffer-state):
15011         * lisp/mouse.el (mouse-save-then-kill-delete-region):
15012         * lisp/gnus/message.el (message-hide-headers):
15013         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
15014         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
15015         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
15016         than after/before-change-functions to nil.
15018 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
15020         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
15021         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
15022         the buffers, even if the forced redisplay is interrupted.
15024         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
15026         Merge syntax-propertize--done and parse-sexp-propertize-done
15027         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
15028         (syntax-propertize): Set syntax-propertize--done even if
15029         syntax-propertize-function is nil.  Avoid recursive invocations.
15030         (syntax-propertize-chunks): New var.
15031         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
15032         Simplify.
15033         (parse-sexp-propertize-function): Don't set any more.
15034         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
15035         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
15036         Call Qinternal__syntax_propertize instead of
15037         Vparse_sexp_propertize_function.  Truncate e_property if needed.
15038         (update_syntax_table_forward): Streamline.
15039         (syms_of_syntax): Define Qinternal__syntax_propertize.
15040         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
15042 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
15044         Prefer straight quoting in some text files
15045         Mostly this just changes ` to ' in static text.  Some exceptions:
15046         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
15047         typically does that now.
15048         * admin/quick-install-emacs (TRY, top level):
15049         Use straight quoting in diagnostics.
15050         * src/README: Fix working-directory confusion.
15052         * CONTRIBUTE: Move send-email here from git-workflow.
15054 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
15056         Improve file notifications in Tramp
15057         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
15058         Set proper events to watch for.
15059         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
15060         watched events.
15062 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
15064         Fix NS build with --enable-checking='glyphs'
15065         * src/nsfns.m (unwind_create_frame): Make the preprocessor
15066         conditionals for referencing 'dpyinfo' consistent throughout the
15067         function.  (Bug#21426)
15069 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
15071         Add seq-find
15072         This function is similar to `seq-some' but returns the found element.
15073         In the cases where nil can be the found element, a sentinel optional
15074         argument can be provided to avoid ambiguities.
15075         * lisp/emacs-lisp/seq.el (seq-find): New function.
15076         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
15077         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
15078         seq-find.
15080 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
15082         Document file-notify--test-with-events.
15083         * test/automated/file-notify-tests.el (file-notify--test-with-events):
15084         Add docstring.
15086 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
15088         Report used native library in file-notify-tests.el
15089         * test/automated/file-notify-tests.el
15090         (tramp-get-remote-gvfs-monitor-dir)
15091         (tramp-get-remote-inotifywait): Declare them.
15092         (file-notify-test00-availability): Print used native library.
15094 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
15096         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
15097         (mpc-file-local-copy): Check for absolute path.  Check more config
15098         locations.
15100 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
15102         Improve documentation of categories
15103         * doc/lispref/syntax.texi (Categories): Clarify the example of
15104         using define-category and modify-category-entry.  (Bug#21448)
15106 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
15108         Revert some stray curved quotes I missed earlier
15109         Problem reported by David Kastrup in:
15110         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
15111         * lisp/international/mule-cmds.el (leim-list-header):
15112         Use format-message with an ASCII-only format.
15114         Prefer NUMBERP to spelling it out
15115         * src/editfns.c (styled_format):
15116         * src/frame.h (NUMVAL):
15117         * src/image.c (parse_image_spec):
15118         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
15119         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
15120         * src/process.c (Fsignal_process):
15121         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
15122         * src/xfaces.c (check_lface_attrs):
15123         * src/xselect.c (x_fill_property_data, x_send_client_event):
15124         Use NUMBERP rather than INTEGERP || FLOATP.
15126 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
15128         Improve file-notify-tests
15129         * test/automated/file-notify-tests.el: Use lexical-binding.
15130         (file-notify--test-cleanup): New function.
15131         (file-notify-test00-availability, file-notify-test01-add-watch)
15132         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
15133         (file-notify--test-with-events): New macro.
15134         (file-notify-test02-events): Use it.
15136 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
15138         Add patch-sending instructions to git-workflow
15139         From a suggestion by Mitchel Humpherys in:
15140         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
15141         * admin/notes/git-workflow (Sending patches): New section.
15143         Port to GIFLIB 5.0.6 and later
15144         Problem reported by Mitchel Humpherys in:
15145         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
15146         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
15147         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
15148         (gif_load) [HAVE_GIF]: Use it.
15150 2015-09-10  Glenn Morris  <rgm@gnu.org>
15152         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
15154 2015-09-09  Glenn Morris  <rgm@gnu.org>
15156         * test/automated/file-notify-tests.el (file-notify-test02-events):
15157         Fix recent change.
15159 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
15161         Refix movemail GCC pacification
15162         Problem reported by Ken Brown in:
15163         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
15164         * lib-src/movemail.c (main): Fix previous change.
15166 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
15168         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
15169         Mark unused vars with underscore.
15171         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
15172         (parse_sexp_propertize): ...from here.
15174         * lisp/filenotify.el: Use lexical-binding
15175         (file-notify-add-watch): Avoid add-to-list.
15177 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
15179         Start checking event types in file-notify tests
15180         * test/automated/file-notify-tests.el (file-notify--test-events):
15181         New variable.
15182         (file-notify--test-event-handler): Append received event to
15183         file-notify--test-events for later analysis.
15184         (file-notify-test02-events): Assert that the expected notifications have
15185         arrived in the expected order.
15187 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
15189         Merge from gnulib and texinfo
15190         This incorporates:
15191         2015-08-03 Improve port of stdalign to C++11
15192         * lib/stdalign.in.h: Copy from gnulib.
15193         * doc/misc/texinfo.tex: Copy from texinfo.
15195 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
15197         Make syntax.c call syntax-propertize on demand
15198         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
15199         (parse-sexp-propertize-function): Use it.
15200         (syntax-propertize): Disable parse-sexp-propertize-function.
15201         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
15202         New functions.
15203         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
15204         `parse-sexp-propertize-function'.
15205         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
15206         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
15207         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
15208         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
15209         Don't assume `point' is set.
15211 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
15213         Fix indentation of an @example in ELisp manual
15214         * doc/lispref/syntax.texi (Categories): Untabify the example.
15215         (Bug#21448)
15217 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
15219         Define internal-char-font even if --without-x
15220         The function is used now even in non-graphical environments.
15221         Problem reported by Glenn Morris in:
15222         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
15223         * src/font.c (Finternal_char_font): Move here ...
15224         * src/fontset.c (Finternal_char_font): ... from here.
15226 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
15228         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers):
15229         Remove warning.
15231 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
15233         Fix display of complex local data types in GDB-MI
15234         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
15235         variable has no value, display "<complex data type>" as a
15236         placeholder, instead of a confusing "nil".  (Bug#21438)
15238 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
15240         Remove redundant redefinition of seq-drop-while from seq.el
15241         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
15243 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
15245         * lisp/emacs-lisp/package.el (package--ensure-init-file):
15246         More robust check for `package-initialize' calls in init file.
15247         This function accepts an optional argument, but calls passing
15248         an argument would not have been detected.
15250 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
15252         Port movemail to RHEL 6 with --enable-gcc-warnings
15253         * lib-src/movemail.c (main): Declare local only if needed.
15255         Port recent Linux console changes to RHEL 6
15256         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
15258         Improvements for curved quotes on Linux consule
15259         This should help Emacs work better out-of-the-box on Linux consoles,
15260         which have only limited support for displaying Unicode characters.
15261         Also, undo the recent change that caused text-quoting-style to
15262         affect quote display on terminals, so that the two features are
15263         independent.  See Alan Mackenzie in:
15264         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
15265         Finally, add a style parameter to startup--setup-quote-display,
15266         so that this function can also be invoked after startup, with
15267         different styles depending on user preference at the time.
15268         * configure.ac: Check for linux/kd.h header.
15269         * doc/emacs/display.texi (Text Display): Document quote display.
15270         * doc/lispref/display.texi (Active Display Table):
15271         * etc/NEWS:
15272         * lisp/startup.el (startup--setup-quote-display, command-line):
15273         text-quoting-style no longer affects quote display.
15274         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
15275         * lisp/international/mule-util.el (char-displayable-p):
15276         * lisp/startup.el (startup--setup-quote-display):
15277         On a text terminal supporting glyph codes, use the reported
15278         glyph codes instead of the terminal coding system, as this
15279         is more accurate on the Linux console.
15280         * lisp/startup.el (startup--setup-quote-display):
15281         New optional arg STYLE.
15282         * src/fontset.c (Finternal_char_font):
15283         Report glyph codes for a text terminal, if they are available.
15284         Currently this is supported only for the Linux console.
15285         * src/termhooks.h (struct terminal): New member glyph-code-table.
15286         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
15287         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
15288         (terminal_glyph_code): New function.
15290 2015-09-08  Juri Linkov  <juri@linkov.net>
15292         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
15293         underline.  (Bug#21433)
15295 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
15297         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
15299 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
15301         Fix double-reporting of rename events with inotify
15302         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
15303         of rename events with inotify (bug#21435).
15305 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
15307         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
15308         (tetris-mode-map): Use it.
15310 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
15312         Remove a few simple cases of global redisplay
15313         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
15314         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
15315         rather than returning a "resized_p" boolean.
15316         (redisplay_internal): Adjust call accordingly.
15317         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
15318         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
15319         tracking of this undesirable situation.
15321         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
15322         * src/process.c (status_notify): Only set the update_mode_line on the
15323         relevant buffers rather than setting it globally.
15325 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
15327         * lisp/electric.el (electric-quote-post-self-insert-function):
15328         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
15329         (electric-quote-mode): Activate everywhere in message-mode.
15331 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
15333         Go back to grave quoting in source-code docstrings etc.
15334         This reverts almost all my recent changes to use curved quotes
15335         in docstrings and/or strings used for error diagnostics.
15336         There are a few exceptions, e.g., Bahá’í proper names.
15337         * admin/unidata/unidata-gen.el (unidata-gen-table):
15338         * lisp/abbrev.el (expand-region-abbrevs):
15339         * lisp/align.el (align-region):
15340         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
15341         (outlineify-sticky):
15342         * lisp/apropos.el (apropos-library):
15343         * lisp/bookmark.el (bookmark-default-annotation-text):
15344         * lisp/button.el (button-category-symbol, button-put)
15345         (make-text-button):
15346         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
15347         * lisp/calc/calc-embed.el (calc-do-embedded):
15348         * lisp/calc/calc-ext.el (calc-user-function-list):
15349         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
15350         * lisp/calc/calc-help.el (calc-describe-key)
15351         (calc-describe-thing, calc-full-help):
15352         * lisp/calc/calc-lang.el (calc-c-language)
15353         (math-parse-fortran-vector-end, math-parse-tex-sum)
15354         (math-parse-eqn-matrix, math-parse-eqn-prime)
15355         (calc-yacas-language, calc-maxima-language, calc-giac-language)
15356         (math-read-giac-subscr, math-read-math-subscr)
15357         (math-read-big-rec, math-read-big-balance):
15358         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
15359         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
15360         (calc-auto-recompute):
15361         * lisp/calc/calc-prog.el (calc-fix-token-name)
15362         (calc-read-parse-table-part, calc-user-define-invocation)
15363         (math-do-arg-check):
15364         * lisp/calc/calc-store.el (calc-edit-variable):
15365         * lisp/calc/calc-units.el (math-build-units-table-buffer):
15366         * lisp/calc/calc-vec.el (math-read-brackets):
15367         * lisp/calc/calc-yank.el (calc-edit-mode):
15368         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
15369         * lisp/calendar/appt.el (appt-display-message):
15370         * lisp/calendar/diary-lib.el (diary-check-diary-file)
15371         (diary-mail-entries, diary-from-outlook):
15372         * lisp/calendar/icalendar.el (icalendar-export-region)
15373         (icalendar--convert-float-to-ical)
15374         (icalendar--convert-date-to-ical)
15375         (icalendar--convert-ical-to-diary)
15376         (icalendar--convert-recurring-to-diary)
15377         (icalendar--add-diary-entry):
15378         * lisp/calendar/time-date.el (format-seconds):
15379         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
15380         (timeclock-make-hours-explicit, timeclock-log-data):
15381         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
15382         (todo-item-mark, todo-check-format)
15383         (todo-insert-item--next-param, todo-edit-item--next-key)
15384         (todo-mode):
15385         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
15386         * lisp/cedet/mode-local.el (describe-mode-local-overload)
15387         (mode-local-print-binding, mode-local-describe-bindings-2):
15388         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
15389         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
15390         * lisp/cus-start.el (standard):
15391         * lisp/cus-theme.el (describe-theme-1):
15392         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
15393         (custom--sort-vars-1, load-theme):
15394         * lisp/descr-text.el (describe-text-properties-1, describe-char):
15395         * lisp/dired-x.el (dired-do-run-mail):
15396         * lisp/dired.el (dired-log):
15397         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
15398         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
15399         (ad-disable-advice, ad-remove-advice, ad-set-argument)
15400         (ad-set-arguments, ad--defalias-fset, ad-activate)
15401         (ad-deactivate):
15402         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
15403         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
15404         (byte-optimize-while, byte-optimize-apply):
15405         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
15406         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
15407         (byte-compile-log-file, byte-compile-format-warn)
15408         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
15409         (byte-compile-cl-warn)
15410         (byte-compile-warn-about-unresolved-functions)
15411         (byte-compile-file, byte-compile--declare-var)
15412         (byte-compile-file-form-defmumble, byte-compile-form)
15413         (byte-compile-normal-call, byte-compile-check-variable)
15414         (byte-compile-variable-ref, byte-compile-variable-set)
15415         (byte-compile-subr-wrong-args, byte-compile-setq-default)
15416         (byte-compile-negation-optimizer)
15417         (byte-compile-condition-case--old)
15418         (byte-compile-condition-case--new, byte-compile-save-excursion)
15419         (byte-compile-defvar, byte-compile-autoload)
15420         (byte-compile-lambda-form)
15421         (byte-compile-make-variable-buffer-local, display-call-tree)
15422         (batch-byte-compile):
15423         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
15424         * lisp/emacs-lisp/chart.el (chart-space-usage):
15425         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
15426         (check-declare-warn, check-declare-file)
15427         (check-declare-directory):
15428         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
15429         (checkdoc-message-text-engine):
15430         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
15431         (cl--describe-class):
15432         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
15433         (cl--generic-describe, cl-generic-generalizers):
15434         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
15435         (cl-symbol-macrolet):
15436         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
15437         * lisp/emacs-lisp/copyright.el (copyright)
15438         (copyright-update-directory):
15439         * lisp/emacs-lisp/edebug.el (edebug-read-list):
15440         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
15441         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
15442         (eieio-oref):
15443         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
15444         * lisp/emacs-lisp/eieio-speedbar.el:
15445         (eieio-speedbar-child-make-tag-lines)
15446         (eieio-speedbar-child-description):
15447         * lisp/emacs-lisp/eieio.el (defclass, change-class):
15448         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
15449         (elint-init-form, elint-check-defalias-form)
15450         (elint-check-let-form):
15451         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
15452         (ert-results-pop-to-backtrace-for-test-at-point)
15453         (ert-results-pop-to-messages-for-test-at-point)
15454         (ert-results-pop-to-should-forms-for-test-at-point)
15455         (ert-describe-test):
15456         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
15457         (find-function-library):
15458         * lisp/emacs-lisp/generator.el (iter-yield):
15459         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
15460         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
15461         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
15462         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
15463         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
15464         (advice--make, define-advice):
15465         * lisp/emacs-lisp/package-x.el (package-upload-file):
15466         * lisp/emacs-lisp/package.el (package-version-join)
15467         (package-disabled-p, package-activate-1, package-activate)
15468         (package--download-one-archive)
15469         (package--download-and-read-archives)
15470         (package-compute-transaction, package-install-from-archive)
15471         (package-install, package-install-selected-packages)
15472         (package-delete, package-autoremove, describe-package-1)
15473         (package-install-button-action, package-delete-button-action)
15474         (package-menu-hide-package, package-menu--list-to-prompt)
15475         (package-menu--perform-transaction)
15476         (package-menu--find-and-notify-upgrades):
15477         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
15478         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
15479         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
15480         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
15481         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
15482         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
15483         (rx-form):
15484         * lisp/emacs-lisp/smie.el (smie-config-save):
15485         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
15486         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
15487         * lisp/emacs-lisp/testcover.el (testcover-1value):
15488         * lisp/emacs-lisp/timer.el (timer-event-handler):
15489         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
15490         (viper-toggle-search-style, viper-kill-buffer)
15491         (viper-brac-function):
15492         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
15493         * lisp/env.el (setenv):
15494         * lisp/erc/erc-button.el (erc-nick-popup):
15495         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
15496         * lisp/eshell/em-dirs.el (eshell/cd):
15497         * lisp/eshell/em-glob.el (eshell-glob-regexp)
15498         (eshell-glob-entries):
15499         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
15500         * lisp/eshell/esh-opt.el (eshell-show-usage):
15501         * lisp/facemenu.el (facemenu-add-new-face)
15502         (facemenu-add-new-color):
15503         * lisp/faces.el (read-face-name, read-face-font, describe-face)
15504         (x-resolve-font-name):
15505         * lisp/files-x.el (modify-file-local-variable):
15506         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
15507         (set-auto-mode, hack-one-local-variable--obsolete)
15508         (dir-locals-set-directory-class, write-file, basic-save-buffer)
15509         (delete-directory, copy-directory, recover-session)
15510         (recover-session-finish, insert-directory)
15511         (file-modes-char-to-who, file-modes-symbolic-to-number)
15512         (move-file-to-trash):
15513         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
15514         * lisp/find-cmd.el (find-generic, find-to-string):
15515         * lisp/finder.el (finder-commentary):
15516         * lisp/font-lock.el (font-lock-fontify-buffer):
15517         * lisp/format.el (format-write-file, format-find-file)
15518         (format-insert-file):
15519         * lisp/frame.el (get-device-terminal, select-frame-by-name):
15520         * lisp/fringe.el (fringe--check-style):
15521         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
15522         * lisp/help-fns.el (help-fns--key-bindings)
15523         (help-fns--compiler-macro, help-fns--parent-mode)
15524         (help-fns--obsolete, help-fns--interactive-only)
15525         (describe-function-1, describe-variable):
15526         * lisp/help.el (describe-mode)
15527         (describe-minor-mode-from-indicator):
15528         * lisp/image.el (image-type):
15529         * lisp/international/ccl.el (ccl-dump):
15530         * lisp/international/fontset.el (x-must-resolve-font-name):
15531         * lisp/international/mule-cmds.el (prefer-coding-system)
15532         (select-safe-coding-system-interactively)
15533         (select-safe-coding-system, activate-input-method)
15534         (toggle-input-method, describe-current-input-method)
15535         (describe-language-environment):
15536         * lisp/international/mule-conf.el (code-offset):
15537         * lisp/international/mule-diag.el (describe-character-set)
15538         (list-input-methods-1):
15539         * lisp/mail/feedmail.el (feedmail-run-the-queue):
15540         * lisp/mouse.el (minor-mode-menu-from-indicator):
15541         * lisp/mpc.el (mpc-playlist-rename):
15542         * lisp/msb.el (msb--choose-menu):
15543         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
15544         * lisp/net/imap.el (imap-interactive-login):
15545         * lisp/net/mairix.el (mairix-widget-create-query):
15546         * lisp/net/newst-backend.el (newsticker--sentinel-work):
15547         * lisp/net/newst-treeview.el (newsticker--treeview-load):
15548         * lisp/net/rlogin.el (rlogin):
15549         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
15550         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
15551         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
15552         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
15553         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
15554         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
15555         (org-babel-goto-named-result):
15556         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
15557         * lisp/org/ob-ref.el (org-babel-ref-resolve):
15558         * lisp/org/org-agenda.el (org-agenda-prepare):
15559         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
15560         (org-clock-resolve):
15561         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
15562         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
15563         * lisp/org/org-habit.el (org-habit-parse-todo):
15564         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
15565         (org-mouse-context-menu):
15566         * lisp/org/org-table.el (org-table-edit-formulas):
15567         * lisp/org/ox.el (org-export-async-start):
15568         * lisp/proced.el (proced-log):
15569         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
15570         (ada-check-matching-start, ada-goto-matching-start):
15571         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
15572         * lisp/progmodes/ada-xref.el (ada-find-executable):
15573         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
15574         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
15575         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
15576         (flymake-start-syntax-check-process):
15577         * lisp/progmodes/python.el (python-shell-get-process-or-error)
15578         (python-define-auxiliary-skeleton):
15579         * lisp/progmodes/sql.el (sql-comint):
15580         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
15581         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
15582         * lisp/recentf.el (recentf-open-files):
15583         * lisp/replace.el (query-replace-read-from)
15584         (occur-after-change-function, occur-1):
15585         * lisp/scroll-bar.el (scroll-bar-columns):
15586         * lisp/server.el (server-get-auth-key):
15587         * lisp/simple.el (execute-extended-command)
15588         (undo-outer-limit-truncate, list-processes--refresh)
15589         (compose-mail, set-variable, choose-completion-string)
15590         (define-alternatives):
15591         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
15592         (command-line-1):
15593         * lisp/subr.el (noreturn, define-error, add-to-list)
15594         (read-char-choice, version-to-list):
15595         * lisp/term/common-win.el (x-handle-xrm-switch)
15596         (x-handle-name-switch, x-handle-args):
15597         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
15598         * lisp/textmodes/reftex-ref.el (reftex-label):
15599         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
15600         * lisp/textmodes/two-column.el (2C-split):
15601         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
15602         (tutorial--find-changed-keys):
15603         * lisp/type-break.el (type-break-noninteractive-query):
15604         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
15605         (wdired-do-perm-changes):
15606         * lisp/whitespace.el (whitespace-report-region):
15607         Prefer grave quoting in source-code strings used to generate help
15608         and diagnostics.
15609         * lisp/faces.el (face-documentation):
15610         No need to convert quotes, since the result is a docstring.
15611         * lisp/info.el (Info-virtual-index-find-node)
15612         (Info-virtual-index, info-apropos):
15613         Simplify by generating only curved quotes, since info files are
15614         typically that ways nowadays anyway.
15615         * lisp/international/mule-diag.el (list-input-methods):
15616         Don’t assume text quoting style is curved.
15617         * lisp/org/org-bibtex.el (org-bibtex-fields):
15618         Revert my recent changes, going back to the old quoting style.
15620 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
15622         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling.
15623         (package--autoloads-file-name)
15624         (package--activate-autoloads-and-load-path): New function.
15625         (package-activate-1): Delegate autoloading and load-path
15626         configuration to `package--activate-autoloads-and-load-path'.
15627         (package--compile): Before compilation, call
15628         `package--activate-autoloads-and-load-path' instead of
15629         `package-activate-1'.
15631 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
15633         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
15635 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
15637         Fix deletion of symlinks to directories on MS-Windows
15638         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
15639         symlink to a directory, try again with 'rmdir'.
15640         (is_symlink): If the argument is a symlink to a directory, set a
15641         bit in the return value to indicate that fact.
15643 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
15645         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
15646         When `package-initialize' is called as part of loading the init file,
15647         the user probably doesn't want it to be called again afterwards.
15648         In this situation, `package-initialize' now sets
15649         `package-enable-at-startup' to nil to prevent that.  The user can have
15650         the old behavior by setting this variable to t after the call to
15651         `package-initialize'.  (Bug#21423)
15652         * doc/emacs/package.texi (Package Installation): Document it.
15653         * doc/lispref/package.texi (Packaging Basics): Document it.
15654         * etc/NEWS: Document it.
15656 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
15658         Bump version of ntlm.el to 2.00
15659         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.
15660         Add comm keyword.
15662 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
15664         * doc/misc/gnus.texi (Mail Source Specifiers):
15665         Allow :mailbox to be a list.
15667 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
15669         * lisp/progmodes/etags.el (etags-tags-completion-table):
15670         Allow even one non-regular character before the implicit tag name.
15671         Reported at http://emacs.stackexchange.com/questions/15269/.
15673 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
15675         Add support for NTLMv2 authentication
15676         * lisp/net/ntlm.el (ntlm): New customization group.
15677         (ntlm-compatibility-level): New defcustom.
15678         (ntlm-compute-timestamp): New function.
15679         (ntlm-generate-nonce): Likewise.
15680         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
15682 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
15684         * lisp/emacs-lisp/package.el: Rename custom faces.
15685         All of the recently introduced faces, like `package-name-face', have
15686         been renamed to no end in `-face' to comply with the convention
15687         described in (info "(elisp) Defining Faces").
15688         (package-name, package-description)
15689         (package-status-built-in, package-status-external)
15690         (package-status-available, package-status-new)
15691         (package-status-held, package-status-disabled)
15692         (package-status-installed, package-status-dependency)
15693         (package-status-unsigned, package-status-incompat)
15694         (package-status-avail-obso): New faces.
15695         (package-menu--print-info-simple): Use them.
15697 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
15699         mail-source.el: Make the imap mail-source's :mailbox handle a list
15700         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
15701         Allow :mailbox to be  a list.
15703 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
15705         nnimap.el: Handle nil arg to nnimap-request-group
15706         * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
15707         This arg isn't always passed in, check it's not nil before making it
15708         into a list.  The active arg will also be nil if the group is new,
15709         check for that.
15711 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
15713         File notifications: Support renaming over directory boundaries
15714         * lisp/filenotify.el (file-notify-handle-event):
15715         (file-notify--pending-event): Adapt docstring.
15716         (file-notify--descriptor, file-notify-callback): Reimplement in
15717         order to support renaming over directory boundaries.
15718         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
15719         * doc/lispref/os.texi (File Notifications): Remove limitation of
15720         file renaming to the same directory.
15722 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
15724         Spelling fix (Bug#21420)
15726 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
15728         Improve the semantic of map-some
15729         Update map-some to return the returned by the predicate, similar to
15730         seq-some.
15731         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
15732           return value of the predicate.
15733         * test/automated/map-tests.el (test-map-some): Update the test to check
15734           for non-nil values only.
15736         Rename map-contains-key-p and map-some-p
15737         Remove the "-p" suffix from both function names.
15738         * lisp/emacs-lisp/map.el (map-contains-key, map-some):
15739           Rename the functions.
15740         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
15741           Update both test functions.
15743         Improve the semantic of seq-some
15744         Update seq-some to return non-nil if the predicate returns non-nil for
15745         any element of the seq, in which case the returned value is the one
15746         returned by the predicate.
15747         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
15748           docstring.
15749         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
15750         * doc/lispref/sequences.texi (Sequence Functions): Update the
15751           documentation for seq-some.
15753         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
15754         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
15755           without the "-p" prefix.
15756         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
15757           the tests accordingly.
15758         * doc/lispref/sequences.texi (Sequence Functions): Update the
15759           documentation for seq.el.
15761 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15763         text-quoting-style for usage of fn names with ‘’
15764         * lisp/help.el (help--docstring-quote): Don’t assume
15765         text-quoting-style is ‘curve’ when generating usage strings for
15766         functions whose names contain curved quotes.
15768 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
15770         Fix fix for describe-function keybinding confusion
15771         This fixes a bug introduced by the previous patch.
15772         * lisp/help-fns.el (help-fns--signature):
15773         Last arg of help-fns--signature is now a buffer, or nil if a
15774         raw signature is wanted.  All callers changed.
15775         (describe-function-1): Use this to do the right thing with signatures.
15777 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
15779         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
15781         Use PAT rather than UPAT in pcase macros
15782         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
15783         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
15784           than UPAT.
15786 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
15788         Fix describe-function keybinding confusion
15789         * lisp/help-fns.el (describe-function-1): Compute signature
15790         in the original buffer, not in standard-output, so that
15791         substitute-command-keys uses the proper keybindings.
15792         This fixes Bug#21412, introduced in commit
15793         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
15795 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
15797         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
15799 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
15801         Avoid read error messages from 'inotify'
15802         * src/process.c (wait_reading_process_output): Add a
15803         'tls_available' set and manipulate it instead of 'Available' when
15804         checking TLS inputs.  Assign the value to 'Available' only if we
15805         find any TLS data waiting to be read.  This avoids error messages
15806         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
15808 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
15810         Avoid errors in thing-at-point with 2nd argument non-nil
15811         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
15812         sequences.  (Bug#21391)
15814 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
15816         Fix segfaults due to using a stale face ID
15817         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
15818         (display_echo_area_1, redisplay_internal): Call it to avoid
15819         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
15820         faces, which could case a segfault if the frame's face cache was
15821         freed since the last redisplay.  (Bug#21394)
15822         * src/xfaces.c (free_realized_faces):
15823         Call forget_escape_and_glyphless_faces.
15824         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
15826 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
15828         Fix minor problems with " in manual
15830 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
15832         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
15833         multi-hop files.
15835 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
15837         Support automated ‘make check’ in non-C locale
15838         This lets the builder optionally test Emacs behavior in other locales.
15839         The C locale is still the default for tests.
15840         * test/automated/Makefile.in (TEST_LOCALE): New macro.
15841         (emacs): Use it.
15842         * test/automated/flymake-tests.el (flymake-tests--current-face):
15843         Use C locale for subprocesses so that tests behave as expected.
15844         * test/automated/python-tests.el:
15845         (python-shell-prompt-validate-regexps-1)
15846         (python-shell-prompt-validate-regexps-2)
15847         (python-shell-prompt-validate-regexps-3)
15848         (python-shell-prompt-validate-regexps-4)
15849         (python-shell-prompt-validate-regexps-5)
15850         (python-shell-prompt-validate-regexps-6)
15851         (python-shell-prompt-set-calculated-regexps-1):
15852         Adjust expected output to match locale.
15853         * test/automated/tildify-tests.el (tildify-test--test)
15854         (tildify-space-test--test, tildify-space-undo-test--test):
15855         This test assumes UTF-8 encoding.
15857 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
15859         Fix some more docstring etc. quoting problems
15860         Mostly these fixes prevent the transliteration of apostrophes
15861         that should stay apostrophes.  Also, prefer curved quotes in
15862         Bahá’í proper names, as that’s the preferred Bahá’í style and
15863         these names are chock-full of non-ASCII characters anyway.
15864         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
15865         (eieio-defclass-internal):
15866         * lisp/emacs-lisp/eieio.el (defclass):
15867         * lisp/hi-lock.el (hi-lock-mode):
15868         Don’t transliterate Lisp apostrophes when generating a
15869         doc string or diagnostic.
15870         * lisp/international/mule-diag.el (list-coding-systems-1):
15871         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
15872         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
15873         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
15874         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
15875         Substitute quotes before putting them in the help buffer.
15877 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
15879         Re-add the notion of echo_prompt lost in the translation
15880         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
15881         echo_prompt which contains the actual string.  Update all uses.
15882         * src/keyboard.c (kset_echo_prompt): New function.
15883         (echo_update): Add echo_prompt at the very beginning.
15884         (read_char): Remove workaround for bug#19875, not needed any more.
15885         (read_key_sequence): Set echo_prompt rather than echo_string
15886         (bug#21403).
15887         (mark_kboards): Mark echo_prompt.
15889         Fix disassembly of non-compiled lexical functions (bug#21377)
15890         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
15891         * lisp/emacs-lisp/disass.el: Use lexical-binding.
15892         (disassemble): Recognize `closure's as well.
15893         (disassemble-internal): Use indirect-function and
15894         help-function-arglist, and accept `closure's.
15895         (disassemble-internal): Use interactive-form.
15896         (disassemble-1): Use functionp.
15898         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
15899         Don't compose inside verbatim blocks!
15901 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
15903         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
15904         (bug#19441).
15906         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394).
15908 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
15910         vc-git-mode-line-string: Explicitly re-apply the face
15911         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
15912         the face (bug#21404).
15914 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15916         Treat initial-scratch-message as a doc string
15917         * doc/emacs/building.texi (Lisp Interaction):
15918         * doc/lispref/os.texi (Startup Summary):
15919         * etc/NEWS: Document this.
15920         * lisp/startup.el (initial-scratch-message):
15921         Look up find-file’s key rather than hardcoding it.
15922         (command-line-1): Substitute the doc string.
15923         This also substitutes the quotes, which will help test display
15924         quoting at startup.
15926         Fix describe-char bug with glyphs on terminals
15927         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
15928         buffers too, so don’t treat them differently from graphic displays.
15929         Without this fix, describe-char would throw an error on a terminal
15930         if given a glyph with a non-default face.
15932         Follow text-quoting-style in display table init
15933         This attempts to fix a problem reported by Alan Mackenzie in:
15934         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
15935         * doc/lispref/display.texi (Active Display Table):
15936         Mention how text-quoting-style affects it.
15937         * doc/lispref/help.texi (Keys in Documentation):
15938         Say how to set text-quoting-style in ~/.emacs.
15939         * etc/NEWS: Document the change.
15940         * lisp/startup.el (startup--setup-quote-display):
15941         Follow user preference if text-quoting-style is set.
15942         (command-line): Setup quote display again if user expresses
15943         a preference in .emacs.
15945 2015-09-02  K. Handa  <handa@gnu.org>
15947         Fix typo
15948         * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask
15949         -> OTF_positioning_type_components_mask.
15951         Fix previous change
15952         * src/ftfont.c (ftfont_drive_otf): Remember some bits of
15953         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
15955 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
15957         * lisp/vc/vc-hooks.el (vc-refresh-state): New command.
15958         Rename from vc-find-file-hook and make interactive.
15959         (vc-find-file-hook): Redefine as obsolete alias.
15961 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15963         Escape ` and ' in doc
15964         Escape apostrophes and grave accents in docstrings if they are
15965         are supposed to stand for themselves and are not quotes.  Remove
15966         apostrophes from docstring examples like ‘'(calendar-nth-named-day
15967         -1 0 10 year)’ that confuse source code with data.  Do some other
15968         minor docstring fixups as well, e.g., insert a missing close quote.
15970 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
15972         Generalize the prefix-command machinery of C-u
15973         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
15974         (prefix-command-preserve-state-hook): New hooks.
15975         (internal-echo-keystrokes-prefix): New function.
15976         (prefix-command--needs-update, prefix-command--last-echo): New vars.
15977         (prefix-command-update, prefix-command-preserve): New functions.
15978         (reset-this-command-lengths): New compatibility definition.
15979         (universal-argument--mode): Call prefix-command-update.
15980         (universal-argument, universal-argument-more, negative-argument)
15981         (digit-argument): Call prefix-command-preserve-state.
15982         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
15983         the "prefix argument" to echo.
15984         (this_command_key_count_reset, before_command_key_count)
15985         (before_command_echo_length): Delete variables.
15986         (echo_add_key): Always add a space.
15987         (echo_char): Remove.
15988         (echo_dash): Don't give up when this_command_key_count is 0, since that
15989         is now the case after a prefix command.
15990         (echo_update): New function, extracted from echo_now.
15991         (echo_now): Use it.
15992         (add_command_key, read_char, record_menu_key): Remove old disabled code.
15993         (command_loop_1): Don't refrain from pushing an undo boundary when
15994         prefix-arg is set.  Remove other prefix-arg special case, now handled
15995         directly in the prefix commands instead.  But call echo_now if there's
15996         a prefix state to echo.
15997         (read_char, record_menu_key): Use echo_update instead of echo_char.
15998         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
15999         (Freset_this_command_lengths): Delete function.
16000         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
16001         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
16002         * lisp/simple.el: Use those new hooks for C-u.
16003         (universal-argument--description): New function.
16004         (prefix-command-echo-keystrokes-functions): Use it.
16005         (universal-argument--preserve): New function.
16006         (prefix-command-preserve-state-hook): Use it.
16007         (command-execute): Call prefix-command-update if needed.
16008         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
16009         (kmacro-step-edit-prefix-index): Delete variables.
16010         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
16011         support for prefix arg commands.
16012         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
16013         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
16014         (cua--shift-control-prefix): Use prefix-command-preserve-state.
16015         Remove now unused arg `arg'.
16016         (cua--prefix-override-handler, cua--prefix-repeat-handler)
16017         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
16018         Update accordingly.
16019         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
16020         any more.
16021         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
16022         if the mark is not set.
16024 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16026         Rework quoting in Emacs Lisp Introduction
16027         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
16028         (if in more detail, type-of-animal in detail, else): Rework the
16029         early example to use " rather than ' so that we don’t burden
16030         complete novices with the low-priority detail of text quoting style.
16031         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
16032         (kill-new function, kill-ring-yank-pointer)
16033         (Complete forward-sentence, Loading Files)
16034         (Code for current-kill, Code for current-kill, yank):
16035         Resurrect the Emacs 22 versions of the code, which uses grave
16036         quoting style in doc strings.
16037         (Complete zap-to-char): Mention how quoting works in doc strings.
16039         Setup quote display only if interactive
16040         * lisp/startup.el (command-line):
16041         Skip call to startup--setup-quote-display if noninteractive.
16042         Without this change, python-shell-prompt-validate-regexps-1
16043         fails in test/automated/python-tests.el when run in an
16044         en_US.utf8 locale on Fedora.
16046 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
16048         Use defalias at the top level
16049         * lisp/gnus/gnus-util.el (gnus-format-message):
16050         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
16051         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
16053 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16055         terminal-init-w32console mimicks command-line
16056         Problem reported by Eli Zaretskii.
16057         * lisp/startup.el (startup--setup-quote-display):
16058         New function, refactored from a part of ‘command-line’.
16059         (command-line): Use it.
16060         * lisp/term/w32console.el (terminal-init-w32console):
16061         Use it, so that this function stays consistent with ‘command-line’.
16063         Display replacement quotes with shadow glyphs
16064         * lisp/startup.el (command-line): When displaying ASCII
16065         replacements for curved quotes, use a shadow glyph instead of a
16066         regular one, to avoid ambiguity.
16068 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
16070         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
16072 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16074         Docstring fixes re quotes in C code
16075         Fix some docstring quoting problems, mostly by escaping apostrophe.
16077 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
16079         Some Tramp password fixes
16080         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
16081         of the hops.
16082         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
16083         at the beginning of the command.  Otherwise, it could be
16084         interpreted as password prompt if the remote host echoes the
16085         command.
16086         (tramp-remote-coding-commands): Add "openssl enc -base64".
16088 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
16090         Make vc-git-working-revision always return the commit hash
16091         * lisp/vc/vc-git.el (vc-git-working-revision):
16092         Return the commit hash (bug#21383).
16093         (vc-git--symbolic-ref): New function, extracted from above.
16094         (vc-git-mode-line-string): Use it.
16096 2015-09-01  K. Handa  <handa@gnu.org>
16098         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs
16099         * src/ftfont.c (MFLTGlyphFT): New type.
16100         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
16101         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
16102         elements in the array MFLTGlyphString.glyphs.
16104 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
16106         Improve comments in elisp-mode.el, elisp-mode-tests.el
16107         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
16109         Delete Emacs 25 test in mode-local.el
16110         * lisp/cedet/mode-local.el (describe-mode-local-overload):
16111         Fix missed an edit in previous commit.
16113         Show all known mode-local overrides in *Help*
16114         * lisp/cedet/mode-local.el (describe-mode-local-overload):
16115         Assume Emacs 25. Add all known mode-local overrides.
16117 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
16119         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
16120         Ensure that the article where the search word is found is displayed
16121         and pointed to in the summary buffer.
16123 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
16125         * lisp/newcomment.el (comment-dwim): Use `use-region-p'.
16126         When the region is active, but is empty (length 0), act as though
16127         the region was not active; that is, put a comment at the end of
16128         the line.  (Bug#21119)
16130 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
16132         Port tls.el to older Emacs
16133         * lisp/net/tls.el (tls-format-message):
16134         Alias to format-message, or format if not available.
16135         (open-tls-stream): Use it.
16137 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
16139         hideif.el: Recognize .h++ as C++ header
16140         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
16142         isearch: Document character folding mode
16143         * lisp/isearch.el (isearch-forward):
16144         Mention `isearch-toggle-character-fold' in doc string.
16146 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
16148         Quoting fixes in ERC and Eshell
16149         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
16150         * lisp/erc/erc-backend.el (define-erc-response-handler):
16151         * lisp/erc/erc-fill.el (erc-fill-static-center):
16152         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
16153         * lisp/eshell/em-glob.el (eshell-glob-entries):
16154         * lisp/eshell/em-hist.el (eshell-save-some-history):
16155         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
16156         (eshell-shuffle-files):
16157         * lisp/eshell/esh-cmd.el (eshell-do-eval):
16158         * lisp/eshell/esh-proc.el (eshell-process-interact)
16159         (eshell-query-kill-processes):
16160         Respect ‘text-quoting-style’ in diagnostics and doc strings.
16162         Quoting fixes in Gnus
16163         * lisp/gnus/gnus-agent.el:
16164         (gnus-agent-possibly-synchronize-flags-server):
16165         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
16166         * lisp/gnus/gnus-eform.el (gnus-edit-form):
16167         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
16168         (gnus-group-nnimap-edit-acl):
16169         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
16170         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
16171         * lisp/gnus/message.el (message-strip-subject-encoded-words)
16172         (message-check-recipients, message-send-form-letter):
16173         * lisp/gnus/mm-decode.el (mm-display-part):
16174         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
16175         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
16176         (mml-smime-get-ldap-cert):
16177         * lisp/gnus/spam-report.el (spam-report-process-queue):
16178         Respect ‘text-quoting-style’ in diagnostics.
16179         * lisp/gnus/gnus-art.el (article-display-face)
16180         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
16181         Use straight quoting in email.
16182         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
16183         Escape apostrophes in doc strings.
16185         Quoting fixes in lisp mail, mh-e, net, url
16186         * lisp/mail/emacsbug.el (report-emacs-bug)
16187         (report-emacs-bug-hook): Use straight quotes in outgoing email,
16188         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
16189         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
16190         * lisp/mail/rmailout.el (rmail-output-read-file-name):
16191         * lisp/net/imap.el (imap-interactive-login):
16192         * lisp/net/tls.el (open-tls-stream):
16193         * lisp/url/url-auth.el (url-register-auth-scheme):
16194         Respect ‘text-quoting-style’ in diagnostics.
16195         * lisp/mh-e/mh-e.el (mh-sortm-args):
16196         Quote docstring example using text quotes, not as a Lisp quote.
16198 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
16200         Fix some byte-compiler warnings in EDE
16201         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
16202         existing autoloader list, rather than add to it.
16203         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
16204         argument to eieio class constructor.
16205         (ede-show-supported-projects): New.
16206         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
16207         with (oref ... name).
16208         (ede-auto-load-project): Use slot name, not initarg key.
16209         * lisp/cedet/ede/generic.el (ede-generic-load)
16210         (ede-generic-find-matching-target): Use slot name, not initarg key.
16211         (ede-find-target): Use oref-default on class name.
16212         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
16213         class constructor.
16214         (ede-enable-generic-projects): Make project type names unique.
16216 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
16218         Fix directory accessibility tests for w32 network volumes
16219         * src/w32.c (faccessat): Don't fail with network volumes without a
16220         share.
16221         (w32_accessible_directory_p): Handle network volumes without a
16222         share.
16224         Fix handling long file names in readdir on MS-Windows
16225         * src/w32.c (sys_readdir): Append "\*" to the directory after
16226         converting it to UTF-16/ANSI, not before, to avoid overflowing the
16227         260-character limit on file names in filename_to_utf16/ansi.
16229         Make file-accessible-directory-p reliable on MS-Windows
16230         * src/w32.c (w32_accessible_directory_p): New function.
16231         * src/w32.h (w32_accessible_directory_p): Add prototype.
16232         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
16233         w32_accessible_directory_p to test a directory for accessibility
16234         by the current user.  (Bug#21346)
16235         (Ffile_accessible_directory_p): Remove the w32 specific caveat
16236         from the doc string.
16238 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
16240         Don't call do_pending_window_change in signal handlers (Bug#21380)
16241         * src/gtkutil.c (xg_frame_resized):
16242         * src/xterm.c (x_set_window_size):
16243         * src/w32term.c (x_set_window_size): Don't call
16244         do_pending_window_change.
16246 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
16248         Quoting fixes in lisp/org
16249         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
16250         (org-tags-view):
16251         * lisp/org/org-capture.el (org-capture-mode)
16252         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
16253         (org-ctags-ask-append-topic):
16254         * lisp/org/org.el (org-time-string-to-time)
16255         (org-time-string-to-absolute):
16256         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
16257         (org-ctags-ask-append-topic):
16258         * lisp/org/org.el (org-time-string-to-time)
16259         (org-time-string-to-absolute):
16260         Respect ‘text-quoting-style’ in diagnostics.
16261         * lisp/org/org-agenda.el (org-agenda-custom-commands)
16262         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
16263         * lisp/org/org-capture.el (org-capture-fill-template):
16264         Avoid contraction in output file that might be ASCII.
16265         * lisp/org/org-compat.el (format-message):
16266         Define if not already defined, for backward compatibility.
16267         * lisp/org/org-src.el (org-edit-src-save):
16268         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
16269         Escape apostrophes in diagnostics.
16271         Treat “instead” strings as docstrings
16272         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
16273         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
16274         Substitute quotes in instead strings.
16276 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
16278         Better documentation of seq-let
16279         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
16280         documentation of seq-let.
16282 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
16284         * lisp/international/ccl.el: Fix quoting.
16286         Quoting fixes in lisp/international and lisp/leim
16287         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
16288         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
16289         * lisp/international/mule-cmds.el:
16290         (select-safe-coding-system-interactively, leim-list-file-name):
16291         * lisp/international/quail.el (quail-use-package, quail-help):
16292         * lisp/international/titdic-cnv.el (tit-process-header)
16293         (miscdic-convert):
16294         Respect text quoting style in doc strings and diagnostics.
16295         * lisp/international/quail.el (lisp/international/quail.el):
16296         * lisp/leim/quail/ethiopic.el ("ethiopic"):
16297         Escape apostrophes in doc strings.
16299         Make ‘text-quoting-style’ a plain defvar
16300         It doesn’t need customization, as it’s likely useful only by experts.
16301         Suggested by Stefan Monnier in:
16302         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
16303         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
16305         Quoting fixes in lisp/textmodes
16306         * lisp/textmodes/bibtex.el (bibtex-validate)
16307         (bibtex-validate-globally, bibtex-search-entries):
16308         * lisp/textmodes/ispell.el (ispell-command-loop):
16309         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
16310         * lisp/textmodes/texinfmt.el (texinfmt-version)
16311         (texinfo-format-region, texinfo-format-buffer-1):
16312         * lisp/textmodes/two-column.el (2C-split):
16313         Respect text quoting style in doc strings and diagnostics.
16314         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
16315         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
16316         Escape apostrophes in doc strings.
16318         Documentation fixes re quotes
16319         Prefer curved quotes in examples if users will typically see
16320         curved quotes when the examples run.
16321         Mention format-message when appropriate.
16322         Don’t use @code in examples.
16323         Quote an apostrophe with @kbd.
16325         Quoting fixes in lisp/progmodes
16326         * lisp/progmodes/cc-engine.el (c-bos-report-error):
16327         * lisp/progmodes/cpp.el (cpp-edit-reset):
16328         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
16329         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
16330         (etags-tags-apropos, list-tags, tags-apropos):
16331         * lisp/progmodes/executable.el (executable-set-magic):
16332         * lisp/progmodes/octave.el (octave-sync-function-file-names)
16333         (octave-help, octave-find-definition-default-filename)
16334         (octave-find-definition):
16335         Respect text quoting style in doc strings and diagnostics.
16336         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
16337         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
16338         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
16339         Escape apostrophes in doc strings.
16340         * lisp/progmodes/cmacexp.el (c-macro-expansion):
16341         Use straight quoting in ASCII comment.
16342         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
16343         (idlwave-pad-keyword):
16344         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
16345         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
16346         (vhdl-electric-semicolon, vhdl-electric-comma)
16347         (vhdl-electric-period, vhdl-electric-equal):
16348         Use directed quotes in diagnostics and doc strings.
16350 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
16352         Minor documentation and NEWS tweak
16353         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let):
16354         Add an index entry.
16355         * etc/NEWS: Fix a typo in character-fold-to-regexp.
16357 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
16359         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
16360         Revert patch from 2015-08-24.  Tramp shall behave like for local files.
16361         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
16362         Adapt test.
16364 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
16366         Text quoting fixes in cedet, emulation, emacs-lisp
16367         * lisp/cedet/ede.el (ede-check-project-directory):
16368         * lisp/cedet/semantic/analyze/debug.el
16369         (semantic-analyzer-debug-insert-include-summary):
16370         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
16371         * lisp/cedet/semantic/decorate/include.el
16372         (semantic-decoration-unknown-include-describe)
16373         (semantic-decoration-all-include-summary):
16374         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
16375         * lisp/emulation/edt.el (edt-load-keys):
16376         * lisp/emulation/viper-cmd.el
16377         (viper-display-current-destructive-command)
16378         (viper-query-replace, viper-brac-function):
16379         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
16380         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
16381         Respect text quoting style in doc string or diagnostic.
16382         * lisp/cedet/mode-local.el (describe-mode-local-overload):
16383         Use format-message to avoid overtranslating quotes.
16384         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
16385         Escape an apostrophe in a docstring.
16386         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
16388 2015-08-29  Daniel Colascione  <dancol@dancol.org>
16390         Fix which-func for curly quotes: look for symbol, not message
16391         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
16392         imenu-unavailable error symbol instead of trying to match message
16393         exactly.
16394         * lisp/imenu.el (imenu-unavailable): New error.
16395         (imenu-unavailable-error): New function.
16397 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
16399         Fix Python tests on MS-Windows
16400         * test/automated/python-tests.el
16401         (python-shell-calculate-command-1): Run python-shell-interpreter
16402         through shell-quote-argument before comparing with what
16403         python-shell-calculate-command returns.
16404         (python-shell-calculate-pythonpath-1)
16405         (python-shell-calculate-pythonpath-2)
16406         (python-shell-calculate-process-environment-2): Use path-separator
16407         instead of a literal ':'.
16408         (python-shell-calculate-exec-path-2)
16409         (python-shell-calculate-exec-path-3)
16410         (python-shell-calculate-exec-path-4)
16411         (python-shell-with-environment-1)
16412         (python-shell-with-environment-2): Run "/env/bin" through
16413         expand-file-name before comparing with exec-path.  (Bug#21375)
16415 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
16417         Use Core Text types/functions/variables/enumerators directly
16418         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
16419         (CharacterCollection): Remove typedefs.  All uses replaced with
16420         definitions.
16421         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
16422         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
16423         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
16424         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
16425         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
16426         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
16427         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
16428         definitions.
16429         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
16430         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
16431         (MAC_FONT_FORMAT_BITMAP)
16432         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
16433         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.
16434         All uses replaced with definitions.
16435         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
16436         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
16437         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault):
16438         Add compatibility enumerators for older versions.
16439         (mac_font_descriptor_create_with_attributes)
16440         (mac_font_descriptor_create_matching_font_descriptors)
16441         (mac_font_descriptor_create_matching_font_descriptor)
16442         (mac_font_descriptor_copy_attribute)
16443         (mac_font_descriptor_supports_languages)
16444         (mac_font_create_with_name, mac_font_get_size)
16445         (mac_font_copy_family_name, mac_font_copy_character_set)
16446         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
16447         (mac_font_get_descent, mac_font_get_leading)
16448         (mac_font_get_underline_position)
16449         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
16450         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
16451         replaced with definitions.
16452         (mac_font_create_preferred_family_for_attributes)
16453         (mac_font_get_advance_width_for_glyph)
16454         (mac_font_get_bounding_rect_for_glyph)
16455         (mac_font_create_available_families, mac_font_shape):
16456         Remove macros for renamed functions.
16457         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
16458         * src/macfont.m (mac_font_descriptor_supports_languages):
16459         Rename from mac_ctfont_descriptor_supports_languages.
16460         (mac_font_create_preferred_family_for_attributes): Rename from
16461         mac_ctfont_create_preferred_family_for_attributes.
16462         (mac_font_get_advance_width_for_glyph): Rename from
16463         mac_ctfont_get_advance_width_for_glyph.
16464         Use kCTFontOrientationDefault also for older versions.
16465         (mac_font_get_bounding_rect_for_glyph): Rename from
16466         mac_ctfont_get_bounding_rect_for_glyph.
16467         Use kCTFontOrientationDefault also for older versions.
16468         (mac_font_create_available_families): Rename from
16469         mac_ctfont_create_available_families.
16470         (mac_font_equal_in_postscript_name): Rename from
16471         mac_ctfont_equal_in_postscript_name.  All uses changed.
16472         (mac_font_create_line_with_string_and_font): Rename from
16473         mac_ctfont_create_line_with_string_and_font.  All uses changed.
16474         (mac_font_shape): Rename from mac_ctfont_shape.
16475         (mac_font_family_compare): Remove unused declaration.
16477 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16479         Fix minor text quoting in calc, calendar, vc
16480         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
16481         * lisp/calc/calc-help.el (calc-j-prefix-help):
16482         * lisp/calc/calc-misc.el (calc-help):
16483         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
16484         Escape an apostrophe in a docstring.
16485         * lisp/calc/calc-forms.el (calc-hms-notation):
16486         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
16487         Escape an apostrophe in a diagnostic.
16488         * lisp/calc/calc-misc.el (calc-help):
16489         * lisp/calendar/diary-lib.el (diary-include-files):
16490         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
16491         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
16492         * lisp/vc/ediff-diff.el (ediff-same-contents):
16493         * lisp/vc/ediff-merg.el (ediff-re-merge):
16494         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
16495         * lisp/vc/ediff-util.el (ediff-test-save-region)
16496         (ediff-status-info):
16497         * lisp/vc/ediff.el (ediff-merge-revisions)
16498         (ediff-merge-revisions-with-ancestor):
16499         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
16500         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
16501         Respect text quoting style in doc string or diagnostic.
16502         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
16503         * lisp/vc/add-log.el (change-log-goto-source):
16504         Avoid double-formatting.
16505         * lisp/vc/ediff-init.el (format-message):
16506         New backward-compatibility alias.
16508 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16510         Fix minor text quoting problems in lisp top level
16511         * lisp/apropos.el (apropos-describe-plist):
16512         * lisp/cus-theme.el (customize-themes):
16513         * lisp/dired.el (dired-log):
16514         * lisp/help-fns.el (describe-variable):
16515         * lisp/hexl.el (hexl-insert-multibyte-char):
16516         * lisp/info.el (Info-finder-find-node):
16517         * lisp/json.el (json-read-string):
16518         * lisp/novice.el (disabled-command-function)
16519         (disabled-command-function):
16520         * lisp/startup.el (normal-mouse-startup-screen):
16521         * lisp/woman.el (WoMan-log, WoMan-warn):
16522         Respect text quoting style in doc string or diagnostic.
16523         * lisp/replace.el (replace-character-fold):
16524         * src/syntax.c (Fmodify_syntax_entry):
16525         Escape an apostrophe in a docstring.
16526         * lisp/tempo.el (tempo-define-template):
16527         Remove confusing apostrophe from docstring.
16528         * lisp/whitespace.el (whitespace-mark-x):
16529         Use directed quotes in docstring.
16531 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
16533         Fix indentation rule in css-mode
16534         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
16535         brackets in presence of pseudo-selectors.  (Bug#21328)
16537 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
16539         Fix a bug in recording a macro while flyspell-mode is active
16540         * lisp/subr.el (sit-for): Don't call read-event when recording a
16541         macro.  (Bug#21329)
16543 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16545         Tweak startup screen quoting
16546         * lisp/startup.el (normal-splash-screen): Use standard
16547         "M-" abbrevation rather than a confusingly-different one.
16548         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
16550 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
16552         Add test case for ‘format’ bug and refactor
16553         * src/editfns.c (styled_format): Refactor internally, mostly by
16554         moving declarations closer to uses.  This should not affect behavior.
16555         * test/automated/textprop-tests.el (textprop-tests-format): New test.
16557         Fix ‘format’ bug with property offsets
16558         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
16559         bug in calculating string property offsets (Bug#21351).
16561         Use straight quotes in lib-src diagnostics
16562         These auxiliary programs can’t use Emacs’s text-quoting-style,
16563         and it’s too much trouble to redo that mechanism by hand.
16564         So just use straight quotes for now.
16565         * lib-src/ebrowse.c (main):
16566         * lib-src/emacsclient.c (decode_options, main):
16567         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
16568         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
16569         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
16570         (none_help, print_language_names, print_help, add_regex)
16571         (suggest_asking_for_help):
16572         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
16573         Use straight quotes in diagnostics.
16575         ‘text-quoting-style’ fixes for admin
16576         * admin/admin.el (cusver-scan, cusver-check):
16577         * admin/authors.el (authors-canonical-file-name):
16578         * admin/bzrmerge.el (bzrmerge-missing):
16579         Respect ‘text-quoting-style’ in diagnostics.
16581 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
16583         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
16584         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
16585         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
16586         * doc/lispref/internals.texi (Writing Emacs Primitives):
16587         * etc/NEWS:
16588         Document the change.
16589         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
16590         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
16591         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
16592         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
16593         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
16594         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
16595         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
16596         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
16597         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
16598         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
16599         Remove.  All uses removed.  The code now assumes
16600         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
16601         * src/bytecode.c (relocate_byte_stack):
16602         Rename from unmark_byte_stack, since it now only relocates.
16603         All callers changed.
16604         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
16605         with GCPROs removed.
16606         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
16607         * test/automated/finalizer-tests.el (finalizer-basic)
16608         (finalizer-circular-reference, finalizer-cross-reference)
16609         (finalizer-error):
16610         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
16611         Remove tests, as they depend on gc-precise.
16613 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
16615         Improve seq-concatenate for new sequence types
16616         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
16617         ensure that concatenation happens on sequences only.  This makes it
16618         possible to use `seq-concatenate' for new types of seqs.
16619         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate):
16620         New function used in `seq-concatenate'.
16621         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
16622         for seq-into-sequence.
16624 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
16626         Add mode local overrides to xref-find-definitions
16627         * lisp/cedet/mode-local.el (xref-mode-local--override-present)
16628         (xref-mode-local-overload): New; add mode local overrides to
16629         xref-find-definitions.
16630         * test/automated/elisp-mode-tests.el: Add mode local override tests.
16631         (xref-elisp-test-run): Handle indented defuns.
16632         (xref-elisp-generic-*): Improve doc strings.
16633         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
16634         (elisp--xref-find-definitions): Use it.
16636         Add mode local overrides to describe-function
16637         * lisp/cedet/mode-local.el (describe-mode-local-overload):
16638         New; add mode local overrides to describe-function.
16639         * etc/NEWS: Document change.
16641 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
16643         Prefer straight quoting in some etc text files
16644         These files are plain text and might be used by non-Emacs apps.
16645         They’re mostly ASCII, so just use straight quotes.
16647         Fix quoting in ‘message_with_string’
16648         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
16649         should work now.
16650         * src/xdisp.c (message_to_stderr): New function, refactored from
16651         part of ‘message3_nolog’.
16652         (message3_nolog): Use it.
16653         (message_with_string): Use it.  Don’t mishandle NUL bytes when
16654         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
16655         Use ‘format-message’, not ‘format’, so that quotes are translated.
16657 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
16659         Mention false positives of file-accessible-directory on w32
16660         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
16661         (Bug#21346)
16663 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
16665         Treat error strings as help
16666         * src/print.c (print_error_message): Translate quotes and command
16667         keys in errmsg so that users see, e.g., "Symbol’s value as
16668         variable is void: foo" when text-quoting-style is curved.
16670 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
16672         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
16674 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
16676         Top-level elisp files respect ‘text-quoting-style’
16677         In top-level elisp files, use format-message in diagnostic formats,
16678         so that they follow user preference as per ‘text-quoting-style’
16679         rather than being hard-coded to quote `like this'.
16680         * lisp/allout.el (allout-get-configvar-values):
16681         * lisp/apropos.el (apropos-symbols-internal):
16682         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
16683         (dired-do-create-files-regexp, dired-create-files-non-directory):
16684         * lisp/dired-x.el (dired-do-run-mail):
16685         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
16686         * lisp/disp-table.el (standard-display-european):
16687         * lisp/find-dired.el (find-dired):
16688         * lisp/forms.el (forms-mode):
16689         * lisp/ido.el (ido-buffer-internal):
16690         * lisp/info.el (Info-index-next):
16691         * lisp/outline.el (outline-invent-heading):
16692         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
16693         * lisp/proced.el (proced-log):
16694         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
16695         * lisp/recentf.el (recentf-open-files, recentf-save-list):
16696         * lisp/savehist.el (savehist-save):
16697         * lisp/server.el (server-ensure-safe-dir):
16698         * lisp/ses.el (ses-rename-cell):
16699         * lisp/simple.el (list-processes--refresh):
16700         * lisp/startup.el (command-line):
16701         * lisp/strokes.el (strokes-unset-last-stroke)
16702         (strokes-execute-stroke):
16703         Use format-message so that quotes are restyled.
16704         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
16705         Don’t quote ‘raised’.
16706         * lisp/descr-text.el (describe-char):
16707         * lisp/dirtrack.el (dirtrack-debug-message):
16708         * lisp/hexl.el (hexl-insert-multibyte-char):
16709         Apply substitute-command-keys to help string.
16710         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
16711         (wdired-do-perm-changes):
16712         Let dired-log do the formatting.
16714 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
16716         Go back to grave quoting in Tramp
16717         * lisp/net/tramp-adb.el:
16718         * lisp/net/tramp-cache.el:
16719         * lisp/net/tramp-compat.el:
16720         * lisp/net/tramp-gvfs.el:
16721         * lisp/net/tramp-gw.el:
16722         * lisp/net/tramp-sh.el:
16723         * lisp/net/tramp-smb.el:
16724         * lisp/net/tramp.el:
16725         Stick with grave quoting in diagnostics strings.  This is more
16726         portable to older Emacs, desirable for Tramp.
16727         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
16728         for diagnostic that needs requoting.
16729         * lisp/net/tramp-compat.el (format-message):
16730         Fall back on simple ‘format’, since that’s good enough now.
16732         Go back to grave quoting in Gnus
16733         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
16734         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
16735         (gnus-agent-fetch-headers):
16736         * lisp/gnus/gnus-int.el (gnus-start-news-server):
16737         * lisp/gnus/gnus-registry.el:
16738         (gnus-registry--split-fancy-with-parent-internal)
16739         (gnus-registry-post-process-groups):
16740         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
16741         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
16742         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
16743         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
16744         * lisp/gnus/spam.el (spam-check-blackholes):
16745         Stick with grave quoting in diagnostics strings.  This is more
16746         portable to older Emacs, desirable for Gnus.
16748         Fix customization of text-quoting-style
16749         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
16750         * lisp/wid-edit.el (widget-docstring):
16751         Get raw docstring here since it’s cooked later and should not be
16752         cooked twice.
16753         * lisp/cus-edit.el (custom-group-value-create):
16754         Cook the docstring before inserting it.
16755         * lisp/cus-start.el (text-quoting-style): Quote the customization
16756         docstrings according to the new rules.  Give curved examples.
16758         format-message now curves ` and '
16759         That way, the caller doesn’t have to use curved quotes to
16760         get diagnostics that match the text-quoting-style preferences.
16761         Suggested by Dmitry Gutov in:
16762         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
16763         This means we no longer need %qs, so remove that format.
16764         While we’re at it, fix an unlikely bug and lessen the pressure
16765         on the garbage collector by processing the string once rather
16766         than twice in the usual case.
16767         * doc/lispref/strings.texi (Formatting Strings):
16768         * etc/NEWS: Document this.
16769         * lisp/subr.el (format-message): Remove; now done in C.
16770         * src/callint.c (Fcall_interactively):
16771         * src/editfns.c (Fmessage, Fmessage_box):
16772         Use Fformat_message instead of Finternal__text_restyle
16773         followed by Fformat.
16774         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
16775         uLSQM and uRSQM.
16776         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
16777         when pure ASCII now suffices.  Fix unlikely bug when parsing
16778         unibyte string containing non-ASCII bytes.  Use inline code
16779         rather than memcpy, as it’s a tiny number of bytes.
16780         (Finternal__text_restyle): Remove; no longer used.
16781         (syms_of_doc): Don’t declare it.
16782         * src/editfns.c (Fformat): Rewrite in terms of new function
16783         ‘styled_format’.
16784         (Fformat_message): New function, moved here from subr.el.
16785         (styled_format): New function, with the old guts of Fformat,
16786         except it now optionally transliterates quotes, and it transliterates
16787         traditional grave accent and apostrophe quoting as well.
16788         Remove recently-added q flag; no longer needed or used.
16789         (syms_of_editfns): Define format-message.
16790         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
16791         Remove; no longer need to be global symbols.
16792         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
16793         so that callers can use `%s'.
16794         * src/image.c (image_size_error, xbm_load_image, xbm_load)
16795         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
16796         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
16797         (svg_load_image, gs_load, x_kill_gs_process):
16798         * src/lread.c (load_warn_old_style_backquotes):
16799         * src/xfaces.c (load_pixmap):
16800         * src/xselect.c (x_clipboard_manager_error_1):
16801         Use `%s' instead of %qs in formats.
16803 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
16805         Minor fixes in doc/emacs/search.texi
16806         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
16807         (Special Isearch): Use @w{} to generate several consecutive spaces
16808         with Texinfo 6.  (Bug#21345)
16810 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
16812         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
16813         (tramp-awk-coding-test): New defconsts.
16814         (tramp-remote-coding-commands): Use them.
16815         (tramp-find-inline-encoding): Check for Perl only if necessary.
16817 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
16819         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
16820         index entries for the special form `quote'.
16822 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
16824         Spelling fixes
16826         Gnus format-message typo fix
16827         * lisp/gnus/gnus-util.el (gnus-format-message):
16828         Fix typo when running in older Emacs.
16830         Prefer directed to neutral quotes in docstings and diagnostics.
16831         In docstrings, escape apostrophes that would otherwise be translated
16832         to curved quotes using the newer, simpler rules.
16833         * admin/unidata/unidata-gen.el (unidata-gen-table):
16834         * lisp/align.el (align-region):
16835         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
16836         * lisp/bookmark.el (bookmark-default-annotation-text):
16837         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
16838         * lisp/calc/calc-lang.el (math-read-giac-subscr)
16839         (math-read-math-subscr):
16840         * lisp/calc/calc-misc.el (report-calc-bug):
16841         * lisp/calc/calc-prog.el (calc-fix-token-name)
16842         (calc-read-parse-table-part):
16843         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
16844         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
16845         * lisp/dabbrev.el (dabbrev-expand):
16846         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
16847         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
16848         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
16849         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
16850         * lisp/erc/erc-button.el (erc-nick-popup):
16851         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
16852         * lisp/eshell/em-dirs.el (eshell/cd):
16853         * lisp/eshell/em-glob.el (eshell-glob-regexp):
16854         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
16855         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
16856         * lisp/eshell/esh-opt.el (eshell-show-usage):
16857         * lisp/files-x.el (modify-file-local-variable):
16858         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
16859         (filesets-update-pre010505):
16860         * lisp/find-cmd.el (find-generic, find-to-string):
16861         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
16862         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
16863         (gnus-agent-fetch-headers):
16864         * lisp/gnus/gnus-int.el (gnus-start-news-server):
16865         * lisp/gnus/gnus-registry.el:
16866         (gnus-registry--split-fancy-with-parent-internal):
16867         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
16868         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
16869         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
16870         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
16871         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
16872         * lisp/gnus/spam.el (spam-check-blackholes):
16873         * lisp/mail/feedmail.el (feedmail-run-the-queue):
16874         * lisp/mpc.el (mpc-playlist-rename):
16875         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
16876         * lisp/net/mairix.el (mairix-widget-create-query):
16877         * lisp/net/tramp-cache.el:
16878         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
16879         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
16880         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
16881         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
16882         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
16883         (org-babel-goto-named-result):
16884         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
16885         * lisp/org/ob-ref.el (org-babel-ref-resolve):
16886         * lisp/org/org-agenda.el (org-agenda-prepare):
16887         * lisp/org/org-bibtex.el (org-bibtex-fields):
16888         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
16889         (org-clock-resolve):
16890         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
16891         * lisp/org/org-habit.el (org-habit-parse-todo):
16892         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
16893         (org-mouse-context-menu):
16894         * lisp/org/org-table.el (org-table-edit-formulas):
16895         * lisp/org/ox.el (org-export-async-start):
16896         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
16897         (dun-rooms, dun-endgame-questions):
16898         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
16899         * lisp/progmodes/ada-xref.el (ada-find-executable):
16900         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
16901         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
16902         (flymake-start-syntax-check-process):
16903         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
16904         * lisp/progmodes/sql.el (sql-comint):
16905         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
16906         * lisp/server.el (server-get-auth-key):
16907         * lisp/subr.el (version-to-list):
16908         * lisp/textmodes/reftex-ref.el (reftex-label):
16909         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
16910         * lisp/vc/ediff-diff.el (ediff-same-contents):
16911         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
16912         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
16913         Use directed rather than neutral quotes in diagnostics.
16915         Treat ' like ’ even when not matching `
16916         This is simpler and easier to explain, and should encourage better
16917         typography.  Do this in Electric Quote mode and when translating
16918         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
16919         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
16920         * doc/emacs/text.texi (Quotation Marks):
16921         * doc/lispref/help.texi (Keys in Documentation):
16922         * etc/NEWS:
16923         Document this.
16924         * lisp/electric.el (electric-quote-post-self-insert-function):
16925         * src/doc.c (Fsubstitute_command_keys):
16926         Always treat ' like ’ even when not matched by an open quote.
16928 2015-08-25  Glenn Morris  <rgm@gnu.org>
16930         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
16931         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
16933 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
16935         * src/macfont.m (macfont_create_family_with_symbol):
16936         Accept localized names.
16938 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16940         Tramp diagnostics as per ‘text-quoting-style’
16941         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
16942         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
16943         (tramp-adb-handle-delete-directory)
16944         (tramp-adb-handle-delete-file)
16945         (tramp-adb-handle-file-local-copy)
16946         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
16947         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
16948         (tramp-adb-maybe-open-connection):
16949         * lisp/net/tramp-cache.el:
16950         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
16951         (tramp-compat-octal-to-decimal)
16952         (tramp-compat-coding-system-change-eol-conversion):
16953         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
16954         (tramp-gvfs-do-copy-or-rename-file)
16955         (tramp-gvfs-handle-delete-directory)
16956         (tramp-gvfs-handle-delete-file)
16957         (tramp-gvfs-handle-expand-file-name)
16958         (tramp-gvfs-handle-file-local-copy)
16959         (tramp-gvfs-handle-file-notify-add-watch)
16960         (tramp-gvfs-handle-make-directory)
16961         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
16962         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
16963         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
16964         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
16965         (tramp-sh-handle-set-visited-file-modtime)
16966         (tramp-sh-handle-set-file-modes)
16967         (tramp-sh-handle-file-name-all-completions)
16968         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
16969         (tramp-do-copy-or-rename-file-directly)
16970         (tramp-do-copy-or-rename-file-out-of-band)
16971         (tramp-sh-handle-make-directory)
16972         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
16973         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
16974         (tramp-sh-handle-start-file-process)
16975         (tramp-sh-handle-file-local-copy)
16976         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
16977         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
16978         (tramp-find-file-exists-command, tramp-open-shell)
16979         (tramp-find-shell)
16980         (tramp-open-connection-setup-interactive-shell)
16981         (tramp-find-inline-encoding, tramp-find-inline-compress)
16982         (tramp-compute-multi-hops, tramp-maybe-open-connection)
16983         (tramp-wait-for-output, tramp-send-command-and-check)
16984         (tramp-send-command-and-read, tramp-get-remote-path)
16985         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
16986         (tramp-get-ls-command-with-quoting-style)
16987         (tramp-get-test-command, tramp-get-remote-ln)
16988         (tramp-get-remote-perl, tramp-get-remote-stat)
16989         (tramp-get-remote-readlink, tramp-get-remote-trash)
16990         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
16991         (tramp-get-remote-inotifywait, tramp-get-remote-id)
16992         (tramp-get-remote-python):
16993         * lisp/net/tramp-smb.el (tramp-smb-errors)
16994         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
16995         (tramp-smb-handle-delete-directory)
16996         (tramp-smb-handle-delete-file)
16997         (tramp-smb-handle-file-local-copy)
16998         (tramp-smb-handle-make-directory)
16999         (tramp-smb-handle-make-directory-internal)
17000         (tramp-smb-handle-make-symbolic-link)
17001         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
17002         (tramp-smb-handle-set-file-modes)
17003         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
17004         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
17005         (tramp-process-actions):
17006         Generate diagnostics according to ‘text-quoting-style’, by
17007         using curved quotes in format strings and ‘format-message’
17008         when appropriate.
17009         * lisp/net/tramp-compat.el (format-message):
17010         Define a replacement, if it’s an older version of Emacs
17011         that doesn’t have it already.
17013         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
17015 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
17017         Fix documentation for `save-excursion'
17018         * doc/lispref/positions.texi (Excursions):
17019         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
17020         (Template for save-excursion, Point and mark): `save-excursion'
17021         does not save&restore the mark any more.
17023 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
17025         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
17026         New defconsts.
17027         (tramp-do-file-attributes-with-stat)
17028         (tramp-do-directory-files-and-attributes-with-stat): Use them.
17029         (tramp-convert-file-attributes): Remove double slashes in symlinks.
17030         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
17031         Handle symlinks with "//" in the file name.
17033         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
17035 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
17037         Fix cl-subseq and cl-concatenate
17038         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
17039         seq functions.
17040         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
17041         seq-concatenate.
17043 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
17045         Fix full-screen code when there is no window manager (Bug#21317)
17046         * src/xterm.h (x_wm_supports): Declare external.
17047         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
17048         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
17049         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
17050         `fullscreen' frame parameter.
17051         * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running
17052         without a window manager.
17054 2015-08-24  Glenn Morris  <rgm@gnu.org>
17056         * lisp/version.el (emacs-version): No longer include build host.
17057         * doc/lispref/intro.texi (Version Info): Update example.
17059 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17061         * doc/lispref/elisp.texi: Fix typo in previous change.
17063         More-conservative ‘format’ quote restyling
17064         Instead of restyling curved quotes for every call to ‘format’,
17065         create a new function ‘format-message’ that does the restyling,
17066         and using the new function instead of ‘format’ only in contexts
17067         where this seems appropriate.
17068         Problem reported by Dmitry Gutov and Andreas Schwab in:
17069         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
17070         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
17071         * doc/lispref/commands.texi (Using Interactive):
17072         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
17073         * doc/lispref/display.texi (Displaying Messages, Progress):
17074         * doc/lispref/elisp.texi:
17075         * doc/lispref/help.texi (Keys in Documentation):
17076         * doc/lispref/minibuf.texi (Minibuffer Misc):
17077         * doc/lispref/strings.texi (Formatting Strings):
17078         * etc/NEWS:
17079         Document the changes.
17080         * lisp/abbrev.el (expand-region-abbrevs):
17081         * lisp/apropos.el (apropos-library):
17082         * lisp/calc/calc-ext.el (calc-record-message)
17083         (calc-user-function-list):
17084         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
17085         * lisp/calc/calc-lang.el (math-read-big-balance):
17086         * lisp/calc/calc-store.el (calc-edit-variable):
17087         * lisp/calc/calc-units.el (math-build-units-table-buffer):
17088         * lisp/calc/calc-yank.el (calc-edit-mode):
17089         * lisp/calendar/icalendar.el (icalendar-export-region)
17090         (icalendar--add-diary-entry):
17091         * lisp/cedet/mode-local.el (mode-local-print-binding)
17092         (mode-local-describe-bindings-2):
17093         * lisp/cedet/semantic/complete.el (semantic-completion-message):
17094         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
17095         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
17096         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
17097         * lisp/descr-text.el (describe-text-properties-1, describe-char):
17098         * lisp/dframe.el (dframe-message):
17099         * lisp/dired-aux.el (dired-query):
17100         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
17101         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
17102         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
17103         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
17104         (cconv-analyze-form):
17105         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
17106         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
17107         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
17108         * lisp/emacs-lisp/edebug.el (edebug-format):
17109         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
17110         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
17111         (eldoc-message):
17112         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
17113         * lisp/emacs-lisp/find-func.el (find-function-library):
17114         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
17115         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
17116         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
17117         * lisp/emacs-lisp/package.el (package-compute-transaction)
17118         (package-install-button-action, package-delete-button-action)
17119         (package-menu--list-to-prompt):
17120         * lisp/emacs-lisp/timer.el (timer-event-handler):
17121         * lisp/emacs-lisp/warnings.el (lwarn, warn):
17122         * lisp/emulation/viper-cmd.el:
17123         (viper-toggle-parse-sexp-ignore-comments)
17124         (viper-kill-buffer, viper-brac-function):
17125         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
17126         * lisp/facemenu.el (facemenu-add-new-face):
17127         * lisp/faces.el (face-documentation, read-face-name)
17128         (face-read-string, read-face-font, describe-face):
17129         * lisp/files.el (find-alternate-file, hack-local-variables)
17130         (hack-one-local-variable--obsolete, write-file)
17131         (basic-save-buffer, delete-directory):
17132         * lisp/format.el (format-write-file, format-find-file)
17133         (format-insert-file):
17134         * lisp/help-fns.el (help-fns--key-bindings)
17135         (help-fns--compiler-macro, help-fns--obsolete)
17136         (help-fns--interactive-only, describe-function-1)
17137         (describe-variable):
17138         * lisp/help.el (describe-mode):
17139         * lisp/info-xref.el (info-xref-output):
17140         * lisp/info.el (Info-virtual-index-find-node)
17141         (Info-virtual-index, info-apropos):
17142         * lisp/international/kkc.el (kkc-error):
17143         * lisp/international/mule-cmds.el:
17144         (select-safe-coding-system-interactively)
17145         (select-safe-coding-system, describe-input-method):
17146         * lisp/international/mule-conf.el (code-offset):
17147         * lisp/international/mule-diag.el (describe-character-set)
17148         (list-input-methods-1):
17149         * lisp/international/quail.el (quail-error):
17150         * lisp/minibuffer.el (minibuffer-message):
17151         * lisp/mpc.el (mpc--debug):
17152         * lisp/msb.el (msb--choose-menu):
17153         * lisp/net/ange-ftp.el (ange-ftp-message):
17154         * lisp/net/gnutls.el (gnutls-message-maybe):
17155         * lisp/net/newst-backend.el (newsticker--sentinel-work):
17156         * lisp/net/newst-treeview.el (newsticker--treeview-load):
17157         * lisp/net/nsm.el (nsm-query-user):
17158         * lisp/net/rlogin.el (rlogin):
17159         * lisp/net/soap-client.el (soap-warning):
17160         * lisp/net/tramp.el (tramp-debug-message):
17161         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
17162         * lisp/nxml/nxml-parse.el (nxml-parse-error):
17163         * lisp/nxml/rng-cmpct.el (rng-c-error):
17164         * lisp/nxml/rng-match.el (rng-compile-error):
17165         * lisp/nxml/rng-uri.el (rng-uri-error):
17166         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
17167         * lisp/org/org-ctags.el:
17168         (org-ctags-ask-rebuild-tags-file-then-find-tag):
17169         * lisp/proced.el (proced-log):
17170         * lisp/progmodes/ebnf2ps.el (ebnf-log):
17171         * lisp/progmodes/flymake.el (flymake-log):
17172         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
17173         * lisp/replace.el (occur-1):
17174         * lisp/simple.el (execute-extended-command)
17175         (undo-outer-limit-truncate, define-alternatives):
17176         * lisp/startup.el (command-line):
17177         * lisp/subr.el (error, user-error, add-to-list):
17178         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
17179         (tutorial--find-changed-keys):
17180         * src/callint.c (Fcall_interactively):
17181         * src/editfns.c (Fmessage, Fmessage_box):
17182         Restyle the quotes of format strings intended for use as a
17183         diagnostic, when restyling seems appropriate.
17184         * lisp/subr.el (format-message): New function.
17185         * src/doc.c (Finternal__text_restyle): New function.
17186         (syms_of_doc): Define it.
17188 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17190         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
17192 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17194         python.el: Fix python-shell-buffer-substring on indented code
17195         (Bug#21086)
17196         * lisp/progmodes/python.el (python-shell-buffer-substring):
17197         Respect current line indentation when calculating string.
17198         * test/automated/python-tests.el
17199         (python-shell-buffer-substring-10)
17200         (python-shell-buffer-substring-11)
17201         (python-shell-buffer-substring-12): New tests.
17203 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17205         Fix minor glitches from ‘format’ reversion
17206         * doc/lispref/strings.texi (Formatting Strings):
17207         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
17208         Documentation’, not below.
17209         * src/syntax.c (Finternal_describe_syntax_value):
17210         Prefer AUTO_STRING to build_string where either will do, as
17211         AUTO_STRING is a bit faster.
17213 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17215         python.el: Defer shell setup code until first interactive prompt
17216         * lisp/progmodes/python.el
17217         (python-shell-comint-watch-for-first-prompt-output-filter):
17218         New function.
17219         (inferior-python-mode): Use it.
17220         (python-shell-first-prompt-hook): New hook.
17221         (python-shell-send-setup-code)
17222         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
17223         this hook instead of inferior-python-hook.
17225 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
17227         Remove the calls to `seq-into` from `seq-concatenate`
17228         Since most new types of seq would have to be defined as sequences (cons
17229         cells or CL structs, mostly), there is no need to convert the seqs to
17230         sequences (which can be a fairly expensive operation).
17231         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
17232         sequences.
17234 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17236         python.el: Fix completion for pdb interactions
17237         * lisp/progmodes/python.el (python-shell-completion-setup-code):
17238         Simplify.  Toggle print_mode for native wrapped completer.
17239         (python-shell-completion-native-setup): Ensure process buffer.
17240         Add print_mode attribute to completer wrapper to toggle returning
17241         or printing candidates.
17242         (python-shell-completion-native-get-completions): Cleanup.
17243         (python-shell-completion-get-completions): Cleanup.
17244         (python-shell-completion-at-point): Perform prompt checks.
17245         Force fallback completion in pdb interactions.
17247 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
17249         Make seq.el more extensible by using cl-defmethod
17250         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
17251         make it easier to extend seq.el with new "seq types".
17252         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
17253         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
17254         subseq in cl-extra.el, and use it in seq.el.
17256 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17258         python.el: Fix prompt detection with user overridden interpreter
17259         * lisp/progmodes/python.el (python-shell-prompt-detect):
17260         Honor buffer local python-shell-interpreter and
17261         python-shell-interpreter-interactive-arg.
17263 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
17265         Support exec-directory with non-ASCII characters on Windows
17266         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
17267         in the system's ANSI codepage, when it is used for invoking
17268         cmdproxy.
17270 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
17272         Revert "Extend ‘format’ to translate curved quotes"
17273         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
17275         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
17276         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
17278 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
17280         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers):
17281         Clarify "invisible window".
17283 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
17285         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
17286         magic-fallback-mode-alist.
17288 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17290         python.el: fallback completion, ffap and eldoc setup enhancements
17291         Setup codes are now sent continuously so that the current frame is
17292         always taken into account.  This allows working within debuggers
17293         and always keeping a fresh version of setup codes that will return
17294         proper results.
17295         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
17296         (python-shell-send-setup-code): Send code only when
17297         python-shell-setup-codes is non-nil.
17298         (python-shell-completion-string-code): Cleanup trailing newline.
17299         (python-shell-completion-get-completions): Always use
17300         python-shell-completion-setup-code.
17301         (python-ffap-setup-code): Work with any object, not only modules.
17302         (python-ffap-string-code): Cleanup trailing newline.
17303         (python-ffap-module-path): Always use python-ffap-setup-code.
17304         (python-eldoc-string-code): Cleanup trailing newline.
17305         (python-eldoc--get-doc-at-point): Always use
17306         python-eldoc-setup-code.  Return non-nil only if docstring is
17307         found.
17309         python.el: Increase native completion robustness
17310         * lisp/progmodes/python.el (python-shell-completion-native-setup):
17311         Make completer print real candidates and just return dummy ones to
17312         avoid input modification.
17313         (python-shell-completion-native-get-completions): Set
17314         comint-redirect-insert-matching-regexp to non-nil and make
17315         comint-redirect-finished-regexp match the last dummy candidate.
17316         Use python-shell-accept-process-output to wait for the full list
17317         of candidates.
17319 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
17321         Fix invocation of programs via cmdproxy.exe
17322         * src/w32proc.c (sys_spawnve): Use exec-directory, not
17323         invocation-directory, for finding cmdproxy.exe.  When Emacs is
17324         run from the source tree, look for cmdproxy.exe in the same source
17325         tree.  (Bug#21323)
17327 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
17329         Handle comments inside unquoted URIs in css-mode
17330         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
17331         (css-syntax-propertize-function): New defconst.
17332         (css--font-lock-keywords): Handle parens around unquoted URIs.
17333         (css-mode): Set `syntax-propertize-function'.
17335 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
17337         Support invocation of Hunspell with multiple dictionaries
17338         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file):
17339         Support lists of dictionaries of the form "DICT1,DICT2,...".
17340         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
17342         Minor formatting changes in ispell.el
17343         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
17344         (ispell-print-if-debug, ispell-aspell-find-dictionary)
17345         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
17346         (ispell-hunspell-dictionary-alist)
17347         (ispell-hunspell-fill-dictionary-entry)
17348         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
17349         (ispell-buffer-with-debug, ispell-complete-word)
17350         (ispell-current-dictionary, ispell-current-personal-dictionary)
17351         (ispell-accept-output, ispell-minor-mode)
17352         (ispell-personal-dictionary, ispell-dictionary-alist)
17353         (ispell-really-aspell, ispell-really-hunspell)
17354         (ispell-encoding8-command, ispell-aspell-supports-utf8)
17355         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
17356         Fix whitespace, inconsistent capitalization, and arguments in doc
17357         strings.
17359 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
17361         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
17362         function refused to resize a size-preserved window.
17364 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
17366         * doc/lispref/windows.texi (Selecting Windows): Improve
17367         documentation and indexing of 'window-use-time'.
17369 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
17371         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
17372         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
17373         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
17374         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
17375         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
17376         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
17377         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
17378         Fix up commenting style.
17380 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
17382         text-quoting-style in emacs-lisp diagnostics
17383         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
17384         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
17385         (ad-disable-advice, ad-remove-advice, ad-set-argument)
17386         (ad-set-arguments):
17387         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
17388         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
17389         (byte-optimize-while, byte-optimize-apply):
17390         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
17391         (byte-compile-log-file, byte-compile-format-warn)
17392         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
17393         (byte-compile-cl-warn)
17394         (byte-compile-warn-about-unresolved-functions)
17395         (byte-compile-file, byte-compile-fix-header)
17396         (byte-compile--declare-var, byte-compile-file-form-defmumble)
17397         (byte-compile-form, byte-compile-normal-call)
17398         (byte-compile-variable-ref, byte-compile-variable-set)
17399         (byte-compile-subr-wrong-args, byte-compile-setq-default)
17400         (byte-compile-negation-optimizer)
17401         (byte-compile-condition-case--old)
17402         (byte-compile-condition-case--new, byte-compile-save-excursion)
17403         (byte-compile-defvar, byte-compile-autoload)
17404         (byte-compile-lambda-form)
17405         (byte-compile-make-variable-buffer-local, display-call-tree)
17406         (batch-byte-compile):
17407         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
17408         (cconv-analyze-form):
17409         * lisp/emacs-lisp/chart.el (chart-space-usage):
17410         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
17411         (check-declare-warn, check-declare-file)
17412         (check-declare-directory):
17413         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
17414         (checkdoc-message-text-engine):
17415         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
17416         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
17417         (cl-symbol-macrolet):
17418         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
17419         * lisp/emacs-lisp/copyright.el (copyright)
17420         (copyright-update-directory):
17421         * lisp/emacs-lisp/edebug.el (edebug-read-list):
17422         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
17423         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
17424         (eieio-oref, eieio-oset-default):
17425         * lisp/emacs-lisp/eieio-speedbar.el:
17426         (eieio-speedbar-child-make-tag-lines)
17427         (eieio-speedbar-child-description):
17428         * lisp/emacs-lisp/eieio.el (defclass, change-class):
17429         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
17430         (elint-init-form, elint-check-defalias-form)
17431         (elint-check-let-form):
17432         * lisp/emacs-lisp/ert.el (ert-get-test):
17433         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
17434         (find-function-library):
17435         * lisp/emacs-lisp/generator.el (iter-yield):
17436         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
17437         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
17438         * lisp/emacs-lisp/package-x.el (package-upload-file):
17439         * lisp/emacs-lisp/package.el (package-version-join)
17440         (package-disabled-p, package-activate-1, package-activate)
17441         (package--download-one-archive)
17442         (package--download-and-read-archives)
17443         (package-compute-transaction, package-install-from-archive)
17444         (package-install, package-install-selected-packages)
17445         (package-delete, package-autoremove)
17446         (package-install-button-action, package-delete-button-action)
17447         (package-menu-hide-package, package-menu--list-to-prompt)
17448         (package-menu--perform-transaction)
17449         (package-menu--find-and-notify-upgrades):
17450         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
17451         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
17452         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
17453         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
17454         * lisp/emacs-lisp/smie.el (smie-config-save):
17455         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
17456         * lisp/emacs-lisp/testcover.el (testcover-1value):
17457         Use curved quotes in diagnostic format strings.
17459 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17461         python.el: Ensure remote process-environment on non-interactive processes
17462         * lisp/progmodes/python.el
17463         (python-shell-tramp-refresh-process-environment): New function.
17464         (python-shell-with-environment): Use it.
17465         * test/automated/python-tests.el (python-shell-with-environment-2):
17466         Update.
17468         python.el: Enhancements to process environment setup.
17469         * lisp/progmodes/python.el (python-shell-process-environment)
17470         (python-shell-extra-pythonpaths, python-shell-exec-path)
17471         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
17472         (python-shell-setup-codes): Remove :safe.
17473         (python-shell-remote-exec-path): New defcustom.
17474         (python-shell--add-to-path-with-priority): New macro.
17475         (python-shell-calculate-pythonpath): Give priority to
17476         python-shell-extra-pythonpaths.  Update docstring.
17477         (python-shell-calculate-process-environment): Give priority to
17478         python-shell-process-environment.  Update docstring.
17479         (python-shell-calculate-exec-path): Give priority to
17480         python-shell-exec-path and calculated virtualenv bin directory.
17481         Update docstring.
17482         (python-shell-tramp-refresh-remote-path): New function.
17483         (python-shell-with-environment): Use it when working remotely and
17484         do not modify tramp-remote-path.  Allow nesting.
17485         (python-shell-calculate-command): Remove useless
17486         python-shell-with-environment call.
17487         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
17488         (python-shell-calculate-pythonpath-2)
17489         (python-shell-calculate-process-environment-6)
17490         (python-shell-calculate-process-environment-7)
17491         (python-shell-calculate-process-environment-8)
17492         (python-shell-calculate-exec-path-3)
17493         (python-shell-calculate-exec-path-4)
17494         (python-shell-calculate-exec-path-5)
17495         (python-shell-calculate-exec-path-6)
17496         (python-shell-with-environment-3): New tests.
17497         (python-shell-calculate-process-environment-2)
17498         (python-shell-calculate-process-environment-3)
17499         (python-shell-calculate-process-environment-4)
17500         (python-shell-calculate-process-environment-5)
17501         (python-shell-calculate-exec-path-1)
17502         (python-shell-calculate-exec-path-2)
17503         (python-shell-with-environment-1)
17504         (python-shell-with-environment-2): Update and simplify.
17506 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
17508         Avoid hard-coding "M-x command" in docstrings
17509         * lisp/calendar/todo-mode.el (todo-mode):
17510         * lisp/desktop.el (desktop-save-mode):
17511         * lisp/edmacro.el (edit-kbd-macro):
17512         * lisp/emacs-lisp/package.el (package-menu-execute):
17513         * lisp/emulation/viper-cmd.el (viper-ask-level):
17514         * lisp/emulation/viper-init.el (viper-expert-level):
17515         * lisp/filesets.el (filesets-add-buffer):
17516         * lisp/follow.el (follow-mode):
17517         * lisp/gnus/auth-source.el (auth-sources):
17518         * lisp/international/ogonek.el (ogonek-informacja)
17519         (ogonek-information):
17520         * lisp/net/tramp.el (tramp-process-actions):
17521         * lisp/org/org-gnus.el (org-gnus-no-new-news):
17522         * lisp/org/org.el (org-ellipsis):
17523         * lisp/progmodes/python.el (python-shell-get-process-or-error):
17524         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
17525         * lisp/server.el (server-start):
17526         * lisp/type-break.el (type-break-noninteractive-query):
17527         * lisp/userlock.el (ask-user-about-supersession-help):
17528         * lisp/whitespace.el (whitespace-report-region):
17529         Prefer (substitute-command-keys "`\\[foo-command]'")
17530         to "`M-x foo-command'" in docstrings and the like.
17532 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
17534         Use add-function for prettify-symbols-compose-predicate
17535         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
17536         prettify-symbols-compose-predicate in terms of add-function.
17537         * etc/NEWS: Mention prettify-symbols-compose-predicate and
17538         prettify-symbols-mode support in tex-mode.
17540 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
17542         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun.
17543         (smie-indent-exps, smie-indent-keyword): Use it.
17544         * test/indent/css-mode.css: Test alignment with leading comment.
17546 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
17548         Respect text-quoting-style in (*Finder*) menus
17549         * lisp/info.el (info--prettify-description):
17550         Treat description as a docstring, so that it's requoted as
17551         per text-quoting-style.
17553 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
17555         Document `window-use-time' in Elisp manual
17556         * doc/lispref/windows.texi (Selecting Windows): Document
17557         `window-use-time'.
17559 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
17561         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.
17562         This is a cleaner fix for Bug#21260 than the previous change.
17564 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
17566         Respect text-quoting-style in calc
17567         In calc, tespect text-quoting-style preference in diagnostic
17568         formats and fix a few similar problems in docstrings.
17569         * lisp/calc/calc-aent.el (math-read-factor):
17570         * lisp/calc/calc-embed.el (calc-do-embedded):
17571         * lisp/calc/calc-ext.el (calc-user-function-list)
17572         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
17573         * lisp/calc/calc-help.el (calc-describe-key)
17574         (calc-describe-thing):
17575         * lisp/calc/calc-lang.el (calc-c-language)
17576         (math-parse-fortran-vector-end, math-parse-tex-sum)
17577         (math-parse-eqn-matrix, math-parse-eqn-prime)
17578         (calc-yacas-language, calc-maxima-language, calc-giac-language)
17579         (math-read-big-rec, math-read-big-balance):
17580         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
17581         (calc-auto-recompute):
17582         * lisp/calc/calc-prog.el (calc-user-define-invocation)
17583         (math-do-arg-check):
17584         * lisp/calc/calc-store.el (calc-edit-variable):
17585         * lisp/calc/calc-units.el (math-build-units-table-buffer):
17586         * lisp/calc/calc-vec.el (math-read-brackets):
17587         * lisp/calc/calc-yank.el (calc-edit-mode):
17588         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
17589         Use curved quotes in diagnostic format strings.
17590         * lisp/calc/calc-help.el (calc-describe-thing):
17591         Format docstrings with substitute-command-keys.
17592         * lisp/calc/calc-help.el (calc-j-prefix-help):
17593         * lisp/calc/calc-misc.el (calc-help):
17594         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
17595         Escape a docstring "`".
17597 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
17599         Fix documentation of 'menu-set-font' and 'set-frame-font'
17600         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
17601         * doc/lispref/frames.texi (Frame Font): Document that
17602         set-frame-font with the last argument 't' will also make the font
17603         the default for the future GUI frames.
17605         Document '--create-frame' option to emacsclient
17606         * doc/emacs/misc.texi (emacsclient Options): Document the
17607         '--create-frame' option.  (Bug#21308)
17609 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
17611         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
17613 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
17615         Document 'get-mru-window' in the ELisp manual
17616         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
17617         'get-mru-window'.  (Bug#21306)
17619         Clarify documentation of 'get-buffer-window-list'
17620         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
17621         current window, if relevant, will be the first in the list
17622         returned by 'get-buffer-window-list'.
17623         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
17625 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
17627         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
17628         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
17629         `switch-to-buffer'.
17631 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
17633         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
17634         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
17635         `display-buffer' instead of `switch-to-buffer'.
17637 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
17639         Follow user preference in calendar diagnostics
17640         Respect text-quoting-style preference in diagnostic formats by
17641         using curved quotes (which are translated as per text-quoting-style)
17642         instead of grave accent and apostrophe (which are not).
17643         * lisp/calendar/appt.el (appt-display-message):
17644         * lisp/calendar/diary-lib.el (diary-check-diary-file)
17645         (diary-mail-entries, diary-from-outlook):
17646         * lisp/calendar/icalendar.el (icalendar-export-region)
17647         (icalendar--convert-float-to-ical)
17648         (icalendar--convert-date-to-ical)
17649         (icalendar--convert-ical-to-diary)
17650         (icalendar--convert-recurring-to-diary)
17651         (icalendar--add-diary-entry):
17652         * lisp/calendar/time-date.el (format-seconds):
17653         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
17654         (timeclock-make-hours-explicit):
17655         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
17656         (todo-item-mark, todo-check-format)
17657         (todo-insert-item--next-param, todo-edit-item--next-key)
17658         (todo-mode):
17659         Use curved quotes in diagnostic format strings.
17660         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
17661         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
17662         Just use straight quoting for simple test case.
17664 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
17666         * src/gfilenotify.c (Fgfile_add_watch):
17667         Handle errors from g_file_monitor.
17669 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
17671         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
17672         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
17673         frame" instead of "non-minibuffer frame".
17675         Fix frame geometry related text
17676         * doc/lispref/frames.texi (Frame Layout):
17677         Rename `x-frame-geometry' to `frame-geometry'.
17678         * doc/lispref/frames.texi (Mouse Position):
17679         * doc/lispref/windows.texi (Coordinates and Windows):
17680         Use `set-mouse-absolute-pixel-position' instead of
17681         `x-set-mouse-absolute-pixel-position'.
17683         Sanitize frame geometry related functions
17684         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
17685         (Fx_frame_edges): Rename to Fns_frame_edges.
17686         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
17687         (Fx_frame_edges): Rename to Fw32_frame_edges.
17688         (Fx_mouse_absolute_pixel_position): Rename to
17689         Fw32_mouse_absolute_pixel_position.
17690         (Fx_set_mouse_absolute_pixel_position): Rename to
17691         Fw32_set_mouse_absolute_pixel_position.
17692         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
17693         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
17694         (ns-frame-edges, w32-mouse-absolute-pixel-position)
17695         (x-mouse-absolute-pixel-position)
17696         (w32-set-mouse-absolute-pixel-position)
17697         (x-set-mouse-absolute-pixel-position): Declare.
17698         (frame-geometry, mouse-absolute-pixel-position)
17699         (set-mouse-absolute-pixel-position): New functions.
17700         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
17702 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
17704         Fix MinGW64 build broken by latest w32uniscribe.c changes
17705         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
17706         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
17707         (Bug#21260)
17709 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
17711         Add TeX defaults for prettify-symbol-mode
17712         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
17713         Rename from tex-prettify-symbols-alist.
17714         (tex--prettify-symbols-compose-p): New function.
17715         (tex-common-initialization): Use them as prettify-symbols-alist
17716         and prettify-symbols-compose-predicate.
17718         Generalize prettify-symbols to arbitrary modes
17719         * lisp/progmodes/prog-mode.el
17720         (prettify-symbols-default-compose-p): New function.
17721         (prettify-symbols-compose-predicate): New variable.
17722         (prettify-symbols--compose-symbol): Use it.
17724 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
17726         Don't quote symbols 'like-this' in docstrings etc.
17727         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
17728         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
17729         * lisp/allout.el (allout-add-resumptions, allout-mode):
17730         * lisp/calculator.el (calculator-operators):
17731         * lisp/cedet/data-debug.el (dd-propertize):
17732         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
17733         * lisp/cedet/semantic/analyze/debug.el:
17734         (semantic-analyzer-debug-global-miss-text):
17735         * lisp/cedet/semantic/lex-spp.el:
17736         (semantic-lex-spp-replace-or-symbol-or-keyword):
17737         * lisp/cedet/semantic/symref.el:
17738         (semantic-symref-cleanup-recent-buffers-fcn):
17739         * lisp/cedet/semantic/tag.el (semantic-tag-class):
17740         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
17741         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
17742         * lisp/gnus/pop3.el (pop3-authentication-scheme):
17743         * lisp/help-fns.el (describe-function-orig-buffer):
17744         * lisp/imenu.el (imenu--history-list):
17745         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
17746         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
17747         (feedmail-queue-default-file-slug)
17748         (feedmail-queue-buffer-file-name):
17749         * lisp/net/mairix.el (mairix-searches-mode-map):
17750         * lisp/net/newst-backend.el (newsticker-retrieval-method)
17751         (newsticker-auto-mark-filter-list):
17752         * lisp/obsolete/vi.el (vi-mode):
17753         * lisp/progmodes/cc-engine.el (c-literal-type):
17754         * lisp/progmodes/cpp.el (cpp-face):
17755         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
17756         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
17757         * lisp/progmodes/pascal.el (pascal-auto-lineup):
17758         * lisp/progmodes/prog-mode.el (prog-widen):
17759         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
17760         (verilog-auto-lineup, verilog-auto-reset-widths)
17761         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
17762         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
17763         (flyspell-maybe-correct-doubling):
17764         * lisp/textmodes/table.el (table-justify, table-justify-cell)
17765         (table-justify-row, table-justify-column, table-insert-sequence)
17766         (table--justify-cell-contents):
17767         * lisp/url/url-auth.el (url-get-authentication):
17768         * lisp/window.el (display-buffer-record-window):
17769         * lisp/xml.el (xml-parse-file, xml-parse-region):
17770         * src/gfilenotify.c (Fgfile_add_watch):
17771         Don't quote symbols with apostrophes in doc strings.
17772         Use asymmetric quotes instead.
17773         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
17774         Likewise for symbol in diagnostic.
17775         * lisp/image.el (image-extension-data):
17776         * lisp/register.el (frame-configuration-to-register):
17777         * src/buffer.c (syms_of_buffer):
17778         Remove bogus apostrophes after symbols.
17779         * lisp/thumbs.el (thumbs-conversion-program):
17780         Quote Lisp string values using double-quotes, not apostrophes.
17782 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
17784         Describe frame geometry and related functions in Elisp manual
17785         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
17786         (Showing Images): Update references.
17787         * doc/lispref/elisp.texi (Top): Update node listing.
17788         * doc/lispref/frames.texi (Frame Geometry): New node.
17789         Move `Size and Position' section here.
17790         (Size Parameters): Update references.
17791         (Mouse Position): Update references and nomenclature.
17792         Describe new functions `x-mouse-absolute-pixel-position' and
17793         `x-set-mouse-absolute-pixel-position'.
17794         * doc/lispref/windows.texi (Window Sizes): Update references.
17795         (Resizing Windows): Update references.  Move description of
17796         `fit-frame-to-buffer' here.
17797         (Coordinates and Windows): Update nomenclature and references.
17798         Describe new arguments of `window-edges'.  Comment out
17799         descriptions of `window-left-column', `window-top-line',
17800         `window-pixel-left' and `window-pixel-top'.  Describe
17801         `window-absolute-pixel-position'.
17803 2015-08-20  Alan Mackenzie  <acm@muc.de>
17805         Handling of `c-parse-state'.  Fix low level bug.
17806         * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards):
17807         Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
17809 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
17811         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
17812         window instead of deleting it.
17814 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
17816         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
17817         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
17818         determine whether frame has a titlebar.
17819         Suggested by Eli Zaretskii <eliz@gnu.org>
17821 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
17823         Add a prettify-symbols-alist for (La)TeX
17824         * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist):
17825         New variable holding an alist suitable as prettify-symbols-alist in
17826         (La)TeX modes.
17828 2015-08-19  Alan Mackenzie  <acm@muc.de>
17830         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
17831         Fixes debbugs#21275.
17832         In Emacs >= 25, let electric-pair-mode take precedence over
17833         delete-selection-mode.
17834         * lisp/delsel.el (delete-selection-uses-region-p): New function,
17835         previously a lambda expression in a property value for
17836         `self-insert-command'.
17837         (top-level): Set the `delete-selection' property of
17838         `self-insert-command' to `delete-selection-uses-region-p'.
17839         * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection'
17840         property for c-electric-\(brace\|paren\) the value
17841         `delete-selection-uses-region-p' when the latter function exists.
17843 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17845         Fix key binding quoting in tutorial *Help*
17846         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
17847         When generating help for custom key bindings, use the user-preferred
17848         quoting style rather than hardcoding the grave style.
17850 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
17852         Improve and future-proof OTF fonts support in w32uniscribe.c
17853         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
17854         about the expected results and why the new Uniscribe APIs are not
17855         used in this function.
17856         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
17857         (ScriptGetFontFeatureTags_Proc): New function typedefs.
17858         (uniscribe_new_apis): New static variable.
17859         (uniscribe_check_features): New function, implements OTF features
17860         verification while correctly accounting for features in the list
17861         after the nil member, if any.
17862         (uniscribe_check_otf_1): New function, retrieves the features
17863         supported by the font for the requested script and language using
17864         the Uniscribe APIs available from Windows Vista onwards.
17865         (uniscribe_check_otf): If the new Uniscribe APIs are available,
17866         use them in preference to reading the font data directly.  Call
17867         uniscribe_check_features to verify that the requested features are
17868         supported, replacing the original incomplete code.
17869         (syms_of_w32uniscribe): Initialize function pointers for the new
17870         Uniscribe APIs.  (Bug#21260)
17871         (otf_features): Scan the script, langsys, and feature arrays back
17872         to front, so that the result we return has them in alphabetical
17873         order, like ftfont.c does.
17874         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
17875         New variable for debugging w32uniscribe.c code.
17877 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
17879         * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87
17880         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
17881         clause of `isearch-search-fun-default'.  That lax variable does not
17882         refer to lax-whitespacing.  Related to (bug#21777).
17883         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
17884         * lisp/character-fold.el (character-fold-search): Set to nil.
17885         Default to nil for now, until someone implements proper
17886         lax-whitespacing with char-fold searching.
17888 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
17890         Fix doc-string of `help-mode-finish'.
17891         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
17893         In nsimage.m include coding.h (Bug#21292)
17894         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
17896         Move window edge functions to Elisp.
17897         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
17898         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
17899         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
17900         Move to window.el.
17901         (calc_absolute_offset): Remove.
17902         * lisp/frame.el (frame-edges): New function.
17903         * lisp/window.el (window-edges, window-pixel-edges)
17904         (window-absolute-pixel-edges): Move here from window.c.
17905         (window-body-edges, window-body-pixel-edges)
17906         (window-absolute-body-pixel-edges): Move here from window.c and
17907         rename "inside" to "body".  Keep old names as aliases.
17908         (window-absolute-pixel-position): New function.
17910 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
17912         [Gnus]: Use overlay functions directly
17913         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
17914         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
17915         (gnus-article-highlight-signature, gnus-article-extend-url-button)
17916         (gnus-article-add-button, gnus-insert-prev-page-button)
17917         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
17918         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
17919         (gnus-cite-add-face):
17920         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
17921         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
17922         (gnus-tree-recenter, gnus-highlight-selected-tree):
17923         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
17924         (gnus-summary-show-thread, gnus-summary-hide-thread)
17925         (gnus-highlight-selected-summary):
17926         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
17927         * lisp/gnus/message.el (message-fix-before-sending)
17928         (message-toggle-image-thumbnails):
17929         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
17930         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
17931         Use overlay functions directly instead of using gnus-overlay-*,
17932         message-overlay-*, and sieve-overlay-*.
17933         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
17934         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
17935         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
17936         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
17937         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
17938         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
17939         (message-overlay-get, message-overlay-put, message-overlays-in):
17940         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
17941         (sieve-overlays-at): Remove.
17943 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
17945         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version
17946         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
17947         builds can use the declaration from the system headers.
17948         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
17949         definition of TITLEBAR_INFO.
17950         Suggested by Eli Zaretskii  <eliz@gnu.org>
17952 2015-08-19  Glenn Morris  <rgm@gnu.org>
17954         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
17956 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17958         Use new q ‘format’ flag when fixing quotes in C
17959         * src/image.c (image_size_error): New function.  All uses of
17960         image_error with "Invalid image size ..."  changed to use it.
17961         * src/image.c (image_size_error, xbm_load_image, xbm_load)
17962         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
17963         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
17964         (imagemagick_load, svg_load, svg_load_image, gs_load)
17965         (x_kill_gs_process):
17966         * src/lread.c (load_warn_old_style_backquotes):
17967         * src/xfaces.c (load_pixmap):
17968         * src/xselect.c (x_clipboard_manager_error_1):
17969         Use %qs, not uLSQM and uRSQM.
17970         * src/syntax.c (Finternal_describe_syntax_value):
17971         Prefer Fsubstitute_command_keys to Fformat, as this lets
17972         us use AUTO_STRING.
17973         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
17974         as it's now guaranteed to be ASCII.
17975         * src/xselect.c (x_clipboard_manager_error_2):
17976         Avoid grave accent in low-level stderr diagnostic.
17978 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
17980         New q flag for ‘format’
17981         * doc/lispref/processes.texi (Sentinels):
17982         Don't hardwire grave quoting style in example.
17983         * doc/lispref/strings.texi (Formatting Strings):
17984         * etc/NEWS:
17985         Document new q flag.
17986         * src/editfns.c (Fformat): Implement it.
17988 2015-08-18  Daiki Ueno  <ueno@gnu.org>
17990         pinentry.el: Add debugging support
17991         * lisp/net/pinentry.el (pinentry-debug): New variable.
17992         (pinentry-debug-buffer): New variable.
17993         (pinentry--process-filter): Send input to the debug buffer, if
17994         `pinentry-debug' is set.
17996         pinentry.el: Improve multiline prompt
17997         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
17998         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
17999         command.
18001 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
18003         Fix multibyte confusion in diagnostics
18004         * src/print.c (print_error_message):
18005         Don't assume that the caller's name is unibyte.
18006         * src/xdisp.c (vadd_to_log):
18007         Don't assume that the formatted diagnostic is unibyte.
18009         Fix file name encodings in diagnostics
18010         Also, close some minor races when opening image files, by opening
18011         them once instead of multiple times.
18012         * src/gtkutil.c (xg_get_image_for_pixmap):
18013         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
18014         (svg_load):
18015         * src/nsimage.m (allocInitFromFile:):
18016         * src/xfns.c (xg_set_icon):
18017         Encode file name, since x_find_image_file no longer does that.
18018         * src/image.c (x_find_image_fd): New function.
18019         (x_find_image_file): Use it.  Do not encode resulting file name,
18020         since callers sometimes need it decoded.
18021         (slurp_file): File arg is now a fd, not a file name.
18022         All callers changed.  This saves us having to open the file twice.
18023         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
18024         (svg_load):
18025         Use x_find_image_fd and fdopen to save a file-open.
18026         Report file name that failed.
18027         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
18029 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
18031         Allow blink-matching-paren to jump off screen
18032         * doc/emacs/programs.texi (Matching): Mention the
18033         `blink-matching-paren' value `jump-offscreen'.
18034         * lisp/simple.el (blink-matching-paren): New possible value.
18035         (blink-matching-paren-on-screen): Clarify the docstring.
18036         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
18038         Refine the previous change
18039         * lisp/simple.el (blink-matching-open): Use minibuffer-message
18040         outside of save-excursion (bug#21286).
18042 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
18044         Rewrite and add frame geometry related functions.
18045         * src/frame.c (Fframe_position): New function.
18046         (Fset_frame_position): Rename parameters and rewrite doc-string.
18047         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
18048         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
18049         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
18050         Qtitle_bar_size.
18051         * src/nsfns.m (frame_geometry): New function.
18052         (Fx_frame_geometry): Call frame_geometry.
18053         (Fx_frame_edges): New function.
18054         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
18055         (GetTitleBarInfo_Proc): Define these so we can use the
18056         GetTitleBarInfo API.
18057         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
18058         (Fx_frame_geometry): Rewrite.
18059         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
18060         (Fx_set_mouse_absolute_pixel_position): New functions.
18061         * src/xfns.c (frame_geometry): New function.
18062         (Fx_frame_geometry): Call frame_geometry.
18063         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
18064         (Fx_set_mouse_absolute_pixel_position): New functions.
18066 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
18068         Improve Tramp's compatibility
18069         * lisp/net/tramp.el (tramp-get-method-parameter):
18070         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
18071         (tramp-adb-get-device):
18072         * lisp/net/trampver.el (tramp-repository-get-version):
18073         Use `tramp-compat-replace-regexp-in-string'.
18075 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
18077         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
18078         Encode/decode string.
18080 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
18082         Clarify what happens to match data on failure
18083         Problem reported by Ernesto Alfonso (Bug#21279).
18084         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
18085         Document more carefully what happens to match data after a failed
18086         search.
18087         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
18088         the return value is undefined if the last search failed.
18089         (Fmatch_data): Simplify doc string line 1.
18091 2015-08-18  Daiki Ueno  <ueno@gnu.org>
18093         Revert "pinentry.el: Support external passphrase cache"
18094         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
18095         pinentry.el shouldn't directly interact with the secrets service,
18096         but ask the caller to cache the passphrase.
18098 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
18100         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
18101         Message mode hooks.
18103 2015-08-17  Daiki Ueno  <ueno@gnu.org>
18105         epg.el: Make gpgconf output parsing future proof
18106         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
18107         --list-options" output.
18109         pinentry.el: Support external passphrase cache
18110         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
18111         (pinentry--allow-external-password-cache): New local variable.
18112         (pinentry--key-info): New local variable.
18113         (secrets-enabled, secrets-search-items, secrets-get-secret):
18114         Declare.
18115         (pinentry--send-passphrase): New function, split from
18116         `pinentry--process-filter'.
18117         (pinentry--process-filter): Use secrets.el to retrieve passphrase
18118         from login keyring.
18120         pinentry.el: Popup window for multiline prompt
18121         * lisp/net/pinentry.el (pinentry): New custom group.
18122         (pinentry-popup-prompt-window): New user option.
18123         (pinentry-prompt-window-height): New user option.
18124         (pinentry--prompt-buffer): New variable.
18125         (pinentry-prompt-mode-map): New variable.
18126         (pinentry-prompt-mode): New function.
18127         (pinentry--prompt): New function.
18128         (pinentry--process-filter): Use `pinentry--prompt' instead of
18129         `read-passwd' and `y-or-n-p'.
18131 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
18133         message.el: Silent the byte compiler
18134         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
18135         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
18136         (message-delete-overlay, message-window-inside-pixel-edges):
18137         Declare before using.
18139         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
18140         (message-window-inside-pixel-edges): XEmacs compatible functions.
18142 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
18144         * lisp/gnus/message.el (message-toggle-image-thumbnails): New command.
18146 2015-08-17  Noah Friedman  <friedman@splode.com>
18148         * lisp/simple.el (blink-matching-open): Restore point before
18149         calling minibuffer-message.
18151 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
18153         * lisp/play/dunnet.el: Update version number in header (now
18154         matches help).
18156 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
18158         Curved quotes in --batch diagnostics in non-UTF-8
18159         When run with --batch, check that curved quotes are compatible with
18160         the system locale before outputting them in diagnostics.
18161         Problem reported by Eli Zaretskii in:
18162         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
18163         * lisp/startup.el (command-line): Set internal--text-quoting-flag
18164         after the standard display table is initialized.
18165         * src/doc.c (default_to_grave_quoting_style): New function.
18166         (text_quoting_style): Use it.
18167         (text_quoting_flag): New static var, visible to Lisp as
18168         internal--text-quoting-flag.
18169         * src/emacs.c: Include <wchar.h> if available.
18170         (using_utf8): New function.
18171         (main): Use it to initialize text_quoting_flag.
18172         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
18173         Don't define, as it's not needed and it clashes with wchar.h.
18175 2015-08-17  Glenn Morris  <rgm@gnu.org>
18177         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
18178         from makeinfo about spurious "Note:" cross-reference, and for grammar.
18180 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
18182         Minor change in variable initialization on MS-Windows
18183         * src/w32fns.c <after_dead_key>: Initialize to -1.
18184         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
18185         non-zero.
18187         Fix a bug with LWindow key remapping on MS-Windows
18188         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
18190 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
18192         Improve fontset support for latest OTF script tags
18193         * lisp/international/fontset.el (otf-script-alist): Add some
18194         missing script tags.
18195         (setup-default-fontset): Include settings for v2 versions of the
18196         script tags used by some modern OTF/TTF fonts.
18198 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
18200         Spelling fixes
18202 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
18204         Use curved quotes in core elisp diagnostics
18205         In the core elisp files, use curved quotes in diagnostic formats,
18206         so that they follow user preference as per ‘text-quoting-style’
18207         rather than being hard-coded to quote `like this'.
18208         * lisp/abbrev.el (expand-region-abbrevs):
18209         * lisp/button.el (button-category-symbol, button-put)
18210         (make-text-button):
18211         * lisp/cus-start.el:
18212         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
18213         (custom--sort-vars-1, load-theme):
18214         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
18215         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
18216         (cl-generic-generalizers):
18217         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
18218         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
18219         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
18220         (advice--make, define-advice):
18221         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
18222         * lisp/emacs-lisp/timer.el (timer-event-handler):
18223         * lisp/env.el (setenv):
18224         * lisp/facemenu.el (facemenu-add-new-face)
18225         (facemenu-add-new-color):
18226         * lisp/faces.el (face-documentation, read-face-name)
18227         (face-read-string, read-face-font, face-spec-set-match-display)
18228         (read-color, x-resolve-font-name):
18229         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
18230         (set-auto-mode, hack-local-variables)
18231         (hack-one-local-variable--obsolete)
18232         (dir-locals-set-directory-class, write-file)
18233         (basic-save-buffer, delete-directory, copy-directory)
18234         (recover-session, recover-session-finish, insert-directory)
18235         (file-modes-char-to-who, file-modes-symbolic-to-number)
18236         (move-file-to-trash):
18237         * lisp/font-lock.el (font-lock-fontify-buffer):
18238         * lisp/format.el (format-write-file, format-find-file)
18239         (format-insert-file):
18240         * lisp/frame.el (get-device-terminal, select-frame-by-name):
18241         * lisp/fringe.el (fringe--check-style):
18242         * lisp/help.el (describe-minor-mode-from-indicator):
18243         * lisp/image.el (image-type):
18244         * lisp/international/fontset.el (x-must-resolve-font-name):
18245         * lisp/international/mule-cmds.el (prefer-coding-system)
18246         (select-safe-coding-system-interactively)
18247         (select-safe-coding-system, activate-input-method)
18248         (toggle-input-method, describe-current-input-method):
18249         * lisp/international/mule-conf.el (code-offset):
18250         * lisp/mouse.el (minor-mode-menu-from-indicator):
18251         * lisp/replace.el (query-replace-read-from)
18252         (occur-after-change-function, occur-1):
18253         * lisp/scroll-bar.el (scroll-bar-columns):
18254         * lisp/simple.el (execute-extended-command)
18255         (undo-outer-limit-truncate, compose-mail, set-variable)
18256         (choose-completion-string, define-alternatives):
18257         * lisp/startup.el (site-run-file, tty-handle-args)
18258         (command-line, command-line-1):
18259         * lisp/subr.el (noreturn, define-error, add-to-list)
18260         (read-char-choice):
18261         * lisp/term/common-win.el (x-handle-xrm-switch)
18262         (x-handle-name-switch, x-handle-args):
18263         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
18264         Use curved quotes in diagnostics.
18265         * lisp/international/mule.el (find-auto-coding):
18266         Use " to quote in a diagnostic, to be consistent with the rest of
18267         this file.
18269         Convert lisp/term/x-win.el to UTF-8
18270         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
18271         runtime behavior, and the file is multilingual so compile-time
18272         appearance shouldn't be an issue.
18273         * admin/notes/unicode: Document this.
18275 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
18277         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
18278         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
18279         issues and comments, bug#943.
18280         (verilog-type-font-keywords): Cycle delay operators like ##1 and
18281         ##[0:$] are now highlighted in their entirety similarly to the #
18282         delay-control operator.  Likewise, the followed-by operators #-#
18283         and #=# are no longer partially highlighed.
18284         (verilog-backward-syntactic-ws-quick)
18285         (verilog-skip-backward-comments): Minor performance improvements
18286         to buffer traversal functions for reduced latency.
18287         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
18288         keyword 'final' follows 'assert/assume/cover', then it is part of
18289         a deferred immediate assertion item and should not be treated as a
18290         final construct for indentation.  Reported by Yuri Sugihara.
18291         (verilog-do-indent): Virtual task/function/class definition lines
18292         should not be considered as declarations.  Reported by Enzo Chi.
18293         (verilog-do-indent): Do not falsely indent to '=' of
18294         property/sequence operators on subsequent lines of a multi-line
18295         statement.
18296         (verilog-assignment-operator-re): Fix '!==' operator and add
18297         support for '<->', ':/', '#-#', and '#=#' operators.
18298         (verilog-calculate-indent, verilog-label-be): Enable
18299         case-sensitive regular expression parsing when looking for
18300         keywords.
18301         (verilog-calc-1): Detect 'pure virtual method' declarations which
18302         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
18303         (verilog-backward-ws&directives): When moving back to the start of
18304         a line and the preceeding line ended with an escaped-newline, then
18305         jump up one line.  This properly consumes a multi-line
18306         pre-processor directive.  Reported by Kaushal Modi.
18307         (verilog-dpi-import-export-re, verilog-extended-complete-re)
18308         (verilog-calc-1): Teach verilog-mode to properly indent after a
18309         DPI import/export statement that resides outside of a module.
18310         Reported by Kaushal Modi.
18311         (verilog-extended-complete-re): Update regexp to match both
18312         "DPI-C" and "DPI".  Reported by Kaushal Modi.
18314 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18316         substitute-command-keys a few more doc strings
18317         * lisp/allout.el (outlineify-sticky):
18318         * lisp/files.el (hack-one-local-variable--obsolete):
18319         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
18320         Use substitute-command-keys on some doc strings so that
18321         they don't use hard-coded key bindings or quoting styles.
18323         Fix quoting in Fformat calls
18324         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
18325         (xpm_load, xpm_load_image, pbm_load, png_load_body)
18326         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
18327         (imagemagick_load, svg_load, svg_load_image, gs_load)
18328         (x_kill_gs_process):
18329         * src/lread.c (load_warn_old_style_backquotes):
18330         * src/xfaces.c (load_pixmap):
18331         * src/xselect.c (x_clipboard_manager_error_1):
18332         Quote diagnostics according to user preference when calling
18333         Fformat or its derivatives.
18335 2015-08-15  Glenn Morris  <rgm@gnu.org>
18337         * admin/admin.el (set-version, set-copyright): Remove deleted files.
18339 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
18341         Allow describe-function helpers to access buffer-local values
18342         This will be used by cedet/mode-local.el `describe-mode-local-override'
18343         on `help-fns-describe-function-functions' in upstream CEDET.
18344         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
18345         `describe-function'.
18346         (describe-function): Bind it, save it on the help xref stack.
18348         Handle pulse-background being nil
18349         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
18350         pulse-background, handle it being nil.
18352 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18354         Fix "\`" confusion in Lisp strings
18355         * admin/authors.el (authors-canonical-author-name):
18356         Fix typo by using "\\`" not "\`" in string RE.
18357         * lisp/obsolete/complete.el (PC-complete-as-file-name):
18358         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
18359         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
18360         Use plain "`", not the equivalent-but-confusing "\`", in strings.
18361         * lisp/textmodes/texinfmt.el: Fix comment likewise.
18363 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
18365         * nt/zipdist.bat: Remove -- no longer used.
18367 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
18369         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
18370         rather than "getenforce".
18371         (tramp-sh-handle-set-file-selinux-context): Do not
18372         cache SELinux context if not all context components are given.
18374 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
18376         Add doc strings to 2 help-mode.el functions
18377         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
18378         strings.  (Bug#21263)
18380         Remove files used by the old MS-Windows specific build procedure
18381         * admin/unidata/makefile.w32-in:
18382         * doc/emacs/makefile.w32-in:
18383         * doc/lispintro/makefile.w32-in:
18384         * doc/lispref/makefile.w32-in:
18385         * doc/misc/makefile.w32-in:
18386         * leim/makefile.w32-in:
18387         * lib-src/makefile.w32-in:
18388         * lib/makefile.w32-in:
18389         * lisp/makefile.w32-in:
18390         * nt/INSTALL.OLD:
18391         * nt/config.nt:
18392         * nt/emacs-src.tags:
18393         * nt/envadd.bat:
18394         * nt/gmake.defs:
18395         * nt/makefile.w32-in:
18396         * nt/multi-install-info.bat:
18397         * nt/nmake.defs:
18398         * nt/paths.h:
18399         * src/makefile.w32-in: Files deleted.
18400         * nt/configure.bat: Remove everything except the blurb about the
18401         new build procedure.
18402         * make-dist: Remove references to makefile.w32-in in various
18403         directories, and to files in nt/ that were deleted.
18404         * etc/NEWS: Mention the fact that the files were dropped.
18406 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18408         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
18409         (Bug#21248)
18411 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
18413         Default to inotify instead of gfile
18414         * configure.ac (with_file_notification): Fix typo that
18415         prevented suppression of file notification if HAVE_NS.
18416         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
18417         with_file_notification is 'yes' (Bug#21241).
18418         * etc/NEWS: Mention this.
18420         Fix broken URLs for ISO-IR
18421         * doc/emacs/mule.texi (Charsets):
18422         * lisp/international/mule-conf.el:
18423         Fix broken URL (Bug#21248).
18425         Low-level diagnostics now use ‘text-quoting-style’
18426         * src/doprnt.c (doprnt):
18427         Format ` and ' as per ‘text-quoting-style’.
18428         * src/xdisp.c (vmessage, message): Mention that the format should
18429         not contain ` or '.
18431         Prefer ‘format’ to ‘substitute-command-keys’
18432         * src/character.h (uLSQM, uRSQM): Move here ...
18433         * src/doc.c (uLSQM, uRSQM): ... from here.
18434         * src/doc.c (Fsubstitute_command_keys):
18435         * src/syntax.c (Finternal_describe_syntax_value):
18436         * lisp/cedet/mode-local.el (mode-local-print-binding)
18437         (mode-local-describe-bindings-2):
18438         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
18439         * lisp/cus-theme.el (describe-theme-1):
18440         * lisp/descr-text.el (describe-text-properties-1, describe-char):
18441         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
18442         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
18443         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
18444         * lisp/emacs-lisp/package.el (describe-package-1):
18445         * lisp/faces.el (describe-face):
18446         * lisp/help-fns.el (help-fns--key-bindings)
18447         (help-fns--compiler-macro, help-fns--parent-mode)
18448         (help-fns--obsolete, help-fns--interactive-only)
18449         (describe-function-1, describe-variable):
18450         * lisp/help.el (describe-mode):
18451         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
18452         to implement quoting style.  This generally makes the code simpler.
18454         Extend ‘format’ to translate curved quotes
18455         This is a followup to the recent doc string change, and deals with
18456         diagnostics and the like.  This patch is more conservative than
18457         the doc string change, in that the behavior of ‘format’ changes
18458         only if its first arg contains curved quotes and the user prefers
18459         straight or grave quotes.  (Come to think of it, perhaps we should
18460         be similarly conservative with doc strings too, but that can wait.)
18461         The upside of this conservatism is that existing usage is almost
18462         surely unaffected.  The downside is that we'll eventually have to
18463         change Emacs's format strings to use curved quotes in places where
18464         the user might want curved quotes, but that's a simple and
18465         mechanical translation that I'm willing to do later.  (Bug#21222)
18466         * doc/lispref/help.texi (Keys in Documentation):
18467         Move description of text-quoting-style from here ...
18468         * doc/lispref/strings.texi (Formatting Strings):
18469         ... to here, and describe new behavior of ‘format’.
18470         * etc/NEWS: Describe new behavior.
18471         * lisp/calc/calc-help.el (calc-describe-thing):
18472         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
18473         * lisp/info.el (Info-find-index-name):
18474         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
18475         of recently-added curved quotes.
18476         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
18477         Move from here ...
18478         * src/lisp.h: ... to here.
18479         * src/doc.c (text_quoting_style): New function.
18480         (Fsubstitute_command_keys): Use it.
18481         * src/editfns.c (Fformat): Implement new behavior.
18482         * src/lisp.h (enum text_quoting_style): New enum.
18484 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
18486         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
18487         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
18489 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
18491         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
18492         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
18494 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
18496         Flush file properties in Tramp
18497         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
18498         (tramp-sh-handle-set-file-times):
18499         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
18500         (tramp-adb-handle-set-file-times): Flush the file properties of
18501         the directory.
18503 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
18505         * doc/emacs/misc.texi (Amusements): Fixed typo.
18507 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
18509         Don't miss warnings about removing string text properties while dumping
18510         * src/alloc.c (purecopy): Warn about removing a string's text
18511         properties even when the same string was already pure-copied
18512         earlier.
18513         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
18514         (elisp--xref-format-extra): Fix the commentary.
18516 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
18518         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049).
18520 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
18522         * lisp/progmodes/compile.el: Use lexical-binding.
18523         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
18525 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
18527         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
18528         * lisp/uniquify.el: Remove redundant `:group's.
18530 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
18532         * lisp/net/tramp-adb.el
18533         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
18534         result to prevent modification of the tramp-cache by side effects.
18535         Use the correct cache key.
18537 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
18539         Make add_to_log varargs
18540         * src/alloc.c (run_finalizer_handler):
18541         * src/charset.c (load_charset_map_from_vector):
18542         * src/nsimage.m (ns_load_image):
18543         * src/xfaces.c (load_pixmap, load_color2):
18544         Simplify, now that add_to_log has a variable number of args.
18545         * src/image.c (image_error): Take a variable number of args.
18546         Callers simplified.
18547         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
18548         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
18549         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
18550         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
18552         Optional args for holiday-greek-orthodox-easter
18553         * etc/NEWS: Document this.
18554         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
18555         Add optional args N and STRING, mimicking the API and code of
18556         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
18558 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
18560         xref-find-definitions: Exclude more generic function items.
18561         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
18562         Add doc string.
18563         (cl--generic-find-defgeneric-regexp): New.
18564         (find-function-regexp-alist): Add it.
18565         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
18566         elisp-mode.el, change to search for ";;; Code:"
18567         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
18568         (find-function-regexp-alist): Add them.
18569         * lisp/progmodes/elisp-mode.el:
18570         (elisp--xref-format, elisp--xref-format-extra): Change back to
18571         defvar due to bug#21237.
18572         (elisp--xref-find-definitions): Exclude co-located default methods for
18573         generic functions.  Also exclude implicitly declared defgeneric.
18574         (elisp--xref-find-definitions): Handle C source properly.  Exclude minor
18575         mode variables defined by 'define-minor-mode'.
18576         * test/automated/elisp-mode-tests.el: Declare generic functions, add
18577         tests for them.
18578         (xref-elisp-test-run): Fix bug.
18579         (emacs-test-dir): Improve initial value.
18580         (find-defs-defun-defvar-el): Don't expect defvar.
18581         (find-defs-feature-el): Match change to find-feature-regexp.
18583 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
18585         Improve warning about purecopy of strings with properties
18586         * src/alloc.c (purecopy): Show the offending string with the
18587         warning about removing its text properties.
18589 2015-08-12  Alan Mackenzie  <acm@muc.de>
18591         Introduce new macros to cover Emacs's new names in cl-lib.el
18592         This also eliminates `mapcan' warnings in XEmacs.
18593         * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
18594         characterise [X]Emacs versions.
18595         (top-level): Require either 'cl or 'cl-lib, depending on
18596         c--mapcan-status.
18597         Change this back to cc-external-require from an eval-when-compile
18598         require.
18599         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
18600         (c--delete-duplicates): New macros which expand into either old or new
18601         names.
18602         (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros
18603         rather than the old names.
18604         * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan
18605         rather than mapcan.
18606         * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
18607         * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
18608         depending on c--mapcan-status.
18609         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
18610         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
18611         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
18612         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
18613         (c-decl-block-key, c-keywords, c-keywords-obarray)
18614         (c-regular-keywords-regexp, c-primary-expr-regexp)
18615         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
18616         (c-known-type-key, c-nonlabel-token-key)
18617         (c-make-init-lang-vars-fun): Use the new macros rather than the old
18618         names.
18620 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
18622         loadhist.el (read-feature): Conform to completing-read
18623         * lisp/loadhist.el (read-feature): According to `completing-read'
18624         documentation, if collection is a list, then it must be a list of
18625         strings, not a list of symbols like before.
18627 2015-08-12  David Kastrup  <dak@gnu.org>
18629         Deal gracefully with up-events (Bug#19746)
18630         * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
18631         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
18632         those may easily be injected by user-level Lisp code.
18633         (read_key_sequence): Discard unbound up-events like unbound
18634         down-events: they are even more likely only relevant for special
18635         purposes.
18636         While Emacs will not produce up-events on its own currently (those are
18637         converted to drag or click events before being converted to
18638         Lisp-readable structures), the input queue can be made to contain them
18639         by synthesizing events to `unread-command-events'.  Emacs should deal
18640         consistently with such events.
18642 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
18644         Fix display of thin lines whose newline has line-height property of t
18645         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
18646         and descent values of non-empty glyph rows, since they could have
18647         forced low values deliberately.  (Bug#21243)
18649 2015-08-12  Richard Stallman  <rms@gnu.org>
18651         Offer to combine multiple To or CC fields.
18652         * lisp/mail/sendmail.el (mail-combine-fields): New function.
18653         (mail-send): Call 'mail-combine-fields'.
18655         Don't decrypt encrypted files.
18656         * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
18658         Handle encrypted mbox files.
18659         * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt
18660         the mbox file if necessary.
18662         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
18663         * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine.
18664         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
18665         In a mime message, reenable Mime and show the parts that
18666         were shown before.
18667         Add keyword "decrypt" if anything decrypted.
18669         epa-inhibit inhibits auto-recognition of .gpg files
18670         * lisp/epa-file.el (epa-inhibit): New variable.
18671         (epa-file-handler): Check epa-inhibit.
18673 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
18675         * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
18677 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18679         Respect python.el imenu when semantic-mode is off
18680         Fixes bug#21220
18681         * lisp/cedet/semantic/wisent/python.el: Do not force
18682         wisent-python-default-setup on python-mode-hook.
18684 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
18686         Give names to Unicode code points in C code
18687         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
18688         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
18689         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
18690         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
18691         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
18692         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
18693         (OBJECT_REPLACEMENT_CHARACTER):
18694         New named constants for Unicode code points.
18695         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
18696         * src/composite.c (char_composable_p):
18697         * src/lread.c (readevalloop, read1):
18698         * src/xdisp.c (get_next_display_element):
18699         Use them.
18700         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
18701         Remove; now in character.h.
18703 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
18705         elisp--xref-find-definitions handle cl-defstuct default constructor
18706         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
18707         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
18708         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
18709         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
18710         from xref-elisp-test for ease of debugging.
18711         (xref-elisp-deftest): Rename from xref-elisp-test.
18712         (find-defs-constructor): New test.
18713         (find-defs-defgeneric-el): Match batch test config.
18714         (compile): Required for find-defs compilation-minor-mode test.
18715         (find-defs-defvar-el): Match code change.
18716         (find-defs-face-el): Match code change.
18717         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
18718         Improve doc string.
18720 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
18722         * lisp/replace.el (perform-replace): Document `replacements'.
18723         (perform-replace): Move the description of the format of `replacements'
18724         from the body's comment to the doc string.
18726 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
18728         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
18729         sequence.  Recent adb version send initial escape sequences, even
18730         when terminal type is set to TERM=dumb.
18732 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
18734         Rewrite elisp--xref-find-definitions to handle many more cases; add tests
18735         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
18736         Function deleted.
18737         (elisp--xref-format-cl-defmethod): New defconst.
18738         (find-feature-regexp, find-alias-regexp): New defcustoms.
18739         (elisp--xref-make-xref): New function.
18740         (elisp--xref-find-definitions): Rewrite using the above, handle many
18741         more cases.  Always output all available definitions.
18742         (xref-location-marker): No need for special cases.
18743         * test/automated/elisp-mode-tests.el: Add more tests of
18744         elisp--xref-find-definitions, improve current tests.
18746 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
18748         Fix recording of events pushed onto unread-command-events
18749         * src/keyboard.c (read_char): Make sure events read from
18750         unread-command-events and unread-post-input-method-events are
18751         always recorded by record_char.  Reported by David Kastrup
18752         <dak@gnu.org>, see
18753         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
18755 2015-08-10  Samer Masterson  <samer@samertm.com>
18757         Set file buffer as current for "--file"
18758         * lisp/startup.el (command-line-1): Set file buffer as current before
18759         it is displayed so it can be used with options like "--eval".
18760         (Bug#21095)
18762 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
18764         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
18765         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
18766         after setting LC_ALL to the desired locale, to avoid affecting how
18767         numbers are read and printed.  (Bug#21223)
18769 2015-08-10  Alan Mackenzie  <acm@muc.de>
18771         Fix "Invalid search bound (wrong side of point)" in fontification
18772         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
18773         an initialization expression, check point is not beyond the
18774         fontification limit.
18776 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
18778         Fix DPI calculation when Xft/DPI is default
18779         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
18780         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
18781         Remove unnecessary cast while we're in the neighborhood.
18783 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
18785         Add project-vc-search-path and project-vc-ignores
18786         * lisp/progmodes/project.el (project-vc): New group.
18787         (project-vc-search-path, project-vc-ignores): New variables.
18788         (project--value-in-dir): Utility function.
18789         (project-search-path, project-ignores): Use them.
18790         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
18791         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
18793 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
18795         Fix some minor quoting issues with grave accent
18796         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
18797         Remove redundant quotes.
18798         * src/doc.c (uLSQM, uRSQM): New macros.
18799         * src/doc.c (Fsubstitute_command_keys):
18800         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
18801         preference for quotes rather than hardcoding the ‘grave’ style.
18802         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
18803         (re_match_2_internal) [DEBUG]: In debugging output, quote C
18804         strings with "...", not `...'.
18806         ChangeLog.2 ignores remote-tracking merges
18807         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
18808         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
18809         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
18811 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
18813         Use kpsewhich in ffap-latex-mode, if available
18814         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
18815         (ffap-latex-mode): Use kpsewhich if available.
18817         ffap: disallow braces in filenames for tex modes
18818         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
18819         braces in tex-related modes.
18821         Remove useless backslashes from ffap-string-at-point-mode-alist
18822         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
18823         misleading backslashes from default value.
18825         Augment docstring of ffap-string-at-point-mode-alist
18826         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
18827         and END are handled.
18829 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
18831         * lisp/org/org-src.el (org-edit-src-code)
18832         (org-edit-fixed-width-region):
18833         * lisp/simple.el (completion-setup-function):
18834         Remove calls to substitute-command-keys that always just return
18835         their argument.
18837 2015-08-09  Daiki Ueno  <ueno@gnu.org>
18839         * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'.
18840         (Bug#21210)
18842 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
18844         Fix link to source code in help window
18845         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
18846         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
18847         'No longer include timestamp in header of .elc files'.  Add code
18848         that will return .el source file in load-path.
18850 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
18852         * lisp/isearch.el (isearch-search-fun-default): (Bug#21164)
18853         Respect `isearch-lax-whitespace' when searching through
18854         `isearch-word'.
18856 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
18858         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
18860         * lisp/org/org.el: Fix up some lexical scoping warnings, and use dolist
18861         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
18862         (org-set-regexps-and-options, org-assign-fast-keys)
18863         (org-contextualize-keys, org-contextualize-validate-key)
18864         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
18865         (org-find-olp, org-find-exact-heading-in-directory)
18866         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
18867         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
18868         (org-replace-escapes): Use dolist.
18869         (org-mode): Optimize away XEmacs-only code.
18870         (org-refile-get-targets): Remove unused var `f'.
18871         (org-fast-todo-selection): Remove unused var `e'.
18872         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
18873         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
18874         (org-format-latex): Use dolist.  Remove unused var `e'.
18875         (org-toggle-heading): Access vars lexically rather than dynamically.
18876         (org-backward-sentence, org-forward-sentence, org-meta-return)
18877         (org-kill-line): Mark arg as unused.
18878         (org-submit-bug-report): Silence compiler warning.
18879         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
18880         (org-get-cursor-date): Remove unused var `tm'.
18881         (org-comment-or-uncomment-region): Use standard name `_'.
18882         (reftex-docstruct-symbol, reftex-cite-format): Declare to
18883         silence byte-compiler.
18884         (org-reftex-citation): Add `org--' prefix to dynamically scoped
18885         `rds' var.
18887 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
18889         Electric quote if coding is undecided or no conv
18890         * lisp/electric.el (electric--insertable-p): Also say that a
18891         string is insertable if the buffer file coding system is undecided
18892         or uses no conversion, as curved quotes will work in either case.
18894         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
18896 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
18898         Fix overlay string display regressions introduced in Emacs 24.5
18899         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
18900         buffer position, if we move the iterator to a new position as
18901         result of jumping over text covered by a "replacing" display
18902         property.
18903         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
18905         Support recovery from C stack overflow on MS-Windows
18906         * src/w32fns.c (w32_reset_stack_overflow_guard)
18907         (stack_overflow_handler): New functions for handling C stack
18908         overflow exceptions.
18909         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
18910         specially, and zero out except_addr if we do.
18911         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
18912         mode.
18913         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
18914         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
18915         the MinGW build, but the code guarded by that is for Posix hosts.
18916         * src/keyboard.c (command_loop) [WINDOWSNT]:
18917         Call w32_reset_stack_overflow_guard.
18918         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
18919         (sigsetjmp): New macro.
18920         (w32_reset_stack_overflow_guard): Declare the prototype.
18921         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
18923 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
18925         Improve error signalling for seq-subseq
18926         * lisp/emacs-lisp/seq.el (seq-subseq): The existing behavior is to error
18927         when indexes are too large, but to silently ignore numbers which
18928         are too negative for lists.  String and vector handling errors in
18929         both cases.  This has been regularized.  Error signaling behavior
18930         has been explicitly added to the doc string.
18932         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
18933         therefore also impacted by this change.  Update the doc string
18934         to reflect this.
18936         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
18937         added for these exceptional cases, as well as one non exceptional
18938         base case.
18940 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
18942         Improve error checking in tramp-adb.el
18943         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
18944         Improve error checking.  "ls -l" on Android in Enforcing mode can
18945         print "lstat './FILENAME failed: Permission denied".
18947 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
18949         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
18950         non-struct vectors.
18952 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
18954         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
18955         * lisp/window.el: Fix typo that broke build.
18956         (display-buffer--action-function-custom-type):
18957         Add `display-buffer-use-some-frame'.
18958         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
18960         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
18961         * lisp/window.el (display-buffer-use-some-frame): Add support for
18962         'inhibit-same-window in alist.
18963         * doc/lispref/windows.texi (display-buffer-use-some-frame):
18964         Doc support for 'inhibit-same-window in alist.
18966 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
18968         Avoid infinite loop in display of invisible text in strings
18969         * src/xdisp.c (handle_invisible_prop): If the next change of
18970         invisibility spec does not mean the beginning of a visible text,
18971         update the string position from which to start the search for the
18972         next invisibility change.  This avoids an infinite loop when we
18973         have more than one invisibility spec that are made inactive by
18974         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
18975         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
18976         for the situation that caused bug #21200.
18978 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
18980         * lisp/emacs-lisp/package.el: Simplify describe-package-1
18981         (package-help-section-name-face): New face.
18982         (package--print-help-section): New function.
18983         (describe-package-1): Refactor section printing.
18984         (package-make-button): Use face instead of font-lock-face, which
18985         doesn't work on buttons.
18987         * lisp/emacs-lisp/package.el: Define custom faces
18988         (package-name-face, package-description-face)
18989         (package-status-built-in-face, package-status-external-face)
18990         (package-status-available-face, package-status-new-face)
18991         (package-status-held-face, package-status-disabled-face)
18992         (package-status-installed-face, package-status-dependency-face)
18993         (package-status-unsigned-face, package-status-incompat-face)
18994         (package-status-avail-obso-face): New faces.
18995         (package-menu--print-info-simple): Use them.
18997 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
18999         Fix some confusion with ‘format’
19000         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
19001         (allout-graphics-modification-handler):
19002         Protect arbitrary string in a format context with "%s" format.
19003         * lisp/avoid.el:
19004         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
19005         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
19006         * lisp/erc/erc-button.el (erc-button-beats-to-time):
19007         * lisp/gnus/message.el (message-send-form-letter):
19008         * lisp/org/ob-core.el (org-babel-check-evaluate)
19009         (org-babel-confirm-evaluate):
19010         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
19011         * lisp/org/ox-latex.el (org-latex-compile):
19012         * lisp/org/ox-man.el (org-man-compile):
19013         * lisp/org/ox-odt.el (org-odt-template):
19014         * lisp/org/ox-texinfo.el (org-texinfo-compile):
19015         * lisp/progmodes/prolog.el (prolog-help-info)
19016         (prolog-view-predspec):
19017         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
19018         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
19019         * lisp/textmodes/rst.el (rst-replace-lines):
19020         Change (message (format ...)) to (message ...), and likewise
19021         for ‘error’.  This lessens the probability of confusion when the
19022         output of ‘format’ contains ‘%’.
19024 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
19026         * lisp/replace.el (replace-character-fold): Default to nil.
19028         * lisp/character-fold.el: Fix lax whitespace.
19029         (character-fold-table): Don't make space match other whitespace chars.
19030         (character-fold-to-regexp): Simplify lax behavior.
19032 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
19034         Preserve window point in xref-find-definitions-other-window
19035         Fix the problem reported by Ingo Logmar in
19036         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
19037         * lisp/progmodes/xref.el (xref--goto-char): Extract from
19038         xref--goto-location.
19039         (xref--pop-to-location): Use it.  Replace xref--goto-location with
19040         a direct xref-location-marker call.
19041         (xref--show-location): Likewise.
19042         (xref--display-position): Use xref--goto-char.
19044         * lisp/progmodes/project.el: Add a paragraph to the front matter.
19046 2015-08-04  David Kastrup  <dak@gnu.org>
19048         * lisp/vc/emerge.el (emerge-show-file-name):
19049         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
19050         (vhdl-comment-insert, vhdl-hooked-abbrev):
19051         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
19052         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
19053         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
19054         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
19055         * lisp/obsolete/vip.el (vip-escape-to-emacs)
19056         (vip-prefix-arg-value, vip-prefix-arg-com):
19057         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
19058         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
19059         (quail-tibkey-update-translation):
19060         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
19061         * lisp/leim/quail/lao.el (quail-lao-update-translation):
19062         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
19063         (quail-japanese-self-insert-and-switch-to-alpha):
19064         * lisp/leim/quail/hangul.el (hangul2-input-method)
19065         (hangul3-input-method, hangul390-input-method):
19066         * lisp/language/hanja-util.el (hangul-to-hanja-char):
19067         * lisp/international/robin.el (robin-input-method):
19068         * lisp/international/quail.el (quail-start-translation)
19069         (quail-start-conversion):
19070         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
19071         (gnus-article-describe-key-briefly):
19072         * lisp/eshell/em-hist.el (eshell-list-history):
19073         * lisp/term.el (term-dynamic-list-input-ring)
19074         (term-dynamic-list-completions):
19075         * lisp/subr.el (momentary-string-display):
19076         * lisp/simple.el (read-quoted-char):
19077         * lisp/pcomplete.el (pcomplete-show-completions):
19078         * lisp/kmacro.el (kmacro-repeat-on-last-key):
19079         * lisp/info.el (Info-summary):
19080         * lisp/ehelp.el (electric-help-command-loop):
19081         * lisp/ebuff-menu.el (electric-buffer-list)
19082         (Electric-buffer-menu-exit):
19083         * lisp/double.el (double-translate-key):
19084         * lisp/comint.el (comint-dynamic-list-input-ring)
19085         (comint-dynamic-list-completions): Do not overwrite preexisting
19086         contents of `unread-command-events' when putting new events into it.
19088 2015-08-04  Daniel Colascione  <dancol@dancol.org>
19090         Improve ansi-color filtering of unrecognized escape sequences
19091         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
19092         escape sequences.
19093         (ansi-color-filter-apply, ansi-color-apply): Filter out
19094         unrecognized escape sequences.
19096 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
19098         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
19099         definitions to `easy-menu-define', improve a couple to account for
19100         async, and add a couple of new commands.
19102 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
19104         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
19106 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
19108         Add new 'calendar-weekend-days' option
19109         Make the days receiving the 'calendar-weekend-header' face freely
19110         customizable, as they differ by region/culture.
19111         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
19112         new variable.
19113         * lisp/calendar/calendar.el (calendar-generate-month): New variable
19114         calendar-weekend-days to customize day header fontification.
19116 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
19118         Redo text-quoting-style variable
19119         Rename help-quote-translation to text-quoting-style,
19120         and use symbols rather than characters as values.
19121         This follows suggestions along these lines by Alan Mackenzie in:
19122         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
19123         and by Drew Adams in:
19124         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
19125         * doc/lispref/help.texi (Keys in Documentation)
19126         * etc/NEWS:
19127         * lisp/cus-start.el (standard):
19128         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
19129         Document and/or implement the new behavior instead of the old.
19130         (syms_of_doc): New symbols 'grave' and 'straight'.
19132 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
19134         nnimap.el: Use IMAP MOVE extension if available
19135         * lisp/gnus/nnimap.el (nnimap-request-move-article)
19136         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
19137         Use MOVE extension if available.
19139         nnimap.el: Explicitly ask for server capabilities
19140         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
19141         capabilities will be returned in the login-result.
19143 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
19145         Treat help strings like other doc strings
19146         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
19147         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
19148         substitute-command-keys.
19149         * src/keyboard.c (show_help_echo, parse_menu_item): Call
19150         substitute-command-keys on the help string before displaying it.
19152         Also mention "curly quotes"
19153         See Drew Adams's email in:
19154         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
19155         * doc/lispref/help.texi (Keys in Documentation):
19156         Add index entry "curly quotes".
19157         * etc/NEWS: Use the phrase "curly quotes" too.
19159         ede-proj-target-makefile docstring tweaks
19160         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
19161         Consistently use "all:" to describe the all: target,
19162         replacing three different and confusingly-quoted usages.
19164 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
19166         Don't abort emacsclientw when -a was specified
19167         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
19168         out if we are in emacsclientw and -a was specified.
19170 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
19172         Fix handling of 1st keystroke on MS-Windows
19173         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
19174         This is needed to correctly handle the session's first keystroke,
19175         if it has any modifiers.  (Bug#19994)
19177 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
19179         Substitute some customization etc. doc strings
19180         These changes apply substitute-command-keys to some
19181         doc strings that were going through untranslated
19182         when creating customization or other widgets.
19183         * lisp/cus-edit.el (custom-group-value-create):
19184         * lisp/wid-edit.el (widget-default-create):
19185         (widget-push-button-value-create):
19186         Treat the widget tag as a doc string.
19187         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
19188         Treat the :documentation value as a doc string.
19189         * lisp/wid-edit.el (widget-choose):
19190         Treat the choice names as doc strings.
19191         (widget-default-create): Treat the :doc value as a doc string.
19192         (widget-toggle-value-create): Treat the :on and :off values
19193         as doc strings.
19194         (widget-documentation-string-value-create):
19195         Substitute the doc string.
19197 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
19199         Add a second argument to project-ignores
19200         * lisp/progmodes/project.el (project-ignores): Add a second
19201         argument DIR.
19202         * lisp/progmodes/project.el (project-ignores): Only include the VC
19203         ignores if DIR is the VC root.
19204         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
19206 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
19208         Prevent incorrect display when 'line-spacing' variable is set
19209         * src/xdisp.c (try_window_id): Give up this optimization if the
19210         buffer has its 'line-spacing' variable set non-nil.
19212 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
19214         Don't pass NOVISIT to find-file
19215         * lisp/progmodes/etags.el (next-file):
19216         Don't pass NOVISIT to find-file (bug#21175).
19218         Ignore buffer restriction for tags-loop-eval
19219         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
19220         restriction (bug#21167).
19222 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
19224         Fix a thinko in 'ffap-gopher-at-point'
19225         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
19227         Honor 'line-spacing' for empty lines
19228         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
19229         property and 'line-spacing' frame parameter or variable or
19230         property for empty lines, by doing the same processing as in
19231         x_produce_glyph for newline characters.  (Bug#21165)
19233 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
19235         Simplify by assuming C99 integer division
19236         * src/floatfns.c (ceiling2, floor2, truncate2):
19237         Assume C99 (i.e., Fortran) semantics for integer division.
19238         This simplifies the code.
19240 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
19242         Don't overflow if computing approximate percentage
19243         * lisp/align.el (align-region):
19244         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
19245         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
19246         * lisp/cus-edit.el (custom-buffer-create-internal):
19247         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
19248         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
19249         (checkdoc-next-message-error):
19250         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
19251         * lisp/epa.el (epa-progress-callback-function):
19252         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
19253         * lisp/ffap.el (ffap-menu-rescan):
19254         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
19255         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
19256         * lisp/gnus/nneething.el (nneething-retrieve-headers):
19257         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
19258         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
19259         * lisp/gnus/nnml.el (nnml-retrieve-headers):
19260         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
19261         * lisp/gnus/nntp.el (nntp-retrieve-headers)
19262         (nntp-retrieve-articles):
19263         * lisp/imenu.el (imenu--relative-position):
19264         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
19265         (skkdic-convert-okuri-nasi):
19266         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
19267         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
19268         * lisp/org/org-list.el (org-update-checkbox-count):
19269         * lisp/org/org.el (org-table-map-tables)
19270         (org-update-parent-todo-statistics):
19271         * lisp/play/decipher.el (decipher-insert-frequency-counts)
19272         (decipher-analyze-buffer):
19273         * lisp/profiler.el (profiler-format-percent):
19274         * lisp/progmodes/cc-cmds.el (c-progress-update):
19275         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
19276         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
19277         (idlwave-list-load-path-shadows):
19278         * lisp/progmodes/opascal.el (opascal-step-progress):
19279         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
19280         (vhdl-scan-directory-contents):
19281         * lisp/textmodes/bibtex.el (bibtex-progress-message):
19282         * lisp/textmodes/flyspell.el (flyspell-small-region)
19283         (flyspell-external-point-words):
19284         * lisp/textmodes/table.el (table-recognize):
19285         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
19286         progress-report percentages and the like.  This avoids problems
19287         if (* 100 NUMERATOR) would overflow.
19288         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
19289         * lisp/gnus/registry.el (registry-reindex):
19290         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
19291         * lisp/descr-text.el (describe-char):
19292         * lisp/org/org-colview.el (org-nofm-to-completion):
19293         * lisp/ps-print.el (ps-plot):
19294         * lisp/simple.el (what-cursor-position):
19295         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
19296         more-complicated and less-accurate approximation.
19298         Fix some int overflows in profiler.c
19299         * src/profiler.c (make_log): Make args EMACS_INT, not int,
19300         to avoid unwanted behavior on 'int' overflow.
19301         (make_log, evict_lower_half, record_backtrace):
19302         Use ptrdiff_t, not int, for object indexes.
19304         Port to pedantic memcpy
19305         * src/keyboard.c (menu_bar_items, tool_bar_items):
19306         * src/xrdb.c (magic_db):
19307         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
19309         Merge from gnulib
19310         This incorporates:
19311         2015-07-29 time_rz: port to pedantic memcpy
19312         * lib/time_rz.c: Copy from gnulib.
19314 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
19316         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
19317         When updating the very last entry, tabulated-list-print would
19318         erase it and then try to look at the next one (which obviously
19319         isn't there).
19321 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
19323         Allow to use the old key processing code on MS-Windows
19324         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
19325         New variable.
19326         (w32_wnd_proc): Use it to invoke the old code that processed
19327         character keys, as fallback, when this variable is non-nil.
19328         Fix typos in comments.  (Bug#19994)
19330 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
19332         Improve handling of Unicode keyboard input on MS-Windows
19333         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
19334         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
19335         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
19336         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
19337         successful, don't call TranslateMessage.  (Bug#19994)
19339 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
19341         Fix default-directory in changeset diffs after vc-print-log
19342         * lisp/vc/log-view.el (log-view-diff-common): Move the
19343         revision-granularity check back into log-view-diff-changeset.
19344         (log-view-diff-changeset): Bind default-directory to the current
19345         VC root.
19347         Rename project-directories to project-roots
19348         * lisp/progmodes/project.el (project-search-path-function)
19349         (project-search-path): Update the docstring.
19350         (project-directories): Rename to `project-roots', update all
19351         callers and implementations accordingly.
19352         (project-root): Remove.
19353         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
19354         as the default file mask.
19356 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
19358         Support long URLs in w32-shell-execute
19359         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
19360         and filename_to_ansi to convert the DOCUMENT argument, as it could
19361         be a URL that is not limited to MAX_PATH characters.  Instead, use
19362         MultiByteToWideChar directly, and allocate heap storage as
19363         required to accommodate the converted string.  Likewise with
19364         non-Unicode operation.  Ensure OPERATION is null-terminated, even
19365         if it is longer than 32K bytes.  (Bug#21158)
19367 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
19369         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev.
19371 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
19373         Add docs for display-buffer action display-buffer-use-some-frame
19374         * lisp/window.el (display-buffer-use-some-frame): Improve doc string.
19375         * doc/lispref/windows.texi (Display Action Functions):
19376         Add display-buffer-use-some-frame.
19377         * etc/NEWS: Mention display-buffer-use-some-frame.
19379         Add display-buffer action display-buffer-use-some-frame
19380         * lisp/window.el (display-buffer-use-some-frame): New.
19382         Handle vc-mtn error more gently
19383         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when
19384         branch is nil.
19386 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
19388         Fix Tramp problems with multihops, and nc
19389         * lisp/net/tramp-cache.el (tramp-get-file-property)
19390         (tramp-set-file-property, tramp-flush-file-property)
19391         (tramp-get-connection-property, tramp-set-connection-property)
19392         (tramp-flush-connection-property): Remove hop from vector.
19393         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
19394         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
19395         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
19396         netstat to 60".
19397         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
19398         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
19399         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
19400         Keep hop in result.
19401         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
19402         Add hop tests.
19404 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
19406         Resurrect highlighting of repeated words by Flyspell Mode
19407         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
19408         characters between point and the doublon candidate, so that
19409         flyspell-word-search-backward finds it.  (Bug#21157)
19411         Fix redisplay of large images on expose events
19412         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
19413         between signed negative values and unsigned values.  This
19414         prevented redisplay on expose events when the window showed a very
19415         large image.
19417 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
19419         Remove unnecessary stack overflow dependency
19420         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
19421         Don't worry about $ac_cv_header_sys_resource_h and
19422         $ac_cv_func_getrlimit, as they're no longer needed for this.
19423         Problem reported by Eli Zaretskii in:
19424         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
19426 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
19428         Pacify compilation -Wincompatible-pointer-types warnings
19429         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
19430         warning.
19431         (CompareStringW_Proc): New typedef.
19432         (w32_compare_strings): Use it, to pacify compiler warnings under
19433         "-Wincompatible-pointer-types".
19434         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
19435         (GetDiskFreeSpaceExA_Proc): New typedefs.
19436         (Ffile_system_info): Use them, to pacify compiler warnings under
19437         "-Wincompatible-pointer-types".
19439 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
19441         Fix subscript error in calculate_direct_scrolling
19442         Use slightly-longer cost vectors.  Without this change,
19443         calculate_direct_scrolling can have a subscript violation when
19444         FRAME_LINES (frame) <= delta.
19445         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
19446         (line_ins_del, do_line_insertion_deletion_costs):
19447         Allocate and use slightly-larger cost vectors, ones based on
19448         FRAME_TOTAL_LINES instead of FRAME_LINES.
19450         Fix uninitalized value in encode_coding_object
19451         * src/coding.c (encode_coding_object): Also initialize
19452         coding->src_pos and coding->src_pos_byte when NILP (src_object).
19453         This avoids later use of uninitialized storage.
19455 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
19457         * doc/lispref/variables.texi (Variable Aliases): Typo fix.
19458         (Bug#21141)
19460 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
19462         Merge from gnulib
19463         This incorporates:
19464         2015-07-27 time_rz: port better to MinGW
19465         2015-07-27 time: port __need_time_t to MinGW
19466         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
19467         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
19468         * lib/time-internal.h: New file, from gnulib.
19470 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
19472         Handle NULL pointers in w32heap.c allocation routines
19473         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
19474         freeable".
19475         (realloc_after_dump, realloc_before_dump, free_before_dump):
19476         Handle NULL pointers gracefully, as Emacs now seems to expect that.
19478         Fix Cairo build without PNG
19479         * src/image.c: Define PNG function when USE_CAIRO is defined, even
19480         if HAVE_PNG is not.  (Bug#21133)
19482         MS-Windows follow-up for recent TZ-related changes
19483         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
19484         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
19485         picking up 'struct timespec' from pthread.h, if it is installed on
19486         the user's system.  We want either the definitions from MinGW
19487         system headers, if available, or the Gnulib replacements if not.
19488         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
19489         lib/time.h.
19490         * lib/time.in.h: Don't let __need_* symbols affect what happens on
19491         MinGW.  These symbols are defined by MinGW system headers, but we
19492         don't want that to affect whether Gnulib portions of the header
19493         are or aren't used.
19495 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
19497         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
19499         New optional ZONE arg for format-time-string etc.
19500         This simplifies time conversions in other time zones.
19501         It also prevents display-time-world tampering with TZ (Bug#21020).
19502         * admin/admin.el (add-release-logs):
19503         Use improved add-log-time-format API.
19504         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
19505         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
19506         * configure.ac (tzalloc): Remove test for this, since
19507         Emacs no longer uses HAVE_TZALLOC directly.
19508         * doc/lispref/os.texi (Time of Day, Time Conversion)
19509         (Time Parsing):
19510         * etc/NEWS: Document the new behavior.
19511         Merge from gnulib, incorporating:
19512         2015-07-25 strftime: fix newly-introduced bug on Solaris
19513         2015-07-23 fprintftime, strftime: use timezone_t args
19514         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
19515         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
19516         * m4/time_h.m4:
19517         Update from gnulib.
19518         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
19519         New files from gnulib.
19520         * lisp/time-stamp.el (time-stamp-string):
19521         * lisp/time.el (display-time-world-list)
19522         (display-time-world-display):
19523         Use new API, with time zone arg.
19524         * lisp/time.el (display-time-world-display):
19525         Fix race when current-time advances while we're running.
19526         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
19527         (add-log-iso8601-time-string): Accept optional time zone arg.
19528         * lisp/vc/add-log.el (add-change-log-entry):
19529         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
19530         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
19531         Add rules for the time module, since they're now needed
19532         for tzalloc etc.
19533         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
19534         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
19535         * src/editfns.c: Include errno.h.
19536         (set_time_zone_rule): Omit unnecessary forward decl.
19537         (initial_tz): Remove, replacing with ...
19538         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
19539         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
19540         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
19541         (tzlookup): New static functions.
19542         (init_editfns): New arg DUMPING.  All uses changed.
19543         (init_editfns): Omit most initialization if dumping, not if
19544         !initialized.  Initialize wall_clock_tz and local_tz.
19545         (emacs_nmemftime, format_time_string): Time zone argument can now
19546         be any time zone, not just a boolean for UTC or local time.  All
19547         callers changed.
19548         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
19549         (Fcurrent_time_zone): New optional arg ZONE.
19550         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
19551         the same form as with the other new additions.
19552         (decode_time_zone): Remove; no longer needed.
19553         (tzvalbuf): Now file-scope.
19554         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
19555         (syms_of_editfns): Define Qwall.
19556         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
19557         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
19558         [!HAVE_TZALLOC]:
19559         Remove; now supplied by gnulib.
19560         * src/emacs.c (main):
19561         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
19563 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
19565         Fix infinite loop in delete-consecutive-dups
19566         * lisp/subr.el (delete-consecutive-dups): Work even if the last
19567         element is nil (Bug#20588).  Avoid rescan of a circular list in
19568         deletion of last element.
19570 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
19572         Have `x-frame-geometry' return nil for terminal and initial
19573         frames (Bug#21132)
19574         * src/nsfns.m (Fx_frame_geometry):
19575         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
19576         terminal frames.
19577         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
19578         (Fx_frame_geometry): Return nil for terminal frames
19580 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
19582         * etc/tutorials/TUTORIAL.ja: Improve translation.
19584 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
19586         Avoid crashes when w32 GUI functions are called in -batch
19587         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
19588         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
19589         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
19591         Fix flyspell-check-previous-highlighted-word
19592         * lisp/textmodes/flyspell.el
19593         (flyspell-check-previous-highlighted-word): Really accept a
19594         numeric argument, as the doc string describes.  Fix an off-by-one
19595         error in looking up overlays, so invocation with point immediately
19596         after a word would check that word.  Clarify the doc string as
19597         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
19599 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
19601         Minor cleanup in tramp-tests.el
19602         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
19603         Implement using the documented interface
19604         `tramp-connection-properties', rather than with internal functions.
19606 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
19608         Pass lambdas to `skeleton-read'
19609         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
19610         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
19611         lambdas to `skeleton-read' (bug#20386).
19613 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
19615         * INSTALL (DETAILED BUILDING AND INSTALLATION):
19616         Mention --without-imagemagick.
19618         Don't require GUI frames and mouse for Flyspell menus
19619         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
19620         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
19621         support, since pop-up menus work with text terminals and can be
19622         controlled via the keyboard.
19624         Improve documentation of Flyspell commands
19625         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
19626         can be invoked via the keyboard.  Mention those commands by name
19627         and add them to the fn index.  (Bug#21125)
19629 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
19631         Fix some Tramp problems with HP-UX
19632         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
19633         Add "tab0" to stty call.
19634         * test/automated/tramp-tests.el (tramp-persistency-file-name):
19635         Set to nil.
19636         (tramp--test-hpux-p): New defun.
19637         (tramp--test-utf8): Use it.
19639 2015-07-22  Glenn Morris  <rgm@gnu.org>
19641         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
19643 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
19645         Fix point positioning in ffap-next-guess
19646         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
19647         as our callers expect.  This was clobbered as part of fixing
19648         bug#5673.  (Bug#21107)
19649         (ffap-gopher-at-point): Set ffap-string-at-point-region.
19651 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
19653         * lisp/window.el (even-window-sizes): Fix customization type.
19655         Optionally even widths of `display-buffer' windows.  (Bug#21100)
19656         * lisp/window.el (quit-restore-window): Restore width if
19657         requested.
19658         (display-buffer-record-window): Record width when window is
19659         reused and horizontally combined.
19660         (even-window-sizes): New option to allow evening window widths.
19661         (even-window-heights): Defalias to `even-window-sizes'.
19662         (window--even-window-heights): Rename to
19663         `window--even-window-sizes'.  Handle side-by-side windows.
19664         (display-buffer-use-some-window): Call `window--even-window-sizes'
19665         instead of `window--even-window-heights'.
19666         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
19667         * doc/lispref/windows.texi (Choosing Window Options): Describe
19668         `even-window-sizes'.
19669         (Coordinates and Windows): Fix typo.
19671 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
19673         Add file name to autoload error messages
19674         * lisp/emacs-lisp/autoload.el (autoload-save-buffers):
19675         Add condition-case to add file name to error message.
19677 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
19679         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
19680         Use 0.0.0.1 as test host.
19682 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
19684         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
19685         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
19686         Fix inf-loop (bug#21083).
19688 2015-07-21  Glenn Morris  <rgm@gnu.org>
19690         * test/automated/package-test.el (package-test-signed):
19691         Update for recent changes.
19693         * test/automated/elisp-mode-tests.el
19694         (elisp-xref-finds-both-function-and-variable)
19695         (elisp-xref-finds-only-function-for-minor-mode):
19696         Update for recent xref name changes.
19698 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
19700         Make eldoc timer non-repeatable
19701         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
19702         non-repeatable.  Since it's on post-command hook, that just wasted
19703         CPU cycles.
19705 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
19707         Mention `tramp-connection-properties' in NEWS
19709         Sync with Tramp repository
19710         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
19711         required prior changing its configuration.
19712         (Connection caching, Predefined connection information)
19713         (Remote shell setup): Fix typos.
19714         (Predefined connection information): Describe, how to overwrite
19715         parameters of `tramp-methods'.
19716         (Remote programs, Remote processes, Traces and Profiles):
19717         Simplify example.
19718         (Remote programs): Remove superfluous comment.
19719         * doc/misc/trampver.texi: Update release number.
19720         * lisp/net/tramp-cache.el (tramp-connection-properties):
19721         Adapt docstring.
19722         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
19723         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
19724         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
19725         "gvfs-mkdir -p ..." does not work robust.
19726         (tramp-gvfs-maybe-open-connection):
19727         Adapt `tramp-get-method-parameter' call.
19728         * lisp/net/tramp-sh.el (tramp-methods):
19729         Add `tramp-remote-shell-login' parameter where it fits.
19730         (tramp-get-remote-path): Use it.
19731         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
19732         (all): Adapt `tramp-get-method-parameter' calls.
19733         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
19734         (tramp-get-method-parameter): Replace argument METHOD by VEC.
19735         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
19736         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
19737         (all): Adapt `tramp-get-method-parameter' calls.
19738         * lisp/net/trampver.el: Update release number.
19739         * test/automated/tramp-tests.el (tramp--instrument-test-case):
19740         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
19741         (tramp-test13-make-directory, tramp--test-adb-p)
19742         (tramp--test-smb-or-windows-nt-p): Simplify.
19743         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
19744         (tramp--test-special-characters): Fix docstring.  Add gvfs and
19745         ftp tests.
19746         (tramp--test-utf8): Fix docstring.
19748 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
19750         Add new xref-query-replace command
19751         * lisp/progmodes/xref.el (xref--match-buffer-bounds):
19752         New function, extracted from xref-pulse-momentarily.
19753         (xref-query-replace): New command.
19754         (xref--query-replace-1): New helper function.
19755         (xref--xref-buffer-mode-map): Add `r' binding.
19757 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
19759         Simplify icalendar decoding of Z dates
19760         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
19761         Simplify calculation of time strings with trailing "Z".
19763 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
19765         Do not corrupt grep-find-ignored-files
19766         * lisp/progmodes/project.el (project-ignores): Change the order of
19767         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
19769         Add xref-match-item, and use it
19770         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
19771         (xref-file-location): Add reader for the column slot.
19772         (xref-match-item): New class.
19773         (xref-match-bounds): A method implementation for it.
19774         (xref-make-match): New constructor function.
19775         (xref--current-item): New private variable.
19776         (xref-pulse-momentarily): Use it.
19777         (xref--pop-to-location): Change the first argument to an xref
19778         item, instead of location, bind xref--current-item.
19779         Update all callers.
19780         (xref-next-line, xref-prev-line, xref--next-error-function)
19781         (xref--mouse-2): Look for the property `xref-item',
19782         instead of `xref-location'.
19783         (xref--item-at-point): Likewise.  This function replaces
19784         `xref-location-at-point'.  Update all callers.
19785         (xref--insert-xrefs): Add the `xref-item' text property, instead
19786         of `xref-location'.
19787         (xref--collect-match): Use xref-make-match.
19789         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
19790         Update all references.
19792         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
19793         slot to `summary'.
19795         vc-hg: Perform the print-log call asynchronously
19796         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
19797         asynchronously (bug#21067).
19799         Add xref-after-jump-hook and xref-after-return-hook
19800         * lisp/progmodes/xref.el (xref-after-jump-hook)
19801         (xref-after-return-hook): New hooks.
19802         (xref-pulse-on-jump): Remove, in favor of the above.
19803         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
19804         (xref--pop-to-location, xref--display-position)
19805         (xref-pop-marker-stack): Use the new hooks, as requested in
19806         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
19808 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
19810         * lisp/progmodes/js.el (js-mode): Correct the lighter.
19812 2015-07-19  Leo Liu  <sdl.web@gmail.com>
19814         Fix a bug in cfengine3-mode
19815         * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil
19816         eldoc-documentation-function.
19818 2015-07-18  Julien Danjou  <julien@danjou.info>
19820         sieve-mode: support "body" test command
19821         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
19822         Add missing "body" test command.
19824 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
19826         Fix info-apropos when the default encoding is Latin-N
19827         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
19828         'undecided', so that it is set to the encoding of the Info file we
19829         are about to insert.  Otherwise, 'info-apropos' will fail to find
19830         some index nodes in some UTF-8 encoded files, if the buffer's
19831         previous encoding is Latin-N or some such.
19833 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
19835         * lisp/epg.el (epg--start): Check that gpgconf can be found
19836         before calling it.
19838         Expose more file types to OS X that Emacs understands
19839         * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for
19840         sty, dtx, json, and org files.  Export UTIs for el, elc, and org files.
19842 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
19844         Fix visual-order cursor movement when lines are truncated
19845         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
19846         simulate display in a window of infinite width, to allow move_it_*
19847         functions reach positions outside of normal window dimensions.
19848         Remove code that tried to handle a subset of these situations by
19849         manual iteration of buffer text.  (Bug#17777)
19851         Fix following Info cross-references to anchors
19852         * lisp/info.el (Info-read-subfile): Add to the returned value the
19853         length of subfile preamble, after converting it to file's byte
19854         offset, as expected by the caller.  Use bufferpos-to-filepos.
19855         (Info-find-node-2): If searching for a node with a
19856         1000-character slop fails, try again with a 10000-character slop,
19857         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
19858         * lisp/international/mule-util.el (bufferpos-to-filepos): New
19859         function.
19860         * etc/NEWS: Mention bufferpos-to-filepos.
19862         Fix scrolling backwards on TTY frames under scroll-conservatively
19863         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
19864         in moving backwards on TTY frames.  (Bug#21080)
19866 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
19868         Consider a jsdoc tag to be a beginning of a paragraph as well
19869         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
19870         consider a jsdoc tag to be a beginning of a paragraph as well.
19872 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
19874         * lisp/emacs-lisp/package.el: Fix warnings.
19876         * lisp/emacs-lisp/package.el (package-buffer-info):
19877         Add author and maintainers to `package-buffer-info'.
19879         * lisp/emacs-lisp/package.el: Many small changes.
19880         Replace all instances of 'face with 'font-lock-face.
19881         (describe-package-1): Improve some strings and move the summary
19882         up the list.
19883         (package-install-file): Update docstring.
19884         (package-menu-hide-package): Bind to `H'.
19886         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
19887         Fix error handling.
19889 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
19891         Fix hang with large yanks This should fix the bug fixed by Mike
19892         Crowe's patch in:
19893         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
19894         A problem in this area has been reported by several users; see
19895         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
19896         This fix differs from Mike Crowe's patch in that it should avoid a
19897         race condition that could lose SIGIO signals.  ignore_sigio dates
19898         back to the 1980s when some platforms couldn't block signals, and
19899         could only ignore them, which led to races when signals arrived
19900         while being ignored.  We shouldn't have to worry about those old
19901         platforms now.
19902         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
19903         * src/emacs.c (shut_down_emacs):
19904         Don't call ignore_sigio; unrequest_sigio should suffice.
19905         * src/keyboard.c (kbd_buffer_store_buffered_event):
19906         Use unrequest_sigio, not ignore_sigio.
19907         (kbd_buffer_get_event):
19908         Call request_sigio when getting the ball rolling again.
19910 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
19912         * lisp/obsolete/longlines.el (longlines-search-function):
19913         Fallback on `isearch-search-fun-default'.
19915 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
19917         Support @-mentions
19918         * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion
19919         of mentions/messages with @nick instead of just nick.
19921 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
19923         Fix bug#20943
19924         * lisp/autorevert.el (auto-revert-handler): Do not check for
19925         `buffer-modified-p'.
19926         * lisp/files.el (buffer-stale--default-function): Check for
19927         `buffer-modified-p'.
19928         * test/automated/auto-revert-tests.el
19929         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
19931 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
19933         Fix delete-dups bug on long lists
19934         * lisp/subr.el (delete-dups):
19935         Don't mistakenly keep some dups when applied to long lists.
19937 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
19939         Better heuristic for C stack overflow
19940         Improve the heuristic for distinguishing stack overflows from
19941         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
19942         the getrlimit method wasn't portable to Cygwin; see:
19943         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
19944         Corinna suggested pthread_getattr_np but this also has problems.
19945         Instead, replace the low-level system stuff with a simple
19946         heuristic based on known good stack addresses.
19947         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
19948         * src/sysdep.c: Don't include <sys/resource.h>.
19949         (stack_direction): Remove.  All uses removed.
19950         (stack_overflow): New function.
19951         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
19952         Make SEGV fatal in non-main threads.
19954 2015-07-16  Daiki Ueno  <ueno@gnu.org>
19956         epg: Automatically start pinentry server
19957         * lisp/epg-config.el (epg-gpgconf-program): New variable.
19958         * lisp/epg.el (epg--start): Call `pinentry-start' if
19959         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
19961 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
19963         * lisp/gnus/nnimap.el: Fix my last bogus change.
19964         Reinstall Stefan Monnier's change that was made in
19965         <83d824bc4041332f338ad7e5e830f443535aa300>.
19967 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
19969         Merge from gnulib
19970         This incorporates:
19971         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
19972         2015-07-05 acl-permissions: Fix on FreeBSD
19973         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
19974         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
19975         * lib/set-permissions.c: Copy from gnulib.
19977         Port to stricter C99
19978         * src/keyboard.h (kbd_buffer_store_event_hold):
19979         Don't return a void expression.
19981 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
19983         * doc/emacs/frames.texi (Creating Frames):
19984         Fix the command `C-x 5 m' runs.
19986 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
19988         New autorevert tests
19989         * test/automated/auto-revert-tests.el: New file.
19991 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
19993         Clear gcprolist etc. after stack overflow
19994         After stack overflow, command_loop calls init_eval, and this needs to
19995         clear gcprolist and byte_stack_list (Bug#20996).
19996         * src/alloc.c (init_alloc):
19997         Move gcprolist and byte_stack_list initialization from here ...
19998         * src/eval.c (init_eval): ... to here.
20000 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
20002         * doc/emacs/windows.texi (Pop Up Window): Fix the description
20003         of `C-x 4 m'.
20005 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
20007         Avoid deprecated enums in mac-ct font backend driver
20008         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
20009         (mac_ctfont_get_advance_width_for_glyph)
20010         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
20012         Cache font family in mac-ct font backend driver
20013         * src/macfont.m (macfont_family_cache): New variable.
20014         (syms_of_macfont): Initialize it.
20015         (macfont_available_families_cache): New variable.
20016         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
20017         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
20018         (macfont_handle_font_change_notification)
20019         (macfont_init_font_change_handler)
20020         (macfont_copy_available_families_cache): New functions.
20021         (macfont_create_family_with_symbol): Use font family caches.
20022         (macfont_list, macfont_list_family):
20023         Use macfont_copy_available_families_cache instead of
20024         mac_font_create_available_families.
20026 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
20028         Show the default value in the prompt
20029         * lisp/progmodes/xref.el: Add `M-?' binding for
20030         xref-find-references.  Declare functions `grep-read-files' and
20031         `grep-expand-template'.
20032         (xref--read-identifier): Show the default value in the prompt.
20034         * lisp/progmodes/xref.el (xref-find-regexp): When called with
20035         prefix argument, ask for file patterns to search as well.  When
20036         prompting for the directory, require an existing one.
20037         (xref-collect-matches): Add a new argument, FILES.  Use it in the
20038         above function.
20040         Add `project-ignores'
20041         * lisp/progmodes/project.el (project-ignores): New generic
20042         function, and an implementation for the VC project type.
20043         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
20044         variant of rgrep-default-command that handles a generic list of
20045         ignores.
20046         (xref-collect-matches): Use it, and pass through to it the value
20047         of the newly added argument.
20048         (xref-find-regexp): Handle ignored paths within the project.
20049         Remove outdated comment.
20050         * lisp/vc/vc.el (vc-default-ignore-completion-table):
20051         Skip the comments and the empty lines.
20053 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
20055         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
20057 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
20059         gnus-registry.el: Correct function argument order
20060         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
20061         Reverse the order of function arguments.
20063 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
20065         Bind grep-highlight-matches to nil
20066         * lisp/progmodes/xref.el (xref-collect-matches):
20067         Bind grep-highlight-matches to nil (bug#20728).
20069 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
20071         nnimap.el: Fix IMAP message size parsing
20072         * lisp/gnus/nnimap.el (nnimap-transform-headers):
20073         Don't assume that UID comes before RFC822.SIZE.
20075 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
20077         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
20078         (auth-source-creation-prompts): Declare.
20079         (nnimap-retrieve-headers, nnimap-status-message)
20080         (nnimap-request-create-group, nnimap-request-delete-group)
20081         (nnimap-close-group, nnimap-request-move-article)
20082         (nnimap-request-accept-article, nnimap-request-newgroups)
20083         (nnimap-request-post, nnimap-dummy-active-number)
20084         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
20085         (nnimap-parse-flags): Remove unused var `p'.
20086         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
20087         (nnimap-flags-to-marks): Remove unused var `totalp'.
20089 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
20091         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
20093 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
20095         * src/macfont.m (macfont_list): Ignore font families lacking
20096         font descriptors.
20098 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
20100         Don't check the exit status, it can be misleading
20101         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
20102         exit status, it can be misleading.
20104         Introduce a Project API
20105         * lisp/progmodes/project.el: New file.
20106         * lisp/cedet/ede.el (project-try-ede): New function.
20107         (project-root): New implementation.
20108         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
20109         Set project-search-path-function.
20110         (elisp--xref-find-references): Delegate some logic to
20111         project-search-path.
20112         (elisp-search-path): New function.
20113         (elisp-xref-find): Don't implement `matches' anymore.
20114         * lisp/progmodes/etags.el: Don't implement `matches'.
20115         Delegate some logic to project-search-path.
20116         (etags-search-path): New function.
20117         * lisp/progmodes/xref.el (xref-find-function):
20118         Remove `matches' from the API.
20119         (xref-find-regexp): Move whatever common logic was in elisp and
20120         etags implementations, and search the directories returned by
20121         project-directories and project-search-path.
20123 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
20125         * test/automated/map-tests.el (test-map-delete-return-value):
20126         Uncomment test.
20128         Add support for gv.el in map.el
20129         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
20130         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
20131         * test/automated/map-tests.el: Update tests to work with the new
20132         implementations of map-elt and map-put.
20134 2015-07-09  Glenn Morris  <rgm@gnu.org>
20136         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
20138 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
20140         Syntax-propertize until the end of the line first
20141         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
20142         until the end of the line first.
20144 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
20146         * doc/emacs/files.texi (File Archives): Add a cross reference.
20148 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
20150         nnimap.el: Handle plain value for nnimap-stream
20151         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
20152         capabilities, so that a 'plain value for the `nnimap-stream' server
20153         variable is handled correctly.
20154         * doc/misc/gnus.texi (Customizing the IMAP Connection):
20155         Document the 'plain option.
20157 2015-07-08  Leo Liu  <sdl.web@gmail.com>
20159         Fix bug in thing-at-point--bounds-of-well-formed-url
20160         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
20161         sure boundary contains current point.
20163 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
20165         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse'
20166         in the end.
20168         Declare whitespace-line-column a safe file-local
20169         * lisp/whitespace.el (whitespace-line-column): Declare to be a
20170         safe file-local when the value is an integer.
20172 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
20174         gnus-group.el: Check if group names are already strings
20175         * lisp/gnus/gnus-group.el (gnus-group-group-name):
20176         The group name may already be a string.
20177         Specifically, in the group list reached from the *Server* buffer,
20178         the 'gnus-group text property returns a string.  Everywhere else
20179         it returns a symbol.
20181         nnimap.el: Remove unused let variables
20182         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
20184 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
20186         Support "maximized" property of runemacs's shortcut
20187         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
20188         the '--maximized' switch to Emacs.
20190         Support "minimized" property of runemacs's shortcut
20191         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
20192         pass the '--iconic' switch to Emacs.  (Bug#20991)
20194 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
20196         Doc fixes
20197         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
20198         C-w' in Diff mode.
20199         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
20200         Add a cross reference.
20202 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
20204         * lisp/obsolete/landmark.el: Add Obsolete-since header.
20206 2015-07-07  Glenn Morris  <rgm@gnu.org>
20208         * test/automated/ert-tests.el (ert-test-deftest):
20209         Update for recent changes.
20211 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
20213         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
20214         * lisp/emacs-lisp/gv.el (gv-setter): New function.
20215         (gv-invalid-place): New error.
20216         (gv-get): Use them.
20217         (gv-synthetic-place, gv-delay-error): New places.
20218         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
20219         (cl-defgeneric, cl-defmethod): Use gv-setter.
20221 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
20223         Make vc-tests work with MSYS svn program
20224         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
20225         svn is an MSYS program.
20227 2015-07-07  Ken Brown  <kbrown@cornell.edu>
20229         Improve recent change to emacsclient on Cygwin
20230         * lisp/server.el (server-process-filter): Remove redundant check
20231         that 'cygwin-convert-file-name-from-windows' is defined as a
20232         function on Cygwin.  Don't call that function unless its argument
20233         starts with a drive letter.
20235 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
20237         * lisp/emacs-lisp/package.el (package-compute-transaction):
20238         Fix void variable due to `found-something' being in the wrong `let'.
20240 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
20242         * lisp/play/landmark.el: Move to lisp/obsolete/.
20244 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
20246         Have `x-show-tip' handle `right' and `bottom' frame parameters
20247         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
20248         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
20249         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
20250         tooltips also via `right' and `bottom' frame parameters.
20252 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
20254         Add online-help support to describe types
20255         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
20256         (describe-symbol): Improve the selection of default.
20257         * lisp/help-mode.el: Require cl-lib.
20258         (describe-symbol-backends): Move from help-fns.el.
20259         (help-make-xrefs): Use it.
20260         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
20261         for types.
20262         (cl--typedef-regexp): New const.
20263         (find-function-regexp-alist): Add entry for types.
20264         (cl-help-type, cl-type-definition): New buttons.
20265         (cl-find-class): New function.
20266         (cl-describe-type): New command.
20267         (cl--describe-class, cl--describe-class-slot)
20268         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
20269         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
20270         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
20271         New functions.  Moved from eieio-opt.el.
20272         (cl--generic-class-parents): New function, extracted from
20273         cl--generic-struct-specializers.
20274         (cl--generic-struct-specializers): Use it.
20275         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
20276         Improve constructor's docstrings.
20277         (cl-struct-unknown-slot): New error.
20278         (cl-struct-slot-offset): Use it.
20279         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
20280         definition in current-load-list.
20281         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
20282         (eieio--add-new-slot): Set it.
20283         (eieio-defclass-internal): Use new name for current-load-list.
20284         (eieio-oref): Add compiler-macro to warn about unknown slots.
20285         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
20286         as compile-time as well.  Improve constructor docstrings.
20287         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
20288         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
20289         (eieio-class-def): Remove button.
20290         (eieio-help-constructor): Use new name for load-history element.
20291         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
20292         (eieio-method-documentation): Move to cl-generic.el.
20293         (eieio-display-method-list): Use new names.
20294         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
20295         Add "define-linline".
20296         (lisp-fdefs): Remove "defsubst".
20297         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
20298         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
20299         (macroexp--warn-and-return): Use it to avoid inf-loops.
20300         Add `compile-only' argument.
20302 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
20304         python.el: Fix local/remote shell environment setup
20305         * lisp/progmodes/python.el (python-shell-with-environment):
20306         Fix remote/local environment setup.
20307         * test/automated/python-tests.el (python-shell-with-environment-1)
20308         (python-shell-with-environment-2): New tests.
20310 2015-07-06  Glenn Morris  <rgm@gnu.org>
20312         * lisp/simple.el (set-variable): Tweak recent doc fix.
20314 2015-07-06  Ken Brown  <kbrown@cornell.edu>
20316         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE.
20318 2015-07-06  Glenn Morris  <rgm@gnu.org>
20320         * lisp/simple.el (set-variable): Use user-error for type mismatch.
20322 2015-07-06  Ken Brown  <kbrown@cornell.edu>
20324         * src/emacs.c (main): Don't increase the stack size on Cygwin.
20326 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
20328         (describe-symbol): Rewrite describe-function-or-variable
20329         * lisp/help-fns.el (describe-symbol-backends): New var.
20330         (help-xref-stack-item): Declare.
20331         (describe-symbol): Rename from describe-function-or-variable.
20332         Rewrite using describe-symbol-backends instead of help-xref-interned.
20333         * lisp/help.el (help-map): Use it.
20334         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
20335         (help-xref-interned): Make it into an obsolete alias.
20337         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
20338         `file' arg (bug#20972).  Always use utf-8-emacs.  Use with-temp-buffer
20339         and cl-letf.
20341 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
20343         Fix parsing glitches in dired-mark-sexp (bug#13575)
20344         * lisp/dired-x.el (dired-x--string-to-number): New function.
20345         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
20346         of directory-listing-before-filename-regexp.  Consider
20347         forward-word harmful and replace it.  Add more verbiage in
20348         comments and doc string.
20350 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
20352         python.el: Respect process environment for remote shells
20353         * lisp/progmodes/python.el
20354         (python-shell-calculate-process-environment): Calculate
20355         process-environment or tramp-remote-process-environment depending
20356         whether current file is remote.
20357         (python-shell-calculate-exec-path): Calculate exec-path or
20358         tramp-remote-path depending whether current file is remote.
20359         (python-shell-with-environment): New macro.
20360         (python-shell-prompt-detect, python-shell-calculate-command)
20361         (python-shell-make-comint, python-check): Use it.
20363         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
20364         * lisp/progmodes/python.el (python-shell--interpreter)
20365         (python-shell--interpreter-args): New vars.
20366         (inferior-python-mode, python-shell-make-comint): Use them.
20368         python.el: Fixes for IPython 3.x  (Bug#20580)
20369         * lisp/progmodes/python.el:
20370         (python-shell-completion-native-setup): Fix IPython 3.x setup.
20371         (python-shell-completion-native-get-completions): Fix timeout
20372         logic.
20374         python.el: Fix mark-defun behavior  (Bug#19665)
20375         * lisp/progmodes/python.el (python-mark-defun): New function.
20376         * test/automated/python-tests.el (python-mark-defun-1)
20377         (python-mark-defun-2, python-mark-defun-3): New tests.
20379 2015-07-05  Glenn Morris  <rgm@gnu.org>
20381         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
20382         such as "extends(parent), private".  (Bug#20969)
20383         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
20384         New tests.
20386 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
20388         Avoid duplicate calls to current_timespec
20389         * src/process.c (wait_reading_process_output):
20390         Cache current_timespec results as long as we're not waiting.
20392 2015-07-05  Ian Kelling  <ian@iankelling.org>
20394         Avoid returning early reading process output due to SIGIO
20395         * src/process.c (wait_reading_process_output): Extend the behavior of
20396         not breaking due to not finding output when a timer has lowered the
20397         timeout to include when SIGIO lowers the timeout.
20399         Don't return as fast reading any process output
20400         * src/process.c (wait_reading_process_output):
20401         The patch for Bug#17647 returns too fast sometimes when reading
20402         from any processes.  Revert part of it, and limit the timeout more
20403         sensibly (Bug#20978).
20405         Refactor timeouts in wait_reading_process_output
20406         * src/process.c (wait_reading_process_output):
20407         Simplify timeouts with an enum.  Remove a redundant condition.
20408         (Bug#20978)
20410         Remove ADAPTIVE_READ_BUFFERING ifdef
20411         * src/process.c (make-process, make-pipe-process, deactivate_process)
20412         (wait_reading_process_output, read_process_output, send_process)
20413         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
20414         added in case there was an operating system in which it was not
20415         useful.  That was 11 years ago and it hasn't happened.  Make
20416         development easier by not considering the effect of changes on a
20417         theoretical OS where this is disabled (Bug#20978).
20419 2015-07-05  Glenn Morris  <rgm@gnu.org>
20421         * lisp/simple.el (set-variable): Doc fix.
20423         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
20425 2015-07-05  Ian Kelling  <ian@iankelling.org>
20427         accept-process-output fix
20428         This is a followon to the fix for bug#17647 (Bug#20976).
20429         * src/process.c (status_notify): Fix too high return in some cases.
20431 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
20433         * lisp/character-fold.el (character-fold-table):
20434         Only fold decompositions if at least one character is non-spacing.
20435         (Bug#20975)
20437 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
20439         Merge from gnulib
20440         This incorporates:
20441         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
20442         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
20443         2015-07-02 update-copyright: fix test failure with perl >= 5.22
20444         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
20445         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
20446         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
20447         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
20449 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
20451         Respect `prog-indentation-context' in python.el
20452         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
20453         (python-indent-context, python-indent--calculate-indentation)
20454         (python-info-current-defun)
20455         (python-info-dedenter-opening-block-message)
20456         (python-info-line-ends-backslash-p)
20457         (python-info-beginning-of-backslash)
20458         (python-info-continuation-line-p): Use `prog-widen'.
20459         (python-indent--calculate-indentation)
20460         (python-indent--calculate-levels)
20461         (python-indent-calculate-indentation): Use `prog-first-column'.
20462         (python-indent--calculate-levels): Simplify.
20463         Ignore also initial empty lines for syntax calculation.
20464         * lisp/progmodes/python.el (python-indent-context): Return
20465         :no-indent for first non-empty line, not just in line 1.
20466         * test/automated/python-tests.el (python-indent-base-case)
20467         (python-indent-inside-paren-1, python-indent-inside-paren-2)
20468         (python-indent-inside-paren-3, python-indent-inside-paren-4)
20469         (python-indent-inside-paren-5, python-indent-inside-paren-6)
20470         (python-indent-after-backslash-1)
20471         (python-indent-after-backslash-2)
20472         (python-indent-after-backslash-3)
20473         (python-indent-after-backslash-4, python-indent-inside-string-1):
20474         Expect :no-indent for first non-empty line.
20476 2015-07-04  Daniel Colascione  <dancol@dancol.org>
20478         Factor isearch word description into new function
20479         * lisp/isearch.el (isearch--describe-word-mode): New function.
20480         (isearch-message-prefix, isearch-query-replace): Use it.
20482 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
20484         Fix mouse pointer on w32 when a menu is active
20485         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
20486         shape while a menu is in use.  This started happening since we now
20487         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
20489 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
20491         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
20492         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
20493         parameter.  (Bug#17344)
20495         Have `compilation-set-window' use right window for getting fringes
20496         (Bug#20829)
20497         * lisp/progmodes/compile.el (compilation-set-window):
20498         Take `window-fringes' from argument window.
20500 2015-07-03  Glenn Morris  <rgm@gnu.org>
20502         Update eieio tests for recent eieio-core change.
20503         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
20504         * test/automated/eieio-tests.el
20505         (eieio-test-32-slot-attribute-override-2):
20506         Replace the deleted eieio--class-v with cl--find-class.
20508 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
20510         Fix some issues with `window-divider-mode'
20511         * lisp/frame.el (window-divider-default-places): New option.
20512         (window-divider-mode): Remove option.
20513         (window-divider-mode): Make it a "regular" minor mode.
20514         (window-divider-width-valid-p): Drop frame- prefix.
20515         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
20516         prefix.  Handle `window-divider-default-places'.
20517         (frame--window-divider-mode-set-and-apply): Remove.
20518         (window-divider-default-bottom-width)
20519         (window-divider-default-right-width): Drop :group entries.
20520         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
20521         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
20522         (menu-bar-no-window-divider): Set `window-divider-default-places'
20523         and call `window-divider-mode'.
20524         * doc/emacs/frames.texi (Window Dividers): Document
20525         `window-divider-default-places'.
20527 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
20529         * doc/emacs/display.texi (Displaying Boundaries):
20530         * doc/emacs/search.texi (Word Search): Add cross references.
20532 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
20534         -batch should not affect ‘’ -> `' display
20535         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
20536         -batch (Bug#20926).
20538 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
20540         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
20541         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el:
20542         * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
20543         Use cl--find-class instead.
20545         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
20547 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
20549         Some further fixes in Change Window node (Bug#20183)
20550         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
20551         by "resizing" in section title.  Add some concept indices.
20552         Suggested by N. Jackson (Bug#20183).
20554         * doc/emacs/windows.texi (Change Window): Reference window
20555         dividers.
20557         Document new `window-divider-mode'.
20558         * lisp/frame.el (window-divider-mode): Fix doc-string.
20559         * doc/emacs/frames.texi (Window Dividers): New section.
20561         Improve accessibility of window dividers (Bug#20183)
20562         * lisp/faces.el (window-divider)
20563         (window-divider-first-pixel, window-divider-last-pixel): Change
20564         membership from `frames' to `window-divider' customization group.
20565         * lisp/frame.el (window-divider): New customization group.
20566         (window-divider-mode): New minor mode.
20567         (window-divider-default-bottom-width)
20568         (window-divider-default-right-width): New options.
20569         (frame--window-divider-previous-mode): New variable.
20570         (frame-window-divider-width-valid-p)
20571         (frame--window-divider-mode-apply)
20572         (frame--window-divider-mode-set-and-apply): New functions.
20573         * lisp/menu-bar.el (menu-bar-options-save): Save
20574         window-divider-mode settings.
20575         (menu-bar-window-divider-customize)
20576         (menu-bar-bottom-and-right-window-divider)
20577         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
20578         (menu-bar-no-window-divider): New functions.
20579         (menu-bar-showhide-window-divider-menu): New variable.
20580         (menu-bar-showhide-menu): Show/hide window divider menu.
20581         * lisp/mouse.el (mouse-split-window-vertically)
20582         (mouse-split-window-horizontally): Replace `error' by
20583         `user-error'.  Bind `window-combination-resize' to nil.
20584         (top-level): Add/reorder mouse key bindings on mode- and
20585         vertical-line.
20587 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
20589         Don't display ‘’ as `' under X in en_GB
20590         The curved quote setup code invokes (char-displayable-p ?‘),
20591         but this isn’t reliable until after the X frame replaces the
20592         terminal frame (Bug#20926).
20593         * lisp/international/mule-cmds.el (set-locale-environment):
20594         Move curved quote setup code from here ...
20595         * lisp/startup.el (command-line): ... to here, after creating
20596         the X frame.
20598 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
20600         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring.
20602         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
20603         to reverse the meaning (Bug#15631).
20605 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
20607         Be more tolerant to fonts named "Foobar-12"
20608         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
20609         don't barf; instead, request a new fontset to be generated.  This
20610         avoids unnecessarily rejecting fonts named against XLFD rules.  See
20611         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
20612         for the description of the original problem.
20613         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
20614         by a hyphen in a font's name.
20616         Fix value of posn-at-pont in R2L lines
20617         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
20618         coordinate of -1, for a newline in a right-to-left line that
20619         overflowed into the left fringe.
20621 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
20623         (cl--copy-slot-descriptor): Copy the `props' alist as well
20624         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
20625         Rename from cl--copy-slot-descriptor.
20626         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
20628 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
20630         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
20631         (xterm-query-timeout): New var.
20632         (xterm--query): Use it.  Fallback on async method if we timeout before
20633         getting the first byte of the reply (bug#12354).
20635 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
20637         Spelling fixes
20638         * lisp/character-fold.el (character-fold-search):
20639         * lisp/emacs-lisp/package.el (package-hidden-regexps):
20640         Fix typos.
20642 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
20644         * doc/emacs/frames.texi (Frame Commands): Typo fix.  (Bug#20946)
20646 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
20648         In strings, prefer plain ` and ' to \` and \'
20649         * lisp/allout.el (allout-insert-listified):
20650         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
20651         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
20652         (ls-lisp-string-lessp):
20653         * lisp/menu-bar.el (menu-bar-open):
20654         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
20655         * lisp/progmodes/compile.el (compile):
20656         * lisp/progmodes/etags.el (tags-loop-scan):
20657         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
20658         * lisp/subr.el (posn-actual-col-row):
20659         * lisp/term/pc-win.el (x-list-fonts):
20660         * lisp/textmodes/texinfmt.el (texinfmt-version):
20661         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
20662         * lisp/time.el (display-time-world-list):
20663         * lisp/tmm.el (tmm-menubar):
20664         * src/buffer.c (syms_of_buffer):
20665         * src/fileio.c (syms_of_fileio):
20666         Omit unnecessary and confusing backslash before quote.
20667         * lisp/erc/erc.el (erc-cmd-LASTLOG):
20668         * lisp/progmodes/flymake.el (flymake-fix-file-name):
20669         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
20670         Fix string that was intended to escape a backslash and not a quote.
20672 2015-06-30  Glenn Morris  <rgm@gnu.org>
20674         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
20676         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
20677         Replace hard-coded lists with wildcard + filter-out.
20679         * configure.ac (system-configuration-features): Add X11, NS.
20681         Improve reproducibility of generated loaddefs file
20682         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
20683         Make the return value the modtime of the input file (if no autoloads).
20684         (update-directory-autoloads): In the "no autoloads" section,
20685         use "most recent modtime" rather than "current time".
20687 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
20689         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic.
20690         (Bug#20930)
20692 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
20694         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
20696         Add seq-min and seq-max
20697         Bump version number.
20698         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
20699         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
20701 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
20703         Make sure sleep-for always delays for as long as it's told
20704         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
20705         a loop, to ensure we always wait exactly the required amount of
20706         time.  (Bug#15990)
20708 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
20710         Fix pointer signedness glitch
20711         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
20713 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
20715         Don't block changes in mouse pointer inside 'track-mouse'
20716         * etc/NEWS:
20717         * doc/lispref/frames.texi (Mouse Tracking): Document the special
20718         effect of setting 'track-mouse' to 'dragging'.
20719         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
20720         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
20721         * lisp/mouse-drag.el (mouse-drag-throw):
20722         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
20723         to avoid changes in the shape of the mouse pointer.
20724         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
20725         pointer shape when do_mouse_tracking has the value of 'dragging',
20726         not just any non-nil value.  (Bug#20934)
20727         (syms_of_xdisp): DEFSYM 'dragging'.
20729 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
20731         * lisp/isearch.el (isearch-toggle-word): Fix toggle.
20733         * lisp/emacs-lisp/package.el (package-compute-transaction):
20734         Don't assume version sorting.
20736         * lisp/emacs-lisp/package.el (package--save-selected-packages):
20737         Don't save before init time, to avoid overwriting configurations.
20738         (Bug#20855)
20740 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
20742         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
20743         references.
20745 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
20747         Update for the upcoming CFEngine 3.7 release: support macros and
20748         quoted context strings; reformat JSON; indent promise attributes 2
20749         units by default; give function parameter descriptions in the eldoc
20750         glue.
20751         * lisp/progmodes/cfengine.el: Update version and docs and fix name.
20752         Autoload `json-pretty-print'.  Support new features in 3.7.
20753         (cfengine-parameters-indent): Set default promise attribute indent to
20754         2 more than the promise itself.
20755         (cfengine3-macro-regex): New variable to match the new macro syntax.
20756         (cfengine3-font-lock-keywords): Use it to highlight macros.
20757         (cfengine3-indent-line): Use it to indent macros to column 0.
20758         (cfengine3-class-selector-regex): Update for the new quoted strings
20759         format.
20760         (cfengine3-reformat-json-string): New function to reformat a JSON
20761         string using `json-pretty-print'.
20762         (cfengine3-format-function-docstring): Use function parameter
20763         description if it's provided by the cf-promises syntax dump.
20765 2015-06-29  Michael R. Mauger  <michael@mauger.com>
20767         Cygwin emacsclient handles w32 file names
20768         * lisp/server.el (server-process-filter): Allow Cygwin's
20769         emacsclient to be used as a file handler on MS-Windows.
20771 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
20773         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice
20774         (bug#20925).
20776 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
20778         * doc/lispref/text.texi (Sticky Properties): Improve wording.
20779         (Bug#20924)
20781         Allow font names that end in "-NN", where NN is a number
20782         * src/font.c (font_load_for_lface): If the font-spec didn't match
20783         any available fonts, try again without interpreting trailing "-NN"
20784         as the font size.  For the description of the original problem, see
20785         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
20787         .gdbinit followup to changes in !USE_LSB_TAG
20788         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
20789         !USE_LSB_TAG, as Emacs no longer does.
20791 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
20793         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
20794         Otherwise `s p' of f and F will stomp on each other's value.
20795         (Bug#20916)
20797 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
20799         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
20800         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
20802 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
20804         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point
20805         as additional guess.
20807         * lisp/emacs-lisp/package.el (describe-package): Convert the guess
20808         to a string.
20810 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
20812         apropos-library quoting fix
20813         * lisp/apropos.el (apropos-library): Quote library consistently
20814         with the rest of the quoting used by apropos.
20816         Clarify interpreter-mode-alist doc
20817         * lisp/files.el (interpreter-mode-alist):
20818         Reword to avoid confusing quoting that wasn't working anyway.
20820 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
20822         Sync with Tramp 2.2.12
20823         * doc/misc/trampver.texi:
20824         * lisp/net/trampver.el: Update release number.
20825         * test/automated/tramp-tests.el (tramp-test13-make-directory):
20826         Fix cleanup.
20828 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
20830         * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913).
20832 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
20834         Bind grep-highlight-matches around the rgrep call
20835         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
20836         around the rgrep call (bug#20728).
20838         Put "--color" before the other options in grep-command
20839         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
20840         before the other options in grep-command (bug#20912).
20842         Add --color Grep option to the command dynamically
20843         * lisp/progmodes/grep.el (grep-template, grep-find-template):
20844         Update the description for <C>.  (Bug#20728)
20845         (grep-compute-defaults): Don't add the --color option to
20846         grep-options.  Only add it to grep-command.
20847         (grep-expand-keywords): Expand the env value opts into <C>.
20848         (grep-expand-template): Replace cf in the env with the opts list,
20849         that can include -i and --color.
20850         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
20851         "--color=always" from the template, because we don't have to.
20853 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
20855         cl-extra fixes for most-negative-fixnum
20856         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
20857         Don't mishandle an argument equal to most-negative-fixnum,
20858         whose absolute value equals itself.
20859         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
20861         Initialize cl--gensym-counter to 0
20862         Previously it was initialized to a random value, which made it
20863         harder to reproduce earlier Emacs runs.  The need for a random
20864         value went away when Emacs introduced and used the #: syntax for
20865         uninterned symbols (Bug#20862).
20866         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
20867         Document that cl--gensym-counter now starts with 0.
20868         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
20869         (cl--random-time): Move to near only remaining use.
20870         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
20872         Improve docstring for macroexp-let2
20873         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
20874         Improve as per suggestion by RMS in:
20875         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
20876         Also, rename args to match new doc string.
20878 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
20880         Fix VC test suite on MS-Windows
20881         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
20882         always starts with 3 slashes after the colon.
20883         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
20884         'w32-application-type' to invoke CVS on MS-Windows with properly
20885         formatted CVSROOT directory name.
20887         Add a new function w32-application-type
20888         * src/w32proc.c (Fw32_application_type): New function.
20890         Avoid error in TLS connections due to incorrect format
20891         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
20892         the call to 'error', instead of the unsupported %u.  Reported by
20893         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
20895 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
20897         * lisp/replace.el (replace-search): Fix regexp case (bug#20901).
20899 2015-06-26  Leo Liu  <sdl.web@gmail.com>
20901         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
20902         `with-output-to-string' in elisp.
20904         Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of
20905         with-output-to-string".
20906         This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
20908 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
20910         Minor corrections in ELisp manual
20911         * doc/lispref/nonascii.texi (Character Properties): Correct
20912         inaccuracies in description of values of the Unicode properties.
20914         Fix invisible mouse pointers on Windows.
20915         * src/w32fns.c: Include windowsx.h.
20916         (w32_wnd_proc): If the mouse moved and the mouse pointer is
20917         invisible, make it visible again even when the main (Lisp)
20918         thread is busy.
20919         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
20920         garbaging the frame have the input thread call SetCursor.
20922 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
20924         Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922)
20925         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
20926         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
20927         * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible.
20928         (w32_toggle_invisible_pointer): New function.
20929         (w32_create_terminal): Add w32_toggle_invisible_pointer as
20930         toggle_invisible_pointer_hook for this terminal.
20932 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
20934         Doc fix for deletion commands
20935         'delete-char' does not respect the value of 'delete-active-region'.
20936         * doc/emacs/killing.texi (Deletion):
20937         Fix documentation for some single-char deletion commands.
20939         * doc/emacs/help.texi (Apropos):
20940         Improve documentation of 'apropos-do-all'.
20942         * doc/emacs/help.texi (Help Summary):
20943         Improve documentation of 'describe-mode'.
20945 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
20947         Fix submake dependency bug with .h files
20948         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
20949         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
20950         before the submake in $(libsrc) would spin off a subsubmake
20951         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
20953 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
20955         * lisp/character-fold.el (character-fold-table): Reuse `table'.
20957 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
20959         Translate undisplayable ‘ to `
20960         * doc/lispref/help.texi (Keys in Documentation):
20961         * lisp/international/mule-cmds.el (set-locale-environment):
20962         * lisp/term/w32console.el (terminal-init-w32console):
20963         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
20964         If ‘ is not displayable, transliterate it to `, not to '.  See:
20965         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
20967         Fix C99 incompatibilities in Cairo code
20968         * src/image.c (xpm_load) [USE_CAIRO]:
20969         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
20970         Fix pointer signedness problem.
20972 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
20974         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
20975         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
20976         `with-output-to-string' should have the same indent as `progn'.
20977         This is in line with the declaration of `with-output-to-string'.
20979 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
20981         Get ‘./configure; make -C src emacs’ to work
20982         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
20983         * lib-src/Makefile.in (../lib/libgnu.a):
20984         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
20986 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
20988         Fix GC bugs --with-wide-int and Qnil == 0
20989         Use the same alignment for the !USE_LSB_TAG case as for the
20990         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
20991         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
20992         once we changed the representation of symbols so that Qnil == 0.
20993         Problem reported by Eli Zaretskii (Bug#20862).
20994         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
20995         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
20996         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
20997         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
20998         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
20999         This optimization in the !USE_LSB_TAG case is no longer valid when
21000         symbols are represented via offsets.  Change the only use to
21001         assume that pointers might hide in objects.
21002         * src/lisp.h (alignas) [!USE_LSB_TAG]:
21003         Require support in this case, too.
21004         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
21005         This is OK, because the !USE_LSB_TAG case now applies only when
21006         Lisp_Object is wider than void *, so there's no longer any need
21007         to shift the offset.  Not shifting the offset means that
21008         symbol representations have the same alignment as pointers,
21009         which the GC assumes.
21011 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
21013         * doc/lispintro/emacs-lisp-intro.texi (Data types):
21014         Improve documentation of 'substring'.
21016 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
21018         * lisp/character-fold.el (character-fold-table): Fix table generation.
21020 2015-06-24  Glenn Morris  <rgm@gnu.org>
21022         * nextstep/Makefile.in (all): Make it the first target.
21023         (../src/emacs${EXEEXT}): Add rule for making it.
21025 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
21027         * etc/NEWS: Fix mention to old function name.
21029         * lisp/character-fold.el: New file (Bug#20887)
21030         (character-fold-to-regexp): New function.
21031         * lisp/replace.el (replace-search): Check value of
21032         `character-fold-search'.
21033         * lisp/isearch.el: Move character-folding code to
21034         character-fold.el
21035         (isearch-toggle-character-fold): New command.
21036         (isearch-mode-map): Bind it to "\M-sf".
21037         (isearch-mode): Check value of `character-fold-search'.
21039 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21041         lisp/subr.el (remove-from-invisibility-spec): Handle the t case
21042         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
21043         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
21045         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
21046         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
21048 2015-06-24  Glenn Morris  <rgm@gnu.org>
21050         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
21052 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21054         lisp/gnus/nnmaildir.el: Silence lexical warnings
21055         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
21056         functional style.
21057         (nnmaildir--update-nov): Remove unused var `numdir'.
21058         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
21059         (nnmaildir-request-group, nnmaildir-request-create-group)
21060         (nnmaildir-request-post, nnmaildir-request-move-article)
21061         (nnmaildir-request-accept-article, nnmaildir-active-number):
21062         Mark unused args.
21063         (nnmaildir-get-new-mail, nnmaildir-group-alist)
21064         (nnmaildir-active-file): Declare.
21065         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
21066         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
21067         `mark', `end', `new-mark', and `mark-sym'.
21068         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
21069         `nlist2'.
21070         (nnmaildir-request-expire-articles):
21071         Remove unused vars `article', `stop' and `nlist2'.
21072         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
21073         `end'.  Use nnmaildir--article when dyn-binding is needed.
21074         Give the value directly in the `let' for `del-mark', `del-action',
21075         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
21076         (nnmaildir-close-server): Declare those local vars that need to be
21077         dyn-bound.
21079 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
21081         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
21083         Port selection info fix to clang
21084         * src/keyboard.h (kbd_buffer_store_event_hold):
21085         Don't assume C11 semantics for alignof (Bug#20756).
21087         Fix bug that munged selection info
21088         On some optimizing C compilers, copying a structure did not
21089         copy the padding bytes between elements, and the type punning
21090         between struct input_data and struct selection_input_data did
21091         not work.  Change the C code to use a proper union type instead.
21092         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
21093         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
21094         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
21095         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
21096         (mark_kboards):
21097         Use union buffered_input_event, not struct input_event.
21098         (clear_event, deliver_input_available_signal, process_special_events):
21099         Remove unnecessary forward decls.
21100         (kbd_buffer_store_buffered_event): New function, mostly just the
21101         old kbd_buffer_store_event_hold, except its argument is of type
21102         union buffered_input_event, not struct input_event.
21103         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
21104         not needed otherwise.  Argument is now of type
21105         struct selection_input_event *, not struct input_event *.
21106         All callers changed.
21107         (clear_event): Arg is now of type union buffered_input_event *,
21108         not struct input_event *.  All callers changed.
21109         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
21110         (union buffered_input_event): New type.
21111         (kbd_buffer_store_event_hold): Now an inline function,
21112         defined here.
21113         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
21114         (struct input_event): Use it.
21115         * src/xselect.c (struct selection_event_queue):
21116         Make elements be of type struct selection_input_event,
21117         not struct input_event.
21118         (selection_input_event_equal): New static function.
21119         (x_queue_event): Use it.
21120         (x_queue_event, x_decline_selection_request)
21121         (x_selection_current_request, x_reply_selection_request)
21122         (x_handle_selection_request, x_handle_selection_clear)
21123         (x_handle_selection_event): Use struct selection_input_event,
21124         not struct input_event.  All callers changed.
21125         (x_convert_selection): Omit unused first arg.  All callers changed.
21126         (Fx_disown_selection_internal): Omit unnecessary union.
21127         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
21128         rather than rolling our own equivalent.  Prefer sie.kind when
21129         setting up that kind of structure.
21130         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
21131         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
21132         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
21133         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
21134         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
21135         (SELECTION_EVENT_TIME, x_handle_selection_event):
21136         Arg is now of type struct selection_input_event *)
21137         not struct input_event *.  All callers changed.
21139 2015-06-23  Glenn Morris  <rgm@gnu.org>
21141         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
21143 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
21145         * lisp/isearch.el: Fold many unicode characters to ASCII.
21146         (isearch-character-fold-search, isearch--character-fold-extras)
21147         (isearch--character-fold-table): New variable.
21148         (isearch--character-folded-regexp): New function.
21149         (isearch-search-fun-default): Use them.
21150         * lisp/replace.el (replace-character-fold): New variable.
21151         (replace-search): Use it.
21152         * etc/NEWS: Document it.
21154 2015-06-23  Glenn Morris  <rgm@gnu.org>
21156         Check for an input event before showing a dialog box.  (Bug#20813)
21157         * lisp/subr.el (y-or-n-p):
21158         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
21159         as last-nonmenu-event.
21161 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
21163         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
21164         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
21165         (switch-to-prev-buffer, switch-to-next-buffer): Respect
21166         switch-to-visible-buffer independent of the windows history.
21168 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
21170         * src/keyboard.c (last_timer_event): Remove unused var.
21172 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
21174         * test/automated/package-test.el (package-test-update-listing):
21175         Fix test.
21177 2015-06-23  Glenn Morris  <rgm@gnu.org>
21179         Revert 2014-06-25 nextstep/Makefile change.
21180         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
21181         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
21182         not as an order-only prerequisite.
21184         * configure.ac (--with-ns): Enable by default on OS X.
21186 2015-06-23  Leo Liu  <sdl.web@gmail.com>
21188         Fix shell-for/backward-command to exclude spaces
21189         * lisp/shell.el (shell-forward-command, shell-backward-command):
21190           Handle the 'move case from re-search-forward/backward.
21191           fixes debbugs:20873
21193 2015-06-22  Juri Linkov  <juri@linkov.net>
21195         * lisp/replace.el (query-replace-read-from): Add separator to
21196         the local binding of text-property-default-nonsticky.  (Bug#20690)
21198         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
21199         (Bug#20785)
21201 2015-06-22  Ken Brown  <kbrown@cornell.edu>
21203         Enable CPU profiling on Cygwin
21204         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
21205         change that undefined this.
21206         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
21207         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
21208           Cygwin.
21210         Improve diagnostics of profiler-cpu-start
21211         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
21212         return -1 if the sampling interval is invalid.
21213         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
21214         fails.  (Bug#20843)
21216 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
21218         * lisp/emacs-lisp/package.el: Exclude packages by name.
21219         (package-hidden-regexps): New variable.
21220         (package-menu--refresh): Use it.
21221         (package-menu-hide-package): New command.
21223         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding.
21225 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
21227         Fix debug-timer-check on systems without HAVE_TIMERFD
21228         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
21229         the expired timers, since wait_reading_process_output doesn't.
21230         (debug_timer_callback): Enlarge the tolerance to 20 msec.
21232         Fix RCS crashes in vc-test
21233         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
21234         ports of 'ci' on MS-Windows by always passing the -t- switch.
21236 2015-06-22  Glenn Morris  <rgm@gnu.org>
21238         * doc/emacs/package.texi (Packages):
21239         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
21241         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
21243 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
21245         Port tests to help-quote-translation
21246         * test/automated/ert-x-tests.el (ert-test-describe-test):
21247         * test/automated/package-test.el (package-test-describe-package)
21248         (package-test-signed): Allow straight quotes, too.
21250 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
21252         Make find-function-on-key use the current window
21253         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
21254         Extract from `find-function-on-key', add a second argument.
21255         (find-function-on-key): Use it (bug#19679).
21256         (find-function-on-key-other-window)
21257         (find-function-on-key-other-frame): New commands.
21259 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
21261         Revert "Define `map-elt' as a generalized variable"
21262         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
21264 2015-06-21  Ken Brown  <kbrown@cornell.edu>
21266         Drop support for CPU profiling on Cygwin
21267         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
21268         (Bug#20843)
21270 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
21272         Fix some “nested” quoting confusion in doc strings
21273         * lisp/emacs-lisp/advice.el (ad-map-arglists):
21274         * lisp/kermit.el (kermit-clean-on):
21275         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
21276         * src/keyboard.c (Frecursive_edit):
21277         Use curved quotes when quoting text containing apostrophe,
21278         so that the apostrophe isn't curved in the output.
21280 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
21282         Define `map-elt' as a generalized variable
21283         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
21284         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
21285         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
21286         `setf' with `map-elt'.
21287         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
21289 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
21291         Improve error handling in tramp-adb.el
21292         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
21293         Improve error handling.
21295 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
21297         Reuse `alist-get' in map.el
21298         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
21299         elements.
21301 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
21303         Fix bytecomp-tests--warnings when $TMPDIR has a long name
21304         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
21305         Allow the warning to begin on the 3rd, not only 2nd line, which
21306         happens if temporary-file-directory has a very long name.
21308         Expect 2 icalendar tests to fail on MS-Windows
21309         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
21310         (icalendar-real-world): Make them expected failures on MS-Windows.
21312 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
21314         Improve port of settings UI to older displays
21315         * lisp/cus-start.el (standard): Don't assume curved quotes are
21316         easily distinguishable when users are tinkering with a setting
21317         that affects how curved quotes are generated.
21319         Fix quoting in electric-quote-mode doc string
21320         * lisp/electric.el (electric-quote-mode): Fix quoting.
21321         This is a fallout from the recent change introducing
21322         ‘help-quote-translation’.
21324         Spelling fix
21326         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
21328         * src/doc.c (syms_of_doc): Remove unused symbols.
21330 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
21332         * lisp/window.el (window-state-put): Undedicate target window
21333         before putting STATE into it.  (Bug#20848)
21335 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
21337         Merge from origin/emacs-24
21338         a5e6f33 Fixes: debbugs:20832
21339         b9f02cf Fixes: debbugs:20832
21341 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
21343         Fix file-in-directory-p when the directory is UNC
21344         * lisp/files.el (file-in-directory-p): Support files and
21345         directories that begin with "//".  (Bug#20844)
21347 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
21349         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
21350         in the minibuffer.  (Bug#20832)
21352 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
21354         * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer
21355         for adding new todo file is empty but modified.  (Bug#20832)
21357 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
21359         (filepos-to-bufferpos): Further tweaks to the utf-16 code
21360         * lisp/international/mule-util.el (filepos-to-bufferpos):
21361         Fix typo.  Move non-exact check to the utf-16 branch (the only one
21362         affected).  Don't use byte-to-position for the utf-16 case.
21364 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
21366         Minor fixes in filepos-to-bufferpos
21367         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
21368         test for utf-8-emacs.  Exempt single-byte encodings from the
21369         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
21370         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
21371         UTF-16 encoded files for CR-LF EOLs.
21373 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
21375         Improve the optional translation of quotes
21376         Fix several problems with the recently-added custom variable
21377         help-quote-translation where the code would quote inconsistently
21378         in help buffers.  Add support for quoting 'like this', which
21379         is common in other GNU programs in ASCII environments.  Change
21380         help-quote-translation to use more mnemonic values: values are now the
21381         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
21382         traditional Emacs help-buffer quoting style `like this'.  Change the
21383         default behavior of substitute-command-keys to match what's done in
21384         set-locale-environment, i.e., quote ‘like this’ if displayable,
21385         'like this' otherwise.
21386         * doc/lispref/help.texi (Keys in Documentation): Document
21387         new behavior of substitute-command-keys, and document
21388         help-quote-translation.
21389         * doc/lispref/tips.texi (Documentation Tips):
21390         Mention the effect of help-quote-translation.
21391         * etc/NEWS: Mention new behavior of substitute-command-keys,
21392         and merge help-quote-translation news into it.
21393         When talking about doc strings, mention new ways to type quotes.
21394         * lisp/cedet/mode-local.el (overload-docstring-extension):
21395         Revert my recent change to this function, which shouldn't be
21396         needed as the result is a doc string.
21397         * lisp/cedet/mode-local.el (mode-local-print-binding)
21398         (mode-local-describe-bindings-2):
21399         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
21400         * lisp/cus-theme.el (describe-theme-1):
21401         * lisp/descr-text.el (describe-text-properties-1, describe-char):
21402         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
21403         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
21404         (eieio-help-constructor):
21405         * lisp/emacs-lisp/package.el (describe-package-1):
21406         * lisp/faces.el (describe-face):
21407         * lisp/help-fns.el (help-fns--key-bindings)
21408         (help-fns--compiler-macro, help-fns--parent-mode)
21409         (help-fns--obsolete, help-fns--interactive-only)
21410         (describe-function-1, describe-variable):
21411         * lisp/help.el (describe-mode):
21412         Use substitute-command-keys to ensure a more-consistent quoting
21413         style in help buffers.
21414         * lisp/cus-start.el (standard):
21415         Document new help-quote-translation behavior.
21416         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
21417         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
21418         (help-xref-url-regexp):
21419         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
21420         * lisp/wid-edit.el (widget-documentation-link-regexp):
21421         Also match 'foo', in case we're in a help buffer generated when
21422         help-quote-translation is ?'.
21423         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
21424         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
21425         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
21426         (Fsubstitute_command_keys): Document and implement new behavior.
21427         (Vhelp_quote_translation): Document new behavior.
21429 2015-06-18  Glenn Morris  <rgm@gnu.org>
21431         * lisp/cus-start.el (help-quote-translation): Add :version.
21433         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
21435 2015-06-18  Alan Mackenzie  <acm@muc.de>
21437         Make translation of quotes to curly in doc strings optional.
21438         * src/doc.c (traditional, prefer-unicode): New symbols.
21439         (help-quote-translation): New variable.
21440         (Fsubstitute_command_keys): Make translation of quotes dependent on
21441         `help-quote-translation'; also translate curly quotes back to ASCII
21442         ones.
21443         * lisp/cus-start.el (top-level): Add a customization entry for
21444         `help-quote-translation'.
21446 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
21448         * lisp/emacs-lisp/package.el: Don't always propagate async errors
21449         (package--with-work-buffer-async): Only propagate the error if the
21450         callback returns non-nil.
21451         (package--download-one-archive): Return nil on the signature
21452         checking callback if we accept unsigned.
21453         (package--download-and-read-archives): Return non-nil on the
21454         archive download callback.
21456 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
21458         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
21459         * src/nsfns.m (Fx_create_frame):
21460         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
21461         image_cache_refcount before first x_default_parameter call.
21463 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
21465         Improve and extend filepos-to-bufferpos
21466         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
21467         Don't barf if F returns nil for some argument.
21468         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
21469         that every encoding of type 'charset' is single-byte.
21471 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
21473         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
21474         Properly delete packages.  (Bug#20836)
21476 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
21478         Update data files from just-released Unicode 8.0
21479         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
21480         status.
21481         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
21482         * admin/unidata/BidiMirroring.txt:
21483         * admin/unidata/BidiBrackets.txt:
21484         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
21486 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
21488         Document curved quotes a bit better
21489         * doc/emacs/basic.texi (Inserting Text):
21490         Mention C-x 8.  Change example to use curved quote rather
21491         than infinity, as this lets us give more ways to do it.
21492         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
21493         and quotation marks.
21494         * doc/emacs/text.texi (Quotation Marks):
21495         * doc/lispref/tips.texi (Documentation Tips):
21496         Add "curly quotes" and "curved quotes" to the index.
21497         * doc/emacs/text.texi (Quotation Marks):
21498         Give the C-x 8 shorthands for curved quotes.
21499         Cross-reference to "Quotation Marks".
21501 2015-06-17  Daiki Ueno  <ueno@gnu.org>
21503         Add pinentry.el for better GnuPG integration
21504         * lisp/pinentry.el: New file.
21505         * etc/NEWS: Add entry about pinentry.el.
21506         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
21507         (Bug#20550)
21509 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
21511         * lisp/emacs-lisp/package.el: Slightly better error reporting.
21513 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
21515         (define-minor-mode): Use setq-default for :global minor modes
21516         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
21517         Use setq-default for :global minor modes (bug#20712).
21519 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
21521         Avoid infloop in redisplay with tall images
21522         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
21523         down near ZV.  (Bug#20808)
21524         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
21525         instead of CHARPOS.
21527 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
21529         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
21530         Fix error reporting.
21532         * lisp/emacs-lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
21534         * lisp/emacs-lisp/package.el: Revert buffer after any operation
21535         Call `package-menu--post-refresh' after any operation that changes
21536         the package database (`package-install' and `package-delete').  To
21537         avoid performance issues in large transactions, these functions
21538         add `post-refresh' to `post-command-hook' instead of calling it
21539         immediately.
21540         (package-menu--mark-or-notify-upgrades): New function.
21541         (list-packages): Add it to `package--post-download-archives-hook'.
21542         (package-menu--post-refresh): Lose the upgrade-checking code, add
21543         code to remove itself from `post-command-hook'.
21544         (package-install, package-delete): Add it to `post-command-hook'.
21545         (package-menu-execute): Don't call `package-menu--post-refresh'.
21547 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
21549         Add missing function xref-location-group for elisp-mode.
21550         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
21552 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
21554         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
21555         The behavior now matches the description in the manual.  (Bug#20783)
21557 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
21559         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
21561 2015-06-17  Glenn Morris  <rgm@gnu.org>
21563         Generate char-script-table from Unicode source.  (Bug#20789)
21564         * admin/unidata/Makefile.in (AWK): New, set by configure.
21565         (all): Add charscript.el.
21566         (blocks): New variable.
21567         (charscript.el, ${unidir}/charscript.el): New targets.
21568         (extraclean): Also remove generated charscript.el.
21569         * admin/unidata/blocks.awk: New script.
21570         * admin/unidata/Blocks.txt: New data file, from unicode.org.
21571         * lisp/international/characters.el: Load charscript.
21572         * src/Makefile.in (charscript): New variable.
21573         (${charscript}): New target.
21574         (${lispintdir}/characters.elc): Depend on charscript.elc.
21575         (temacs$(EXEEXT)): Depend on charscript.
21577         * lisp/international/characters.el (char-script-table): Tweak
21578         some ranges to better match the source.  (Bug#20789#17)
21580         Remove "no-byte-compile: t" from a few files.
21581         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
21582         * lisp/obsolete/patcomp.el: No reason not to compile these.
21584 2015-06-16  Glenn Morris  <rgm@gnu.org>
21586         Fix some typos in copied Unicode data.  (Bug#20789)
21587         * lisp/international/characters.el (char-script-table):
21588         * lisp/international/fontset.el (script-representative-chars)
21589         (setup-default-fontset): Fix typos.
21591         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
21592         Don't print filename twice (it's in the prefix now).
21594         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
21595         No longer needed.
21597         Address a compilation warning.
21598         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
21599         Replace 't' with '_' in pcase.
21601         Address some check-declare warnings.
21602         * lisp/simple.el (tabulated-list-print):
21603         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
21604         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
21605         (ns-get-selection): Update declarations.
21607         Address some compilation warnings.
21608         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
21609         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
21610         Replace 't' with '_' in pcase.
21612         Address some compilation warnings.
21613         * lisp/face-remap.el (text-scale-adjust):
21614         * lisp/menu-bar.el (popup-menu-normalize-position):
21615         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
21616         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
21617         * lisp/emacs-lisp/generator.el (cps--transform-1):
21618         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
21619         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
21620         * lisp/progmodes/octave.el (octave-goto-function-definition)
21621         (octave-find-definition-default-filename):
21622         Replace 't' with '_' in pcase.
21624         * lisp/emacs-lisp/pcase.el (pcase--u1):
21625         Paper-over today's bootstrap failure.
21627 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
21629         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
21631         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
21633         Better confirmation message in `find-alternate-file' (Bug#20830)
21634         * lisp/files.el (find-alternate-file'): Improve the confirmation
21635         message to show the buffer name.
21637         Better docstring for null.  (Bug#20815)
21638         * src/data.c (null): Improves the docstring, saying what null returns
21639         when OBJECT is non-nil.
21641 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
21643         * lisp/net/newst-treeview.el: Use lexical-binding.
21645         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
21646         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
21647         New auxiliary function, extracted from filepos-to-bufferpos.
21648         Make sure it terminates.
21649         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
21650         Add support for the `exact' quality.
21652 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
21654         Identify feeds in newsticker treeview with :nt-feed property
21655         * lisp/net/newst-treeview.el:
21656         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
21658 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
21660         * lisp/emacs-lisp/pcase.el: Improve docs and error handling.
21661         (pcase--self-quoting-p): Floats aren't self-quoting.
21662         (pcase): Tweak docstring.
21663         (pcase--u1): Deprecate the t pattern.  Improve error detection for
21664         the nil pattern.
21665         (\`): Tweak docstring.  Signal an error for unrecognized cases.
21666         (bug#20784)
21668 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
21670         Fix infloop in filepos-to-bufferpos
21671         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
21672         offset calculation, and make it conditional on the eol-type of the
21673         file's encoding.  (Bug#20825)
21675 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
21677         Fix handling of image cache refcounts.  (Bug#20802)
21678         This backports Eli Zaretskii's solution of this problem for W32
21679         to X and NS.
21680         * src/nsfns.m (image_cache_refcount): Define unconditionally.
21681         (unwind_create_frame): If the image cache's reference count
21682         hasn't been updated yet, do that now.
21683         (Fx_create_frame): Set image_cache_refcount unconditionally.
21684         * src/xfns.c (image_cache_refcount): Define unconditionally.
21685         (unwind_create_frame): If the image cache's reference count
21686         hasn't been updated yet, do that now.
21687         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
21688         unconditionally.
21689         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
21690         X and NS.
21692 2015-06-16  Nils Ackermann  <nils@ackermath.info>
21694         Improve reftex-label-regexps default value
21695         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
21696         keyvals label regexp more strict to better cope with unbalanced
21697         brackets common in math documents.
21699 2015-06-16  Glenn Morris  <rgm@gnu.org>
21701         * doc/emacs/calendar.texi (Format of Diary File):
21702         Move "nonmarking" from here...
21703         (Displaying the Diary): ... to here.
21705         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
21706         Swap the order of these nodes.
21707         * doc/emacs/emacs.texi: Update detailed menu for the above change.
21709         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
21710         Update date of examples.
21711         (Diary, Format of Diary File): Move example from former to latter.
21712         Reduce duplication.
21714         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
21715         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
21716         Don't set no-byte-compile in the outputs.
21717         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
21719 2015-06-15  Glenn Morris  <rgm@gnu.org>
21721         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
21722         * doc/emacs/calendar.texi (Diary, Format of Diary File):
21723         Update for above diary-file change.
21725         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
21726         (apply-macro-to-region-lines): Use user-error.
21728         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
21729         (pages-directory-for-addresses): Doc fixes.
21731 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
21733         * lisp/info.el: Cleanup bytepos/charpos issues
21734         * lisp/international/mule-util.el: Use lexical-binding.
21735         (filepos-to-bufferpos): New function.
21736         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
21737         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
21738         (Info-read-subfile, Info-search): Use 0-based file positions.
21740         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
21741         (perl--syntax-exp-intro-keywords): New var.
21742         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
21743         (bug#20800).
21745 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
21747         Fix quoting when making derived mode docstring
21748         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
21749         Nest regexp-quote inside format, not the reverse.
21750         Problem reported by Artur Malabarba in:
21751         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
21753 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
21755         Fix current-iso639-language on MS-Windows
21756         * lisp/international/mule-cmds.el (set-locale-environment):
21757         Downcase the locale name before interning it.  This is so the
21758         'current-iso639-language' on MS-Windows matches the ':lang'
21759         property of font-spec objects.
21761         Limit Symbola usage some more
21762         * lisp/international/fontset.el (setup-default-fontset): Limit
21763         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
21764         (Bug#20727)
21766 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
21768         * lisp/emacs-lisp/map.el (map-let): Better docstring.
21770 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
21772         * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f):
21773         (help-fns-test-funny-names): Spelling fixes.
21775 2015-06-14  Glenn Morris  <rgm@gnu.org>
21777         * lisp/version.el (emacs-repository-version-git): Demote errors.
21778         Check result is a hash.
21780 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
21782         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
21783         Catch errors that happen before going async.  (Bug#20809)
21785 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
21787         Another improvement of documentation of set-fontset-font
21788         * doc/lispref/display.texi (Fontsets): Say explicitly that
21789         CHARACTER can be a single codepoint.
21790         * src/fontset.c (Fset_fontset_font): Doc fix.
21792         Another improvement for symbol and punctuation characters
21793         * lisp/international/fontset.el (setup-default-fontset): Exclude
21794         from Symbola character ranges for symbols and punctuation covered
21795         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
21796         installed and where its coverage of symbols and punctuation is
21797         known to be good.  (Bug#20727)
21799 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
21801         Some generic support for multi-mode indentation.
21802         * lisp/progmodes/prog-mode.el (prog-indentation-context):
21803         New variable.
21804         (prog-first-column, prog-widen): New convenience functions.
21806 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
21808         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
21809         Don't assume that `tabulated-list-printer' will leave point at the
21810         end of the buffer.  (Bug#20810)
21812 2015-06-13  Glenn Morris  <rgm@gnu.org>
21814         Tweaks for getting repository version; a bit more like it was for bzr
21815         * lisp/version.el (emacs-repository-version-git)
21816         (emacs-repository--version-git-1): New functions,
21817         split from emacs-repository-get-version.
21818         (emacs-repository-get-version): Make the second argument meaningful.
21820         * lisp/startup.el (command-line-1): Inform if skipping relative
21821         file names due to deleted PWD.
21823         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
21824         when starup directory is missing.  (Bug#18851)
21825         (errno.h): Include it.
21827 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
21829         Better fix for documenting `X as "`X"
21830         Fix suggested by Stefan Monnier.
21831         * lisp/help-fns.el (help-fns--signature):
21832         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
21833         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
21834         Don't treat `X specially, as help-fns--signature now handles this.
21836 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
21838         Improve the default fontset when Symbola is not installed
21839         * lisp/international/fontset.el (setup-default-fontset): Only
21840         prepend Symbola and FreeMono font specs for symbols and
21841         punctuation; do not replace the default spec for them.  This
21842         should have better results when Symbola/FreeMono are not
21843         installed.  (Bug#20727)
21845         Improve documentation of ':lang' in font specs
21846         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
21847         use of the ':lang' property of the font spec.
21848         * doc/emacs/frames.texi (Fonts): Document the language names that
21849         can be in the STYLE part of XLFD.
21850         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
21851         property.
21853         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
21855         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
21857         Revert last change in fontset.el
21858         * lisp/international/fontset.el (setup-default-fontset): Revert
21859         the change "Configure Symbola font only if installed", since font
21860         search is evidently not yet set up when this function is called.
21861         (Bug#20727)
21863 2015-06-12  Glenn Morris  <rgm@gnu.org>
21865         Ensure early startup warnings are visible at the end.  (Bug#20792)
21866         * lisp/emacs-lisp/warnings.el (display-warning):
21867         If startup isn't complete, delay the warning.
21868         * lisp/startup.el (normal-top-level, command-line):
21869         Let display-warning automatically handle the needed delays.
21870         Run delayed-warnings-hook.
21872         * lisp/version.el (emacs-repository-get-version):
21873         Avoid calling external executable if possible.  (Bug#20799)
21875 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21877         Document `X as "`X", not as "(` X)"
21878         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
21879         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
21881         * src/print.c (print_object): Minor simplification.
21883 2015-06-12  Glenn Morris  <rgm@gnu.org>
21885         * src/buffer.c (init_buffer): Add final newline to message.
21887 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21889         Configure Symbola font only if installed
21890         * lisp/international/fontset.el (setup-default-fontset):
21891         Don't specify the Symbola font if it's not installed.
21892         Likewise for FreeMono.  (Bug#20727)
21894 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
21896         Configure Symbola font only for symbols and punctuation
21897         * lisp/international/fontset.el (setup-default-fontset): Leave
21898         only symbols and punctuation in the fontset setup for Symbola
21899         font; remove "Greek and Coptic" and "Cyrillic Supplement".
21900         (Bug#20798)
21902 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
21904         Fix crash in fontset-info
21905         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
21906         non-nil.
21908 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21910         Port to Solaris 10 sparc + Sun C 5.13
21911         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
21912         Adjust to process.c change.
21913         * src/process.c (create_process): Declare volatile variables at
21914         top level of this function, so that they're less likely to be
21915         reused later in the function in the code executed by the vforked
21916         child.  Do not declare locals used only in the vforked child, as
21917         they might share memory with locals still live in the parent.
21918         Instead, use the same variables in the child as in the parent.
21919         This works around a subtle bug that causes a garbage collector
21920         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
21922 2015-06-12  Glenn Morris  <rgm@gnu.org>
21924         * lisp/startup.el (normal-top-level): Don't let *Messages* get
21925         a nil default-directory.
21927 2015-06-11  Glenn Morris  <rgm@gnu.org>
21929         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
21931         Some progress towards starting with PWD deleted.  (Bug#18851)
21932         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
21933         * lisp/startup.el (normal-top-level, command-line-1):
21934         * lisp/minibuffer.el (read-file-name-default):
21935         Handle default-directory being nil.
21937 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
21939         Fix "not a tty" bug on Solaris 10
21940         * configure.ac (PTY_OPEN): Define to plain 'open'
21941         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
21942         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
21943         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
21944         hosts that call grantpt which does its work via a setuid subcommand
21945         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
21946         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
21947         seems relevant in that case too.
21949 2015-06-11  Juri Linkov  <juri@linkov.net>
21951         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
21952         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
21953         (Bug#20785)
21955 2015-06-11  Glenn Morris  <rgm@gnu.org>
21957         * lisp/international/characters.el (char-script-table): Fix typo.
21959 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
21961         Fix quoting of help for functions with odd names
21962         While investigating Bug#20759, I discovered other quoting problems:
21963         C-h f mishandled characters like backslash and quote in function names.
21964         This fix changes the behavior so that 'C-h f pcase RET' now
21965         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
21966         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
21967         in src/lread.c's read1 function says that the backslash will be
21968         needed starting in Emacs 25, which implies that 'format' is
21969         correct and the old pcase documention was wrong to omit the backslash.
21970         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
21971         * lisp/help-fns.el (help-fns--signature):
21972         * lisp/help.el (help-add-fundoc-usage):
21973         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
21974         Use help--make-usage-docstring rather than formatting
21975         help-make-usage.
21976         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
21977         Return raw docstring.
21978         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
21979         raw docstring.  Take more care to distinguish raw from cooked dstrings.
21980         (describe-function-1): Let help-fns--signature substitute
21981         command keys.
21982         * lisp/help.el (help--docstring-quote): New function.
21983         (help-split-fundoc): Use it, to quote funny characters more
21984         systematically.
21985         (help--make-usage): Rename from help-make-usage, since this
21986         should be private.  Leave an obsolete alias for the old name.
21987         (help--make-usage-docstring): New function.
21988         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
21990 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
21992         * lisp/thingatpt.el (in-string-p): Revert last change,
21993         since in-string-p is not used in thingatpt.el but only from outside.
21994         Also, use lexical binding.
21996 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
21998         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
21999         * test/automated/let-alist.el (let-alist-cons): Test it.
22001 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
22003         * src/syntax.c (Fbackward_prefix_chars): Reword docstring.
22005 2015-06-10  Glenn Morris  <rgm@gnu.org>
22007         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
22009         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
22010         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
22011         * admin/gitmerge.el (gitmerge-commit-message):
22012         Exclude "skipped" messages from ChangeLog once again.
22014         Slight namespace cleanup for thingatpt.el.
22015         * lisp/thingatpt.el (thing-at-point--in-string-p)
22016         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
22017         (thing-at-point--read-from-whole-string): Rename from
22018         old versions without "thing-at-point--" prefix.
22019         Keep old versions as obsolete aliases.  Update all uses.
22021         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
22022         Move requiring of finder from here...
22023         (checkdoc-package-keywords): ... to here.
22025         Use 'user-error' in a few calendar files.
22026         * lisp/calendar/appt.el (appt-add):
22027         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
22028         (calendar-generate):
22029         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
22030         Replace 'error' with 'user-error'.
22032         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
22034         * lisp/files-x.el (add-file-local-variable):
22035         Special-case 'lexical-binding'.  (Bug#20641)
22037         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
22038         No longer autoload.
22039         * doc/misc/autotype.texi (Executables):
22040         Undocument executable-self-display.
22042         * lisp/progmodes/executable.el (executable-self-display):
22043         Use non-obsolete tail syntax.  (Bug#20779)
22044         (executable-self-display): Doc update.
22046 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
22048         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
22049         (finder-known-keywords): Silence byte-compiler.
22051 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
22053         * lisp/simple.el (eval-expression): Macroexpand before evaluating
22054         (bug#20730).
22056         * lisp/progmodes/sh-script.el: Better handle nested quotes.
22057         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
22058         (sh-font-lock-quoted-subshell): Make sure double quotes within single
22059         quotes don't mistakenly end prematurely the surrounding string.
22061         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
22063 2015-06-09  Glenn Morris  <rgm@gnu.org>
22065         * test/automated/Makefile.in (ELFILES): Sort.
22067         * Makefile.in (SUBDIR_MAKEFILES):
22068         * lwlib/Makefile.in (WARN_CFLAGS):
22069         Use built-in Make functions rather than echo+sed.
22071 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
22073         Update char-script-table
22074         * lisp/international/characters.el (char-script-table): Update
22075         from Unicode 8.0 Draft.
22077         Improve font selection for punctuation and other symbols
22078         * src/fontset.c (face_for_char): If the character's script is
22079         'symbol', and the font used for ASCII face has a glyph for it, use
22080         the font for the ASCII face instead of searching the fontsets.
22081         This comes instead of NS-specific code that used the current
22082         face's font instead, which is now disabled due to undesirable
22083         consequences.  (Bug#20727)
22085 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
22087         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
22088         Skip past `#' to find BEG (bug#20771).
22089         * test/automated/elisp-mode-tests.el
22090         (elisp-completes-functions-after-hash-quote): New test.
22092 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
22094         Fix compilation warning/error in --without-x builds
22095         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
22096         code on HAVE_WINDOW_SYSTEM.
22098         Improve the default fontset wrt symbols
22099         * lisp/international/fontset.el (setup-default-fontset): Better
22100         setup of fontset-default for symbols: use Symbola and FreeMono.
22101         (Bug#20727)
22103 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
22105         Add new command checkdoc-package-keywords
22106         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
22107         New defcustom.
22108         (checkdoc-list-of-strings-p): Add doc.
22109         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
22110         non-nil, call `checkdoc-package-keywords'.
22111         (checkdoc-get-keywords): New defun.
22112         (checkdoc-package-keywords): New command.  Warns if the current file
22113         has package.el-style keywords that aren't in `finder-known-keywords'.
22114         * etc/NEWS: Add entry.
22116 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
22118         Avoid crashes when key-binding is called from a timer
22119         * src/keymap.c (Fkey_binding): Don't segfault if called with an
22120         empty vector as KEY.  (Bug#20705)
22122         Fix a thinko in arc-mode.el
22123         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
22124         non-Zip64 case.  (Bug#20769)
22126 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
22128         * lisp/emacs-lisp/package.el (package-delete): Make interactive.
22130 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
22132         * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function.
22133         (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to
22134         "*warn*", print the warning to the standard output.  (bug#20754)
22136 2015-06-07  Glenn Morris  <rgm@gnu.org>
22138         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
22140         * src/font.c (syms_of_font) <font-log>: Doc fix.
22142         Remove the obsolete leading "*" from some C doc strings.
22143         * src/coding.c (syms_of_coding):
22144         * src/font.c (syms_of_font): Remove leading "*" from docs.
22145         * lisp/cus-start.el (enable-character-translation): Add it.
22147 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
22149         Move gen_origin from program to data
22150         That way, 'make change-history' needs to change only ChangeLog.2,
22151         instead of having to change two files.
22152         * ChangeLog.2: Add commit info for range that this file covers.
22153         * Makefile.in (new_commit_regexp): New macro.
22154         (change-history-nocommit): Simplify, by putting what used to be
22155         the gen_origin value into the data (ChangeLog.2) rather than
22156         into the program (gitlog-to-emacslog).
22157         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
22158         the input file (e.g., ChangeLog.2) rather than by having a
22159         constant in the program.  Substitute it into the output.
22161 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
22163         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
22164         function name (bug#20759).
22166 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
22168         Adapt 'struct timespec' to next release of MinGW runtime
22169         * nt/inc/ms-w32.h (struct timespec): Don't declare if
22170         __struct_timespec_defined is defined.
22172 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
22174         Merge from gnulib
22175         This incorporates:
22176         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
22177         2015-06-05 stdio: Don't redefine gets when using C++
22178         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
22179         2015-06-02 file-has-acl: fix build on Mac OS X 10
22180         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
22181         2015-06-01 pthread_sigmask: discount system version if a simple macro
22182         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
22183         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
22184         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
22185         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
22186         * lib/gnulib.mk: Regenerate.
22188 2015-06-06  Juri Linkov  <juri@linkov.net>
22190         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
22191         before calling grep-compute-defaults because now it affects the
22192         command lines computed in grep-compute-defaults.  (Bug#20728)
22194 2015-06-06  Glenn Morris  <rgm@gnu.org>
22196         Address some compilation warnings.
22197         * lisp/international/mule-cmds.el (w32-get-console-codepage)
22198         (w32-get-console-output-codepage):
22199         * lisp/progmodes/elisp-mode.el (xref-collect-references):
22200         * lisp/version.el (cairo-version-string): Declare.
22201         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
22203 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
22205         Fix display when a font claims large values of ascent and descent
22206         This fixes bug#20628.
22207         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
22208         coordinate of a hollow cursor glyph when the original glyph's
22209         ascent is too small.
22210         (get_font_ascent_descent, normal_char_ascent_descent)
22211         (normal_char_height): New functions.
22212         (handle_single_display_spec, append_space_for_newline)
22213         (calc_pixel_width_or_height, produce_stretch_glyph)
22214         (calc_line_height_property): Use normal_char_ascent_descent and
22215         normal_char_height.
22216         (x_produce_glyphs): When font-global values of ascent and descent
22217         are too large, use per-character glyph metrics instead, if
22218         possible.  But don't allow the glyph row's ascent and descent
22219         values become smaller than the values from the metrics of the
22220         font's "normal" character.
22221         * src/xftfont.c (xftfont_draw):
22222         * src/w32font.c (w32font_draw): Correct the values of ascent and
22223         descent used to draw glyphless characters' hex code in a box.
22224         * src/xterm.c (x_draw_glyph_string_background):
22225         * src/xdisp.c (x_produce_glyphs):
22226         * src/w32term.c (x_draw_glyph_string_background):
22227         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
22228         to detect fonts whose global ascent and descent values are too
22229         large to be used in layout decision, and redraw the background
22230         when that happens.
22231         * src/dispextern.h (FONT_TOO_HIGH): New macro.
22232         (get_font_ascent_descent): Add prototype.
22233         * src/xterm.c (x_new_font):
22234         * src/w32term.c (x_new_font):
22235         * src/nsterm.m (x_new_font):
22236         * src/font.c (font_open_entity):
22237         * src/composite.c (composition_gstring_width):
22238         Use get_font_ascent_descent to obtain reasonable values for ascent
22239         and descent of a font.
22241 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
22243         Add assertion in adjust_point_for_property
22244         * src/keyboard.c (adjust_point_for_property): Add eassert for
22245         current buffer being shown in selected window.
22247 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
22249         Replace uses of in-string-p; make it obsolete
22250         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
22251         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
22253 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
22255         Fix Dired display of an explicit list of files by ls-lisp.el
22256         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
22257         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
22258         correct for when displaying individual files separately, not as
22259         part of listing a directory, in which case these values are not
22260         recomputed by 'ls-lisp-insert-directory', but used verbatim.
22262         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
22264 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
22266         Do not adjust point in a non-selected window
22267         * src/keyboard.c (command_loop_1): Do not adjust point when
22268         current buffer is not shown in selected window (Bug#20590).
22270         * etc/DEBUG: Mention 'maybe_call_debugger'
22272 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
22274         Fix a unit test for map.el
22275         * test/automated/map-tests.el (test-map-let): Fix the test to work
22276         with the new syntax of `map-let'.
22278         * lisp/emacs-lisp/map.el (map-let): Better docstring.
22280         Better syntax for the map pcase pattern
22281         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
22282         bindings of the form (KEY PAT) or SYMBOL.  KEY is not quoted.
22284         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
22286         Fix a byte-compiler error in map-put and map-delete
22287         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
22288         called with a symbol.
22290 2015-06-05  Glenn Morris  <rgm@gnu.org>
22292         * admin/gitmerge.el (gitmerge-commit-message):
22293         Revert to including "skipped" messages in ChangeLog once again.
22295 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
22297         Use string> instead of equiv lambda with string<
22298         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
22299         lambda with string<.
22301 2015-06-05  Glenn Morris  <rgm@gnu.org>
22303         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
22304         (map--delete-array): Fix typo.
22306         * test/automated/map-tests.el: Replace "assert" with "should".
22308         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
22309         (SUBDIRS_REL): Derive from SUBDIRS.
22311         Tweak some build messages.
22312         * lisp/Makefile.in ($(lisp)/loaddefs.el):
22313         * lisp/cus-dep.el (custom-make-dependencies):
22314         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
22315         * lisp/international/titdic-cnv.el (batch-titdic-convert):
22316         Don't say how to compile.
22318 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
22320         Omit U+0332 COMBINING LOW LINE in previous change
22321         It turns out that it does not work on Ubuntu 15.04.
22323         Fix transliteration of Bahá'í months
22324         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
22325         Improve quality of Latin transliteration of Bahá'í month names.
22327         Fix curved quotes in a few places
22328         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
22329         The strings in question are not doc strings, so this partially
22330         undoes the recent change that assumed they were doc strings.
22331         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
22332         * lisp/info.el (Info-finder-find-node):
22333         Use curved quotes.
22334         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
22335         Also allow curved quotes in doc strings.
22337 2015-06-04  Glenn Morris  <rgm@gnu.org>
22339         * lisp/Makefile.in (AM_V_at): Add missing definition.
22341         * lisp/Makefile.in: Quieten output a bit.
22342         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
22343         Don't echo directories, since the commands we invoke print them.
22345         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
22346         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
22347         (SUBDIRS_SUBDIRS): New variables.
22348         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
22349         Remove.
22350         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
22351         (update-subdirs, compile-main, compile-clean):
22352         Replace "setwins" usage with new "SUBDIRS" variables.
22354         * lisp/vc/compare-w.el (compare-windows-get-window-function):
22355         Fix :version tag.
22357 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22359         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
22361         Undo removal of x_clear_area call on expose for GTK3 or cairo
22362         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]:
22363         Clear exposed area.  (Bug#20677)
22365 2015-06-04  Glenn Morris  <rgm@gnu.org>
22367         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
22369         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
22371         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
22372         Rename from quail-lao-update-translation, since lao.el defines that.
22374 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
22376         Handle new-style advice in find-funct
22377         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
22378         Handle new-style advice.  Return the symbol's function definition.
22379         (Bug#20718)
22380         (find-function-library): Update accordingly.
22382 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
22384         Merge branch 'map'
22386         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
22388         Add new function string-greaterp
22389         * lisp/subr.el (string-greaterp): New function.  Also aliased to
22390         `string>'.
22391         * test/automated/subr-tests.el (string-comparison-test): Add unit
22392         tests for `string>'and `string<'.
22393         * src/fns.c (string-lessp): Better docstring.
22395 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
22397         Fix timezone-related functions on MS-Windows
22398         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
22399         'xputenv', even if no reallocation of tzvalbuf was necessary.
22400         This fixes a bug in timezone-related functions on MS-Windows.
22401         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
22403 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
22405         Don't pass raw directory name to 'error'
22406         * lisp/files.el (basic-save-buffer-2): Avoid format error if
22407         a directory name contains a string like "%s".
22409 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
22411         Override 'grep --color=always'
22412         * lisp/progmodes/xref.el (xref-collect-matches):
22413         Override --color=always in grep-find-template.
22415 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
22417         Fix error introduced recently in file-notify-tests.el
22418         * test/automated/file-notify-tests.el
22419         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
22420         (file-notify--deftest-remote): Revert previous patch, not
22421         necessary anymore.
22423 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
22425         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
22426         Starting from a display string after a newline, point went to the
22427         previous line.  Also, fix an inadvertent use of a buffer position
22428         with FETCH_BYTE.  (Bug#20701)
22430 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
22432         Instrument file-notify-test.el in order to catch hydra error
22433         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
22434         Wrap body by `ignore-case', in order to trap non-local errors.
22436 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22438         Undo previous changes in non-toolkit scroll bar drawing
22439         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
22440         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
22442 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
22444         * .gitignore: Also ignore doc/*/*/*.html and .ps.
22446         Support quotes 'like this' in info files
22447         This is possible when 'makeinfo --disable-encoding' is used
22448         in Texinfo 5.
22449         * lisp/calc/calc-help.el (calc-describe-thing):
22450         * lisp/gnus/gnus-art.el (gnus-button-alist):
22451         * lisp/info.el (Info-find-index-name):
22452         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
22453         Also support quotes 'like this'.
22454         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
22455         * lisp/finder.el (finder-font-lock-keywords): Remove var that
22456         hasn't been used in years, instead of bothering to fix its quoting.
22458 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
22460         * .gitignore: Remove !test/etags/html-src/*.html.
22461         It's no longer needed, since *.html was removed.  Sort.
22463 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
22465         Restore <D> instead of '.' in grep-find-template
22466         * lisp/cedet/semantic/symref/grep.el
22467         (semantic-symref-grep-use-template): Update a comment.
22468         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
22469         instead of '.' in grep-find-template (bug#20719).
22470         (rgrep): Pass nil as the directory to rgrep-default-command.
22471         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
22472         default value for DIR.
22473         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
22474         workaround.
22476 2015-06-02  Glenn Morris  <rgm@gnu.org>
22478         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
22480         * configure.ac (emacs_config_features): Add Cairo.
22482         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
22484 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
22486         Ensure that autorevert works for remote files in file-notify-tests.el
22487         * test/automated/file-notify-tests.el (file-notify--test-desc):
22488         New defvar.
22489         (file-notify--test-remote-enabled)
22490         (file-notify-test00-availability, file-notify-test01-add-watch)
22491         (file-notify-test02-events): Use it.
22492         (file-notify--test-event-test): Check proper descriptor.
22493         (file-notify-test03-autorevert): Ensure that
22494         `visited-file-modtime' has changed.  (Bug#20392)
22496 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
22498         Add a pcase pattern for maps and `map-let' based on it
22499         * lisp/emacs-lisp/map.el (map-let): New macro.
22500         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
22501         * test/automated/map-tests.el: New test for `map-let'.
22503 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
22505         Reuse rgrep mechanics in xref-find-regexp
22506         * lisp/progmodes/grep.el (rgrep-default-command):
22507         Extract from `rgrep'.
22508         * lisp/progmodes/xref.el (xref-collect-references): Split from
22509         `xref-collect-matches'.  Only handle the case of symbol search.
22510         (xref-collect-matches): Instead of Semantic Symref, use
22511         `rgrep-default-command', to take advantage of its directory and
22512         file ignore settings.
22513         (xref--collect-match): Remove the last argument, leaving the
22514         regexp construction up to the caller.
22515         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
22516         Change to take the xref-collect- function to use as an argument.
22517         (elisp-xref-find): Update accordingly.
22518         * lisp/progmodes/etags.el (etags--xref-find-matches)
22519         (etags-xref-find): Same.
22521         Move xref-elisp-location to elisp-mode.el
22522         * lisp/progmodes/xref.el (xref-elisp-location)
22523         (xref-make-elisp-location, xref-location-marker): Remove here.
22524         (xref--xref): Don't limit the type of the location slot.
22525         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
22526         Define as a cl-struct here.
22527         (xref-location-marker): Move here.
22529 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
22531         Minor tweaks for .gitignore
22532         * .gitignore: Don't ignore versioned *.html and *.ps files.
22533         Don't ignore admin/notes/tags that might be ignored as TAGS
22534         on case-insensitive filesystems.  (Bug#20710)
22536 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
22538         Generate curved quotes in ert doc
22539         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
22540         (ert-results-mode-menu)
22541         (ert-results-pop-to-backtrace-for-test-at-point)
22542         (ert-results-pop-to-messages-for-test-at-point)
22543         (ert-results-pop-to-should-forms-for-test-at-point)
22544         (ert-describe-test):
22545         Quote ‘like this’, not `like this', when generating doc strings
22546         and the like.
22547         * test/automated/ert-x-tests.el (ert-test-describe-test):
22548         Allow quoting ‘like this’.
22550 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
22552         Add test for previous commit
22553         * test/automated/replace-tests.el: New file.
22554         (query-replace--split-string-tests): Add test for previous commit.
22556         Avoid confusion in query-replace history when replacing NUL chars
22557         * lisp/replace.el (query-replace--split-string): New function.
22558         (query-replace-read-from): Rely on the 'separator' property
22559         instead of searching for the NUL character (Bug#20690).
22561 2015-06-02  Glenn Morris  <rgm@gnu.org>
22563         Merge from origin/emacs-24
22564         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
22566         * admin/gitmerge.el (gitmerge-commit-message):
22567         Exclude "skipped" messages from ChangeLog.
22569 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
22571         Sync with Tramp repository
22572         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
22573         messages.
22574         (tramp-handle-make-auto-save-file-name): When calling
22575         `make-auto-save-file-name' internally, make sure it uses Unix-like
22576         behavior, not Windows-like behavior.
22577         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
22578         the local case, because "chown" might fail on w32.
22579         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
22580         for XEmacs.
22582 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
22584         MS-Windows followup for batch stdout/stderr output changes
22585         * lisp/international/mule-cmds.el (set-locale-environment):
22586         In batch mode, use console codepages for keyboard and terminal
22587         encoding.  (Bug#20545)
22589         Update .gitattributes for DOS EOL files
22590         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
22591         CRLF end-of-line format.
22593         NS equivalents of xterm.c and w32term.c changes
22594         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
22595         glyph string background also when the font in use claims
22596         preposterously large global height value.  Helps to remove
22597         artifacts left from previous displays when glyphless characters
22598         are displayed as hex code in a box.
22599         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
22600         value for FRAME_LINE_HEIGHT, even when a font claims very large
22601         value for its height.
22603 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22605         Avoid grave accent quoting in stderr diagnostics
22606         A few Emacs diagnostics go directly to stderr, and so can't easily
22607         contain curved quotes (as non-UTF-8 locales might mishandle them).
22608         Instead of bothering to add support for this rarity, reword the
22609         diagnostics so that they don't use grave accent to quote.
22610         * src/alloc.c (mark_memory): Fix comment.
22611         * src/buffer.c (init_buffer):
22612         * src/dispnew.c (init_display):
22613         * src/emacs.c (main, sort_args):
22614         * src/lread.c (dir_warning):
22615         * src/term.c (init_tty):
22616         * src/unexmacosx.c (unexec):
22617         * src/xfns.c (select_visual):
22618         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
22619         Reword stderr diagnostics to avoid quoting `like this'.
22620         * src/unexmacosx.c: Include errno.h.
22621         * src/xfns.c (select_visual): Encode value for locale.
22623 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
22625         Treat batch stdout/stderr like standard display
22626         Calls like (print FOO) could generate improperly encoded or
22627         hard-to-read output if FOO contains characters outside the system
22628         locale.  Fix this by treating batch stdout and stderr like
22629         interactive standard display, when it comes to transliterating and
22630         encoding characters (Bug#20545).
22631         * doc/emacs/mule.texi (Communication Coding):
22632         * doc/lispref/display.texi (Active Display Table):
22633         * doc/lispref/nonascii.texi (Locales):
22634         * etc/NEWS:
22635         * src/coding.c (syms_of_coding):
22636         * src/dispnew.c (syms_of_display):
22637         Document this.
22638         * src/print.c: Include disptab.h.
22639         (printchar_to_stream): New function, with much of the guts of the
22640         old Fexternal_debugging_output, except this one also uses the
22641         standard display table.
22642         (printchar, strout, Fexternal_debugging_output): Use it.
22644 2015-05-31  Glenn Morris  <rgm@gnu.org>
22646         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
22648 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
22650         Remove DEFSYMs that aren't used at the C level.  Also:
22651         * src/decompress.c (Qzlib_dll):
22652         * src/font.c (Qunicode_sip):
22653         * src/frame.c (Qtip_frame):
22654         * src/ftfont.c (Qserif):
22655         * src/gnutls.c (Qgnutls_dll):
22656         * src/xml.c (Qlibxml2_dll):
22657         Move from here ...
22658         * src/w32fns.c (syms_of_w32fns): ... to here,
22659         as these are used only on MS-Windows.
22661 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
22663         Use another default value for tramp-histfile-override
22664         * lisp/net/tramp-sh.el (tramp-histfile-override):
22665         Use ".tramp_history" as default.
22666         Fixes bug#20446
22668 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
22670         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
22672 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
22674         * etc/NEWS: Add an entry about map.el.
22676         Improve the docstring of functions in map.el
22677         Since a map is not a data structure but a concept, adding information
22678         about the possible types of maps can be useful information.
22679         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
22680         each public function.
22682 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
22684         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
22685         specific tests depending on the type of the map.
22687         * lisp/emacs-lisp/map.el: Better docstrings.
22689 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
22691         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda.
22693 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
22695         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
22697         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
22699         Fix a false negative in `map-elt' with alists and values being nil
22700         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
22701         found but its associated value is nil, do not return the default
22702         value.
22703         * test/automated/map-tests.el: Add a regression test.
22705 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
22707         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
22709         Do not signal an error when trying to delete a key from an array
22710         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
22711         the key is present to avoid signaling an error.
22712         * test/automated/map-tests.el: Add a test for deleting non-existing
22713         keys from maps.
22715         * lisp/emacs-lisp/map.el: Better docstring.
22717         Minor improvement in map-elt
22718         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
22719         doing a lookup in arrays, but check the boundaries of the array
22720         instead.
22721         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
22722         and a negative integer as key.
22724 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
22726         * test/automated/map-tests.el: Refactoring of test methods.
22728         * test/automated/map-tests.el: Renamed from map-test.el.
22730 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
22732         * lisp/emacs-lisp/map.el (map-into): Better error message.
22734         * lisp/emacs-lisp/map.el: Remove byte-compilation warnings.
22736         Throw an error when converting a map into an unknown map type
22737         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
22738         not valid.
22739         * test/automated/map-tests.el: Add a regression test.
22741         New library map.el similar to seq.el but for mapping data structures.
22742         * test/automated/map-tests.el: New file.
22743         * lisp/emacs-lisp/map.el: New file.
22745 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
22747         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
22748         there's no explicit tag name (bug#20629).
22750 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22752         Remove format2
22753         * src/editfns.c, src/lisp.h (format2): Remove.
22754         It is more trouble than it's worth, now that we have CALLN.
22755         This is just a minor refactoring.
22756         * src/buffer.c (Fkill_buffer):
22757         * src/dbusbind.c (XD_OBJECT_TO_STRING):
22758         * src/fileio.c (barf_or_query_if_file_exists):
22759         Adjust to format2 going away.
22761         Don't misencode C-generated messages
22762         Also, be more consistent about calls to 'Fmessage' vs 'message'.
22763         * src/alloc.c (Fgc_status):
22764         Prefer AUTO_STRING to build_string for Fmessage call.
22765         * src/data.c (Fmake_variable_buffer_local)
22766         (Fmake_local_variable, Fmake_variable_frame_local):
22767         * src/doc.c (store_function_docstring):
22768         Use Fmessage, not message, since the argument can contain
22769         non-ASCII characters, and this can cause the resulting message
22770         to be incorrectly encoded for the current environment.
22771         * src/fns.c (maybe_resize_hash_table):
22772         * src/xselect.c (x_clipboard_manager_save_all):
22773         Use message, not Fmessage, since Fmessage's power isn't needed here.
22774         * src/process.c (Fmake_network_process): Reword message to avoid %s.
22775         * src/xdisp.c (vmessage): Document restrictions on message contents.
22776         (message_nolog) [false]: Remove unused code.
22778         Use \r rather than ^M in string literals
22779         This is less likely to cause problems on platforms that
22780         use CRLF (or CR!) termination for lines.
22782         Update .gitattributes to match current sources
22783         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
22784         * .gitattributes: Accommodate tests that insist on DOS format.
22785         Remove test/automated/data/decompress/foo-gzipped.
22786         Add etc/e/eterm-color.
22788 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
22790         * doc/emacs/mule.texi (Modifying Fontsets):
22791         Document face-ignored-fonts.  (Bug#20628)
22793         Add etags test for the new -Q option
22794         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
22795         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
22796         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
22797         test-case changes below.
22798         * test/etags/ETAGS.good_6: New file.
22799         * test/etags/cp-src/x.cc: New file.
22800         * test/etags/Makefile (CPSRC): Add x.cc.
22801         (check): Add one more test, for -Q.
22803 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
22805         Use list for the tags completion table, not obarray
22806         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
22807         list instead of an obarray
22808         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
22809         (tags-completion-table): Combine those lists.
22810         (tags-completion-table): Update the docstring.
22812 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
22814         Restore EOL format testing in etags
22815         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
22816         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
22817         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
22818         test-case changes below.
22819         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
22820         * test/etags/cp-src/c.C (B): Add back stray CR character.
22821         * test/etags/c-src/dostorture.c: Add back.
22822         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
22824 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
22826         Declare Emacs on MS-Windows to be DPI-aware
22827         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
22828         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
22829         This avoids Windows entering compatibility mode for Emacs,
22830         which causes fonts to look less nice.
22832 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
22834         Improve Tramp traces
22835         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
22836         * lisp/net/tramp.el (tramp-debug-message): Use it.
22838 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22840         backup-buffer minor reworking of internals
22841         * lisp/files.el (backup-buffer): Rework to avoid a couple of
22842         unused locals inadvertently introduced in the previous change.
22844         backup-buffer now reports .emacs.d/%backup% ills
22845         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
22846         fails due to disk space exhaustion or whatever, do not pretend
22847         that it succeeded.  More generally, do a better job of checking
22848         for I/O failures, and limit the scope of the condition-case to
22849         just the operations where file errors should be caught and ignored
22850         (Bug#20595).  Also, don't bother trying to delete later backups if
22851         an earlier deletion fails, as this is a sign of trouble and it's
22852         better to stop when there's trouble.
22854         copy-file now truncates output after writing
22855         * src/fileio.c (Fcopy_file): Truncate output after writing rather
22856         than before.  This is more likely to work than truncation before
22857         writing, if the file system is out of space or the user is over
22858         disk quota (Bug#20595).  Also, check for read errors.
22860 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
22862         * lisp/emacs-lisp/package.el (package-load-all-descriptors):
22863         Don't load descriptors from directories above the package directories.
22865 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
22867         Merge from gnulib
22868         This incorporates the following (Bug#20681):
22869         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
22870         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
22871         * lib/set-permissions.c: Copy from gnulib.
22873 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
22875         Improve Tramp traces
22876         * lisp/net/tramp.el (tramp-call-process-region): New defun.
22877         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
22879 2015-05-29  Glenn Morris  <rgm@gnu.org>
22881         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
22883 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
22885         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
22886         The signature was changed in the cairo branch, merged on 2015-05-23.
22887         This oversight broke compiling only the non-toolkit X version.
22889 2015-05-29  Samer Masterson  <samer@samertm.com>
22891         * doc/lispref/os.texi: Update initial-buffer-choice docs.
22893 2015-05-29  Glenn Morris  <rgm@gnu.org>
22895         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
22896         Mark as an expected failure.
22898 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
22900         Change package test to look for curved quotes
22901         * test/automated/package-test.el (package-test-describe-package)
22902         (package-test-signed): Search for curved single quotes as well as
22903         for grave accent and apostrophe.
22905 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
22907         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
22908         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
22910 2015-05-28  Samer Masterson  <samer@samertm.com>
22912         Show files when `initial-buffer-choice' is non-nil
22913         * lisp/startup.el (command-line-1): When Emacs is given a file as an
22914         argument and `initial-buffer-choice' is non-nil, display both the file
22915         and `initial-buffer-choice'.  For more than one file, show
22916         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
22917         commands out of the command line arg parser.
22918         (initial-buffer-choice): Clarify docstring.
22920 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
22922         Fix last commit
22923         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
22924         (gnulib module qcopy-acl): Add back, as it is harmless.  This
22925         minimizes differences wrt lib/gnulib.mk.
22927         Fix the MS-Windows build as followup to gnulib update
22928         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
22929         set-permissions.c, as they don't compile on MinGW.
22930         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
22932 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
22934         Revert my change to gnus-art.el
22935         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
22936         It wasn't that important, and it caused a Gnus build to fail.  See:
22937         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
22939         New minor mode Electric Quote
22940         This lets you easily insert quotes ‘like this’ by typing
22941         quotes `like this', and similarly you can easily insert
22942         quotes “like this” by typing quotes ``like this'' (Bug#20545).
22943         * doc/emacs/basic.texi (Inserting Text):
22944         * doc/emacs/modes.texi (Minor Modes):
22945         * etc/NEWS: Document it.
22946         * doc/emacs/text.texi (Quotation Marks): New section.
22947         * lisp/electric.el (electric-quote-comment)
22948         (electric-quote-string, electric-quote-paragraph):
22949         New custom vars.
22950         (electric--insertable-p)
22951         (electric-quote-post-self-insert-function): New functions.
22952         (electric-quote-mode, electric-quote-local-mode): New minor modes.
22953         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
22954         Add curved single quotes to electric-pair-text-pairs.
22955         Set electric-quote-string in this buffer.
22957         A few more doc string fixes (Bug#20385)
22959         Accept curved quotes in doc strings
22960         * lisp/info-look.el (info-lookup-guess-custom-symbol):
22961         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
22963         Generate curved quotes in pseudo-info nodes
22964         * lisp/info.el (Info-virtual-index-find-node)
22965         (Info-virtual-index, Info-apropos-find-node, info-apropos):
22966         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
22968         Fix minor quoting problems in doc strings
22969         Most of these fixes involve escaping grave accents that are
22970         actually intended to be grave accents, not left quotes.
22971         (Bug#20385)
22973         Support curved quotes in doc strings
22974         Emacs's traditional doc string style has been to quote symbols
22975         `like this'.  This worked well on now-obsolete terminals where
22976         ` and ' were symmetric quotes, but nowadays curved quotes
22977         ‘like this’ look better.  Support quoting the new way too.
22978         (Bug#20385)
22979         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
22980         ‘like-this’ as well as `like-this'.
22981         * etc/NEWS: Mention this.
22982         * lisp/cedet/mode-local.el (overload-docstring-extension)
22983         (mode-local-print-binding, mode-local-describe-bindings-2):
22984         * lisp/cus-theme.el (describe-theme-1):
22985         * lisp/descr-text.el (describe-text-properties-1, describe-char):
22986         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
22987         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
22988         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
22989         (eieio-help-constructor):
22990         * lisp/emacs-lisp/package.el (describe-package-1):
22991         * lisp/faces.el (describe-face):
22992         * lisp/help-fns.el (help-fns--key-bindings)
22993         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
22994         (help-fns--interactive-only, describe-function-1):
22995         (describe-variable):
22996         * lisp/help.el (describe-mode):
22997         * lisp/international/mule-cmds.el (describe-input-method)
22998         (describe-language-environment):
22999         * lisp/international/mule-diag.el (describe-character-set)
23000         (print-coding-system-briefly, list-input-methods)
23001         (list-input-methods-1):
23002         Insert curved quotes rather than grave accent and apostrophe.
23003         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
23004         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
23005         (checkdoc-proper-noun-region-engine):
23006         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
23007         (lisp-cl-font-lock-keywords-2):
23008         * lisp/finder.el (finder-font-lock-keywords):
23009         * lisp/gnus/gnus-art.el (gnus-button-alist):
23010         * lisp/help-fns.el (help-do-arg-highlight)
23011         (describe-function-1, describe-variable):
23012         * lisp/help-mode.el (help-xref-symbol-regexp)
23013         (help-xref-info-regexp, help-xref-url-regexp):
23014         * lisp/help.el (describe-mode):
23015         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
23016         * lisp/wid-edit.el (widget-documentation-link-regexp):
23017         Parse symbols quoted ‘like-this’ as well as `like-this'.
23018         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
23019         Add "‘" and "’" to electric-pair-text-pairs.
23020         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
23021         (elisp-completion-at-point, elisp--preceding-sexp):
23022         Also treat "‘" and "’" as quoting chars.
23024         substitute-command-keys now curves quotes
23025         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
23026         * doc/lispref/help.texi (Keys in Documentation):
23027         * etc/NEWS: Document this.
23028         * src/doc.c (Fsubstitute_command_keys): Implement it.
23030 2015-05-28  Glenn Morris  <rgm@gnu.org>
23032         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
23033         (rmail-summary-by-topic, rmail-summary-by-senders):
23034         No longer strip leading/trailing whitespace.
23036         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
23037         (f90-no-block-limit): Add "enum".  (Bug#20680)
23038         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
23039         New tests.
23041 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23043         * lisp/isearch.el (isearch--current-buffer): Give a default value.
23044         Un-revert changes mistakenly dropped by f9fabb2b.
23046 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
23048         Merge from gnulib
23049         This incorporates:
23050         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
23051         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
23052         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
23053         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
23054         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
23055         2015-05-26 stdio: fix probe on mingw under gcc 5.1
23056         * admin/merge-gnulib (GNULIB_MODULES):
23057         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
23058         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
23059         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
23060         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
23061         Get latest versions from gnulib.
23062         * lib/get-permissions.c, lib/set-permissions.c: New files.
23063         * lib/gnulib.mk, m4/gnulib-comp.m4:
23064         Regenerate.
23065         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
23067 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
23069         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
23070         process here.
23071         (vc-do-command): Rather than here (bug#20608).
23073 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
23075         Avoid gratuitous delete-dups in face-at-point
23076         * lisp/faces.el (face-at-point): Do not compute the properly
23077         ordered, duplicate-free list if only a single value is
23078         requested anyway.  (Bug#20519)
23080         Show the exact C-x 8 RET invocation in describe-char
23081         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
23082         invocation instead of a template.  (Bug#20522)
23084 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
23086         * lisp/emacs-lisp/package.el: Don't erase tags on refresh.
23087         (package-menu--post-refresh): Call `tabulated-list-print' with the
23088         UPDATE argument.  This only affects the refresh action, the revert
23089         action still erases tags.
23090         (package-menu-get-status): Change `assq' to `assoc'.
23091         (package-menu--mark-upgrades-1): New function.
23092         (package-menu--mark-upgrades-pending): New variable.
23093         (package-menu-mark-upgrades): Use them to delay marking until
23094         after refresh is done.
23095         (package-menu--post-refresh): Call mark-upgrades-1 if
23096         mark-upgrades-pending is non-nil.
23098 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
23100         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
23101         Fix typo in "Improve tramp-handle-make-auto-save-file-name"
23102         (commit 3953c4be2816537be95520605d45b866dc731f4b).
23104 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23106         * lisp/isearch.el (isearch--current-buffer): New var.
23107         (isearch-update): Set cursor-sensor-inhibit here.
23108         (isearch-done): Unset cursor-sensor-inhibit in the right buffer
23109         (bug#20532).
23111         Change inhibit-point-motion-hooks to t
23112         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
23113         to t and document it as obsolete.
23115 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
23117         Support ZIP files that use Zip64 extensions
23118         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
23119         format of central directory offsets used by Zip64 extensions.
23120         (Bug#20665)
23122 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
23124         New test tramp-test30-make-auto-save-file-name
23125         * test/automated/tramp-tests.el
23126         (tramp-test30-make-auto-save-file-name): New test.
23127         (tramp-test31-special-characters)
23128         (tramp-test31-special-characters-with-stat)
23129         (tramp-test31-special-characters-with-perl)
23130         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
23131         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
23132         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
23133         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
23135         Improve tramp-handle-make-auto-save-file-name
23136         * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags.
23137         (tramp-handle-make-auto-save-file-name): Let native
23138         `make-auto-save-file-name' use `auto-save-file-name-transforms',
23139         if `tramp-auto-save-directory' is not set.
23141 2015-05-27  Glenn Morris  <rgm@gnu.org>
23143         No longer set dired-directory in eshell.  (Bug#16477)
23144         * lisp/eshell/esh-mode.el (eshell-mode):
23145         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
23147         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
23149         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
23150         * lisp/progmodes/cc-mode.el (c-mode-help-address):
23151         Change to submit@debbugs.
23152         (c-mode-bug-package): New constant.
23153         (mail-position-on-field): Declare.
23154         (c-submit-bug-report): Insert X-Debbugs-Package header.
23155         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
23156         Mention debbugs.gnu.org.
23158 2015-05-26  Glenn Morris  <rgm@gnu.org>
23160         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
23161         (rmail-summary-by-recipients, rmail-summary-by-topic)
23162         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
23163         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
23165 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
23167         Handle curved quotes in info files
23168         * lisp/calc/calc-help.el (calc-describe-thing):
23169         * lisp/info.el (Info-find-index-name)
23170         (Info-try-follow-nearest-node, Info-fontify-node):
23171         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
23172         In info files, process quotes ‘like this’ the same way we process
23173         quotes `like this'.  This catches a few places we missed earlier.
23175 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
23177         xref-prompt-for-identifier: Use a list value
23178         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
23179         value, to be interpreted as a list of commands.
23180         (xref--prompt-p): New function.
23181         (xref--read-identifier): Use it.
23183 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
23185         Teach MS-Windows font back-end return per-glyph ascent/descent
23186         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
23187         values.
23188         * src/w32font.c (w32font_text_extents): Compute, cache, and
23189         accumulate per-glyph ascent and descent values, instead of copying
23190         global values from the font.  If the values are not available from
23191         the font data, i.e., non-TTF fonts, fall back on font-global values.
23192         (compute_metrics): Compute and return per-glyph ascent and descent
23193         values, if returned by GetGlyphOutlineW, falling back on
23194         font-global values.  (Bug#20628)
23195         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
23196         height of rectangle to be drawn, to be compatible with
23197         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
23198         box, when per-glyph ascent/descent values are used.
23200 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
23202         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
23203         Don't sort if sorter is nil.
23205 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
23207         Fix Bug#20621
23208         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
23209         are major modes which set `auto-save-mode' on their own rules;
23210         Tramp shall not overwrite such settings.
23212 2015-05-26  Glenn Morris  <rgm@gnu.org>
23214         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
23215         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
23216         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
23217         Doc updates.
23218         (vc-dir-mode): Remove unnecessary autoload.
23220 2015-05-25  Philipp Stephani  <phst@google.com>
23222         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52.
23223         (xterm--extra-capabilities-type): Add `getSelection'.
23224         (xterm--query): Add `no-async' argument.
23225         (xterm--init-activate-get-selection): New function.
23226         (terminal-init-xterm): Use it.
23227         (xterm--init-modify-other-keys): Rename from
23228         terminal-init-xterm-modify-other-keys.
23229         (xterm--init-bracketed-paste-mode): Rename from
23230         terminal-init-xterm-bracketed-paste-mode.
23231         (xterm--init-activate-set-selection): Rename from
23232         terminal-init-xterm-activate-set-selection.
23233         (xterm--selection-char): New function.
23234         (gui-backend-set-selection): Use it.  Use the &context to only apply
23235         this method in terminals where we enabled the feature.
23236         (gui-backend-get-selection): New method.
23238 2015-05-25  Daniel Colascione  <dancol@dancol.org>
23240         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
23241         keyword constants to C++.
23243 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
23245         Make TAGS files more portable to MS-Windows
23246         * etc/NEWS: Document this.
23247         * lib-src/etags.c (readline_internal) [DOS_NT]:
23248         Don't treat CRs differently from GNUish hosts.
23249         * lisp/progmodes/etags.el (etags-goto-tag-location):
23250         Adjust STARTPOS to account for the skipped CRs in dos-style files.
23252 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
23254         Improve fix of bug#20634 in tramp-sh.el
23256 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
23258         Fix a typo in last commit
23259         * lib-src/etags.c (C_entries): Fix a typo.
23260         * test/etags/ETAGS.good_1:
23261         * test/etags/ETAGS.good_2:
23262         * test/etags/ETAGS.good_3:
23263         * test/etags/ETAGS.good_4:
23264         * test/etags/ETAGS.good_5:
23265         * test/etags/CTAGS.good: Update due to the change in etags.c.
23267         Fix tagging of class members in C-like OO languages
23268         * lib-src/etags.c (longopts): Add new option --class-qualify and
23269         its shorthand -Q.
23270         (print_help): Add help text for --class-qualify.
23271         (main): Add handling of -Q.
23272         (consider_token, C_entries) <omethodparm>: Append argument types
23273         to Objective C methods only if --class-qualify was specified.
23274         Qualify C++, Objective C, and Java class members with their class
23275         names only if --class-qualify was specified.
23276         (C_entries): If --class-qualify was not specified, remove the
23277         namespace and class qualifiers from tag names of C++ methods.
23278         This allows to use etags.el as xref back-end without the
23279         tag-symbol-match-p method, which greatly increases the number of
23280         potentially false positives.  (Bug#20629)
23281         * doc/man/etags.1: Update to document the new --class-qualify
23282         option.
23283         * test/etags/ETAGS.good_1:
23284         * test/etags/ETAGS.good_2:
23285         * test/etags/ETAGS.good_3:
23286         * test/etags/ETAGS.good_4:
23287         * test/etags/ETAGS.good_5:
23288         * test/etags/CTAGS.good: Update due to changes in etags.c.
23290 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
23292         (cl-generic-define-method): Side effects are evil (bug#20644)
23293         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
23294         cons-cells that might be used as keys in an `equal' hash-table.
23296 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
23298         Make erc timestamps visible again
23299         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec):
23300         Make timestamps visible again (if requested).
23302 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
23304         Fix last change in etags.c that broke tagging compresed files
23305         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
23306         quoting of decompression shell command for MS-Windows/MS-DOS.
23308 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
23310         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist.
23311         (Bug#20639)
23313 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
23315         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
23316         Fix typo in "Inhibit `epa-file-handler' in Tramp"
23317         (commit 89035e247591c8d688fce922b7079881aa110f33).
23319 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
23321         Fix IPv6 addresses in Tramp
23322         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
23323         Add square brackets around host name.
23325 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
23327         Inhibit `epa-file-handler' in Tramp (Bug#20634)
23328         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
23329         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
23330         `epa-file-handler'.
23332 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
23334         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring.
23335         (pcase-let): Document the behavior in case the pattern doesn't match.
23337 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
23339         * lisp/emacs-lisp/tabulated-list.el: New optional print method.
23340         (tabulated-list-print): New optional argument, UPDATE.  If
23341         non-nil, the list is printed by only adding and deleting the
23342         changed entries, instead of erasing the whole buffer.  This method
23343         is much faster when few or no entries have changed.
23344         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
23345         * etc/NEWS: Document it.
23347         * lisp/emacs-lisp/tabulated-list.el: Improve printing.
23348         (tabulated-list--get-sorter): New function.
23349         (tabulated-list-print): Restore window-line when remember-pos is
23350         passed and optimize away the `nreverse'.
23352 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
23354         Simpilify etags TEX mode scanning
23355         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
23356         Remove static vars.
23357         (TeX_commands): Deduce escapes here instead.
23358         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
23359         This removes the need for a reset_input call.
23361         Improve etags I/O error reporting
23362         * lib-src/etags.c:
23363         Don't include sys/types.h and sys/stat.h; no longer needed.
23364         (infilename): New static var.
23365         (process_file_name): Don't call 'stat'.  Instead, just open the
23366         file for reading and report any errors.  Don't bother making
23367         a copy of the file argument; it's not needed.  Be more careful to
23368         use the failing errno when reporting an error.
23369         Quote the real name better (though no perfectly)
23370         when passing it to the shell.
23371         (reset_input): New function, which reports I/O errors.
23372         All uses of 'rewind' changed to use this function.
23373         (perhaps_more_input): New function, which also checks for
23374         I/O errors.  All uses of 'feof' changed to use this function.
23375         (analyze_regex): Report an error if fclose fails.
23376         (readline_internal): Report an error if getc fails.
23377         (etags_mktmp): Return an error if close fails.
23379         etags.c: avoid side effects in 'if'
23380         * lib-src/etags.c (process_file_name, Perl_functions)
23381         (TEX_decode_env): Hoist side effects into previous statement.
23383         .gitignore tweaks
23384         * .gitignore: Ignore all *.stamp files.  Sort.
23385         Ignore [0-9]*.txt (commonly used name for git patches)
23386         and /vc-dwim-log-* (vc-dwim temporary).
23388 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
23390         Fix last change in etags.c, which failed the test suite
23391         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
23392         before the last change.
23394 2015-05-23  Glenn Morris  <rgm@gnu.org>
23396         Remove charset map files from repository, generate in first bootstrap
23397         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
23398         (all): Create the stamp file.
23399         (extraclean): Delete the stamp file.
23400         * src/Makefile.in (lispintdir, charsets): New variables.
23401         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
23402         New rules.
23403         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
23404         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
23405         * etc/charsets/*.map: Remove from repository.
23407 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
23409         Cleanup etags.c to use locale-independent code
23410         Although this doesn't alter behavior (as etags doesn't use
23411         setlocale), the new version is more clearly locale-independent and
23412         the executable is a bit smaller on my platform.
23413         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
23414         Include <c-ctype.h> instead of <ctype.h>.
23415         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
23416         (begtk, midtk):
23417         Remove; no longer needed.
23418         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
23419         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
23420         c_islower, c_tolower, respectively.
23421         (notinname, begtoken, intoken, endtoken): Rewrite as functions
23422         instead of macros, and initialize the tables at compile-time
23423         rather than at run-time.
23425         Put default action first in src/Makefile
23426         * src/Makefile.in (all): Put this rule before lisp.mk.
23427         That way, plain 'make' works in the src directory again.
23429 2015-05-23  Glenn Morris  <rgm@gnu.org>
23431         * Makefile.in: Fix extraclean rule.
23432         (extraclean_dirs): New.
23433         (extraclean): Use it.
23435 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
23437         Avoid compiler warning in image.c on MS-Windows
23438         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
23439         warning in image.c.
23441 2015-05-23  Glenn Morris  <rgm@gnu.org>
23443         Fix --without-toolkit-scroll-bars builds.
23444         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
23445         Add new argument to x_clear_area1.
23446         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
23447         Update x_clear_area arguments.
23449         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
23450         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
23451         Change to included version.
23452         (LOCAL, local, totalclean): Remove.
23453         (extraclean): Delete all generated files.
23455 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
23457         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume
23458         CVS/Entries exists.
23460         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
23462         * lisp/progmodes/etags.el (tags-completion-at-point-function):
23463         Don't trust the find-tag function.
23465 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
23467         Pacify --enable-gcc-warnings
23468         * src/frame.h (x_query_color): Remove redundant extern decl.
23469         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
23470         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
23471         (ftcrfont_text_extents, ftcrfont_draw):
23472         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
23473         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
23474         (x_ins_del_lines, frame_highlight, frame_unhighlight)
23475         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
23476         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
23477         (x_update_window_begin, x_connection_closed)
23478         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
23479         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
23480         (*x_gc_get_ext_data, x_extension_initialize)
23481         (x_cr_accumulate_data):
23482         Remove redundant static decl.  Many of these GCC doesn't complain
23483         about, but we might as well clean out the duplication while we're
23484         in the neighborhood.
23485         * src/xterm.c (x_fill_trapezoid_for_relief):
23486         Remove decl of nonexistent function.
23488 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
23490         Replace gui-method macros with cl-generic with &context
23491         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
23492         (gui-method-declare, gui-call): Remove.
23493         (frame-creation-function): Use cl-defgeneric.
23494         (make-frame): Adjust callers.
23495         * lisp/menu-bar.el (menu-bar-edit-menu):
23496         Use gui-backend-selection-exists-p.
23497         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
23498         (gui-backend-get-selection): New cl-generic to replace
23499         gui-get-selection method.
23500         (gui-backend-set-selection): New cl-generic to replace
23501         gui-set-selection method.
23502         (gui-selection-owner-p): New cl-generic to replace
23503         gui-selection-owner-p method.
23504         (gui-backend-selection-exists-p): New cl-generic to replace
23505         gui-selection-exists-p method.  Adjust all callers.
23506         * lisp/server.el (server-create-window-system-frame): Don't ignore
23507         window-system spec even when unsupported.
23508         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
23509         * lisp/startup.el (handle-args-function, window-system-initialization):
23510         Use cl-defgeneric.
23511         (command-line): Adjust calls accordingly.
23512         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
23513         a window-system-initialization method.
23514         (handle-args-function, frame-creation-function): Use cl-defmethod.
23515         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
23516         (gui-get-selection): Use cl-defmethod on the new functions instead.
23517         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
23518         a gui-backend-get-selection method.
23519         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
23520         Use cl-defmethod on the new functions instead.
23521         (msdos-window-system-initialization): Turn into
23522         a window-system-initialization method.
23523         (frame-creation-function, handle-args-function): Use cl-defmethod.
23524         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
23525         a window-system-initialization method.
23526         (handle-args-function, frame-creation-function): Use cl-defmethod.
23527         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
23528         (gui-get-selection): Use cl-defmethod on the new functions instead.
23529         * lisp/term/x-win.el (x-window-system-initialization): Turn into
23530         a window-system-initialization method.
23531         (handle-args-function, frame-creation-function): Use cl-defmethod.
23532         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
23533         (gui-get-selection): Use cl-defmethod on the new functions instead.
23534         * lisp/term/xterm.el (xterm--set-selection): Turn into
23535         a gui-backend-set-selection method.
23536         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
23537         (Fns_selection_owner_p): Remove unused arg `terminal'.
23538         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
23540 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
23542         Revert "Fix etags Bug#20629 that broke C++ support"
23543         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
23545 2015-05-23  Jan D  <jan.h.d@swipnet.se>
23547         Fix etags Bug#20629 that broke C++ support
23548         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
23549         Revert commit from Sun May 10 (Bug#20629).
23551         Merge branch 'cairo'.
23552         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
23553         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
23555         Merge branch 'master' into cairo
23557         Fixes to compile cairo branch without cairo
23558         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
23559         first argument.
23560         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
23561         USE_CAIRO.
23563 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
23565         * lisp/emacs-lisp/package.el: Always update selected-packages.
23566         (package--update-selected-packages): New function.
23567         (package-menu-execute): Use it before starting the transaction,
23568         this way the list of selected packages is updated even when the
23569         transaction fails.
23570         (package-menu--perform-transaction): Don't edit selected-packages.
23572 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
23574         Fix etags reading of compressed files
23575         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
23576         Include fcntl.h, for O_CLOEXEC.
23577         (process_file_name): Don't use 'popen', whose streams cannot be
23578         rewound.  Instead, uncompress the file to a temporary file,
23579         created by 'etags_mktmp', and read from that as usual.
23580         (etags_mktmp): New function.
23581         * test/etags/ETAGS.good_1:
23582         * test/etags/ETAGS.good_2:
23583         * test/etags/ETAGS.good_3:
23584         * test/etags/ETAGS.good_4:
23585         * test/etags/ETAGS.good_5: Update to be consistent with latest
23586         changes in etags.c regarding reading compressed files.
23588         Improve documentation of 'set-fontset-font'
23589         * doc/lispref/display.texi (Fontsets): Document the value of nil
23590         for the 3rd argument of 'set-fontset-font'.
23592         Fix documentation of forward-line
23593         * src/cmds.c (Fforward_line): Clarify the return value if the line
23594         at end of accessible portion of the buffer has no newline.
23595         * doc/lispref/positions.texi (Text Lines): Document what happens
23596         if the line at end of accessible portion of buffer has no newline.
23597         (Bug#20587)
23599 2015-05-22  Glenn Morris  <rgm@gnu.org>
23601         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
23603         * admin/charsets/mapconv (LC_ALL): Set to C.
23605         * Makefile.in: Add admin/charsets into top-level clean rules.
23606         (clean): Add admin/charsets.
23607         (maybeclean_dirs): New variable.
23608         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
23610         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
23612 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
23614         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc.
23616 2015-05-22  Glenn Morris  <rgm@gnu.org>
23618         Generate admin/charsets Makefile via configure, and make more portable
23619         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
23620         (admin/charsets/Makefile): Generate it.
23621         * admin/charsets/Makefile.in: Rename from Makefile.
23622         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
23623         New variables, set by configure.
23624         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
23625         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
23626         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
23627         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
23628         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
23629         (all): Declare PHONY.
23630         (local): New PHONY target.
23631         (map_template): New template.  Use to define short PHONY aliases.
23632         (*.map): Add directory prefixes to targets and prerequisites.
23633         Respect make verbosity.
23634         (JISC6226.map): Replace non-portable sed append without newline.
23635         (install): Remove rule.
23636         (clean): Only delete temporary sedscript.
23637         (bootstrap-clean, distclean, maintainer-clean, extraclean)
23638         (totalclean): New PHONY rules.
23639         * admin/charsets/mapconv (BASE): Replace basename with expr.
23640         (FILE): Add "mapfiles" subdirectory.
23641         (AWK): New variable.  Use throughout in place of "awk".
23642         (main): Use "gunzip -c" in place of "zcat".
23643         Don't leave whitespace before "p", for older sed.
23644         * admin/charsets/mapfiles/PTCP154: Add final newline,
23645         to make older sed versions happy.
23647 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
23649         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
23650         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
23651         (auto-revert-notify-watch-descriptor): Use defvar-local.
23652         (find-file-hook, auto-revert-tail-mode)
23653         (auto-revert-notify-add-watch): Use setq-local.
23654         (auto-revert-notify-add-watch): Don't call make-local-variable on
23655         kill-buffer-hook (bug#20601).
23657 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
23659         Change defgeneric so it doesn't completely redefine the function
23660         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
23661         previously defined methods.
23662         (cl-generic-define-method): Let-bind purify-flag instead of
23663         using `fset'.
23664         (cl--generic-prefill-dispatchers): Only define during compilation.
23665         (cl-method-qualifiers): Remove redundant alias.
23666         (help-fns-short-filename): Silence byte-compiler.
23667         * test/automated/cl-generic-tests.el:
23668         Adjust to new defgeneric semantics.
23670 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
23672         * lisp/emacs-lisp/package.el (package-menu-execute):
23673         Remove reference to remove-dups.
23675 2015-05-21  kwhite  <kwhite@gnu.org>
23677         * lisp/erc/erc.el: Hide network/channel messages.
23678         (erc-network-hide-list, erc-channel-hide-list): New lists to define
23679         message types per network/channel.
23680         (erc-add-targets): New function to parse list of targets.
23681         (erc-hide-current-message-p): Modify to check for new targets.
23683 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
23685         Don't quote nil and t in doc strings
23686         This is as per "Tips for Documentation Strings" in the elisp manual.
23687         For consistency, do the same in diagnostics and comments.
23689 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
23691         Fix a minor problem with mouse-face on mode line
23692         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
23693         mouse face also if the mouse pointer hovers above mode-line glyphs
23694         that don't come from any Lisp string.  (Bug#20620)
23696 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
23698         * lisp/emacs-lisp/package.el: Fix selected-package logic.
23699         (package-menu-execute): Mark as selected all non-upgrade packages
23700         being installed.
23701         (package-menu--perform-transaction): Don't mark anything.
23703         * lisp/emacs-lisp/package.el: Mode-line progress report.
23704         (package-menu--transaction-status): New variable.
23705         (package-menu-mode, package-menu--perform-transaction): Use it.
23707         * lisp/emacs-lisp/package.el: Better transaction messages.
23708         (package-menu--partition-transaction): New function.
23709         (package-menu--prompt-transaction-p, package-menu-execute):
23710         Use it.
23711         (package-menu--perform-transaction): Don't do any messaging.
23713         * lisp/emacs-lisp/package.el: Revert async package transactions.
23714         (package-menu-async): Update doc.
23715         (package-install-from-archive, package-download-transaction)
23716         (package-install, package-menu--perform-transaction)
23717         (package-menu-execute): Remove asynchronous functionality.
23719 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
23721         Revert doc string changes to f90.el
23722         Problem reported by Glenn Morris in:
23723         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
23724         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
23725         Revert recent changes to doc strings, as it's intended that they
23726         use grave accent, not quote.
23728 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
23730         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p):
23731         Improve parameter name.
23733         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function.
23735 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
23737         Don't require help-fns when not needed
23738         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
23739         * lisp/emacs-lisp/elint.el:
23740         Don't require help-fns at the top level
23741         * lisp/emacs-lisp/advice.el (ad-arglist):
23742         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
23743         Don't require help-fns.  (Bug#17001)
23745 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
23747         Fix slash collapsing in etags on MS-Windows
23748         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
23749         MS-Windows code from the Posix code, and support collapsing both
23750         forward- and back-slashes on MS-Windows.  Fixes a regression found
23751         by the test suite.
23753         Improve documentation of glyphless-char-display
23754         * doc/lispref/display.texi (Glyphless Chars): Improve
23755         documentation of glyphless character display.
23757         Fix "acronym" display of glyphless characters on w32
23758         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
23759         ignore "acronym" substitutes of 1 character for glyphless characters.
23761 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
23763         Add an automated test for let-when-compile
23764         * test/automated/subr-tests.el (let-when-compile): New test.
23766         Add let-when-compile macro instead of using pcase-let
23767         * lisp/subr.el (let-when-compile): New let-like macro that makes its
23768         bindings known to macros like `eval-when-compile' in the body.
23769         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to
23770         a `let-when-compile'.  Also comment out the unused lexical var
23771         `el-kws-re'.
23772         The change greatly improves readability, while providing almost the
23773         same (even shorter) byte code: instead of pre-evaluating 10 variables,
23774         tossing them into a list, and destructuring that list a full screen
23775         page later, the variables are simply bound as they are evaluated,
23776         wrapped individually in `eval-when-compile'.
23778 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
23780         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer.
23781         (package-delete-button-action): New function.
23782         (describe-package-1): Add Delete button.
23784         * lisp/emacs-lisp/package.el: Better dependency description.
23785         (package--used-elsewhere-p): New optional arg, ALL, and return
23786         package-desc objects instead of names.
23787         (package-delete): Update accordingly.
23788         (describe-package-1): Describe which packages require the package.
23790 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
23792         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
23793         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
23794         Fix doc-string.
23796         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
23797         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
23798         (switch-to-buffer): If the selected window is strongly dedicated
23799         to its buffer, signal error before prompting for buffer name.
23800         Handle `switch-to-buffer-in-dedicated-window'.
23801         * doc/lispref/windows.texi (Switching Buffers):
23802         Document `switch-to-buffer-in-dedicated-window'.
23804 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23806         Prefer "this" to “this” in doc strings
23807         This mostly just straightens quotes introduced in my previous patch.
23808         Suggested by Dmitry Gutov in:
23809         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
23810         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
23811         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
23812         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
23813         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
23814         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
23815         Prefer straight double quotes to curved double quotes in doc strings.
23817         Fix minor quoting problems in doc strings
23818         These were glitches regardless of how or whether we tackle the
23819         problem of grave accent in doc strings.
23820         * lisp/calc/calc-aent.el (math-restore-placeholders):
23821         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
23822         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
23823         * lisp/leim/quail/hebrew.el ("hebrew-new")
23824         ("hebrew-biblical-sil"):
23825         * lisp/leim/quail/thai.el ("thai-kesmanee"):
23826         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
23827         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
23828         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
23829         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
23830         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
23831         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
23832         (semantic-tag-components):
23833         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
23834         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
23835         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
23836         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
23837         * lisp/emacs-lisp/generator.el (iter-next):
23838         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
23839         (gnus-article-mode-syntax-table):
23840         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
23841         * lisp/net/soap-client.el (soap-wsdl-get):
23842         * lisp/net/telnet.el (telnet-mode):
23843         * lisp/org/org-compat.el (org-number-sequence):
23844         * lisp/org/org.el (org-remove-highlights-with-change)
23845         (org-structure-template-alist):
23846         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
23847         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
23848         (handwrite-12pt, handwrite-13pt):
23849         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
23850         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
23851         * lisp/progmodes/verilog-mode.el (verilog-tool)
23852         (verilog-string-replace-matches, verilog-preprocess)
23853         (verilog-auto-insert-lisp, verilog-auto-insert-last):
23854         * lisp/textmodes/makeinfo.el (makeinfo-options):
23855         * src/font.c (Ffont_spec):
23856         Fix minor quoting problems in doc strings, e.g., missing quote,
23857         ``x'' where `x' was meant, etc.
23858         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
23859         Fix minor quoting problem in other string.
23860         * lisp/leim/quail/ethiopic.el ("ethiopic"):
23861         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
23862         Omit unnecessary quotes.
23863         * lisp/faces.el (set-face-attribute, set-face-underline)
23864         (set-face-inverse-video, x-create-frame-with-faces):
23865         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
23866         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
23867         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
23868         * lisp/net/tramp.el (tramp-methods):
23869         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
23870         * lisp/textmodes/artist.el (artist-ellipse-right-char)
23871         (artist-ellipse-left-char, artist-vaporize-fuzziness)
23872         (artist-spray-chars, artist-mode, artist-replace-string)
23873         (artist-put-pixel, artist-text-see-thru):
23874         * lisp/vc/ediff-util.el (ediff-submit-report):
23875         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
23876         Use double-quotes rather than TeX markup in doc strings.
23877         * lisp/skeleton.el (skeleton-pair-insert-maybe):
23878         Reword to avoid the need for grave accent and apostrophe.
23879         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
23880         Don't use grave and acute accents to quote.
23882 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
23884         * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1):
23885         Silence compiler.
23887 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23889         Try to port new etags tests to MS-Windows
23890         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
23891         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
23892         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
23893         Adjust to test-case changes below.
23894         * test/etags/Makefile (CSRC): Remove dostorture.c.
23895         Whatever it was trying to test, wasn't working portably.
23896         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
23897         just a line-ending problem.
23898         * test/etags/c-src/dostorture.c: Remove.
23899         * test/etags/cp-src/c.C: Remove stray CR.
23900         * test/etags/html-src/algrthms.html: Remove trailing CRs.
23901         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
23902         but if someone edits it later it should stay UTF-8-compatible.
23904 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
23906         Fix display of overlapping window-specific overlays
23907         * src/keyboard.c (adjust_point_for_property): When adjusting point
23908         due to display strings, ignore overlays that are specific to
23909         windows other than the currently selected one.
23910         * src/xdisp.c (handle_single_display_spec): If the display
23911         property comes from an overlay, arrange for buffer iteration to
23912         resume only after the end of that overlay.  (Bug#20607)
23914 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
23916         New command icomplete-force-complete-and-exit
23917         * lisp/icomplete.el (icomplete-force-complete-and-exit):
23918         New command
23919         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
23920         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
23921         (icomplete-minibuffer-map): Bind C-j to it.
23922         (icomplete-forward-completions, icomplete-backward-completions):
23923         Mention the new command in the docstring.
23924         * lisp/minibuffer.el (minibuffer-force-complete-and-exit):
23925         Revert the previous fix for bug#17545.
23927 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
23929         Fix last commit
23931         In Elisp manual explain how to override window manager positioning
23932         (Bug#20552)
23933         * doc/lispref/frames.texi (Position Parameters): Give example of
23934         how to override a window manager positioning decision.
23936         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
23937         * src/frame.c (Fdelete_frame): In doc-string mention that frame
23938         can't be deleted if it has a surrogate minibuffer.
23939         * doc/lispref/frames.texi (Minibuffers and Frames)
23940         (Deleting Frames): Explain "surrogate minibuffer frames".
23942         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
23944 2015-05-18  Glenn Morris  <rgm@gnu.org>
23946         Add option to ignore commit lines matching a pattern in ChangeLog
23947         * build-aux/gitlog-to-changelog: Add --ignore-line option.
23948         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
23950 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
23952         Don't skip new etags tests on non-UTF-8 hosts
23953         Problem reported by Eli Zaretskii for MS-Windows.
23954         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
23955         (LC_ALL): Set to C if the current locale isn't UTF-8.
23956         (.PHONY): Remove ediff_1 thru ediff_5.
23957         (check): Always run.
23959 2015-05-18  Glenn Morris  <rgm@gnu.org>
23961         * lisp/calculator.el (calculator-funcall):
23962         * lisp/textmodes/artist.el (artist-spray-random-points):
23963         Use standard degree/radian conversion utilities.
23965         Further lisp-complete-symbol related cleanup.
23966         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
23967         Unadvertise non-functional argument.  Replace obsolete alias.
23969 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
23971         Add a test case for Maven warning ouput
23972         * test/automated/compile-tests.el
23973         (compile-tests--test-regexps-data): Add a case for Maven warning
23974         ouput.
23975         (compile--test-error-line): Check the compilation message type, if
23976         it's specified in the test data.
23978 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
23980         Update Maven compilation-mode entry to distinguish warnings
23981         * lisp/progmodes/compile.el
23982         (compilation-error-regexp-alist-alist): Update Maven entry to
23983         distinguish warnings (bug#20556).
23985 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
23987         * test/automated/sgml-mode-tests.el: New file.
23989 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
23991         Improve handling of the first Git revision
23992         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
23993         there's no next entry, delete until the end of the buffer.
23994         (log-view-end-of-defun-1): Stop at eob.
23995         * lisp/vc/vc-annotate.el
23996         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
23997         when previous-revision is nil.
23998         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
23999         with `--' to avoid ambiguity.
24000         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
24001         returned revision string.
24002         (vc-git-annotate-time): Expect `^' before the first revision.
24003         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
24004         REV1 is nil, and REV2 is not.
24005         * lisp/vc/vc.el: Update the description of the `diff' function.
24007 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
24009         Allow checkdoc to be called in batch
24010         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
24011         is non-nil, echo the error with `warn'.
24012         How it can be used in -batch:
24013         (with-current-buffer (find-file "checkdoc.el")
24014           (checkdoc-current-buffer t))
24016 2015-05-18  Glenn Morris  <rgm@gnu.org>
24018         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
24020 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
24022         * admin/notes/unicode: New section "binary files".
24024         Change new etags test to use UTF-8 encoding
24025         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
24026         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
24027         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
24028         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
24029         * test/etags/html-src/softwarelibero.html:
24030         Switch to UTF-8 encoding.
24031         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
24032         Remove Makefile, as it's too incestuous to have the test input
24033         include the build procedure.
24034         (UTF8_LOCALE, UTF_ENCODING): New macros.
24035         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
24036         (check): Skip if not UTF-8.
24037         (.PHONY): New rule.
24038         (FRC): Remove, as superseded by .PHONY.  All uses removed.
24039         (regexfile): Prefer printf to echo when outputting oddball chars.
24040         (.PRECIOUS): Remove, as these files are not built.
24042         Rename 'foo-gzipped' to 'foo.gz'
24043         * test/automated/data/decompress/foo.gz:
24044         Rename from test/automated/data/decompress/foo-gzipped,
24045         to make it easier for other tools to tell that it's compressed.
24046         * test/automated/zlib-tests.el (zlib--decompress):
24047         Adjust to renamed file.
24049 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
24051         Set up default-directory
24052         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
24053         binding for `v'.
24054         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
24055         appropriate value for default-directory.
24057 2015-05-17  Samer Masterson  <samer@samertm.com>
24059         * lisp/eshell/em-term.el (eshell-term-sentinel):
24060         No-op by default, only kills term buffer if
24061         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
24062         (eshell-destroy-buffer-when-process-dies): New custom to preserve
24063         previous behavior.
24065         eshell: Introduce new buffer syntax
24066         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
24067         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
24068         needed (Bug#19319).
24069         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
24070         (eshell-get-target): Remove shorthand-specific code.
24071         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
24072         '#<buffer-name>'.
24074 2015-05-17  Jan D  <jan.h.d@swipnet.se>
24076         Merge branch 'master' into cairo
24078 2015-04-26  Jan D  <jan.h.d@swipnet.se>
24080         Merge branch 'master' into cairo
24082         Add PBM support for cairo
24083         * src/image.c (xcolor_to_argb32): New function.
24084         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
24085         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
24086         XImagePtr if ! USE_CAIRO.
24087         (pbm_load): Add cairo support.
24089 2015-04-12  Jan D  <jan.h.d@swipnet.se>
24091         * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw.
24092         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
24093         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
24094         x_free_cr_resources.
24096         Handle specified bg in images.  Use generic libpng code for PNGs.
24097         * src/image.c (get_spec_bg_or_alpha_as_argb)
24098         (create_cairo_image_surface): New functions when USE_CAIRO.
24099         (xpm_load): Call the above functions.  Handle XPM without mask
24100         when USE_CAIRO.
24101         (png_load_body): Handle USE_CAIRO case.
24102         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
24103         instead.
24104         (jpeg_load_body): Call create_cairo_image_surface.
24105         (gif_load, svg_load_image): Handle specified background, call
24106         create_cairo_image_surface.
24107         * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO.
24109 2015-04-11  Jan D  <jan.h.d@swipnet.se>
24111         Support GIF and TIFF with cairo
24112         * configure.ac: Allow jpeg with cairo.
24113         Allow tiff and gif with cairo.
24114         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
24115         (tiff_load): Create cairo image surface if USE_CAIRO.
24116         (gif_load): Ditto.
24118         Support JPEG with USE_CAIRO
24119         * configure.ac: Allow jpeg with cairo.
24120         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
24122 2015-04-05  Jan D  <jan.h.d@swipnet.se>
24124         Support RSVG and cairo
24125         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
24126         * src/dispextern.h (struct image): Add cr_data2 if cairo.
24127         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
24128         (x_clear_image): Free cr_data and cr_data2 if set.
24129         (xpm_load): Assign data to cr_data2.
24130         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
24132 2015-04-03  Jan D  <jan.h.d@swipnet.se>
24134         Introduce limited Xpm support (32 bit ZPixmap) for Cairo
24135         * configure.ac (HAVE_RSVG): Move after cairo.
24136         (USE_CAIRO): Disable rsvg, don't disable Xpm.
24137         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
24138         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
24139         don't return early.
24140         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
24141         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
24142         and create a surface.
24144         Tool tips for menus did not show any text.
24145         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
24146         tip frames, the geometry may be wrong.
24148         Merge branch 'master' into cairo, fixes tooltips not shown.
24150         Merge branch 'master' into cairo
24152         Add CAIRO_CFLAGS to lwlib/Makefile.in
24153         * Makefile.in (CAIRO_CFLAGS): Add.
24155 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
24157         * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
24159 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
24161         Draw outermost line using black relief and erase corners also for cairo.
24162         * src/xterm.c [USE_CAIRO]: Include math.h.
24163         (enum corners) [USE_CAIRO]: New enum.
24164         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
24165         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
24166         than 1, draw the outermost line using the black relief.
24168         * src/xterm.c (x_fill_trapezoid_for_relief):
24169         Remove unnecessary cairo_close_path.
24171 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
24173         * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
24175         * src/xterm.c (x_draw_stretch_glyph_string):
24176         Call x_reset_clip_rectangles instead of XSetClipMask.
24178         Use int instead of unsigned int for width and height args.
24179         * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
24180         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
24181         width and height args.
24183         Modernize k&r cairo-related function declarations.
24184         * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
24185         (xg_print_frames_dialog): Modernize k&r declarations.
24186         * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
24187         (Fx_print_frames_dialog): Modernize k&r declarations.
24188         * src/xterm.c (x_gc_get_ext_data, x_extension_initialize)
24189         (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground)
24190         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
24191         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
24192         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
24193         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
24194         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
24195         (x_clear_area): Modernize k&r declarations.
24197         Implement wave-style variant of underlining for cairo.
24198         * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
24199         (x_draw_underwave) [USE_CAIRO]: Use it.
24201         * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle
24202         instead of XFillRectangle.
24204 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
24206         Fix fringe bitmap initialization for cairo
24207         * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap
24208         data for cairo image surface.
24209         * src/xterm.c (x_cr_define_fringe_bitmap):
24210         Call cairo_surface_mark_dirty.
24212 2015-02-11  Jan D  <jan.h.d@swipnet.se>
24214         Add cairo drawing
24215         * configure.ac (with-cairo): New option.
24216         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
24217         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
24218         Output "Does Emacs use cairo?".
24219         * lisp/version.el (emacs-version): Add cairo version.
24220         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
24221         (FONT_OBJ): Add comment about ftcrfont.
24222         (ALL_CFLAGS): Add CAIRO_CFLAGS.
24223         (LIBES): Add CAIRO_LIBS.
24224         * src/dispextern.h (struct image): Add cr_data for cairo.
24225         (x_cr_init_fringe): Declare.
24226         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
24227         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
24228         * src/fringe.c (x_cr_init_fringe): New function name that shares code
24229         with w32_init_fringe.
24230         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
24231         * src/ftfont.c (ftfont_info_size); New global variable.
24232         (ftfont_open2): New extern function almost the same as old ftfont_open,
24233         but takes the font_object as argument.
24234         (ftfont_open): Build font object and call ftfont_open2.
24235         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
24236         * src/gtkutil.c (xg_clear_under_internal_border)
24237         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
24238         Only queue_draw if not cairo.  Change args to x_clear_area.
24239         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
24240         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
24241         (xg_print_frames_dialog): New functions for printing.
24242         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
24243         (xg_print_frames_dialog): Declare.
24244         * src/image.c: Add defined (USE_CAIRO) for PNG.
24245         Add !defined USE_CAIRO for W32 PNG code.
24246         (x_clear_image): If cairo, destroy the surface in cr_data.
24247         (png_load): Add new cairo compatible implementation.
24248         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
24249         * src/xfns.c: New section Printing.
24250         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
24251         (x-print-frames-dialog): New printing functions.
24252         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo.
24253         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
24254         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
24255         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
24256         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
24257         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
24258         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
24259         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
24260         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
24261         Declare.
24262         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
24263         (max_fringe_bmp, fringe_bmp): New variables.
24264         (x_gc_get_ext_data, x_extension_initialize)
24265         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
24266         (x_set_cr_source_with_gc_foreground)
24267         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
24268         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
24269         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
24270         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
24271         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
24272         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
24273         (x_update_begin): Create cairo surface if needed.
24274         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
24275         (x_update_end): Paint cairo drawing surface to xlib surface.
24276         (x_clear_under_internal_border, x_after_update_window_line): Adjust
24277         arguments to x_clear_area.
24278         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
24279         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
24280         of XSetClipMask.
24281         (x_set_glyph_string_clipping)
24282         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
24283         instead of XSetClipRectangles.
24284         (x_clear_glyph_string_rect, x_draw_glyph_string_background):
24285         Use x_fill_rectangle instead of XFillRectangle.
24286         (x_draw_glyph_string_foreground)
24287         (x_draw_composite_glyph_string_foreground)
24288         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle
24289         instead of XDrawRectangle.
24290         (x_draw_relief_rect): Add code for USE_CAIRO.
24291         Call x_reset_clip_rectangles instead of XSetClipMask.
24292         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
24293         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
24294         instead of XSetClipMask.
24295         (x_draw_image_foreground, x_draw_image_foreground_1):
24296         x_draw_rectangle instead of XDrawRectangle.
24297         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
24298         XFillRectangle.
24299         (x_draw_image_glyph_string): If img has cr_data, use it as
24300         a cairo surface.
24301         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
24302         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
24303         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
24304         x_reset_clip_rectangles instead of XSetClipMask.
24305         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
24306         (x_clear_area1): New function that calls XClearArea.
24307         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
24308         non-cairo.
24309         (x_clear_frame): x_clear_window instead of XClearWindow.
24310         (x_scroll_run): Set frame garbaged if cairo.
24311         (XTmouse_position): Initialize *part to 0.
24312         (x_scroll_bar_create): Adjust arguments to x_clear_area.
24313         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
24314         x_fill_rectangle instead of XFillRectangle.
24315         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
24316         arguments to x_clear_area.
24317         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
24318         (handle_one_xevent): Adjust arguments to x_clear_area.
24319         Destroy cairo surface for frame if ConfigureNotify.
24320         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
24321         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
24322         x_reset_clip_rectangles instead of XSetClipMask.
24323         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
24324         x_reset_clip_rectangles instead of XSetClipMask.
24325         (x_clear_frame_area): Adjust arguments to x_clear_area.
24326         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
24327         (x_term_init): Call x_extension_initialize if cairo.
24328         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
24329         x_cr_destroy_fringe_bitmap for cairo.
24330         (x_initialize): Call x_cr_init_fringe for cairo.
24331         * src/xterm.h: Add include of cairo header files.
24332         (x_bitmap_record): Add img if cairo.
24333         (x_gc_ext_data): New struct for cairo.
24334         (x_display_info): Add ext_codes for cairo.
24335         (x_output): Add cr_context and cr_surface for cairo.
24336         (x_clear_area): Change arguments from Display*/Window to frame pointer.
24337         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
24338         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
24339         (x_cr_draw_frame, x_cr_export_frames): Declare.
24341 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
24343         Fix integer-valued `mouse-highlight' (Bug#20590)
24344         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
24346 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
24348         MS-Windows followup for ASCIIfication of curved quotes
24349         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
24350         test for curved quotes being displayable, after switching the
24351         terminal encoding.  (Bug#20545)
24353 2015-05-17  Jan D  <jan.h.d@swipnet.se>
24355         Add comment that x_shift_glyphs_for_insert is never called
24356         * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface):
24357         Add comment that this function is never called.
24359 2015-05-16  Glenn Morris  <rgm@gnu.org>
24361         * src/lisp.mk: Remove from repository and generate at build-time.
24362         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
24363         (shortlisp_filter): New variable.
24364         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
24365         (distclean): Remove lisp.mk.
24366         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
24367         * lisp/loadup.el: Tweak layout to make it easier to parse.
24368         * make-dist: Do not distribute src/lisp.mk.
24370 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
24372         Display shorter dates in Git annotate output
24373         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
24374         format (when not overridden with vc-git-annotate-switches).
24375         (vc-git-annotate-time): Support the short format, as well as ISO
24376         8601 that has been used until now (bug#5428).
24378 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24380         ASCIIfy curved quotes on displays lacking them
24381         * lisp/international/mule-cmds.el (set-locale-environment):
24382         If curved quotes don't work, display straight ASCII approximations
24383         (Bug#20545).
24385 2015-05-16  Glenn Morris  <rgm@gnu.org>
24387         Small src/Makefile simplification
24388         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
24389         * src/Makefile.in (lisp): Derive from shortlisp.
24390         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
24392 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
24394         * lisp/help-mode.el (help-go-forward): Doc fix.
24395         (Bug#20577)
24397         * doc/lispref/debugging.texi (Profiling): Improve indexing.
24398         (Bug#20576)
24400 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
24402         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
24403         have one fewer `not'.
24405         * lisp/vc/vc-git.el (vc-git-diff-switches)
24406         (vc-git-annotate-switches, vc-git-resolve-conflicts)
24407         (vc-git-program, vc-git-root-log-format): Remove the redundant
24408         :group declarations.
24410 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
24412         Removes the predicate from lisp-complete-symbol (Bug#20456)
24413         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
24414         and remove it from the docstring.
24416 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
24418         Add new option vc-git-resolve-conflicts
24419         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
24420         (vc-git-find-file-hook): Add to after-save-hook only when the
24421         above is non-nil.
24422         (vc-git-resolve-when-done): Update to honor the new variable.
24423         (Bug#20292)
24425 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
24427         * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string.
24428         (tabulated-list-init-header): Document new behavior.
24429         (tabulated-list-print-fake-header): Do nothing if
24430         `tabulated-list--header-string' is nil.
24431         (tabulated-list--header-string): Add a docstring.
24432         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
24433         * etc/NEWS: Document it.
24435 2015-05-15  Leo Liu  <sdl.web@gmail.com>
24437         Revert "Fix cps--gensym"
24438         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
24439         fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
24441 2015-05-15  Glenn Morris  <rgm@gnu.org>
24443         Replace AC_SUBST_FILE in configure with include in Makefiles
24444         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
24445         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
24446         (AUTO_DEPEND): New output variable.
24447         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
24448         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
24449         (lwlib_deps_frag): Replace by conditional include.
24450         * lwlib/autodeps.mk: Remove file.
24451         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
24452         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
24453         (oldxmenu_deps_frag): Replace by conditional include.
24454         * oldXMenu/autodeps.mk: Remove file.
24455         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
24456         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
24457         (lisp_frag): Replace by an include.
24458         (deps_frag): Replace by conditional include.
24459         * src/autodeps.mk: Remove file.
24461         Tweak japanese.el's loading of dependencies
24462         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
24463         * lisp/language/japanese.el: Use require rather than load.
24464         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
24465         Provide a feature.
24466         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
24467         Provide a feature in the generated file.
24469 2015-05-15  Jan D  <jan.h.d@swipnet.se>
24471         Fix NS warnings
24472         * src/nsmenu.m (ns_popup_dialog)
24473         * src/nsimage.m (initFromXBM:width:height:fg:bg:)
24474         * src/nsfns.m (Fx_create_frame): Remove unused variables.
24475         (Fns_read_file_name): Initialize fname, remove ret.
24476         * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
24477         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown):
24478         Remove unused variable.
24479         (init): Add parantesis in if.
24480         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
24482 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
24484         Fix a enum conversion warning in macfont.m
24485         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
24486         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
24488 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
24490         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
24491         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
24493 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
24495         * lisp/cus-start.el: Add ns-confirm-quit.
24497         Fix warnings on OSX 10.10
24498         * src/nsfns.m (MODAL_OK_RESPONSE): New define for different
24499         OSX versions.
24500         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
24501         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
24502         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:)
24503         * src/nsimage.m (allocInitFromFile, setPixmapData): Only call
24504         setScalesWhenResized for OSX < 10.6.
24505         * src/nsterm.h (EmacsScroller): Declare scrollerWidth.
24506         * src/nsterm.m (ns_copy_bits): New function that does not use
24507         deprecated NSCopyBits.
24508         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
24509         (runAlertPanel): New function.
24510         (applicationShouldTerminate:): Call runAlertPanel.
24511         (initFrameFromEmacs, toggleFullScreen:): Only call
24512         useOptimizedDrawing for OSX < 10.10.
24513         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
24514         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
24515         (draggingEntered:): Returns NSDragOperation.
24516         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
24518 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
24520         * lisp/emacs-lisp/package.el: Don't ensure-init during startup.
24521         (package--init-file-ensured): New variable.
24522         (package-initialize, package--ensure-init-file): Use it.
24524 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
24526         Honor :fore/background for XBM on NS (Bug#14969)
24527         * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
24528         initFromXBM takes bg, fg args, remove flip arg.
24529         (ns_image_from_XBM): Add bg, fg args.
24530         * src/image.c (x_create_bitmap_from_data)
24531         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
24532         * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to
24533         initFromXBM.  Remove flip arg.
24534         (initFromSkipXBM): Move code to initFromXBM.
24535         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
24536         Use fg, bg from args (Bug#14969).  Remove if (length) section, was
24537         always false.
24538         Remove bit flipping (bitPat, swt), generated incorrect images when
24539         width/height wasn't a multiple of 8.
24540         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
24541         * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args,
24542         remove flip arg.
24544 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
24546         * lisp/emacs-lisp/package.el: Be more careful with the init file.
24547         (package--ensure-init-file): Check that user-init-file is set,
24548         exists, is readable, and is writable.  (Bug#20584)
24549         Also expand the docstring.
24551 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
24553         Sync with upstream verilog-mode revision 6232468
24554         * lisp/progmodes/verilog-mode.el
24555         (verilog-font-lock-grouping-keywords-face)
24556         (verilog-highlight-grouping-keywords): Fix use of face when
24557         `verilog-highlight-grouping-keywords' set.  Reported by Jeff Pompa.
24558         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
24559         parent is reset, bug906.  Reported by Ken Schmidt.
24560         (verilog-auto-inout-module): Add fourth regexp argument to
24561         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856.
24562         Reported by John Tillema.
24563         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
24564         modport if signal attachment is itself a modport.  Reported by
24565         Matthew Lovell.
24566         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
24567         always_comb and always_latch, bug844.  Reported by Greg Hilton.
24568         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
24569         with many curly-bracket pairs, bug663.
24570         (verilog-set-auto-endcomments): Fix end comments for functions of
24571         type void, etc.  Reported by Alex Reed.
24572         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
24573         caused by indent-line-to deleting tabls pre 24.5.
24574         (verilog-nameable-item-re): Fix nameable items that can have an
24575         end-identifier to include endchecker, endgroup, endprogram,
24576         endproperty, and endsequence.  Reported by Alex Reed.
24577         (verilog-label-be): When auto-commenting a buffer, consider
24578         auto-comments on all known keywords (not just a subset thereof).
24579         Reported by Alex Reed.
24580         (verilog-auto-end-comment-lines-re)
24581         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
24582         Automatically comment property/endproperty blocks to match other
24583         similar blocks like sequence/endsequence, function/endfunction, etc.
24584         Reported by Alex Reed.
24585         (verilog-set-auto-endcomments): Detect the function- or task-name
24586         when auto-commenting blocks that lack an explicit portlist.
24587         Reported by Alex Reed.
24588         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
24589         allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
24590         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
24591         is nil, fix indenting initial/final to match always statements,
24592         bug825.  Reported by Tim Clapp.
24593         (verilog-extended-complete-re): Fix indentation of DPI-C imports
24594         with c_identifiers, and DPI-C imports, bug557.  Reported by ZeDong
24595         Mao and Jason Forkey.
24596         (verilog-read-decls): Fix parsing typed interfaces.  Fix
24597         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
24598         Fix localparam not being ignored in AUTOINSTPARAM,
24599         bug889.  Reported by Shannon Hill.
24600         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
24601         bug793.  Reported by Pierre-David Pfister.
24602         (verilog-auto-arg-format, verilog-auto-arg-ports):
24603         Add verilog-auto-arg-format to support newlines in AUTOARG.
24604         Reported by Jie Xiao.
24605         (verilog-batch-execute-func): Do not batch re-auto files loaded by
24606         Local Variables.  Fix printing "no changes to be saved" with
24607         verilog-batch.  Reported by Dan Dever.
24608         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
24609         interface-only modules, bug721.  Reported by Dean Hoyt.
24610         Author: Alex Reed <acreed4@gmail.com>
24611         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement):
24612         Don't treat '<keyword>:<identifier>' as the start of a labeled
24613         statement, bug905.  Reported by Enzo Chi.
24614         (verilog-directive-re, verilog-compiler-directives)
24615         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
24616         directives (plus some extras) when determining indentation, bug
24617         901.  Reported by Bernd Beuster.
24618         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
24619         iff expression doesn't start with word-character, bug900.
24620         (verilog-optional-signed-range-re, verilog-optional-signed-re):
24621         Fix incorrect indentation/alignment of unsigned declarations,
24622         bug897.
24623         (verilog-looking-back, verilog-in-attribute-p): Fix labeling of
24624         always constructs, bug895.
24625         (verilog-calc-1): Fix verilog-mode constraint indentation, bug324.
24626         Reported by Eric Mastromarchi.
24627         (verilog-beg-of-statement): Fix indenting for some forms of
24628         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
24629         continued assignment incorrect if first line ends with ']', bug437.
24630         Reported by Dan Dever.  Fix indention of cover inside an
24631         ifdef, bug 862.  Reported by Bernd Beuster.  Fix labeling do-while
24632         blocks, bug842.
24633         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859.
24634         Reported by Kaushal Modi.
24635         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
24636         (verilog-backward-token): Fix indenting sensitivity lists with
24637         named events, bug840.  Reed.
24638         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
24639         nil not honoring 'forever', 'foreach', and 'do' keywords.
24641 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24643         Check for invalid GTK+ monitor scales
24644         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
24645         INT_MAX for too-large scales.  All callers changed to assume the
24646         result is valid (Bug#20432).
24647         (xg_frame_set_char_size, xg_update_scrollbar_pos):
24648         Calculate scale only if needed.
24649         Show ASCII approximations instead.
24651 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
24653         Fix daemon crashes when linum-mode is turned on early on
24654         * src/window.c (Fwindow_end): Don't try calling display engine
24655         functions on initial-frame frame.  (Bug#20565)
24657         Fix selective diff browsing in Ediff
24658         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches):
24659         Go to the beginning of the region before searching for the
24660         ediff-regexp-focus-* regexps.  (Bug#20568)
24662 2015-05-14  Jan D  <jan.h.d@swipnet.se>
24664         Fixes bug#20142
24665         * src/gtkutil.c (delete_cb): Don't send delete event here, it does
24666         arrive in the main loop, even for Gtk 3 (Bug#20142).
24668         Don't access display after i/o error (Bug#19147).
24669         * src/xterm.c (x_connection_closed): Add third arg ioerror.
24670         If ioerror, set display to 0 (Bug#19147).
24671         (x_error_quitter): Call x_connection_closed with third arg false.
24672         (x_io_error_quitter): Call x_connection_closed with third arg true.
24674         Handle GTK_SCALE, fixes Bug#20432.
24675         * src/gtkutil.c (xg_get_gdk_scale): New function.
24676         (xg_frame_set_char_size)
24677         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
24678         (xg_get_default_scrollbar_height)
24679         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
24680         when setting sizes (Bug#20432).
24682 2015-05-13  Leo Liu  <sdl.web@gmail.com>
24684         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
24686 2015-05-13  Glenn Morris  <rgm@gnu.org>
24688         Fix bootstrap (void function cl-member).
24689         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
24690         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
24692 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24694         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
24695         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
24696         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
24697         Avoid defalias for closures which are not immutable.
24698         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill
24699         the dispatchers table with various entries.
24700         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
24701         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
24703 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
24705         Improve tagging of C bindings in DEFVAR_*
24706         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
24707         from DEFVAR_*.
24709 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
24711         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
24713 2015-05-12  Glenn Morris  <rgm@gnu.org>
24715         * lisp/progmodes/tcl.el (tcl-filter):
24716         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
24718         Add basic VC push support
24719         * lisp/vc/vc.el (vc-push): New autoloaded command.
24720         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
24721         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
24722         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
24723         (vc-bzr-push): New.
24724         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
24725         (vc-git-pull): Reimplement using vc-git--pushpull.
24726         (vc-git-push): New.
24727         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
24728         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
24729         * doc/emacs/maintaining.texi (Pulling / Pushing):
24730         Rename from "VC Pull".  Mention pushing.
24731         (VC With A Merging VCS, VC Change Log): Update xrefs.
24732         (Branches): Update menu.
24733         * doc/emacs/emacs.texi: Update menu.
24734         * etc/NEWS: Mention this.
24736 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
24738         Improve the seq pcase pattern and the `seq-let' macro
24739         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
24740         object is a sequence, and binds each element of ARGS to the
24741         corresponding element of the sequence.
24743 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
24745         Fix tags created from DEFVAR_* declarations in C
24746         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
24747         to make tags extracted from DEFVAR_* declarations more accurate.
24749         Add a test suite for etags
24750         * test/etags/: New test suite, adapted from
24751         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
24752         whose original author is Francesco Potortì <pot@gnu.org>.
24754         Fix tagging of symbols in C enumerations
24755         * lib-src/etags.c (consider_token): Don't tag symbols in
24756         expressions that assign values to enum constants.  See
24757         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
24758         for details.
24759         (C_entries): Reset fvdef to fvnone after processing a preprocessor
24760         conditional and after a comma outside of parentheses.
24762 2015-05-12  Glenn Morris  <rgm@gnu.org>
24764         * lisp/url/url-handlers.el (url-file-name-completion)
24765         (url-file-name-all-completions): Silence compiler.
24767         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
24769         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
24771 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
24773         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
24774         (cl--generic-mandatory-args): Remove.
24775         (cl--generic-split-args): New function.
24776         (cl-generic-define, cl--generic-lambda): Use it.
24777         (cl-generic-define-method): Use it as well, and add support for
24778         context args.
24779         (cl--generic-get-dispatcher): Handle &context dispatch.
24780         (cl--generic-cache-miss): `dispatch-arg' can now be a
24781         context expression.
24782         (cl--generic-dispatchers): Pre-fill.
24783         * test/automated/cl-generic-tests.el (sm-generic-test-12-context):
24784         New test.
24786 2015-05-11  Glenn Morris  <rgm@gnu.org>
24788         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
24790 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
24792         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
24793         * lisp/term/rxvt.el: Require term/xterm.
24794         (rxvt-function-map): Use xterm-rxvt-function-map.
24795         (rxvt-standard-colors): Move before first use.
24796         (terminal-init-rxvt): Use xterm--push-map and
24797         xterm-register-default-colors.
24798         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
24799         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
24800         Move shared bindings between rxvt and xterm to it.
24801         (xterm-function-map): Use it.  Move the xterm-paste binding to
24802         xterm-rxvt-function-map (bug#20444).
24803         (xterm-standard-colors): Move before first use.
24804         (xterm--push-map): New function.
24805         (xterm-register-default-colors): Take standard colors as argument.
24806         (terminal-init-xterm): Use it.  Adjust call to
24807         xterm-register-default-colors.
24809 2015-05-11  Glenn Morris  <rgm@gnu.org>
24811         * lisp/term/x-win.el: Quieten --without-x compilation.
24812         (x-own-selection-internal, x-disown-selection-internal)
24813         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
24814         Declare.
24816         * Makefile.in (emacslog): Remove srcdir.
24817         (ChangeLog): Update for the above.
24819 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
24821         python.el: better limit for looking-back calls
24822         * lisp/progmodes/python.el (python-shell-accept-process-output):
24823         Use last comint prompt start as limit for looking-back.
24825 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
24827         CEDET (srecode-insert-fcn): Fix use of oref on a class
24828         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref
24829         on a class.  Reported by Pierre Lorenzon.
24830         (srecode-template-inserter-point): Remove declaration.
24832         CEDET (srecode-create-dictionary): Avoid obsolete object name
24833         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
24834         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
24836 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
24838         C-x 8 shorthands for curved quotes, Euro, etc.
24839         Although C-x 8 lets you insert arbitrary Unicode characters,
24840         it's awkward to use this to insert commonly used symbols such as curved
24841         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
24842         characters commonly found in English text and in basic math.
24843         For example, assuming the Alt key works on your keyboard and iso-transl
24844         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
24845         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
24846         (Bug#20499)
24847         * doc/emacs/mule.texi (Unibyte Mode):
24848         A few other printing characters now work too.
24849         * etc/NEWS: Document this.
24850         * lisp/international/iso-transl.el (iso-transl-char-map):
24851         Also support the following characters:
24852         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
24854 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
24856         Add xref-find-regexp
24857         * lisp/progmodes/xref.el (xref-find-function): Describe the
24858         `matches' action.
24859         (xref-find-regexp): New command, using it.
24860         (xref-collect-references): Rename to xref-collect-matches.
24861         (xref--collect-reference): Rename to xref--collect-match.
24862         (xref-collect-matches, xref--collect-match): Accept new argument,
24863         KIND.  Update accordingly.
24864         (xref--regexp-to-extended): New function.
24865         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
24866         `matches' action.
24867         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
24868         * lisp/progmodes/etags.el (etags-xref-find):
24869         Support the `matches' action.
24870         (etags--xref-find-matches): New function.
24872 2015-05-10  Glenn Morris  <rgm@gnu.org>
24874         * Makefile.in: Fixes for recent change-history changes.
24875         (change-history-nocommit): Update footer regexp.
24876         Ensure output script stays executable.
24878 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
24880         New version of `seq-let' based on a pcase pattern
24881         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
24882         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
24884 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
24886         Add basic HTML5 tags and a template
24887         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
24888         (html-tag-alist): Add HTML5 tags.
24889         (html-tag-help): Add new tags descriptions.
24890         (html-navigational-links): Template for nav links.
24891         (html-html5-template): Template for a HTML5 page.
24893 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
24895         semantic/symref/grep: Don't use word boundaries
24896         * lisp/cedet/semantic/symref/grep.el
24897         (semantic-symref-perform-search): Instead of wrapping input in
24898         word boundaries, check that the characters before and after are
24899         not word constituents.
24901         semantic/symref/grep: Support regexp search
24902         * lisp/cedet/semantic/symref.el
24903         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
24904         the search type is regexp.
24905         * lisp/cedet/semantic/symref/grep.el
24906         (semantic-symref-perform-search): Support the regexp search type.
24907         Pass -E to Grep when it's used.
24909         semantic-symref-regexp: Allow to input an arbitrary string
24910         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
24911         Allow to input an arbitrary string interactively.
24913         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
24914         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
24915         Remove tag-symbol-match-p from the default value
24916         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
24918         Declare find-tag obsolete
24919         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
24920         xref-find-definitions.
24922 2015-05-10  Jan D  <jan.h.d@swipnet.se>
24924         Draw composite string correctly (Bug#20537)
24925         * src/nsterm.m (ns_draw_composite_glyph_string_foreground):
24926         New function.
24927         (ns_draw_glyph_string): Call it.
24929 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
24931         Avoid infloop in ERC
24932         * lisp/simple.el (line-move-to-column): Ignore field boundaries
24933         while computing line beginning position.  (Bug#20498)
24935 2015-05-08  Glenn Morris  <rgm@gnu.org>
24937         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
24938         * build-aux/gitlog-to-emacslog: Check called from right directory.
24939         (srcprefix): Remove.
24941         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
24942         * Makefile.in (ChangeLog): No longer pass "distprefix".
24943         * make-dist: Update "make ChangeLog" syntax for the above change.
24945         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
24946         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
24948         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
24950         Add command-line option-parsing to gitlog-to-emacslog
24951         * build-aux/gitlog-to-emacslog: Add command-line options.
24952         By default, refuse to remove an existing output file.
24953         * Makefile.in (CHANGELOG): Update default.
24954         (ChangeLog): Do not test for existing file.
24955         (change-history-nocommit): Ensure temp file does not exist.
24957         Quieten --without-x compilation
24958         * lisp/term/common-win.el: Provide a feature.
24959         * lisp/term/x-win.el (term/common-win): Require it.
24961         * lisp/dired-aux.el (dired-do-print): Require lpr.
24963         Quieten compilation, eg in --without-x builds
24964         * lisp/dired-aux.el (lpr-printer-switch):
24965         * lisp/frame.el (tool-bar-height):
24966         * lisp/linum.el (font-info):
24967         * lisp/window.el (font-info, overflow-newline-into-fringe)
24968         (tool-bar-height):
24969         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
24970         * lisp/gnus/gnus-util.el (iswitchb-mode):
24971         * lisp/mail/rmailmm.el (libxml-parse-html-region):
24972         * lisp/net/nsm.el (gnutls-peer-status)
24973         (gnutls-peer-status-warning-describe):
24974         * lisp/net/shr.el (libxml-parse-xml-region):
24975         * lisp/url/url-http.el (gnutls-peer-status): Declare.
24977 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
24979         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
24980         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
24981         `subclass' since they're never called with a class.
24982         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
24983         srecode-dictionary-child-p.
24985 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
24987         * lisp/help.el (help--binding-locus): Document argument POSITION.
24988         (Bug#20530)
24990 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
24992         Merge from gnulib
24993         * doc/misc/texinfo.tex: Get latest version.
24995 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
24997         ffap.el (ffap-read-file-or-url): Fix completing-read call
24998         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
24999         `completing-read' should be a symbol.
25001 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
25003         Verify file modifications by other programs
25004         * src/filelock.c (lock_file): Check whether the file was modified
25005         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
25007         Fix keyboard macros that include function keys
25008         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
25009         keys in the macro before returning.  (Bug#20454)
25011 2015-05-08  Glenn Morris  <rgm@gnu.org>
25013         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
25014         "Copyright-paperwork-exempt".  (Bug#20324)
25016         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
25017         (log-edit-rewrite-tiny-change): New variable.
25018         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
25019         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
25020         * etc/NEWS: Mention this.
25022         * lisp/calc/calc.el (math-zerop): Declare.
25024         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
25026 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
25028         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec.
25029         Support the case when BINDINGS is a single tuple.  (Bug#20525)
25031         * etc/NEWS: Fix typo in previous commit
25032         (14bb519f1034ddb38ce375cbad7095d9b07f8b26).
25034 2015-05-07  Jan D  <jan.h.d@swipnet.se>
25036         * configure.ac: Warn for multiple display crash for all Gtk+ versions.
25037         Output URL to Gtk+ bug (Bug#20452).
25039         * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection.
25041 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
25043         * lisp/emacs-lisp/package.el: New "external" package status.
25044         An external package is any installed package that's not built-in
25045         and not from `package-user-dir', which usually means it's from an
25046         entry in `package-directory-list'.  They are treated much like
25047         built-in packages, in that they cannot be through the Package Menu
25048         deleted and are not considered for upgrades.
25049         (package-desc-status): Identify if a package is installed outside
25050         `package-user-dir'.
25051         (package-menu--print-info-simple)
25052         (package-menu--status-predicate): Add support for it.
25053         * etc/NEWS: Document it.
25055 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
25057         * lisp/mail/rmail.el: Use lexical-binding.
25058         (rmail-bury): Remove unused var `buffer-to-bury'.
25059         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
25060         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
25061         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
25062         (rmail-insert-inbox-text): Remove unused var `movemail'.
25063         (rmail-add-mbox-headers): Remove unused var `limit'.
25064         (rmail-undelete-previous-message): Remove unused var `value'.
25065         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
25066         `resent-reply-to'.
25067         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
25068         (rmail-restore-desktop-buffer): Rename arguments.
25070 2015-05-06  Glenn Morris  <rgm@gnu.org>
25072         * Makefile.in (change-history-commit): Add missing piece of previous.
25074         Avoid unnecessary bumping of Makefile.in's timestamp
25075         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
25076         (emacslog): New variable.
25077         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
25078         (unchanged-history-files): Use $emacslog rather than Makefile.in.
25079         (change-history-nocommit): Store hash in $emacslog.
25080         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
25081         * admin/update_autogen (changelog_files): Update for the above.
25083         * Makefile.in: Don't always insist on removing existing "ChangeLog".
25084         (CHANGELOG): New variable.
25085         (no-ChangeLog): Remove.
25086         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
25087         (change-history-nocommit): Use a temp file rather than insisting
25088         on deletion of any existing "ChangeLog".
25090         * build-aux/gitlog-to-emacslog: Allow specification of output.
25092         * admin/update_autogen: Add option to update ChangeLog.
25093         (usage): Mention -H.
25094         (changelog_flag, changelog_n, changelog_files): New variables.
25095         (main): Check for -H, and maybe run change-history-nocommit.
25097 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
25099         * lisp/subr.el (delete-dups): Pre-size the hashtable.
25101         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
25102         cl--arglist-args is defined (bug#20517).
25104 2015-05-06  Glenn Morris  <rgm@gnu.org>
25106         * Makefile.in (change-history-nocommit): New.
25108 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
25110         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
25111         timer when it is non-nil
25112         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
25114 2015-05-06  Glenn Morris  <rgm@gnu.org>
25116         Quieten CEDET compilation
25117         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
25118         Invert fboundp test to quieten on current Emacs.
25119         * lisp/cedet/ede/config.el (ede-shell-run-something)
25120         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
25121         (semanticdb-refresh-table): Declare.
25122         (ede-preprocessor-map): Require semantic/db.
25124         Quieten cc-mode compilation
25125         * lisp/progmodes/cc-awk.el (c-forward-sws):
25126         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
25127         Declare.
25129 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
25131         * lisp/subr.el (delete-dups): Avoid nreverse.
25133 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
25135         * lisp/subr.el (delete-dups): Make it destructive again.
25137 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
25139         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
25141 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
25143         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487).
25144         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
25145         (testcover--read): Rename from testcover-read.  Change calling
25146         convention.  Use edebug-read-and-maybe-wrap-form now that edebug-read
25147         is gone.
25148         (testcover-start): Use add-function.  Move edebug-all-defs binding to
25149         testcover--read.
25150         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
25151         (testcover-mark): Remove unused var `item'.
25152         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
25154 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
25156         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
25157           use a hash table.  This can result in ~500 times speed-up for typical
25158           collections of size 5000, like that of `load-library'.
25160 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
25162         CEDET: Avoid `oref' on classes in a few more cases
25163         * lisp/cedet/ede/generic.el (ede-find-target):
25164         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
25165         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
25166         var `prefix'.
25168         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings.
25169         (grepflags, greppattern): Declare.
25170         (semantic-symref-perform-search): Remove unused var `pat'.
25172         CEDET (srecode-compile-inserter): Avoid `oref' on classes
25173         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
25174         Avoid `oref' on classes (bug#20491).
25175         (srecode-compile-split-code): Remove unused var `key'.
25177 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
25179         Clean up pulse.el a little
25180         * lisp/cedet/pulse.el (pulse): Remove.
25181         (pulse-momentary-timer): Save instead of the stop time.
25182         (pulse-momentary-highlight-overlay):
25183         Call pulse-momentary-unhighlight first thing.
25184         Treat pulse-momentary-overlay as a single value, not a list.
25185         Save the created timer.  Only pass the stop time to the timer.
25186         (pulse-tick): Update accordingly.
25187         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
25188         single value.  Cancel the timer.
25190 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
25192         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
25193         Support the biblatex journaltitle field.
25195 2015-05-05  Glenn Morris  <rgm@gnu.org>
25197         Minor declare-function improvement
25198         * lisp/emacs-lisp/bytecomp.el
25199         (byte-compile-macroexpand-declare-function):
25200         Handle declarations after calls.  (Bug#20509)
25202         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
25204         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
25206 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
25208         Pulse using a timer
25209         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
25210         (pulse-momentary-highlight-overlay): Set up the timer instead of
25211         calling `pulse'
25212         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
25213         (pulse-tick): New function.
25214         (pulse-momentary-unhighlight): Cut off the stop time.
25215         (pulse-delay): Update the docstring WRT to not using sit-for.
25217         Add semantic/symref/grep file patterns for ruby-mode
25218         * lisp/cedet/semantic/symref/grep.el
25219         (semantic-symref-filepattern-alist): Add patterns for ruby-mode.
25220         Clarify the docstring.
25222         Don't require match
25223         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
25224         match.  That doesn't work for every command, and some identifier
25225         completion tables are bound to be imperfect anyway.
25227 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
25229         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505).
25230         (semantic-grammar--template-expand): New function.
25231         (semantic-grammar-header, semantic-grammar-footer): Use it.
25232         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
25233         (semantic-grammar-file-regexp): Refine regexp.
25234         (semantic-grammar-eldoc-get-macro-docstring):
25235         Use elisp-get-fnsym-args-string when available.
25236         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
25237         instead of the old eldoc-* names.
25238         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
25239         from elisp-mode.el.  Tweak calling convention.
25240         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
25241         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
25242         elisp--get-fnsym-args-string.
25243         (elisp--highlight-function-argument): Add `prefix' arg.
25244         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
25245         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
25247 2015-05-05  Glenn Morris  <rgm@gnu.org>
25249         * lisp/help-fns.el (describe-function-1):
25250         Handle builtins with advertised calling conventions.  (Bug#20479)
25252 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
25254         Merge branch 'seq-let'
25256         Update `seq-let' documentation
25257         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
25258         with the support of  `&rest'.
25260         Add support for &rest in `seq-let'
25261         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
25262         in the argument list.
25263         * test/automated/seq-tests.el: Add a test for parsing and binding
25264         `&rest' in `seq-let'.
25266 2015-05-05  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
25268         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get):
25269         Add missing increment (Bug#20467).
25270         (eieio-object-value-create): Adjust to new slots representation
25271         (Bug#20467).
25272         (eieio-object-value-create): Fix missed adjustment to new
25273         representation of slots metadata.
25275 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
25277         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
25279 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
25281         Work around "Attempt to modify read-only object"
25282         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
25283         elisp--xref-find-definitions, to work around "Attempt to modify
25284         read-only object" error.
25286         Only skip some variables that have function counterparts
25287         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
25288         Only skip minor-mode-named variable if it's defined in a Lisp
25289         file, and it's in minor-mode-list (bug#20506).
25290         * test/automated/elisp-mode-tests.el
25291         (elisp-xref-finds-both-function-and-variable)
25292         (elisp-xref-finds-only-function-for-minor-mode): New tests.
25294 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
25296         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
25297         previous change.
25298         (xref--insert-xrefs): Buttonize the whole line, including the
25299         number at the beginning.
25301         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
25302         Make sure we're inside the let bindings.
25303         * test/automated/elisp-mode-tests.el
25304         (elisp-completes-functions-after-let-bindings): New test.
25306 2015-05-04  Glenn Morris  <rgm@gnu.org>
25308         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
25309         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
25310         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
25311         Remove outdated declarations.
25313         Replace instances of "(eval-when-compile (autoload ...))"
25314         * lisp/gnus/gnus-art.el (nneething-get-file-name):
25315         Declare rather than autoload.
25316         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
25317         Remove pointless autoload.
25318         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
25319         (gnus-topic-create-topic, gnus-topic-enter-dribble):
25320         Declare rather than autoload.
25321         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
25322         (mailcap-extension-to-mime): Autoload at run-time.
25323         * lisp/gnus/mm-util.el (latin-unity-massage-name)
25324         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
25325         (latin-unity-representations-present-region):
25326         Declare rather than autoload.
25327         * lisp/gnus/mml-smime.el (epg-make-context)
25328         (epg-passphrase-callback-function): Autoload at run-time.
25329         (epg-context-set-signers, epg-context-result-for)
25330         (epg-new-signature-digest-algorithm)
25331         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
25332         (epg-sign-string, epg-encrypt-string)
25333         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
25334         (epg-configuration, epg-expand-group, epa-select-keys):
25335         Declare rather than autoload.
25336         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
25337         Autoload at run-time.
25338         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
25339         (gnus-registry-get-id-key, gnus-registry-action):
25340         Declare rather than autoload.
25341         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
25342         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
25343         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
25344         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
25345         (spam-stat-split-fancy): Remove pointless autoloads.
25346         * lisp/net/mairix.el: Load gnus-util when compiling.
25347         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
25348         (message-field-value): Declare rather than autoload.
25349         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
25350         Check gnus-alive-p is fbound.
25351         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
25352         (vm-check-for-killed-summary, vm-error-if-folder-empty)
25353         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
25354         Declare rather than autoload.
25356         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
25358         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
25359         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
25361         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
25363         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
25365         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
25366         * lisp/emacs-lisp/package.el (epg-signature-status):
25367         Fix declarations.
25369         * lisp/play/gametree.el (gametree-show-children-and-entry)
25370         (gametree-apply-layout, gametree-mouse-show-subtree)
25371         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
25373         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
25374         Handle cl-defgeneric, cl-defmethod.
25376 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
25378         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
25379         Highlight both type and symbol name.
25381         Insert, highlight and align line numbers in xref output
25382         * lisp/progmodes/etags.el (xref-location-line): Specialize for
25383         xref-etags-location.
25384         * lisp/progmodes/xref.el (xref-location-line): New generic method.
25385         (xref-file-location): Add reader for the line slot.
25386         (xref--location-at-point): Skip to the `xref-location' property.
25387         (xref--collect-reference): Drop the line number from description.
25388         (xref--insert-xrefs): Insert, highlight and align line numbers.
25390 2015-05-04  Daniel Colascione  <dancol@dancol.org>
25392         * lisp/simple.el (save-mark-and-excursion--save)
25393         (save-mark-and-excursion--restore): Fix previous commit
25394         (255a011f0ecf004b31c59945b10154b10fac3af1).
25396 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
25398         Don't pulse the indentation, or the newline
25399         * lisp/cedet/pulse.el (pulse-lighten-highlight)
25400         (pulse-reset-face): Fall back to the inherited background
25401         attribute in FACE.
25402         (pulse-momentary-highlight-region): Add autoload cookie.
25403         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
25404         indentation, or the newline, if the line's non-empty
25405         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
25407 2015-05-04  Daniel Colascione  <dancol@dancol.org>
25409         Add `save-mark-and-excursion', which has the old
25410         `save-excursion' behavior
25411         * doc/lispref/positions.texi (Excursions):
25412         Document `save-mark-and-excursion'.
25413         * lisp/font-lock.el (font-lock-fontify-block):
25414         Use `save-mark-and-excursion' instead of `save-excursion',
25415         restoring Emacs 24 behavior.
25416         * lisp/simple.el (save-mark-and-excursion--save)
25417         (save-mark-and-excursion--restore): New functions.
25418         (save-mark-and-excursion): New user macro.
25419         * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion'
25420         in `save-excursion' documentation.
25422 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
25424         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
25425         Classify lone symbol inside let varlist as variable.
25426         * test/automated/elisp-mode-tests.el
25427         (completest-variables-in-let-bindings): New test.
25429         Add xref-pulse-on-jump
25430         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
25431         Add autoload cookie.
25432         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
25433         (xref--maybe-pulse): New function.
25434         (xref-pop-marker-stack, xref--pop-to-location)
25435         (xref--display-position): Use it.
25436         (xref--location-at-point): Use back-to-indentation.
25438 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
25440         lisp/org/org-{macs,list}.el: Fix lexical warnings
25441         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
25442         (org-list-get-next-item, org-list-get-prev-item)
25443         (org-list-get-children): Mark unused arg `struct'.
25444         (org-list-use-alpha-bul-p): Remove unused var `bul'.
25445         (org-toggle-checkbox): Mark unused var.
25446         (org-update-checkbox-count): Remove unused var `box-num'.
25447         (org-adapt-indentation): Declare.
25448         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
25449         (org-list-send-list): Remove unused var `txt'.
25450         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
25451         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
25452         * lisp/org/org-macs.el: Use `declare'.
25453         (org-with-limited-levels): Declare dyn-bound vars.
25455 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
25457         Fix minor issues with CEDET on MS-Windows
25458         * lisp/cedet/semantic/symref/idutils.el
25459         (semantic-symref-parse-tool-output-one-line): Fix the search
25460         regexp to match MS-Windows file names with drive letters.
25461         (Bug#19468)
25462         * lisp/cedet/semantic/symref/grep.el
25463         (semantic-symref-grep-use-template): Remove "--color=always" from
25464         Grep switches on MS-Windows.
25465         (semantic-symref-grep-shell): Use shell-file-name as the default
25466         value, so this works not only on Posix platforms.
25467         (semantic-symref-perform-search): Use shell-quote-argument instead
25468         of literal '..' for portable quoting of Grep command-line
25469         argument.  Use shell-command-switch instead of a literal "-c".
25470         * lisp/cedet/semantic/bovine/gcc.el
25471         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
25472         for an absolute file name in a portable way.
25474 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
25476         * lisp/emacs-lisp/package.el: Remove `package--silence' variable.
25477         (package-import-keyring, package-refresh-contents)
25478         (package-compute-transaction, package--save-selected-packages)
25479         (package-install-from-archive, package-delete)
25480         (package-menu--perform-transaction): Use `inhibit-message' instead.
25481         (package--compile): Set `warning-minimum-level' to :error.
25483 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
25485         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom.
25486         (terminal-init-screen): Use it (bug#20356).
25487         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
25488         (xterm--extra-capabilities-type): New const.
25489         (xterm-extra-capabilities): Use it.
25490         (xterm--version-handler): Lower the pseudo-version for `screen'.
25492 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
25494         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
25495         Always insert a newline at the end (to avoid mouse-face background
25496         tail at the last line).
25498         elisp-completion-at-point: Prioritize being quoted over funpos
25499         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
25500         Only consider function position when not inside quoted form
25501         (bug#20425).
25502         * test/automated/elisp-mode-tests.el: New file.
25504         Stop vc-print-log from jumping to the top
25505         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
25506         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
25507         is not specified.
25508         (vc-incoming-outgoing-internal): Always pass nil.
25509         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
25510         call it, and don't set vc-sentinel-movepoint (bug#15322).
25511         (vc-print-root-log): Don't fetch the root working revision, nor
25512         pass it to vc-print-log-internal.
25514 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
25516         Fix display of keyboard layouts for right-to-left scripts
25517         * lisp/international/quail.el (quail-insert-kbd-layout):
25518         Force left-to-right paragraph direction.
25520 2015-05-02  K. Handa  <handa@gnu.org>
25522         * src/cmds.c (internal_self_insert): When we insert spaces for
25523         padding, set point before the padding spaces, not after them.
25525 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
25527         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
25529 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
25531         Fix etags-xref-find for references
25532         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
25533         Use `cl-mapcan'.
25534         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
25535         directory if no tags tables are loaded (bug#19468).
25537 2015-05-02  Philipp Stephani  <phst@google.com>
25539         Update the options in whitespace-style defcustom
25540         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
25541         `repeat' because the option is really set-like.  Add missing
25542         options.  Reorder options to match the order in the
25543         documentation.  (Bug#20346)
25545 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
25547         Fix error diagnostics of c-macro-expand
25548         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
25549         too early if no start-marker string was found -- that generally
25550         means cpp exited abnormally, and we still want to show its error
25551         messages to the user.
25553         Don't require Texinfo 5.0 for Emacs documentation
25554         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
25555         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
25556         "@codequoteundirected on", respectively, to avoid requiring
25557         Texinfo 5.x for Emacs documentation.
25559 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
25561         * lisp/files.el (pwd):
25562         When called with a prefix argument, insert the current default
25563         directory at point.
25565 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
25567         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
25568         * lisp/isearch.el (isearch-mode-map): Don't inhibit
25569         function-key-map remapping for backspace (bug#20466).
25571 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
25573         Implement xref-find-references in etags and elisp-mode
25574         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
25575         (elisp-xref-find): Use it.
25576         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
25577         * lisp/progmodes/xref.el (xref-collect-references):
25578         (xref--collect-reference): New functions.
25580 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
25582         Prefer plain characters to Texinfo circumlocutions
25583         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
25584         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
25586         Fix single-quoting style in PDF manuals
25587         The PDF versions of the GNU manuals used curved single quotes to
25588         represent grave accent and apostrophe, which made it a pain to cut
25589         and paste code examples from them.  Fix the PDF versions to use
25590         grave accent and apostrophe for Lisp source code, keystrokes, etc.
25591         This change does not affect the info files, nor does it affect
25592         ordinary uses of curved single quotes in PDF.
25593         * doc/emacs/docstyle.texi: New file, which specifies treatment for
25594         grave accent and apostrophe, as well as the document encoding.
25595         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
25596         * doc/lispintro/emacs-lisp-intro.texi:
25597         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
25598         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
25599         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
25600         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
25601         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
25602         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
25603         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
25604         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
25605         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
25606         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
25607         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
25608         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
25609         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
25610         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
25611         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
25612         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
25613         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
25614         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
25615         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
25616         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
25617         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
25618         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
25619         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
25620         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
25621         * doc/misc/woman.texi:
25622         Use it instead of '@documentencoding UTF-8', to lessen the need for
25623         global changes like this in the future.
25624         * doc/emacs/Makefile.in (EMACS_XTRA):
25625         * doc/lispintro/Makefile.in (srcs):
25626         * doc/lispref/Makefile.in (srcs):
25627         Add dependency on docstyle.texi.
25628         * doc/misc/Makefile.in (style): New macro.
25629         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
25630         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
25631         Use it.
25633 2015-05-01  Glenn Morris  <rgm@gnu.org>
25635         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
25637         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
25638         (help-fns--signature): Declare.
25640         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
25642 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
25644         New macro seq-let, providing destructuring support to seq.el
25645         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
25646         to `cl-destructuring-bind' but works on all sequence types supported
25647         by `seq.el'.  Bump version number to 1.6.
25648         * test/automated/seq-tests.el: Add tests for seq-let.
25649         * doc/lispref/sequences.texi: Add documentation for seq-let.
25651 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
25653         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer.
25655 2015-05-01  Glenn Morris  <rgm@gnu.org>
25657         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
25659 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
25661         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
25662         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
25663         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
25664         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
25665         (Bug#20445).
25667 2015-05-01  K. Handa  <handa@gnu.org>
25669         * lisp/international/mule-cmds.el (input-method-use-echo-area):
25670         Change :type to 'boolean.
25672 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
25674         Start using proportional fonts in eww by default
25675         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
25676         it seems to work well.
25678         Fix links in tables in shr
25679         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
25680         makes (some) links in tables not work.
25682 2015-05-01  Jan D  <jan.h.d@swipnet.se>
25684         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
25686 2015-04-30  Glenn Morris  <rgm@gnu.org>
25688         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
25689         Update for 2015-02-08 change to indirect-function.
25691         * lisp/term/ns-win.el (ns-get-selection-internal):
25692         Remove declaration for function deleted 2014-10-21.
25694         * lisp/dom.el: Load subr-x when compiling, for when-let.
25696         Silence some compilation warnings
25697         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
25698         * lisp/emulation/cua-base.el (delete-active-region):
25699         * lisp/net/net-utils.el (w32-get-console-output-codepage):
25700         * lisp/term/ns-win.el (ns-own-selection-internal)
25701         (ns-disown-selection-internal, ns-selection-owner-p)
25702         (ns-selection-exists-p, ns-get-selection):
25703         Declare for compiler.
25705         Function declaration updates prompted by 'make check-declare'
25706         * lisp/emacs-lisp/package.el (lm-homepage):
25707         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
25708         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
25709         * lisp/gnus/mml.el (libxml-parse-html-region):
25710         * lisp/gnus/nnrss.el (libxml-parse-html-region):
25711         * lisp/net/eww.el (libxml-parse-html-region):
25712         * lisp/net/shr.el (libxml-parse-html-region):
25713         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
25714         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
25715         * lisp/vc/vc-git.el (vc-annotate-convert-time):
25716         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
25717         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
25718         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
25719         Update declaration.
25721         Remove compatibility code for 20-year old function renaming
25722         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
25723         Make it an obsolete alias.
25724         (idlwave-shell-filter): Change all uses to comint-output-filter.
25726 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
25728         Add ace-window face config
25729         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
25730         configuration.
25732 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
25734         Unclutter 'make doc' output a bit
25735         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
25736         Use make subst rather than sh IFS to split target string apart.
25737         This makes 'make' output easier to follow.
25739         Merge from gnulib
25740         * doc/misc/texinfo.tex: Update from gnulib.
25742 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
25744         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh.
25745         (package-menu--print-info): Obsolete.
25746         (package-menu--print-info-simple): New function.
25747         (package-menu--refresh): Use it, simplify code, and improve
25748         performance.
25749         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
25750         Tiny performance improvement.
25752         * lisp/emacs-lisp/package.el (package--message): inhibit-message.
25754 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
25756         Omit -Wstrict-overflow workaround in GCC 5
25757         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
25758         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
25760         Merge from gnulib
25761         This incorporates:
25762         2015-04-29 extern-inline: no need for workaround in GCC 5.1
25763         2015-04-26 file-has-acl: port to CentOS 6
25764         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
25766 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
25768         Set next-error-* in xref--xref-buffer-mode
25769         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
25770         Set `next-error-function' and `next-error-last-buffer'.
25771         (xref--next-error-function): New function.
25772         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
25774 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
25776         python.el: Fix warnings on looking-back calls missing LIMIT
25777         * lisp/progmodes/python.el (python-shell-accept-process-output):
25778         Pass LIMIT arg to looking-back.
25780 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
25782         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress.
25783         (package--download-and-read-archives): Use pushnew instead of
25784         append.  If something terrible happened during a previous
25785         download, simply refreshing should now make things work again.
25787 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
25789         Introduce etags-xref-find-definitions-tag-order
25790         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
25791         New variable.
25792         (etags--xref-find-definitions): Use it (bug#19468).
25794 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
25796         PATH- and completion-related fixes in Eshell on MS-Windows
25797         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
25798         MS-Windows, prepend "." to list of directories produced from PATH,
25799         as Windows always implicitly searches the current directory first.
25800         (eshell-force-execution): Make it have a non-nil default value on
25801         MS-Windows and MS-DOS.
25802         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
25803         eshell-force-execution is non-nil, complete on readable files and
25804         directories, not only executables.  When running on MS-Windows,
25805         prepend "." to list of directories produced from PATH, as Windows
25806         always implicitly searches the current directory first.
25808 2015-04-29  Sam Steingold  <sds@gnu.org>
25810         Bury RCIRC buffers when there is no activity
25811         * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove.
25812         (rcirc-bury-buffers): New function.
25813         (rcirc-next-active-buffer): When there is no new activity, use
25814         `rcirc-bury-buffers' to hide all RCIRC buffers.
25816 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
25818         Fix DBUS query result parsing for secrets-search-items
25819         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
25820         parsing.  The function assumed that return value of the
25821         SearchItems method called on a collection is a list of two lists,
25822         however this is true only when no collection is specified.  GNOME
25823         had used to incorrectly return a list of two lists in both cases,
25824         but this was already fixed:
25825         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
25826         incorrect information in the secrets-search-items’ docstring.
25827         (Bug#20449)
25829 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
25831         * lisp/emacs-lisp/bytecomp.el (byte-compile--message):
25832         Use `inhibit-message' instead of hiding the previous message
25833         with (message nil).
25835 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
25837         Remove the deprecated INTERNAL_FIELD macro by expanding it
25838         * src/lisp.h (INTERNAL_FIELD): Remove.
25839         (DEFVAR_KBOARD): Modify accordingly.
25840         * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c:
25841         * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users.
25842         * src/buffer.c (compact_buffer): Use BVAR.
25844 2015-04-29  Glenn Morris  <rgm@gnu.org>
25846         Replace an obsolete function alias
25847         * lisp/isearch.el (isearch-yank-x-selection):
25848         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
25849         (mouse-drag-secondary-moving):
25850         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
25851         Replace obsolete alias x-get-selection with gui-get-selection.
25853 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
25855         * lisp/mail/rmailsum.el: Use lexical-binding.
25857 2015-04-29  Glenn Morris  <rgm@gnu.org>
25859         * test/automated/package-test.el (package-test-update-archives-async):
25860         Skip test on hydra.nixos.org.
25862 2015-04-28  Glenn Morris  <rgm@gnu.org>
25864         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
25865         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
25866         (foldout-mouse-hide-or-exit): Use new names for outline functions.
25868         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
25869         Update for 2014-06-26 hideif.el change.
25871         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
25872         (rmail--decode-and-apply): New function.
25873         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
25875         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
25877 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
25879         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
25880         (package-menu--refresh): Delegate obsolete-hiding to
25881         `package--remove-hidden'.
25882         (package--remove-hidden): Disregard high-priority package if it is
25883         older than the installed one.
25885 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
25887         Update source file encoding list
25888         Update admin/notes/unicode, along with coding system cookies in
25889         other files, so that the two match each other better.
25890         * admin/notes/unicode: lisp/language/ethio-util.el and
25891         lisp/language/ethiopic.el also use utf-8-emacs.
25892         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
25893         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
25894         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
25895         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
25896         * etc/refcards/sk-survival.tex:
25897         Add "coding: utf-8" so that this file is not mishandled in a
25898         Latin-1 or Big-5 locale.
25899         * lisp/international/robin.el, lisp/org/ox-ascii.el:
25900         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
25901         * lisp/language/ethio-util.el: Fix trailer.
25903 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
25905         Fix synchronous invocation of Ispell
25906         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
25907         value to ispell-process-directory before calling ispell-init-process.
25908         Don't call set-process-coding-system if ispell-async-processp is nil.
25909         (Bug#20448)
25911 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
25913         * lisp/emacs-lisp/package.el: Skip space and comments in init file
25914         (package--ensure-init-file): Insert snippet at first
25915         non-whitespace non-comments line.  Respects local-vars at the top
25916         of the file.
25918 2015-04-28  Glenn Morris  <rgm@gnu.org>
25920         * lisp/mail/rmail.el (rmail-copy-headers):
25921         Handle rmail-nonignored-headers being nil.  (Bug#18878)
25923         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
25925         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
25926         Don't get confused by a bzrlib version mismatch warning.
25928 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
25930         Change default location of EUDC options file
25931         * etc/NEWS: Document change to EUDC options file's default location.
25932         * lisp/net/eudc-vars.el (eudc-options-file): Use
25933         `locate-user-emacs-file' to change default options file location.
25935 2015-04-27  Glenn Morris  <rgm@gnu.org>
25937         * test/automated/package-test.el (package-test-update-archives-async):
25938         Try to handle the test server script dying.
25940 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
25942         * lisp/saveplace.el (save-place-mode): New minor mode.
25943         (save-place): Redefine as an obsolete alias.
25945         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
25946         * lisp/midnight.el: Use lexical-binding.
25947         (midnight-mode): Make it a proper minor mode.
25948         (midnight-buffer-display-time): Make arg non-optional.
25949         (midnight-find): Remove.
25950         (clean-buffer-list-kill-never-regexps)
25951         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
25952         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
25953         contain functions.
25954         (clean-buffer-list): Use cl-find.
25955         Allow clean-buffer-list-kill-never-regexps to contain functions.
25957 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
25959         Bump version of seq.el to 1.5
25960         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
25961         from seq-doseq.  Bump version number of seq.el.
25963 2015-04-27  Glenn Morris  <rgm@gnu.org>
25965         * lisp/mail/rmail.el (rmail-reply):
25966         Decode subject before matching "Re:" prefix.  (Bug#20396)
25968 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
25970         * lisp/emacs-lisp/package.el: Small improvements
25971         (package--with-work-buffer-async): More informative error.
25972         (package-install-user-selected-packages): Rename to
25973         `package-install-selected-packages'.
25975 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
25977         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
25978         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
25979         (eieio--class-make): Remove leftover `tag'.
25981 2015-04-27  Glenn Morris  <rgm@gnu.org>
25983         * lisp/gnus/message.el (gnus-extract-address-components):
25984         Remove bogus declaration that was masking previous problem.
25986 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
25988         * lisp/gnus/message.el (message-insert-formatted-citation-line):
25989         Fix typo.  (Bug#20318)
25991 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
25993         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
25995         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
25996         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
25997         the buffer in yet another frame.
25998         (reftex-toc-visit-location): Make sure toc-window has focus at the end
25999         when `final' is nil.
26000         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
26001         silence warnings.  Use `--' to clarify that it's internal.
26002         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
26003         (reftex-toc-promote): Clarify unused argument.
26004         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
26005         Add `reftex--' prefix.  Fix all users.
26006         (reftex-toc-promote-prepare): Use _ for dummy variable.
26007         (reftex-toc-restore-region): Rename `m.
26009 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
26011         Fix a typo in bibtex.el
26012         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
26013         last change.  (Bug#20429)
26015         Fix redisplay of frame after loading new fonts
26016         * src/xdisp.c (redisplay_internal): When retrying redisplay of
26017         a frame because new fonts were loaded, disable all redisplay
26018         optimizations on that frame by calling SET_FRAME_GARBAGED.
26019         (Bug#20410)
26021 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
26023         * lisp/info.el (Info-menu): Properly provide the `default'
26024         (Bug#20391)
26026         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
26027         Catch errors from documentation (bug#20418).
26028         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
26030 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
26032         * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler.
26033         Remove redundant ":group 'package".
26035 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
26037         Fix a typo in rmail.el
26038         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
26039         last commit.  (Bug#20429)
26041 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
26043         Introduce xref-prompt-for-identifier
26044         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
26045         (xref--read-identifier): Use it
26046         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
26048 2015-04-26  João Távora  <joaotavora@gmail.com>
26050         `tex-insert-quote' after single `'' opens quotes instead of closing
26051         Without this, it's very hard to precede double quotes with the
26052         apostrophe character, i.e. insert the sequence '``
26053         (quote-backquote-backquote), commonly useful in portuguese, for
26054         instance.
26055         * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of
26056         preceding chars making `tex-insert-quote' be in the "opening" context.
26058 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
26060         Pass `id' to `completing-read' as def instead of initial input
26061         * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to
26062         `completing-read' as the default value instead of initial input
26063         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
26065 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
26067         Don't freeze with unreadable processes
26068         Don't freeze if an exiting process can't be read from.  (Bug#19860).
26069         This fixes a bug I introduced in
26070         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
26071         "* process.c: Add sanity checks for file descriptors."
26072         Dmitry Gutov did most of the legwork in finding the problem.
26073         * src/process.c (wait_reading_process_output):
26074         Treat non-running processes that can't be read from
26075         the same as other non-running processes.
26077 2015-04-25  Alan Mackenzie  <acm@muc.de>
26079         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
26080         * lisp/subr.el (remove-yank-excluded-properties): Put
26081         `with-silent-modifications' around only the last three lines of code.
26083 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
26085         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
26086         (package--all-keywords): Deleted variable.
26088         * etc/NEWS: Document package-hiding functionality.
26090 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
26092         * lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
26094         Clarify the doc string of 'replace-regexp-in-string'
26095         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
26097         Improve doc string of 'insert-buffer-substring'
26098         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
26100         MS-Windows followup for the recent gnulib update
26101         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
26102         acl-internal.c.
26104 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
26106         Spelling fixes
26108         Merge from gnulib
26109         This incorporates:
26110         2015-04-24 file-has-acl: new module, split from acl
26111         2015-04-24 manywarnings: add GCC 5.1 warnings
26112         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
26113         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
26114         2015-04-15 acl: On Linux, check for acls without libacl
26115         2015-04-14 tempname: avoid unused parameter warnings (trivial)
26116         * lib/acl-internal.c: New file, from gnulib.
26117         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
26118         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
26119         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
26120         Update from gnulib.
26122         Port --enable-gcc-warnings to GCC 5.1 x86-64
26123         * lib-src/ebrowse.c (dump_sym):
26124         * lib-src/hexl.c (main):
26125         * src/ccl.c (ccl_driver):
26126         * src/character.c (string_escape_byte8):
26127         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
26128         * src/gnutls.c (Fgnutls_boot):
26129         * src/gtkutil.c (xg_check_special_colors):
26130         * src/image.c (x_build_heuristic_mask):
26131         * src/print.c (safe_debug_print, print_object):
26132         * src/term.c (produce_glyphless_glyph):
26133         * src/xdisp.c (get_next_display_element)
26134         (produce_glyphless_glyph):
26135         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
26136         Don't use a signed format to print an unsigned integer, or vice
26137         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
26138         * src/image.c (png_load_body, jpeg_load_body):
26139         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
26141 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
26143         Add new faces to tsdh-light-theme
26144         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
26145         definitions for Info-quoted, ace-jump-face-foreground,
26146         hl-paren-face, show-paren-match, and show-paren-mismatch.
26148 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
26150         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
26152 2015-04-24  Glenn Morris  <rgm@gnu.org>
26154         * build-aux/gitlog-to-emacslog:
26155         Use raw log format rather than wrapped one.
26157 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
26159         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code.
26160         (seq-doseq): Fix out-of-scope binding.
26161         Don't call `seq-length at every iteration.
26162         Reduce `if's from 3 to 2 per iteration.
26163         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
26165 2015-04-24  Glenn Morris  <rgm@gnu.org>
26167         * lisp/textmodes/text-mode.el (text-mode-hook):
26168         Move text-mode-hook-identify to default.
26170         * lisp/mouse.el (minor-mode-menu-from-indicator):
26171         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
26173         * lisp/help-fns.el (describe-function): More type checking.
26174         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
26176         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
26177         (Bug#20325)
26179 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
26181         shr: strip leading whitespace when expanding URLs
26182         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
26184 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
26186         Clarify "co-authored" some more
26188         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
26190         Clarify doc strings of functions that search for properties
26191         * src/textprop.c (Fnext_char_property_change)
26192         (Fprevious_char_property_change)
26193         (Fnext_single_char_property_change)
26194         (Fprevious_single_char_property_change, Fnext_property_change)
26195         (Fnext_single_property_change, Fprevious_property_change)
26196         (Fprevious_single_property_change): Clarify doc strings wrt return
26197         value and the optional LIMIT argument.  (Bug#20411)
26199 2015-04-24  Glenn Morris  <rgm@gnu.org>
26201         * test/automated/message-mode-tests.el (message-mode-propertize):
26202         Handle non-writable HOME; eg on hydra.nixos.org.
26204 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
26206         Avoid starting threads by w32-shell-execute
26207         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
26208         local file names, before invoking ShellExecute.  (Bug#20220)
26210 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
26212         Fix following doc-links in `widget-documentation-link-action'
26213         * lisp/wid-edit.el (widget-documentation-link-action): Make
26214         following doc-links less simplistic (Bug#20398).
26216 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
26218         Improve EUDC manual
26219         * doc/misc/eudc.texi (Troubleshooting):
26220         New LDAP troubleshooting subsection.
26222 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
26224         Omit needless "\ " after multibyte then newline
26225         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
26226         (print_object): When print-escape-multibyte is non-nil and a
26227         multibyte character is followed by a newline or formfeed, followed
26228         by a hex digit, don't output a needless "\ " before the hex digit.
26229         * test/automated/print-tests.el (print-hex-backslash): New test.
26231 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
26233         Add a new `inhibit-message' variable
26234         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
26235         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
26236         `inhibit_message' is non-zero.
26237         * etc/NEWS: Add an entry.
26238         * doc/lispref/display.texi: Add an entry for `inhibit-message',
26239         mention it in `message'.
26241 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
26243         Fix last fix in `display-buffer-record-window'.
26244         * lisp/window.el (display-buffer-record-window): Fix last fix.
26246 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
26248         Minor edits in CONTRIBUTE
26249         * CONTRIBUTE: Rearrange instructions about log messages.
26250         Use "Git" capitalized all over.
26251         Use 2 spaces between sentences.
26253 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
26255         * lisp/files.el (basic-save-buffer): Fix argument.
26257         * lisp/cus-edit.el (custom-file): Consider init-file-had-error.
26258         In case `(and (null custom-file) init-file-had-error)' do the same
26259         thing we'd do if `(null user-init-file)', which is to either error out
26260         or return nil.  This is in line with `custom-save-all' which would
26261         throw an error in that situation.  (Bug#20355)
26263         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu.
26264         (package-menu-hide-low-priority): New variable, see its doc.
26265         (package-archive-priorities): Update doc.
26266         (package-desc-priority): New function.
26267         (package-desc-priority-version): Use it.
26268         (package--remove-hidden): New function.
26269         (package-menu--refresh): Use it.
26271         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages.
26272         (package-menu--hide-obsolete): New variable.
26273         (package--remove-hidden): Use it.
26274         (package-menu-hide-obsolete): New interactive function to toggle
26275         the variable.
26276         (package--quick-help-keys): Document it.
26277         (package-menu-async): Add :version tag.
26278         (package-menu-mode-map): Bind package-menu-hide-obsolete.
26279         (package-desc-status): Indicate non-installed obsolete packages as
26280         avail-obso.
26281         (package-menu-mark-install): Allow installation of avail-obso.
26282         (package-menu--status-predicate): Sort avail-obso with available.
26284 2015-04-22  Alan Mackenzie  <acm@muc.de>
26286         On C-y, stop some text property entries being written into buffer-undo-list
26287         * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in
26288         `with-silent-modifications'.
26290 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
26292         In display-buffer-record-window record selected window if necessary
26293         * lisp/window.el (display-buffer-record-window): Store selected window
26294         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
26296 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
26298         Fix reftex-citation bug
26299         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
26300         Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX
26301         integration is enabled and there are no citations in the document
26302         so far.
26304 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
26306         Add or reset based on the presence of MERGE_HEAD
26307         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
26308         `vc-git-resolve-when-done' to `after-save-hook' in either case.
26309         (vc-git-conflicted-files): Add a TODO.
26310         (vc-git-resolve-when-done): Depending on the presence of
26311         MERGE_HEAD, either update the resolved file in the index, or
26312         remove it from there.  (Bug#20292)
26314 2015-04-21  Glenn Morris  <rgm@gnu.org>
26316         * lisp/custom.el (custom-declare-group): No need to purecopy
26317         custom-current-group-alist members following recent change to set
26318         it to nil before dumping.
26320         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
26321         (Bug#20399)
26323 2015-04-21  Daniel Colascione  <dancol@dancol.org>
26325         Unbreak no-op buffer save message
26326         * lisp/files.el (basic-save-buffer): Accept called-interactively as
26327         an argument instead of directly invoking called-interactively-p,
26328         which will always yield nil in that context.
26330 2015-04-21  Alan Mackenzie  <acm@muc.de>
26332         CC Mode: Do nothing in before/after-change-functions for text
26333         property changes
26334         Fixes bug#20266.
26335         * lisp/progmodes/cc-mode.el (c-basic-common-init): Make
26336         yank-handled-properties buffer local, and remove 'category from it.
26337         (c-called-from-text-property-change-p): New function.
26338         (c-before-change): Don't do anything if a call of the new function
26339         returns non-nil.
26340         (c-after-change): Don't do much if a call of the new function returns
26341         non-nil.
26342         (c-extend-after-change-region): Put changes to text property 'fontified
26343         inside c-save-buffer-state.
26345 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
26347         Fix byte-compiler warnings about looking-back
26348         * lisp/vc/log-view.el (log-view-end-of-defun-1):
26349         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
26350         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
26351         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
26352         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
26353         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
26354         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
26355         * lisp/org/org.el (org-insert-heading, org-sort-entries):
26356         * lisp/org/org-mouse.el (org-mouse-end-headline)
26357         (org-mouse-context-menu):
26358         * lisp/org/org-clock.el (org-clock-cancel):
26359         * lisp/man.el (Man-default-man-entry):
26360         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
26361         (rmail-ensure-blank-line):
26362         * lisp/mail/footnote.el (Footnote-delete-footnote):
26363         * lisp/mail/emacsbug.el (report-emacs-bug):
26364         * lisp/info.el (Info-follow-reference, Info-fontify-node):
26365         * lisp/info-look.el (info-lookup-guess-custom-symbol):
26366         * lisp/help-fns.el (help-fns--key-bindings):
26367         * lisp/files.el (hack-local-variables):
26368         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
26369         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
26370         (viper-complete-filename-or-exit):
26371         * lisp/emulation/viper-cmd.el (viper-backward-indent):
26372         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
26373         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
26374         * lisp/cus-edit.el (custom-face-edit-value-create):
26375         * lisp/calendar/todo-mode.el (todo-set-item-priority)
26376         (todo-filter-items-1, todo-convert-legacy-files)
26377         (todo-prefix-overlays): Add explicit second arg to looking-back.
26379 2015-04-20  Glenn Morris  <rgm@gnu.org>
26381         Avoid non-nil current-load-list at startup
26382         * src/process.c (init_process_emacs): Move Fprovide statement...
26383         (syms_of_process): ... to here.
26385         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
26387         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value
26388         in emacs -Q.
26390 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
26392         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
26393         (Bug#20330)
26395 2015-04-20  Glenn Morris  <rgm@gnu.org>
26397         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
26399         Tweak exec-path in uninstalled case
26400         * src/callproc.c (init_callproc): If running uninstalled, do not
26401         include eventual installation libexec directory in exec-path.
26403 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
26405         * lisp/emacs-lisp/package.el: Filter by multiple keywords and
26406         cache keywords.
26407         (package-menu-filter): Accept a list of keywords.
26408         (package--all-keywords): New variable to cache known keywords.
26409         (package-all-keywords): Populate it if necessary.
26410         (package-refresh-contents): Reset it.
26412         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
26413         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
26414         as special keywords which match agains package archive and status
26415         respectively.
26416         * etc/NEWS: Document it.
26418 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
26420         Describe and index "empty overlays".
26421         * doc/lispref/display.texi (Overlays): Improve indexing.
26422         (Managing Overlays): Describe "empty" overlays.
26423         (Overlay Properties, Finding Overlays): Add cross-reference to
26424         where empty overlays are described.
26426 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
26428         Spelling fixes
26430         Quote 'like this' in top-level files
26431         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
26432         Prefer to single-quote 'like this' (instead of the older style
26433         `like this').
26434         * configure.ac: Fix some space-before-tab problems that 'git commit'
26435         complained about.
26437         Use bool for boolean in textprop.c, undo.c
26438         * src/textprop.c (soft, hard): Now constants instead of macros.
26439         (validate_plist): Rewrite to avoid need for boolean local.
26440         (interval_has_all_properties, interval_has_some_properties)
26441         (interval_has_some_properties_list, add_properties)
26442         (remove_properties, get_char_property_and_overlay)
26443         (Fnext_single_char_property_change)
26444         (Fprevious_single_char_property_change, add_text_properties_1)
26445         (Fremove_text_properties, Fremove_list_of_text_properties)
26446         (copy_text_properties):
26447         * src/tparam.c (tparam1):
26448         * src/undo.c (record_change, record_property_change)
26449         (syms_of_undo):
26450         Use 'true' and 'false' for booleans.
26452 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
26454         * lisp/vc/vc-git.el (vc-git-find-file-hook):
26455         Call `smerge-start-session' even when dealing with a stash
26456         conflict (bug#20292).
26458 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
26460         Add option to eshell/clear to clear scrollback.
26461         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
26462         (eshell/clear): Add an optional SCROLLBACK argument.  If non-nil,
26463         scrollback contents are cleared.
26464         * etc/NEWS: Describe change.
26465         * doc/misc/eshell.texi: Add entry for `clear'.
26467 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
26469         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
26470         where either will do.
26472 2015-04-19  Steve Purcell  <steve@sanityinc.com>
26474         Assume package archive-contents are UTF8-encoded
26475         * lisp/emacs-lisp/package.el (package--read-archive-file):
26476         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
26477         downloaded and cached archive-contents files, so that non-ASCII
26478         characters in package descriptions are displayed correctly in the
26479         `list-packages' menu.  (Bug#20231)
26481 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
26483         Abort when looking at stashed changes
26484         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
26485         stashed changes (bug#20292).
26487 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
26489         Refactor low-level printing for simplicity
26490         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
26491         PRINTPREPARE; doable now that we assume C99.  All callers changed.
26492         (PRINTCHAR): Remove, as it adds more mystery than clarity.
26493         All callers changed.
26494         (strout): Assume that caller computes length.  All callers changed.
26495         (print_c_string): New function.
26496         (write_string, write_string_1): Compute length instead of asking
26497         the caller to compute it.  All callers changed.
26498         (write_string): Simplify by using write_string_1.
26499         (write_string_1): Simplify by using print_c_string.
26500         (Fterpri): Compute default val more clearly.
26501         (Fprin1_to_string, print_object):
26502         Assume C99 to avoid unnecessary nesting.
26503         (print_object): Prefer print_c_string to multiple printchar, or
26504         to calling strout with -1 length.  Coalesce into sprintf when
26505         this is easy.
26507 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
26509         Prefer "Bug#1234" in commit messages (Bug#20325)
26510         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
26511         as this isn't useful for Git.
26512         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
26514 2015-04-18  Glenn Morris  <rgm@gnu.org>
26516         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
26517         (Bug#19506)
26519 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
26521         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
26522         Do not use `chomp' as a function.  (Bug#19505)
26524 2015-04-18  Glenn Morris  <rgm@gnu.org>
26526         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
26528         * doc/emacs/misc.texi (Sorting): Small edit.
26529         (Bug#19896)
26531         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
26533 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
26535         css-mode.el: Support multi-line comment filling
26536         (Bug#20256)
26537         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
26538         comment filling.
26539         (css-adaptive-fill): New function.
26540         (css-mode): Set `adaptive-fill-function'.
26541         (scss-mode): Set `comment-continue'.
26543 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
26545         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into):
26546         Better error messages.
26548 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
26550         Minor improvements in Bulgarian input methods
26551         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
26552         Replace U+042C with U+045D, as the former character is not used in
26553         the modern Bulgarian language.
26554         (Bug#20350)
26556 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
26558         Improve EUDC manual
26559         * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL
26560         authentication schemes.  Add index items.  Shorten example server
26561         name.
26563 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
26565         Don't show both feature and function with the same name
26566         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
26567         Don't show both feature and function with the same name.
26569         (elisp--xref-identifier-location): Skip variable, if it's also
26570         a function
26571         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
26572         Avoid returning both the variable and the function for the same
26573         minor mode.
26575 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
26577         Fix fontification of keywords clobbered by the prompt
26578         * lisp/comint.el (comint-output-filter): Remove the uses of
26579         with-silent-modifications I introduced as part of the last change.
26580         This fixes, e.g., erratically missing highlighting when running
26581         ./configure --help; ./configure in a shell-mode buffer with
26582         compilation-shell-minor-mode turned on.
26584 2015-04-17  Glenn Morris  <rgm@gnu.org>
26586         * admin/authors.el (authors-valid-file-names)
26587         (authors-renamed-files-alist): Additions.
26589 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
26591         * lisp/indent.el (indent-region): Don't deactivate the mark.
26592         (Bug#20357)
26594 2015-04-17  Sam Steingold  <sds@gnu.org>
26596         * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable.
26598 2015-04-16  Leo Liu  <sdl.web@gmail.com>
26600         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
26602 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
26604         * lisp/erc/erc-pcomplete.el (erc-pcomplete):
26605         Don't use `pcomplete' any more.
26607 2015-04-16  Glenn Morris  <rgm@gnu.org>
26609         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
26611 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
26613         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
26614         * configure.ac (LIBJPEG): Leave it empty for MinGW.
26616 2015-04-16  Glenn Morris  <rgm@gnu.org>
26618         * lisp/replace.el (query-replace-from-to-separator):
26619         Delay initialization to avoid rogue setting after startup.
26621 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
26623         Pre-4.6 GCC succeeds with unknown option
26624         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
26625         (Bug#20338)
26627 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
26629         '[:graph:]' now excludes whitespace, not just ' '
26630         * doc/lispref/searching.texi (Char Classes):
26631         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
26632         sans whitespace (not sans space).
26633         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
26634         not just space.
26635         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
26637 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
26639         * lisp/subr.el (substitute-key-definition-key, special-form-p)
26640         (macrop): Drop deprecated second arg to indirect-function.
26641         (looking-back): Make the second arg non-optional.
26643         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
26644         command is actually sent to the shell.
26646 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
26648         Port jpeg configuration to Solaris 10 with Sun C
26649         * configure.ac: Check for jpeglib 6b by trying to link it, instead
26650         of relying on cpp magic that has problems in practice.  Check for
26651         both jpeglib.h and jerror.h features.  Remove special case for
26652         mingw32, which should no longer be needed (and if it were needed,
26653         should now be addressable by hotwiring emacs_cv_jpeglib).
26654         (Bug#20332)
26656 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
26658         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
26659         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
26660         Move to elisp-mode.el.
26661         (lisp-mode-variables): (Re)move elisp-specific settings.
26662         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
26663         from lisp-mode-variables.
26664         (elisp--font-lock-flush-elisp-buffers): New function, moved from
26665         lisp-mode.el.
26667         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
26668         Avoid pathological slowdown at top-level in large file.
26670 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
26672         Standardize names of ChangeLog history files
26673         Suggested by Glenn Morris in:
26674         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
26675         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
26676         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
26677         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
26678         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
26679         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
26680         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
26681         Remove.
26683         Split top-level entries into pre- and post-April 7
26684         This more clearly distingiushes pre-April-7 ChangeLog entries (which
26685         are for top-level files only) from post-April-7 entries (which are
26686         about files at all levels.  Problem reported by Glenn Morris in:
26687         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
26688         * ChangeLog.1: Move post-April-7 entries from here ...
26689         * ChangeLog.2: ... to this new file.
26690         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
26692 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
26694         Fix recent cus-start changes that added customize-rogues
26695         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
26696         vars early.
26697         * lisp/loadup.el ("cus-start"): Move to the end to reduce
26698         customize-rogue.
26700 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
26702         Define cl-concatenate as an alias to seq-concatenate
26703         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
26704           code by making cl-concatenate an alias to seq-concatenate.
26706 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
26708         * src/lread.c (intern_1): Make sure we'd find the symbol we add
26709         (Bug#20334)
26710         * src/xfaces.c (resolve_face_name): Don't use `intern' with
26711         Lisp_Strings.
26713 2015-04-15  Glenn Morris  <rgm@gnu.org>
26715         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
26717 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
26719         Clean up gnus-uu saving code slightly
26720         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the
26721         save-restriction/widen calls make more sense.
26723 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
26725         Make [:graph:] act like [:print:] sans space
26726         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
26727         [:graph:] so that it matches everything that [:print:] does,
26728         except for space.
26729         * doc/lispref/searching.texi (Char Classes):
26730         * etc/NEWS:
26731         * lisp/emacs-lisp/rx.el (rx):
26732         Document [:graph:] to be [:print:] sans ' '.
26733         * src/character.c, src/character.h (graphicp): New function.
26734         * src/regex.c (ISGRAPH) [emacs]: Use it.
26735         (BIT_GRAPH): New macro.
26736         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
26737         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
26738         Return BIT_GRAPH for RECC_GRAPH.
26739         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
26740         and ISPRINT if BIT_PRINT.
26742 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
26744         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
26745         Don't use call-next-method in a cl-defmethod.
26747         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
26748         (eieio--class-p): Remove, provided by cl-defstruct.
26750 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
26752         Add seq-intersection and seq-difference to the seq library
26753         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference):
26754         New functions.
26755         * test/automated/seq-tests.el: Add tests for seq-intersection and
26756         seq-difference.
26757         * doc/lispref/sequences.texi: Add documentation for seq-intersection
26758         and seq-difference.
26760 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
26762         * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline,
26763         to avoid leaking internals.
26765 2015-04-14  Sam Steingold  <sds@gnu.org>
26767         package--ensure-init-file: widen requires save-restriction
26769 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
26771         Improve the commit-msg Git hook for unibyte environments
26772         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
26773         in unibyte environments.  (Suggested by Paul Eggert
26774         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
26775         [:print:], based on UTF-8 sequences of the unprintable characters.
26777         Describe problems with cursor caused by Windows Magnifier
26778         * etc/PROBLEMS: Describe the problem with cursor shape on
26779         MS-Windows due to Windows Magnifier.
26780         (Bug#20271)
26782         Make [:print:] support non-ASCII characters correctly
26783         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
26784         (BIT_PRINT): New bit mask.
26785         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
26786         * src/character.c (printablep): New function.
26787         * src/character.h (printablep): Add prototype.
26788         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
26789         of 'print', 'alnum', and 'alphabetic'.
26790         * doc/lispref/searching.texi (Char Classes): Document the new
26791         behavior of [:print:].
26792         * etc/NEWS: Mention the new behavior of [:print:].
26794         Assign correct general-category and names to surrogates
26795         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
26796         surrogates.  This avoids assigning them the default
26797         general-category of 'Cn', i.e. unassigned codepoints.
26798         (unidata-get-name): Give surrogates synthetic names.
26800 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
26802         Assume C89 offsetof in xterm.c, xlwmenu.c
26803         * lwlib/xlwmenu.c (offset):
26804         * src/xterm.c (cvt_string_to_pixel_args):
26805         Use offsetof, not XtOffset.
26807 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
26809         Assume C89 offsetof in widget.c
26810         * src/widget.c (XtOffset): Remove; no longer needed.
26811         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
26813         Fix think-o in previous patch
26814         * src/window.c (count_windows, get_leaf_windows):
26815         Don't optimize count_windows incorrectly.
26817 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
26819         Avoid some int overflows in window.c
26820         * src/print.c (print_object):
26821         * src/window.c (sequence_number):
26822         * src/window.h (struct window.sequence_number):
26823         Don't assume window sequence number fits in int.
26824         * src/window.c (window_select_count):
26825         * src/window.h (struct window.use_time, window_select_count):
26826         Don't assume window use time fits in int.
26827         * src/window.c (Fsplit_window_internal):
26828         Don't assume user-supplied integer, or sum, fits in int.
26829         (Fset_window_configuration, count_windows, get_leaf_windows)
26830         (save_window_save, Fcurrent_window_configuration):
26831         Use ptrdiff_t for object counts.
26832         (Fset_window_configuration): Omit unused local 'n'.
26833         (count_windows): Simplify by writing in terms of get_leaf_windows.
26834         (get_leaf_windows): Don't store through FLAT if it's null.
26835         (extract_dimension): New static function.
26836         (set_window_margins, set_window_fringes, set_window_scroll_bars):
26837         Use it to avoid undefined behavior when converting user-supplied
26838         integer to 'int'.
26840 2015-04-13  Glenn Morris  <rgm@gnu.org>
26842         Minor doc copyedits
26843         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
26844         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
26846 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
26848         [Gnus] Catch the invalid-operation that idna.el will issue
26849         * lisp/gnus/gnus-art.el (gnus-use-idna):
26850         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
26851         * lisp/gnus/message.el (message-use-idna):
26852         Catch the invalid-operation that idna.el will issue.
26854 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
26856         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
26858 2015-04-13  Sam Steingold  <sds@gnu.org>
26860         package--ensure-init-file: widen before looking for
26861         "(package-initialize)"
26863 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
26865         Change diff-switches default to `-u' (Bug#20290)
26866         * doc/emacs/files.texi (Comparing Files): Document the new default
26867         value of `diff-switches'.
26868         * doc/emacs/trouble.texi (Sending Patches): Document the preference
26869         for unified diff format.  Escape the plus in the suggested `-F' regexp
26870         value.
26871         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
26873 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
26875         (gnus-group--setup-tool-bar-update): Fix last change
26876         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
26877         cursor-sensor-functions should be a list of functions.
26879 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
26881         * lisp/gnus/gnus-topic.el (gnus-topic-mode):
26882         Use gmm-called-interactively-p.
26884 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
26886         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
26887         (Bug#20321)
26888         * lisp/cus-start.el (read-buffer-function): Don't advertise
26889         iswitchb-read-buffer any more.
26890         (iswitchb): Don't tweak this obsolete group any more.
26892 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
26894         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file.
26896         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings.
26897         Adding a string after a constructor's argument list will use
26898         that string as the constructor function docstring.  If this string
26899         is absent but the struct itself was given a docstring, use that as
26900         the constructor's docstring.
26901         Fixes bug#17284.
26903 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
26905         Deprecate `intangible' and `point-entered' properties
26906         * lisp/emacs-lisp/cursor-sensor.el: New file.
26907         * lisp/simple.el (pre-redisplay-functions): New hook.
26908         (redisplay--pre-redisplay-functions): New function.
26909         (pre-redisplay-function): Use it.
26910         (minibuffer-avoid-prompt): Mark obsolete.
26911         (redisplay--update-region-highlight): Adapt it to work as a function on
26912         pre-redisplay-functions.
26913         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
26914         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
26915         than point-entered to make the prompt intangible.
26916         * lisp/forms.el: Move `provide' calls to the end.
26917         (forms-mode): Don't use `run-hooks' on a local var.
26918         (forms--make-format, forms--make-format-elt-using-text-properties):
26919         Use cursor-intangible rather than `intangible'.
26920         (forms-mode): Enable cursor-intangible-mode.
26921         * lisp/isearch.el (isearch-mode): Use defvar-local.
26922         (cursor-sensor-inhibit): Declare.
26923         (isearch-mode): Set cursor-sensor-inhibit.
26924         (isearch-done): Set it back.
26925         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
26926         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
26927         any more.
26928         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
26929         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
26930         Add Edebug spec.
26931         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
26932         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
26933         inhibit-point-motion-hooks any more.
26934         (ses--cell-at-pos, ses--curcell): New functions, extracted from
26935         ses-set-curcell.
26936         (ses-set-curcell): Use them.
26937         (ses-print-cell, ses-setup): Use cursor-intangible instead of
26938         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
26939         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
26940         Use ses--cell-at-pos.
26941         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
26942         extracted from ses-command-hook.  Make them work with multiple windows
26943         displaying the same buffer.
26944         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
26945         Enable cursor-intangible-mode.
26946         (ses-command-hook): Remove cell highlight and mode-line update code.
26947         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
26948         Update for new name of text-property holding the cell name.
26949         (ses-rename-cell): Don't mess with mode-line-process.
26950         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
26951         cursor-sensor-functions property instead of point-entered.
26952         (erc-insert-timestamp-right, erc-format-timestamp):
26953         Use cursor-intangible rather than `intangible'.
26954         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
26955         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
26956         cursor-sensor-mode if needed.
26957         (erc-echo-timestamp): Adapt to calling convention of
26958         cursor-sensor-functions.
26959         (erc-insert-timestamp-right): Remove unused vars `current-window' and
26960         `indent'.
26961         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
26962         (gnus-update-group-mark-positions): Remove unused `topic' var.
26963         (gnus-group-insert-group-line): Remove unused var `header'.
26964         (gnus-group--setup-tool-bar-update): New function.
26965         (gnus-group-insert-group-line): Use it.
26966         (gnus-group-update-eval-form): Declare local
26967         dynamically-bound variables.
26968         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
26969         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
26970         (gnus-group-prepare-topics, gnus-topic-update-topic)
26971         (gnus-topic-change-level, gnus-topic-catchup-articles)
26972         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
26973         Use inhibit-read-only.
26974         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
26975         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
26976         * lisp/textmodes/reftex-index.el (reftex-display-index):
26977         Use cursor-intangible-mode if available.
26978         (reftex-index-post-command-hook): Check cursor-intangible.
26979         * lisp/textmodes/reftex-toc.el (reftex-toc):
26980         Use cursor-intangible-mode if available.
26981         (reftex-toc-recenter, reftex-toc-post-command-hook):
26982         Check cursor-intangible.
26983         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
26984         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
26985         (sgml-tags-invisible): Use with-silent-modifications and
26986         inhibit-read-only.  Enable cursor-sensor-mode.
26987         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
26988         calling convention of cursor-sensor-functions.
26989         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
26990         (table-point-entered-cell-hook, table-point-left-cell-hook):
26991         Don't autoload.
26992         (table-cell-entered-state): Remove var.
26993         (table--put-cell-point-entered/left-property)
26994         (table--remove-cell-properties):
26995         Use cursor-sensor-functions rather than point-entered/left.
26996         (table--point-entered/left-cell-function): Merge
26997         table--point-entered-cell-function and table--point-left-cell-function
26998         and adjust to calling convention of cursor-sensor-functions.
27000         Update ldef-boots.el
27002         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
27004         * doc/misc/eieio.texi: Don't advertise now obsolete constructs
27006         Collapse successive char deletions in the undo log
27007         * src/cmds.c (remove_excessive_undo_boundaries): New function,
27008         extracted from Fself_insert_command.
27009         (Fdelete_char, Fself_insert_command): Use it.
27010         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
27011         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
27013         xterm and OSC 52: Add NEWS entry, and tweak the code
27014         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition
27015         to top-level.
27016         (terminal-init-xterm-activate-set-selection): Set a terminal property.
27017         (xterm--set-selection): Use it instead of checking the value of
27018         `terminal-initted'.  Don't use string-bytes.
27020 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
27022         xterm.el: Implement OSC-52 functionality for setting the X selection
27023         * lisp/term/xterm.el (xterm-max-cut-length): New var.
27024         (xterm--set-selection, terminal-init-xterm-activate-set-selection):
27025         New funs.
27026         (terminal-init-xterm, xterm--version-handler): Use them.
27028 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
27030         Remove left over code from when we used an obsolete/loaddefs.el file
27031         * lisp/subr.el (do-after-load-evaluation): Remove left over code from
27032         when we used an obsolete/loaddefs.el file.
27034         * lisp/cedet/semantic/fw.el (semantic-exit-on-input)
27035         (semanticdb-without-unloaded-file-searches): Use declare.
27036         (semantic-fw-add-edebug-spec): Remove.
27038         * lisp/completion.el (completion-lisp-mode-hook):
27039         Use completion-separator-chars rather than local key binding.
27041         * src/*.c: Set deactivate_mark buffer-locally
27042         (Bug#20260)
27043         * src/insdel.c (prepare_to_modify_buffer_1):
27044         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
27045         buffer-locally.
27047 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
27049         python.el: Keep symmetry on sexp navigation with parens
27050         (Bug#19954)
27051         * lisp/progmodes/python.el
27052         (python-nav--forward-sexp): Add argument skip-parens-p.
27053         (python-nav-forward-sexp, python-nav-backward-sexp)
27054         (python-nav-forward-sexp-safe)
27055         (python-nav-backward-sexp-safe): Use it.
27056         * test/automated/python-tests.el
27057         (python-nav-forward-sexp-1): Fix test.
27059 2015-04-12  João Távora  <joaotavora@gmail.com>
27061         Don't use `setq-local' in Gnus code
27062         This might break upstream builds with older Emacsen
27063         * lisp/gnus/message.el (message-mode): Use `set' and
27064         `make-local-variable' instead of `setq-local'.
27066 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
27068         Update Makefile.in's .PHONY dependencies
27069         * Makefile.in (change-history-commit, master-branch-is-current)
27070         (no-ChangeLog): Now phony.
27072         Remove configure's --with-mmdf option
27073         * configure.ac (MAIL_USE_MMDF): Remove.
27074         * etc/NEWS: Document this.
27075         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
27076         (Bug#20308)
27078         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
27079         That way, 'make install' won't think it's a man page.
27080         Reported by Ashish SHUKLA in:
27081         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
27083         Improve 'make change-history' prereq tests
27084         * Makefile.in (gen_origin): Fix to match what's in the master branch.
27085         (no-ChangeLog, master-branch-is-current): New rules.
27086         (change-history): Depend on them, to avoid similar future problems.
27087         Escape the local-variables string to pacify Emacs when editing
27088         Makefile.in.
27090 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
27092         * test/automated/package-test.el (with-package-test):
27093         Kill Packages buffer.
27095         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt.
27096         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
27097         "Upgrade" last, and use capitalized instead of all-caps.
27099         * lisp/emacs-lisp/package.el: Completely silence async operations.
27100         (package--make-autoloads-and-stuff): Silence autoloads.
27101         (package--save-selected-packages): New function, silences
27102         `customize-save-variable'.
27103         (package--user-selected-p, package-install-from-buffer)
27104         (package-delete, package-install): Use it.
27105         (package-install-from-archive)
27106         (package-menu--perform-transaction): Silence.
27107         (package-menu-execute): Feedback when operation starts.
27109         Use delay-mode-hooks when visiting the init-file
27110         * lisp/emacs-lisp/package.el (package--ensure-init-file):
27111         delay-mode-hooks.
27112         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks.
27114         * lisp/files.el: Only message when saving if save-silently is nil.
27115         (save-silently): New variable.
27116         (files--message): New function.
27117         (find-file-noselect, save-buffer, basic-save-buffer)
27118         (basic-save-buffer-2, save-some-buffers, not-modified)
27119         (append-to-file): Use them.
27121 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
27123         Support debug declarations in pcase macros
27124         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
27125         (pcase-UPAT): Use it.  Remove "`".
27126         (pcase--edebug-match-macro): New function.
27127         (pcase-defmacro): Support debug declarations.
27128         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
27129         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
27130         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>:
27131         Add debug declaration.
27133         pcase.el: Edebug support for `app' and vector patterns
27134         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
27135         (pcase-UPAT): Use it.  Support `app' patterns.
27136         (pcase-QPAT): Support vector patterns.
27138         edebug.el: Disambiguate vector specifications
27139         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
27140         `(vector ...)' as a vector specification, not as a sublist.
27142         (gnus-summary-refer-thread): Don't clobber unread articles
27143         This fixes a bug where `A T' causes "random" articles to become marked
27144         as read.
27145         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
27146         gnus-newsgroup-unreads remains sorted.
27148         mouse-sel.el: Fix mouse-sel-get-selection-function
27149         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
27150         Use gui--last-selected-text-primary instead of no longer existing
27151         gui-last-selected-text.
27153         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
27155         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
27157 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
27159         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate.
27161         * lisp/emacs-lisp/package.el (list-packages): Call refresh in
27162         right buffer.
27164         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations.
27165         (byte-compile--interactive): New var.
27166         (byte-compile--message): New function.
27167         (byte-compile-log-1, byte-force-recompile)
27168         (byte-recompile-directory, byte-recompile-file)
27169         (byte-compile-file, compile-defun)
27170         (byte-compile-file-form-defmumble, byte-compile)
27171         (byte-compile-file-form-defalias, display-call-tree): Use it.
27173         * lisp/files.el: Don't message when nothing happened.
27174         (save-some-buffers, basic-save-buffer): Before messaging to say
27175         "nothing was saved" check if (called-interactively-p 'any).
27177 2015-04-12  João Távora  <joaotavora@gmail.com>
27179         Summary: Improve sexp-based movement in message-mode
27180         Works by giving citations and smileys a different syntax.  This helps
27181         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
27182         sexp-based movement.
27183         * lisp/gnus/message.el (message--syntax-propertize): New function.
27184         (message-mode): Set syntax-related vars.
27185         (message-smileys): New variable.
27186         * test/automated/message-mode-tests.el: New file
27188 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
27190         Use bool for boolean in window.c
27191         * src/window.c: Omit unnecessary static function decls.
27192         (adjust_window_count, select_window, Fselect_window)
27193         (window_body_width, Fwindow_body_height, Fwindow_body_width)
27194         (set_window_hscroll, check_window_containing, Fwindow_at)
27195         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
27196         (unshow_buffer, replace_window, recombine_windows)
27197         (add_window_to_list, candidate_window_p, next_window)
27198         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
27199         (Fget_buffer_window, Fdelete_other_windows_internal)
27200         (replace_buffer_in_windows_safely, set_window_buffer)
27201         (Fset_window_buffer, Fforce_window_update)
27202         (temp_output_buffer_show, make_parent_window)
27203         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
27204         (resize_frame_windows, Fsplit_window_internal)
27205         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
27206         (Fresize_mini_window_internal, mark_window_cursors_off)
27207         (window_scroll, window_scroll_pixel_based)
27208         (window_scroll_line_based, scroll_command, Fscroll_other_window)
27209         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
27210         (Fmove_to_window_line, Fset_window_configuration)
27211         (delete_all_child_windows, apply_window_adjustment)
27212         (set_window_fringes, set_window_scroll_bars)
27213         (Fset_window_vscroll, foreach_window, foreach_window_1)
27214         (compare_window_configurations, Fcompare_window_configurations):
27215         Prefer 'bool', 'true', and 'false' for booleans.
27216         * src/window.h (WINDOW_MODE_LINE_LINES)
27217         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
27219 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
27221         Speed up byte-compilation and autoload generation by avoiding mode-hooks
27222         This prevents emacs-lisp-mode-hook from being run everytime an
27223         autoload file is generated, which can account for a fraction of
27224         package installation time depending on the hooks the user has
27225         configured.
27226         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
27227         * lisp/emacs-lisp/autoload.el (autoload-find-file)
27228         (autoload-find-generated-file): Use delay-mode-hooks.
27230         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'.
27231         (package-menu-refresh): Respect async and do new package checking.
27232         (list-packages): Use `package-menu-refresh' instead of repeating code.
27234         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help.
27235         (package--quick-help-keys): New variable.
27236         (package--prettify-quick-help-key): New function.
27237         (package-menu-quick-help): Use it.
27239         * lisp/emacs-lisp/package.el: Fix initially wrong compat table.
27240         (package--build-compatibility-table): Require finder.
27242         * test/automated/package-test.el: Fix new test.
27244         * lisp/emacs-lisp/package.el: Silence async operations.
27245         (package--silence): New variable.
27246         (package--message): New function.
27247         (package-import-keyring, package-refresh-contents)
27248         (package-compute-transaction, package-install, package-delete)
27249         (package-menu--perform-transaction, package-menu-execute): Use it.
27251         * test/automated/package-test.el: Test async functionality.
27252         (package-test-update-archives-async): New test.
27254 2015-04-11  Daiki Ueno  <ueno@gnu.org>
27256         Utilize `make-process' in epg.el
27257         * lisp/epg.el (epg-error-output): Abolish.
27258         (epg-context): New slot `error-buffer'.
27259         (epg--start): Use `make-process' and `make-pipe-process'.
27260         (epg--process-filter): Remove code separating stderr from stdout.
27261         (epg-wait-for-completion): Simplify `error-output' handling.
27262         (epg-reset): Dispose error buffer.
27264 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
27266         * .gitignore: Ignore doc temps and outputs.
27268         Port commit-msg to MSYS Bash+Gawk
27269         See Eli Zaretskii in:
27270         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
27271         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
27272         (cent_sign, print_at_sign, at_sign): Revert previous change.
27273         (print_at_sign): Prepend "BEGIN".
27274         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
27276         Port commit-msg to broken MS-Windows shell
27277         * build-aux/git-hooks/commit-msg (cent_sign):
27278         Just use UTF-8 here rather than ASCII + printf, as the latter fails
27279         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
27280         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
27282 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
27284         Support GnuTLS v3.4 and later on MS-Windows
27285         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
27286         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
27287         GnuTLS DLL to load according to value of libgnutls-version.
27288         (Bug#20294)
27290 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
27292         Minor quoting etc. fixes to misc manuals
27293         Fix some minor quoting and spacing issues.  Distinguish more
27294         clearly among grave accent and apostrophe (which are ASCII) and
27295         single quote (which is not).  Prefer the standard terms
27296         "apostrophe" and "grave accent" to alternative names that can be
27297         confusing.  Use apostrophes to single-quote ASCII text.
27298         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
27299         rather than approximating it in ASCII with grave accent.
27301 2015-04-11  Daiki Ueno  <ueno@gnu.org>
27303         Respect more keyword args in `make-process'
27304         * src/process.c (Fmake_process): Respect `:sentinel' and `:filter'
27305         keywords as documented.
27307 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
27309         Extract ChangeLog entries when committing a directory
27310         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
27311         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
27312         Add a FIXME comment.
27313         (log-edit-changelog-entries): Extract from
27314         `log-edit-changelog-entries', handle FILE being a directory
27315         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
27317 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
27319         Fix problems found by --enable-gcc-warnings
27320         * src/process.c (create_process, Fmake_pipe_process)
27321         (Fmake_network_process): Omit unused locals.
27323         Fix commit-msg to handle scissors lines
27324         * build-aux/git-hooks/commit-msg:
27325         Ignore every line after a scissors line, such as a line generated
27326         by 'git commit -v'.  Problem reported by Johan Bockgård in:
27327         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
27329         port commit-msg to Gawk 3.0.4 (1999)
27330         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
27331         (print_at_sign, at_sign): New vars.  Use them to avoid problems
27332         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
27333         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
27335         Have commit-msg report commit failure
27336         * build-aux/git-hooks/commit-msg: If the commit is aborted,
27337         say so.  Simplify by doing this at the end.  Problem reported
27338         by Eli Zaretskii in:
27339         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
27341 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27343         Clean up LDAP Configuration section of EUDC manual
27344         * doc/misc/eudc.texi: Combine indices.
27345         (LDAP Configuration): Use command markup.  Add index entries.
27346         Change formatting.  Wrap long lines.  Add noindent markup.
27348 2015-04-10  Daiki Ueno  <ueno@gnu.org>
27350         Add facility to collect stderr of async subprocess
27351         * src/w32.h (register_aux_fd): New function declaration.
27352         * src/w32.c (register_aux_fd): New function.
27353         * src/process.h (struct Lisp_Process): New member stderrproc.
27354         * src/process.c (PIPECONN_P): New macro.
27355         (PIPECONN1_P): New macro.
27356         (Fdelete_process, Fprocess_status, Fset_process_buffer)
27357         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
27358         (Fcontinue_process): Handle pipe process specially.
27359         (create_process): Respect p->stderrproc.
27360         (Fmake_pipe_process): New function.
27361         (Fmake_process): Add new keyword argument :stderr.
27362         (wait_reading_process_output): Specially handle a pipe process when
27363         it gets an EOF.
27364         (syms_of_process): Register Qpipe and Smake_pipe_process.
27365         * doc/lispref/processes.texi (Asynchronous Processes): Document
27366         `make-pipe-process' and `:stderr' keyword of `make-process'.
27367         * lisp/subr.el (start-process): Suggest to use `make-process' handle
27368         standard error separately.
27369         * test/automated/process-tests.el (process-test-stderr-buffer)
27370         (process-test-stderr-filter): New tests.
27371         * etc/NEWS: Mention new process type `pipe' and its usage with the
27372         `:stderr' keyword of `make-process'.
27374 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
27376         Minor quoting etc. fixes to lispref manual
27377         * doc/lispref/tips.texi (Documentation Tips):
27378         Distinguish more clearly among grave accent, apostrophe,
27379         and single quote.
27380         * doc/lispref/README, doc/lispref/buffers.texi:
27381         * doc/lispref/commands.texi, doc/lispref/control.texi:
27382         * doc/lispref/customize.texi, doc/lispref/display.texi:
27383         * doc/lispref/elisp.texi, doc/lispref/files.texi:
27384         * doc/lispref/frames.texi, doc/lispref/hash.texi:
27385         * doc/lispref/help.texi, doc/lispref/internals.texi:
27386         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
27387         * doc/lispref/markers.texi, doc/lispref/modes.texi:
27388         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
27389         * doc/lispref/os.texi, doc/lispref/positions.texi:
27390         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
27391         * doc/lispref/text.texi, doc/lispref/tips.texi:
27392         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
27393         Use American-style double quoting in ordinary text,
27394         and quote 'like this' when single-quoting in ASCII text.
27395         Also, fix some minor spacing issues.
27397 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
27399         Handle symlinked test directory in tramp-tests.el
27400         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
27401         (tramp--test-check-files): Use `file-truename' for directories.
27403 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
27405         Fix 'recenter' when visual-line-mode is turned on
27406         * src/window.c (Frecenter): Use the same code for GUI and TTY
27407         frames alike; use vmotion only for "initial" frames.  This is
27408         because vmotion doesn't support visual-line-mode.  Rewrite the
27409         'iarg >= 0' case to use move_it_* functions instead of using
27410         vmotion, for the same reason.  Fix the clipping of the argument
27411         value to support scroll-margin in all cases and avoid unwarranted
27412         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
27413         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
27414         which see.
27416 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
27418         * lisp/abbrev.el (define-abbrev-table): Refine last change.
27420         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
27421         use of c[ad]+r", so as to keep the "cl-" prefix on all
27422         cl-lib definitions.
27424         * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
27425         Use inhibit-point-motion-hooks.
27427         * lisp/cedet/semantic: Remove some dead code.
27428         * lisp/cedet/semantic/util-modes.el
27429         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
27430         any more.
27431         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
27432         not supported any more.
27433         (semantic-safe): Use `declare'.
27434         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
27435         (semantic-tag-intangible-p): Remove unused functions.
27436         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
27437         Remove unused function.
27439         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
27440         (gnus-article-hide-text, gnus-article-unhide-text)
27441         (gnus-article-unhide-text-type): Remove special handling of
27442         `intangible' since that property is not used any more.
27443         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
27445 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
27447         Use the VC root in `log-edit-listfun'
27448         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
27449         `log-edit-listfun'.
27451 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
27453         Fix description of Unix time, mention new function.
27454         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
27455         Unix time.
27456         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
27457         (Basic Operations on Units): Mention `calc-convert-exact-units'.
27459 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
27461         * lisp/emacs-lisp/package.el: Use mode-line-process for notification.
27463 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
27465         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
27466         Don't add newline after the last entry.
27468 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
27470         css-mode.el: Add "not" pseudo-class
27471         (Bug#20267)
27472         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
27473         list of CSS pseudo-classes.
27475 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
27477         * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var".
27479 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
27481         Stop messing with the EMACS env var
27482         * doc/emacs/misc.texi (Interactive Shell): Remove description of
27483         EMACS env var.
27485 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
27487         Adapt 'make change-history' to coding cookie
27488         * Makefile.in (change-history): Adjust to change of format of
27489         ChangeLog file, which now has a coding cookie before an indented
27490         copyright notice.
27492 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
27494         Adapt 'make change-history' to coding cookie
27495         * Makefile.in (change-history): Adjust to change of format of
27496         ChangeLog file, which now has a coding cookie before an indented
27497         copyright notice.
27499         gitlog-to-changelog coding cookie and mv -i
27500         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
27501         for copyright notice prototype, so that we get a proper "coding:"
27502         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
27503         existing ChangeLog.  Problems reported by Eli Zaretskii in:
27504         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
27506         Merge from gnulib
27507         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
27508         2015-04-09 gitlog-to-changelog: port to MS-Windows
27510 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
27512         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
27513         (Bug#20212)
27515 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
27517         Stop messing with the EMACS env var
27518         (Bug#20202)
27519         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
27520         * lisp/comint.el (comint-exec-1):
27521         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
27522         * lisp/progmodes/compile.el (compilation-start): Same and bring
27523         INSIDE_EMACS's format in line with other users.
27525         css-mode.el (css-smie-rules): Fix indentation after complex selectors
27526         (Bug#20282)
27527         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
27528         inner structure of selectors.
27530 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
27532         python.el: Indent docstring lines to base-indent
27533         (Bug#19595)
27534         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
27535         an initial patch.
27536         * lisp/progmodes/python.el
27537         (python-indent-context): Add :inside-docstring context.
27538         (python-indent--calculate-indentation): Handle :inside-docstring.
27539         (python-indent-region): Re-indent docstrings.
27540         * test/automated/python-tests.el (python-indent-region-5)
27541         (python-indent-inside-string-2): Fix tests.
27543         python.el: Increase native completion robustness
27544         (Bug#19755)
27545         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
27546         this and providing useful ideas.
27547         * lisp/progmodes/python.el
27548         (python-shell-completion-native-output-timeout): Increase value.
27549         (python-shell-completion-native-try-output-timeout): New var.
27550         (python-shell-completion-native-try): Use it.
27551         (python-shell-completion-native-setup): New readline setup avoids
27552         polluting current context, ensures output when no-completions are
27553         available and includes output end marker.
27554         (python-shell-completion-native-get-completions): Trigger with one
27555         tab only.  Call accept-process-output until output end is found or
27556         python-shell-completion-native-output-timeout is exceeded.
27558 2015-04-08  Samer Masterson  <samer@samertm.com>
27560         * lisp/eshell: Make backslash a no-op in front of normal chars
27561         (Bug#8531)
27562         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
27563         (eshell-parse-backslash): Return escaped character after backslash
27564         if it is special.  Otherwise, if the backslash is not in a quoted
27565         string, ignore the backslash and return the character after; if
27566         the backslash is in a quoted string, return the backslash and the
27567         character after.
27568         * test/automated/eshell.el (eshell-test/escape-nonspecial)
27569         (eshell-test/escape-nonspecial-unicode)
27570         (eshell-test/escape-nonspecial-quoted)
27571         (eshell-test/escape-special-quoted): Add tests for new
27572         `eshell-parse-backslash' behavior.
27574 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
27576         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
27577         after the file name.
27578         (Bug#20276)
27580 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
27582         Minor quoting etc. fixes to Emacs manual
27583         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
27584         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
27585         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
27586         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
27587         * doc/emacs/indent.texi, doc/emacs/macos.texi:
27588         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
27589         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
27590         * doc/emacs/search.texi, doc/emacs/trouble.texi:
27591         * doc/emacs/vc1-xtra.texi:
27592         Use American-style double quoting in ordinary text,
27593         and quote 'like this' when single-quoting in ASCII text.
27594         Also, fix some minor spacing issues.
27596         Minor quoting etc. fixes to elisp intro
27597         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
27598         American-style double quoting in ordinary text.  In ASCII text,
27599         consistently quote 'like this' instead of `like this', unless
27600         Emacs requires the latter.
27602 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
27604         * CONTRIBUTE: Mention log-edit-insert-changelog.
27606         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
27608 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
27610         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
27612 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
27614         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
27615         Fix inheritance of initargs.  (Bug#20270)
27617 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
27619         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
27620         while dowloading information.
27622         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
27623         (package--ensure-init-file): Check file contents before visiting.
27624         (package-initialize): Call it.
27625         (package-install-from-buffer, package-install): Don't call it.
27627 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
27629         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800.
27630         (Bug#17517)
27632 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
27634         * lisp/net/tramp-cache.el (tramp-flush-file-property):
27635         Fix nasty scoping bug.
27637 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
27639         Add notice to visual commands section
27640         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
27641         such as git call less with its -F option which omits pagination if
27642         the contents is less than one page long.  This interferes with
27643         eshell's visual (sub-)commands.
27645 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
27647         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
27648         environment variable expansion in file names.  (Bug#19839)
27650 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
27652         Prefer double-quote to accent-grave in man pages
27654 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
27656         (Bug#20257)
27657         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
27659 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
27661         Update etc/PROBLEMS.
27662         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
27663         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
27664         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
27665         respectively); other minor updates and tweaks.  (Bug#20011)
27667 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
27669         Add doc strings for some Isearch state vars
27670         * lisp/misearch.el (multi-isearch-buffer-list)
27671         (multi-isearch-file-list): Add doc strings.
27672         (Bug#20232)
27674 2015-04-07  Alan Mackenzie  <acm@muc.de>
27676         Always mark "<" and ">" in #include directives with text properties.
27677         * lisp/progmodes/cc-fonts.el (c-cpp-matchers): Replace a font-lock
27678         "anchored matcher" with an invocation of
27679         c-make-font-lock-search-function to allow fontification when there's
27680         no trailing space on an "#include <..>" line.
27682 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
27684         Generate a ChangeLog file from commit logs
27685         * .gitignore: Add 'ChangeLog'.
27686         * build-aux/gitlog-to-changelog: New file, from Gnulib.
27687         * build-aux/gitlog-to-emacslog: New file.
27688         * CONTRIBUTE: Document the revised workflow.
27689         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
27690         instead of just special cases.
27691         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
27692         (ChangeLog, unchanged-history-files, change-history)
27693         (change-history-commit): New rules.
27694         * admin/admin.el (make-manuals-dist--1):
27695         Don't worry about doc/ChangeLog.
27696         * admin/authors.el: Add a FIXME.
27697         * admin/make-tarball.txt:
27698         * lisp/calendar/icalendar.el:
27699         * lisp/gnus/deuglify.el:
27700         * lisp/obsolete/gulp.el:
27701         * lwlib/README:
27702         Adjust to renamed ChangeLog history files.
27703         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
27704         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
27705         Remove obsolete discussion of merging ChangeLog files.
27706         New section "Maintaining ChangeLog history".
27707         * build-aux/git-hooks/pre-commit:
27708         Reject attempts to commit files named 'ChangeLog'.
27709         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
27710         * make-dist: Make and distribute top-level ChangeLog if there's a
27711         .git directory.  Distribute the new ChangeLog history files
27712         instead of scattered ChangeLog files.  Distribute the new files
27713         gitlog-to-changelog and gitlog-to-emacslog.
27714         (Bug#19113)
27716         Rename ChangeLogs for gitlog-to-changelog
27717         This patch was implemented via the following shell commands:
27718         find * -name ChangeLog |
27719         sed 's,.*,git mv & &.1,
27720         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
27721         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
27722         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
27723         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
27724         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
27725         sh
27726         git commit -am"[this commit message]"
27728 This file records repository revisions from
27729 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
27730 commit 1af4493b1d487aa404e7ad72586971ebcb77afcb (inclusive).
27731 See ChangeLog.1 for earlier changes.
27733 ;; Local Variables:
27734 ;; coding: utf-8
27735 ;; End:
27737   Copyright (C) 2015-2016 Free Software Foundation, Inc.
27739   This file is part of GNU Emacs.
27741   GNU Emacs is free software: you can redistribute it and/or modify
27742   it under the terms of the GNU General Public License as published by
27743   the Free Software Foundation, either version 3 of the License, or
27744   (at your option) any later version.
27746   GNU Emacs is distributed in the hope that it will be useful,
27747   but WITHOUT ANY WARRANTY; without even the implied warranty of
27748   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27749   GNU General Public License for more details.
27751   You should have received a copy of the GNU General Public License
27752   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.