Allow setting frame pixel sizes from frame parameters (Bug#21415)
[emacs.git] / ChangeLog.2
blob9e04ab0e7a5b9a7e43a7a06a668415c3ca79ec6a
1 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
3         Handle an opaque-move X11 window manager operation more efficiently.
5         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
6         followed by more ConfigureNotify events for the same window, process
7         only the last one.
9 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11         Fix cursor setting for tip frame; re-enable cursor generation.
13         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
14         attributes sent when creating the new X window.  Don't skip setting
15         the pointerColor parameter.
17 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
19         Rewrite x_set_mouse_color to sync less.
21         We can track serial numbers of X requests and correlate error events
22         with the associated requests.  This way we can identify errors for
23         specific calls without having to use XSync after every one.
25         * src/xfns.c (enum mouse_cursor): New type.
26         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
27         (mouse_cursor_types): New array listing the Lisp variables and default
28         cursor appearances for each cursor type.
29         (x_set_mouse_color_handler): New function; checks error event serial
30         number against submitted requests.
31         (x_set_mouse_color): Updated to use the new error handler callback,
32         and to be more table-driven, to simplify repetitious code.
34 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
36         Add x_catch_errors_with_handler.
38         * src/xterm.c (struct x_error_message_stack): Add new fields for a
39         callback function and associated data pointer.
40         (x_error_catcher): If the callback function is set, call it after
41         saving the error message string.
42         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
43         accepts a callback function and data pointer.
44         (x_catch_errors): Now a wrapper function.
45         * src/xterm.h (x_special_error_handler): New typedef.
46         (x_catch_errors_with_handler): Declare.
48 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
50         Introduce x_uncatch_errors_after_check to reduce XSync calls.
52         Both x_had_errors_p and x_check_errors call XSync, so if they're
53         immediately followed by x_uncatch_errors, its XSync call will be
54         redundant, resulting in a wasted round trip to the X server.
56         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
57         x_uncatch_errors without the XSync call.
58         (XTmouse_position, x_wm_supports):
59         * src/xfns.c (x_set_mouse_color):
60         * src/xmenu.c (Fx_menu_bar_open_internal):
61         * src/xselect.c (x_own_selection, x_get_foreign_selection):
62         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
63         * src/xterm.h (x_uncatch_errors_after_check): Declare.
65 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
67         Document the optional prefix to `calc-yank'.
69         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
70         prefix to `calc-yank'.
71         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
72         the Calc buffer are yanked back unchanged.
74 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
76         * lisp/calendar/calendar.el: Display buffer before executing body.
78         In each use of this macro, the modeline is derived from a window width
79         calculation, which will be wrong if (display-buffer) splits the window
80         horizontally.
82 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84         Use ‘echo’ safely with ‘\’ or leading ‘-’
86         POSIX says that ‘echo FOO’ produces implementation-defined output
87         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
88         behavior in that case.
89         * Makefile.in (removenullpaths): Remove.
90         (epaths-force): Rewrite to avoid the need for ‘echo’.
91         (install-etc): Be clearer about escaping the shell metacharacters
92         ‘\’ and ‘$’.
93         * Makefile.in (install-arch-indep, install-etcdoc):
94         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
95         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
96         * configure.ac, lib-src/rcs2log, make-dist:
97         * src/Makefile.in (lisp.mk):
98         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
99         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
100         if $foo can contain arbitrary characters.
101         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
102         * doc/lispref/two-volume.make (vol1.pdf):
103         * test/etags/make-src/Makefile (web ftp publish):
104         Use ‘printf’ rather than ‘echo -e’.
106 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
108         Allow numbers with different radixes to be yanked.
110         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
111         default base 10.
113 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
115         Improve CHECK_IMPURE and PURE_P speedup
117         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
119 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
121         Use events instead of chars to keep track of steps.
123         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
124         to keep track of steps.
126 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
128         Fix --enable-gcc-warnings problem with older GCC
130         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
131         This is for building with --enable-gcc-warnings with
132         GCC 4.6 through 5.0.
134 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
136         Fix vertical-motion in truncated lines that end in a stretch
138         * src/indent.c (Fvertical_motion): Expect overshoot when point is
139         beyond window margin and lines are truncated, even if we have a
140         stretch at point.  (Bug#21468)
142 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
144         Avoid link-time errors due to inline functions
146         * src/emacs.c: Include puresize.h, to avoid link-time errors in
147         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
148         inline functions.
150 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
152         * src/data.c (Faset): Fix last change.
154 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
156         CHECK_IMPURE and PURE_P speedup
158         * src/intervals.c (create_root_interval):
159         Do CHECK_IMPURE only for strings; not needed for buffers.
160         Prefer ! STRINGP to BUFFERP, for a tad more speed.
161         * src/puresize.h (CHECK_IMPURE, PURE_P):
162         Now inline functions instead of macros.
163         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
164         All callers changed.
165         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
166         All callers changed.
168 2015-10-09  Noah Friedman  <friedman@splode.com>
170         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
172 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
174         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
176         our after-change-function, rather than re-adding it if it was removed.
178 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
180         * lisp/cedet/ede: Silence some compiler warnings
182         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
183         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
184         (ede-apply-object-keymap, ede-reset-all-buffers)
185         (ede-auto-add-to-target): Use dolist.
186         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
187         Use field names rather than initarg names in `oref'.
188         (ede-load-project-file): Remove unused var `file'.
189         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
190         (ede-set): Remove unused var `a'.
192         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
193         (ede-project-autoload): Avoid the old-style "name" argument.
194         (ede-emacs-find-matching-target): Use field names rather than initarg
195         names in `oref'.
197         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
198         (ede-linux-load, ede-project-autoload): Avoid the old-style "name" argument.
199         (ede-linux-find-matching-target): Use field names rather than initarg
200         names in `oref'.
202 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
204         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
206 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
208         * lisp/progmodes/prolog.el: Avoid indenting too much, after ":-"
210         (prolog-smie-rules): Try and avoid indenting too far after ":-".
212 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
214         Update case-table and categories of recently added characters
216         * lisp/international/characters.el: Update information about Latin
217         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
218         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
219         blocks.  (Byug#21654)
221 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
223         In adjust_frame_size don't count minibuffer height twice (Bug#21643)
225         * src/frame.c (adjust_frame_size): In minibuffer-only windows
226         don't count minibuffer height twice.  (Bug#21643)
228 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
230         Avoid inflooping in font-lock
232         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
233         inhibit-field-text-motion around the call to
234         line-beginning-position, to avoid inflooping.  (Bug#21615)
236 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
238         Refactor duplicated code; ensure default is in completions
240         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps): New function.
241         (reftex-extract-bib-entries): Use it.
242         (reftex-extract-bib-entries-from-thebibliography): Use it.
244 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
246         Typo in example
248         * autotype.texi (Skeletons as Abbrevs): "if" -> "ifst" in the example.
250 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
252         * lisp/calc/calc.el: Silence byte-compiler warnings
254         (calc-scan-for-dels): Use ignore-errors.
255         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
256         (calc-read-key-sequence): Remove unused var `prompt2'.
257         (calc-kill-stack-buffer): Remove unused var `buflist'.
258         (calc): Remove unused var `oldbuf'.
259         (calc-refresh): Use inhibit-read-only.
260         (calc-can-abbrev-vectors): Declare.
261         (calc-record): Remove unused var `mainbuf'.
262         (math-sub-bignum): Remove unused var `sum'.
263         (math-svo-c, math-svo-wid, math-svo-off): Declare.
265 2015-10-08  Daiki Ueno  <ueno@gnu.org>
267         Use g_clear_error instead of g_error_free
269         * src/image.c: Define g_clear_error instead of g_error_free.
270         (init_svg_functions): Resolve symbol g_clear_error instead of
271         g_error_free.
272         (svg_load_image): Use g_clear_error instead of g_error_free, to
273         suppress GLib warnings when ERR is not set.  See bug#21641.
275 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
277         * src/image.c (image_size_error): Simplify.
279 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
281         Fix problems caught with --enable-gcc-warnings
283         * src/image.c (lookup_rgb_color):
284         * src/xfns.c (x_defined_color):
285         * src/xterm.c (x_parse_color):
286         Remove unused locals.
288 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
290         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
292 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
294         Format initial input uniformly.
296         * lisp/calc/calc.el (calc-digit-start-entry): New function.
297         * lisp/calc/calc.el (calcDigit-start):
298         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
299         Use `calc-digit-start-entry' to format input.
301 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
303         Disable non-working pointerColor setting for X tooltip frame.
305         It generates a bunch of server traffic, but there's some bug wherein
306         the new mouse cursor settings don't seem to get used.  In most
307         situations the cursor isn't likely to be seen anyway, so it's not
308         urgent to fix.
310         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
312 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
314         Reduce some unnecessary X calls.
316         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
317         call.  If border width is wanted, get it from the XGetGeometry call
318         instead of calling XGetWindowAttributes on the same window.  Skip some
319         X calls if we've already detected an error from the X server.
320         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
321         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
323 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
325         Reduce color allocation/query traffic in the TrueColor case.
327         When working with an X visual with TrueColor class, pixel values can
328         be generated from the RGB values according to mask value provided by
329         the server on connection.  Some of the image-handling code was already
330         doing this.
332         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
333         lookup_rgb_color.
334         (x_mutable_colormap): New function.
335         * src/image.c (lookup_rgb_color): Move pixel composition code to
336         x_make_truecolor_pixel.
337         (x_kill_gs_process): Call x_mutable_colormap.
338         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
339         x_mutable_colormap.
340         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
341         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
342         pixel value into RGB values directly, and don't send a request to the
343         server.
344         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
345         value with x_make_truecolor_pixel.
346         (x_copy_color): For an immutable color map, just return the provided
347         pixel value.
349 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
351         Cache XParseColor results in the X display info structure.
353         With repeated lookups of foreground and background colors for multiple
354         faces per frame, we issue a lot of redundant color name lookups to the
355         X server, waiting every time for the response.  On a remote network
356         with, say, 30ms round-trip time, this can add nearly a full second to
357         creation of a new frame.
359         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
360         * src/image.c (get_spec_bg_or_alpha_as_argb):
361         (xpm_init_color_cache, xpm_lookup_color):
362         * src/xfns.c (x_defined_color):
363         * src/xterm.c (x_parse_color): New function; caches color names not
364         starting with "#" in the display-info structure.
365         (x_delete_display): Delete the cache content.
366         * src/xterm.h (struct color_name_cache_entry): New type.
367         (x_parse_color): Declare.
368         (struct x_display_info): Add a new field for the cache.
370 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
372         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local
374 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
376         Fix segfault in image_size_error
378         * src/image.c (image_size_error): Pass a Lisp string to
379         image_error, not a C string.  (Bug#21641)
381 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
383         Highlight CSS variable definitions
385         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
386         CSS variables.  (Bug#21638)
388 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
390         * test/automated/tabulated-list-test.el: New file
392         Test bug#21639 and some basic functionality.
394 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
396         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
398         Check if column can be sorted before trying.  (Bug#21639)
400 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
402         Add test for `self-insert-command' (bug#21633)
404         * test/automated/cmds-tests.el: New file.
406 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
408         In resize_frame_windows don't set a top position when resizing horizontally.
410         * src/window.c (resize_frame_windows): Don't set root window's
411         top position when resizing horizontally.
413 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
415         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
417         Document more possible values.
419 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
421         * lisp/textmodes/tex-mode.el: Use lexical-binding
423 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
425         * lisp/indent.el (indent--default-inside-comment): New function
427         (indent-for-tab-command): Use it for `noindent' indentation.
429 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
431         Fix bug in GC_CHECK_MARKED_OBJECTS check
433         * src/alloc.c (mark_object): Fix bug in checking code.
434         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
435         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
436         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
437         bucket.  The bug did not affect behavior either in the normal case
438         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
439         not have an internal error that a properly-written
440         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
442 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
444         Add prettified version of \\Bbb{Q}.
446         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add
447         prettified version for \\Bbb{Q}.
449 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
451         * test/automated/package-test.el (package-test-install-single):
453         Add a test for bug#21625.
455 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
457         lisp/emacs-lisp/package.el (package-install): Fix name error
459         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
460           not a package-desc object.  Also clarify documentation.  (Bug#21625)
462 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
464         Fix display of characters adjacent to ZWJ and ZWNJ
466         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
467         characters the same as directional formatting controls.
468         (bidi_level_of_next_char): Include all Bn characters in rule L1,
469         as mandated by the UBA.
471 2015-10-06  Andreas Schwab  <schwab@suse.de>
473         Don't use XFASTINT on a negative number
475         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
476         number.  (Bug#21633)
478 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
480         * doc/lispref/objects.texi (Window Type): Add a cross reference.
482         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
484 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
486         Fix composition-function-table for Arabic and Syriac
488         * lisp/language/misc-lang.el (composition-function-table): Fix
489         entries for Arabic and Syriac.
491 2015-10-05  Damien Cassou  <damien@cassou.me>
493         Add first unit tests for auth-source.el
495         * test/automated/auth-source-tests.el: New file.
497 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
499         Remove redundant redisplay code
501         * src/xdisp.c (redisplay_internal, try_cursor_movement)
502         (try_window_reusing_current_matrix, try_window_id): Remove
503         redundant restrictions on redisplay optimizations based on the
504         frame's 'redisplay' flag.  See
505         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
506         discussions.
508 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
510         * src/xdisp.c (windows_or_buffers_changed): Improve docstring
512 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
514         Update tutorials/TUTORIAL.cn
516         * etc/tutorials/TUTORIAL.cn: Improve translation.
518 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
520         * src/macfont.m (macfont_encode_char, syms_of_macfont): Remove unused vars.
522 2015-10-04  Stefan Merten  <stefan@merten-home.de>
524         Pull in version numbers from rst.el upstream release.
526                 * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
527                 (rst-svn-timestamp, rst-official-version)
528                 (rst-official-cvs-rev, rst-package-emacs-version-alist):
529                 Update version numbers.
531 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
533         * test/automated/coding-tests.el: New file.
535 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
537         Improve XEmacs compatibility of Tramp
539         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
540         Declare if it doesn't exist.
541         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
542         (redisplay): Make it an alias if it doesn't exist.
544         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
545         `file-remote-p' (due to XEmacs compatibility).
547         * lisp/net/trampver.el (locate-dominating-file)
548         (tramp-compat-replace-regexp-in-string): Autoload.
549         (tramp-repository-get-version): Do not dupe byte-compiler.
551 2015-09-02  K. Handa  <handa@gnu.org>
553         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
555         * ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
556         Adjusted for the change of type of elements in the array
557         MFLTGlyphString.glyphs.
559 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
560             Michael Heerdegen  <michael_heerdegen@web.de>
562         shr: fix too long lines in rendered buffers (Bug#21012)
564         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
565         Correct calculation of available width.
566         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
567         is nil.
569 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
571         Restore blank line before next section, erroneously erased in my previous commit
573         * etc/compilation.txt (symbol ant): add an additional trailing blank line to this section, so that there are two of them immediately before the next section
575 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
577         Support MSW filename style for ant compilation error regexp
579         * etc/compilation.txt (symbol ant):
580         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Support MSW filename style
582 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
584         * nt/INSTALL: Minor spelling and quote fixes.
586         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
588 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
590         Maintain ordering of JSON object keys by default
592         * lisp/json.el (json-object-type): Mention order handling in doc-string.
593         (json--plist-reverse): New utility function.
594         (json-read-object): Maintain ordering for alists and plists.
595         (json-pretty-print): Ensure that ordering is maintained.
597         * test/automated/json-tests.el (test-json-plist-reverse): New test for
598         `json--plist-reverse'.
599         (json-read-simple-alist): Update test to accommodate for changes in
600         `json-read-object'.
602         * etc/NEWS: Document the new behavior of the pretty printing functions.
604 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
606                 * src/coding.c (complement_process_encoding_system): Revert last
607                 change.
609 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
611         Add entry for Ulf Jasper.
613 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
615         Doc fix for `defmacro'
617         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
619 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
621         More validatation of coding systems
623         * src/fileio.c (Finsert_file_contents): Remove redundant
624         coding-system check.
625         (choose_write_coding_system): Likewise.
626         * src/coding.c (complement_process_encoding_system): Check
627         argument for valid coding system.
629 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
631         Avoid crashes in coding_inherit_eol_type
633         * src/coding.c (coding_inherit_eol_type): Check the validity of
634         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
635         (Bug#21602)
637 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
639         More validatation of coding system in 'write-region'
641         * src/coding.c (choose_write_coding_system): More validation of
642         coding-system from various sources.  Suggested by Andreas Schwab
643         <schwab@linux-m68k.org>.  (Bug#21602)
645 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
647         Avoid crashes due to invalid coding-system
649         * src/fileio.c (choose_write_coding_system)
650         (Finsert_file_contents): Check validity of coding-system-for-write
651         and coding-system-for-read bound by the caller.  (Bug#21602)
653 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
655         Adapt to new prettify-symbols-unprettify-at-point default
657         * etc/NEWS: Mention that unprettication of symbol at point is off by
658         default.
660 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
662         Revert my two recent process.c changes
664         Revert "Improve last commit to process.c" and "Remove callback-handled
665         channels from Available set" because they did not fix bug#21313.
667         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
668         27f871907cc24f33a7d12ac3a4ab71a88f0bc554..
670 2015-10-02  Markus Triska  <triska@metalevel.at>
672         * prolog.el: Update and extend operator table
674         (prolog-smie-grammar): Add multifile, public etc.
676 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
678         Allow autogen even when Git is not installed
680         * autogen.sh: Test ‘git status’ before trying to use Git.
682 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
684         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes
686         Adjust lto/lfrom when we have uncommitted changes.
688 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
690         Fix problems found by clang 3.5.0
692         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
693         * src/font.c (font_parse_family_registry):
694         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
696 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
698         * nt/INSTALL: Update instructions for running autogen.sh
700         * nt/INSTALL: Point to ezwinports for libXpm binaries.
702 2015-10-02  Daniel Colascione  <dancol@dancol.org>
704         Fix winner in cl-lib not loaded case
706         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
707         without requiring CL
709 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
711         Fix a few problems with directed quotes
713         This is in response to a problem report by Kaushal Modi in:
714         http://bugs.gnu.org/21588#25
715         * lisp/cedet/mode-local.el (describe-mode-local-overload):
716         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
717         * lisp/info-xref.el (info-xref-check-all-custom):
718         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
719         Prefer directed to undirected single quotes in diagnostics.
721 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
723         Revert "Attempt to fix slow redisplay caused by last changes"
725         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
726         (try_cursor_movement): Don't relax requirements for redisplay
727         optimizations for the selected frame.  (Bug#21597)
729         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
731 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
733         Fix slow redisplay when daemon frame exists
735         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
736         when looking for frames that need to be redisplayed.  (Bug#21597)
738 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
740         Attempt to fix slow redisplay caused by last changes
742         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
743         (try_cursor_movement): Relax requirements for redisplay
744         optimizations for the selected frame.  (Bug#21597)
746 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
748         Improve doc strings in dired.c
750         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
751         Improve doc string.
753 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
755         Set default base-size in minibuffer-completion-help
757         * lisp/minibuffer.el (minibuffer-completion-help): Set default base-size,
758         in case completion table does not set it.
760 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
762         Fix GUD display of GDB output with non-ASCII text
764         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
765         (gdb-mi-decode): New function.
766         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
767         decode octal escapes in GDB output.  (Bug#21572)
769 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
771         * nt/INSTALL: Document where to find XPM support files
773 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
775         Un- and re-prettification are not exclusive
777         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
778         Re-apply prettification to previous symbol also when unprettifying next
779         one.
781 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
783         Don't unprettify symbol at point by default
785         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
786         Default to disabled (nil).
788 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
790         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
792         Support unprettifying when point is after a symbol.
794         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'
796 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
798         Avoid assertion violations in push_prefix_prop
800         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
801         a line that has a line-prefix defined starts with an image.  (Bug#21428)
803 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
805         Disable some display optimizations when frames need redisplay
807         These optimizations were previously disabled by the
808         windows_or_buffers_changed flag, which now is not set
809         when only some frames need to be redrawn.
810         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
811         'redisplay' flag is set.
812         (try_window_reusing_current_matrix, try_window_id)
813         (try_cursor_movement): Disable these optimizations when the
814         frame's 'redisplay' flag is set.
816 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
818         Don't modify buffer by unprettification
820         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
821         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
822         modify buffer when setting/removing custom prettify-symbols-start/end
823         text properties.  Add them to font-lock-extra-managed-props, too.
825 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
827         Try to avoid redisplaying all frames when creating a new one
829         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
830         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
831         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
832         * src/frame.c (x_set_screen_gamma): Set the specific frame's
833         `redisplay' bit rather than windows_or_buffers_changed.
835         * src/window.c (apply_window_adjustment): Remove redundant setting of
836         windows_or_buffers_changed.
838         * src/xdisp.c (redisplay_internal): Set the specific frame's
839         `redisplay' bit rather than update_mode_lines in response to
840         cursor_type_changed.
841         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
842         (AINC): Adjust accordingly.
844 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
846         Implement unprettification of symbol at point
848         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
849         symbol at point.
850         (prettify-symbols--current-symbol-bounds): New variable.
851         (prettify-symbols--post-command-hook): New function.
852         (prettify-symbols-unprettify-at-point): New defcustom.
853         (prettify-symbols-mode): Use it.
854         (prettify-symbols--compose-symbol): Use them.
856 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
858         * src/macfont.m (mac_font_descriptor_supports_languages): Regard "zh" as synonym of "zh-Hans".
860 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
862         Work around crash when displaying etc/HELLO on OS X 10.11
864         * src/macfont.m (mac_font_get_weight)
865         (mac_font_descriptor_get_adjusted_weight): New functions.
866         (macfont_store_descriptor_attributes): Adjust weight.
868 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
870         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
872 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
874         * lisp/arc-mode.el (archive-rar-summarize): Better alignment of the columns.
876 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
878         Use unar and lsar to handle RAR archives in arc-mode
880         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
881         on unar and lsar instead of unrar-free for RAR archives (Bug#17663).
883 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
885         Clarify :create in auth-source's docs
887         * auth-source.el (auth-source-search): Clarify :create's meaning.
889 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
891         Avoid empty -path arguments in rgrep
893         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
894         the list produced according to grep-find-ignored-directories,
895         before passing it to Find/Grep invocation.  (Bug#21548)
897 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
899         Clarify documentation of pos-visible-in-window-p
901         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
902         t for POS.  See
903         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
904         for the original report.
906         * doc/lispref/windows.texi (Window Start and End): Clarify the
907         meaning of t for the POSITION argument of pos-visible-in-window-p.
909 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
911         * lisp/progmodes/prolog.el: Fix various indentation cases
913         (prolog-operator-chars): New const (add \\).
914         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
915         (prolog-smie-rules): Add rules according to bug#21526.
917 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
919         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent
921         (sh-indent-after-continuation): Add new value `always' (bug#17620)
922         (sh-smie-sh-rules): Remove old handling of continued lines.
923         (sh-smie--indent-continuation): New function.
924         (sh-set-shell): Use it.
926 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
928         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun
930         Remove redundant :group keyword args.
931         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
932         Remove variables.
933         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
934         turn them into compile-time variables.
935         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
936         Add rules for break, continue, return, global, and persistent.
937         Refine the rule for "until".
938         (octave-smie--funcall-p, octave-smie--end-index-p)
939         (octave-smie--in-parens-p): New functions.
940         (octave-smie-backward-token, octave-smie-forward-token): Use them to
941         distinguish the "enumeration" function and the "end" index from
942         their corresponding keywords.
943         (octave--block-offset-keywords): New constant.
944         (octave-smie-rules): Use it.  Adjust rules for new global/persistent parsing.
945         (octave-reserved-words): Redefine using octave-smie-grammar.
946         (octave-font-lock-keywords): Use octave-smie--funcall-p and
947         octave-smie--end-index-p.
949 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
951         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*
953 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
955         nt/INSTALL: Remove references to GTK site
957         That site no longer offers Windows downloads.
959 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
961         * nt/INSTALL: Add instructions for installing Git.
963 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
965         * net/shr.el (shr-colorize-region): Allow 88-color tty to use colors.
966         Suggested by Eli Zaretskii.
968 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
970         * net/shr.el (shr-colorize-region):
971         Don't do it on a system not supporting 256 above colors (bug#21557).
973 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
975         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
977         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
979 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
981         Add documentation for seq.el
983         * doc/lispref/sequences.texi: Add documentation regarding extending
984         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
985         seq-do and seq-map.
987 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
989         Better documentation for seq-some
991         * doc/lispref/sequences.texi:
992         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
993         guarantee that the returned value is the first non-nil value that
994         resulted from applying the predicate.
996 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
998         * lisp/arc-mode.el: Sharp-quote function arguments.
1000 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
1002         Avoid redisplay error in ediff-regions-wordwise
1004         * lisp/vc/ediff-util.el
1005         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
1006         set before activating it.  (Bug#21567)
1008 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
1010         Another attempt to fix crashes due to prematurely freed faces
1012         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
1013         faces for as long as we might have desired matrices that reference
1014         those faces.  (Bug#21428)
1016 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
1018         Add auctex development list email address
1020 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
1022         Add admin/MAINTAINERS entries
1024         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
1026 2015-09-28  (tiny change) Arash Esbati  <esbati@gmx.de>  (tiny change)
1028         Improve wrapfig package support and caption parsing
1030         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin): Correct
1031         description string and add wraptable environment.
1032         (reftex-default-context-regexps): Improve caption regexp.
1034 2015-09-28  Anders Lindgren  <andlind@gmail.com>
1036         Respect value of frame_resize_pixelwise when handling fullscreen state.
1038         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
1039         setting size increments.
1041 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
1043         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
1045 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
1047         Add prettify-symbols-alist for js-mode
1049         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
1050         (js-mode): Use it.
1052 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
1054         * nt/subdirs.el: File deleted (no longer used).
1056 2015-09-26  Alan Mackenzie  <acm@muc.de>
1058         Fix follow-scroll-up/down, making them replacements for scroll-up/down.
1060         1. Allow point to move between follow windows in scroll operations.
1061         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
1062         when EOB was isolated in the last follow window.
1064         lisp/follow.el (follow-fixed-window): New variable.
1065         (follow-get-scrolled-point): New function.
1066         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
1067         Reformulate
1068         the code.  Put `scroll-command' properties on the functions.  Correct
1069         minor errors in ...-down's doc string and code.
1070         (follow-calc-win-end): Amend incomplete doc string.  Use
1071         `pos-visible-in-window-p' to check whether EOB is in the window.
1072         (follow-estimate-first-window-start): Correct an off-by-1 error.
1073         (follow-adjust-window): Add handling for explicit scrolling operations.
1075 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1077         * admin/MAINTAINERS: Add self, plus list some more files sans maintaners.
1079 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
1081         New DWIM commands for changing letter-case
1083         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
1084         New functions.  (Bug#21501)
1086 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
1088         * etc/PROBLEMS: Document problems with pasting on MS-Windows
1090 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
1092         Make face realization be more frame-specific
1094         * src/frame.h (struct f): New flag face_change.
1095         * src/xfaces.c (Finternal_make_lisp_face)
1096         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
1097         (update_face_from_frame_parameter): Set the face_change flag only
1098         for the frame whose faces are affected.
1099         * src/xdisp.c (init_iterator): If a frame's face_change flag is
1100         set, free faces only on that frame.
1101         (redisplay_internal): Disable "display optimization 1" if the
1102         frame's face_change flag is set.
1103         (redisplay_window): Don't allow skipping a window's redisplay if
1104         its frame's face_change flag is set.
1105         * src/frame.c (x_set_screen_gamma): Instead of calling
1106         Fclear_face_cache, call clear_face_cache and set
1107         windows_or_buffers_changed to a non-zero value.  This avoids
1108         setting the global face_change flag that triggers face realization
1109         on all frames and thorough redisplay of all of them.
1111         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
1112         clear face cache if the selected frame is a GUI frame.
1114 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
1116         Remove font-latex specific check
1118         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Use
1119         syntax-ppss data to identify verbatim contents.
1121 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
1123         Fix false negatives in tex--prettify-symbols-compose-p.
1125         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Fix some
1126         false negatives.
1128 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
1130         Reorder Windows version in Emacs manifests
1132         * nt/emacs-x64.manifest:
1133         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
1134         highest.
1136 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
1138         Update Emacs manifest files for Windows 10
1140         * nt/emacs-x86.manifest:
1141         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
1143 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
1145         Avoid non-ASCII decoding errors in C src files
1147         * src/nsterm.m:
1148         * src/lisp.h:
1149         * src/editfns.c:
1150         * src/doprnt.c: Add 'coding' cookies -- these files include
1151         Unicode characters and should be decoded as UTF-8.
1153 2015-09-25  Alan Mackenzie  <acm@muc.de>
1155         Resurrect edebug-set-initial-mode, repurposing it to set the global mode.
1157         lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
1158         amend to match current modes and functions.
1159         (edebug-set-initial-mode): Uncomment and change from setting a defun's
1160         `edebug-initial-mode''s property to setting the variable
1161         `edebug-initial-mode'.
1162         (top level): Create new binding C-x C-a C-m for
1163         `edebug-set-initial-mode'.
1165         doc/lispref/edebug.texi (Edebug Execution Modes): document
1166         `edebug-set-initial-mode' and its new key binding.
1167         (Edebug Options): Mention the new command in the pertinent place.
1169         etc/NEWS: Write entry for this change.
1171 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
1173         Avoid non-ASCII decoding errors in Texinfo files
1175         * doc/misc/tramp.texi:
1176         * doc/lispref/strings.texi:
1177         * doc/lispref/positions.texi:
1178         * doc/lispref/help.texi:
1179         * doc/lispref/functions.texi:
1180         * doc/lispintro/emacs-lisp-intro.texi:
1181         * doc/emacs/text.texi:
1182         * doc/emacs/modes.texi:
1183         * doc/emacs/mini.texi:
1184         * doc/emacs/display.texi:
1185         * doc/emacs/custom.texi:
1186         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
1187         Unicode characters and should be decoded as UTF-8.
1188         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
1189         apostrophe unnecessarily.
1191 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
1193         Merge from gnulib
1195         This incorporates:
1196         2015-09-25 c-ctype: rewrite to use inline functions
1197         2015-09-24 maint: add coding cookies to non-ASCII sources
1198         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
1199         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
1200         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
1201         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
1202         * lib/set-permissions.c:
1203         Copy from gnulib.
1205 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
1207         Update publicsuffix.txt from upstream
1209         * etc/publicsuffix.txt: Update from
1210         https://publicsuffix.org/list/effective_tld_names.dat
1211         dated 2015-09-24 17:29:21 UTC.
1213 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
1215         Prevent timers from messing up TTY menus
1217         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
1218         the TTY menu is open.  (Bug#21530)
1220 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
1222         No need to mention K&R C in c-mode intro
1224 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1226         Fix recent bootstrap problems
1228         * src/syntax.c (parse_sexp_propertize): Fix last fix.
1229         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
1230         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
1232 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
1234         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
1236 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
1238         Properly quote nested xml comments (Bug#6267) (Bug#20001)
1240         * nxml-mode.el (nxml-comment-quote-nested): New function
1241         (nxml-mode): Set comment-quote-nested-function
1243 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
1245         Allow major-modes full control over quoting nested comments
1247         * newcomment.el (comment-quote-nested-function): New variable.
1248         (comment-quote-nested-default): New function.
1249         (comment-quote-nested): Use `comment-quote-nested-function'.
1251 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
1253         Prefer CALLN in a few more places
1255         * src/macfont.m (macfont_set_family_cache):
1256         * src/nsterm.m (append2):
1257         * src/xterm.c (x_cr_export_frames):
1258         Prefer CALLN to allocating the arg arrays by hand.
1260 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
1262         Adapt file-notify-test02-events test case
1264         * test/automated/file-notify-tests.el (file-notify-test02-events):
1265         Create a new watch for every test.
1267 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
1269         Continue gfilenotify.c implementation of missing parts
1271         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
1272         `gfile-add-watch' call.
1273         (file-notify-rm-watch): Modify `file-notify-descriptors' only
1274         after calling the low level functions.
1276         * src/gfilenotify.c (dir_monitor_callback): Check, whether
1277         event_type is expected.
1278         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
1279         (Fgfile_rm_watch): Fix typo.
1280         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
1282 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1284         * src/syntax.c: Handle spurious e_property_truncated flag
1286         * src/syntax.c (parse_sexp_propertize): Handle spurious
1287         e_property_truncated flag.
1288         (update_syntax_table_forward): Remove invalid assertion.
1290 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
1292         Support ':relative-width' space display spec on text-mode terminals
1294         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
1295         space display spec on text-mode terminals, by calling
1296         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the HAVE_WINDOW_SYSTEM
1297         guards from the supporting code, as well as the test for a GUI frame.
1299 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
1301         Move let-when-compile to lisp-mode.el
1303         This fixes the bootstrapping problem of `let-when-compile' using
1304         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
1306 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
1308         Do not include authorization header in an HTTP redirect
1310         * lisp/url/url-http.el (url-http-parse-headers): Do not
1311         automatically include Authorization header in redirect.
1312         (Bug#21350)
1314 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
1316         Clarify documentation of ':relative-width'
1318         * doc/lispref/display.texi (Specified Space): Document that
1319         ':relative-width' is only supported on GUI frames.
1321 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
1323         Fix 'current-column' in presence of :relative-width
1325         * src/indent.c (check_display_width): Support ':relative-width'
1326         in a display spec that specifies a stretch glyph.  (Bug#21533)
1328 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
1330         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
1332         ... to conform better to CONTRIBUTE guidelines.
1334 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
1336         * prolog.el: Fix indentation of empty line
1338         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
1339         `empty-line-token' element.
1340         (smie-indent-empty-line): New function.
1341         (smie-indent-functions): Add it.
1343         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro behavior
1344         and use the new `empty-line-token' element (bug#21526).
1345         (prolog-mode-variables): Fix comment-start-skip setting to match
1346         comment-start.
1348         * test/indent/prolog.prolog: Add nested indentation tests.
1350         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
1351         comment-start-skip not to misuse submatch 1.
1353 2015-09-22  Alan Mackenzie  <acm@muc.de>
1355         Make description of `edebug-initial-mode' user friendly.
1357         Fixes debbugs#21365.
1359         dec/lispref/edebug.texi (Edebug Execution Modes): Change the
1360         desscription
1361         of `edebug-initial-mode' from that of its implementation to that of its
1362         visual effect and use.  Move the paragraph higher up.
1364 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
1366         lisp/progmodes/gud.el (gud-format-command): Fix last commit
1368         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
1369         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
1371 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
1373         Improve last commit to process.c
1375 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
1377         Implement gfile-valid-p
1379         * lisp/filenotify.el (file-notify-callback): Fix typo.
1380         (gfile-valid-p): Remove defalias.
1382         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
1383         the file or directory to be watched is deleted.
1384         (Fgfile_add_watch): Make watch_object a triple.
1385         (Fgfile_rm_watch): Check, whether watch is cancelled already.
1386         (Fgfile_valid_p): New defun.
1387         (syms_of_gfilenotify): Declare Sgfile_valid_p.
1389 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
1391         Remove callback-handled channels from Available set
1393         * src/process.c (wait_reading_process_output): Remove channel from
1394         Available set if it is handled by a callback, e.g., dbus or
1395         inotify (bug#21313).
1397 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
1399         Use lunate epsilon for TeX \epsilon
1401         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add
1402         \varepsilon using GREEK SMALL LETTER EPSILON, and change \epsilon to use
1403         GREEK LUNATE EPSILON SYMBOL
1405 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1407         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
1409         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
1410         rather than outermost paren (bug#21526).
1412 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
1414         Improve git diff hunk headers for .el, .texi
1416         Problem reported by Alan Mackenzie in:
1417         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
1418         * .gitattributes (*.el, *.texi): New patterns.
1419         * autogen.sh: Configure diff.elisp.xfuncname and
1420         diff.texinfo.xfuncname if using Git.
1422 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
1424         Don't rely on defaults in decoding UTF-8 encoded Lisp files
1426         * lisp/replace.el:
1427         * lisp/textmodes/rst.el:
1428         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
1430 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
1432         Clarify or replace a few \u escapes.
1434         * doc/lispref/nonascii.texi (Character Properties)
1435         More-detailed commentary for \u escapes.
1436         * lisp/progmodes/python.el (python--prettify-symbols-alist):
1437         * lisp/replace.el (query-replace-from-to-separator):
1438         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
1439         (rst-mode-syntax-table):
1440         * lisp/whitespace.el (whitespace-display-mappings):
1441         Prefer actual character to \u escape when this makes the code
1442         easier to follow in the usual case where Unicode chars can be
1443         displayed.
1445 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
1447         Pacify GCC -Wmaybe-uninitialized in xdisp.c
1449         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
1450         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
1451         charpos.  The loop should always execute at least once anyway.
1453 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
1455         Signal error on invalid regexp
1457         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries): Signal an
1458         error when the user tries searching with a regexp matching the empty
1459         string.
1461 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
1463         Another fix of file-notify-tests for w32notify
1465         * test/automated/file-notify-tests.el (file-notify-test02-events):
1466         Further adaptation for w32notify: reduce the number of expected
1467         'changed' events.  (Bug#21435)
1469 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
1471         Adapt tests and manual for w32notify
1473         * doc/lispref/os.texi (File Notifications): w32notify does not
1474         send `attribute-changed' events.
1476         * test/automated/file-notify-tests.el (file-notify--test-with-events):
1477         Simplify parameters.  Adapt all callees.
1478         (file-notify-test02-events): w32notify does not send
1479         `attribute-changed' events.
1480         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
1481         Do not skip in case of w32notify.  Simply ignore this part of the test.
1483 2015-09-21  Dima Kogan  <dima@secretsauce.net>
1485         Fix setting breakpoints when remote-debugging
1487         * lisp/progmodes/gud.el (gud-format-command): Send localized file
1488         names to the debugger running on the remote.  (Bug#13304)
1490 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
1492         Better docstring and parameter name for seq-find
1494         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
1495         the parameter `sentinel' to `default'.
1497         * doc/lispref/sequences.texi (Sequence Functions): Update the
1498           documentation for `seq-find' accordingly.
1500 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
1502         Avoid infinite recursion while displaying box face
1504         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
1505         the previous string/buffer character position under bidi
1506         iteration.  (Bug#21428)
1508 2015-09-21  Anders Lindgren  <andlind@gmail.com>
1510         Keep upper edge unchanged when changing size of NS frame (Bug#21415)
1512         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
1513         (Bug#21415).
1515 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
1517         Subject: * lisp/progmodes/prolog.el: Improve handling of if/then/else
1519         (prolog-smie-rules): Accomodate standard if/then/else special indentation.
1520         (prolog-mode): Add . to electric-indent-chars.
1521         (prolog-electric--if-then-else): Re-indent the line before adding space
1522         after the new char (bug#21526).
1524 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
1526         Add prettify symbols to python-mode
1528         lisp/progmodes/python.el (python-prettify-symbols-alist): New variable
1529         lisp/progmodes/python.el (python-mode): Use it
1531 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
1533         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete
1535 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
1537         (compilation-error-regexp-alist-alist): Tone down guile-file
1539         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
1540         Make guile-file a bit less enthusiastic (bug#21496).
1542 2015-09-20  Drew Csillag  <drew@thecsillags.com>
1544         * m4-mode.el (m4-font-lock-keywords): Fix m4_* highlighting
1546         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
1547         of commands when they have a "m4_" prefix.
1549 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
1551         '.' -> `.' in doc string
1553         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
1554         individual chars with grave quotes instead of straight quotes, as
1555         this works better when they are translated to curved quotes.
1557 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
1559         Improve file notifications, especially for Tramp
1561         * doc/lispref/files.texi (Magic File Names):
1562         Mention `file-notify-valid-p'.
1564         * doc/lispref/os.texi (File Notifications):
1565         Describe `file-notify-valid-p'.
1567         * etc/NEWS: Add `file-notify-valid-p'.
1569         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
1570         Improve implementation.
1571         (tramp-gvfs-monitor-file-process-filter): Rename from
1572         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
1573         process if appropriate.
1575         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
1576         Improve implementation.
1577         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
1578         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
1579         if appropriate.
1580         (tramp-sh-inotifywait-process-filter): Rename from
1581         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
1582         appropriate.
1584         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
1585         Use `delete-process'
1586         (tramp-handle-file-notify-valid-p): Check also, that file or
1587         directory to be watched still exists.
1589         * test/automated/file-notify-tests.el (file-notify--test-timeout):
1590         New defun.  Use it at all places a timeout is needed.
1591         (file-notify--test-cleanup): Delete directories recursively.
1592         Cleanup also Tramp connections.
1593         (file-notify-test02-events): Add tests for `attribute-change'.
1594         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
1595         Add tests for `file-notify-rm-watch'.
1597 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
1599         Use %s to format strings instead of splicing them
1601         If FOO might contain quotes that are part of a file or variable
1602         name, the quotes should not be translated when showing FOO’s name
1603         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
1604         is not quite right, as it would translate FOO’s quotes.
1605         Change it to (message "%s: bar" FOO) instead.
1606         * lisp/allout.el (allout-process-exposed):
1607         * lisp/calc/calc-ext.el (calc-do-prefix-help):
1608         * lisp/calc/calc-store.el (calc-store-into):
1609         * lisp/calendar/todo-mode.el (todo-category-completions):
1610         * lisp/cedet/semantic/complete.el (semantic-completion-message):
1611         * lisp/org/ob-latex.el (convert-pdf):
1612         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
1613         * lisp/org/ox-latex.el (org-latex-compile):
1614         * lisp/org/ox-man.el (org-man-compile):
1615         * lisp/org/ox-odt.el (org-odt--export-wrap):
1616         * lisp/org/ox-texinfo.el (org-texinfo-compile):
1617         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
1618         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
1619         (verilog-signals-combine-bus, verilog-read-defines)
1620         (verilog-getopt-file, verilog-expand-dirnames)
1621         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
1622         * lisp/term/ns-win.el (ns-spi-service-call):
1623         Use %s to avoid translating quotes of file names etc. in diagnostics.
1625 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
1627         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
1629         (js-mode): Don't set syntax-begin-function.
1631 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
1633         Don't assume syntax-begin-function is a symbol.
1635         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
1636         syntax-begin-function is a symbol.
1638 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
1640         Improve documentation of 'run-at-time'
1641         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
1642         In particular, don't refer to 'diary-entry-time', because it is
1643         unavailable until diary-lib is loaded.  Also, refer to
1644         'timer-duration-words', not 'timer-duration', as the latter's doc
1645         string says nothing about the accepted strings.
1647 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
1649         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
1651 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
1653         Repair pdbtrack remote file tracking
1654         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
1655         Rectify pdbtrack so it follows transitions from one remote source
1656         file to the next.
1658 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
1660         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting
1662 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
1664         Adapt vc-src to the old-new vc-checkin API
1665         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
1666         additional optional parameter.
1668 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
1670         Add overflow module to CSS property list
1671         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from CSS
1672         Overflow Module Level 3.
1674 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
1676         Fix documentation of "C-u C-x v v"
1677         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
1678         documentation of "C-u C-x v v" match what the code does.
1680         Resurrect the ability to specify a revision in vc-next-action
1681         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
1682         * lisp/vc/vc-dav.el (vc-dav-checkin):
1683         * lisp/vc/vc-git.el (vc-git-checkin):
1684         * lisp/vc/vc-hg.el (vc-hg-checkin):
1685         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
1686         an additional optional argument, the revision to checkin.
1687         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
1688         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
1689         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
1690         a revision to checkin.
1691         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
1692         revision when checking in files.
1693         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
1694         for the details.
1696 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
1698         Fix checkdoc warnings.
1699         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
1700         (verilog-decls-princ, verilog-modport-princ)
1701         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
1703 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
1705         Fix the routine for help on Calc's prefixes.
1706         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
1707         (calc-do-prefix-help): Use `read-char' to determine the next Calc
1708         command.
1710 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
1712         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove
1713         (font-lock-fontify-block): Don't let-bind it.
1714         (font-lock-compile-keywords): Don't use it.
1715         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
1716         start one slot earlier, instead.
1717         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
1718         Don't declare.
1719         (syntax-ppss): Don't use it either.
1720         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
1721         from docstring.
1722         * doc/emacs/display.texi (Font Lock): Don't mention
1723         font-lock-beginning-of-syntax-function.
1724         * doc/lispref/modes.texi (Font Lock Basics): Update description of
1725         font-lock-defaults.
1726         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
1727         * lisp/loadhist.el (unload-feature-special-hooks):
1728         Remove font-lock-beginning-of-syntax-function.
1729         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
1730         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
1731         font-lock-beginning-of-syntax-function.
1733 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
1735         Backslash cleanup in Elisp source files
1736         This patch should not change behavior.  It typically omits backslashes
1737         where they are redundant (e.g., in the string literal "^\$").
1738         In a few places, insert backslashes where they make regular
1739         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
1740         "^\\*", which has the same effect as a regular expression.
1741         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
1742         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
1743         RCS IDs, as that makes it clearer that the backslash is intended.
1745         Some more minor backslash fixes
1746         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
1747         * test/automated/info-xref.el (info-xref-test-write-file):
1748         Double backslashes in strings.
1750         Fix several backslash typos in Elisp strings
1751         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
1752         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
1753         (todo-reset-done-string, todo-reset-comment-string)
1754         (todo-reset-highlight-item):
1755         * lisp/erc/erc-networks.el (erc-networks-alist):
1756         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
1757         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
1758         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
1759         (nntp-telnet-shell-prompt):
1760         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
1761         * lisp/image-dired.el (image-dired-rotate-original):
1762         (image-dired-get-exif-file-name):
1763         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
1764         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
1765         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
1766         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
1767         * lisp/net/shr-color.el (shr-color->hexadecimal):
1768         * lisp/org/org-bibtex.el (org-bibtex-fields):
1769         * lisp/org/org-docview.el (org-docview-export):
1770         * lisp/org/org-entities.el (org-entities):
1771         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
1772         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
1773         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
1774         (ebnf-style-database):
1775         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
1776         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
1777         * lisp/progmodes/sql.el (sql-product-alist):
1778         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
1779         (verilog-error-font-lock-keywords)
1780         (verilog-assignment-operator-re):
1781         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
1782         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
1783         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
1784         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
1785         For example, to get the regular expression ‘\.’ use the string
1786         literal "\\.", not "\." (which is equivalent to ".").
1787         * lisp/emulation/viper-util.el (viper-glob-unix-files):
1788         Remove stray ‘\j’ from string.
1789         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
1790         (nntp-telnet-shell-prompt):
1791         Treat > like $ when matching a shell prompt.
1792         * lisp/progmodes/make-mode.el (makefile-browse):
1793         Properly quote a diagnostic.
1795         Fix minor quoting problems in diagnostics
1796         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
1797         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
1798         Follow text-quoting-style in diagnostic, and quote a file name.
1800 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
1802         * doc/lispref/frames.texi (Cursor Parameters): Document 'x-stretch-cursor'.
1804 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1806         Omit unnecessary \ before paren in C docstrings
1807         Although \( is needed in docstrings in Elisp code, it is not needed in
1808         docstrings in C code, since C function definitiions do not start with
1809         a parenthesis.  The backslashes made the docstrings a bit harder to
1810         read and to format in columns.  Also, some C docstrings had ( in
1811         column 1 and this did not appear to be causing any problems.  So,
1812         simplify C docstrings by replacing \( with ( and \) with ).
1814         A few more minor quoting fixes in a script and a text file
1816         Minor quoting fixes in scripts and doc
1817         Prefer straight quotes in random script files, as they are not converted.
1818         Prefer grave quotes in a couple of places in the manual that were missed
1819         earlier, as these quotes are converted.
1821         Minor backslash fixes in manuals and scripts
1822         * Makefile.in (install-arch-indep):
1823         * admin/charsets/compact.awk:
1824         * admin/charsets/gb180302.awk (gb_to_index):
1825         * admin/charsets/gb180304.awk (gb_to_index):
1826         Avoid undefined behavior in Awk regular expression backslashes.
1827         * doc/misc/efaq.texi (Matching parentheses):
1828         Omit unnecessary backslashes.
1829         * doc/misc/gnus-faq.texi (FAQ 5-8):
1830         Avoid undefined behavior in suggested sed backslash usage.
1832         Add -Wswitch to --enable-gcc-warnings
1833         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
1834         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
1835         * lib-src/etags.c (main, consider_token, C_entries):
1836         * src/coding.c (encode_invocation_designation):
1837         * src/data.c (Ftype_of):
1838         * src/eval.c (Fdefvaralias, default_toplevel_binding)
1839         (Fbacktrace__locals, mark_specpdl):
1840         * src/lisp.h (record_xmalloc):
1841         * src/syntax.c (scan_lists, scan_sexps_forward):
1842         * src/window.c (window_relative_x_coord):
1843         * src/xdisp.c (push_it, pop_it):
1844         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
1845         Error out or do nothing (as appropriate) if a switch statement
1846         with an enum value does not cover all of the enum.
1847         * src/dispextern.h (struct iterator_stack_entry.u.comp):
1848         Remove unused member discovered by using -Wswitch.
1849         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
1850         * src/vm-limit.c (check_memory_limits):
1851         Simplify warning-diagnostic computation by using a table.
1853         etags ‘fatal’ function is now printf-like
1854         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
1855         Also, now static; not clear why it needed to be extern.
1856         (verror): New function, with most of the old contents of ‘error’.
1857         (fatal, error): Use it.
1859 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
1861         More adaptations in file-notify-tests.el
1862         * test/automated/file-notify-tests.el
1863         (file-notify-test05-dir-validity): Skip for w32notify in
1864         batch-mode.  (Bug#21432)
1866 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
1868         Adapt test in file-notify-tests.el
1869         * test/automated/file-notify-tests.el
1870         (file-notify-test04-file-validity): Skip for w32notify in
1871         batch-mode.  Add test lost last commit.
1873 2015-09-16  Dima Kogan  <dima@secretsauce.net>
1875         winner no longer holds on to dead frames
1876         * lisp/winner.el (winner-change-fun): Cull dead frames.
1877         This prevents a potentially massive memory leak.  See:
1878         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
1880 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
1882         Use common report_file_notify_error function
1883         * src/fileio.c (report_file_notify_error): New function.
1884         * src/inotify.c (report_inotify_error): Remove function.
1885         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
1886         (Finotify_rm_watch): Use report_file_notify_error.
1887         * src/lisp.h (report_file_notify_error): Declare external function.
1888         * src/w32notify.c (report_w32notify_error): Remove function.
1889         (Fw32notify_add_watch, Fw32notify_rm_watch):
1890         Use report_file_notify_error.
1892 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
1894         Fix documentation.
1895         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
1896         the documentation of the root mean square.
1898 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
1900         Remove tool_bar_redisplayed_once and associated code.
1901         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
1902         * src/frame.c (make_frame, x_set_font): Remove initialization of
1903         f->tool_bar_redisplayed_once.
1904         * src/w32fns.c (x_change_tool_bar_height):
1905         * src/xfns.c (x_change_tool_bar_height): Don't check for
1906         f->tool_bar_redisplayed_once.
1907         * src/xdisp.c (redisplay_internal): Remove handling of
1908         f->tool_bar_redisplayed_once.
1910 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
1912         Restore some of the quoting in the manuals
1913         * doc/lispref/windows.texi (Coordinates and Windows)
1914         (Coordinates and Windows):
1915         * doc/lispref/variables.texi (Lexical Binding)
1916         (File Local Variables):
1917         * doc/lispref/text.texi (Format Properties):
1918         * doc/lispref/symbols.texi (Symbol Components):
1919         * doc/lispref/strings.texi (Creating Strings):
1920         * doc/lispref/sequences.texi (Sequence Functions):
1921         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
1922         (Search and Replace):
1923         * doc/lispref/processes.texi (Bindat Spec):
1924         * doc/lispref/os.texi (Idle Timers):
1925         * doc/lispref/objects.texi (Basic Char Syntax):
1926         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
1927         * doc/lispref/nonascii.texi (Character Properties):
1928         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
1929         (Mode Line Variables):
1930         * doc/lispref/minibuf.texi (Text from Minibuffer):
1931         * doc/lispref/loading.texi (Autoload):
1932         * doc/lispref/keymaps.texi (Controlling Active Maps):
1933         * doc/lispref/frames.texi (Frame Layout, Size and Position)
1934         (Size Parameters, Implied Frame Resizing):
1935         * doc/lispref/files.texi (Changing Files, Magic File Names):
1936         * doc/lispref/eval.texi (Self-Evaluating Forms):
1937         * doc/lispref/display.texi (Progress, Abstract Display)
1938         (Abstract Display Example, Bidirectional Display):
1939         * doc/lispref/commands.texi (Event Mod):
1940         * doc/emacs/windows.texi (Displaying Buffers):
1941         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
1942         * doc/emacs/text.texi (Enriched Text):
1943         * doc/emacs/programs.texi (MixedCase Words):
1944         * doc/emacs/picture-xtra.texi (Insert in Picture)
1945         (Tabs in Picture):
1946         * doc/emacs/misc.texi (Emacs Server, Printing):
1947         * doc/emacs/mini.texi (Minibuffer History):
1948         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
1949         (Pulling / Pushing):
1950         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
1951         * doc/emacs/help.texi (Help, Help Echo):
1952         * doc/emacs/glossary.texi (Glossary):
1953         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
1954         (Frame Commands):
1955         * doc/emacs/files.texi (Reverting, Saving, Directories):
1956         * doc/emacs/entering.texi (Exiting):
1957         * doc/emacs/emacs.texi (Top):
1958         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
1959         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
1960         appropriate or replace quoting with @dfn.
1961         * doc/misc/ediff.texi (Window and Frame Configuration):
1962         * doc/lispref/processes.texi (Network Feature Testing):
1963         * doc/lispref/display.texi (Display Margins): Quote the phrase
1964         after "a.k.a." where appropriate.
1966 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
1968         Clarify reftex-extra-bindings docs.
1969         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
1970         * doc/misc/reftex.texi (Key Bindings): Document that the variable
1971         only has an effect at load-time.
1973 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
1975         Fix search argument in ‘lisp--el-match-keyword’ (Bug#21492) (Bug#21493)
1976         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
1977         search argument.  (Bug#21492) (Bug#21493)
1979 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
1981         Add pretty symbols for \qquad and \varrho.
1982         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add pretty
1983         symbols for \qquad and \varrho.
1985 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
1987         Add new functions for the root mean square of a (Calc) vector
1988         * lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms):
1989         New functions.
1990         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
1991         `calc-vector-rms', add autoloads for `calc-vector-rms' and
1992         `calcFunc-rms'.
1993         * lisp/calc/calc-map.el (calc-u-oper-keys):  Add entry for
1994         `calcFunc-rms'.
1995         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
1996         `calc-vector-rms'.
1997         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
1998         command.
2000 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
2002         Add monotone EDE generic project
2003         * lisp/cedet/ede/generic.el (ede-enable-generic-projects): Add monotone
2004         generic project.
2006         Revert premature commit
2007         * doc/lispref/files.texi: Revert premature commit of change to
2008         file-name-all-completions.
2010         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
2011         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
2012         with cl-generic defaults.
2013         (elisp--xref-find-references): Add doc string.
2014         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
2015         tests to find bug.
2017         Fix bugs in eieio-oref-default related to class symbols
2018         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
2019         (eieio-oref-default): Handle class properly.
2021 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2023         Quote “fullboth” when defining it
2024         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
2025         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
2027 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
2029         Minor doc fix in emacs/ack.texi
2030         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
2031         first argument.
2033 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
2035         Adapt tests in auto-revert-tests.el
2036         * test/automated/auto-revert-tests.el (auto-revert--timeout):
2037         Make it a defconst.
2038         (auto-revert--wait-for-revert): New defun.
2039         (auto-revert-test00-auto-revert-mode)
2040         (auto-revert-test01-auto-revert-tail-mode)
2041         (auto-revert-test02-auto-revert-mode-dired): Use it.
2043 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
2045         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const
2046         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
2047         (cl-lib-fdefs): Add defgeneric.
2048         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
2049         (eieio-kw, cl-lib-kw, el-kw): Remove.
2051 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2053         Quote less in manuals
2054         The manuals often used quotes ``...'' when it is better to use @dfn or
2055         @code or capitalized words or no quoting at all.  For example, there is
2056         no need for the `` and '' in “if a variable has one effect for
2057         @code{nil} values and another effect for ``non-@code{nil}'' values”.
2058         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
2059         unnecessary quoting like this, and to use @dfn etc. instead when called
2060         for (Bug#21472).
2062 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
2064         lisp/custom.el (load-theme): Only compute hash when needed.
2066 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2068         Pacify --enable-gcc-warnings
2069         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
2071 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
2073         Improve error reports in inotify.c
2074         * src/inotify.c (report_inotify_error): New function.  Clone of
2075         report_w32notify_error.
2076         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
2077         (Finotify_rm_watch): Use it.
2079 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
2081         Fix the file-notify tests for watch validation on w32
2082         * test/automated/file-notify-tests.el
2083         (file-notify-test04-file-validity): Move the directory deletion
2084         out of the file-notify--test-with-events macro.
2085         (file-notify-test04-file-validity)
2086         (file-notify-test05-dir-validity): Enlarge the timeout of
2087         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
2089 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
2091         Use OPEN BOX instead of space for \quad.
2092         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
2093         character for \quad instead of a space.
2095 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
2097         Add missing *.pbm images
2098         * etc/images/connect.pbm: New file.
2099         * etc/images/custom/down-pushed.pbm: New file.
2100         * etc/images/custom/down.pbm: New file.
2101         * etc/images/custom/right-pushed.pbm: New file.
2102         * etc/images/custom/right.pbm: New file.
2103         * etc/images/describe.pbm: New file.
2104         * etc/images/disconnect.pbm: New file.
2105         * etc/images/ezimage/bits.pbm: New file.
2106         * etc/images/ezimage/bitsbang.pbm: New file.
2107         * etc/images/ezimage/box-minus.pbm: New file.
2108         * etc/images/ezimage/box-plus.pbm: New file.
2109         * etc/images/ezimage/box.pbm: New file.
2110         * etc/images/ezimage/checkmark.pbm: New file.
2111         * etc/images/ezimage/dir-minus.pbm: New file.
2112         * etc/images/ezimage/dir-plus.pbm: New file.
2113         * etc/images/ezimage/dir.pbm: New file.
2114         * etc/images/ezimage/doc-minus.pbm: New file.
2115         * etc/images/ezimage/doc-plus.pbm: New file.
2116         * etc/images/ezimage/doc.pbm: New file.
2117         * etc/images/ezimage/info.pbm: New file.
2118         * etc/images/ezimage/key.pbm: New file.
2119         * etc/images/ezimage/label.pbm: New file.
2120         * etc/images/ezimage/lock.pbm: New file.
2121         * etc/images/ezimage/mail.pbm: New file.
2122         * etc/images/ezimage/page-minus.pbm: New file.
2123         * etc/images/ezimage/page-plus.pbm: New file.
2124         * etc/images/ezimage/page.pbm: New file.
2125         * etc/images/ezimage/tag-gt.pbm: New file.
2126         * etc/images/ezimage/tag-minus.pbm: New file.
2127         * etc/images/ezimage/tag-plus.pbm: New file.
2128         * etc/images/ezimage/tag-type.pbm: New file.
2129         * etc/images/ezimage/tag-v.pbm: New file.
2130         * etc/images/ezimage/tag.pbm: New file.
2131         * etc/images/ezimage/unlock.pbm: New file.
2132         * etc/images/gnus/important.pbm: New file.
2133         * etc/images/gnus/mail-send.pbm: New file.
2134         * etc/images/gnus/receipt.pbm: New file.
2135         * etc/images/gnus/toggle-subscription.pbm: New file.
2136         * etc/images/gnus/unimportant.pbm: New file.
2137         * etc/images/gud/all.pbm: New file.
2138         * etc/images/gud/rcont.pbm: New file.
2139         * etc/images/gud/recstart.pbm: New file.
2140         * etc/images/gud/recstop.pbm: New file.
2141         * etc/images/gud/rfinish.pbm: New file.
2142         * etc/images/gud/rnext.pbm: New file.
2143         * etc/images/gud/rnexti.pbm: New file.
2144         * etc/images/gud/rstep.pbm: New file.
2145         * etc/images/gud/rstepi.pbm: New file.
2146         * etc/images/gud/thread.pbm: New file.
2147         * etc/images/lock-broken.pbm: New file.
2148         * etc/images/lock-ok.pbm: New file.
2149         * etc/images/lock.pbm: New file.
2150         * etc/images/mail/copy.pbm: New file.
2151         * etc/images/mail/forward.pbm: New file.
2152         * etc/images/mail/not-spam.pbm: New file.
2153         * etc/images/mail/outbox.pbm: New file.
2154         * etc/images/mail/preview.pbm: New file.
2155         * etc/images/mail/save-draft.pbm: New file.
2156         * etc/images/mh-logo.pbm: New file.
2157         * etc/images/mpc/add.pbm: New file.
2158         * etc/images/mpc/ffwd.pbm: New file.
2159         * etc/images/mpc/next.pbm: New file.
2160         * etc/images/mpc/pause.pbm: New file.
2161         * etc/images/mpc/play.pbm: New file.
2162         * etc/images/mpc/prev.pbm: New file.
2163         * etc/images/mpc/rewind.pbm: New file.
2164         * etc/images/mpc/stop.pbm: New file.
2165         * etc/images/redo.pbm: New file.
2166         * etc/images/smilies/braindamaged.pbm: New file.
2167         * etc/images/smilies/cry.pbm: New file.
2168         * etc/images/smilies/dead.pbm: New file.
2169         * etc/images/smilies/evil.pbm: New file.
2170         * etc/images/smilies/forced.pbm: New file.
2171         * etc/images/smilies/grin.pbm: New file.
2172         * etc/images/smilies/indifferent.pbm: New file.
2173         * etc/images/sort-ascending.pbm: New file.
2174         * etc/images/sort-column-ascending.pbm: New file.
2175         * etc/images/sort-criteria.pbm: New file.
2176         * etc/images/sort-descending.pbm: New file.
2177         * etc/images/sort-row-ascending.pbm: New file.
2178         * etc/images/unchecked.pbm: New file.
2179         * etc/images/zoom-in.pbm: New file.
2180         * etc/images/README: Update instructions for PBM files.
2182         Add separator.pbm tool-bar image
2183         * etc/images/separator.pbm: New file.  Having it avoids the side
2184         effect of changing the tool-bar height when the default font's size
2185         changes and XPM image support is not available, due to the SPC
2186         characters that are left in the Lisp string used to display the tool
2187         bar, because there are no images to display instead of those SPC
2188         characters.
2190         Make show-paren-match face visible on mono-color displays
2191         * lisp/faces.el (show-paren-match): Use the underline face for
2192         mono-color displays.  (Bug#21481)
2194 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
2196         Don’t double-encode non-ASCII mail clipboard
2197         * lisp/mail/mailclient.el (mailclient-send-it):
2198         Also fix the case when mailclient-place-body-on-clipboard-flag
2199         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
2201 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
2203         Adapt file-notify-tests.el test cases
2204         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
2205         * src/inotify.c (Finotify_valid_p): Adapt docstring.
2206         * test/automated/file-notify-tests.el ()
2207         (file-notify-test03-autorevert)
2208         (file-notify-test04-file-validity)
2209         (file-notify-test04-file-validity-remote)
2210         (file-notify-test05-dir-validity)
2211         (file-notify-test05-dir-validity-remote): Adapt docstring.
2212         (file-notify-test04-file-validity): Let events arrive before
2213         calling final `file-notify-valid-p'.  Do not ignore errors.
2214         (file-notify-test05-dir-validity): Do not manipulate
2215         `temporary-file-directory', it isn't necessary.  Let events arrive
2216         before calling final `file-notify-valid-p'.  Do not ignore errors.
2218 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
2220         Don’t double-encode non-ASCII for mail client
2221         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
2222         Use RFC 6068’s list of unreserved characters.
2223         (mailclient-send-it): When encoding the body as a URL,
2224         first decode it as per Content-Type: and Content-Transfer-Encoding:,
2225         as URLs must use percent-encoded UTF-8 (Bug#21471).
2226         * doc/misc/url.texi (mailto): Update RFC number.
2228 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
2230         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
2232 2015-09-14  Alan Mackenzie  <acm@muc.de>
2234         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs.
2235         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
2236         `cadr/car'.
2238 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
2240         Clarify documentation of char-table extra slots
2241         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
2242         slot numbers are zero-based.  (Bug#21467)
2244 2015-09-14  Alan Mackenzie  <acm@muc.de>
2246         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
2247         Fixes debbugs#21449.
2248         lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
2249         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
2250         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
2251         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
2252         Insert "\\|\\\\." into regexps which match symbols.
2254 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
2256         Improve the doc string of w32notify-valid-p
2257         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
2258         that removing a watch makes its object invalid.
2260 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
2262         Fix tests for file-notify-valid-p.
2263         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
2264         Use delete-directory to delete file-notify--test-tmpfile if it is
2265         a directory.  Likewise for file-notify--test-tmpfile1.
2266         (file-notify-test04-file-validity)
2267         (file-notify-test05-dir-validity): Delete the parent directory of
2268         the test.  Ignore errors when cleaning up after the test.
2270 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
2272         Report file-notify-error in w32notify.c
2273         * src/w32notify.c (report_w32notify_error): New function.
2274         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
2275         errors, instead of calling report_file_error.  (Bug#21432)
2277         Implement w32notify-valid-p
2278         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
2279         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
2280         'identity'.
2282 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
2284         Test file-notify-valid-p.
2285         * test/automated/file-notify-tests.el
2286         (file-notify-test04-file-validity, file-notify-test05-dir-validity): New
2287         tests.
2289 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
2291         Fix markup in ELisp manual
2292         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
2293         of the 'alpha' parameter value.  (Bug#21470)
2295 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
2297         Introduce `file-notify-valid-p'
2298         * lisp/filenotify.el (file-notify-valid-p): New defun.
2299         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
2300         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
2301         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
2302         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
2303         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
2304         <file-notify-valid-p>: Add handler.
2305         * lisp/net/tramp.el (tramp-file-name-for-operation):
2306         Add `file-notify-valid-p'.
2307         (tramp-handle-file-notify-valid-p): New defun.
2308         * src/inotify.c (Finotify_valid_p): New defun.
2309         (syms_of_inotify): Declare Sinotify_valid_p.
2311 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
2313         Port Unicode char detection to FreeBSD+svgalib
2314         Problem reported by Ashish SHUKLA in:
2315         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
2316         * configure.ac: Check for struct unipair.unicode instead of for
2317         <linux/kd.h>, since that’s more specific to what the code actually needs.
2318         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
2320         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
2322 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
2324         Fix vertical cursor motion across overlay strings with newlines
2325         * src/indent.c (Fvertical_motion): Don't leave point in the middle
2326         of an overlay string with newlines, as that will position the
2327         cursor after the string at whatever column is there.  (Bug#21468)
2329 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
2331         Fix tests in file-notify-tests.el
2332         * test/automated/file-notify-tests.el: Remove Tramp declarations.
2333         (file-notify-test00-availability): Print remote command w/o Tramp
2334         internal functions.
2335         (file-notify-test02-events, file-notify-test02-events-remote):
2336         Adapt docstring.
2337         (file-notify-test03-autorevert): Use `format-message' when
2338         inspecting *Messages* buffer.
2340 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2342         Bind inhibit-modification-hooks rather than a/b-c-f
2343         * lisp/wid-edit.el (widget-editable-list-insert-before)
2344         (widget-editable-list-delete-at):
2345         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
2346         (cperl-font-lock-unfontify-region-function):
2347         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
2348         * lisp/obsolete/longlines.el (longlines-mode):
2349         * lisp/obsolete/fast-lock.el (save-buffer-state):
2350         * lisp/mouse.el (mouse-save-then-kill-delete-region):
2351         * lisp/gnus/message.el (message-hide-headers):
2352         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
2353         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
2354         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
2355         than after/before-change-functions to nil.
2357 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2359         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
2360         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
2361         the buffers, even if the forced redisplay is interrupted.
2363         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
2365         Merge syntax-propertize--done and parse-sexp-propertize-done
2366         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
2367         (syntax-propertize): Set syntax-propertize--done even if
2368         syntax-propertize-function is nil.  Avoid recursive invocations.
2369         (syntax-propertize-chunks): New var.
2370         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
2371         Simplify.
2372         (parse-sexp-propertize-function): Don't set any more.
2373         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
2374         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
2375         Call Qinternal__syntax_propertize instead of
2376         Vparse_sexp_propertize_function.  Truncate e_property if needed.
2377         (update_syntax_table_forward): Streamline.
2378         (syms_of_syntax): Define Qinternal__syntax_propertize.
2379         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
2381 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
2383         Prefer straight quoting in some text files
2384         Mostly this just changes ` to ' in static text.  Some exceptions:
2385         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
2386         typically does that now.
2387         * admin/quick-install-emacs (TRY, top level):
2388         Use straight quoting in diagnostics.
2389         * src/README: Fix working-directory confusion.
2391         * CONTRIBUTE: Move send-email here from git-workflow.
2393 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
2395         Improve file notifications in Tramp
2396         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
2397         Set proper events to watch for.
2398         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
2399         watched events.
2401 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
2403         Fix NS build with --enable-checking='glyphs'
2404         * src/nsfns.m (unwind_create_frame): Make the preprocessor
2405         conditionals for referencing 'dpyinfo' consistent throughout the
2406         function.  (Bug#21426)
2408 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
2410         Add seq-find
2411         This function is similar to `seq-some' but returns the found element.
2412         In the cases where nil can be the found element, a sentinel optional
2413         argument can be provided to avoid ambiguities.
2414         * lisp/emacs-lisp/seq.el (seq-find): New function.
2415         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
2416         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
2417         seq-find.
2419 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
2421         Document file-notify--test-with-events.
2422         * test/automated/file-notify-tests.el (file-notify--test-with-events):
2423         Add docstring.
2425 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
2427         Report used native library in file-notify-tests.el
2428         * test/automated/file-notify-tests.el
2429         (tramp-get-remote-gvfs-monitor-dir)
2430         (tramp-get-remote-inotifywait): Declare them.
2431         (file-notify-test00-availability): Print used native library.
2433 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
2435         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
2436         (mpc-file-local-copy): Check for absolute path.  Check more config
2437         locations.
2439 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
2441         Improve documentation of categories
2442         * doc/lispref/syntax.texi (Categories): Clarify the example of
2443         using define-category and modify-category-entry.  (Bug#21448)
2445 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2447         Revert some stray curved quotes I missed earlier
2448         Problem reported by David Kastrup in:
2449         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
2450         * lisp/international/mule-cmds.el (leim-list-header):
2451         Use format-message with an ASCII-only format.
2453         Prefer NUMBERP to spelling it out
2454         * src/editfns.c (styled_format):
2455         * src/frame.h (NUMVAL):
2456         * src/image.c (parse_image_spec):
2457         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
2458         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
2459         * src/process.c (Fsignal_process):
2460         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
2461         * src/xfaces.c (check_lface_attrs):
2462         * src/xselect.c (x_fill_property_data, x_send_client_event):
2463         Use NUMBERP rather than INTEGERP || FLOATP.
2465 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
2467         Improve file-notify-tests
2468         * test/automated/file-notify-tests.el: Use lexical-binding
2469         (file-notify--test-cleanup): New function.
2470         (file-notify-test00-availability, file-notify-test01-add-watch)
2471         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
2472         (file-notify--test-with-events): New macro.
2473         (file-notify-test02-events): Use it.
2475 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2477         Add patch-sending instructions to git-workflow
2478         From a suggestion by Mitchel Humpherys in:
2479         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
2480         * admin/notes/git-workflow (Sending patches): New section.
2482         Port to GIFLIB 5.0.6 and later
2483         Problem reported by Mitchel Humpherys in:
2484         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
2485         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
2486         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
2487         (gif_load) [HAVE_GIF]: Use it.
2489 2015-09-10  Glenn Morris  <rgm@gnu.org>
2491         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
2493 2015-09-09  Glenn Morris  <rgm@gnu.org>
2495         * test/automated/file-notify-tests.el (file-notify-test02-events):
2496         Fix recent change.
2498 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2500         Refix movemail GCC pacification
2501         Problem reported by Ken Brown in:
2502         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
2503         * lib-src/movemail.c (main): Fix previous change.
2505 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2507         (time-to-seconds, time-less-p): Mark unused vars with underscore
2508         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
2509         Mark unused vars with underscore.
2511         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
2512         (parse_sexp_propertize): ...from here.
2514         * lisp/filenotify.el: Use lexical-binding
2515         (file-notify-add-watch): Avoid add-to-list.
2517 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
2519         Start checking event types in file-notify tests
2520         * test/automated/file-notify-tests.el (file-notify--test-events): New
2521         variable.
2522         (file-notify--test-event-handler): Append received event to
2523         file-notify--test-events for later analysis.
2524         (file-notify-test02-events): Assert that the expected notifications have
2525         arrived in the expected order.
2527 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2529         Merge from gnulib and texinfo
2530         This incorporates:
2531         2015-08-03 Improve port of stdalign to C++11
2532         * lib/stdalign.in.h: Copy from gnulib.
2533         * doc/misc/texinfo.tex: Copy from texinfo.
2535 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2537         Make syntax.c call syntax-propertize on demand
2538         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
2539         (parse-sexp-propertize-function): Use it.
2540         (syntax-propertize): Disable parse-sexp-propertize-function.
2541         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
2542         New functions.
2543         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
2544         `parse-sexp-propertize-function'.
2545         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
2546         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
2547         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
2548         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
2549         Don't assume `point' is set.
2551 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
2553         Fix indentation of an @example in ELisp manual
2554         * doc/lispref/syntax.texi (Categories): Untabify the example.
2555         (Bug#21448)
2557 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2559         Define internal-char-font even if --without-x
2560         The function is used now even in non-graphical environments.
2561         Problem reported by Glenn Morris in:
2562         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
2563         * src/font.c (Finternal_char_font): Move here ...
2564         * src/fontset.c (Finternal_char_font): ... from here.
2566 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2568         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Remove
2569         warning.
2571 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
2573         Fix display of complex local data types in GDB-MI
2574         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
2575         variable has no value, display "<complex data type>" as a
2576         placeholder, instead of a confusing "nil".  (Bug#21438)
2578 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
2580         Remove redundant redefinition of seq-drop-while from seq.el
2581         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
2583 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
2585         * lisp/emacs-lisp/package.el (package--ensure-init-file)
2586         More robust check for `package-initialize' calls in init file.
2587         This function accepts an optional argument, but calls passing
2588         an argument would not have been detected.
2590 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2592         Port movemail to RHEL 6 with --enable-gcc-warnings
2593         * lib-src/movemail.c (main): Declare local only if needed.
2595         Port recent Linux console changes to RHEL 6
2596         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
2598         Improvements for curved quotes on Linux consule
2599         This should help Emacs work better out-of-the-box on Linux consoles,
2600         which have only limited support for displaying Unicode characters.
2601         Also, undo the recent change that caused text-quoting-style to
2602         affect quote display on terminals, so that the two features are
2603         independent.  See Alan Mackenzie in:
2604         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
2605         Finally, add a style parameter to startup--setup-quote-display,
2606         so that this function can also be invoked after startup, with
2607         different styles depending on user preference at the time.
2608         * configure.ac: Check for linux/kd.h header.
2609         * doc/emacs/display.texi (Text Display): Document quote display.
2610         * doc/lispref/display.texi (Active Display Table):
2611         * etc/NEWS:
2612         * lisp/startup.el (startup--setup-quote-display, command-line):
2613         text-quoting-style no longer affects quote display.
2614         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
2615         * lisp/international/mule-util.el (char-displayable-p):
2616         * lisp/startup.el (startup--setup-quote-display):
2617         On a text terminal supporting glyph codes, use the reported
2618         glyph codes instead of the terminal coding system, as this
2619         is more accurate on the Linux console.
2620         * lisp/startup.el (startup--setup-quote-display):
2621         New optional arg STYLE.
2622         * src/fontset.c (Finternal_char_font):
2623         Report glyph codes for a text terminal, if they are available.
2624         Currently this is supported only for the Linux console.
2625         * src/termhooks.h (struct terminal): New member glyph-code-table.
2626         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
2627         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
2628         (terminal_glyph_code): New function.
2630 2015-09-08  Juri Linkov  <juri@linkov.net>
2632         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
2633         underline.  (Bug#21433)
2635 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
2637         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
2639 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
2641         Fix double-reporting of rename events with inotify
2642         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
2643         of rename events with inotify (bug#21435).
2645 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
2647         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
2648         (tetris-mode-map): Use it.
2650 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
2652         Remove a few simple cases of global redisplay
2653         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
2654         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
2655         rather than returning a "resized_p" boolean.
2656         (redisplay_internal): Adjust call accordingly.
2657         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
2658         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
2659         tracking of this undesirable situation.
2661         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
2662         * src/process.c (status_notify): Only set the update_mode_line on the
2663         relevant buffers rather than setting it globally.
2665 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2667         * lisp/electric.el (electric-quote-post-self-insert-function):
2668         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
2669         (electric-quote-mode): Activate everywhere in message-mode.
2671 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
2673         Go back to grave quoting in source-code docstrings etc.
2674         This reverts almost all my recent changes to use curved quotes
2675         in docstrings and/or strings used for error diagnostics.
2676         There are a few exceptions, e.g., Bahá’í proper names.
2677         * admin/unidata/unidata-gen.el (unidata-gen-table):
2678         * lisp/abbrev.el (expand-region-abbrevs):
2679         * lisp/align.el (align-region):
2680         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
2681         (outlineify-sticky):
2682         * lisp/apropos.el (apropos-library):
2683         * lisp/bookmark.el (bookmark-default-annotation-text):
2684         * lisp/button.el (button-category-symbol, button-put)
2685         (make-text-button):
2686         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
2687         * lisp/calc/calc-embed.el (calc-do-embedded):
2688         * lisp/calc/calc-ext.el (calc-user-function-list):
2689         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
2690         * lisp/calc/calc-help.el (calc-describe-key)
2691         (calc-describe-thing, calc-full-help):
2692         * lisp/calc/calc-lang.el (calc-c-language)
2693         (math-parse-fortran-vector-end, math-parse-tex-sum)
2694         (math-parse-eqn-matrix, math-parse-eqn-prime)
2695         (calc-yacas-language, calc-maxima-language, calc-giac-language)
2696         (math-read-giac-subscr, math-read-math-subscr)
2697         (math-read-big-rec, math-read-big-balance):
2698         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
2699         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
2700         (calc-auto-recompute):
2701         * lisp/calc/calc-prog.el (calc-fix-token-name)
2702         (calc-read-parse-table-part, calc-user-define-invocation)
2703         (math-do-arg-check):
2704         * lisp/calc/calc-store.el (calc-edit-variable):
2705         * lisp/calc/calc-units.el (math-build-units-table-buffer):
2706         * lisp/calc/calc-vec.el (math-read-brackets):
2707         * lisp/calc/calc-yank.el (calc-edit-mode):
2708         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
2709         * lisp/calendar/appt.el (appt-display-message):
2710         * lisp/calendar/diary-lib.el (diary-check-diary-file)
2711         (diary-mail-entries, diary-from-outlook):
2712         * lisp/calendar/icalendar.el (icalendar-export-region)
2713         (icalendar--convert-float-to-ical)
2714         (icalendar--convert-date-to-ical)
2715         (icalendar--convert-ical-to-diary)
2716         (icalendar--convert-recurring-to-diary)
2717         (icalendar--add-diary-entry):
2718         * lisp/calendar/time-date.el (format-seconds):
2719         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
2720         (timeclock-make-hours-explicit, timeclock-log-data):
2721         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
2722         (todo-item-mark, todo-check-format)
2723         (todo-insert-item--next-param, todo-edit-item--next-key)
2724         (todo-mode):
2725         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
2726         * lisp/cedet/mode-local.el (describe-mode-local-overload)
2727         (mode-local-print-binding, mode-local-describe-bindings-2):
2728         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
2729         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2730         * lisp/cus-start.el (standard):
2731         * lisp/cus-theme.el (describe-theme-1):
2732         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
2733         (custom--sort-vars-1, load-theme):
2734         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2735         * lisp/dired-x.el (dired-do-run-mail):
2736         * lisp/dired.el (dired-log):
2737         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
2738         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
2739         (ad-disable-advice, ad-remove-advice, ad-set-argument)
2740         (ad-set-arguments, ad--defalias-fset, ad-activate)
2741         (ad-deactivate):
2742         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
2743         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
2744         (byte-optimize-while, byte-optimize-apply):
2745         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
2746         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
2747         (byte-compile-log-file, byte-compile-format-warn)
2748         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
2749         (byte-compile-cl-warn)
2750         (byte-compile-warn-about-unresolved-functions)
2751         (byte-compile-file, byte-compile--declare-var)
2752         (byte-compile-file-form-defmumble, byte-compile-form)
2753         (byte-compile-normal-call, byte-compile-check-variable)
2754         (byte-compile-variable-ref, byte-compile-variable-set)
2755         (byte-compile-subr-wrong-args, byte-compile-setq-default)
2756         (byte-compile-negation-optimizer)
2757         (byte-compile-condition-case--old)
2758         (byte-compile-condition-case--new, byte-compile-save-excursion)
2759         (byte-compile-defvar, byte-compile-autoload)
2760         (byte-compile-lambda-form)
2761         (byte-compile-make-variable-buffer-local, display-call-tree)
2762         (batch-byte-compile):
2763         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
2764         * lisp/emacs-lisp/chart.el (chart-space-usage):
2765         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
2766         (check-declare-warn, check-declare-file)
2767         (check-declare-directory):
2768         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
2769         (checkdoc-message-text-engine):
2770         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
2771         (cl--describe-class):
2772         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
2773         (cl--generic-describe, cl-generic-generalizers):
2774         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
2775         (cl-symbol-macrolet):
2776         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
2777         * lisp/emacs-lisp/copyright.el (copyright)
2778         (copyright-update-directory):
2779         * lisp/emacs-lisp/edebug.el (edebug-read-list):
2780         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
2781         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
2782         (eieio-oref):
2783         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
2784         * lisp/emacs-lisp/eieio-speedbar.el:
2785         (eieio-speedbar-child-make-tag-lines)
2786         (eieio-speedbar-child-description):
2787         * lisp/emacs-lisp/eieio.el (defclass, change-class):
2788         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
2789         (elint-init-form, elint-check-defalias-form)
2790         (elint-check-let-form):
2791         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
2792         (ert-results-pop-to-backtrace-for-test-at-point)
2793         (ert-results-pop-to-messages-for-test-at-point)
2794         (ert-results-pop-to-should-forms-for-test-at-point)
2795         (ert-describe-test):
2796         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
2797         (find-function-library):
2798         * lisp/emacs-lisp/generator.el (iter-yield):
2799         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
2800         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
2801         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
2802         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
2803         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
2804         (advice--make, define-advice):
2805         * lisp/emacs-lisp/package-x.el (package-upload-file):
2806         * lisp/emacs-lisp/package.el (package-version-join)
2807         (package-disabled-p, package-activate-1, package-activate)
2808         (package--download-one-archive)
2809         (package--download-and-read-archives)
2810         (package-compute-transaction, package-install-from-archive)
2811         (package-install, package-install-selected-packages)
2812         (package-delete, package-autoremove, describe-package-1)
2813         (package-install-button-action, package-delete-button-action)
2814         (package-menu-hide-package, package-menu--list-to-prompt)
2815         (package-menu--perform-transaction)
2816         (package-menu--find-and-notify-upgrades):
2817         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
2818         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
2819         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
2820         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
2821         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
2822         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
2823         (rx-form):
2824         * lisp/emacs-lisp/smie.el (smie-config-save):
2825         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
2826         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
2827         * lisp/emacs-lisp/testcover.el (testcover-1value):
2828         * lisp/emacs-lisp/timer.el (timer-event-handler):
2829         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
2830         (viper-toggle-search-style, viper-kill-buffer)
2831         (viper-brac-function):
2832         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
2833         * lisp/env.el (setenv):
2834         * lisp/erc/erc-button.el (erc-nick-popup):
2835         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
2836         * lisp/eshell/em-dirs.el (eshell/cd):
2837         * lisp/eshell/em-glob.el (eshell-glob-regexp)
2838         (eshell-glob-entries):
2839         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
2840         * lisp/eshell/esh-opt.el (eshell-show-usage):
2841         * lisp/facemenu.el (facemenu-add-new-face)
2842         (facemenu-add-new-color):
2843         * lisp/faces.el (read-face-name, read-face-font, describe-face)
2844         (x-resolve-font-name):
2845         * lisp/files-x.el (modify-file-local-variable):
2846         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
2847         (set-auto-mode, hack-one-local-variable--obsolete)
2848         (dir-locals-set-directory-class, write-file, basic-save-buffer)
2849         (delete-directory, copy-directory, recover-session)
2850         (recover-session-finish, insert-directory)
2851         (file-modes-char-to-who, file-modes-symbolic-to-number)
2852         (move-file-to-trash):
2853         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
2854         * lisp/find-cmd.el (find-generic, find-to-string):
2855         * lisp/finder.el (finder-commentary):
2856         * lisp/font-lock.el (font-lock-fontify-buffer):
2857         * lisp/format.el (format-write-file, format-find-file)
2858         (format-insert-file):
2859         * lisp/frame.el (get-device-terminal, select-frame-by-name):
2860         * lisp/fringe.el (fringe--check-style):
2861         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
2862         * lisp/help-fns.el (help-fns--key-bindings)
2863         (help-fns--compiler-macro, help-fns--parent-mode)
2864         (help-fns--obsolete, help-fns--interactive-only)
2865         (describe-function-1, describe-variable):
2866         * lisp/help.el (describe-mode)
2867         (describe-minor-mode-from-indicator):
2868         * lisp/image.el (image-type):
2869         * lisp/international/ccl.el (ccl-dump):
2870         * lisp/international/fontset.el (x-must-resolve-font-name):
2871         * lisp/international/mule-cmds.el (prefer-coding-system)
2872         (select-safe-coding-system-interactively)
2873         (select-safe-coding-system, activate-input-method)
2874         (toggle-input-method, describe-current-input-method)
2875         (describe-language-environment):
2876         * lisp/international/mule-conf.el (code-offset):
2877         * lisp/international/mule-diag.el (describe-character-set)
2878         (list-input-methods-1):
2879         * lisp/mail/feedmail.el (feedmail-run-the-queue):
2880         * lisp/mouse.el (minor-mode-menu-from-indicator):
2881         * lisp/mpc.el (mpc-playlist-rename):
2882         * lisp/msb.el (msb--choose-menu):
2883         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
2884         * lisp/net/imap.el (imap-interactive-login):
2885         * lisp/net/mairix.el (mairix-widget-create-query):
2886         * lisp/net/newst-backend.el (newsticker--sentinel-work):
2887         * lisp/net/newst-treeview.el (newsticker--treeview-load):
2888         * lisp/net/rlogin.el (rlogin):
2889         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
2890         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
2891         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
2892         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
2893         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
2894         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
2895         (org-babel-goto-named-result):
2896         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
2897         * lisp/org/ob-ref.el (org-babel-ref-resolve):
2898         * lisp/org/org-agenda.el (org-agenda-prepare):
2899         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
2900         (org-clock-resolve):
2901         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
2902         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
2903         * lisp/org/org-habit.el (org-habit-parse-todo):
2904         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
2905         (org-mouse-context-menu):
2906         * lisp/org/org-table.el (org-table-edit-formulas):
2907         * lisp/org/ox.el (org-export-async-start):
2908         * lisp/proced.el (proced-log):
2909         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
2910         (ada-check-matching-start, ada-goto-matching-start):
2911         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
2912         * lisp/progmodes/ada-xref.el (ada-find-executable):
2913         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
2914         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
2915         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
2916         (flymake-start-syntax-check-process):
2917         * lisp/progmodes/python.el (python-shell-get-process-or-error)
2918         (python-define-auxiliary-skeleton):
2919         * lisp/progmodes/sql.el (sql-comint):
2920         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
2921         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
2922         * lisp/recentf.el (recentf-open-files):
2923         * lisp/replace.el (query-replace-read-from)
2924         (occur-after-change-function, occur-1):
2925         * lisp/scroll-bar.el (scroll-bar-columns):
2926         * lisp/server.el (server-get-auth-key):
2927         * lisp/simple.el (execute-extended-command)
2928         (undo-outer-limit-truncate, list-processes--refresh)
2929         (compose-mail, set-variable, choose-completion-string)
2930         (define-alternatives):
2931         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
2932         (command-line-1):
2933         * lisp/subr.el (noreturn, define-error, add-to-list)
2934         (read-char-choice, version-to-list):
2935         * lisp/term/common-win.el (x-handle-xrm-switch)
2936         (x-handle-name-switch, x-handle-args):
2937         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
2938         * lisp/textmodes/reftex-ref.el (reftex-label):
2939         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
2940         * lisp/textmodes/two-column.el (2C-split):
2941         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
2942         (tutorial--find-changed-keys):
2943         * lisp/type-break.el (type-break-noninteractive-query):
2944         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
2945         (wdired-do-perm-changes):
2946         * lisp/whitespace.el (whitespace-report-region):
2947         Prefer grave quoting in source-code strings used to generate help
2948         and diagnostics.
2949         * lisp/faces.el (face-documentation):
2950         No need to convert quotes, since the result is a docstring.
2951         * lisp/info.el (Info-virtual-index-find-node)
2952         (Info-virtual-index, info-apropos):
2953         Simplify by generating only curved quotes, since info files are
2954         typically that ways nowadays anyway.
2955         * lisp/international/mule-diag.el (list-input-methods):
2956         Don’t assume text quoting style is curved.
2957         * lisp/org/org-bibtex.el (org-bibtex-fields):
2958         Revert my recent changes, going back to the old quoting style.
2960 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2962         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling
2963         (package--autoloads-file-name)
2964         (package--activate-autoloads-and-load-path): New function.
2965         (package-activate-1): Delegate autoloading and load-path
2966         configuration to `package--activate-autoloads-and-load-path'.
2967         (package--compile): Before compilation, call
2968         `package--activate-autoloads-and-load-path' instead of
2969         `package-activate-1'.
2971 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2973         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
2975 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
2977         Fix deletion of symlinks to directories on MS-Windows
2978         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
2979         symlink to a directory, try again with 'rmdir'.
2980         (is_symlink): If the argument is a symlink to a directory, set a
2981         bit in the return value to indicate that fact.
2983 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2985         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
2986         When `package-initialize' is called as part of loading the init file,
2987         the user probably doesn't want it to be called again afterwards. In this
2988         situation, `package-initialize' now sets `package-enable-at-startup' to
2989         nil to prevent that. The user can have the old behaviour by setting this
2990         variable to t after the call to `package-initialize'.  (Bug#21423)
2991         * doc/emacs/package.texi (Package Installation): Document it.
2992         * doc/lispref/package.texi (Packaging Basics): Document it.
2993         * etc/NEWS: Document it.
2995 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
2997         Bump version of ntlm.el to 2.00
2998         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.  Add comm
2999         keyword.
3001 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
3003         * doc/misc/gnus.texi (Mail Source Specifiers):
3004         Allow :mailbox to be a list.
3006 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
3008         Allow even one non-regular character before the implicit tag name
3009         * lisp/progmodes/etags.el (etags-tags-completion-table):
3010         Allow even one non-regular character before the implicit tag name.
3011         Reported at http://emacs.stackexchange.com/questions/15269/.
3013 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3015         Add support for NTLMv2 authentication
3016         * net/ntlm.el (ntlm): New customization group.
3017         (ntlm-compatibility-level): New defcustom.
3018         (ntlm-compute-timestamp): New function.
3019         (ntlm-generate-nonce): Likewise.
3020         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
3022 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
3024         * lisp/emacs-lisp/package.el: Rename custom faces
3025         All of the recently introduced faces, like `package-name-face', have
3026         been renamed to no end in `-face' to comply with the convention
3027         described in (info "(elisp) Defining Faces").
3028         (package-name, package-description)
3029         (package-status-built-in, package-status-external)
3030         (package-status-available, package-status-new)
3031         (package-status-held, package-status-disabled)
3032         (package-status-installed, package-status-dependency)
3033         (package-status-unsigned, package-status-incompat)
3034         (package-status-avail-obso): New faces.
3035         (package-menu--print-info-simple): Use them.
3037 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
3039         mail-source.el: Make the imap mail-source's :mailbox handle a list
3040         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
3041         Allow :mailbox to be  a list.
3043 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
3045         nnimap.el:  Handle nil arg to nnimap-request-group
3046         * lisp/gnus/nnimap.el (nnimap-request-group):  Handle nil "info" arg.
3047         This arg isn't always passed in, check it's not nil before making it
3048         into a list.  The active arg will also be nil if the group is new,
3049         check for that.
3051 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
3053         File notifications: Support renaming over directory boundaries
3054         * lisp/filenotify.el (file-notify-handle-event):
3055         (file-notify--pending-event): Adapt docstring.
3056         (file-notify--descriptor, file-notify-callback): Reimplement in
3057         order to support renaming over directory boundaries.
3058         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
3059         * doc/lispref/os.texi (File Notifications): Remove limitation of
3060         file renaming to the same directory.
3062 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3064         Spelling fix (Bug#21420)
3066 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
3068         Improve the semantic of map-some
3069         Update map-some to return the returned by the predicate, similar to
3070         seq-some.
3071         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
3072           return value of the predicate.
3073         * test/automated/map-tests.el (test-map-some): Update the test to check
3074           for non-nil values only.
3076         Rename map-contains-key-p and map-some-p
3077         Remove the "-p" suffix from both function names.
3078         * lisp/emacs-lisp/map.el (map-contains-key, map-some): Rename the functions.
3079         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
3080           Update both test functions.
3082         Improve the semantic of seq-some
3083         Update seq-some to return non-nil if the predicate returns non-nil for
3084         any element of the seq, in which case the returned value is the one
3085         returned by the predicate.
3086         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
3087           docstring.
3088         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
3089         * doc/lispref/sequences.texi (Sequence Functions): Update the
3090           documentation for seq-some.
3092         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
3093         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
3094           without the "-p" prefix.
3095         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
3096           the tests accordingly.
3097         * doc/lispref/sequences.texi (Sequence Functions): Update the
3098           documentation for seq.el.
3100 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
3102         text-quoting-style for usage of fn names with ‘’
3103         * lisp/help.el (help--docstring-quote): Don’t assume
3104         text-quoting-style is ‘curve’ when generating usage strings for
3105         functions whose names contain curved quotes.
3107 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3109         Fix fix for describe-function keybinding confusion
3110         This fixes a bug introduced by the previous patch.
3111         * lisp/help-fns.el (help-fns--signature):
3112         Last arg of help-fns--signature is now a buffer, or nil if a
3113         raw signature is wanted.  All callers changed.
3114         (describe-function-1): Use this to do the right thing with signatures.
3116 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
3118         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
3120         Use PAT rather than UPAT in pcase macros
3121         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
3122         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
3123           than UPAT.
3125 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3127         Fix describe-function keybinding confusion
3128         * lisp/help-fns.el (describe-function-1): Compute signature
3129         in the original buffer, not in standard-output, so that
3130         substitute-command-keys uses the proper keybindings.
3131         This fixes Bug#21412, introduced in commit
3132         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
3134 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
3136         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
3138 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
3140         Avoid read error messages from 'inotify'
3141         * src/process.c (wait_reading_process_output): Add a
3142         'tls_available' set and manipulate it instead of 'Available' when
3143         checking TLS inputs.  Assign the value to 'Available' only if we
3144         find any TLS data waiting to be read.  This avoids error messages
3145         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
3147 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
3149         Avoid errors in thing-at-point with 2nd argument non-nil
3150         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
3151         sequences.  (Bug#21391)
3153 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
3155         Fix segfaults due to using a stale face ID
3156         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
3157         (display_echo_area_1, redisplay_internal): Call it to avoid
3158         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
3159         faces, which could case a segfault if the frame's face cache was
3160         freed since the last redisplay.  (Bug#21394)
3161         * src/xfaces.c (free_realized_faces): Call
3162         forget_escape_and_glyphless_faces.
3163         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
3165 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
3167         Fix minor problems with " in manual
3169 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
3171         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
3172         multi-hop files.
3174 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
3176         Support automated ‘make check’ in non-C locale
3177         This lets the builder optionally test Emacs behavior in other locales.
3178         The C locale is still the default for tests.
3179         * test/automated/Makefile.in (TEST_LOCALE): New macro.
3180         (emacs): Use it.
3181         * test/automated/flymake-tests.el (flymake-tests--current-face):
3182         Use C locale for subprocesses so that tests behave as expected.
3183         * test/automated/python-tests.el:
3184         (python-shell-prompt-validate-regexps-1)
3185         (python-shell-prompt-validate-regexps-2)
3186         (python-shell-prompt-validate-regexps-3)
3187         (python-shell-prompt-validate-regexps-4)
3188         (python-shell-prompt-validate-regexps-5)
3189         (python-shell-prompt-validate-regexps-6)
3190         (python-shell-prompt-set-calculated-regexps-1):
3191         Adjust expected output to match locale.
3192         * test/automated/tildify-tests.el (tildify-test--test)
3193         (tildify-space-test--test, tildify-space-undo-test--test):
3194         This test assumes UTF-8 encoding.
3196 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
3198         Fix some more docstring etc. quoting problems
3199         Mostly these fixes prevent the transliteration of apostrophes
3200         that should stay apostrophes.  Also, prefer curved quotes in
3201         Bahá’í proper names, as that’s the preferred Bahá’í style and
3202         these names are chock-full of non-ASCII characters anyway.
3203         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
3204         (eieio-defclass-internal):
3205         * lisp/emacs-lisp/eieio.el (defclass):
3206         * lisp/hi-lock.el (hi-lock-mode):
3207         Don’t transliterate Lisp apostrophes when generating a
3208         doc string or diagnostic.
3209         * lisp/international/mule-diag.el (list-coding-systems-1):
3210         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
3211         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
3212         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
3213         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
3214         Substitute quotes before putting them in the help buffer.
3216 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3218         Re-add the notion of echo_prompt lost in the translation
3219         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
3220         echo_prompt which contains the actual string.  Update all uses.
3221         * src/keyboard.c (kset_echo_prompt): New function.
3222         (echo_update): Add echo_prompt at the very beginning.
3223         (read_char): Remove workaround for bug#19875, not needed any more.
3224         (read_key_sequence): Set echo_prompt rather than echo_string (bug#21403).
3225         (mark_kboards): Mark echo_prompt.
3227         Fix disassembly of non-compiled lexical functions (bug#21377)
3228         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
3229         * lisp/emacs-lisp/disass.el: Use lexical-binding.
3230         (disassemble): Recognize `closure's as well.
3231         (disassemble-internal): Use indirect-function and
3232         help-function-arglist, and accept `closure's.
3233         (disassemble-internal): Use interactive-form.
3234         (disassemble-1): Use functionp.
3236         (tex--prettify-symbols-compose-p): Don't compose in verbatim blocks!
3237         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
3238         Don't compose inside verbatim blocks!
3240 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
3242         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
3243         (bug#19441)
3245         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394)
3247 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
3249         vc-git-mode-line-string: Explicitly re-apply the face
3250         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
3251         the face (bug#21404).
3253 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
3255         Treat initial-scratch-message as a doc string
3256         * doc/emacs/building.texi (Lisp Interaction):
3257         * doc/lispref/os.texi (Startup Summary):
3258         * etc/NEWS: Document this.
3259         * lisp/startup.el (initial-scratch-message):
3260         Look up find-file’s key rather than hardcoding it.
3261         (command-line-1): Substitute the doc string.
3262         This also substitutes the quotes, which will help test display
3263         quoting at startup.
3265         Fix describe-char bug with glyphs on terminals
3266         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
3267         buffers too, so don’t treat them differently from graphic displays.
3268         Without this fix, describe-char would throw an error on a terminal
3269         if given a glyph with a non-default face.
3271         Follow text-quoting-style in display table init
3272         This attempts to fix a problem reported by Alan Mackenzie in:
3273         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
3274         * doc/lispref/display.texi (Active Display Table):
3275         Mention how text-quoting-style affects it.
3276         * doc/lispref/help.texi (Keys in Documentation):
3277         Say how to set text-quoting-style in ~/.emacs.
3278         * etc/NEWS: Document the change.
3279         * lisp/startup.el (startup--setup-quote-display):
3280         Follow user preference if text-quoting-style is set.
3281         (command-line): Setup quote display again if user expresses
3282         a preference in .emacs.
3284 2015-09-02  K. Handa  <handa@gnu.org>
3286         Fix typo
3287         * ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask -> OTF_positioning_type_components_mask.
3289         Fix previous change
3290         * ftfont.c (ftfont_drive_otf): Remember some bits of
3291         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
3293 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
3295         * lisp/vc/vc-hooks.el (vc-refresh-state): New command
3296         (vc-refresh-state): Rename from vc-find-file-hook and make interactive.
3297         (vc-find-file-hook): Redefine as obsolete alias.
3299 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3301         Escape ` and ' in doc
3302         Escape apostrophes and grave accents in docstrings if they are
3303         are supposed to stand for themselves and are not quotes.  Remove
3304         apostrophes from docstring examples like ‘'(calendar-nth-named-day
3305         -1 0 10 year)’ that confuse source code with data.  Do some other
3306         minor docstring fixups as well, e.g., insert a missing close
3307         quote.
3309 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
3311         Generalize the prefix-command machinery of C-u
3312         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
3313         (prefix-command-preserve-state-hook): New hooks.
3314         (internal-echo-keystrokes-prefix): New function.
3315         (prefix-command--needs-update, prefix-command--last-echo): New vars.
3316         (prefix-command-update, prefix-command-preserve): New functions.
3317         (reset-this-command-lengths): New compatibility definition.
3318         (universal-argument--mode): Call prefix-command-update.
3319         (universal-argument, universal-argument-more, negative-argument)
3320         (digit-argument): Call prefix-command-preserve-state.
3321         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
3322         the "prefix argument" to echo.
3323         (this_command_key_count_reset, before_command_key_count)
3324         (before_command_echo_length): Delete variables.
3325         (echo_add_key): Always add a space.
3326         (echo_char): Remove.
3327         (echo_dash): Don't give up when this_command_key_count is 0, since that
3328         is now the case after a prefix command.
3329         (echo_update): New function, extracted from echo_now.
3330         (echo_now): Use it.
3331         (add_command_key, read_char, record_menu_key): Remove old disabled code.
3332         (command_loop_1): Don't refrain from pushing an undo boundary when
3333         prefix-arg is set.  Remove other prefix-arg special case, now handled
3334         directly in the prefix commands instead.  But call echo_now if there's
3335         a prefix state to echo.
3336         (read_char, record_menu_key): Use echo_update instead of echo_char.
3337         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
3338         (Freset_this_command_lengths): Delete function.
3339         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
3340         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
3341         * lisp/simple.el: Use those new hooks for C-u.
3342         (universal-argument--description): New function.
3343         (prefix-command-echo-keystrokes-functions): Use it.
3344         (universal-argument--preserve): New function.
3345         (prefix-command-preserve-state-hook): Use it.
3346         (command-execute): Call prefix-command-update if needed.
3347         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
3348         (kmacro-step-edit-prefix-index): Delete variables.
3349         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
3350         support for prefix arg commands.
3351         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
3352         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
3353         (cua--shift-control-prefix): Use prefix-command-preserve-state.
3354         Remove now unused arg `arg'.
3355         (cua--prefix-override-handler, cua--prefix-repeat-handler)
3356         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
3357         Update accordingly.
3358         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
3359         any more.
3360         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
3361         if the mark is not set.
3363 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3365         Rework quoting in Emacs Lisp Introduction
3366         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
3367         (if in more detail, type-of-animal in detail, else): Rework the
3368         early example to use " rather than ' so that we don’t burden
3369         complete novices with the low-priority detail of text quoting style.
3370         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
3371         (kill-new function, kill-ring-yank-pointer)
3372         (Complete forward-sentence, Loading Files)
3373         (Code for current-kill, Code for current-kill, yank):
3374         Resurrect the Emacs 22 versions of the code, which uses grave
3375         quoting style in doc strings.
3376         (Complete zap-to-char): Mention how quoting works in doc strings.
3378         Setup quote display only if interactive
3379         * lisp/startup.el (command-line):
3380         Skip call to startup--setup-quote-display if noninteractive.
3381         Without this change, python-shell-prompt-validate-regexps-1
3382         fails in test/automated/python-tests.el when run in an
3383         en_US.utf8 locale on Fedora.
3385 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
3387         Use defalias at the top level
3388         * lisp/gnus/gnus-util.el (gnus-format-message):
3389         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
3390         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
3392 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3394         terminal-init-w32console mimicks command-line
3395         Problem reported by Eli Zaretskii.
3396         * lisp/startup.el (startup--setup-quote-display):
3397         New function, refactored from a part of ‘command-line’.
3398         (command-line): Use it.
3399         * lisp/term/w32console.el (terminal-init-w32console):
3400         Use it, so that this function stays consistent with ‘command-line’.
3402         Display replacement quotes with shadow glyphs
3403         * lisp/startup.el (command-line): When displaying ASCII
3404         replacements for curved quotes, use a shadow glyph instead of a
3405         regular one, to avoid ambiguity.
3407 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
3409         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
3411 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3413         Docstring fixes re quotes in C code
3414         Fix some docstring quoting problems, mostly by escaping apostrophe.
3416 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
3418         Some Tramp password fixes
3419         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
3420         of the hops.
3421         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
3422         at the beginning of the command.  Otherwise, it could be
3423         interpreted as password prompt if the remote host echoes the
3424         command.
3425         (tramp-remote-coding-commands): Add "openssl enc -base64".
3427 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
3429         Make vc-git-working-revision always return the commit hash
3430         * lisp/vc/vc-git.el (vc-git-working-revision):
3431         Return the commit hash (bug#21383).
3432         (vc-git--symbolic-ref): New function, extracted from above.
3433         (vc-git-mode-line-string): Use it.
3435 2015-09-01  K. Handa  <handa@gnu.org>
3437         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs.
3438         * ftfont.c (MFLTGlyphFT): New type.
3439         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
3440         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
3441         elements in the array MFLTGlyphString.glyphs.
3443 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
3445         Improve comments in elisp-mode.el, elisp-mode-tests.el
3446         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
3448         Delete Emacs 25 test in mode-local.el
3449         * lisp/cedet/mode-local.el (describe-mode-local-overload): Fix missed an
3450         edit in previous commit.
3452         Show all known mode-local overrides in *Help*
3453         * lisp/cedet/mode-local.el (describe-mode-local-overload): Assume Emacs
3454         25. Add all known mode-local overrides.
3456 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
3458         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
3459         Ensure that the article where the search word is found is displayed
3460         and pointed to in the summary buffer.
3462 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
3464         * lisp/newcomment.el (comment-dwim): Use `use-region-p'
3465         When the region is active, but is empty (length 0), act as though
3466         the region was not active; that is, put a comment at the end of
3467         the line.  (Bug#21119)
3469 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
3471         Port tls.el to older Emacs
3472         * lisp/net/tls.el (tls-format-message):
3473         Alias to format-message, or format if not available.
3474         (open-tls-stream): Use it.
3476 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
3478         hideif.el: Recognize .h++ as C++ header.
3479         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
3481         isearch: Document character folding mode.
3482         * isearch.el (isearch-forward): Mention `isearch-toggle-character-fold'
3483         in doc string.
3485 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3487         Quoting fixes in ERC and Eshell
3488         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
3489         * lisp/erc/erc-backend.el (define-erc-response-handler):
3490         * lisp/erc/erc-fill.el (erc-fill-static-center):
3491         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
3492         * lisp/eshell/em-glob.el (eshell-glob-entries):
3493         * lisp/eshell/em-hist.el (eshell-save-some-history):
3494         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
3495         (eshell-shuffle-files):
3496         * lisp/eshell/esh-cmd.el (eshell-do-eval):
3497         * lisp/eshell/esh-proc.el (eshell-process-interact)
3498         (eshell-query-kill-processes):
3499         Respect ‘text-quoting-style’ in diagnostics and doc strings.
3501         Quoting fixes in Gnus
3502         * lisp/gnus/gnus-agent.el:
3503         (gnus-agent-possibly-synchronize-flags-server):
3504         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
3505         * lisp/gnus/gnus-eform.el (gnus-edit-form):
3506         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
3507         (gnus-group-nnimap-edit-acl):
3508         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
3509         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
3510         * lisp/gnus/message.el (message-strip-subject-encoded-words)
3511         (message-check-recipients, message-send-form-letter):
3512         * lisp/gnus/mm-decode.el (mm-display-part):
3513         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
3514         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
3515         (mml-smime-get-ldap-cert):
3516         * lisp/gnus/spam-report.el (spam-report-process-queue):
3517         Respect ‘text-quoting-style’ in diagnostics.
3518         * lisp/gnus/gnus-art.el (article-display-face)
3519         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
3520         Use straight quoting in email.
3521         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
3522         Escape apostrophes in doc strings.
3524         Quoting fixes in lisp mail, mh-e, net, url
3525         * lisp/mail/emacsbug.el (report-emacs-bug)
3526         (report-emacs-bug-hook): Use straight quotes in outgoing email,
3527         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
3528         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
3529         * lisp/mail/rmailout.el (rmail-output-read-file-name):
3530         * lisp/net/imap.el (imap-interactive-login):
3531         * lisp/net/tls.el (open-tls-stream):
3532         * lisp/url/url-auth.el (url-register-auth-scheme):
3533         Respect ‘text-quoting-style’ in diagnostics.
3534         * lisp/mh-e/mh-e.el (mh-sortm-args):
3535         Quote docstring example using text quotes, not as a Lisp quote.
3537 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
3539         Fix some byte-compiler warnings in EDE
3540         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
3541         existing autoloader list, rather than add to it.
3542         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
3543         argument to eieio class constructor.
3544         (ede-show-supported-projects): New.
3545         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
3546         with (oref ... name).
3547         (ede-auto-load-project): Use slot name, not initarg key.
3548         * lisp/cedet/ede/generic.el (ede-generic-load,
3549         ede-generic-find-matching-target): Use slot name, not initarg key.
3550         (ede-find-target): Use oref-default on class name.
3551         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
3552         class constructor.
3553         (ede-enable-generic-projects): Make project type names unique.
3555 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
3557         Fix directory accessibility tests for w32 network volumes
3558         * src/w32.c (faccessat): Don't fail with network volumes without a
3559         share.
3560         (w32_accessible_directory_p): Handle network volumes without a
3561         share.
3563         Fix handling long file names in readdir on MS-Windows
3564         * src/w32.c (sys_readdir): Append "\*" to the directory after
3565         converting it to UTF-16/ANSI, not before, to avoid overflowing the
3566         260-character limit on file names in filename_to_utf16/ansi.
3568         Make file-accessible-directory-p reliable on MS-Windows
3569         * src/w32.c (w32_accessible_directory_p): New function.
3570         * src/w32.h (w32_accessible_directory_p): Add prototype.
3571         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
3572         w32_accessible_directory_p to test a directory for accessibility
3573         by the current user.  (Bug#21346)
3574         (Ffile_accessible_directory_p): Remove the w32 specific caveat
3575         from the doc string.
3577 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
3579         Don't call do_pending_window_change in signal handlers (Bug#21380)
3580         * src/gtkutil.c (xg_frame_resized):
3581         * src/xterm.c (x_set_window_size):
3582         * src/w32term.c (x_set_window_size): Don't call
3583         do_pending_window_change.
3585 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3587         Quoting fixes in lisp/org
3588         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
3589         (org-tags-view):
3590         * lisp/org/org-capture.el (org-capture-mode)
3591         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
3592         (org-ctags-ask-append-topic):
3593         * lisp/org/org.el (org-time-string-to-time)
3594         (org-time-string-to-absolute):
3595         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
3596         (org-ctags-ask-append-topic):
3597         * lisp/org/org.el (org-time-string-to-time)
3598         (org-time-string-to-absolute):
3599         Respect ‘text-quoting-style’ in diagnostics.
3600         * lisp/org/org-agenda.el (org-agenda-custom-commands)
3601         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
3602         * lisp/org/org-capture.el (org-capture-fill-template):
3603         Avoid contraction in output file that might be ASCII.
3604         * lisp/org/org-compat.el (format-message):
3605         Define if not already defined, for backward compatibility.
3606         * lisp/org/org-src.el (org-edit-src-save):
3607         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
3608         Escape apostrophes in diagnostics.
3610         Treat “instead” strings as docstrings
3611         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
3612         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
3613         Substitute quotes in instead strings.
3615 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
3617         Better documentation of seq-let
3618         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
3619         documentation of seq-let.
3621 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3623         * lisp/international/ccl.el: Fix quoting.
3625         Quoting fixes in lisp/international and lisp/leim
3626         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
3627         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
3628         * lisp/international/mule-cmds.el:
3629         (select-safe-coding-system-interactively, leim-list-file-name):
3630         * lisp/international/quail.el (quail-use-package, quail-help):
3631         * lisp/international/titdic-cnv.el (tit-process-header)
3632         (miscdic-convert):
3633         Respect text quoting style in doc strings and diagnostics.
3634         * lisp/international/quail.el (lisp/international/quail.el):
3635         * lisp/leim/quail/ethiopic.el ("ethiopic"):
3636         Escape apostrophes in doc strings.
3638         Make ‘text-quoting-style’ a plain defvar
3639         It doesn’t need customization, as it’s likely useful only by experts.
3640         Suggested by Stefan Monnier in:
3641         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
3642         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
3644         Quoting fixes in lisp/textmodes
3645         * lisp/textmodes/bibtex.el (bibtex-validate)
3646         (bibtex-validate-globally, bibtex-search-entries):
3647         * lisp/textmodes/ispell.el (ispell-command-loop):
3648         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
3649         * lisp/textmodes/texinfmt.el (texinfmt-version)
3650         (texinfo-format-region, texinfo-format-buffer-1):
3651         * lisp/textmodes/two-column.el (2C-split):
3652         Respect text quoting style in doc strings and diagnostics.
3653         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
3654         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
3655         Escape apostrophes in doc strings.
3657         Documentation fixes re quotes
3658         Prefer curved quotes in examples if users will typically see
3659         curved quotes when the examples run.
3660         Mention format-message when appropriate.
3661         Don’t use @code in examples.
3662         Quote an apostrophe with @kbd.
3664         Quoting fixes in lisp/progmodes
3665         * lisp/progmodes/cc-engine.el (c-bos-report-error):
3666         * lisp/progmodes/cpp.el (cpp-edit-reset):
3667         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
3668         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
3669         (etags-tags-apropos, list-tags, tags-apropos):
3670         * lisp/progmodes/executable.el (executable-set-magic):
3671         * lisp/progmodes/octave.el (octave-sync-function-file-names)
3672         (octave-help, octave-find-definition-default-filename)
3673         (octave-find-definition):
3674         Respect text quoting style in doc strings and diagnostics.
3675         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
3676         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
3677         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
3678         Escape apostrophes in doc strings.
3679         * lisp/progmodes/cmacexp.el (c-macro-expansion):
3680         Use straight quoting in ASCII comment.
3681         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
3682         (idlwave-pad-keyword):
3683         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
3684         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
3685         (vhdl-electric-semicolon, vhdl-electric-comma)
3686         (vhdl-electric-period, vhdl-electric-equal):
3687         Use directed quotes in diagnostics and doc strings.
3689 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
3691         Minor documentation and NEWS tweak
3692         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let): Add an index
3693         entry.
3694         * NEWS: Fix a typo in character-fold-to-regexp.
3696 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
3698         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
3699         Revert patch from 2015-08-24.  Tramp shall be have like for local files.
3700         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
3701         Adapt test.
3703 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3705         Text quoting fixes in cedet, emulation, emacs-lisp
3706         * lisp/cedet/ede.el (ede-check-project-directory):
3707         * lisp/cedet/semantic/analyze/debug.el:
3708         (semantic-analyzer-debug-insert-include-summary):
3709         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
3710         * lisp/cedet/semantic/decorate/include.el:
3711         (semantic-decoration-unknown-include-describe)
3712         (semantic-decoration-all-include-summary):
3713         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
3714         * lisp/emulation/edt.el (edt-load-keys):
3715         * lisp/emulation/viper-cmd.el:
3716         (viper-display-current-destructive-command)
3717         (viper-query-replace, viper-brac-function):
3718         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
3719         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
3720         Respect text quoting style in doc string or diagnostic.
3721         * lisp/cedet/mode-local.el (describe-mode-local-overload):
3722         Use format-message to avoid overtranslating quotes.
3723         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
3724         Escape an apostrophe in a docstring.
3725         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
3727 2015-08-29  Daniel Colascione  <dancol@dancol.org>
3729         Fix which-func for curly quotes: look for symbol, not message
3730         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
3731         imenu-unavailable error symbol instead of trying to match message
3732         exactly.
3733         * lisp/imenu.el (imenu-unavailable): New error.
3734         (imenu-unavailable-error): New function.
3736 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
3738         Fix Python tests on MS-Windows
3739         * test/automated/python-tests.el
3740         (python-shell-calculate-command-1): Run python-shell-interpreter
3741         through shell-quote-argument before comparing with what
3742         python-shell-calculate-command returns.
3743         (python-shell-calculate-pythonpath-1)
3744         (python-shell-calculate-pythonpath-2)
3745         (python-shell-calculate-process-environment-2): Use path-separator
3746         instead of a literal ':'.
3747         (python-shell-calculate-exec-path-2)
3748         (python-shell-calculate-exec-path-3)
3749         (python-shell-calculate-exec-path-4)
3750         (python-shell-with-environment-1)
3751         (python-shell-with-environment-2): Run "/env/bin" through
3752         expand-file-name before comparing with exec-path.  (Bug#21375)
3754 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3756         Use Core Text types/functions/variables/enumerators directly
3757         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
3758         (CharacterCollection): Remove typedefs.  All uses replaced with
3759         definitions.
3760         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
3761         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
3762         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
3763         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
3764         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
3765         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
3766         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
3767         definitions.
3768         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
3769         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
3770         (MAC_FONT_FORMAT_BITMAP)
3771         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
3772         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.  All
3773         uses replaced with definitions.
3774         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
3775         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
3776         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add
3777         compatibility enumerators for older versions.
3778         (mac_font_descriptor_create_with_attributes)
3779         (mac_font_descriptor_create_matching_font_descriptors)
3780         (mac_font_descriptor_create_matching_font_descriptor)
3781         (mac_font_descriptor_copy_attribute)
3782         (mac_font_descriptor_supports_languages)
3783         (mac_font_create_with_name, mac_font_get_size)
3784         (mac_font_copy_family_name, mac_font_copy_character_set)
3785         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
3786         (mac_font_get_descent, mac_font_get_leading)
3787         (mac_font_get_underline_position)
3788         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
3789         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
3790         replaced with definitions.
3791         (mac_font_create_preferred_family_for_attributes)
3792         (mac_font_get_advance_width_for_glyph)
3793         (mac_font_get_bounding_rect_for_glyph)
3794         (mac_font_create_available_families, mac_font_shape): Remove
3795         macros for renamed functions.
3796         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
3797         * src/macterm.m (mac_font_descriptor_supports_languages): Rename
3798         from mac_ctfont_descriptor_supports_languages.
3799         (mac_font_create_preferred_family_for_attributes): Rename from
3800         mac_ctfont_create_preferred_family_for_attributes.
3801         (mac_font_get_advance_width_for_glyph): Rename from
3802         mac_ctfont_get_advance_width_for_glyph.  Use
3803         kCTFontOrientationDefault also for older versions.
3804         (mac_font_get_bounding_rect_for_glyph): Rename from
3805         mac_ctfont_get_bounding_rect_for_glyph. Use
3806         kCTFontOrientationDefault also for older versions.
3807         (mac_font_create_available_families): Rename from
3808         mac_ctfont_create_available_families.
3809         (mac_font_equal_in_postscript_name): Rename from
3810         mac_ctfont_equal_in_postscript_name.  All uses changed.
3811         (mac_font_create_line_with_string_and_font): Rename from
3812         mac_ctfont_create_line_with_string_and_font.  All uses changed.
3813         (mac_font_shape): Rename from mac_ctfont_shape.
3814         (mac_font_family_compare): Remove unused declaration.
3816 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3818         Fix minor text quoting in calc, calendar, vc
3819         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
3820         * lisp/calc/calc-help.el (calc-j-prefix-help):
3821         * lisp/calc/calc-misc.el (calc-help):
3822         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
3823         Escape an apostrophe in a docstring.
3824         * lisp/calc/calc-forms.el (calc-hms-notation):
3825         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
3826         Escape an apostrophe in a diagnostic.
3827         * lisp/calc/calc-misc.el (calc-help):
3828         * lisp/calendar/diary-lib.el (diary-include-files):
3829         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
3830         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
3831         * lisp/vc/ediff-diff.el (ediff-same-contents):
3832         * lisp/vc/ediff-merg.el (ediff-re-merge):
3833         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
3834         * lisp/vc/ediff-util.el (ediff-test-save-region)
3835         (ediff-status-info):
3836         * lisp/vc/ediff.el (ediff-merge-revisions)
3837         (ediff-merge-revisions-with-ancestor):
3838         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
3839         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
3840         Respect text quoting style in doc string or diagnostic.
3841         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
3842         * lisp/vc/add-log.el (change-log-goto-source):
3843         Avoid double-formatting.
3844         * lisp/vc/ediff-init.el (format-message):
3845         New backward-compatibility alias.
3847 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
3849         Fix minor text quoting problems in lisp top level
3850         * lisp/apropos.el (apropos-describe-plist):
3851         * lisp/cus-theme.el (customize-themes):
3852         * lisp/dired.el (dired-log):
3853         * lisp/help-fns.el (describe-variable):
3854         * lisp/hexl.el (hexl-insert-multibyte-char):
3855         * lisp/info.el (Info-finder-find-node):
3856         * lisp/json.el (json-read-string):
3857         * lisp/novice.el (disabled-command-function)
3858         (disabled-command-function):
3859         * lisp/startup.el (normal-mouse-startup-screen):
3860         * lisp/woman.el (WoMan-log, WoMan-warn):
3861         Respect text quoting style in doc string or diagnostic.
3862         * lisp/replace.el (replace-character-fold):
3863         * src/syntax.c (Fmodify_syntax_entry):
3864         Escape an apostrophe in a docstring.
3865         * lisp/tempo.el (tempo-define-template):
3866         Remove confusing apostrophe from docstring.
3867         * lisp/whitespace.el (whitespace-mark-x):
3868         Use directed quotes in docstring.
3870 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
3872         Fix indentation rule in css-mode
3873         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
3874         brackets in presence of pseudo-selectors.  (Bug#21328)
3876 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
3878         Fix a bug in recording a macro while flyspell-mode is active
3879         * lisp/subr.el (sit-for): Don't call read-event when recording a
3880         macro.  (Bug#21329)
3882 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
3884         Tweak startup screen quoting
3885         * lisp/startup.el (normal-splash-screen): Use standard
3886         "M-" abbrevation rather than a confusingly-different one.
3887         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
3889 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
3891         Add test case for ‘format’ bug and refactor
3892         * src/editfns.c (styled_format): Refactor internally, mostly by
3893         moving declarations closer to uses.  This should not affect behavior.
3894         * test/automated/textprop-tests.el (textprop-tests-format): New test.
3896         Fix ‘format’ bug with property offsets
3897         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
3898         bug in calculating string property offsets (Bug#21351).
3900         Use straight quotes in lib-src diagnostics
3901         These auxiliary programs can’t use Emacs’s text-quoting-style,
3902         and it’s too much trouble to redo that mechanism by hand.
3903         So just use straight quotes for now.
3904         * lib-src/ebrowse.c (main):
3905         * lib-src/emacsclient.c (decode_options, main):
3906         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
3907         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
3908         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
3909         (none_help, print_language_names, print_help, add_regex)
3910         (suggest_asking_for_help):
3911         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
3912         Use straight quotes in diagnostics.
3914         ‘text-quoting-style’ fixes for admin
3915         * admin/admin.el (cusver-scan, cusver-check):
3916         * admin/authors.el (authors-canonical-file-name):
3917         * admin/bzrmerge.el (bzrmerge-missing):
3918         Respect ‘text-quoting-style’ in diagnostics.
3920 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3922         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
3923         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
3924         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
3925         * doc/lispref/internals.texi (Writing Emacs Primitives):
3926         * etc/NEWS:
3927         Document the change.
3928         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
3929         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
3930         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
3931         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
3932         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
3933         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
3934         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
3935         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
3936         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
3937         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
3938         Remove.  All uses removed.  The code now assumes
3939         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
3940         * src/bytecode.c (relocate_byte_stack):
3941         Rename from unmark_byte_stack, since it now only relocates.
3942         All callers changed.
3943         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
3944         with GCPROs removed.
3945         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
3946         * test/automated/finalizer-tests.el (finalizer-basic)
3947         (finalizer-circular-reference, finalizer-cross-reference)
3948         (finalizer-error):
3949         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
3950         Remove tests, as they depend on gc-precise.
3952 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
3954         Improve seq-concatenate for new sequence types
3955         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
3956         ensure that concatenation happens on sequences only.  This makes it
3957         possible to use `seq-concatenate' for new types of seqs.
3958         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate): New
3959         function used in `seq-concatenate'.
3960         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
3961         for seq-into-sequence.
3963 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
3965         Add mode local overrides to xref-find-definitions
3966         * lisp/cedet/mode-local.el (xref-mode-local--override-present,
3967         xref-mode-local-overload): New; add mode local overrides to
3968         xref-find-definitions.
3969         * test/automated/elisp-mode-tests.el: Add mode local override tests.
3970         (xref-elisp-test-run): Handle indented defuns.
3971         (xref-elisp-generic-*): Improve doc strings.
3972         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
3973         (elisp--xref-find-definitions): Use it.
3975         Add mode local overrides to describe-function
3976         * lisp/cedet/mode-local.el (describe-mode-local-overload): New; add mode
3977         local overrides to describe-function.
3978         * etc/NEWS: Document change.
3980 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3982         Prefer straight quoting in some etc text files
3983         These files are plain text and might be used by non-Emacs apps.
3984         They’re mostly ASCII, so just use straight quotes.
3986         Fix quoting in ‘message_with_string’
3987         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
3988         should work now.
3989         * src/xdisp.c (message_to_stderr): New function, refactored from
3990         part of ‘message3_nolog’.
3991         (message3_nolog): Use it.
3992         (message_with_string): Use it.  Don’t mishandle NUL bytes when
3993         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
3994         Use ‘format-message’, not ‘format’, so that quotes are translated.
3996 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
3998         Mention false positives of file-accessible-directory on w32
3999         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
4000         (Bug#21346)
4002 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
4004         Treat error strings as help
4005         * src/print.c (print_error_message): Translate quotes and command
4006         keys in errmsg so that users see, e.g., "Symbol’s value as
4007         variable is void: foo" when text-quoting-style is curved.
4009 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
4011         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
4013 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
4015         Top-level elisp files respect ‘text-quoting-style’
4016         In top-level elisp files, use format-message in diagnostic formats,
4017         so that they follow user preference as per ‘text-quoting-style’
4018         rather than being hard-coded to quote `like this'.
4019         * lisp/allout.el (allout-get-configvar-values):
4020         * lisp/apropos.el (apropos-symbols-internal):
4021         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
4022         (dired-do-create-files-regexp, dired-create-files-non-directory):
4023         * lisp/dired-x.el (dired-do-run-mail):
4024         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
4025         * lisp/disp-table.el (standard-display-european):
4026         * lisp/find-dired.el (find-dired):
4027         * lisp/forms.el (forms-mode):
4028         * lisp/ido.el (ido-buffer-internal):
4029         * lisp/info.el (Info-index-next):
4030         * lisp/outline.el (outline-invent-heading):
4031         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
4032         * lisp/proced.el (proced-log):
4033         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
4034         * lisp/recentf.el (recentf-open-files, recentf-save-list):
4035         * lisp/savehist.el (savehist-save):
4036         * lisp/server.el (server-ensure-safe-dir):
4037         * lisp/ses.el (ses-rename-cell):
4038         * lisp/simple.el (list-processes--refresh):
4039         * lisp/startup.el (command-line):
4040         * lisp/strokes.el (strokes-unset-last-stroke)
4041         (strokes-execute-stroke):
4042         Use format-message so that quotes are restyled.
4043         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
4044         Don’t quote ‘raised’.
4045         * lisp/descr-text.el (describe-char):
4046         * lisp/dirtrack.el (dirtrack-debug-message):
4047         * lisp/hexl.el (hexl-insert-multibyte-char):
4048         Apply substitute-command-keys to help string.
4049         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
4050         (wdired-do-perm-changes):
4051         Let dired-log do the formatting.
4053 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4055         Go back to grave quoting in Tramp
4056         * lisp/net/tramp-adb.el:
4057         * lisp/net/tramp-cache.el:
4058         * lisp/net/tramp-compat.el:
4059         * lisp/net/tramp-gvfs.el:
4060         * lisp/net/tramp-gw.el:
4061         * lisp/net/tramp-sh.el:
4062         * lisp/net/tramp-smb.el:
4063         * lisp/net/tramp.el:
4064         Stick with grave quoting in diagnostics strings.  This is more
4065         portable to older Emacs, desirable for Tramp.
4066         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
4067         for diagnostic that needs requoting.
4068         * lisp/net/tramp-compat.el (format-message):
4069         Fall back on simple ‘format’, since that’s good enough now.
4071         Go back to grave quoting in Gnus
4072         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
4073         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
4074         (gnus-agent-fetch-headers):
4075         * lisp/gnus/gnus-int.el (gnus-start-news-server):
4076         * lisp/gnus/gnus-registry.el:
4077         (gnus-registry--split-fancy-with-parent-internal)
4078         (gnus-registry-post-process-groups):
4079         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
4080         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
4081         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
4082         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
4083         * lisp/gnus/spam.el (spam-check-blackholes):
4084         Stick with grave quoting in diagnostics strings.  This is more
4085         portable to older Emacs, desirable for Gnus.
4087         Fix customization of text-quoting-style
4088         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
4089         * lisp/wid-edit.el (widget-docstring):
4090         Get raw docstring here since it’s cooked later and should not be
4091         cooked twice.
4092         * lisp/cus-edit.el (custom-group-value-create):
4093         Cook the docstring before inserting it.
4094         * lisp/cus-start.el (text-quoting-style): Quote the customization
4095         docstrings according to the new rules.  Give curved examples.
4097         format-message now curves ` and '
4098         That way, the caller doesn’t have to use curved quotes to
4099         get diagnostics that match the text-quoting-style preferences.
4100         Suggested by Dmitry Gutov in:
4101         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
4102         This means we no longer need %qs, so remove that format.
4103         While we’re at it, fix an unlikely bug and lessen the pressure
4104         on the garbage collector by processing the string once rather
4105         than twice in the usual case.
4106         * doc/lispref/strings.texi (Formatting Strings):
4107         * etc/NEWS: Document this.
4108         * lisp/subr.el (format-message): Remove; now done in C.
4109         * src/callint.c (Fcall_interactively):
4110         * src/editfns.c (Fmessage, Fmessage_box):
4111         Use Fformat_message instead of Finternal__text_restyle
4112         followed by Fformat.
4113         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
4114         uLSQM and uRSQM.
4115         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
4116         when pure ASCII now suffices.  Fix unlikely bug when parsing
4117         unibyte string containing non-ASCII bytes.  Use inline code
4118         rather than memcpy, as it’s a tiny number of bytes.
4119         (Finternal__text_restyle): Remove; no longer used.
4120         (syms_of_doc): Don’t declare it.
4121         * src/editfns.c (Fformat): Rewrite in terms of new function
4122         ‘styled_format’.
4123         (Fformat_message): New function, moved here from subr.el.
4124         (styled_format): New function, with the old guts of Fformat,
4125         except it now optionally transliterates quotes, and it transliterates
4126         traditional grave accent and apostrophe quoting as well.
4127         Remove recently-added q flag; no longer needed or used.
4128         (syms_of_editfns): Define format-message.
4129         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
4130         Remove; no longer need to be global symbols.
4131         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
4132         so that callers can use `%s'.
4133         * src/image.c (image_size_error, xbm_load_image, xbm_load)
4134         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
4135         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
4136         (svg_load_image, gs_load, x_kill_gs_process):
4137         * src/lread.c (load_warn_old_style_backquotes):
4138         * src/xfaces.c (load_pixmap):
4139         * src/xselect.c (x_clipboard_manager_error_1):
4140         Use `%s' instead of %qs in formats.
4142 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
4144         Minor fixes in doc/emacs/search.texi
4145         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
4146         (Special Isearch): Use @w{} to generate several consecutive spaces
4147         with Texinfo 6.  (Bug#21345)
4149 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
4151         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
4152         (tramp-awk-coding-test): New defconsts.
4153         (tramp-remote-coding-commands): Use them.
4154         (tramp-find-inline-encoding): Check for Perl only if necessary.
4156 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
4158         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
4159         index entries for the special form `quote'.
4161 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4163         Spelling fixes
4165         Gnus format-message typo fix
4166         * lisp/gnus/gnus-util.el (gnus-format-message):
4167         Fix typo when running in older Emacs.
4169         Prefer directed to neutral quotes
4170         Prefer directed to neutral quotes in docstings and diagnostics.
4171         In docstrings, escape apostrophes that would otherwise be translated
4172         to curved quotes using the newer, simpler rules.
4173         * admin/unidata/unidata-gen.el (unidata-gen-table):
4174         * lisp/align.el (align-region):
4175         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
4176         * lisp/bookmark.el (bookmark-default-annotation-text):
4177         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
4178         * lisp/calc/calc-lang.el (math-read-giac-subscr)
4179         (math-read-math-subscr):
4180         * lisp/calc/calc-misc.el (report-calc-bug):
4181         * lisp/calc/calc-prog.el (calc-fix-token-name)
4182         (calc-read-parse-table-part):
4183         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
4184         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
4185         * lisp/dabbrev.el (dabbrev-expand):
4186         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
4187         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
4188         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
4189         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
4190         * lisp/erc/erc-button.el (erc-nick-popup):
4191         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
4192         * lisp/eshell/em-dirs.el (eshell/cd):
4193         * lisp/eshell/em-glob.el (eshell-glob-regexp):
4194         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
4195         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
4196         * lisp/eshell/esh-opt.el (eshell-show-usage):
4197         * lisp/files-x.el (modify-file-local-variable):
4198         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
4199         (filesets-update-pre010505):
4200         * lisp/find-cmd.el (find-generic, find-to-string):
4201         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
4202         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
4203         (gnus-agent-fetch-headers):
4204         * lisp/gnus/gnus-int.el (gnus-start-news-server):
4205         * lisp/gnus/gnus-registry.el:
4206         (gnus-registry--split-fancy-with-parent-internal):
4207         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
4208         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
4209         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
4210         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
4211         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
4212         * lisp/gnus/spam.el (spam-check-blackholes):
4213         * lisp/mail/feedmail.el (feedmail-run-the-queue):
4214         * lisp/mpc.el (mpc-playlist-rename):
4215         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
4216         * lisp/net/mairix.el (mairix-widget-create-query):
4217         * lisp/net/tramp-cache.el:
4218         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
4219         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
4220         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
4221         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
4222         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
4223         (org-babel-goto-named-result):
4224         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
4225         * lisp/org/ob-ref.el (org-babel-ref-resolve):
4226         * lisp/org/org-agenda.el (org-agenda-prepare):
4227         * lisp/org/org-bibtex.el (org-bibtex-fields):
4228         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
4229         (org-clock-resolve):
4230         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
4231         * lisp/org/org-habit.el (org-habit-parse-todo):
4232         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
4233         (org-mouse-context-menu):
4234         * lisp/org/org-table.el (org-table-edit-formulas):
4235         * lisp/org/ox.el (org-export-async-start):
4236         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
4237         (dun-rooms, dun-endgame-questions):
4238         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
4239         * lisp/progmodes/ada-xref.el (ada-find-executable):
4240         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
4241         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
4242         (flymake-start-syntax-check-process):
4243         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
4244         * lisp/progmodes/sql.el (sql-comint):
4245         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
4246         * lisp/server.el (server-get-auth-key):
4247         * lisp/subr.el (version-to-list):
4248         * lisp/textmodes/reftex-ref.el (reftex-label):
4249         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
4250         * lisp/vc/ediff-diff.el (ediff-same-contents):
4251         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
4252         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
4253         Use directed rather than neutral quotes in diagnostics.
4255         Treat ' like ’ even when not matching `
4256         This is simpler and easier to explain, and should encourage better
4257         typography.  Do this in Electric Quote mode and when translating
4258         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
4259         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
4260         * doc/emacs/text.texi (Quotation Marks):
4261         * doc/lispref/help.texi (Keys in Documentation):
4262         * etc/NEWS:
4263         Document this.
4264         * lisp/electric.el (electric-quote-post-self-insert-function):
4265         * src/doc.c (Fsubstitute_command_keys):
4266         Always treat ' like ’ even when not matched by an open quote.
4268 2015-08-25  Glenn Morris  <rgm@gnu.org>
4270         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
4271         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
4273 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4275         * src/macfont.m (macfont_create_family_with_symbol): Accept
4276         localized names.
4278 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4280         Tramp diagnostics as per ‘text-quoting-style’
4281         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
4282         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
4283         (tramp-adb-handle-delete-directory)
4284         (tramp-adb-handle-delete-file)
4285         (tramp-adb-handle-file-local-copy)
4286         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
4287         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
4288         (tramp-adb-maybe-open-connection):
4289         * lisp/net/tramp-cache.el:
4290         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
4291         (tramp-compat-octal-to-decimal)
4292         (tramp-compat-coding-system-change-eol-conversion):
4293         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
4294         (tramp-gvfs-do-copy-or-rename-file)
4295         (tramp-gvfs-handle-delete-directory)
4296         (tramp-gvfs-handle-delete-file)
4297         (tramp-gvfs-handle-expand-file-name)
4298         (tramp-gvfs-handle-file-local-copy)
4299         (tramp-gvfs-handle-file-notify-add-watch)
4300         (tramp-gvfs-handle-make-directory)
4301         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
4302         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
4303         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
4304         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
4305         (tramp-sh-handle-set-visited-file-modtime)
4306         (tramp-sh-handle-set-file-modes)
4307         (tramp-sh-handle-file-name-all-completions)
4308         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
4309         (tramp-do-copy-or-rename-file-directly)
4310         (tramp-do-copy-or-rename-file-out-of-band)
4311         (tramp-sh-handle-make-directory)
4312         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
4313         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
4314         (tramp-sh-handle-start-file-process)
4315         (tramp-sh-handle-file-local-copy)
4316         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
4317         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
4318         (tramp-find-file-exists-command, tramp-open-shell)
4319         (tramp-find-shell)
4320         (tramp-open-connection-setup-interactive-shell)
4321         (tramp-find-inline-encoding, tramp-find-inline-compress)
4322         (tramp-compute-multi-hops, tramp-maybe-open-connection)
4323         (tramp-wait-for-output, tramp-send-command-and-check)
4324         (tramp-send-command-and-read, tramp-get-remote-path)
4325         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
4326         (tramp-get-ls-command-with-quoting-style)
4327         (tramp-get-test-command, tramp-get-remote-ln)
4328         (tramp-get-remote-perl, tramp-get-remote-stat)
4329         (tramp-get-remote-readlink, tramp-get-remote-trash)
4330         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
4331         (tramp-get-remote-inotifywait, tramp-get-remote-id)
4332         (tramp-get-remote-python):
4333         * lisp/net/tramp-smb.el (tramp-smb-errors)
4334         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
4335         (tramp-smb-handle-delete-directory)
4336         (tramp-smb-handle-delete-file)
4337         (tramp-smb-handle-file-local-copy)
4338         (tramp-smb-handle-make-directory)
4339         (tramp-smb-handle-make-directory-internal)
4340         (tramp-smb-handle-make-symbolic-link)
4341         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
4342         (tramp-smb-handle-set-file-modes)
4343         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
4344         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
4345         (tramp-process-actions):
4346         Generate diagnostics according to ‘text-quoting-style’, by
4347         using curved quotes in format strings and ‘format-message’
4348         when appropriate.
4349         * lisp/net/tramp-compat.el (format-message):
4350         Define a replacement, if it’s an older version of Emacs
4351         that doesn’t have it already.
4353         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
4355 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
4357         Fix documentation for `save-excursion'
4358         * doc/lispref/positions.texi (Excursions):
4359         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
4360         (Template for save-excursion, Point and mark): `save-excursion'
4361         does not save&restore the mark any more.
4363 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
4365         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
4366         New defconsts.
4367         (tramp-do-file-attributes-with-stat)
4368         (tramp-do-directory-files-and-attributes-with-stat): Use them.
4369         (tramp-convert-file-attributes): Remove double slashes in symlinks.
4370         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
4371         Handle symlinks with "//" in the file name.
4373         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
4375 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
4377         Fix cl-subseq and cl-concatenate
4378         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
4379         seq functions.
4380         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
4381         seq-concatenate.
4383 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
4385         Fix full-screen code when there is no window manager (Bug#21317)
4386         * src/xterm.h (x_wm_supports): Declare external.
4387         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
4388         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
4389         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
4390         `fullscreen' frame parameter.
4391         * gtkutil.c (x_wm_set_size_hint): Set size hints when running
4392         without a window manager.
4394 2015-08-24  Glenn Morris  <rgm@gnu.org>
4396         * lisp/version.el (emacs-version): No longer include build host
4397         * doc/lispref/intro.texi (Version Info): Update example.
4399 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4401         * doc/lispref/elisp.texi: Fix typo in previous change.
4403         More-conservative ‘format’ quote restyling
4404         Instead of restyling curved quotes for every call to ‘format’,
4405         create a new function ‘format-message’ that does the restyling,
4406         and using the new function instead of ‘format’ only in contexts
4407         where this seems appropriate.
4408         Problem reported by Dmitry Gutov and Andreas Schwab in:
4409         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
4410         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
4411         * doc/lispref/commands.texi (Using Interactive):
4412         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
4413         * doc/lispref/display.texi (Displaying Messages, Progress):
4414         * doc/lispref/elisp.texi:
4415         * doc/lispref/help.texi (Keys in Documentation):
4416         * doc/lispref/minibuf.texi (Minibuffer Misc):
4417         * doc/lispref/strings.texi (Formatting Strings):
4418         * etc/NEWS:
4419         Document the changes.
4420         * lisp/abbrev.el (expand-region-abbrevs):
4421         * lisp/apropos.el (apropos-library):
4422         * lisp/calc/calc-ext.el (calc-record-message)
4423         (calc-user-function-list):
4424         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
4425         * lisp/calc/calc-lang.el (math-read-big-balance):
4426         * lisp/calc/calc-store.el (calc-edit-variable):
4427         * lisp/calc/calc-units.el (math-build-units-table-buffer):
4428         * lisp/calc/calc-yank.el (calc-edit-mode):
4429         * lisp/calendar/icalendar.el (icalendar-export-region)
4430         (icalendar--add-diary-entry):
4431         * lisp/cedet/mode-local.el (mode-local-print-binding)
4432         (mode-local-describe-bindings-2):
4433         * lisp/cedet/semantic/complete.el (semantic-completion-message):
4434         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
4435         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
4436         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
4437         * lisp/descr-text.el (describe-text-properties-1, describe-char):
4438         * lisp/dframe.el (dframe-message):
4439         * lisp/dired-aux.el (dired-query):
4440         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
4441         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
4442         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
4443         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
4444         (cconv-analyze-form):
4445         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
4446         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
4447         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
4448         * lisp/emacs-lisp/edebug.el (edebug-format):
4449         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
4450         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
4451         (eldoc-message):
4452         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
4453         * lisp/emacs-lisp/find-func.el (find-function-library):
4454         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
4455         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
4456         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
4457         * lisp/emacs-lisp/package.el (package-compute-transaction)
4458         (package-install-button-action, package-delete-button-action)
4459         (package-menu--list-to-prompt):
4460         * lisp/emacs-lisp/timer.el (timer-event-handler):
4461         * lisp/emacs-lisp/warnings.el (lwarn, warn):
4462         * lisp/emulation/viper-cmd.el:
4463         (viper-toggle-parse-sexp-ignore-comments)
4464         (viper-kill-buffer, viper-brac-function):
4465         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
4466         * lisp/facemenu.el (facemenu-add-new-face):
4467         * lisp/faces.el (face-documentation, read-face-name)
4468         (face-read-string, read-face-font, describe-face):
4469         * lisp/files.el (find-alternate-file, hack-local-variables)
4470         (hack-one-local-variable--obsolete, write-file)
4471         (basic-save-buffer, delete-directory):
4472         * lisp/format.el (format-write-file, format-find-file)
4473         (format-insert-file):
4474         * lisp/help-fns.el (help-fns--key-bindings)
4475         (help-fns--compiler-macro, help-fns--obsolete)
4476         (help-fns--interactive-only, describe-function-1)
4477         (describe-variable):
4478         * lisp/help.el (describe-mode):
4479         * lisp/info-xref.el (info-xref-output):
4480         * lisp/info.el (Info-virtual-index-find-node)
4481         (Info-virtual-index, info-apropos):
4482         * lisp/international/kkc.el (kkc-error):
4483         * lisp/international/mule-cmds.el:
4484         (select-safe-coding-system-interactively)
4485         (select-safe-coding-system, describe-input-method):
4486         * lisp/international/mule-conf.el (code-offset):
4487         * lisp/international/mule-diag.el (describe-character-set)
4488         (list-input-methods-1):
4489         * lisp/international/quail.el (quail-error):
4490         * lisp/minibuffer.el (minibuffer-message):
4491         * lisp/mpc.el (mpc--debug):
4492         * lisp/msb.el (msb--choose-menu):
4493         * lisp/net/ange-ftp.el (ange-ftp-message):
4494         * lisp/net/gnutls.el (gnutls-message-maybe):
4495         * lisp/net/newst-backend.el (newsticker--sentinel-work):
4496         * lisp/net/newst-treeview.el (newsticker--treeview-load):
4497         * lisp/net/nsm.el (nsm-query-user):
4498         * lisp/net/rlogin.el (rlogin):
4499         * lisp/net/soap-client.el (soap-warning):
4500         * lisp/net/tramp.el (tramp-debug-message):
4501         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
4502         * lisp/nxml/nxml-parse.el (nxml-parse-error):
4503         * lisp/nxml/rng-cmpct.el (rng-c-error):
4504         * lisp/nxml/rng-match.el (rng-compile-error):
4505         * lisp/nxml/rng-uri.el (rng-uri-error):
4506         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
4507         * lisp/org/org-ctags.el:
4508         (org-ctags-ask-rebuild-tags-file-then-find-tag):
4509         * lisp/proced.el (proced-log):
4510         * lisp/progmodes/ebnf2ps.el (ebnf-log):
4511         * lisp/progmodes/flymake.el (flymake-log):
4512         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
4513         * lisp/replace.el (occur-1):
4514         * lisp/simple.el (execute-extended-command)
4515         (undo-outer-limit-truncate, define-alternatives):
4516         * lisp/startup.el (command-line):
4517         * lisp/subr.el (error, user-error, add-to-list):
4518         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
4519         (tutorial--find-changed-keys):
4520         * src/callint.c (Fcall_interactively):
4521         * src/editfns.c (Fmessage, Fmessage_box):
4522         Restyle the quotes of format strings intended for use as a
4523         diagnostic, when restyling seems appropriate.
4524         * lisp/subr.el (format-message): New function.
4525         * src/doc.c (Finternal__text_restyle): New function.
4526         (syms_of_doc): Define it.
4528 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4530         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
4532 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4534         python.el: Fix python-shell-buffer-substring on indented code
4535         (Bug#21086)
4536         * lisp/progmodes/python.el (python-shell-buffer-substring):
4537         Respect current line indentation when calculating string.
4538         * test/automated/python-tests.el
4539         (python-shell-buffer-substring-10)
4540         (python-shell-buffer-substring-11)
4541         (python-shell-buffer-substring-12): New tests.
4543 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4545         Fix minor glitches from ‘format’ reversion
4546         * doc/lispref/strings.texi (Formatting Strings):
4547         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
4548         Documentation’, not below.
4549         * src/syntax.c (Finternal_describe_syntax_value):
4550         Prefer AUTO_STRING to build_string where either will do, as
4551         AUTO_STRING is a bit faster.
4553 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4555         python.el: Defer shell setup code until first interactive prompt
4556         * lisp/progmodes/python.el
4557         (python-shell-comint-watch-for-first-prompt-output-filter): New
4558         function.
4559         (inferior-python-mode): Use it.
4560         (python-shell-first-prompt-hook): New hook.
4561         (python-shell-send-setup-code)
4562         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
4563         this hook instead of inferior-python-hook.
4565 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
4567         Remove the calls to `seq-into` from `seq-concatenate`
4568         Since most new types of seq would have to be defined as sequences (cons
4569         cells or CL structs, mostly), there is no need to convert the seqs to
4570         sequences (which can be a fairly expensive operation).
4571         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
4572         sequences.
4574 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4576         python.el: Fix completion for pdb interactions
4577         * lisp/progmodes/python.el (python-shell-completion-setup-code):
4578         Simplify.  Toggle print_mode for native wrapped completer.
4579         (python-shell-completion-native-setup): Ensure process buffer.
4580         Add print_mode attribute to completer wrapper to toggle returning
4581         or printing candidates.
4582         (python-shell-completion-native-get-completions): Cleanup.
4583         (python-shell-completion-get-completions): Cleanup.
4584         (python-shell-completion-at-point): Perform prompt checks.  Force
4585         fallback completion in pdb interactions.
4587 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
4589         Make seq.el more extensible by using cl-defmethod
4590         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
4591         make it easier to extend seq.el with new "seq types".
4592         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
4593         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
4594         subseq in cl-extra.el, and use it in seq.el.
4596 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4598         python.el: Fix prompt detection with user overridden interpreter
4599         * lisp/progmodes/python.el (python-shell-prompt-detect): Honor
4600         buffer local python-shell-interpreter and
4601         python-shell-interpreter-interactive-arg.
4603 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
4605         Support exec-directory with non-ASCII characters on Windows
4606         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
4607         in the system's ANSI codepage, when it is used for invoking
4608         cmdproxy.
4610 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
4612         Revert "Extend ‘format’ to translate curved quotes"
4613         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
4615         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
4616         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
4618 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
4620         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers): Clarify
4621         "invisible window".
4623 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
4625         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
4626         magic-fallback-mode-alist.
4628 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4630         python.el: fallback completion, ffap and eldoc setup enhancements
4631         Setup codes are now sent continuously so that the current frame is
4632         always taken into account.  This allows working within debuggers
4633         and always keeping a fresh version of setup codes that will return
4634         proper results.
4635         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
4636         (python-shell-send-setup-code): Send code only when
4637         python-shell-setup-codes is non-nil.
4638         (python-shell-completion-string-code): Cleanup trailing newline.
4639         (python-shell-completion-get-completions): Always use
4640         python-shell-completion-setup-code.
4641         (python-ffap-setup-code): Work with any object, not only modules.
4642         (python-ffap-string-code): Cleanup trailing newline.
4643         (python-ffap-module-path): Always use python-ffap-setup-code.
4644         (python-eldoc-string-code): Cleanup trailing newline.
4645         (python-eldoc--get-doc-at-point): Always use
4646         python-eldoc-setup-code.  Return non-nil only if docstring is
4647         found.
4649         python.el: Increase native completion robustness.
4650         * lisp/progmodes/python.el (python-shell-completion-native-setup):
4651         Make completer print real candidates and just return dummy ones to
4652         avoid input modification.
4653         (python-shell-completion-native-get-completions): Set
4654         comint-redirect-insert-matching-regexp to non-nil and make
4655         comint-redirect-finished-regexp match the last dummy candidate.
4656         Use python-shell-accept-process-output to wait for the full list
4657         of candidates.
4659 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
4661         Fix invocation of programs via cmdproxy.exe
4662         * src/w32proc.c (sys_spawnve): Use exec-directory, not
4663         invocation-directory, for finding cmdproxy.exe.  When Emacs is
4664         run from the source tree, look for cmdproxy.exe in the same source
4665         tree.  (Bug#21323)
4667 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
4669         Handle comments inside unquoted URIs in css-mode
4670         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
4671         (css-syntax-propertize-function): New defconst.
4672         (css--font-lock-keywords): Handle parens around unquoted URIs.
4673         (css-mode): Set `syntax-propertize-function'.
4675 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
4677         Support invocation of Hunspell with multiple dictionaries
4678         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file): Support
4679         lists of dictionaries of the form "DICT1,DICT2,...".
4680         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
4682         Minor formatting changes in ispell.el
4683         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
4684         (ispell-print-if-debug, ispell-aspell-find-dictionary)
4685         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
4686         (ispell-hunspell-dictionary-alist)
4687         (ispell-hunspell-fill-dictionary-entry)
4688         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
4689         (ispell-buffer-with-debug, ispell-complete-word)
4690         (ispell-current-dictionary, ispell-current-personal-dictionary)
4691         (ispell-accept-output, ispell-minor-mode)
4692         (ispell-personal-dictionary, ispell-dictionary-alist)
4693         (ispell-really-aspell, ispell-really-hunspell)
4694         (ispell-encoding8-command, ispell-aspell-supports-utf8)
4695         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
4696         Fix whitespace, inconsistent capitalization, and arguments in doc
4697         strings.
4699 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
4701         In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows.
4702         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
4703         function refused to resize a size-preserved window.
4705 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
4707         Improve documentation of 'window-use-time'
4708         * doc/lispref/windows.texi (Selecting Windows): Improve
4709         documentation and indexing of 'window-use-time'.
4711 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4713         * lisp/progmodes/cc-*.el: Fix up commenting style
4714         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
4715         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
4716         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
4717         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
4718         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
4719         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
4720         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
4721         Fix up commenting style.
4723 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4725         text-quoting-style in emacs-lisp diagnostics
4726         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
4727         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
4728         (ad-disable-advice, ad-remove-advice, ad-set-argument)
4729         (ad-set-arguments):
4730         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
4731         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
4732         (byte-optimize-while, byte-optimize-apply):
4733         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
4734         (byte-compile-log-file, byte-compile-format-warn)
4735         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
4736         (byte-compile-cl-warn)
4737         (byte-compile-warn-about-unresolved-functions)
4738         (byte-compile-file, byte-compile-fix-header)
4739         (byte-compile--declare-var, byte-compile-file-form-defmumble)
4740         (byte-compile-form, byte-compile-normal-call)
4741         (byte-compile-variable-ref, byte-compile-variable-set)
4742         (byte-compile-subr-wrong-args, byte-compile-setq-default)
4743         (byte-compile-negation-optimizer)
4744         (byte-compile-condition-case--old)
4745         (byte-compile-condition-case--new, byte-compile-save-excursion)
4746         (byte-compile-defvar, byte-compile-autoload)
4747         (byte-compile-lambda-form)
4748         (byte-compile-make-variable-buffer-local, display-call-tree)
4749         (batch-byte-compile):
4750         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
4751         (cconv-analyze-form):
4752         * lisp/emacs-lisp/chart.el (chart-space-usage):
4753         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
4754         (check-declare-warn, check-declare-file)
4755         (check-declare-directory):
4756         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
4757         (checkdoc-message-text-engine):
4758         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
4759         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
4760         (cl-symbol-macrolet):
4761         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
4762         * lisp/emacs-lisp/copyright.el (copyright)
4763         (copyright-update-directory):
4764         * lisp/emacs-lisp/edebug.el (edebug-read-list):
4765         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
4766         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
4767         (eieio-oref, eieio-oset-default):
4768         * lisp/emacs-lisp/eieio-speedbar.el:
4769         (eieio-speedbar-child-make-tag-lines)
4770         (eieio-speedbar-child-description):
4771         * lisp/emacs-lisp/eieio.el (defclass, change-class):
4772         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
4773         (elint-init-form, elint-check-defalias-form)
4774         (elint-check-let-form):
4775         * lisp/emacs-lisp/ert.el (ert-get-test):
4776         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
4777         (find-function-library):
4778         * lisp/emacs-lisp/generator.el (iter-yield):
4779         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
4780         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
4781         * lisp/emacs-lisp/package-x.el (package-upload-file):
4782         * lisp/emacs-lisp/package.el (package-version-join)
4783         (package-disabled-p, package-activate-1, package-activate)
4784         (package--download-one-archive)
4785         (package--download-and-read-archives)
4786         (package-compute-transaction, package-install-from-archive)
4787         (package-install, package-install-selected-packages)
4788         (package-delete, package-autoremove)
4789         (package-install-button-action, package-delete-button-action)
4790         (package-menu-hide-package, package-menu--list-to-prompt)
4791         (package-menu--perform-transaction)
4792         (package-menu--find-and-notify-upgrades):
4793         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
4794         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
4795         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
4796         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
4797         * lisp/emacs-lisp/smie.el (smie-config-save):
4798         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
4799         * lisp/emacs-lisp/testcover.el (testcover-1value):
4800         Use curved quotes in diagnostic format strings.
4802 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4804         python.el: Ensure remote process-environment on non-interactive processes
4805         * lisp/progmodes/python.el
4806         (python-shell-tramp-refresh-process-environment): New function.
4807         (python-shell-with-environment): Use it.
4808         * test/automated/python-tests.el (python-shell-with-environment-2):
4809         Update.
4811         python.el: Enhancements to process environment setup.
4812         * lisp/progmodes/python.el (python-shell-process-environment)
4813         (python-shell-extra-pythonpaths, python-shell-exec-path)
4814         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
4815         (python-shell-setup-codes): Remove :safe.
4816         (python-shell-remote-exec-path): New defcustom.
4817         (python-shell--add-to-path-with-priority): New macro.
4818         (python-shell-calculate-pythonpath): Give priority to
4819         python-shell-extra-pythonpaths.  Update docstring.
4820         (python-shell-calculate-process-environment): Give priority to
4821         python-shell-process-environment.  Update docstring.
4822         (python-shell-calculate-exec-path): Give priority to
4823         python-shell-exec-path and calculated virtualenv bin directory.
4824         Update docstring.
4825         (python-shell-tramp-refresh-remote-path): New function.
4826         (python-shell-with-environment): Use it when working remotely and
4827         do not modify tramp-remote-path.  Allow nesting.
4828         (python-shell-calculate-command): Remove useless
4829         python-shell-with-environment call.
4830         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
4831         (python-shell-calculate-pythonpath-2)
4832         (python-shell-calculate-process-environment-6)
4833         (python-shell-calculate-process-environment-7)
4834         (python-shell-calculate-process-environment-8)
4835         (python-shell-calculate-exec-path-3)
4836         (python-shell-calculate-exec-path-4)
4837         (python-shell-calculate-exec-path-5)
4838         (python-shell-calculate-exec-path-6)
4839         (python-shell-with-environment-3): New tests.
4840         (python-shell-calculate-process-environment-2)
4841         (python-shell-calculate-process-environment-3)
4842         (python-shell-calculate-process-environment-4)
4843         (python-shell-calculate-process-environment-5)
4844         (python-shell-calculate-exec-path-1)
4845         (python-shell-calculate-exec-path-2)
4846         (python-shell-with-environment-1)
4847         (python-shell-with-environment-2): Update and simplify.
4849 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4851         Avoid hard-coding "M-x command" in docstrings
4852         * lisp/calendar/todo-mode.el (todo-mode):
4853         * lisp/desktop.el (desktop-save-mode):
4854         * lisp/edmacro.el (edit-kbd-macro):
4855         * lisp/emacs-lisp/package.el (package-menu-execute):
4856         * lisp/emulation/viper-cmd.el (viper-ask-level):
4857         * lisp/emulation/viper-init.el (viper-expert-level):
4858         * lisp/filesets.el (filesets-add-buffer):
4859         * lisp/follow.el (follow-mode):
4860         * lisp/gnus/auth-source.el (auth-sources):
4861         * lisp/international/ogonek.el (ogonek-informacja)
4862         (ogonek-information):
4863         * lisp/net/tramp.el (tramp-process-actions):
4864         * lisp/org/org-gnus.el (org-gnus-no-new-news):
4865         * lisp/org/org.el (org-ellipsis):
4866         * lisp/progmodes/python.el (python-shell-get-process-or-error):
4867         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
4868         * lisp/server.el (server-start):
4869         * lisp/type-break.el (type-break-noninteractive-query):
4870         * lisp/userlock.el (ask-user-about-supersession-help):
4871         * lisp/whitespace.el (whitespace-report-region):
4872         Prefer (substitute-command-keys "`\\[foo-command]'")
4873         to "`M-x foo-command'" in docstrings and the like.
4875 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
4877         Use add-function for prettify-symbols-compose-predicate
4878         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
4879         prettify-symbols-compose-predicate in terms of add-function.
4880         * etc/NEWS: Mention prettify-symbols-compose-predicate and
4881         prettify-symbols-mode support in tex-mode.
4883 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4885         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun
4886         (smie-indent-exps, smie-indent-keyword): Use it.
4887         * test/indent/css-mode.css: Test alignment with leading comment.
4889 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4891         Respect text-quoting-style in (*Finder*) menus
4892         * lisp/info.el (info--prettify-description):
4893         Treat description as a docstring, so that it's requoted as
4894         per text-quoting-style.
4896 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
4898         Document `window-use-time' in Elisp manual
4899         * doc/lispref/windows.texi (Selecting Windows): Document
4900         `window-use-time'.
4902 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
4904         A better fix for bug#21303
4905         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.  This is a
4906         cleaner fix for Bug#21260 than the previous change.
4908 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4910         Respect text-quoting-style in calc
4911         In calc, tespect text-quoting-style preference in diagnostic
4912         formats and fix a few similar problems in docstrings.
4913         * lisp/calc/calc-aent.el (math-read-factor):
4914         * lisp/calc/calc-embed.el (calc-do-embedded):
4915         * lisp/calc/calc-ext.el (calc-user-function-list)
4916         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
4917         * lisp/calc/calc-help.el (calc-describe-key)
4918         (calc-describe-thing):
4919         * lisp/calc/calc-lang.el (calc-c-language)
4920         (math-parse-fortran-vector-end, math-parse-tex-sum)
4921         (math-parse-eqn-matrix, math-parse-eqn-prime)
4922         (calc-yacas-language, calc-maxima-language, calc-giac-language)
4923         (math-read-big-rec, math-read-big-balance):
4924         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
4925         (calc-auto-recompute):
4926         * lisp/calc/calc-prog.el (calc-user-define-invocation)
4927         (math-do-arg-check):
4928         * lisp/calc/calc-store.el (calc-edit-variable):
4929         * lisp/calc/calc-units.el (math-build-units-table-buffer):
4930         * lisp/calc/calc-vec.el (math-read-brackets):
4931         * lisp/calc/calc-yank.el (calc-edit-mode):
4932         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
4933         Use curved quotes in diagnostic format strings.
4934         * lisp/calc/calc-help.el (calc-describe-thing):
4935         Format docstrings with substitute-command-keys.
4936         * lisp/calc/calc-help.el (calc-j-prefix-help):
4937         * lisp/calc/calc-misc.el (calc-help):
4938         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
4939         Escape a docstring "`".
4941 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
4943         Fix documentation of 'menu-set-font' and 'set-frame-font'
4944         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
4945         * doc/lispref/frames.texi (Frame Font): Document that
4946         set-frame-font with the last argument 't' will also make the font
4947         the default for the future GUI frames.
4949         Document '--create-frame' option to emacsclient
4950         * doc/emacs/misc.texi (emacsclient Options): Document the
4951         '--create-frame' option.  (Bug#21308)
4953 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4955         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
4957 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
4959         Document 'get-mru-window' in the ELisp manual
4960         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
4961         'get-mru-window'.  (Bug#21306)
4963         Clarify documentation of 'get-buffer-window-list'
4964         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
4965         current window, if relevant, will be the first in the list
4966         returned by 'get-buffer-window-list'.
4967         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
4969 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
4971         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
4972         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
4973         `switch-to-buffer'.
4975 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
4977         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
4978         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
4979         `display-buffer' instead of `switch-to-buffer'.
4981 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4983         Follow user preference in calendar diagnostics
4984         Respect text-quoting-style preference in diagnostic formats by
4985         using curved quotes (which are translated as per text-quoting-style)
4986         instead of grave accent and apostrophe (which are not).
4987         * lisp/calendar/appt.el (appt-display-message):
4988         * lisp/calendar/diary-lib.el (diary-check-diary-file)
4989         (diary-mail-entries, diary-from-outlook):
4990         * lisp/calendar/icalendar.el (icalendar-export-region)
4991         (icalendar--convert-float-to-ical)
4992         (icalendar--convert-date-to-ical)
4993         (icalendar--convert-ical-to-diary)
4994         (icalendar--convert-recurring-to-diary)
4995         (icalendar--add-diary-entry):
4996         * lisp/calendar/time-date.el (format-seconds):
4997         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
4998         (timeclock-make-hours-explicit):
4999         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
5000         (todo-item-mark, todo-check-format)
5001         (todo-insert-item--next-param, todo-edit-item--next-key)
5002         (todo-mode):
5003         Use curved quotes in diagnostic format strings.
5004         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
5005         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
5006         Just use straight quoting for simple test case.
5008 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
5010         * src/gfilenotify.c (Fgfile_add_watch):
5011         Handle errors from g_file_monitor.
5013 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
5015         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
5016         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
5017         frame" instead of "non-minibuffer frame".
5019         Fix frame geometry related text
5020         * doc/lispref/frames.texi (Frame Layout): Rename
5021         `x-frame-geometry' to `frame-geometry'.
5022         * doc/lispref/frames.texi (Mouse Position):
5023         * doc/lispref/windows.texi (Coordinates and Windows): Use
5024         `set-mouse-absolute-pixel-position' instead of
5025         `x-set-mouse-absolute-pixel-position'.
5027         Sanitize frame geometry related functions
5028         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
5029         (Fx_frame_edges): Rename to Fns_frame_edges.
5030         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
5031         (Fx_frame_edges): Rename to Fw32_frame_edges.
5032         (Fx_mouse_absolute_pixel_position): Rename to
5033         Fw32_mouse_absolute_pixel_position.
5034         (Fx_set_mouse_absolute_pixel_position): Rename to
5035         Fw32_set_mouse_absolute_pixel_position.
5036         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
5037         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
5038         (ns-frame-edges, w32-mouse-absolute-pixel-position)
5039         (x-mouse-absolute-pixel-position)
5040         (w32-set-mouse-absolute-pixel-position)
5041         (x-set-mouse-absolute-pixel-position): Declare.
5042         (frame-geometry, mouse-absolute-pixel-position)
5043         (set-mouse-absolute-pixel-position): New functions.
5044         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
5046 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
5048         Fix MinGW64 build broken by latest w32uniscribe.c changes
5049         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
5050         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
5051         (Bug#21260)
5053 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
5055         Add TeX defaults for prettify-symbol-mode
5056         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename
5057         from tex-prettify-symbols-alist.
5058         (tex--prettify-symbols-compose-p): New function.
5059         (tex-common-initialization): Use them as prettify-symbols-alist
5060         and prettify-symbols-compose-predicate.
5062         Generalize prettify-symbols to arbitrary modes
5063         * lisp/progmodes/prog-mode.el
5064         (prettify-symbols-default-compose-p): New function.
5065         (prettify-symbols-compose-predicate): New variable.
5066         (prettify-symbols--compose-symbol): Use it.
5068 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5070         Don't quote symbols 'like-this' in docstrings etc.
5071         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
5072         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
5073         * lisp/allout.el (allout-add-resumptions, allout-mode):
5074         * lisp/calculator.el (calculator-operators):
5075         * lisp/cedet/data-debug.el (dd-propertize):
5076         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
5077         * lisp/cedet/semantic/analyze/debug.el:
5078         (semantic-analyzer-debug-global-miss-text):
5079         * lisp/cedet/semantic/lex-spp.el:
5080         (semantic-lex-spp-replace-or-symbol-or-keyword):
5081         * lisp/cedet/semantic/symref.el:
5082         (semantic-symref-cleanup-recent-buffers-fcn):
5083         * lisp/cedet/semantic/tag.el (semantic-tag-class):
5084         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
5085         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
5086         * lisp/gnus/pop3.el (pop3-authentication-scheme):
5087         * lisp/help-fns.el (describe-function-orig-buffer):
5088         * lisp/imenu.el (imenu--history-list):
5089         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
5090         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
5091         (feedmail-queue-default-file-slug)
5092         (feedmail-queue-buffer-file-name):
5093         * lisp/net/mairix.el (mairix-searches-mode-map):
5094         * lisp/net/newst-backend.el (newsticker-retrieval-method)
5095         (newsticker-auto-mark-filter-list):
5096         * lisp/obsolete/vi.el (vi-mode):
5097         * lisp/progmodes/cc-engine.el (c-literal-type):
5098         * lisp/progmodes/cpp.el (cpp-face):
5099         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
5100         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
5101         * lisp/progmodes/pascal.el (pascal-auto-lineup):
5102         * lisp/progmodes/prog-mode.el (prog-widen):
5103         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
5104         (verilog-auto-lineup, verilog-auto-reset-widths)
5105         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
5106         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
5107         (flyspell-maybe-correct-doubling):
5108         * lisp/textmodes/table.el (table-justify, table-justify-cell)
5109         (table-justify-row, table-justify-column, table-insert-sequence)
5110         (table--justify-cell-contents):
5111         * lisp/url/url-auth.el (url-get-authentication):
5112         * lisp/window.el (display-buffer-record-window):
5113         * lisp/xml.el (xml-parse-file, xml-parse-region):
5114         * src/gfilenotify.c (Fgfile_add_watch):
5115         Don't quote symbols with apostrophes in doc strings.
5116         Use asymmetric quotes instead.
5117         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
5118         Likewise for symbol in diagnostic.
5119         * lisp/image.el (image-extension-data):
5120         * lisp/register.el (frame-configuration-to-register):
5121         * src/buffer.c (syms_of_buffer):
5122         Remove bogus apostrophes after symbols.
5123         * lisp/thumbs.el (thumbs-conversion-program):
5124         Quote Lisp string values using double-quotes, not apostrophes.
5126 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
5128         Describe frame geometry and related functions in Elisp manual
5129         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
5130         (Showing Images): Update references.
5131         * doc/lispref/elisp.texi (Top): Update node listing.
5132         * doc/lispref/frames.texi (Frame Geometry): New node.  Move
5133         `Size and Position' section here.
5134         (Size Parameters): Update references.
5135         (Mouse Position): Update references and nomenclature.  Describe
5136         new functions `x-mouse-absolute-pixel-position' and
5137         `x-set-mouse-absolute-pixel-position'.
5138         * doc/lispref/windows.texi (Window Sizes): Update references.
5139         (Resizing Windows): Update references.  Move description of
5140         `fit-frame-to-buffer' here.
5141         (Coordinates and Windows): Update nomenclature and references.
5142         Describe new arguments of `window-edges'.  Comment out
5143         descriptions of `window-left-column', `window-top-line',
5144         `window-pixel-left' and `window-pixel-top'.  Describe
5145         `window-absolute-pixel-position'.
5147 2015-08-20  Alan Mackenzie  <acm@muc.de>
5149         Handling of `c-parse-state'.  Fix low level bug.
5150         progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): Add
5151         "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
5153 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
5155         In `widget-color--choose-action' quit *Color* window instead of deleting it
5156         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
5157         window instead of deleting it.
5159 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
5161         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
5162         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
5163         determine whether frame has a titlebar.
5164         Suggested by Eli Zaretskii <eliz@gnu.org>
5166 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
5168         Add a prettify-symbols-alist for (La)TeX
5169         * tex-mode.el (tex-prettify-symbols-alist): New variable holding
5170         an alist suitable as prettify-symbols-alist in (La)TeX modes.
5172 2015-08-19  Alan Mackenzie  <acm@muc.de>
5174         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
5175         Fixes debbugs#21275.
5176         In Emacs >= 25, let electric-pair-mode take precedence over
5177         delete-selection-mode.
5178         delsel.el (delete-selection-uses-region-p): New function, previously a
5179         lambda expression in a property value for `self-insert-command'.
5180         (top-level) Set the `delete-selection' property of `self-insert-command'
5181         to `delete-selection-uses-region-p'.
5182         progmodes/cc-cmds.el (top-level): Give the `delete-selection' property
5183         for c-electric-\(brace\|paren\) the value
5184         `delete-selection-uses-region-p' when the latter function exists.
5186 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5188         Fix key binding quoting in tutorial *Help*
5189         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
5190         When generating help for custom key bindings, use the user-preferred
5191         quoting style rather than hardcoding the grave style.
5193 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
5195         Improve and future-proof OTF fonts support in w32uniscribe.c
5196         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
5197         about the expected results and why the new Uniscribe APIs are not
5198         used in this function.
5199         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
5200         (ScriptGetFontFeatureTags_Proc): New function typedefs.
5201         (uniscribe_new_apis): New static variable.
5202         (uniscribe_check_features): New function, implements OTF features
5203         verification while correctly accounting for features in the list
5204         after the nil member, if any.
5205         (uniscribe_check_otf_1): New function, retrieves the features
5206         supported by the font for the requested script and language using
5207         the Uniscribe APIs available from Windows Vista onwards.
5208         (uniscribe_check_otf): If the new Uniscribe APIs are available,
5209         use them in preference to reading the font data directly.  Call
5210         uniscribe_check_features to verify that the requested features are
5211         supported, replacing the original incomplete code.
5212         (syms_of_w32uniscribe): Initialize function pointers for the new
5213         Uniscribe APIs.  (Bug#21260)
5214         (otf_features): Scan the script, langsys, and feature arrays back
5215         to front, so that the result we return has them in alphabetical
5216         order, like ftfont.c does.
5217         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
5218         New variable for debugging w32uniscribe.c code.
5220 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
5222         * isearch.el (isearch-search-fun-default): Revert a5bdb87
5223         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
5224         clause of `isearch-search-fun-default'. That lax variable does not
5225         refer to lax-whitespacing.  Related to (bug#21777).
5226         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
5227         * character-fold.el (character-fold-search): Set to nil.
5228         Default to nil for now, until someone implements proper
5229         lax-whitespacing with char-fold searching.
5231 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
5233         Fix doc-string of `help-mode-finish'.
5234         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
5236         In nsimage.m include coding.h (Bug#21292)
5237         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
5239         Move window edge functions to Elisp.
5240         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
5241         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
5242         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
5243         Move to window.el.
5244         (calc_absolute_offset): Remove.
5245         * lisp/frame.el (frame-edges): New function.
5246         * lisp/window.el (window-edges, window-pixel-edges)
5247         (window-absolute-pixel-edges): Move here from window.c.
5248         (window-body-edges, window-body-pixel-edges)
5249         (window-absolute-body-pixel-edges): Move here from window.c and
5250         rename "inside" to "body".  Keep old names as aliases.
5251         (window-absolute-pixel-position): New function.
5253 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
5255         [Gnus]: Use overlay functions directly
5256         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
5257         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
5258         (gnus-article-highlight-signature, gnus-article-extend-url-button)
5259         (gnus-article-add-button, gnus-insert-prev-page-button)
5260         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
5261         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
5262         (gnus-cite-add-face):
5263         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
5264         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
5265         (gnus-tree-recenter, gnus-highlight-selected-tree):
5266         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
5267         (gnus-summary-show-thread, gnus-summary-hide-thread)
5268         (gnus-highlight-selected-summary):
5269         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
5270         * lisp/gnus/message.el (message-fix-before-sending)
5271         (message-toggle-image-thumbnails):
5272         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
5273         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
5274         Use overlay functions directly instead of using gnus-overlay-*,
5275         message-overlay-*, and sieve-overlay-*.
5276         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
5277         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
5278         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
5279         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
5280         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
5281         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
5282         (message-overlay-get, message-overlay-put, message-overlays-in):
5283         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
5284         (sieve-overlays-at): Remove.
5286 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
5288         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version.
5289         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
5290         builds can use the declaration from the system headers.
5291         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
5292         definition of TITLEBAR_INFO.
5293         Suggested by Eli Zaretskii  <eliz@gnu.org>
5295 2015-08-19  Glenn Morris  <rgm@gnu.org>
5297         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
5299 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5301         Use new q ‘format’ flag when fixing quotes in C
5302         * src/image.c (image_size_error): New function.  All uses of
5303         image_error with "Invalid image size ..."  changed to use it.
5304         * src/image.c (image_size_error, xbm_load_image, xbm_load)
5305         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
5306         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
5307         (imagemagick_load, svg_load, svg_load_image, gs_load)
5308         (x_kill_gs_process):
5309         * src/lread.c (load_warn_old_style_backquotes):
5310         * src/xfaces.c (load_pixmap):
5311         * src/xselect.c (x_clipboard_manager_error_1):
5312         Use %qs, not uLSQM and uRSQM.
5313         * src/syntax.c (Finternal_describe_syntax_value):
5314         Prefer Fsubstitute_command_keys to Fformat, as this lets
5315         us use AUTO_STRING.
5316         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
5317         as it's now guaranteed to be ASCII.
5318         * src/xselect.c (x_clipboard_manager_error_2):
5319         Avoid grave accent in low-level stderr diagnostic.
5321 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
5323         New q flag for ‘format’
5324         * doc/lispref/processes.texi (Sentinels):
5325         Don't hardwire grave quoting style in example.
5326         * doc/lispref/strings.texi (Formatting Strings):
5327         * etc/NEWS:
5328         Document new q flag.
5329         * src/editfns.c (Fformat): Implement it.
5331 2015-08-18  Daiki Ueno  <ueno@gnu.org>
5333         pinentry.el: Add debugging support
5334         * lisp/net/pinentry.el (pinentry-debug): New variable.
5335         (pinentry-debug-buffer): New variable.
5336         (pinentry--process-filter): Send input to the debug buffer, if
5337         `pinentry-debug' is set.
5339         pinentry.el: Improve multiline prompt
5340         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
5341         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
5342         command.
5344 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
5346         Fix multibyte confusion in diagnostics
5347         * src/print.c (print_error_message):
5348         Don't assume that the caller's name is unibyte.
5349         * src/xdisp.c (vadd_to_log):
5350         Don't assume that the formatted diagnostic is unibyte.
5352         Fix file name encodings in diagnostics
5353         Also, close some minor races when opening image files, by opening
5354         them once instead of multiple times.
5355         * src/gtkutil.c (xg_get_image_for_pixmap):
5356         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
5357         (svg_load):
5358         * src/nsimage.m (allocInitFromFile:):
5359         * src/xfns.c (xg_set_icon):
5360         Encode file name, since x_find_image_file no longer does that.
5361         * src/image.c (x_find_image_fd): New function.
5362         (x_find_image_file): Use it.  Do not encode resulting file name,
5363         since callers sometimes need it decoded.
5364         (slurp_file): File arg is now a fd, not a file name.
5365         All callers changed.  This saves us having to open the file twice.
5366         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
5367         (svg_load):
5368         Use x_find_image_fd and fdopen to save a file-open.
5369         Report file name that failed.
5370         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
5372 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
5374         Allow blink-matching-paren to jump off screen
5375         * doc/emacs/programs.texi (Matching): Mention the
5376         `blink-matching-paren' value `jump-offscreen'.
5377         * lisp/simple.el (blink-matching-paren): New possible value.
5378         (blink-matching-paren-on-screen): Clarify the docstring.
5379         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
5381         Refine the previous change
5382         * lisp/simple.el (blink-matching-open): Use minibuffer-message
5383         outside of save-excursion (bug#21286).
5385 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
5387         Rewrite and add frame geometry related functions.
5388         * src/frame.c (Fframe_position): New function.
5389         (Fset_frame_position): Rename parameters and rewrite doc-string.
5390         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
5391         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
5392         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
5393         Qtitle_bar_size.
5394         * src/nsfns.m (frame_geometry): New function.
5395         (Fx_frame_geometry): Call frame_geometry.
5396         (Fx_frame_edges): New function.
5397         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
5398         (GetTitleBarInfo_Proc): Define these so we can use the
5399         GetTitleBarInfo API.
5400         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
5401         (Fx_frame_geometry): Rewrite.
5402         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
5403         (Fx_set_mouse_absolute_pixel_position): New functions.
5404         * src/xfns.c (frame_geometry): New function.
5405         (Fx_frame_geometry): Call frame_geometry.
5406         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
5407         (Fx_set_mouse_absolute_pixel_position): New functions.
5409 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
5411         Improve Tramp's compatibility
5412         * lisp/net/tramp.el (tramp-get-method-parameter):
5413         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
5414         (tramp-adb-get-device):
5415         * lisp/net/trampver.el (tramp-repository-get-version):
5416         Use `tramp-compat-replace-regexp-in-string'.
5418 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
5420         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
5421         Encode/decode string.
5423 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
5425         Clarify what happens to match data on failure
5426         Problem reported by Ernesto Alfonso (Bug#21279).
5427         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
5428         Document more carefully what happens to match data after a failed
5429         search.
5430         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
5431         the return value is undefined if the last search failed.
5432         (Fmatch_data): Simplify doc string line 1.
5434 2015-08-18  Daiki Ueno  <ueno@gnu.org>
5436         Revert "pinentry.el: Support external passphrase cache"
5437         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
5438         pinentry.el shouldn't directly interact with the secrets service,
5439         but ask the caller to cache the passphrase.
5441 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
5443         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
5444         Message mode hooks.
5446 2015-08-17  Daiki Ueno  <ueno@gnu.org>
5448         epg.el: Make gpgconf output parsing future proof
5449         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
5450         --list-options" output.
5452         pinentry.el: Support external passphrase cache
5453         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
5454         (pinentry--allow-external-password-cache): New local variable.
5455         (pinentry--key-info): New local variable.
5456         (secrets-enabled, secrets-search-items, secrets-get-secret):
5457         Declare.
5458         (pinentry--send-passphrase): New function, split from
5459         `pinentry--process-filter'.
5460         (pinentry--process-filter): Use secrets.el to retrieve passphrase
5461         from login keyring.
5463         pinentry.el: Popup window for multiline prompt
5464         * lisp/net/pinentry.el (pinentry): New custom group.
5465         (pinentry-popup-prompt-window): New user option.
5466         (pinentry-prompt-window-height): New user option.
5467         (pinentry--prompt-buffer): New variable.
5468         (pinentry-prompt-mode-map): New variable.
5469         (pinentry-prompt-mode): New function.
5470         (pinentry--prompt): New function.
5471         (pinentry--process-filter): Use `pinentry--prompt' instead of
5472         `read-passwd' and `y-or-n-p'.
5474 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
5476         message.el: Silent the byte compiler
5477         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
5478         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
5479         (message-delete-overlay, message-window-inside-pixel-edges):
5480         Declare before using.
5482         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
5483         (message-window-inside-pixel-edges): XEmacs compatible functions.
5485 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
5487         * message.el (message-toggle-image-thumbnails): New command.
5489 2015-08-17  Noah Friedman  <friedman@splode.com>
5491         (blink-matching-open): Restore point before calling minibuffer-message.
5493 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
5495         * lisp/play/dunnet.el: Update version number in header (now
5496         matches help).
5498 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
5500         Curved quotes in --batch diagnostics in non-UTF-8
5501         When run with --batch, check that curved quotes are compatible with
5502         the system locale before outputting them in diagnostics.
5503         Problem reported by Eli Zaretskii in:
5504         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
5505         * lisp/startup.el (command-line): Set internal--text-quoting-flag
5506         after the standard display table is initialized.
5507         * src/doc.c (default_to_grave_quoting_style): New function.
5508         (text_quoting_style): Use it.
5509         (text_quoting_flag): New static var, visible to Lisp as
5510         internal--text-quoting-flag.
5511         * src/emacs.c: Include <wchar.h> if available.
5512         (using_utf8): New function.
5513         (main): Use it to initialize text_quoting_flag.
5514         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
5515         Don't define, as it's not needed and it clashes with wchar.h.
5517 2015-08-17  Glenn Morris  <rgm@gnu.org>
5519         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
5520         from makeinfo about spurious "Note:" cross-reference, and for grammar.
5522 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
5524         Minor change in variable initialization on MS-Windows
5525         * src/w32fns.c <after_dead_key>: Initialize to -1.
5526         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
5527         non-zero.
5529         Fix a bug with LWindow key remapping on MS-Windows
5530         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
5532 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
5534         Improve fontset support for latest OTF script tags
5535         * lisp/international/fontset.el (otf-script-alist): Add some
5536         missing script tags.
5537         (setup-default-fontset): Include settings for v2 versions of the
5538         script tags used by some modern OTF/TTF fonts.
5540 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
5542         Spelling fixes
5544 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
5546         Use curved quotes in core elisp diagnostics
5547         In the core elisp files, use curved quotes in diagnostic formats,
5548         so that they follow user preference as per ‘text-quoting-style’
5549         rather than being hard-coded to quote `like this'.
5550         * lisp/abbrev.el (expand-region-abbrevs):
5551         * lisp/button.el (button-category-symbol, button-put)
5552         (make-text-button):
5553         * lisp/cus-start.el:
5554         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
5555         (custom--sort-vars-1, load-theme):
5556         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
5557         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
5558         (cl-generic-generalizers):
5559         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
5560         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
5561         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
5562         (advice--make, define-advice):
5563         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
5564         * lisp/emacs-lisp/timer.el (timer-event-handler):
5565         * lisp/env.el (setenv):
5566         * lisp/facemenu.el (facemenu-add-new-face)
5567         (facemenu-add-new-color):
5568         * lisp/faces.el (face-documentation, read-face-name)
5569         (face-read-string, read-face-font, face-spec-set-match-display)
5570         (read-color, x-resolve-font-name):
5571         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
5572         (set-auto-mode, hack-local-variables)
5573         (hack-one-local-variable--obsolete)
5574         (dir-locals-set-directory-class, write-file)
5575         (basic-save-buffer, delete-directory, copy-directory)
5576         (recover-session, recover-session-finish, insert-directory)
5577         (file-modes-char-to-who, file-modes-symbolic-to-number)
5578         (move-file-to-trash):
5579         * lisp/font-lock.el (font-lock-fontify-buffer):
5580         * lisp/format.el (format-write-file, format-find-file)
5581         (format-insert-file):
5582         * lisp/frame.el (get-device-terminal, select-frame-by-name):
5583         * lisp/fringe.el (fringe--check-style):
5584         * lisp/help.el (describe-minor-mode-from-indicator):
5585         * lisp/image.el (image-type):
5586         * lisp/international/fontset.el (x-must-resolve-font-name):
5587         * lisp/international/mule-cmds.el (prefer-coding-system)
5588         (select-safe-coding-system-interactively)
5589         (select-safe-coding-system, activate-input-method)
5590         (toggle-input-method, describe-current-input-method):
5591         * lisp/international/mule-conf.el (code-offset):
5592         * lisp/mouse.el (minor-mode-menu-from-indicator):
5593         * lisp/replace.el (query-replace-read-from)
5594         (occur-after-change-function, occur-1):
5595         * lisp/scroll-bar.el (scroll-bar-columns):
5596         * lisp/simple.el (execute-extended-command)
5597         (undo-outer-limit-truncate, compose-mail, set-variable)
5598         (choose-completion-string, define-alternatives):
5599         * lisp/startup.el (site-run-file, tty-handle-args, )
5600         (command-line, command-line-1):
5601         * lisp/subr.el (noreturn, define-error, add-to-list)
5602         (read-char-choice):
5603         * lisp/term/common-win.el (x-handle-xrm-switch)
5604         (x-handle-name-switch, x-handle-args):
5605         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
5606         Use curved quotes in diagnostics.
5607         * lisp/international/mule.el (find-auto-coding):
5608         Use " to quote in a diagnostic, to be consistent with the rest of
5609         this file.
5611         Convert lisp/term/x-win.el to UTF-8
5612         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
5613         runtime behavior, and the file is multilingual so compile-time
5614         appearance shouldn't be an issue.
5615         * admin/notes/unicode: Document this.
5617 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
5619         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
5620         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
5621         issues and comments, bug#943.
5622         (verilog-type-font-keywords): Cycle delay operators like ##1 and
5623         ##[0:$] are now highlighted in their entirety similarly to the #
5624         delay-control operator.  Likewise, the followed-by operators #-#
5625         and #=# are no longer partially highlighed.
5626         (verilog-backward-syntactic-ws-quick)
5627         (verilog-skip-backward-comments): Minor performance improvements
5628         to buffer traversal functions for reduced latency.
5629         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
5630         keyword 'final' follows 'assert/assume/cover', then it is part of
5631         a deferred immediate assertion item and should not be treated as a
5632         final construct for indentation.  Reported by Yuri Sugihara.
5633         (verilog-do-indent): Virtual task/function/class definition lines
5634         should not be considered as declarations.  Reported by Enzo Chi.
5635         (verilog-do-indent): Do not falsely indent to '=' of
5636         property/sequence operators on subsequent lines of a multi-line
5637         statement.
5638         (verilog-assignment-operator-re): Fix '!==' operator and add
5639         support for '<->', ':/', '#-#', and '#=#' operators.
5640         (verilog-calculate-indent, verilog-label-be): Enable
5641         case-sensitive regular expression parsing when looking for
5642         keywords.
5643         (verilog-calc-1): Detect 'pure virtual method' declarations which
5644         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
5645         (verilog-backward-ws&directives): When moving back to the start of
5646         a line and the preceeding line ended with an escaped-newline, then
5647         jump up one line.  This properly consumes a multi-line
5648         pre-processor directive.  Reported by Kaushal Modi.
5649         (verilog-dpi-import-export-re, verilog-extended-complete-re)
5650         (verilog-calc-1): Teach verilog-mode to properly indent after a
5651         DPI import/export statement that resides outside of a module.
5652         Reported by Kaushal Modi.
5653         (verilog-extended-complete-re): Update regexp to match both
5654         "DPI-C" and "DPI".  Reported by Kaushal Modi.
5656 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5658         substitute-command-keys a few more doc strings
5659         * lisp/allout.el (outlineify-sticky):
5660         * lisp/files.el (hack-one-local-variable--obsolete):
5661         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
5662         Use substitute-command-keys on some doc strings so that
5663         they don't use hard-coded key bindings or quoting styles.
5665         Fix quoting in Fformat calls
5666         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
5667         (xpm_load, xpm_load_image, pbm_load, png_load_body)
5668         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
5669         (imagemagick_load, svg_load, svg_load_image, gs_load)
5670         (x_kill_gs_process):
5671         * src/lread.c (load_warn_old_style_backquotes):
5672         * src/xfaces.c (load_pixmap):
5673         * src/xselect.c (x_clipboard_manager_error_1):
5674         Quote diagnostics according to user preference when calling
5675         Fformat or its derivatives.
5677 2015-08-15  Glenn Morris  <rgm@gnu.org>
5679         * admin/admin.el (set-version, set-copyright): Remove deleted files.
5681 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
5683         Allow describe-function helpers to access buffer-local values.
5684         This will be used by cedet/mode-local.el `describe-mode-local-override'
5685         on `help-fns-describe-function-functions' in upstream CEDET.
5686         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
5687         `describe-function'.
5688         (describe-function): Bind it, save it on the help xref stack.
5690         Handle pulse-background being nil
5691         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
5692         pulse-background, handle it being nil.
5694 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5696         Fix "\`" confusion in Lisp strings
5697         * admin/authors.el (authors-canonical-author-name):
5698         Fix typo by using "\\`" not "\`" in string RE.
5699         * lisp/obsolete/complete.el (PC-complete-as-file-name):
5700         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
5701         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
5702         Use plain "`", not the equivalent-but-confusing "\`", in strings.
5703         * lisp/textmodes/texinfmt.el: Fix comment likewise.
5705 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
5707         Remove 'nt/zipdist.bat' (no longer used)
5708         * nt/zipdist.bat: Remove -- no longer used.
5710 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
5712         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
5713         rather than "getenforce".
5714         (tramp-sh-handle-set-file-selinux-context): Do not
5715         cache SELinux context if not all context components are given.
5717 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
5719         Add doc strings to 2 help-mode.el functions
5720         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
5721         strings.  (Bug#21263)
5723         Remove files used by the old MS-Windows specific build procedure
5724         * admin/unidata/makefile.w32-in:
5725         * doc/emacs/makefile.w32-in:
5726         * doc/lispintro/makefile.w32-in:
5727         * doc/lispref/makefile.w32-in:
5728         * doc/misc/makefile.w32-in:
5729         * leim/makefile.w32-in:
5730         * lib-src/makefile.w32-in:
5731         * lib/makefile.w32-in:
5732         * lisp/makefile.w32-in:
5733         * nt/INSTALL.OLD:
5734         * nt/config.nt:
5735         * nt/emacs-src.tags:
5736         * nt/envadd.bat:
5737         * nt/gmake.defs:
5738         * nt/makefile.w32-in:
5739         * nt/multi-install-info.bat:
5740         * nt/nmake.defs:
5741         * nt/paths.h:
5742         * src/makefile.w32-in: Files deleted.
5743         * nt/configure.bat: Remove everything except the blurb about the
5744         new build procedure.
5745         * make-dist: Remove references to makefile.w32-in in various
5746         directories, and to files in nt/ that were deleted.
5747         * etc/NEWS: Mention the fact that the files were dropped.
5749 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5751         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
5752         (Bug#21248)
5754 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5756         Default to inotify instead of gfile
5757         * configure.ac (with_file_notification): Fix typo that
5758         prevented suppression of file notification if HAVE_NS.
5759         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
5760         with_file_notification is 'yes' (Bug#21241).
5761         * etc/NEWS: Mention this.
5763         Fix broken URLs for ISO-IR
5764         * doc/emacs/mule.texi (Charsets):
5765         * lisp/international/mule-conf.el:
5766         Fix broken URL (Bug#21248).
5768         Low-level diagnostics now use ‘text-quoting-style’
5769         * src/doprnt.c (doprnt):
5770         Format ` and ' as per ‘text-quoting-style’.
5771         * src/xdisp.c (vmessage, message): Mention that the format should
5772         not contain ` or '.
5774         Prefer ‘format’ to ‘substitute-command-keys’
5775         * src/character.h (uLSQM, uRSQM): Move here ...
5776         * src/doc.c (uLSQM, uRSQM): ... from here.
5777         * src/doc.c (Fsubstitute_command_keys):
5778         * src/syntax.c (Finternal_describe_syntax_value):
5779         * lisp/cedet/mode-local.el (mode-local-print-binding)
5780         (mode-local-describe-bindings-2):
5781         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
5782         * lisp/cus-theme.el (describe-theme-1):
5783         * lisp/descr-text.el (describe-text-properties-1, describe-char):
5784         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
5785         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
5786         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
5787         * lisp/emacs-lisp/package.el (describe-package-1):
5788         * lisp/faces.el (describe-face):
5789         * lisp/help-fns.el (help-fns--key-bindings)
5790         (help-fns--compiler-macro, help-fns--parent-mode)
5791         (help-fns--obsolete, help-fns--interactive-only)
5792         (describe-function-1, describe-variable):
5793         * lisp/help.el (describe-mode):
5794         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
5795         to implement quoting style.  This generally makes the code simpler.
5797         Extend ‘format’ to translate curved quotes
5798         This is a followup to the recent doc string change, and deals with
5799         diagnostics and the like.  This patch is more conservative than
5800         the doc string change, in that the behavior of ‘format’ changes
5801         only if its first arg contains curved quotes and the user prefers
5802         straight or grave quotes.  (Come to think of it, perhaps we should
5803         be similarly conservative with doc strings too, but that can wait.)
5804         The upside of this conservatism is that existing usage is almost
5805         surely unaffected.  The downside is that we'll eventually have to
5806         change Emacs's format strings to use curved quotes in places where
5807         the user might want curved quotes, but that's a simple and
5808         mechanical translation that I'm willing to do later.  (Bug#21222)
5809         * doc/lispref/help.texi (Keys in Documentation):
5810         Move description of text-quoting-style from here ...
5811         * doc/lispref/strings.texi (Formatting Strings):
5812         ... to here, and describe new behavior of ‘format’.
5813         * etc/NEWS: Describe new behavior.
5814         * lisp/calc/calc-help.el (calc-describe-thing):
5815         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
5816         * lisp/info.el (Info-find-index-name):
5817         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
5818         of recently-added curved quotes.
5819         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
5820         Move from here ...
5821         * src/lisp.h: ... to here.
5822         * src/doc.c (text_quoting_style): New function.
5823         (Fsubstitute_command_keys): Use it.
5824         * src/editfns.c (Fformat): Implement new behavior.
5825         * src/lisp.h (enum text_quoting_style): New enum.
5827 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
5829         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
5830         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
5832 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
5834         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
5835         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
5837 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
5839         Flush file properties in Tramp
5840         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
5841         (tramp-sh-handle-set-file-times):
5842         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
5843         (tramp-adb-handle-set-file-times): Flush the file properties of
5844         the directory.
5846 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
5848         * doc/emacs/misc.text (Amusements): Fixed typo.
5850 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
5852         Don't miss warnings about removing string text properties while dumping
5853         * src/alloc.c (purecopy): Warn about removing a string's text
5854         properties even when the same string was already pure-copied
5855         earlier.
5856         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
5857         (elisp--xref-format-extra): Fix the commentary.
5859 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5861         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049)
5863 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
5865         * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038)
5866         * lisp/progmodes/compile.el: Use lexical-binding.
5867         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
5869 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5871         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
5872         * lisp/uniquify.el: Remove redundant `:group's.
5874 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
5876         * lisp/net/tramp-adb.el
5877         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
5878         result to prevent modification of the tramp-cache by side effects.
5879         Use the correct cache key.
5881 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
5883         Make add_to_log varargs
5884         * src/alloc.c (run_finalizer_handler):
5885         * src/charset.c (load_charset_map_from_vector):
5886         * src/nsimage.m (ns_load_image):
5887         * src/xfaces.c (load_pixmap, load_color2):
5888         Simplify, now that add_to_log has a variable number of args.
5889         * src/image.c (image_error): Take a variable number of args.
5890         Callers simplified.
5891         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
5892         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
5893         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
5894         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
5896         Optional args for holiday-greek-orthodox-easter
5897         * etc/NEWS: Document this.
5898         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
5899         Add optional args N and STRING, mimicking the API and code of
5900         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
5902 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
5904         xref-find-definitions: Exclude more generic function items.
5905         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string.
5906         (cl--generic-find-defgeneric-regexp): New.
5907         (find-function-regexp-alist): Add it.
5908         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
5909         elisp-mode.el, change to search for ";;; Code:"
5910         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
5911         (find-function-regexp-alist): Add them.
5912         * lisp/progmodes/elisp-mode.el:
5913         (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due
5914         to bug#21237.
5915         (elisp--xref-find-definitions): Exclude co-located default methods for
5916         generic functions. Also exclude implicitly declared defgeneric.
5917         (elisp--xref-find-definitions): Handle C source properly. Exclude minor
5918         mode variables defined by 'define-minor-mode'.
5919         * test/automated/elisp-mode-tests.el: Declare generic functions, add
5920         tests for them.
5921         (xref-elisp-test-run): Fix bug.
5922         (emacs-test-dir): Improve initial value.
5923         (find-defs-defun-defvar-el): Don't expect defvar.
5924         (find-defs-feature-el): Match change to find-feature-regexp.
5926 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
5928         Improve warning about purecopy of strings with properties
5929         * src/alloc.c (purecopy): Show the offending string with the
5930         warning about removing its text properties.
5932 2015-08-12  Alan Mackenzie  <acm@muc.de>
5934         Introduce new macros to cover Emacs's new names in cl-lib.el.
5935         This also eliminates `mapcan' warnings in XEmacs.
5936         progmodes/cc-defs.el (c--mapcan-status): new variable to characterise
5937         [X]Emacs versions.
5938         (top-level): Require either 'cl or 'cl-lib, depending on
5939         c--mapcan-status.
5940         Change this back to cc-external-require from an eval-when-compile
5941         require.
5942         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
5943         (c--delete-duplicates): New macros which expand into either old or new
5944         names.
5945         (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros
5946         rather than the old names.
5947         progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather
5948         than mapcan.
5949         progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
5950         progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
5951         depending on c--mapcan-status.
5952         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
5953         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
5954         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
5955         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
5956         (c-decl-block-key, c-keywords, c-keywords-obarray)
5957         (c-regular-keywords-regexp, c-primary-expr-regexp)
5958         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
5959         (c-known-type-key, c-nonlabel-token-key)
5960         (c-make-init-lang-vars-fun): Use the new macros rather than the old
5961         names.
5963 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
5965         loadhist.el (read-feature): Conform to completing-read
5966         * lisp/loadhist.el (read-feature): According to `completing-read'
5967         documentation, if collection is a list, then it must be a list of
5968         strings, not a list of symbols like before.
5970 2015-08-12  David Kastrup  <dak@gnu.org>
5972         Deal gracefully with up-events (Bug#19746)
5973         * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
5974         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
5975         those may easily be injected by user-level Lisp code.
5976         (read_key_sequence): Discard unbound up-events like unbound
5977         down-events: they are even more likely only relevant for special
5978         purposes.
5979         While Emacs will not produce up-events on its own currently (those are
5980         converted to drag or click events before being converted to
5981         Lisp-readable structures), the input queue can be made to contain them
5982         by synthesizing events to `unread-command-events'.  Emacs should deal
5983         consistently with such events.
5985 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
5987         Fix display of thin lines whose newline has line-height property of t
5988         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
5989         and descent values of non-empty glyph rows, since they could have
5990         forced low values deliberately.  (Bug#21243)
5992 2015-08-12  Richard Stallman  <rms@gnu.org>
5994         Offer to combine multiple To or CC fields.
5995         * sendmail.el (mail-combine-fields): New function.
5996         (mail-send): Call 'mail-combine-fields'.
5998         Don't decrypt encrypted files.
5999         * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
6001         Handle encrypted mbox files.
6002         * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox
6003         file if necessary.
6005         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
6006         * rmail.el (rmail-epa-decrypt-1): New subroutine.
6007         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
6008         In a mime message, reenable Mime and show the parts that
6009         were shown before.
6010         Add keyword "decrypt" if anything decrypted.
6012         epa-inhibit inhibits auto-recognition of .gpg files
6013         * lisp/epa-file.el (epa-inhibit): New variable.
6014         (epa-file-handler): Check epa-inhibit.
6016 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6018         * emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
6020 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6022         Respect python.el imenu when semantic-mode is off
6023         Fixes debbugs:21220
6024         * lisp/cedet/semantic/wisent/python.el: Do not force
6025         wisent-python-default-setup on python-mode-hook.
6027 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
6029         Give names to Unicode code points in C code
6030         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
6031         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
6032         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
6033         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
6034         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
6035         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
6036         (OBJECT_REPLACEMENT_CHARACTER):
6037         New named constants for Unicode code points.
6038         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
6039         * src/composite.c (char_composable_p):
6040         * src/lread.c (readevalloop, read1):
6041         * src/xdisp.c (get_next_display_element):
6042         Use them.
6043         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
6044         Remove; now in character.h.
6046 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
6048         elisp--xref-find-definitions handle cl-defstuct default constructor
6049         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
6050         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
6051         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
6052         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
6053         from xref-elisp-test for ease of debugging.
6054         (xref-elisp-deftest): Rename from xref-elisp-test.
6055         (find-defs-constructor): New test.
6056         (find-defs-defgeneric-el): Match batch test config.
6057         (compile): Required for find-defs compilation-minor-mode test.
6058         (find-defs-defvar-el): Match code change.
6059         (find-defs-face-el): Match code change.
6060         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
6061         Improve doc string.
6063 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6065         * lisp/replace.el (perform-replace): Document `replacements'.
6066         (perform-replace): Move the description of the format of `replacements'
6067         from the body's comment to the doc string.
6069 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
6071         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
6072         sequence.  Recent adb version send initial escape sequences, even
6073         when terminal type is set to TERM=dumb.
6075 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
6077         Rewrite elisp--xref-find-definitions to handle many more cases; add tests.
6078         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6079         Function deleted.
6080         (elisp--xref-format-cl-defmethod): New defconst.
6081         (find-feature-regexp, find-alias-regexp): New defcustoms.
6082         (elisp--xref-make-xref): New function.
6083         (elisp--xref-find-definitions): Rewrite using the above, handle many
6084         more cases.  Always output all available definitions.
6085         (xref-location-marker): No need for special cases.
6086         * test/automated/elisp-mode-tests.el: Add more tests of
6087         elisp--xref-find-definitions, improve current tests.
6089 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
6091         Fix recording of events pushed onto unread-command-events
6092         * src/keyboard.c (read_char): Make sure events read from
6093         unread-command-events and unread-post-input-method-events are
6094         always recorded by record_char.  Reported by David Kastrup
6095         <dak@gnu.org>, see
6096         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
6098 2015-08-10  Samer Masterson  <samer@samertm.com>
6100         Set file buffer as current for "--file"
6101         * lisp/startup.el (command-line-1): Set file buffer as current before
6102         it is displayed so it can be used with options like "--eval".
6103         (Bug#21095)
6105 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
6107         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
6108         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
6109         after setting LC_ALL to the desired locale, to avoid affecting how
6110         numbers are read and printed.  (Bug#21223)
6112 2015-08-10  Alan Mackenzie  <acm@muc.de>
6114         Fix "Invalid search bound (wrong side of point)" in fontification
6115         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
6116         an initialization expression, check point is not beyond the
6117         fontification limit.
6119 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6121         Fix DPI calculation when Xft/DPI is default
6122         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
6123         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
6124         Remove unnecessary cast while we're in the neighborhood.
6126 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
6128         Add project-vc-search-path and project-vc-ignores
6129         * lisp/progmodes/project.el (project-vc): New group.
6130         (project-vc-search-path, project-vc-ignores): New variables.
6131         (project--value-in-dir): Utility function.
6132         (project-search-path, project-ignores): Use them.
6133         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
6134         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
6136 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6138         Fix some minor quoting issues with grave accent
6139         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
6140         Remove redundant quotes.
6141         * src/doc.c (uLSQM, uRSQM): New macros.
6142         * src/doc.c (Fsubstitute_command_keys):
6143         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
6144         preference for quotes rather than hardcoding the ‘grave’ style.
6145         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
6146         (re_match_2_internal) [DEBUG]: In debugging output, quote C
6147         strings with "...", not `...'.
6149         ChangeLog.2 ignores remote-tracking merges
6150         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
6151         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
6152         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
6154 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
6156         Use kpsewhich in ffap-latex-mode, if available
6157         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
6158         (ffap-latex-mode): Use kpsewhich if available.
6160         ffap: disallow braces in filenames for tex modes
6161         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
6162         braces in tex-related modes.
6164         Remove useless backslashes from ffap-string-at-point-mode-alist
6165         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
6166         misleading backslashes from default value.
6168         Augment docstring of ffap-string-at-point-mode-alist
6169         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
6170         and END are handled.
6172 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6174         Remove no-op calls to substitute-command-keys
6175         * lisp/org/org-src.el (org-edit-src-code)
6176         (org-edit-fixed-width-region):
6177         * lisp/simple.el (completion-setup-function):
6178         Remove calls to substitute-command-keys that always just return
6179         their argument.
6181 2015-08-09  Daiki Ueno  <ueno@gnu.org>
6183         Utilize `quit-window' in epa.el
6184         * epa.el (epa-exit-buffer-function): Set to `quit-window'.
6185         (Bug#21210)
6187 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
6189         Fix link to source code in help window
6190         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
6191         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
6192         'No longer include timestamp in header of .elc files'.  Add code
6193         that will return .el source file in load-path.
6195 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
6197         * isearch.el (isearch-search-fun-default): (Bug#21164)
6198         Respect `isearch-lax-whitespace' when searching through
6199         `isearch-word'.
6201 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
6203         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
6205         * org.el: Fix up some lexical scoping warnings, and use dolist
6206         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
6207         (org-set-regexps-and-options, org-assign-fast-keys)
6208         (org-contextualize-keys, org-contextualize-validate-key)
6209         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
6210         (org-find-olp, org-find-exact-heading-in-directory)
6211         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
6212         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
6213         (org-replace-escapes): Use dolist.
6214         (org-mode): Optimize away XEmacs-only code.
6215         (org-refile-get-targets): Remove unused var `f'.
6216         (org-fast-todo-selection): Remove unused var `e'.
6217         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
6218         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
6219         (org-format-latex): Use dolist.  Remove unused var `e'.
6220         (org-toggle-heading): Access vars lexically rather than dynamically.
6221         (org-backward-sentence, org-forward-sentence, org-meta-return)
6222         (org-kill-line): Mark arg as unused.
6223         (org-submit-bug-report): Silence compiler warning.
6224         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
6225         (org-get-cursor-date): Remove unused var `tm'.
6226         (org-comment-or-uncomment-region): Use standard name `_'.
6227         (reftex-docstruct-symbol, reftex-cite-format): Declare to
6228         silence byte-compiler.
6229         (org-reftex-citation): Add `org--' prefix to dynamically scoped
6230         `rds' var.
6232 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
6234         Electric quote if coding is undecided or no conv
6235         * lisp/electric.el (electric--insertable-p): Also say that a
6236         string is insertable if the buffer file coding system is undecided
6237         or uses no conversion, as curved quotes will work in either case.
6239         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
6241 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
6243         Fix overlay string display regressions introduced in Emacs 24.5
6244         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
6245         buffer position, if we move the iterator to a new position as
6246         result of jumping over text covered by a "replacing" display
6247         property.
6248         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
6250         Support recovery from C stack overflow on MS-Windows
6251         * src/w32fns.c (w32_reset_stack_overflow_guard)
6252         (stack_overflow_handler): New functions for handling C stack
6253         overflow exceptions.
6254         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
6255         specially, and zero out except_addr if we do.
6256         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
6257         mode.
6258         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
6259         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
6260         the MinGW build, but the code guarded by that is for Posix hosts.
6261         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
6262         w32_reset_stack_overflow_guard.
6263         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
6264         (sigsetjmp): New macro.
6265         (w32_reset_stack_overflow_guard): Declare the prototype.
6266         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
6268 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
6270         Improve error signalling for seq-subseq
6271         * lisp/seq.el (seq-subseq): The existing behaviour is to error
6272         when indexes are too large, but to silently ignore numbers which
6273         are too negative for lists.  String and vector handling errors in
6274         both cases.  This has been regularized.  Error signaling behavior
6275         has been explicitly added to the doc string.
6277         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
6278         therefore also impacted by this change.  Update the doc string
6279         to reflect this.
6281         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
6282         added for these exceptional cases, as well as one non exceptional
6283         base case.
6285 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
6287         Improve error checking in tramp-adb.el
6288         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
6289         Improve error checking.  "ls -l" on Android in Enforcing mode can
6290         print "lstat './FILENAME failed: Permission denied".
6292 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
6294         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
6295         non-struct vectors.
6297 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
6299         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
6300         * lisp/window.el: Fix typo that broke build.
6301         (display-buffer--action-function-custom-type): Add
6302         `display-buffer-use-some-frame'.
6303         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
6305         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
6306         * lisp/window.el (display-buffer-use-some-frame): Add support for
6307         'inhibit-same-window in alist.
6308         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
6309         'inhibit-same-window in alist.
6311 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
6313         Avoid infinite loop in display of invisible text in strings
6314         * src/xdisp.c (handle_invisible_prop): If the next change of
6315         invisibility spec does not mean the beginning of a visible text,
6316         update the string position from which to start the search for the
6317         next invisibility change.  This avoids an infinite loop when we
6318         have more than one invisibility spec that are made inactive by
6319         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
6320         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
6321         for the situation that caused bug #21200.
6323 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
6325         * lisp/emacs-lisp/package.el: Simplify describe-package-1
6326         (package-help-section-name-face): New face.
6327         (package--print-help-section): New function.
6328         (describe-package-1): Refactor section printing.
6329         (package-make-button): Use face instead of font-lock-face, which
6330         doesn't work on buttons.
6332         * lisp/emacs-lisp/package.el: Define custom faces
6333         (package-name-face, package-description-face)
6334         (package-status-built-in-face, package-status-external-face)
6335         (package-status-available-face, package-status-new-face)
6336         (package-status-held-face, package-status-disabled-face)
6337         (package-status-installed-face, package-status-dependency-face)
6338         (package-status-unsigned-face, package-status-incompat-face)
6339         (package-status-avail-obso-face): New faces.
6340         (package-menu--print-info-simple): Use them.
6342 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
6344         Fix some confusion with ‘format’
6345         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
6346         (allout-graphics-modification-handler):
6347         Protect arbitrary string in a format context with "%s" format.
6348         * lisp/avoid.el:
6349         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
6350         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
6351         * lisp/erc/erc-button.el (erc-button-beats-to-time):
6352         * lisp/gnus/message.el (message-send-form-letter):
6353         * lisp/org/ob-core.el (org-babel-check-evaluate)
6354         (org-babel-confirm-evaluate):
6355         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
6356         * lisp/org/ox-latex.el (org-latex-compile):
6357         * lisp/org/ox-man.el (org-man-compile):
6358         * lisp/org/ox-odt.el (org-odt-template):
6359         * lisp/org/ox-texinfo.el (org-texinfo-compile):
6360         * lisp/progmodes/prolog.el (prolog-help-info)
6361         (prolog-view-predspec):
6362         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
6363         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
6364         * lisp/textmodes/rst.el (rst-replace-lines):
6365         Change (message (format ...)) to (message ...), and likewise
6366         for ‘error’.  This lessens the probability of confusion when the
6367         output of ‘format’ contains ‘%’.
6369 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
6371         * lisp/replace.el (replace-character-fold): Default to nil.
6373         * lisp/character-fold.el: Fix lax whitespace.
6374         (character-fold-table): Don't make space match other whitespace chars.
6375         (character-fold-to-regexp): Simplify lax behavior.
6377 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
6379         Preserve window point in xref-find-definitions-other-window
6380         Fix the problem reported by Ingo Logmar in
6381         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
6382         * lisp/progmodes/xref.el (xref--goto-char): Extract from
6383         xref--goto-location.
6384         (xref--pop-to-location): Use it. Replace xref--goto-location with
6385         a direct xref-location-marker call.
6386         (xref--show-location): Likewise.
6387         (xref--display-position): Use xref--goto-char.
6389         * lisp/progmodes/project.el: Add a paragraph to the front matter.
6391 2015-08-04  David Kastrup  <dak@gnu.org>
6393         Do not overwrite preexisting contents of unread-command-events
6394         * lisp/vc/emerge.el (emerge-show-file-name):
6395         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
6396         (vhdl-comment-insert, vhdl-hooked-abbrev):
6397         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
6398         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
6399         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
6400         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
6401         * lisp/obsolete/vip.el (vip-escape-to-emacs)
6402         (vip-prefix-arg-value, vip-prefix-arg-com):
6403         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
6404         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
6405         (quail-tibkey-update-translation):
6406         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
6407         * lisp/leim/quail/lao.el (quail-lao-update-translation):
6408         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
6409         (quail-japanese-self-insert-and-switch-to-alpha):
6410         * lisp/leim/quail/hangul.el (hangul2-input-method)
6411         (hangul3-input-method, hangul390-input-method):
6412         * lisp/language/hanja-util.el (hangul-to-hanja-char):
6413         * lisp/international/robin.el (robin-input-method):
6414         * lisp/international/quail.el (quail-start-translation)
6415         (quail-start-conversion):
6416         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
6417         (gnus-article-describe-key-briefly):
6418         * lisp/eshell/em-hist.el (eshell-list-history):
6419         * lisp/term.el (term-dynamic-list-input-ring)
6420         (term-dynamic-list-completions):
6421         * lisp/subr.el (momentary-string-display):
6422         * lisp/simple.el (read-quoted-char):
6423         * lisp/pcomplete.el (pcomplete-show-completions):
6424         * lisp/kmacro.el (kmacro-repeat-on-last-key):
6425         * lisp/info.el (Info-summary):
6426         * lisp/ehelp.el (electric-help-command-loop):
6427         * lisp/ebuff-menu.el (electric-buffer-list)
6428         (Electric-buffer-menu-exit):
6429         * lisp/double.el (double-translate-key):
6430         * lisp/comint.el (comint-dynamic-list-input-ring)
6431         (comint-dynamic-list-completions): Do not overwrite preexisting
6432         contents of `unread-command-events' when putting new events into
6433         it.
6435 2015-08-04  Daniel Colascione  <dancol@dancol.org>
6437         Improve ansi-color filtering of unrecognized escape sequences
6438         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
6439         escape sequences.
6440         (ansi-color-filter-apply, ansi-color-apply): Filter out
6441         unrecognized escape sequences.
6443 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
6445         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
6446         definitions to `easy-menu-define', improve a couple to account for
6447         async, and add a couple of new commands.
6449 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
6451         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
6453 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
6455         Add new 'calendar-weekend-days' option
6456         Make the days receiving the 'calendar-weekend-header' face freely
6457         customizable, as they differ by region/culture.
6458         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
6459         new variable.
6460         * lisp/calendar/calendar.el (calendar-generate-month): New variable
6461         calendar-weekend-days to customize day header fontification.
6463 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
6465         Redo text-quoting-style variable
6466         Rename help-quote-translation to text-quoting-style,
6467         and use symbols rather than characters as values.
6468         This follows suggestions along these lines by Alan Mackenzie in:
6469         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
6470         and by Drew Adams in:
6471         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
6472         * doc/lispref/help.texi (Keys in Documentation)
6473         * etc/NEWS:
6474         * lisp/cus-start.el (standard):
6475         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
6476         Document and/or implement the new behavior instead of the old.
6477         (syms_of_doc): New symbols 'grave' and 'straight'.
6479 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
6481         nnimap.el: Use IMAP MOVE extension if available
6482         * lisp/gnus/nnimap.el (nnimap-request-move-article)
6483         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
6484         Use MOVE extension if available.
6486         nnimap.el: Explicitly ask for server capabilities
6487         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
6488         capabilities will be returned in the login-result.
6490 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
6492         Treat help strings like other doc strings
6493         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
6494         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
6495         substitute-command-keys.
6496         * src/keyboard.c (show_help_echo, parse_menu_item): Call
6497         substitute-command-keys on the help string before displaying it.
6499         Also mention "curly quotes"
6500         See Drew Adams's email in:
6501         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
6502         * doc/lispref/help.texi (Keys in Documentation):
6503         Add index entry "curly quotes".
6504         * etc/NEWS: Use the phrase "curly quotes" too.
6506         ede-proj-target-makefile docstring tweaks
6507         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
6508         Consistently use "all:" to describe the all: target,
6509         replacing three different and confusingly-quoted usages.
6511 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
6513         Don't abort emacsclientw when -a was specified
6514         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
6515         out if we are in emacsclientw and -a was specified.
6517 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
6519         Fix handling of 1st keystroke on MS-Windows
6520         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
6521         This is needed to correctly handle the session's first keystroke,
6522         if it has any modifiers.  (Bug#19994)
6524 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
6526         Substitute some customization etc. doc strings
6527         These changes apply substitute-command-keys to some
6528         doc strings that were going through untranslated
6529         when creating customization or other widgets.
6530         * lisp/cus-edit.el (custom-group-value-create):
6531         * lisp/wid-edit.el (widget-default-create):
6532         (widget-push-button-value-create):
6533         Treat the widget tag as a doc string.
6534         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
6535         Treat the :documentation value as a doc string.
6536         * lisp/wid-edit.el (widget-choose):
6537         Treat the choice names as doc strings.
6538         (widget-default-create): Treat the :doc value as a doc string.
6539         (widget-toggle-value-create): Treat the :on and :off values
6540         as doc strings.
6541         (widget-documentation-string-value-create):
6542         Substitute the doc string.
6544 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
6546         Add a second argument to project-ignores
6547         * lisp/progmodes/project.el (project-ignores): Add a second
6548         argument DIR.
6549         * lisp/progmodes/project.el (project-ignores): Only include the VC
6550         ignores if DIR is the VC root.
6551         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
6553 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
6555         Prevent incorrect display when 'line-spacing' variable is set
6556         * src/xdisp.c (try_window_id): Give up this optimization if the
6557         buffer has its 'line-spacing' variable set non-nil.
6559 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
6561         Don't pass NOVISIT to find-file
6562         * lisp/progmodes/etags.el (next-file):
6563         Don't pass NOVISIT to find-file (bug#21175).
6565         Ignore buffer restriction for tags-loop-eval
6566         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
6567         restriction (bug#21167).
6569 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
6571         Fix a thinko in 'ffap-gopher-at-point'
6572         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
6574         Honor 'line-spacing' for empty lines
6575         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
6576         property and 'line-spacing' frame parameter or variable or
6577         property for empty lines, by doing the same processing as in
6578         x_produce_glyph for newline characters.  (Bug#21165)
6580 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
6582         Simplify by assuming C99 integer division
6583         * src/floatfns.c (ceiling2, floor2, truncate2):
6584         Assume C99 (i.e., Fortran) semantics for integer division.
6585         This simplifies the code.
6587 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
6589         Don't overflow if computing approximate percentage
6590         * lisp/align.el (align-region):
6591         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
6592         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
6593         * lisp/cus-edit.el (custom-buffer-create-internal):
6594         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
6595         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
6596         (checkdoc-next-message-error):
6597         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
6598         * lisp/epa.el (epa-progress-callback-function):
6599         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
6600         * lisp/ffap.el (ffap-menu-rescan):
6601         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
6602         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
6603         * lisp/gnus/nneething.el (nneething-retrieve-headers):
6604         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
6605         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
6606         * lisp/gnus/nnml.el (nnml-retrieve-headers):
6607         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
6608         * lisp/gnus/nntp.el (nntp-retrieve-headers)
6609         (nntp-retrieve-articles):
6610         * lisp/imenu.el (imenu--relative-position):
6611         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
6612         (skkdic-convert-okuri-nasi):
6613         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
6614         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
6615         * lisp/org/org-list.el (org-update-checkbox-count):
6616         * lisp/org/org.el (org-table-map-tables)
6617         (org-update-parent-todo-statistics):
6618         * lisp/play/decipher.el (decipher-insert-frequency-counts)
6619         (decipher-analyze-buffer):
6620         * lisp/profiler.el (profiler-format-percent):
6621         * lisp/progmodes/cc-cmds.el (c-progress-update):
6622         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
6623         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
6624         (idlwave-list-load-path-shadows):
6625         * lisp/progmodes/opascal.el (opascal-step-progress):
6626         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
6627         (vhdl-scan-directory-contents):
6628         * lisp/textmodes/bibtex.el (bibtex-progress-message):
6629         * lisp/textmodes/flyspell.el (flyspell-small-region)
6630         (flyspell-external-point-words):
6631         * lisp/textmodes/table.el (table-recognize):
6632         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
6633         progress-report percentages and the like.  This avoids problems
6634         if (* 100 NUMERATOR) would overflow.
6635         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
6636         * lisp/gnus/registry.el (registry-reindex):
6637         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
6638         * lisp/descr-text.el (describe-char):
6639         * lisp/org/org-colview.el (org-nofm-to-completion):
6640         * lisp/ps-print.el (ps-plot):
6641         * lisp/simple.el (what-cursor-position):
6642         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
6643         more-complicated and less-accurate approximation.
6645         Fix some int overflows in profiler.c
6646         * src/profiler.c (make_log): Make args EMACS_INT, not int,
6647         to avoid unwanted behavior on 'int' overflow.
6648         (make_log, evict_lower_half, record_backtrace):
6649         Use ptrdiff_t, not int, for object indexes.
6651         Port to pedantic memcpy
6652         * src/keyboard.c (menu_bar_items, tool_bar_items):
6653         * src/xrdb.c (magic_db):
6654         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
6656         Merge from gnulib
6657         This incorporates:
6658         2015-07-29 time_rz: port to pedantic memcpy
6659         * lib/time_rz.c: Copy from gnulib.
6661 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
6663         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
6664         When updating the very last entry, tabulated-list-print would
6665         erase it and then try to look at the next one (which obviously
6666         isn't there).
6668 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
6670         Allow to use the old key processing code on MS-Windows
6671         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
6672         New variable.
6673         (w32_wnd_proc): Use it to invoke the old code that processed
6674         character keys, as fallback, when this variable is non-nil.  Fix
6675         typos in comments.  (Bug#19994)
6677 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
6679         Improve handling of Unicode keyboard input on MS-Windows
6680         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
6681         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
6682         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
6683         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
6684         successful, don't call TranslateMessage.  (Bug#19994)
6686 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
6688         Fix default-directory in changeset diffs after vc-print-log
6689         * lisp/vc/log-view.el (log-view-diff-common): Move the
6690         revision-granularity check back into log-view-diff-changeset.
6691         (log-view-diff-changeset): Bind default-directory to the current
6692         VC root.
6694         Rename project-directories to project-roots
6695         * lisp/progmodes/project.el (project-search-path-function)
6696         (project-search-path): Update the docstring.
6697         (project-directories): Rename to `project-roots', update all
6698         callers and implementations accordingly.
6699         (project-root): Remove.
6700         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
6701         as the default file mask.
6703 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
6705         Support long URLs in w32-shell-execute
6706         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
6707         and filename_to_ansi to convert the DOCUMENT argument, as it could
6708         be a URL that is not limited to MAX_PATH characters.  Instead, use
6709         MultiByteToWideChar directly, and allocate heap storage as
6710         required to accommodate the converted string.  Likewise with
6711         non-Unicode operation.  Ensure OPERATION is null-terminated, even
6712         if it is longer than 32K bytes.  (Bug#21158)
6714 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
6716         vc-mtn-find-revision handle null rev.
6717         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
6719 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
6721         Add docs for display-buffer action display-buffer-use-some-frame
6722         * lisp/window.el (display-buffer-use-some-frame): improve doc string
6723         * doc/lispref/windows.texi (Display Action Functions): add
6724           display-buffer-use-some-frame
6725         * etc/NEWS: mention display-buffer-use-some-frame
6727         Add display-buffer action display-buffer-use-some-frame
6728         * lisp/window.el (display-buffer-use-some-frame): new
6730         Handle vc-mtn error more gently
6731         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
6733 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
6735         Fix Tramp problems with multihops, and nc.
6736         * lisp/net/tramp-cache.el (tramp-get-file-property)
6737         (tramp-set-file-property, tramp-flush-file-property)
6738         (tramp-get-connection-property, tramp-set-connection-property)
6739         (tramp-flush-connection-property): Remove hop from vector.
6740         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
6741         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
6742         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
6743         netstat to 60".
6744         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
6745         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
6746         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
6747         Keep hop in result.
6748         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
6749         Add hop tests.
6751 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
6753         Resurrect highlighting of repeated words by Flyspell Mode
6754         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
6755         characters between point and the doublon candidate, so that
6756         flyspell-word-search-backward finds it.  (Bug#21157)
6758         Fix redisplay of large images on expose events
6759         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
6760         between signed negative values and unsigned values.  This
6761         prevented redisplay on expose events when the window showed a very
6762         large image.
6764 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
6766         Remove unnecessary stack overflow dependency
6767         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
6768         Don't worry about $ac_cv_header_sys_resource_h and
6769         $ac_cv_func_getrlimit, as they're no longer needed for this.
6770         Problem reported by Eli Zaretskii in:
6771         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
6773 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
6775         Pacify compilation -Wincompatible-pointer-types warnings
6776         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
6777         warning.
6778         (CompareStringW_Proc): New typedef.
6779         (w32_compare_strings): Use it, to pacify compiler warnings under
6780         "-Wincompatible-pointer-types".
6781         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
6782         (GetDiskFreeSpaceExA_Proc): New typedefs.
6783         (Ffile_system_info): Use them, to pacify compiler warnings under
6784         "-Wincompatible-pointer-types".
6786 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
6788         Fix subscript error in calculate_direct_scrolling
6789         Use slightly-longer cost vectors.  Without this change,
6790         calculate_direct_scrolling can have a subscript violation when
6791         FRAME_LINES (frame) <= delta.
6792         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
6793         (line_ins_del, do_line_insertion_deletion_costs):
6794         Allocate and use slightly-larger cost vectors, ones based on
6795         FRAME_TOTAL_LINES instead of FRAME_LINES.
6797         Fix uninitalized value in encode_coding_object
6798         * src/coding.c (encode_coding_object): Also initialize
6799         coding->src_pos and coding->src_pos_byte when NILP (src_object).
6800         This avoids later use of uninitialized storage.
6802 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
6804         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
6806 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
6808         Merge from gnulib
6809         This incorporates:
6810         2015-07-27 time_rz: port better to MinGW
6811         2015-07-27 time: port __need_time_t to MinGW
6812         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
6813         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
6814         * lib/time-internal.h: New file, from gnulib.
6816 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
6818         Handle NULL pointers in w32heap.c allocation routines
6819         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
6820         freeable".
6821         (realloc_after_dump, realloc_before_dump, free_before_dump):
6822         Handle NULL pointers gracefully, as Emacs now seems to expect
6823         that.
6825         Fix Cairo build without PNG
6826         * src/image.c: Define PNG function when USE_CAIRO is defined, even
6827         if HAVE_PNG is not.  (Bug#21133)
6829         MS-Windows follow-up for recent TZ-related changes
6830         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
6831         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
6832         picking up 'struct timespec' from pthread.h, if it is installed on
6833         the user's system.  We want either the definitions from MinGW
6834         system headers, if available, or the Gnulib replacements if not.
6835         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
6836         lib/time.h.
6837         * lib/time.in.h: Don't let __need_* symbols affect what happens on
6838         MinGW.  These symbols are defined by MinGW system headers, but we
6839         don't want that to affect whether Gnulib portions of the header
6840         are or aren't used.
6842 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
6844         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
6846         New optional ZONE arg for format-time-string etc.
6847         This simplifies time conversions in other time zones.
6848         It also prevents display-time-world tampering with TZ (Bug#21020).
6849         * admin/admin.el (add-release-logs):
6850         Use improved add-log-time-format API.
6851         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
6852         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
6853         * configure.ac (tzalloc): Remove test for this, since
6854         Emacs no longer uses HAVE_TZALLOC directly.
6855         * doc/lispref/os.texi (Time of Day, Time Conversion)
6856         (Time Parsing):
6857         * etc/NEWS: Document the new behavior.
6858         Merge from gnulib, incorporating:
6859         2015-07-25 strftime: fix newly-introduced bug on Solaris
6860         2015-07-23 fprintftime, strftime: use timezone_t args
6861         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
6862         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
6863         * m4/time_h.m4:
6864         Update from gnulib.
6865         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
6866         New files from gnulib.
6867         * lisp/time-stamp.el (time-stamp-string):
6868         * lisp/time.el (display-time-world-list)
6869         (display-time-world-display):
6870         Use new API, with time zone arg.
6871         * lisp/time.el (display-time-world-display):
6872         Fix race when current-time advances while we're running.
6873         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
6874         (add-log-iso8601-time-string): Accept optional time zone arg.
6875         * lisp/vc/add-log.el (add-change-log-entry):
6876         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
6877         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
6878         Add rules for the time module, since they're now needed
6879         for tzalloc etc.
6880         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
6881         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
6882         * src/editfns.c: Include errno.h.
6883         (set_time_zone_rule): Omit unnecessary forward decl.
6884         (initial_tz): Remove, replacing with ...
6885         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
6886         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
6887         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
6888         (tzlookup): New static functions.
6889         (init_editfns): New arg DUMPING.  All uses changed.
6890         (init_editfns): Omit most initialization if dumping, not if
6891         !initialized.  Initialize wall_clock_tz and local_tz.
6892         (emacs_nmemftime, format_time_string): Time zone argument can now
6893         be any time zone, not just a boolean for UTC or local time.  All
6894         callers changed.
6895         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
6896         (Fcurrent_time_zone): New optional arg ZONE.
6897         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
6898         the same form as with the other new additions.
6899         (decode_time_zone): Remove; no longer needed.
6900         (tzvalbuf): Now file-scope.
6901         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
6902         (syms_of_editfns): Define Qwall.
6903         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
6904         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
6905         [!HAVE_TZALLOC]:
6906         Remove; now supplied by gnulib.
6907         * src/emacs.c (main):
6908         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
6910 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
6912         Fix infinite loop in delete-consecutive-dups
6913         * lisp/subr.el (delete-consecutive-dups): Work even if the last
6914         element is nil (Bug#20588).  Avoid rescan of a circular list in
6915         deletion of last element.
6917 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
6919         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
6920         * src/nsfns.m (Fx_frame_geometry):
6921         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
6922         terminal frames.
6923         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
6924         (Fx_frame_geometry): Return nil for terminal frames
6926 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
6928         * etc/tutorials/TUTORIAL.ja: Improve translation.
6930 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
6932         Avoid crashes when w32 GUI functions are called in -batch
6933         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
6934         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
6935         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
6937         Fix flyspell-check-previous-highlighted-word
6938         * lisp/textmodes/flyspell.el
6939         (flyspell-check-previous-highlighted-word): Really accept a
6940         numeric argument, as the doc string describes.  Fix an off-by-one
6941         error in looking up overlays, so invocation with point immediately
6942         after a word would check that word.  Clarify the doc string as
6943         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
6945 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
6947         Minor cleanup in tramp-tests.el
6948         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
6949         Implement using the documented interface
6950         `tramp-connection-properties', rather than with internal functions.
6952 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
6954         Pass lambdas to `skeleton-read'
6955         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
6956         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
6957         lambdas to `skeleton-read' (bug#20386).
6959 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
6961         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
6963         Don't require GUI frames and mouse for Flyspell menus
6964         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
6965         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
6966         support, since pop-up menus work with text terminals and can be
6967         controlled via the keyboard.
6969         Improve documentation of Flyspell commands
6970         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
6971         can be invoked via the keyboard.  Mention those commands by name
6972         and add them to the fn index.  (Bug#21125)
6974 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
6976         Fix some Tramp problems with HP-UX
6977         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6978         Add "tab0" to stty call.
6979         * test/automated/tramp-tests.el (tramp-persistency-file-name):
6980         Set to nil.
6981         (tramp--test-hpux-p): New defun.
6982         (tramp--test-utf8): Use it.
6984 2015-07-22  Glenn Morris  <rgm@gnu.org>
6986         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
6988 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
6990         Fix point positioning in ffap-next-guess
6991         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
6992         as our callers expect.  This was clobbered as part of fixing
6993         bug#5673.  (Bug#21107)
6994         (ffap-gopher-at-point): Set ffap-string-at-point-region.
6996 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
6998         Fix customization type of `even-window-sizes'.
6999         * lisp/window.el (even-window-sizes): Fix customization type.
7001         Optionally even widths of `display-buffer' windows.  (Bug#21100)
7002         * lisp/window.el (quit-restore-window): Restore width if
7003         requested.
7004         (display-buffer-record-window): Record width when window is
7005         reused and horizontally combined.
7006         (even-window-sizes): New option to allow evening window widths.
7007         (even-window-heights): Defalias to `even-window-sizes'.
7008         (window--even-window-heights): Rename to
7009         `window--even-window-sizes'.  Handle side-by-side windows.
7010         (display-buffer-use-some-window): Call `window--even-window-sizes'
7011         instead of `window--even-window-heights'.
7012         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
7013         * doc/lispref/windows.texi (Choosing Window Options): Describe
7014         `even-window-sizes'.
7015         (Coordinates and Windows): Fix typo.
7017 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
7019         add file name to autoload error messages.
7020         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
7021           to add file name to error message.
7023 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
7025         Use 0.0.0.1 as test host in Tramp
7026         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
7027         Use 0.0.0.1 as test host.
7029 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7031         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
7032         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
7033         Fix inf-loop (bug#21083).
7035 2015-07-21  Glenn Morris  <rgm@gnu.org>
7037         * test/automated/package-test.el (package-test-signed):
7038         Update for recent changes.
7040         * test/automated/elisp-mode-tests.el
7041         (elisp-xref-finds-both-function-and-variable)
7042         (elisp-xref-finds-only-function-for-minor-mode):
7043         Update for recent xref name changes.
7045 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
7047         Make eldoc timer non-repeatable
7048         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
7049         non-repeatable.  Since it's on post-command hook, that just wasted
7050         CPU cycles.
7052 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
7054         Mention `tramp-connection-properties' in NEWS
7056         Sync with Tramp repository
7057         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
7058         required prior changing its configuration.
7059         (Connection caching, Predefined connection information)
7060         (Remote shell setup): Fix typos.
7061         (Predefined connection information): Describe, how to overwrite
7062         parameters of `tramp-methods'.
7063         (Remote programs, Remote processes, Traces and Profiles):
7064         Simplify example.
7065         (Remote programs): Remove superfluous comment.
7066         * doc/misc/trampver.texi: Update release number.
7067         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
7068         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
7069         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
7070         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
7071         "gvfs-mkdir -p ..." does not work robust.
7072         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
7073         * lisp/net/tramp-sh.el (tramp-methods):
7074         Add `tramp-remote-shell-login' parameter where it fits.
7075         (tramp-get-remote-path): Use it.
7076         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
7077         (all): Adapt `tramp-get-method-parameter' calls.
7078         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
7079         (tramp-get-method-parameter): Replace argument METHOD by VEC.
7080         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
7081         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
7082         (all): Adapt `tramp-get-method-parameter' calls.
7083         * lisp/net/trampver.el Update release number.
7084         * test/automated/tramp-tests.el (tramp--instrument-test-case):
7085         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
7086         (tramp-test13-make-directory, tramp--test-adb-p)
7087         (tramp--test-smb-or-windows-nt-p): Simplify.
7088         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
7089         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
7090         (tramp--test-utf8): Fix docstring.
7092 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
7094         Add new xref-query-replace command
7095         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
7096         function, extracted from xref-pulse-momentarily.
7097         (xref-query-replace): New command.
7098         (xref--query-replace-1): New helper function.
7099         (xref--xref-buffer-mode-map): Add `r' binding.
7101 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
7103         Simplify icalendar decoding of Z dates
7104         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
7105         Simplify calculation of time strings with trailing "Z".
7107 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
7109         Do not corrupt grep-find-ignored-files
7110         * lisp/progmodes/project.el (project-ignores): Change the order of
7111         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
7113         Add xref-match-item, and use it
7114         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
7115         (xref-file-location): Add reader for the column slot.
7116         (xref-match-item): New class.
7117         (xref-match-bounds): A method implementation for it.
7118         (xref-make-match): New constructor function.
7119         (xref--current-item): New private variable.
7120         (xref-pulse-momentarily): Use it.
7121         (xref--pop-to-location): Change the first argument to an xref
7122         item, instead of location, bind xref--current-item.
7123         Update all callers.
7124         (xref-next-line, xref-prev-line, xref--next-error-function)
7125         (xref--mouse-2): Look for the property `xref-item',
7126         instead of `xref-location'.
7127         (xref--item-at-point): Likewise.  This function replaces
7128         `xref-location-at-point'.  Update all callers.
7129         (xref--insert-xrefs): Add the `xref-item' text property, instead
7130         of `xref-location'.
7131         (xref--collect-match): Use xref-make-match.
7133         Rename xref--xref to xref-item
7134         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
7135         Update all references.
7137         Rename xref description slot to summary
7138         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
7139         slot to `summary'.
7141         vc-hg: Perform the print-log call asynchronously
7142         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
7143         asynchronously (bug#21067).
7145         Add xref-after-jump-hook and xref-after-return-hook
7146         * lisp/progmodes/xref.el (xref-after-jump-hook)
7147         (xref-after-return-hook): New hooks.
7148         (xref-pulse-on-jump): Remove, in favor of the above.
7149         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
7150         (xref--pop-to-location, xref--display-position)
7151         (xref-pop-marker-stack): Use the new hooks, as requested in
7152         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
7154 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
7156         Correct js-mode's lighter
7157         * lisp/progmodes/js.el (js-mode): Correct the lighter.
7159 2015-07-19  Leo Liu  <sdl.web@gmail.com>
7161         Fix a bug in cfengine3-mode
7162         * progmodes/cfengine.el (cfengine3-mode): Handle nil
7163           eldoc-documentation-function.
7165 2015-07-18  Julien Danjou  <julien@danjou.info>
7167         sieve-mode: support "body" test command
7168         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
7169         Add missing "body" test command.
7171 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
7173         Fix info-apropos when the default encoding is Latin-N
7174         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
7175         'undecided', so that it is set to the encoding of the Info file we
7176         are about to insert.  Otherwise, 'info-apropos' will fail to find
7177         some index nodes in some UTF-8 encoded files, if the buffer's
7178         previous encoding is Latin-N or some such.
7180 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
7182         * epg.el (epg--start): Check that gpgconf can be found before calling it.
7184         Expose more file types to OS X that Emacs understands.
7185         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
7186         json, and org files.  Export UTIs for el, elc, and org files.
7188 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
7190         Fix visual-order cursor movement when lines are truncated
7191         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
7192         simulate display in a window of infinite width, to allow move_it_*
7193         functions reach positions outside of normal window dimensions.
7194         Remove code that tried to handle a subset of these situations by
7195         manual iteration of buffer text.  (Bug#17777)
7197         Fix following Info cross-references to anchors
7198         * lisp/info.el (Info-read-subfile): Add to the returned value the
7199         length of subfile preamble, after converting it to file's byte
7200         offset, as expected by the caller.  Use bufferpos-to-filepos.
7201         (Info-find-node-2): If searching for a node with a
7202         1000-character slop fails, try again with a 10000-character slop,
7203         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
7204         * lisp/international/mule-util.el (bufferpos-to-filepos): New
7205         function.
7206         * etc/NEWS: Mention bufferpos-to-filepos.
7208         Fix scrolling backwards on TTY frames under scroll-conservatively
7209         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
7210         in moving backwards on TTY frames.  (Bug#21080)
7212 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
7214         Consider a jsdoc tag to be a beginning of a paragraph as well
7215         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
7216         consider a jsdoc tag to be a beginning of a paragraph as well.
7218 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
7220         * lisp/emacs-lisp/package.el: Fix warnings
7222         * lisp/emacs-lisp/package.el (package-buffer-info):
7223         Add author and maintainers to `package-buffer-info'.
7225         * lisp/emacs-lisp/package.el: Many small changes
7226         Replace all instances of 'face with 'font-lock-face.
7227         (describe-package-1): Improve some strings and move the summary up the
7228         list.
7229         (package-install-file): Update docstring.
7230         (package-menu-hide-package): Bind to `H'.
7232         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
7233         Fix error handling.
7235 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
7237         Fix hang with large yanks This should fix the bug fixed by Mike
7238         Crowe's patch in:
7239         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
7240         A problem in this area has been reported by several users; see
7241         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
7242         This fix differs from Mike Crowe's patch in that it should avoid a
7243         race condition that could lose SIGIO signals.  ignore_sigio dates
7244         back to the 1980s when some platforms couldn't block signals, and
7245         could only ignore them, which led to races when signals arrived
7246         while being ignored.  We shouldn't have to worry about those old
7247         platforms now.
7248         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
7249         * src/emacs.c (shut_down_emacs):
7250         Don't call ignore_sigio; unrequest_sigio should suffice.
7251         * src/keyboard.c (kbd_buffer_store_buffered_event):
7252         Use unrequest_sigio, not ignore_sigio.
7253         (kbd_buffer_get_event):
7254         Call request_sigio when getting the ball rolling again.
7256 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
7258         * lisp/obsolete/longlines.el (longlines-search-function):
7259         Fallback on `isearch-search-fun-default'.
7261 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
7263         Support @-mentions
7264         * rcirc.el (rcirc-completion-at-point): Support completion of
7265         mentions/messages with @nick instead of just nick.
7267 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
7269         Fix Bug#20943.
7270         * lisp/autorevert.el (auto-revert-handler): Do not check for
7271         `buffer-modified-p'.
7272         * lisp/files.el (buffer-stale--default-function): Check for
7273         `buffer-modified-p'.
7274         * test/automated/auto-revert-tests.el
7275         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
7277 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
7279         Fix delete-dups bug on long lists
7280         * lisp/subr.el (delete-dups):
7281         Don't mistakenly keep some dups when applied to long lists.
7283 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7285         Better heuristic for C stack overflow
7286         Improve the heuristic for distinguishing stack overflows from
7287         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
7288         the getrlimit method wasn't portable to Cygwin; see:
7289         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
7290         Corinna suggested pthread_getattr_np but this also has problems.
7291         Instead, replace the low-level system stuff with a simple
7292         heuristic based on known good stack addresses.
7293         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
7294         * src/sysdep.c: Don't include <sys/resource.h>.
7295         (stack_direction): Remove.  All uses removed.
7296         (stack_overflow): New function.
7297         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
7298         Make SEGV fatal in non-main threads.
7300 2015-07-16  Daiki Ueno  <ueno@gnu.org>
7302         epg: Automatically start pinentry server
7303         * epg-config.el (epg-gpgconf-program): New variable.
7304         * epg.el (epg--start): Call `pinentry-start' if
7305         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
7307 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
7309         * lisp/gnus/nnimap.el: Fix my last bogus change
7310         Reinstall Stefan Monnier's change that was made in
7311         <83d824bc4041332f338ad7e5e830f443535aa300>.
7313 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
7315         Merge from gnulib
7316         This incorporates:
7317         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
7318         2015-07-05 acl-permissions: Fix on FreeBSD
7319         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
7320         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
7321         * lib/set-permissions.c: Copy from gnulib.
7323         Port to stricter C99
7324         * src/keyboard.h (kbd_buffer_store_event_hold):
7325         Don't return a void expression.
7327 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
7329         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
7331 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
7333         New autorevert tests.
7334         * test/automated/auto-revert-tests.el: New file.
7336 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
7338         Clear gcprolist etc. after stack overflow
7339         After stack overflow, command_loop calls init_eval, and this needs to
7340         clear gcprolist and byte_stack_list (Bug#20996).
7341         * src/alloc.c (init_alloc):
7342         Move gcprolist and byte_stack_list initialization from here ...
7343         * src/eval.c (init_eval): ... to here.
7345 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
7347         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
7349 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
7351         Avoid deprecated enums in mac-ct font backend driver
7352         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
7353         (mac_ctfont_get_advance_width_for_glyph)
7354         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
7356         Cache font family in mac-ct font backend driver
7357         * src/macfont.m (macfont_family_cache): New variable.
7358         (syms_of_macfont): Initialize it.
7359         (macfont_available_families_cache): New variable.
7360         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
7361         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
7362         (macfont_handle_font_change_notification)
7363         (macfont_init_font_change_handler)
7364         (macfont_copy_available_families_cache): New functions.
7365         (macfont_create_family_with_symbol): Use font family caches.
7366         (macfont_list, macfont_list_family): Use
7367         macfont_copy_available_families_cache instead of
7368         mac_font_create_available_families.
7370 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
7372         Show the default value in the prompt
7373         * lisp/progmodes/xref.el: Add `M-?' binding for
7374         xref-find-references.  Declare functions `grep-read-files' and
7375         `grep-expand-template'.
7376         (xref--read-identifier): Show the default value in the prompt.
7378         When called with prefix argument, ask for file patterns to search as well
7379         * lisp/progmodes/xref.el (xref-find-regexp): When called with
7380         prefix argument, ask for file patterns to search as well.  When
7381         prompting for the directory, require an existing one.
7382         (xref-collect-matches): Add a new argument, FILES.  Use it in the
7383         above function.
7385         Add `project-ignores'
7386         * lisp/progmodes/project.el (project-ignores): New generic
7387         function, and an implementation for the VC project type.
7388         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
7389         variant of rgrep-default-command that handles a generic list of
7390         ignores.
7391         (xref-collect-matches): Use it, and pass through to it the value
7392         of the newly added argument.
7393         (xref-find-regexp): Handle ignored paths within the project.
7394         Remove outdated comment.
7395         * lisp/vc/vc.el (vc-default-ignore-completion-table):
7396         Skip the comments and the empty lines.
7398 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
7400         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
7402 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
7404         gnus-registry.el: Correct function argument order
7405         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
7406         Reverse the order of function arguments.
7408 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
7410         Bind grep-highlight-matches to nil
7411         * lisp/progmodes/xref.el (xref-collect-matches):
7412         Bind grep-highlight-matches to nil (bug#20728).
7414 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
7416         nnimap.el: Fix IMAP message size parsing
7417         * lisp/gnus/nnimap.el (nnimap-transform-headers):
7418         Don't assume that UID comes before RFC822.SIZE.
7420 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
7422         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
7423         (auth-source-creation-prompts): Declare.
7424         (nnimap-retrieve-headers, nnimap-status-message)
7425         (nnimap-request-create-group, nnimap-request-delete-group)
7426         (nnimap-close-group, nnimap-request-move-article)
7427         (nnimap-request-accept-article, nnimap-request-newgroups)
7428         (nnimap-request-post, nnimap-dummy-active-number)
7429         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
7430         (nnimap-parse-flags): Remove unused var `p'.
7431         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
7432         (nnimap-flags-to-marks): Remove unused var `totalp'.
7434 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
7436         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
7438 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
7440         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
7442 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
7444         Don't check the exit status, it can be misleading
7445         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
7446         exit status, it can be misleading.
7448         Introduce a Project API
7449         * lisp/progmodes/project.el: New file.
7450         * lisp/cedet/ede.el: (project-try-ede): New function.
7451         (project-root): New implementation.
7452         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
7453         Set project-search-path-function.
7454         (elisp--xref-find-references): Delegate some logic to
7455         project-search-path.
7456         (elisp-search-path): New function.
7457         (elisp-xref-find): Don't implement `matches' anymore.
7458         * lisp/progmodes/etags.el: Don't implement `matches'.
7459         Delegate some logic to project-search-path.
7460         (etags-search-path): New function.
7461         * lisp/progmodes/xref.el (xref-find-function):
7462         Remove `matches' from the API.
7463         (xref-find-regexp): Move whatever common logic was in elisp and
7464         etags implementations, and search the directories returned by
7465         project-directories and project-search-path.
7467 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
7469         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
7471         Add support for gv.el in map.el
7472         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
7473         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
7474         * test/automated/map-tests.el: Update tests to work with the new
7475         implementations of map-elt and map-put.
7477 2015-07-09  Glenn Morris  <rgm@gnu.org>
7479         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
7481 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
7483         Syntax-propertize until the end of the line first
7484         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
7485         until the end of the line first.
7487 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
7489         * doc/emacs/files.texi (File Archives): Add a cross reference.
7491 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
7493         nnimap.el: Handle plain value for nnimap-stream
7494         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
7495         capabilities, so that a 'plain value for the `nnimap-stream' server
7496         variable is handled correctly.
7497         * doc/misc/gnus.texi (Customizing the IMAP Connection):
7498         Document the 'plain option.
7500 2015-07-08  Leo Liu  <sdl.web@gmail.com>
7502         Fix bug in thing-at-point--bounds-of-well-formed-url
7503         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
7504           sure boundary contains current point.
7506 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
7508         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
7510         Declare whitespace-line-column a safe file-local
7511         * lisp/whitespace.el (whitespace-line-column): Declare to be a
7512         safe file-local when the value is an integer.
7514 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
7516         gnus-group.el: Check if group names are already strings
7517         * lisp/gnus/gnus-group.el (gnus-group-group-name):
7518         The group name may already be a string.
7519         Specifically, in the group list reached from the *Server* buffer,
7520         the 'gnus-group text property returns a string.  Everywhere else
7521         it returns a symbol.
7523         nnimap.el: Remove unused let variables
7524         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
7526 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
7528         Support "maximized" property of runemacs's shortcut
7529         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
7530         the '--maximized' switch to Emacs.
7532         Support "minimized" property of runemacs's shortcut
7533         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
7534         pass the '--iconic' switch to Emacs.  (Bug#20991)
7536 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
7538         Doc fixes
7539         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
7540         C-w' in Diff mode.
7541         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
7542         Add a cross reference.
7544 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
7546         * lisp/obsolete/landmark.el: Add Obsolete-since header
7548 2015-07-07  Glenn Morris  <rgm@gnu.org>
7550         * test/automated/ert-tests.el (ert-test-deftest):
7551         Update for recent changes.
7553 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
7555         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
7556         * lisp/emacs-lisp/gv.el (gv-setter): New function.
7557         (gv-invalid-place): New error.
7558         (gv-get): Use them.
7559         (gv-synthetic-place, gv-delay-error): New places.
7560         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
7561         (cl-defgeneric, cl-defmethod): Use gv-setter.
7563 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
7565         Make vc-tests work with MSYS svn program
7566         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
7567         svn is an MSYS program.
7569 2015-07-07  Ken Brown  <kbrown@cornell.edu>
7571         Improve recent change to emacsclient on Cygwin
7572         * lisp/server.el (server-process-filter): Remove redundant check
7573         that 'cygwin-convert-file-name-from-windows' is defined as a
7574         function on Cygwin.  Don't call that function unless its argument
7575         starts with a drive letter.
7577 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
7579         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
7580         Fix void variable due to `found-something' being in the wrong `let'.
7582 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
7584         * lisp/play/landmark.el: Move to lisp/obsolete/
7586 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
7588         Have `x-show-tip' handle `right' and `bottom' frame parameters.
7589         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
7590         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
7591         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
7592         tooltips also via `right' and `bottom' frame parameters.
7594 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
7596         Add online-help support to describe types
7597         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
7598         (describe-symbol): Improve the selection of default.
7599         * lisp/help-mode.el: Require cl-lib.
7600         (describe-symbol-backends): Move from help-fns.el.
7601         (help-make-xrefs): Use it.
7602         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
7603         for types.
7604         (cl--typedef-regexp): New const.
7605         (find-function-regexp-alist): Add entry for types.
7606         (cl-help-type, cl-type-definition): New buttons.
7607         (cl-find-class): New function.
7608         (cl-describe-type): New command.
7609         (cl--describe-class, cl--describe-class-slot)
7610         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
7611         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
7612         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
7613         New functions.  Moved from eieio-opt.el.
7614         (cl--generic-class-parents): New function, extracted from
7615         cl--generic-struct-specializers.
7616         (cl--generic-struct-specializers): Use it.
7617         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
7618         Improve constructor's docstrings.
7619         (cl-struct-unknown-slot): New error.
7620         (cl-struct-slot-offset): Use it.
7621         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
7622         definition in current-load-list.
7623         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
7624         (eieio--add-new-slot): Set it.
7625         (eieio-defclass-internal): Use new name for current-load-list.
7626         (eieio-oref): Add compiler-macro to warn about unknown slots.
7627         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
7628         as compile-time as well.  Improve constructor docstrings.
7629         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
7630         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
7631         (eieio-class-def): Remove button.
7632         (eieio-help-constructor): Use new name for load-history element.
7633         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
7634         (eieio-method-documentation): Move to cl-generic.el.
7635         (eieio-display-method-list): Use new names.
7636         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
7637         Add "define-linline".
7638         (lisp-fdefs): Remove "defsubst".
7639         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
7640         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
7641         (macroexp--warn-and-return): Use it to avoid inf-loops.
7642         Add `compile-only' argument.
7644 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7646         python.el: Fix local/remote shell environment setup
7647         * lisp/progmodes/python.el (python-shell-with-environment): Fix
7648         remote/local environment setup.
7649         * test/automated/python-tests.el (python-shell-with-environment-1)
7650         (python-shell-with-environment-2): New tests.
7652 2015-07-06  Glenn Morris  <rgm@gnu.org>
7654         * lisp/simple.el (set-variable): Tweak recent doc fix.
7656 2015-07-06  Ken Brown  <kbrown@cornell.edu>
7658         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
7660 2015-07-06  Glenn Morris  <rgm@gnu.org>
7662         * lisp/simple.el (set-variable): Use user-error for type mismatch.
7664 2015-07-06  Ken Brown  <kbrown@cornell.edu>
7666         * src/emacs.c (main): Don't increase the stack size on Cygwin
7668 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
7670         (describe-symbol): Rewrite describe-function-or-variable
7671         * lisp/help-fns.el (describe-symbol-backends): New var.
7672         (help-xref-stack-item): Declare.
7673         (describe-symbol): Rename from describe-function-or-variable.
7674         Rewrite using describe-symbol-backends instead of help-xref-interned.
7675         * lisp/help.el (help-map): Use it.
7676         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
7677         (help-xref-interned): Make it into an obsolete alias.
7679         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
7680         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
7681         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
7683 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
7685         Fix parsing glitches in dired-mark-sexp (bug#13575)
7686         * lisp/dired-x.el (dired-x--string-to-number): New function.
7687         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
7688         of directory-listing-before-filename-regexp.  Consider
7689         forward-word harmful and replace it.  Add more verbiage in
7690         comments and doc string.
7692 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7694         python.el: Respect process environment for remote shells
7695         * lisp/progmodes/python.el
7696         (python-shell-calculate-process-environment): Calculate
7697         process-environment or tramp-remote-process-environment depending
7698         whether current file is remote.
7699         (python-shell-calculate-exec-path): Calculate exec-path or
7700         tramp-remote-path depending whether current file is remote.
7701         (python-shell-with-environment): New macro.
7702         (python-shell-prompt-detect, python-shell-calculate-command)
7703         (python-shell-make-comint, python-check): Use it.
7705         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
7706         * lisp/progmodes/python.el (python-shell--interpreter)
7707         (python-shell--interpreter-args): New vars.
7708         (inferior-python-mode, python-shell-make-comint): Use them.
7710         python.el: Fixes for IPython 3.x  (Bug#20580)
7711         * lisp/progmodes/python.el:
7712         (python-shell-completion-native-setup): Fix IPython 3.x setup.
7713         (python-shell-completion-native-get-completions): Fix timeout
7714         logic.
7716         python.el: Fix mark-defun behavior  (Bug#19665)
7717         * lisp/progmodes/python.el: (python-mark-defun): New function.
7718         * test/automated/python-tests.el (python-mark-defun-1)
7719         (python-mark-defun-2, python-mark-defun-3): New tests.
7721 2015-07-05  Glenn Morris  <rgm@gnu.org>
7723         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
7724         such as "extends(parent), private".  (Bug#20969)
7725         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
7726         New tests.
7728 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7730         Avoid duplicate calls to current_timespec
7731         * src/process.c (wait_reading_process_output):
7732         Cache current_timespec results as long as we're not waiting.
7734 2015-07-05  Ian Kelling  <ian@iankelling.org>
7736         Avoid returning early reading process output due to SIGIO
7737         * src/process.c (wait_reading_process_output): Extend the behavior of
7738         not breaking due to not finding output when a timer has lowered the
7739         timeout to include when SIGIO lowers the timeout.
7741         Don't return as fast reading any process output
7742         * src/process.c (wait_reading_process_output):
7743         The patch for Bug#17647 returns too fast sometimes when reading
7744         from any processes. Revert part of it, and limit the timeout more
7745         sensibly (Bug#20978).
7747         Refactor timeouts in wait_reading_process_output
7748         * src/process.c (wait_reading_process_output):
7749         Simplify timeouts with an enum.  Remove a redundant condition.
7750         (Bug#20978)
7752         Remove ADAPTIVE_READ_BUFFERING ifdef
7753         * src/process.c (make-process, make-pipe-process, deactivate_process)
7754         (wait_reading_process_output, read_process_output, send_process)
7755         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
7756         added in case there was an operating system in which it was not
7757         useful.  That was 11 years ago and it hasn't happened.  Make
7758         development easier by not considering the effect of changes on a
7759         theoretical OS where this is disabled (Bug#20978).
7761 2015-07-05  Glenn Morris  <rgm@gnu.org>
7763         * lisp/simple.el (set-variable): Doc fix.
7765         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
7767 2015-07-05  Ian Kelling  <ian@iankelling.org>
7769         accept-process-output fix
7770         This is a followon to the fix for Bug#17647 (Bug#20976).
7771         * src/process.c (status_notify): Fix too high return in some cases.
7773 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
7775         * lisp/character-fold.el (character-fold-table):
7776         Only fold decompositions if at least one character is non-spacing.
7777         (Bug#20975)
7779 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7781         Merge from gnulib
7782         This incorporates:
7783         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
7784         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
7785         2015-07-02 update-copyright: fix test failure with perl >= 5.22
7786         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
7787         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
7788         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
7789         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
7791 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
7793         Respect `prog-indentation-context' in python.el
7794         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
7795         (python-indent-context, python-indent--calculate-indentation)
7796         (python-info-current-defun)
7797         (python-info-dedenter-opening-block-message)
7798         (python-info-line-ends-backslash-p)
7799         (python-info-beginning-of-backslash)
7800         (python-info-continuation-line-p): Use `prog-widen'.
7801         (python-indent--calculate-indentation)
7802         (python-indent--calculate-levels)
7803         (python-indent-calculate-indentation): Use `prog-first-column'.
7804         (python-indent--calculate-levels): Simplify.
7805         Ignore also initial empty lines for syntax calculation.
7806         * lisp/progmodes/python.el (python-indent-context): Return
7807         :no-indent for first non-empty line, not just in line 1.
7808         * test/automated/python-tests.el (python-indent-base-case)
7809         (python-indent-inside-paren-1, python-indent-inside-paren-2)
7810         (python-indent-inside-paren-3, python-indent-inside-paren-4)
7811         (python-indent-inside-paren-5, python-indent-inside-paren-6)
7812         (python-indent-after-backslash-1)
7813         (python-indent-after-backslash-2)
7814         (python-indent-after-backslash-3)
7815         (python-indent-after-backslash-4, python-indent-inside-string-1):
7816         Expect :no-indent for first non-empty line.
7818 2015-07-04  Daniel Colascione  <dancol@dancol.org>
7820         Factor isearch word description into new function
7821         * lisp/isearch.el (isearch--describe-word-mode): New function.
7822         (isearch-message-prefix, isearch-query-replace): Use it.
7824 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
7826         Fix mouse pointer on w32 when a menu is active
7827         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
7828         shape while a menu is in use.  This started happening since we now
7829         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
7831 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
7833         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
7834         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
7835         parameter.  (Bug#17344)
7837         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
7838         * lisp/progmodes/compile.el (compilation-set-window): Take
7839         `window-fringes' from argument window.  (Bug#20829)
7841 2015-07-03  Glenn Morris  <rgm@gnu.org>
7843         Update eieio tests for recent eieio-core change.
7844         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
7845         * test/automated/eieio-tests.el
7846         (eieio-test-32-slot-attribute-override-2):
7847         Replace the deleted eieio--class-v with cl--find-class.
7849 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
7851         Fix some issues with `window-divider-mode'
7852         * lisp/frame.el (window-divider-default-places): New option.
7853         (window-divider-mode): Remove option.
7854         (window-divider-mode): Make it a "regular" minor mode.
7855         (window-divider-width-valid-p): Drop frame- prefix.
7856         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
7857         prefix.  Handle `window-divider-default-places'.
7858         (frame--window-divider-mode-set-and-apply): Remove.
7859         (window-divider-default-bottom-width)
7860         (window-divider-default-right-width): Drop :group entries.
7861         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
7862         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
7863         (menu-bar-no-window-divider): Set `window-divider-default-places'
7864         and call `window-divider-mode'.
7865         * doc/emacs/frames.texi (Window Dividers): Document
7866         `window-divider-default-places'.
7868 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
7870         Add cross references in documentation
7871         * doc/emacs/display.texi (Displaying Boundaries):
7872         * doc/emacs/search.texi (Word Search): Add cross references.
7874 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7876         -batch should not affect ‘’ -> `' display
7877         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
7878         -batch (Bug#20926).
7880 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
7882         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
7883         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
7884           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
7885         Use cl--find-class instead.
7887         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
7889 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
7891         Some further fixes in Change Window node.  (Bug#20183)
7892         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
7893         by "resizing" in section title.  Add some concept indices.
7894         Suggested by N. Jackson (Bug#20183).
7896         Reference window dividers in Change Window section.
7897         * doc/emacs/windows.texi (Change Window): Reference window
7898         dividers.
7900         Document new `window-divider-mode'.
7901         * lisp/frame.el (window-divider-mode): Fix doc-string.
7902         * doc/emacs/frames.texi (Window Dividers): New section.
7904         Improve accessibility of window dividers.  (Bug#20183)
7905         * lisp/faces.el (window-divider)
7906         (window-divider-first-pixel, window-divider-last-pixel): Change
7907         membership from `frames' to `window-divider' customization group.
7908         * lisp/frame.el (window-divider): New customization group.
7909         (window-divider-mode): New minor mode.
7910         (window-divider-default-bottom-width)
7911         (window-divider-default-right-width): New options.
7912         (frame--window-divider-previous-mode): New variable.
7913         (frame-window-divider-width-valid-p)
7914         (frame--window-divider-mode-apply)
7915         (frame--window-divider-mode-set-and-apply): New functions.
7916         * lisp/menu-bar.el (menu-bar-options-save): Save
7917         window-divider-mode settings.
7918         (menu-bar-window-divider-customize)
7919         (menu-bar-bottom-and-right-window-divider)
7920         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
7921         (menu-bar-no-window-divider): New functions.
7922         (menu-bar-showhide-window-divider-menu): New variable.
7923         (menu-bar-showhide-menu): Show/hide window divider menu.
7924         * lisp/mouse.el (mouse-split-window-vertically)
7925         (mouse-split-window-horizontally): Replace `error' by
7926         `user-error'.  Bind `window-combination-resize' to nil.
7927         (top-level): Add/reorder mouse key bindings on mode- and
7928         vertical-line.
7930 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7932         Don't display ‘’ as `' under X in en_GB
7933         The curved quote setup code invokes (char-displayable-p ?‘),
7934         but this isn’t reliable until after the X frame replaces the
7935         terminal frame (Bug#20926).
7936         * lisp/international/mule-cmds.el (set-locale-environment):
7937         Move curved quote setup code from here ...
7938         * lisp/startup.el (command-line): ... to here, after creating
7939         the X frame.
7941 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
7943         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
7945         Add argument to reverse the meaning of ido-restrict-to-matches
7946         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
7947         to reverse the meaning (Bug#15631).
7949 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
7951         Be more tolerant to fonts named "Foobar-12"
7952         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
7953         don't barf; instead, request a new fontset to be generated.  This
7954         avoids unnecessarily rejecting fonts named against XLFD rules.  See
7955         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
7956         for the description of the original problem.
7957         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
7958         by a hyphen in a font's name.
7960         Fix value of posn-at-pont in R2L lines
7961         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
7962         coordinate of -1, for a newline in a right-to-left line that
7963         overflowed into the left fringe.
7965 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
7967         (cl--copy-slot-descriptor): Copy the `props' alist as well
7968         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
7969         Rename from cl--copy-slot-descriptor.
7970         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
7972 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
7974         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
7975         (xterm-query-timeout): New var.
7976         (xterm--query): Use it.  Fallback on async method if we timeout before
7977         getting the first byte of the reply (bug#12354).
7979 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
7981         Spelling fixes
7983 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
7985         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
7987 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
7989         In strings, prefer plain ` and ' to \` and \'
7990         * lisp/allout.el (allout-insert-listified):
7991         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
7992         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
7993         (ls-lisp-string-lessp):
7994         * lisp/menu-bar.el (menu-bar-open):
7995         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
7996         * lisp/progmodes/compile.el (compile):
7997         * lisp/progmodes/etags.el (tags-loop-scan):
7998         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
7999         * lisp/subr.el (posn-actual-col-row):
8000         * lisp/term/pc-win.el (x-list-fonts):
8001         * lisp/textmodes/texinfmt.el (texinfmt-version):
8002         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
8003         * lisp/time.el (display-time-world-list):
8004         * lisp/tmm.el (tmm-menubar):
8005         * src/buffer.c (syms_of_buffer):
8006         * src/fileio.c (syms_of_fileio):
8007         Omit unnecessary and confusing backslash before quote.
8008         * lisp/erc/erc.el (erc-cmd-LASTLOG):
8009         * lisp/progmodes/flymake.el (flymake-fix-file-name):
8010         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
8011         Fix string that was intended to escape a backslash and not a quote.
8013 2015-06-30  Glenn Morris  <rgm@gnu.org>
8015         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
8017         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
8018         Replace hard-coded lists with wildcard + filter-out.
8020         * configure.ac (system-configuration-features): Add X11, NS.
8022         Improve reproducibility of generated loaddefs file.
8023         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
8024         Make the return value the modtime of the input file (if no autoloads).
8025         (update-directory-autoloads): In the "no autoloads" section,
8026         use "most recent modtime" rather than "current time".
8028 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8030         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
8031         (Bug#20930)
8033 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
8035         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
8037         Add seq-min and seq-max
8038         Bump version number.
8039         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
8040         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
8042 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
8044         Make sure sleep-for always delays for as long as it's told
8045         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
8046         a loop, to ensure we always wait exactly the required amount of
8047         time.  (Bug#15990)
8049 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8051         Fix pointer signedness glitch
8052         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
8054 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
8056         Don't block changes in mouse pointer inside 'track-mouse'
8057         * etc/NEWS:
8058         * doc/lispref/frames.texi (Mouse Tracking): Document the special
8059         effect of setting 'track-mouse' to 'dragging'.
8060         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
8061         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
8062         * lisp/mouse-drag.el (mouse-drag-throw):
8063         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
8064         to avoid changes in the shape of the mouse pointer.
8065         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
8066         pointer shape when do_mouse_tracking has the value of 'dragging',
8067         not just any non-nil value.  (Bug#20934)
8068         (syms_of_xdisp): DEFSYM 'dragging'.
8070 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8072         * lisp/isearch.el (isearch-toggle-word): Fix toggle
8074         * lisp/emacs-lisp/package.el (package-compute-transaction):
8075         Don't assume version sorting.
8077         * lisp/emacs-lisp/package.el (package--save-selected-packages):
8078         Don't save before init time, to avoid overwriting configurations.
8079         (Bug#20855)
8081 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
8083         Add cross references.
8084         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
8085         references.
8087 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
8089         cfengine.el: update for the upcoming CFEngine 3.7 release
8090         Update for the upcoming CFEngine 3.7 release: support macros and
8091         quoted context strings; reformat JSON; indent promise attributes 2
8092         units by default; give function parameter descriptions in the eldoc
8093         glue.
8094         * cfengine.el: Update version and docs and fix name.  Autoload
8095         `json-pretty-print'.  Support new features in 3.7.
8096         (cfengine-parameters-indent): Set default promise attribute indent to
8097         2 more than the promise itself.
8098         (cfengine3-macro-regex): New variable to match the new macro syntax.
8099         (cfengine3-font-lock-keywords): Use it to highlight macros.
8100         (cfengine3-indent-line): Use it to indent macros to column 0.
8101         (cfengine3-class-selector-regex): Update for the new quoted strings
8102         format.
8103         (cfengine3-reformat-json-string): New function to reformat a JSON
8104         string using `json-pretty-print'.
8105         (cfengine3-format-function-docstring): Use function parameter
8106         description if it's provided by the cf-promises syntax dump.
8108 2015-06-29  Michael R. Mauger  <michael@mauger.com>
8110         Cygwin emacsclient handles w32 file names
8112 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
8114         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
8116 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
8118         * doc/lispref/text.texi (Sticky Properties): Improve wording.
8119         (Bug#20924)
8121         Allow font names that end in "-NN", where NN is a number
8122         * src/font.c (font_load_for_lface): If the font-spec didn't match
8123         any available fonts, try again without interpreting trailing "-NN"
8124         as the font size.  For the description of the original problem, see
8125         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
8127         .gdbinit followup to changes in !USE_LSB_TAG
8128         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
8129         !USE_LSB_TAG, as Emacs no longer does.
8131 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
8133         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
8134         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
8136 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
8138         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
8139         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
8141 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
8143         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
8145         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
8147 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
8149         apropos-library quoting fix
8150         * lisp/apropos.el (apropos-library): Quote library consistently
8151         with the rest of the quoting used by apropos.
8153         Clarify interpreter-mode-alist doc
8154         * lisp/files.el (interpreter-mode-alist):
8155         Reword to avoid confusing quoting that wasn't working anyway.
8157 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
8159         Sync with Tramp 2.2.12
8160         * doc/misc/trampver.texi:
8161         * lisp/net/trampver.el: Update release number.
8162         * test/automated/tramp-tests.el (tramp-test13-make-directory):
8163         Fix cleanup.
8165 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8167         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
8168         (bug#20913)
8170 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
8172         Bind grep-highlight-matches around the rgrep call
8173         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
8174         around the rgrep call (bug#20728).
8176         Put "--color" before the other options in grep-command
8177         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
8178         before the other options in grep-command (bug#20912).
8180         Add --color Grep option to the command dynamically
8181         * lisp/progmodes/grep.el (grep-template, grep-find-template):
8182         Update the description for <C>.  (Bug#20728)
8183         (grep-compute-defaults): Don't add the --color option to
8184         grep-options.  Only add it to grep-command.
8185         (grep-expand-keywords): Expand the env value opts into <C>.
8186         (grep-expand-template): Replace cf in the env with the opts list,
8187         that can include -i and --color.
8188         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
8189         "--color=always" from the template, because we don't have to.
8191 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
8193         cl-extra fixes for most-negative-fixnum
8194         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
8195         Don't mishandle an argument equal to most-negative-fixnum,
8196         whose absolute value equals itself.
8197         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
8199         Initialize cl--gensym-counter to 0
8200         Previously it was initialized to a random value, which made it
8201         harder to reproduce earlier Emacs runs.  The need for a random
8202         value went away when Emacs introduced and used the #: syntax for
8203         uninterned symbols (Bug#20862).
8204         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
8205         Document that cl--gensym-counter now starts with 0.
8206         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
8207         (cl--random-time): Move to near only remaining use.
8208         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
8210         Improve docstring for macroexp-let2
8211         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
8212         Improve as per suggestion by RMS in:
8213         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
8214         Also, rename args to match new doc string.
8216 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
8218         Fix VC test suite on MS-Windows
8219         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
8220         always starts with 3 slashes after the colon.
8221         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
8222         'w32-application-type' to invoke CVS on MS-Windows with properly
8223         formatted CVSROOT directory name.
8225         Add a new function w32-application-type
8226         * src/w32proc.c (Fw32_application_type): New function.
8228         Avoid error in TLS connections due to incorrect format
8229         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
8230         the call to 'error', instead of the unsupported %u.  Reported by
8231         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
8233 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
8235         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
8237 2015-06-26  Leo Liu  <sdl.web@gmail.com>
8239         Fix indentation for with-output-to-string
8240         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
8241           `with-output-to-string' in elisp.
8242           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
8243           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
8245 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
8247         Minor corrections in ELisp manual
8248         * doc/lispref/nonascii.texi (Character Properties): Correct
8249         inaccuracies in description of values of the Unicode properties.
8251         Fix invisible mouse pointers on Windows.
8252         * src/w32fns.c: Include windowsx.h.
8253         (w32_wnd_proc): If the mouse moved and the mouse pointer is
8254         invisible, make it visible again even when the main (Lisp)
8255         thread is busy.
8256         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
8257         garbaging the frame have the input thread call SetCursor.
8259 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
8261         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
8262         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
8263         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
8264         * src/w32term.c (w32_hide_hourglass): Handle
8265         f->pointer_invisible.
8266         (w32_toggle_invisible_pointer): New function.
8267         (w32_create_terminal): Add w32_toggle_invisible_pointer as
8268         toggle_invisible_pointer_hook for this terminal.
8270 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
8272         Doc fix for deletion commands
8273         'delete-char' does not respect the value of 'delete-active-region'.
8274         * doc/emacs/killing.texi (Deletion):
8275         Fix documentation for some single-char deletion commands.
8277         * doc/emacs/help.texi (Apropos):
8278         Improve documentation of 'apropos-do-all'.
8280         * doc/emacs/help.texi (Help Summary):
8281         Improve documentation of 'describe-mode'.
8283 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
8285         Fix submake dependency bug with .h files
8286         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
8287         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
8288         before the submake in $(libsrc) would spin off a subsubmake
8289         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
8291 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8293         * lisp/character-fold.el (character-fold-table): Reuse `table'
8295 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
8297         Translate undisplayable ‘ to `
8298         * doc/lispref/help.texi (Keys in Documentation):
8299         * lisp/international/mule-cmds.el (set-locale-environment):
8300         * lisp/term/w32console.el (terminal-init-w32console):
8301         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
8302         If ‘ is not displayable, transliterate it to `, not to '.  See:
8303         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
8305         Fix C99 incompatibilities in Cairo code
8306         * src/image.c (xpm_load) [USE_CAIRO]:
8307         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
8308         Fix pointer signedness problem.
8310 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
8312         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
8313         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
8314           `with-output-to-string' should have the same indent as `progn'.
8315           This is in line with the declaration of `with-output-to-string'.
8317 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
8319         Get ‘./configure; make -C src emacs’ to work
8320         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
8321         * lib-src/Makefile.in (../lib/libgnu.a):
8322         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
8324 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
8326         Fix GC bugs --with-wide-int and Qnil == 0
8327         Use the same alignment for the !USE_LSB_TAG case as for the
8328         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
8329         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
8330         once we changed the representation of symbols so that Qnil == 0.
8331         Problem reported by Eli Zaretskii (Bug#20862).
8332         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
8333         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
8334         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
8335         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
8336         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
8337         This optimization in the !USE_LSB_TAG case is no longer valid when
8338         symbols are represented via offsets.  Change the only use to
8339         assume that pointers might hide in objects.
8340         * src/lisp.h (alignas) [!USE_LSB_TAG]:
8341         Require support in this case, too.
8342         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
8343         This is OK, because the !USE_LSB_TAG case now applies only when
8344         Lisp_Object is wider than void *, so there's no longer any need
8345         to shift the offset.  Not shifting the offset means that
8346         symbol representations have the same alignment as pointers,
8347         which the GC assumes.
8349 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
8351         * doc/lispintro/emacs-lisp-intro.texi (Data types):
8352         Improve documentation of 'substring'.
8354 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8356         * lisp/character-fold.el (character-fold-table): Fix table generation
8358 2015-06-24  Glenn Morris  <rgm@gnu.org>
8360         * nextstep/Makefile.in (all): Make it the first target.
8361         (../src/emacs${EXEEXT}): Add rule for making it.
8363 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8365         * etc/NEWS: Fix mention to old function name
8367         * lisp/character-fold.el: New file (Bug#20887)
8368         (character-fold-to-regexp): New function.
8369         * lisp/replace.el (replace-search): Check value of
8370         `character-fold-search'.
8371         * lisp/isearch.el: Move character-folding code to
8372         character-fold.el
8373         (isearch-toggle-character-fold): New command.
8374         (isearch-mode-map): Bind it to "\M-sf".
8375         (isearch-mode): Check value of `character-fold-search'.
8377 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
8379         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
8380         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
8381         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
8383         * lisp/progmodes/xref.el: Avoid init-args in oref.
8384         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
8385         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
8387 2015-06-24  Glenn Morris  <rgm@gnu.org>
8389         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
8391 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
8393         * lisp/gnus/nnmaildir.el: Silence lexical warnings
8394         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
8395         functional style.
8396         (nnmaildir--update-nov): Remove unused var `numdir'.
8397         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
8398         (nnmaildir-request-group, nnmaildir-request-create-group)
8399         (nnmaildir-request-post, nnmaildir-request-move-article)
8400         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
8401         (nnmaildir-get-new-mail, nnmaildir-group-alist)
8402         (nnmaildir-active-file): Declare.
8403         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
8404         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
8405         `mark', `end', `new-mark', and `mark-sym'.
8406         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
8407         `nlist2'.
8408         (nnmaildir-request-expire-articles):
8409         Remove unused vars `article', `stop' and `nlist2'.
8410         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
8411         `end'.  Use nnmaildir--article when dyn-binding is needed.
8412         Give the value directly in the `let' for `del-mark', `del-action',
8413         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
8414         (nnmaildir-close-server): Declare those local vars that need to be
8415         dyn-bound.
8417 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
8419         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
8421         Port selection info fix to clang
8422         * src/keyboard.h (kbd_buffer_store_event_hold):
8423         Don't assume C11 semantics for alignof (Bug#20756).
8425         Fix bug that munged selection info
8426         On some optimizing C compilers, copying a structure did not
8427         copy the padding bytes between elements, and the type punning
8428         between struct input_data and struct selection_input_data did
8429         not work.  Change the C code to use a proper union type instead.
8430         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
8431         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
8432         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
8433         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
8434         (mark_kboards):
8435         Use union buffered_input_event, not struct input_event.
8436         (clear_event, deliver_input_available_signal, process_special_events):
8437         Remove unnecessary forward decls.
8438         (kbd_buffer_store_buffered_event): New function, mostly just the
8439         old kbd_buffer_store_event_hold, except its argument is of type
8440         union buffered_input_event, not struct input_event.
8441         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
8442         not needed otherwise.  Argument is now of type
8443         struct selection_input_event *, not struct input_event *.
8444         All callers changed.
8445         (clear_event): Arg is now of type union buffered_input_event *,
8446         not struct input_event *.  All callers changed.
8447         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
8448         (union buffered_input_event): New type.
8449         (kbd_buffer_store_event_hold): Now an inline function,
8450         defined here.
8451         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
8452         (struct input_event): Use it.
8453         * src/xselect.c (struct selection_event_queue):
8454         Make elements be of type struct selection_input_event,
8455         not struct input_event.
8456         (selection_input_event_equal): New static function.
8457         (x_queue_event): Use it.
8458         (x_queue_event, x_decline_selection_request)
8459         (x_selection_current_request, x_reply_selection_request)
8460         (x_handle_selection_request, x_handle_selection_clear)
8461         (x_handle_selection_event): Use struct selection_input_event,
8462         not struct input_event.  All callers changed.
8463         (x_convert_selection): Omit unused first arg.  All callers changed.
8464         (Fx_disown_selection_internal): Omit unnecessary union.
8465         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
8466         rather than rolling our own equivalent.  Prefer sie.kind when
8467         setting up that kind of structure.
8468         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
8469         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
8470         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
8471         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
8472         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
8473         (SELECTION_EVENT_TIME, x_handle_selection_event):
8474         Arg is now of type struct selection_input_event *)
8475         not struct input_event *.  All callers changed.
8477 2015-06-23  Glenn Morris  <rgm@gnu.org>
8479         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
8481 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
8483         * lisp/isearch.el: Fold many unicode characters to ASCII
8484         (isearch-character-fold-search, isearch--character-fold-extras)
8485         (isearch--character-fold-table): New variable.
8486         (isearch--character-folded-regexp): New function.
8487         (isearch-search-fun-default): Use them.
8488         * lisp/replace.el (replace-character-fold): New variable.
8489         (replace-search): Use it.
8490         * etc/NEWS: Document it.
8492 2015-06-23  Glenn Morris  <rgm@gnu.org>
8494         Check for an input event before showing a dialog box.  (Bug#20813)
8495         * lisp/subr.el (y-or-n-p):
8496         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
8497         as last-nonmenu-event.
8499 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
8501         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
8502         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
8503         (switch-to-prev-buffer, switch-to-next-buffer): Respect
8504         switch-to-visible-buffer independent of the windows history.
8506 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
8508         * src/keyboard.c (last_timer_event): Remove unused var.
8510 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
8512         * test/automated/package-test.el (package-test-update-listing):
8513         Fix test.
8515 2015-06-23  Glenn Morris  <rgm@gnu.org>
8517         Revert 2014-06-25 nextstep/Makefile change.
8518         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
8519         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
8520         not as an order-only prerequisite.
8522         * configure.ac (--with-ns): Enable by default on OS X.
8524 2015-06-23  Leo Liu  <sdl.web@gmail.com>
8526         Fix shell-for/backward-command to exclude spaces
8527         * lisp/shell.el (shell-forward-command, shell-backward-command):
8528           Handle the 'move case from re-search-forward/backward.
8529           fixes debbugs:20873
8531 2015-06-22  Juri Linkov  <juri@linkov.net>
8533         * lisp/replace.el (query-replace-read-from): Add separator to
8534         the local binding of text-property-default-nonsticky.  (Bug#20690)
8536         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
8537         (Bug#20785)
8539 2015-06-22  Ken Brown  <kbrown@cornell.edu>
8541         Enable CPU profiling on Cygwin
8542         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
8543         change that undefined this.
8544         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
8545         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
8546           Cygwin.
8548         Improve diagnostics of profiler-cpu-start
8549         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
8550         return -1 if the sampling interval is invalid.
8551         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
8552         fails.  (Bug#20843)
8554 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
8556         * lisp/emacs-lisp/package.el: Exclude packages by name
8557         (package-hidden-regexps): New variable.
8558         (package-menu--refresh): Use it.
8559         (package-menu-hide-package): New command.
8561         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
8563 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
8565         Fix debug-timer-check on systems without HAVE_TIMERFD
8566         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
8567         the expired timers, since wait_reading_process_output doesn't.
8568         (debug_timer_callback): Enlarge the tolerance to 20 msec.
8570         Fix RCS crashes in vc-test
8571         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
8572         ports of 'ci' on MS-Windows by always passing the -t- switch.
8574 2015-06-22  Glenn Morris  <rgm@gnu.org>
8576         * doc/emacs/package.texi (Packages):
8577         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
8579         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
8581 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
8583         Port tests to help-quote-translation
8584         * test/automated/ert-x-tests.el (ert-test-describe-test):
8585         * test/automated/package-test.el (package-test-describe-package)
8586         (package-test-signed): Allow straight quotes, too.
8588 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
8590         Make find-function-on-key use the current window
8591         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
8592         Extract from `find-function-on-key', add a second argument.
8593         (find-function-on-key): Use it (bug#19679).
8594         (find-function-on-key-other-window)
8595         (find-function-on-key-other-frame): New commands.
8597 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
8599         Revert "Define `map-elt' as a generalized variable"
8600         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
8602 2015-06-21  Ken Brown  <kbrown@cornell.edu>
8604         Drop support for CPU profiling on Cygwin
8605         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
8606         (Bug#20843)
8608 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
8610         Fix some “nested” quoting confusion in doc strings
8611         * lisp/emacs-lisp/advice.el (ad-map-arglists):
8612         * lisp/kermit.el (kermit-clean-on):
8613         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
8614         * src/keyboard.c (Frecursive_edit):
8615         Use curved quotes when quoting text containing apostrophe,
8616         so that the apostrophe isn't curved in the output.
8618 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
8620         Define `map-elt' as a generalized variable
8621         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
8622         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
8623         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
8624         `setf' with `map-elt'.
8625         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
8627 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
8629         Improve error handling in tramp-adb.el
8630         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
8631         Improve error handling.
8633 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
8635         Reuse `alist-get' in map.el
8636         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
8637         elements.
8639 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
8641         Fix bytecomp-tests--warnings when $TMPDIR has a long name
8642         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
8643         Allow the warning to begin on the 3rd, not only 2nd line, which
8644         happens if temporary-file-directory has a very long name.
8646         Expect 2 icalendar tests to fail on MS-Windows
8647         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
8648         (icalendar-real-world): Make them expected failures on MS-Windows.
8650 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8652         Improve port of settings UI to older displays
8653         * lisp/cus-start.el (standard): Don't assume curved quotes are
8654         easily distinguishable when users are tinkering with a setting
8655         that affects how curved quotes are generated.
8657         Fix quoting in electric-quote-mode doc string
8658         * lisp/electric.el (electric-quote-mode): Fix quoting.
8659         This is a fallout from the recent change introducing
8660         ‘help-quote-translation’.
8662         Spelling fix
8664         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
8666         * src/doc.c (syms_of_doc): Remove unused symbols.
8668 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
8670         In ‘window-state-put’ undedicate target window.  (Bug#20848)
8671         * lisp/window.el (window-state-put): Undedicate target window
8672         before putting STATE into it.  (Bug#20848)
8674 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8676         Merge from origin/emacs-24
8677         a5e6f33 Fixes: debbugs:20832
8678         b9f02cf Fixes: debbugs:20832
8680 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
8682         Fix file-in-directory-p when the directory is UNC
8683         * lisp/files.el (file-in-directory-p): Support files and
8684         directories that begin with "//".  (Bug#20844)
8686 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
8688         (Bug#20832)
8689         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
8690         in the minibuffer.
8692 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
8694         (Bug#20832)
8695         * lisp/calendar/todo-mode.el (todo-show): Signal an error
8696         if buffer for adding new todo file is empty but modified.
8698 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
8700         (filepos-to-bufferpos): Further tweaks to the utf-16 code
8701         * lisp/international/mule-util.el (filepos-to-bufferpos):
8702         Fix typo.  Move non-exact check to the utf-16 branch (the only one
8703         affected).  Don't use byte-to-position for the utf-16 case.
8705 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
8707         Minor fixes in filepos-to-bufferpos
8708         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
8709         test for utf-8-emacs.  Exempt single-byte encodings from the
8710         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
8711         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
8712         UTF-16 encoded files for CR-LF EOLs.
8714 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8716         Improve the optional translation of quotes
8717         Fix several problems with the recently-added custom variable
8718         help-quote-translation where the code would quote inconsistently
8719         in help buffers.  Add support for quoting 'like this', which
8720         is common in other GNU programs in ASCII environments.  Change
8721         help-quote-translation to use more mnemonic values: values are now the
8722         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
8723         traditional Emacs help-buffer quoting style `like this'.  Change the
8724         default behavior of substitute-command-keys to match what's done in
8725         set-locale-environment, i.e., quote ‘like this’ if displayable,
8726         'like this' otherwise.
8727         * doc/lispref/help.texi (Keys in Documentation): Document
8728         new behavior of substitute-command-keys, and document
8729         help-quote-translation.
8730         * doc/lispref/tips.texi (Documentation Tips):
8731         Mention the effect of help-quote-translation.
8732         * etc/NEWS: Mention new behavior of substitute-command-keys,
8733         and merge help-quote-translation news into it.
8734         When talking about doc strings, mention new ways to type quotes.
8735         * lisp/cedet/mode-local.el (overload-docstring-extension):
8736         Revert my recent change to this function, which shouldn't be
8737         needed as the result is a doc string.
8738         * lisp/cedet/mode-local.el (mode-local-print-binding)
8739         (mode-local-describe-bindings-2):
8740         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
8741         * lisp/cus-theme.el (describe-theme-1):
8742         * lisp/descr-text.el (describe-text-properties-1, describe-char):
8743         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
8744         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
8745         (eieio-help-constructor):
8746         * lisp/emacs-lisp/package.el (describe-package-1):
8747         * lisp/faces.el (describe-face):
8748         * lisp/help-fns.el (help-fns--key-bindings)
8749         (help-fns--compiler-macro, help-fns--parent-mode)
8750         (help-fns--obsolete, help-fns--interactive-only)
8751         (describe-function-1, describe-variable):
8752         * lisp/help.el (describe-mode):
8753         Use substitute-command-keys to ensure a more-consistent quoting
8754         style in help buffers.
8755         * lisp/cus-start.el (standard):
8756         Document new help-quote-translation behavior.
8757         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
8758         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
8759         (help-xref-url-regexp):
8760         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
8761         * lisp/wid-edit.el (widget-documentation-link-regexp):
8762         Also match 'foo', in case we're in a help buffer generated when
8763         help-quote-translation is ?'.
8764         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
8765         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
8766         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
8767         (Fsubstitute_command_keys): Document and implement new behavior.
8768         (Vhelp_quote_translation): Document new behavior.
8770 2015-06-18  Glenn Morris  <rgm@gnu.org>
8772         * lisp/cus-start.el (help-quote-translation): Add :version.
8774         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
8776 2015-06-18  Alan Mackenzie  <acm@muc.de>
8778         Make translation of quotes to curly in doc strings optional.
8779         src/doc.c (traditional, prefer-unicode): new symbols.
8780         (help-quote-translation): new variable.
8781         (Fsubstitute_command_keys): make translation of quotes dependent on
8782         `help-quote-translation'; also translate curly quotes back to ASCII
8783         ones.
8784         lisp/cus-start.el (top-level): Add a customization entry for
8785         `help-quote-translation'.
8787 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
8789         * lisp/emacs-lisp/package.el: Don't always propagate async errors
8790         (package--with-work-buffer-async): Only propagate the error if the
8791         callback returns non-nil.
8792         (package--download-one-archive): Return nil on the signature
8793         checking callback if we accept unsigned.
8794         (package--download-and-read-archives): Return non-nil on the
8795         archive download callback.
8797 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
8799         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
8800         * src/nsfns.m (Fx_create_frame):
8801         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
8802         image_cache_refcount before first x_default_parameter call.
8804 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
8806         Improve and extend filepos-to-bufferpos
8807         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
8808         Don't barf if F returns nil for some argument.
8809         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
8810         that every encoding of type 'charset' is single-byte.
8812 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
8814         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
8815         Properly delete packages.  (Bug#20836)
8817 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
8819         Update data files from just-released Unicode 8.0
8820         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
8821         status.
8822         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
8823         * admin/unidata/BidiMirroring.txt:
8824         * admin/unidata/BidiBrackets.txt:
8825         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
8827 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
8829         Document curved quotes a bit better
8830         * doc/emacs/basic.texi (Inserting Text):
8831         Mention C-x 8.  Change example to use curved quote rather
8832         than infinity, as this lets us give more ways to do it.
8833         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
8834         and quotation marks.
8835         * doc/emacs/text.texi (Quotation Marks):
8836         * doc/lispref/tips.texi (Documentation Tips):
8837         Add "curly quotes" and "curved quotes" to the index.
8838         * doc/emacs/text.texi (Quotation Marks):
8839         Give the C-x 8 shorthands for curved quotes.
8840         Cross-reference to "Quotation Marks".
8842 2015-06-17  Daiki Ueno  <ueno@gnu.org>
8844         Add pinentry.el for better GnuPG integration
8845         * lisp/pinentry.el: New file.
8846         * etc/NEWS: Add entry about pinentry.el.
8847         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
8848         (Bug#20550)
8850 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
8852         * lisp/emacs-lisp/package.el: Slightly better error reporting.
8854 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
8856         (define-minor-mode): Use setq-default for :global minor modes
8857         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
8858         Use setq-default for :global minor modes (bug#20712).
8860 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
8862         Avoid infloop in redisplay with tall images
8863         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
8864         down near ZV.  (Bug#20808)
8865         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
8866         instead of CHARPOS.
8868 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
8870         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
8871         Fix error reporting.
8873         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
8875         * lisp/emacs-lisp/package.el: Revert buffer after any operation
8876         Call `package-menu--post-refresh' after any operation that changes
8877         the package database (`package-install' and `package-delete').  To
8878         avoid performance issues in large transactions, these functions
8879         add `post-refresh' to `post-command-hook' instead of calling it
8880         immediately.
8881         (package-menu--mark-or-notify-upgrades): New function.
8882         (list-packages): Add it to `package--post-download-archives-hook'.
8883         (package-menu--post-refresh): Lose the upgrade-checking code, add
8884         code to remove itself from `post-command-hook'.
8885         (package-install, package-delete): Add it to `post-command-hook'.
8886         (package-menu-execute): Don't call `package-menu--post-refresh'.
8888 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
8890         Add missing function xref-location-group for elisp-mode.
8891         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
8893 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
8895         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
8896         The behavior now matches the description in the manual.  (Bug#20783)
8898 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
8900         Update tutorials/TUTORIAL.cn
8901         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
8903 2015-06-17  Glenn Morris  <rgm@gnu.org>
8905         Generate char-script-table from Unicode source.  (Bug#20789)
8906         * admin/unidata/Makefile.in (AWK): New, set by configure.
8907         (all): Add charscript.el.
8908         (blocks): New variable.
8909         (charscript.el, ${unidir}/charscript.el): New targets.
8910         (extraclean): Also remove generated charscript.el.
8911         * admin/unidata/blocks.awk: New script.
8912         * admin/unidata/Blocks.txt: New data file, from unicode.org.
8913         * lisp/international/characters.el: Load charscript.
8914         * src/Makefile.in (charscript): New variable.
8915         (${charscript}): New target.
8916         (${lispintdir}/characters.elc): Depend on charscript.elc.
8917         (temacs$(EXEEXT)): Depend on charscript.
8919         * lisp/international/characters.el (char-script-table): Tweak
8920         some ranges to better match the source.  (Bug#20789#17)
8922         Remove "no-byte-compile: t" from a few files.
8923         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
8924         * lisp/obsolete/patcomp.el: No reason not to compile these.
8926 2015-06-16  Glenn Morris  <rgm@gnu.org>
8928         Fix some typos in copied Unicode data.  (Bug#20789)
8929         * lisp/international/characters.el (char-script-table):
8930         * lisp/international/fontset.el (script-representative-chars)
8931         (setup-default-fontset): Fix typos.
8933         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
8934         Don't print filename twice (it's in the prefix now).
8936         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
8937         No longer needed.
8939         Address a compilation warning.
8940         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
8941         Replace 't' with '_' in pcase.
8943         Address some check-declare warnings.
8944         * lisp/simple.el (tabulated-list-print):
8945         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
8946         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
8947         (ns-get-selection): Update declarations.
8949         Address some compilation warnings.
8950         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
8951         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
8952         Replace 't' with '_' in pcase.
8954         Address some compilation warnings.
8955         * lisp/face-remap.el (text-scale-adjust):
8956         * lisp/menu-bar.el (popup-menu-normalize-position):
8957         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
8958         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
8959         * lisp/emacs-lisp/generator.el (cps--transform-1):
8960         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
8961         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
8962         * lisp/progmodes/octave.el (octave-goto-function-definition)
8963         (octave-find-definition-default-filename):
8964         Replace 't' with '_' in pcase.
8966         * lisp/emacs-lisp/pcase.el (pcase--u1):
8967         Paper-over today's bootstrap failure.
8969 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
8971         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
8973         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
8975         Better confirmation message in `find-alternate-file' (Bug#20830)
8976         * lisp/files.el (find-alternate-file'): Improve the confirmation
8977         message to show the buffer name.
8979         Better docstring for null. (Bug#20815)
8980         * src/data.c (null): Improves the docstring, saying what null returns
8981         when OBJECT is non-nil.
8983 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
8985         * lisp/net/newst-treeview.el: Use lexical-binding.
8987         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
8988         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
8989         New auxiliary function, extracted from filepos-to-bufferpos.
8990         Make sure it terminates.
8991         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
8992         Add support for the `exact' quality.
8994 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
8996         Identify feeds in newsticker treeview with :nt-feed property
8997         * lisp/net/newst-treeview.el:
8998         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
9000 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
9002         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
9003         (pcase--self-quoting-p): Floats aren't self-quoting.
9004         (pcase): Tweak docstring.
9005         (pcase--u1): Deprecate the t pattern.  Improve error detection for
9006         the nil pattern.
9007         (\`): Tweak docstring.  Signal an error for unrecognized cases.
9008         (bug#20784)
9010 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
9012         Fix infloop in filepos-to-bufferpos
9013         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
9014         offset calculation, and make it conditional on the eol-type of the
9015         file's encoding.  (Bug#20825)
9017 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
9019         Fix handling of image cache refcounts.  (Bug#20802)
9020         This backports Eli Zaretskii's solution of this problem for W32
9021         to X and NS.
9022         * src/nsfns.m (image_cache_refcount): Define unconditionally.
9023         (unwind_create_frame): If the image cache's reference count
9024         hasn't been updated yet, do that now.
9025         (Fx_create_frame): Set image_cache_refcount unconditionally.
9026         * src/xfns.c (image_cache_refcount): Define unconditionally.
9027         (unwind_create_frame): If the image cache's reference count
9028         hasn't been updated yet, do that now.
9029         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
9030         unconditionally.
9031         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
9032         X and NS.
9034 2015-06-16  Nils Ackermann  <nils@ackermath.info>
9036         Improve reftex-label-regexps default value
9037         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
9038         keyvals label regexp more strict to better cope with unbalanced
9039         brackets common in math documents.
9041 2015-06-16  Glenn Morris  <rgm@gnu.org>
9043         * doc/emacs/calendar.texi (Format of Diary File):
9044         Move "nonmarking" from here...
9045         (Displaying the Diary): ... to here.
9047         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
9048         Swap the order of these nodes.
9049         * doc/emacs/emacs.texi: Update detailed menu for the above change.
9051         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
9052         Update date of examples.
9053         (Diary, Format of Diary File): Move example from former to latter.
9054         Reduce duplication.
9056         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
9057         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
9058         Don't set no-byte-compile in the outputs.
9059         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
9061 2015-06-15  Glenn Morris  <rgm@gnu.org>
9063         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
9064         * doc/emacs/calendar.texi (Diary, Format of Diary File):
9065         Update for above diary-file change.
9066         : * etc/NEWS: Mention this.
9068         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
9069         (apply-macro-to-region-lines): Use user-error.
9071         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
9072         (pages-directory-for-addresses): Doc fixes.
9074 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
9076         * lisp/info.el: Cleanup bytepos/charpos issues
9077         * lisp/international/mule-util.el: Use lexical-binding.
9078         (filepos-to-bufferpos): New function.
9079         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
9080         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
9081         (Info-read-subfile, Info-search): Use 0-based file positions.
9083         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
9084         (perl--syntax-exp-intro-keywords): New var.
9085         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
9086         (bug#20800).
9088 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
9090         Fix quoting when making derived mode docstring
9091         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
9092         Nest regexp-quote inside format, not the reverse.
9093         Problem reported by Artur Malabarba in:
9094         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
9096 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
9098         Fix current-iso639-language on MS-Windows
9099         * lisp/international/mule-cmds.el (set-locale-environment):
9100         Downcase the locale name before interning it.  This is so the
9101         'current-iso639-language' on MS-Windows matches the ':lang'
9102         property of font-spec objects.
9104         Limit Symbola usage some more
9105         * lisp/international/fontset.el (setup-default-fontset): Limit
9106         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
9107         (Bug#20727)
9109 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
9111         * lisp/emacs-lisp/map.el (map-let): Better docstring.
9113 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
9115         Spelling fixes
9117 2015-06-14  Glenn Morris  <rgm@gnu.org>
9119         * lisp/version.el (emacs-repository-version-git): Demote errors.
9120         Check result is a hash.
9122 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
9124         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
9125         Catch errors that happen before going async.  (Bug#20809)
9127 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
9129         Another improvement of documentation of set-fontset-font
9130         * doc/lispref/display.texi (Fontsets): Say explicitly that
9131         CHARACTER can be a single codepoint.
9132         * src/fontset.c (Fset_fontset_font): Doc fix.
9134         Another improvement for symbol and punctuation characters
9135         * lisp/international/fontset.el (setup-default-fontset): Exclude
9136         from Symbola character ranges for symbols and punctuation covered
9137         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
9138         installed and where its coverage of symbols and punctuation is
9139         known to be good.  (Bug#20727)
9141 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
9143         Some generic support for multi-mode indentation.
9144                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
9145                 variable.
9146                 (prog-first-column, prog-widen): New convenience functions.
9148 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
9150         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
9151         Don't assume that `tabulated-list-printer' will leave point at the
9152         end of the buffer.  (Bug#20810)
9154 2015-06-13  Glenn Morris  <rgm@gnu.org>
9156         Tweaks for getting repository version; a bit more like it was for bzr.
9157         * lisp/version.el (emacs-repository-version-git)
9158         (emacs-repository--version-git-1): New functions,
9159         split from emacs-repository-get-version.
9160         (emacs-repository-get-version): Make the second argument meaningful.
9162         * lisp/startup.el (command-line-1): Inform if skipping relative
9163         file names due to deleted PWD.
9165         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
9166         when starup directory is missing.  (Bug#18851)
9167         (errno.h): Include it.
9169 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
9171         Better fix for documenting `X as "`X"
9172         Fix suggested by Stefan Monnier.
9173         * lisp/help-fns.el (help-fns--signature):
9174         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
9175         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
9176         Don't treat `X specially, as help-fns--signature now handles this.
9178 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
9180         Improve the default fontset when Symbola is not installed
9181         * lisp/international/fontset.el (setup-default-fontset): Only
9182         prepend Symbola and FreeMono font specs for symbols and
9183         punctuation; do not replace the default spec for them.  This
9184         should have better results when Symbola/FreeMono are not
9185         installed.  (Bug#20727)
9187         Improve documentation of ':lang' in font specs
9188         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
9189         use of the ':lang' property of the font spec.
9190         * doc/emacs/frames.texi (Fonts): Document the language names that
9191         can be in the STYLE part of XLFD.
9192         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
9193         property.
9195         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
9197         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
9199         Revert last change in fontset.el
9200         * lisp/international/fontset.el (setup-default-fontset): Revert
9201         the change "Configure Symbola font only if installed", since font
9202         search is evidently not yet set up when this function is called.
9203         (Bug#20727)
9205 2015-06-12  Glenn Morris  <rgm@gnu.org>
9207         Ensure early startup warnings are visible at the end.  (Bug#20792)
9208         * lisp/emacs-lisp/warnings.el (display-warning):
9209         If startup isn't complete, delay the warning.
9210         * lisp/startup.el (normal-top-level, command-line):
9211         Let display-warning automatically handle the needed delays.
9212         Run delayed-warnings-hook.
9214         * lisp/version.el (emacs-repository-get-version):
9215         Avoid calling external executable if possible.  (Bug#20799)
9217 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
9219         Document `X as "`X", not as "(` X)"
9220         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
9221         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
9223         * src/print.c (print_object): Minor simplification.
9225 2015-06-12  Glenn Morris  <rgm@gnu.org>
9227         * src/buffer.c (init_buffer): Add final newline to message.
9229 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
9231         Configure Symbola font only if installed
9232         * lisp/international/fontset.el (setup-default-fontset):
9233         Don't specify the Symbola font if it's not installed.
9234         Likewise for FreeMono.  (Bug#20727)
9236 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
9238         Configure Symbola font only for symbols and punctuation
9239         * lisp/international/fontset.el (setup-default-fontset): Leave
9240         only symbols and punctuation in the fontset setup for Symbola
9241         font; remove "Greek and Coptic" and "Cyrillic Supplement".
9242         (Bug#20798)
9244 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
9246         Fix crash in fontset-info
9247         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
9248         non-nil.
9250 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
9252         Port to Solaris 10 sparc + Sun C 5.13
9253         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
9254         Adjust to process.c change.
9255         * src/process.c (create_process): Declare volatile variables at
9256         top level of this function, so that they're less likely to be
9257         reused later in the function in the code executed by the vforked
9258         child.  Do not declare locals used only in the vforked child, as
9259         they might share memory with locals still live in the parent.
9260         Instead, use the same variables in the child as in the parent.
9261         This works around a subtle bug that causes a garbage collector
9262         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
9264 2015-06-12  Glenn Morris  <rgm@gnu.org>
9266         * lisp/startup.el (normal-top-level): Don't let *Messages* get
9267         a nil default-directory.
9269 2015-06-11  Glenn Morris  <rgm@gnu.org>
9271         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
9273         Some progress towards starting with PWD deleted.  (Bug#18851)
9274         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
9275         * lisp/startup.el (normal-top-level, command-line-1):
9276         * lisp/minibuffer.el (read-file-name-default):
9277         Handle default-directory being nil.
9279 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
9281         Fix "not a tty" bug on Solaris 10
9282         * configure.ac (PTY_OPEN): Define to plain 'open'
9283         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
9284         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
9285         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
9286         hosts that call grantpt which does its work via a setuid subcommand
9287         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
9288         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
9289         seems relevant in that case too.
9291 2015-06-11  Juri Linkov  <juri@linkov.net>
9293         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
9294         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
9295         (Bug#20785)
9297 2015-06-11  Glenn Morris  <rgm@gnu.org>
9299         * lisp/international/characters.el (char-script-table): Fix typo.
9301 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
9303         Fix quoting of help for functions with odd names
9304         While investigating Bug#20759, I discovered other quoting problems:
9305         C-h f mishandled characters like backslash and quote in function names.
9306         This fix changes the behavior so that 'C-h f pcase RET' now
9307         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
9308         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
9309         in src/lread.c's read1 function says that the backslash will be
9310         needed starting in Emacs 25, which implies that 'format' is
9311         correct and the old pcase documention was wrong to omit the backslash.
9312         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
9313         * lisp/help-fns.el (help-fns--signature):
9314         * lisp/help.el (help-add-fundoc-usage):
9315         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
9316         Use help--make-usage-docstring rather than formatting
9317         help-make-usage.
9318         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
9319         Return raw docstring.
9320         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
9321         raw docstring.  Take more care to distinguish raw from cooked dstrings.
9322         (describe-function-1): Let help-fns--signature substitute
9323         command keys.
9324         * lisp/help.el (help--docstring-quote): New function.
9325         (help-split-fundoc): Use it, to quote funny characters more
9326         systematically.
9327         (help--make-usage): Rename from help-make-usage, since this
9328         should be private.  Leave an obsolete alias for the old name.
9329         (help--make-usage-docstring): New function.
9330         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
9332 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
9334         * lisp/thingatpt.el (in-string-p): Revert last change,
9335         since in-string-p is not used in thingatpt.el but only from outside.
9336         Also, use lexical binding.
9338 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
9340         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
9341         * test/automated/let-alist.el (let-alist-cons): Test it.
9343 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
9345         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
9347 2015-06-10  Glenn Morris  <rgm@gnu.org>
9349         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
9351         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
9352         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
9353         * admin/gitmerge.el (gitmerge-commit-message):
9354         Exclude "skipped" messages from ChangeLog once again.
9356         Slight namespace cleanup for thingatpt.el.
9357         * lisp/thingatpt.el (thing-at-point--in-string-p)
9358         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
9359         (thing-at-point--read-from-whole-string): Rename from
9360         old versions without "thing-at-point--" prefix.
9361         Keep old versions as obsolete aliases.  Update all uses.
9363         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
9364         Move requiring of finder from here...
9365         (checkdoc-package-keywords): ... to here.
9367         Use 'user-error' in a few calendar files.
9368         * lisp/calendar/appt.el (appt-add):
9369         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
9370         (calendar-generate):
9371         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
9372         Replace 'error' with 'user-error'.
9374         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
9376         * lisp/files-x.el (add-file-local-variable):
9377         Special-case 'lexical-binding'.  (Bug#20641)
9379         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
9380         No longer autoload.
9381         * doc/misc/autotype.texi (Executables):
9382         Undocument executable-self-display.
9384         * lisp/progmodes/executable.el (executable-self-display):
9385         Use non-obsolete tail syntax.  (Bug#20779)
9386         (executable-self-display): Doc update.
9388 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
9390         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
9391         (finder-known-keywords): Silence byte-compiler.
9393 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9395         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
9397         * lisp/progmodes/sh-script.el: Better handle nested quotes
9398         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
9399         (sh-font-lock-quoted-subshell): Make sure double quotes within single
9400         quotes don't mistakenly end prematurely the surrounding string.
9402         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
9404 2015-06-09  Glenn Morris  <rgm@gnu.org>
9406         * test/automated/Makefile.in (ELFILES): Sort.
9408         * Makefile.in (SUBDIR_MAKEFILES):
9409         * lwlib/Makefile.in (WARN_CFLAGS):
9410         Use built-in Make functions rather than echo+sed.
9412 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
9414         Update char-script-table
9415         * lisp/international/characters.el (char-script-table): Update
9416         from Unicode 8.0 Draft.
9418         Improve font selection for punctuation and other symbols
9419         * src/fontset.c (face_for_char): If the character's script is
9420         'symbol', and the font used for ASCII face has a glyph for it, use
9421         the font for the ASCII face instead of searching the fontsets.
9422         This comes instead of NS-specific code that used the current
9423         face's font instead, which is now disabled due to undesirable
9424         consequences.  (Bug#20727)
9426 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
9428         Skip past `#' to find BEG
9429         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
9430         past `#' to find BEG (bug#20771).
9431         * test/automated/elisp-mode-tests.el
9432         (elisp-completes-functions-after-hash-quote): New test.
9434 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
9436         Fix compilation warning/error in --without-x builds
9437         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
9438         code on HAVE_WINDOW_SYSTEM.
9440         Improve the default fontset wrt symbols
9441         * lisp/international/fontset.el (setup-default-fontset): Better
9442         setup of fontset-default for symbols: use Symbola and FreeMono.
9443         (Bug#20727)
9445 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
9447         Add new command checkdoc-package-keywords
9448         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
9449           defcustom.
9450         (checkdoc-list-of-strings-p): Add doc.
9451         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
9452         non-nil, call `checkdoc-package-keywords'.
9453         (checkdoc-get-keywords): New defun.
9454         (checkdoc-package-keywords): New command. Warns if the current file
9455         has package.el-style keywords that aren't in `finder-known-keywords'.
9456         * etc/NEWS: Add entry.
9458 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
9460         Avoid crashes when key-binding is called from a timer
9461         * src/keymap.c (Fkey_binding): Don't segfault if called with an
9462         empty vector as KEY.  (Bug#20705)
9464         Fix a thinko in arc-mode.el
9465         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
9466         non-Zip64 case.  (Bug#20769)
9468 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
9470         * lisp/emacs-lisp/package.el (package-delete): Make interactive
9472 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
9474         checkdoc.el (checkdoc-file): New function
9475         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
9476           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
9477           to the standard output.
9478         (bug#20754)
9480 2015-06-07  Glenn Morris  <rgm@gnu.org>
9482         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
9484         * src/font.c (syms_of_font) <font-log>: Doc fix.
9486         Remove the obsolete leading "*" from some C doc strings.
9487         * src/coding.c (syms_of_coding):
9488         * src/font.c (syms_of_font): Remove leading "*" from docs.
9489         * lisp/cus-start.el (enable-character-translation): Add it.
9491 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
9493         Move gen_origin from program to data
9494         That way, 'make change-history' needs to change only ChangeLog.2,
9495         instead of having to change two files.
9496         * ChangeLog.2: Add commit info for range that this file covers.
9497         * Makefile.in (new_commit_regexp): New macro.
9498         (change-history-nocommit): Simplify, by putting what used to be
9499         the gen_origin value into the data (ChangeLog.2) rather than
9500         into the program (gitlog-to-emacslog).
9501         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
9502         the input file (e.g., ChangeLog.2) rather than by having a
9503         constant in the program.  Substitute it into the output.
9505 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
9507         Escape any quotes in the function name
9508         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
9509         function name (bug#20759).
9511 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
9513         Adapt 'struct timespec' to next release of MinGW runtime
9514         * nt/inc/ms-w32.h (struct timespec): Don't declare if
9515         __struct_timespec_defined is defined.
9517 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
9519         Merge from gnulib
9520         This incorporates:
9521         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
9522         2015-06-05 stdio: Don't redefine gets when using C++
9523         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
9524         2015-06-02 file-has-acl: fix build on Mac OS X 10
9525         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
9526         2015-06-01 pthread_sigmask: discount system version if a simple macro
9527         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
9528         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
9529         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
9530         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
9531         * lib/gnulib.mk: Regenerate.
9533 2015-06-06  Juri Linkov  <juri@linkov.net>
9535         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
9536         before calling grep-compute-defaults because now it affects the
9537         command lines computed in grep-compute-defaults. (Bug#20728)
9539 2015-06-06  Glenn Morris  <rgm@gnu.org>
9541         Address some compilation warnings.
9542         * lisp/international/mule-cmds.el (w32-get-console-codepage)
9543         (w32-get-console-output-codepage):
9544         * lisp/progmodes/elisp-mode.el (xref-collect-references):
9545         * lisp/version.el (cairo-version-string): Declare.
9546         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
9548 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
9550         Fix display when a font claims large values of ascent and descent
9551         This fixes bug#20628.
9552         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
9553         coordinate of a hollow cursor glyph when the original glyph's
9554         ascent is too small.
9555         (get_font_ascent_descent, normal_char_ascent_descent)
9556         (normal_char_height): New functions.
9557         (handle_single_display_spec, append_space_for_newline)
9558         (calc_pixel_width_or_height, produce_stretch_glyph)
9559         (calc_line_height_property): Use normal_char_ascent_descent and
9560         normal_char_height.
9561         (x_produce_glyphs): When font-global values of ascent and descent
9562         are too large, use per-character glyph metrics instead, if
9563         possible.  But don't allow the glyph row's ascent and descent
9564         values become smaller than the values from the metrics of the
9565         font's "normal" character.
9566         * src/xftfont.c (xftfont_draw):
9567         * src/w32font.c (w32font_draw): Correct the values of ascent and
9568         descent used to draw glyphless characters' hex code in a box.
9569         * src/xterm.c (x_draw_glyph_string_background):
9570         * src/xdisp.c (x_produce_glyphs):
9571         * src/w32term.c (x_draw_glyph_string_background):
9572         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
9573         to detect fonts whose global ascent and descent values are too
9574         large to be used in layout decision, and redraw the background
9575         when that happens.
9576         * src/dispextern.h (FONT_TOO_HIGH): New macro.
9577         (get_font_ascent_descent): Add prototype.
9578         * src/xterm.c (x_new_font):
9579         * src/w32term.c (x_new_font):
9580         * src/nsterm.m (x_new_font):
9581         * src/font.c (font_open_entity):
9582         * src/composite.c (composition_gstring_width): Use
9583         get_font_ascent_descent to obtain reasonable values for ascent and
9584         descent of a font.
9586 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
9588         Add assertion in adjust_point_for_property
9589         * src/keyboard.c (adjust_point_for_property): Add eassert for
9590         current buffer being shown in selected window.
9592 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
9594         Replace uses of in-string-p; make it obsolete
9595         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
9596         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
9598 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
9600         Fix Dired display of an explicit list of files by ls-lisp.el
9601         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
9602         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
9603         correct for when displaying individual files separately, not as
9604         part of listing a directory, in which case these values are not
9605         recomputed by 'ls-lisp-insert-directory', but used verbatim.
9607         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
9609 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
9611         Do not adjust point in a non-selected window
9612         * src/keyboard.c (command_loop_1): Do not adjust point when
9613         current buffer is not shown in selected window (Bug#20590).
9615         * etc/DEBUG: Mention 'maybe_call_debugger'
9617 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
9619         Fix a unit test for map.el
9620         * test/automated/map-tests.el (test-map-let): Fix the test to work
9621         with the new syntax of `map-let'.
9623         * lisp/emacs-lisp/map.el (map-let): Better docstring.
9625         Better syntax for the map pcase pattern
9626         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
9627         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
9629         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
9631         Fix a byte-compiler error in map-put and map-delete
9632         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
9633         called with a symbol.
9635 2015-06-05  Glenn Morris  <rgm@gnu.org>
9637         * admin/gitmerge.el (gitmerge-commit-message):
9638         Revert to including "skipped" messages in ChangeLog once again.
9640 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
9642         Use string> instead of equiv lambda with string<
9643         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
9644         lambda with string<.
9646 2015-06-05  Glenn Morris  <rgm@gnu.org>
9648         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
9649         (map--delete-array): Fix typo.
9651         * test/automated/map-tests.el: Replace "assert" with "should".
9653         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
9654         (SUBDIRS_REL): Derive from SUBDIRS.
9656         Tweak some build messages.
9657         * lisp/Makefile.in ($(lisp)/loaddefs.el):
9658         * lisp/cus-dep.el (custom-make-dependencies):
9659         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
9660         * lisp/international/titdic-cnv.el (batch-titdic-convert):
9661         Don't say how to compile.
9663 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
9665         Omit U+0332 COMBINING LOW LINE in previous change
9666         It turns out that it does not work on Ubuntu 15.04.
9668         Fix transliteration of Bahá'í months
9669         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
9670         Improve quality of Latin transliteration of Bahá'í month names.
9672         Fix curved quotes in a few places
9673         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
9674         The strings in question are not doc strings, so this partially
9675         undoes the recent change that assumed they were doc strings.
9676         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
9677         * lisp/info.el (Info-finder-find-node):
9678         Use curved quotes.
9679         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
9680         Also allow curved quotes in doc strings.
9682 2015-06-04  Glenn Morris  <rgm@gnu.org>
9684         * lisp/Makefile.in (AM_V_at): Add missing definition.
9686         * lisp/Makefile.in: Quieten output a bit.
9687         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
9688         Don't echo directories, since the commands we invoke print them.
9690         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
9691         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
9692         (SUBDIRS_SUBDIRS): New variables.
9693         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
9694         Remove.
9695         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
9696         (update-subdirs, compile-main, compile-clean):
9697         Replace "setwins" usage with new "SUBDIRS" variables.
9699         * lisp/vc/compare-w.el (compare-windows-get-window-function):
9700         Fix :version tag.
9702 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9704         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
9706         Undo removal of x_clear_area call on expose for GTK3 or cairo.
9707         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
9708         exposed area.  (Bug#20677)
9710 2015-06-04  Glenn Morris  <rgm@gnu.org>
9712         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
9714         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
9716         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
9717         Rename from quail-lao-update-translation, since lao.el defines that.
9719 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
9721         Handle new-style advice in find-funct
9722         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
9723         Handle new-style advice.  Return the symbol's function definition.
9724         (Bug#20718)
9725         (find-function-library): Update accordingly.
9727 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
9729         Merge branch 'map'
9731         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
9733         Add new function string-greaterp
9734         * lisp/subr.el (string-greaterp): New function.  Also aliased to
9735         `string>'.
9736         * test/automated/subr-tests.el (string-comparison-test): Add unit
9737         tests for `string>'and `string<'.
9738         * src/fns.c (string-lessp): Better docstring.
9740 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
9742         Fix timezone-related functions on MS-Windows
9743         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
9744         'xputenv', even if no reallocation of tzvalbuf was necessary.
9745         This fixes a bug in timezone-related functions on MS-Windows.
9746         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
9748 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
9750         Don't pass raw directory name to 'error'
9751         * lisp/files.el (basic-save-buffer-2): Avoid format error if
9752         a directory name contains a string like "%s".
9754 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
9756         Override 'grep --color=always'
9757         * lisp/progmodes/xref.el (xref-collect-matches):
9758         Override --color=always in grep-find-template.
9760 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
9762         Fix error introduced recently in file-notify-tests.el
9763         * test/automated/file-notify-tests.el
9764         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
9765         (file-notify--deftest-remote): Revert previous patch, not
9766         necessary anymore.
9768 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
9770         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
9771         Starting from a display string after a newline, point went to the
9772         previous line.  Also, fix an inadvertent use of a buffer position
9773         with FETCH_BYTE.  (Bug#20701)
9775 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
9777         Instrument file-notify-test.el in order to catch hydra error.
9778         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
9779         Wrap body by `ignore-case', in order to trap non-local errors.
9781 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9783         Undo previous changes in non-toolkit scroll bar drawing.
9784         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
9785         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
9787 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
9789         * .gitignore: Also ignore doc/*/*/*.html and .ps.
9791         Support quotes 'like this' in info files
9792         This is possible when 'makeinfo --disable-encoding' is used
9793         in Texinfo 5.
9794         * lisp/calc/calc-help.el (calc-describe-thing):
9795         * lisp/gnus/gnus-art.el (gnus-button-alist):
9796         * lisp/info.el (Info-find-index-name):
9797         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
9798         Also support quotes 'like this'.
9799         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
9800         * lisp/finder.el (finder-font-lock-keywords): Remove var that
9801         hasn't been used in years, instead of bothering to fix its quoting.
9803 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9805         * .gitignore: Remove !test/etags/html-src/*.html.
9806         It's no longer needed, since *.html was removed.  Sort.
9808 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
9810         Restore <D> instead of '.' in grep-find-template
9811         * lisp/cedet/semantic/symref/grep.el
9812         (semantic-symref-grep-use-template): Update a comment.
9813         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
9814         instead of '.' in grep-find-template (bug#20719).
9815         (rgrep): Pass nil as the directory to rgrep-default-command.
9816         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
9817         default value for DIR.
9818         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
9819         workaround.
9821 2015-06-02  Glenn Morris  <rgm@gnu.org>
9823         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
9825         * configure.ac (emacs_config_features): Add Cairo.
9827         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
9829 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
9831         Ensure, that autorevert works for remote files in file-notify-tests.el
9832         * test/automated/file-notify-tests.el (file-notify--test-desc):
9833         New defvar.
9834         (file-notify--test-remote-enabled)
9835         (file-notify-test00-availability, file-notify-test01-add-watch)
9836         (file-notify-test02-events): Use it.
9837         (file-notify--test-event-test): Check proper descriptor.
9838         (file-notify-test03-autorevert): Ensure, that
9839         `visited-file-modtime' has changed.
9840         (Bug#20392)
9842 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
9844         Add a pcase pattern for maps and `map-let' based on it
9845         * lisp/emacs-lisp/map.el (map-let): New macro.
9846         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
9847         * test/automated/map-tests.el: New test for `map-let'.
9849 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
9851         Reuse rgrep mechanics in xref-find-regexp
9852         * lisp/progmodes/grep.el (rgrep-default-command):
9853         Extract from `rgrep'.
9854         * lisp/progmodes/xref.el (xref-collect-references): Split from
9855         `xref-collect-matches'.  Only handle the case of symbol search.
9856         (xref-collect-matches): Instead of Semantic Symref, use
9857         `rgrep-default-command', to take advantage of its directory and
9858         file ignore settings.
9859         (xref--collect-match): Remove the last argument, leaving the
9860         regexp construction up to the caller.
9861         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
9862         Change to take the xref-collect- function to use as an argument.
9863         (elisp-xref-find): Update accordingly.
9864         * lisp/progmodes/etags.el (etags--xref-find-matches)
9865         (etags-xref-find): Same.
9867         Move xref-elisp-location to elisp-mode.el
9868         * lisp/progmodes/xref.el (xref-elisp-location)
9869         (xref-make-elisp-location, xref-location-marker): Remove here.
9870         (xref--xref): Don't limit the type of the location slot.
9871         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
9872         Define as a cl-struct here.
9873         (xref-location-marker): Move here.
9875 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
9877         Minor tweaks for .gitignore
9878         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
9879         ignore admin/notes/tags that might be ignored as TAGS on
9880         case-insensitive filesystems.  (Bug#20710)
9882 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9884         Generate curved quotes in ert doc
9885         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
9886         (ert-results-mode-menu)
9887         (ert-results-pop-to-backtrace-for-test-at-point)
9888         (ert-results-pop-to-messages-for-test-at-point)
9889         (ert-results-pop-to-should-forms-for-test-at-point)
9890         (ert-describe-test):
9891         Quote ‘like this’, not `like this', when generating doc strings
9892         and the like.
9893         * test/automated/ert-x-tests.el (ert-test-describe-test):
9894         Allow quoting ‘like this’.
9896 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
9898         Add test for previous commit
9899         * test/automated/replace-tests.el: New file.
9900         (query-replace--split-string-tests): Add test for previous commit.
9902         Avoid confusion in query-replace history when replacing NUL chars
9903         * lisp/replace.el (query-replace--split-string): New function.
9904         (query-replace-read-from): Rely on the 'separator' property
9905         instead of searching for the NUL character (Bug#20690).
9907 2015-06-02  Glenn Morris  <rgm@gnu.org>
9909         Merge from origin/emacs-24
9910         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
9912         * admin/gitmerge.el (gitmerge-commit-message):
9913         Exclude "skipped" messages from ChangeLog.
9915 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
9917         Sync with Tramp repository
9918         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
9919         messages.
9920         (tramp-handle-make-auto-save-file-name): When calling
9921         `make-auto-save-file-name' internally, make sure it uses Unix-like
9922         behavior, not Windows-like behavior.
9923         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
9924         the local case, because "chown" might fail on w32.
9925         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
9926         for XEmacs.
9928 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
9930         MS-Windows followup for batch stdout/stderr output changes
9931         * lisp/international/mule-cmds.el (set-locale-environment): In
9932         batch mode, use console codepages for keyboard and terminal
9933         encoding.  (Bug#20545)
9935         Update .gitattributes for DOS EOL files
9936         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
9937         CRLF end-of-line format.
9939         NS equivalents of xterm.c and w32term.c changes
9940         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
9941         glyph string background also when the font in use claims
9942         preposterously large global height value.  Helps to remove
9943         artifacts left from previous displays when glyphless characters
9944         are displayed as hex code in a box.
9945         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
9946         value for FRAME_LINE_HEIGHT, even when a font claims very large
9947         value for its height.
9949 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
9951         Avoid grave accent quoting in stderr diagnostics
9952         A few Emacs diagnostics go directly to stderr, and so can't easily
9953         contain curved quotes (as non-UTF-8 locales might mishandle them).
9954         Instead of bothering to add support for this rarity, reword the
9955         diagnostics so that they don't use grave accent to quote.
9956         * src/alloc.c (mark_memory): Fix comment.
9957         * src/buffer.c (init_buffer):
9958         * src/dispnew.c (init_display):
9959         * src/emacs.c (main, sort_args):
9960         * src/lread.c (dir_warning):
9961         * src/term.c (init_tty):
9962         * src/unexmacosx.c (unexec):
9963         * src/xfns.c (select_visual):
9964         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
9965         Reword stderr diagnostics to avoid quoting `like this'.
9966         * src/unexmacosx.c: Include errno.h.
9967         * src/xfns.c (select_visual): Encode value for locale.
9969 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
9971         Treat batch stdout/stderr like standard display
9972         Calls like (print FOO) could generate improperly encoded or
9973         hard-to-read output if FOO contains characters outside the system
9974         locale.  Fix this by treating batch stdout and stderr like
9975         interactive standard display, when it comes to transliterating and
9976         encoding characters (Bug#20545).
9977         * doc/emacs/mule.texi (Communication Coding):
9978         * doc/lispref/display.texi (Active Display Table):
9979         * doc/lispref/nonascii.texi (Locales):
9980         * etc/NEWS:
9981         * src/coding.c (syms_of_coding):
9982         * src/dispnew.c (syms_of_display):
9983         Document this.
9984         * src/print.c: Include disptab.h.
9985         (printchar_to_stream): New function, with much of the guts of the
9986         old Fexternal_debugging_output, except this one also uses the
9987         standard display table.
9988         (printchar, strout, Fexternal_debugging_output): Use it.
9990 2015-05-31  Glenn Morris  <rgm@gnu.org>
9992         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
9994 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
9996         Remove unused DEFSYMs
9997         Remove DEFSYMs that aren't used at the C level.  Also:
9998         * src/decompress.c (Qzlib_dll):
9999         * src/font.c (Qunicode_sip):
10000         * src/frame.c (Qtip_frame):
10001         * src/ftfont.c (Qserif):
10002         * src/gnutls.c (Qgnutls_dll):
10003         * src/xml.c (Qlibxml2_dll):
10004         Move from here ...
10005         * src/w32fns.c (syms_of_w32fns): ... to here,
10006         as these are used only on MS-Windows.
10008 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
10010         Use another default value for tramp-histfile-override
10011         * lisp/net/tramp-sh.el (tramp-histfile-override):
10012         Use ".tramp_history" as default.
10013         Fixes: debbugs:#20446
10015 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
10017         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
10019 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
10021         * etc/NEWS: Add an entry about map.el
10023         Improve the docstring of functions in map.el
10024         Since a map is not a data structure but a concept, adding information
10025         about the possible types of maps can be useful information.
10026         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
10027         each public function.
10029 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
10031         Faster implementation of map-empty-p
10032         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
10033         specific tests depending on the type of the map.
10035         * lisp/emacs-lisp/map.el: Better docstrings.
10037 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10039         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
10041 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
10043         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
10045         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
10047         Fix a false negative in `map-elt' with alists and values being nil
10048         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
10049         found but its associated value is nil, do not return the default
10050         value.
10051         * test/automated/map-tests.el: Add a regression test.
10053 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
10055         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
10057         Do not signal an error when trying to delete a key from an array
10058         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
10059         the key is present to avoid signaling an error.
10060         * test/automated/map-tests.el: Add a test for deleting non-existing
10061         keys from maps.
10063         * lisp/emacs-lisp/map.el: Better docstring.
10065         Minor improvement in map-elt.
10066         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
10067         doing a lookup in arrays, but check the boundaries of the array
10068         instead.
10069         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
10070         and a negative integer as key.
10072 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
10074         * test/automated/map-tests.el: Refactoring of test methods.
10076         * test/automated/map-tests.el: Renamed from map-test.el.
10078 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
10080         * lisp/emacs-lisp/map.el (map-into): Better error message.
10082         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
10084         Throw an error when converting a map into an unknown map type
10085         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
10086         * test/automated/map-test.el: Add a regression test.
10088         New library map.el similar to seq.el but for mapping data structures.
10089         * test/automated/map-test.el: New file.
10090         * lisp/emacs-lisp/map.el: New file.
10092 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
10094         Make sure there's no explicit tag name
10095         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
10096         there's no explicit tag name (bug#20629).
10098 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
10100         Remove format2
10101         * src/editfns.c, src/lisp.h (format2): Remove.
10102         It is more trouble than it's worth, now that we have CALLN.
10103         This is just a minor refactoring.
10104         * src/buffer.c (Fkill_buffer):
10105         * src/dbusbind.c (XD_OBJECT_TO_STRING):
10106         * src/fileio.c (barf_or_query_if_file_exists):
10107         Adjust to format2 going away.
10109         Don't misencode C-generated messages
10110         Also, be more consistent about calls to 'Fmessage' vs 'message'.
10111         * src/alloc.c (Fgc_status):
10112         Prefer AUTO_STRING to build_string for Fmessage call.
10113         * src/data.c (Fmake_variable_buffer_local)
10114         (Fmake_local_variable, Fmake_variable_frame_local):
10115         * src/doc.c (store_function_docstring):
10116         Use Fmessage, not message, since the argument can contain
10117         non-ASCII characters, and this can cause the resulting message
10118         to be incorrectly encoded for the current environment.
10119         * src/fns.c (maybe_resize_hash_table):
10120         * src/xselect.c (x_clipboard_manager_save_all):
10121         Use message, not Fmessage, since Fmessage's power isn't needed here.
10122         * src/process.c (Fmake_network_process): Reword message to avoid %s.
10123         * src/xdisp.c (vmessage): Document restrictions on message contents.
10124         (message_nolog) [false]: Remove unused code.
10126         Use \r rather than ^M in string literals
10127         This is less likely to cause problems on platforms that
10128         use CRLF (or CR!) termination for lines.
10130         Update .gitattributes to match current sources
10131         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
10132         * .gitattributes: Accommodate tests that insist on DOS format.
10133         Remove test/automated/data/decompress/foo-gzipped.
10134         Add etc/e/eterm-color.
10136 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
10138         Document 'face-ignored-fonts'
10139         * doc/emacs/mule.texi (Modifying Fontsets): Document
10140         face-ignored-fonts.  (Bug#20628)
10142         Add etags test for the new -Q option
10143         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
10144         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
10145         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
10146         test-case changes below.
10147         * test/etags/ETAGS.good_6: New file.
10148         * test/etags/cp-src/x.cc: New file.
10149         * test/etags/Makefile (CPSRC): Add x.cc.
10150         (check): Add one more test, for -Q.
10152 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
10154         Use list for the tags completion table, not obarray
10155         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
10156         list instead of an obarray
10157         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
10158         (tags-completion-table): Combine those lists.
10159         (tags-completion-table): Update the docstring.
10161 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
10163         Restore EOL format testing in etags
10164         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
10165         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
10166         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
10167         test-case changes below.
10168         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
10169         * test/etags/cp-src/c.C (B): Add back stray CR character.
10170         * test/etags/c-src/dostorture.c: Add back.
10171         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
10173 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
10175         Declare Emacs on MS-Windows to be DPI-aware
10176         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
10177         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
10178         This avoids Windows entering compatibility mode for Emacs,
10179         which causes fonts to look less nice.
10181 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
10183         Improve Tramp traces.
10184         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
10185         * lisp/net/tramp.el (tramp-debug-message): Use it.
10187 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
10189         backup-buffer minor reworking of internals
10190         * lisp/files.el (backup-buffer): Rework to avoid a couple of
10191         unused locals inadvertently introduced in the previous change.
10193         backup-buffer now reports .emacs.d/%backup% ills
10194         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
10195         fails due to disk space exhaustion or whatever, do not pretend
10196         that it succeeded.  More generally, do a better job of checking
10197         for I/O failures, and limit the scope of the condition-case to
10198         just the operations where file errors should be caught and ignored
10199         (Bug#20595).  Also, don't bother trying to delete later backups if
10200         an earlier deletion fails, as this is a sign of trouble and it's
10201         better to stop when there's trouble.
10203         copy-file now truncates output after writing
10204         * src/fileio.c (Fcopy_file): Truncate output after writing rather
10205         than before.  This is more likely to work than truncation before
10206         writing, if the file system is out of space or the user is over
10207         disk quota (Bug#20595).  Also, check for read errors.
10209 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
10211         * lisp/emacs-lisp/package.el: Don't load from parent dir
10212         (package-load-all-descriptors): Don't load descriptors from
10213         directories above the package directories.
10215 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
10217         Merge from gnulib
10218         This incorporates the following (Bug#20681):
10219         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
10220         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
10221         * lib/set-permissions.c: Copy from gnulib.
10223 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
10225         Improve Tramp traces.
10226         * lisp/net/tramp.el (tramp-call-process-region): New defun.
10227         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
10229 2015-05-29  Glenn Morris  <rgm@gnu.org>
10231         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
10233 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
10235         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
10236         The signature was changed in the cairo branch, merged on 2015-05-23.
10237         This oversight broke compiling only the non-toolkit X version.
10239 2015-05-29  Samer Masterson  <samer@samertm.com>
10241         * doc/lispref/os.texi: Update initial-buffer-choice docs.
10243 2015-05-29  Glenn Morris  <rgm@gnu.org>
10245         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
10246         Mark as an expected failure.
10248 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
10250         Change package test to look for curved quotes
10251         * test/automated/package-test.el (package-test-describe-package)
10252         (package-test-signed): Search for curved single quotes as well as
10253         for grave accent and apostrophe.
10255 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
10257         gnus-art.el: Re-revert last change
10258         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
10259         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
10261 2015-05-28  Samer Masterson  <samer@samertm.com>
10263         Show files when `initial-buffer-choice' is non-nil
10264         * startup.el (command-line-1): When Emacs is given a file as an
10265         argument and `initial-buffer-choice' is non-nil, display both the file
10266         and `initial-buffer-choice'.  For more than one file, show
10267         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
10268         commands out of the command line arg parser.
10269         (initial-buffer-choice): Clarify docstring.
10271 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
10273         Fix last commit
10274         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
10275         (gnulib module qcopy-acl): Add back, as it is harmless.  This
10276         minimizes differences wrt lib/gnulib.mk.
10278         Fix the MS-Windows build as followup to gnulib update
10279         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
10280         set-permissions.c, as they don't compile on MinGW.
10281         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
10283 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
10285         Revert my change to gnus-art.el
10286         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
10287         It wasn't that important, and it caused a Gnus build to fail.  See:
10288         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
10290         New minor mode Electric Quote
10291         This lets you easily insert quotes ‘like this’ by typing
10292         quotes `like this', and similarly you can easily insert
10293         quotes “like this” by typing quotes ``like this'' (Bug#20545).
10294         * doc/emacs/basic.texi (Inserting Text):
10295         * doc/emacs/modes.texi (Minor Modes):
10296         * etc/NEWS: Document it.
10297         * doc/emacs/text.texi (Quotation Marks): New section.
10298         * lisp/electric.el (electric-quote-comment)
10299         (electric-quote-string, electric-quote-paragraph):
10300         New custom vars.
10301         (electric--insertable-p)
10302         (electric-quote-post-self-insert-function): New functions.
10303         (electric-quote-mode, electric-quote-local-mode): New minor modes.
10304         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
10305         Add curved single quotes to electric-pair-text-pairs.
10306         Set electric-quote-string in this buffer.
10308         A few more doc string fixes (Bug#20385)
10310         Accept curved quotes in doc strings
10311         * lisp/info-look.el (info-lookup-guess-custom-symbol):
10312         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
10314         Generate curved quotes in pseudo-info nodes
10315         * lisp/info.el (Info-virtual-index-find-node)
10316         (Info-virtual-index, Info-apropos-find-node, info-apropos):
10317         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
10319         Fix minor quoting problems in doc strings
10320         Most of these fixes involve escaping grave accents that are
10321         actually intended to be grave accents, not left quotes.
10322         (Bug#20385)
10324         Support curved quotes in doc strings
10325         Emacs's traditional doc string style has been to quote symbols
10326         `like this'.  This worked well on now-obsolete terminals where
10327         ` and ' were symmetric quotes, but nowadays curved quotes
10328         ‘like this’ look better.  Support quoting the new way too.
10329         (Bug#20385)
10330         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
10331         ‘like-this’ as well as `like-this'.
10332         * etc/NEWS: Mention this.
10333         * lisp/cedet/mode-local.el (overload-docstring-extension)
10334         (mode-local-print-binding, mode-local-describe-bindings-2):
10335         * lisp/cus-theme.el (describe-theme-1):
10336         * lisp/descr-text.el (describe-text-properties-1, describe-char):
10337         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
10338         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
10339         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
10340         (eieio-help-constructor):
10341         * lisp/emacs-lisp/package.el (describe-package-1):
10342         * lisp/faces.el (describe-face):
10343         * lisp/help-fns.el (help-fns--key-bindings)
10344         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
10345         (help-fns--interactive-only, describe-function-1):
10346         (describe-variable):
10347         * lisp/help.el (describe-mode):
10348         * lisp/international/mule-cmds.el (describe-input-method)
10349         (describe-language-environment):
10350         * lisp/international/mule-diag.el (describe-character-set)
10351         (print-coding-system-briefly, list-input-methods)
10352         (list-input-methods-1):
10353         Insert curved quotes rather than grave accent and apostrophe.
10354         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
10355         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
10356         (checkdoc-proper-noun-region-engine):
10357         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
10358         (lisp-cl-font-lock-keywords-2):
10359         * lisp/finder.el (finder-font-lock-keywords):
10360         * lisp/gnus/gnus-art.el (gnus-button-alist):
10361         * lisp/help-fns.el (help-do-arg-highlight)
10362         (describe-function-1, describe-variable):
10363         * lisp/help-mode.el (help-xref-symbol-regexp)
10364         (help-xref-info-regexp, help-xref-url-regexp):
10365         * lisp/help.el (describe-mode):
10366         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
10367         * lisp/wid-edit.el (widget-documentation-link-regexp):
10368         Parse symbols quoted ‘like-this’ as well as `like-this'.
10369         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
10370         Add "‘" and "’" to electric-pair-text-pairs.
10371         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
10372         (elisp-completion-at-point, elisp--preceding-sexp):
10373         Also treat "‘" and "’" as quoting chars.
10375         substitute-command-keys now curves quotes
10376         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
10377         * doc/lispref/help.texi (Keys in Documentation):
10378         * etc/NEWS: Document this.
10379         * src/doc.c (Fsubstitute_command_keys): Implement it.
10381 2015-05-28  Glenn Morris  <rgm@gnu.org>
10383         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
10384         (rmail-summary-by-topic, rmail-summary-by-senders):
10385         No longer strip leading/trailing whitespace.
10387         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
10388         (f90-no-block-limit): Add "enum".  (Bug#20680)
10389         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
10390         New tests.
10392 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10394         * lisp/isearch.el (isearch--current-buffer): Give a default value.
10396         Un-revert changes mistakenly dropped by f9fabb2b
10398 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
10400         Merge from gnulib
10401         This incorporates:
10402         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
10403         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
10404         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
10405         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
10406         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
10407         2015-05-26 stdio: fix probe on mingw under gcc 5.1
10408         * admin/merge-gnulib (GNULIB_MODULES):
10409         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
10410         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
10411         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
10412         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
10413         Get latest versions from gnulib.
10414         * lib/get-permissions.c, lib/set-permissions.c: New files.
10415         * lib/gnulib.mk, m4/gnulib-comp.m4:
10416         Regenerate.
10417         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
10419 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
10421         Delete the old process in vc-setup-buffer
10422         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
10423         process here.
10424         (vc-do-command): Rather than here (bug#20608).
10426 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
10428         Avoid gratuitous delete-dups in face-at-point.
10429         * lisp/faces.el (face-at-point): Do not compute the properly
10430         ordered, duplicate-free list if only a single value is
10431         requested anyway.  (Bug#20519)
10433         Show the exact C-x 8 RET invocation in describe-char.
10434         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
10435         invocation instead of a template.  (Bug#20522)
10437 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
10439         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
10440         (package-menu--post-refresh): Call `tabulated-list-print' with the
10441         UPDATE argument.  This only affects the refresh action, the revert
10442         action still erases tags.
10443         (package-menu-get-status): Change `assq' to `assoc'.
10444         (package-menu--mark-upgrades-1): New function.
10445         (package-menu--mark-upgrades-pending): New variable.
10446         (package-menu-mark-upgrades): Use them to delay marking until
10447         after refresh is done.
10448         (package-menu--post-refresh): Call mark-upgrades-1 if
10449         mark-upgrades-pending is non-nil.
10451 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
10453         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
10455 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10457         * lisp/isearch.el (isearch--current-buffer): New var
10458         (isearch-update): Set cursor-sensor-inhibit here.
10459         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
10461         Change inhibit-point-motion-hooks to t
10462         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
10463         to t and document it as obsolete.
10465 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
10467         Support ZIP files that use Zip64 extensions
10468         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
10469         format of central directory offsets used by Zip64 extensions.
10470         (Bug#20665)
10472 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
10474         New test tramp-test30-make-auto-save-file-name
10475         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
10476         (tramp-test31-special-characters)
10477         (tramp-test31-special-characters-with-stat)
10478         (tramp-test31-special-characters-with-perl)
10479         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
10480         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
10481         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
10482         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
10484         Improve tramp-handle-make-auto-save-file-name
10485         * tramp.el (tramp-auto-save-directory): Add :tags.
10486         (tramp-handle-make-auto-save-file-name): Let native
10487         `make-auto-save-file-name' use `auto-save-file-name-transforms',
10488         if `tramp-auto-save-directory' is not set.
10490 2015-05-27  Glenn Morris  <rgm@gnu.org>
10492         No longer set dired-directory in eshell.  (Bug#16477)
10493         * lisp/eshell/esh-mode.el (eshell-mode):
10494         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
10496         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
10498         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
10499         * lisp/progmodes/cc-mode.el (c-mode-help-address):
10500         Change to submit@debbugs.
10501         (c-mode-bug-package): New constant.
10502         (mail-position-on-field): Declare.
10503         (c-submit-bug-report): Insert X-Debbugs-Package header.
10504         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
10505         Mention debbugs.gnu.org.
10507 2015-05-26  Glenn Morris  <rgm@gnu.org>
10509         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
10510         (rmail-summary-by-recipients, rmail-summary-by-topic)
10511         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
10512         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
10514 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
10516         Handle curved quotes in info files
10517         * lisp/calc/calc-help.el (calc-describe-thing):
10518         * lisp/info.el (Info-find-index-name)
10519         (Info-try-follow-nearest-node, Info-fontify-node):
10520         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
10521         In info files, process quotes ‘like this’ the same way we process
10522         quotes `like this'.  This catches a few places we missed earlier.
10524 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
10526         xref-prompt-for-identifier: Use a list value
10527         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
10528         value, to be interpreted as a list of commands.
10529         (xref--prompt-p): New function.
10530         (xref--read-identifier): Use it.
10532 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
10534         Teach MS-Windows font back-end return per-glyph ascent/descent
10535         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
10536         values.
10537         * src/w32font.c (w32font_text_extents): Compute, cache, and
10538         accumulate per-glyph ascent and descent values, instead of copying
10539         global values from the font.  If the values are not available from
10540         the font data, i.e., non-TTF fonts, fall back on font-global values.
10541         (compute_metrics): Compute and return per-glyph ascent and descent
10542         values, if returned by GetGlyphOutlineW, falling back on
10543         font-global values.  (Bug#20628)
10544         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
10545         height of rectangle to be drawn, to be compatible with
10546         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
10547         box, when per-glyph ascent/descent values are used.
10549 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
10551         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
10552         (tabulated-list-print): Don't sort if sorter is nil
10554 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
10556         Fix Bug#20621
10557         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
10558         are major modes which set `auto-save-mode' on their own rules;
10559         Tramp shall not overwrite such settings.
10560         (Bug#20621)
10562 2015-05-26  Glenn Morris  <rgm@gnu.org>
10564         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
10565         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
10566         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
10567         Doc updates.
10568         (vc-dir-mode): Remove unnecessary autoload.
10570 2015-05-25  Philipp Stephani  <phst@google.com>
10572         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
10573         (xterm--extra-capabilities-type): Add `getSelection'.
10574         (xterm--query): Add `no-async' argument.
10575         (xterm--init-activate-get-selection): New function.
10576         (terminal-init-xterm): Use it.
10577         (xterm--init-modify-other-keys): Rename from
10578         terminal-init-xterm-modify-other-keys.
10579         (xterm--init-bracketed-paste-mode): Rename from
10580         terminal-init-xterm-bracketed-paste-mode.
10581         (xterm--init-activate-set-selection): Rename from
10582         terminal-init-xterm-activate-set-selection.
10583         (xterm--selection-char): New function.
10584         (gui-backend-set-selection): Use it.  Use the &context to only apply
10585         this method in terminals where we enabled the feature.
10586         (gui-backend-get-selection): New method.
10588 2015-05-25  Daniel Colascione  <dancol@dancol.org>
10590         Add C-language keyword constants to C++
10591         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
10592         keyword constants to C++.
10594 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
10596         Make TAGS files more portable to MS-Windows
10597         * etc/NEWS: Document this.
10598         * lib-src/etags.c (readline_internal) [DOS_NT]:
10599         Don't treat CRs differently from GNUish hosts.
10600         * lisp/progmodes/etags.el (etags-goto-tag-location):
10601         Adjust STARTPOS to account for the skipped CRs in dos-style files.
10603 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
10605         Improve fix of debbugs:20634 in tramp-sh.el
10607 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
10609         Fix a typo in last commit
10610         * lib-src/etags.c (C_entries): Fix a typo.
10611         * test/etags/ETAGS.good_1:
10612         * test/etags/ETAGS.good_2:
10613         * test/etags/ETAGS.good_3:
10614         * test/etags/ETAGS.good_4:
10615         * test/etags/ETAGS.good_5:
10616         * test/etags/CTAGS.good: Update due to the change in etags.c.
10618         Fix tagging of class members in C-like OO languages
10619         * lib-src/etags.c (longopts): Add new option --class-qualify and
10620         its shorthand -Q.
10621         (print_help): Add help text for --class-qualify.
10622         (main): Add handling of -Q.
10623         (consider_token, C_entries) <omethodparm>: Append argument types
10624         to Objective C methods only if --class-qualify was specified.
10625         Qualify C++, Objective C, and Java class members with their class
10626         names only if --class-qualify was specified.
10627         (C_entries): If --class-qualify was not specified, remove the
10628         namespace and class qualifiers from tag names of C++ methods.
10629         This allows to use etags.el as xref back-end without the
10630         tag-symbol-match-p method, which greatly increases the number of
10631         potentially false positives.  (Bug#20629)
10632         * doc/man/etags.1: Update to document the new --class-qualify
10633         option.
10634         * test/etags/ETAGS.good_1:
10635         * test/etags/ETAGS.good_2:
10636         * test/etags/ETAGS.good_3:
10637         * test/etags/ETAGS.good_4:
10638         * test/etags/ETAGS.good_5:
10639         * test/etags/CTAGS.good: Update due to changes in etags.c.
10641 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
10643         (cl-generic-define-method): Side effects are evil (bug#20644)
10644         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
10645         cons-cells that might be used as keys in an `equal' hash-table.
10647 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
10649         Make erc timestamps visible again
10650         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
10651         timestamps visible again (if requested).
10653 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
10655         Fix last change in etags.c that broke tagging compresed files
10656         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
10657         quoting of decompression shell command for MS-Windows/MS-DOS.
10659 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
10661         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
10662         (Bug#20639)
10664 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
10666         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
10668 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
10670         Fix IPv6 addresses in Tramp
10671         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
10672         Add sqare brackets around host name.
10674 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
10676         Inhibit `epa-file-handler' in Tramp
10677         (Bug#20634)
10678         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
10679         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
10680         `epa-file-handler'.
10682 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
10684         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
10685         (pcase-let): Document the behavior in case the pattern doesn't match.
10687 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10689         * lisp/emacs-lisp/tabulated-list.el: New optional print method
10690         (tabulated-list-print): New optional argument, UPDATE.  If
10691         non-nil, the list is printed by only adding and deleting the
10692         changed entries, instead of erasing the whole buffer.  This method
10693         is much faster when few or no entries have changed.
10694         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
10695         * etc/NEWS: Document it.
10697         * lisp/emacs-lisp/tabulated-list.el: Improve printing
10698         (tabulated-list--get-sorter): New function.
10699         (tabulated-list-print): Restore window-line when remember-pos is
10700         passed and optimize away the `nreverse'.
10702 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
10704         Simpilify etags TEX mode scanning
10705         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
10706         Remove static vars.
10707         (TeX_commands): Deduce escapes here instead.
10708         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
10709         This removes the need for a reset_input call.
10711         Improve etags I/O error reporting
10712         * lib-src/etags.c:
10713         Don't include sys/types.h and sys/stat.h; no longer needed.
10714         (infilename): New static var.
10715         (process_file_name): Don't call 'stat'.  Instead, just open the
10716         file for reading and report any errors.  Don't bother making
10717         a copy of the file argument; it's not needed.  Be more careful to
10718         use the failing errno when reporting an error.
10719         Quote the real name better (though no perfectly)
10720         when passing it to the shell.
10721         (reset_input): New function, which reports I/O errors.
10722         All uses of 'rewind' changed to use this function.
10723         (perhaps_more_input): New function, which also checks for
10724         I/O errors.  All uses of 'feof' changed to use this function.
10725         (analyze_regex): Report an error if fclose fails.
10726         (readline_internal): Report an error if getc fails.
10727         (etags_mktmp): Return an error if close fails.
10729         etags.c: avoid side effects in 'if'
10730         * lib-src/etags.c (process_file_name, Perl_functions)
10731         (TEX_decode_env): Hoist side effects into previous statement.
10733         .gitignore tweaks
10734         * .gitignore: Ignore all *.stamp files.  Sort.
10735         Ignore [0-9]*.txt (commonly used name for git patches)
10736         and /vc-dwim-log-* (vc-dwim temporary).
10738 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
10740         Fix last change in etags.c, which failed the test suite
10741         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
10742         before the last change.
10744 2015-05-23  Glenn Morris  <rgm@gnu.org>
10746         Remove charset map files from repository, generate in first bootstrap
10747         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
10748         (all): Create the stamp file.
10749         (extraclean): Delete the stamp file.
10750         * src/Makefile.in (lispintdir, charsets): New variables.
10751         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
10752         New rules.
10753         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
10754         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
10755         * etc/charsets/*.map: Remove from repository.
10757 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
10759         Cleanup etags.c to use locale-independent code
10760         Although this doesn't alter behavior (as etags doesn't use
10761         setlocale), the new version is more clearly locale-independent and
10762         the executable is a bit smaller on my platform.
10763         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
10764         Include <c-ctype.h> instead of <ctype.h>.
10765         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
10766         (begtk, midtk):
10767         Remove; no longer needed.
10768         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
10769         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
10770         c_islower, c_tolower, respectively.
10771         (notinname, begtoken, intoken, endtoken): Rewrite as functions
10772         instead of macros, and initialize the tables at compile-time
10773         rather than at run-time.
10775         Put default action first in src/Makefile
10776         * src/Makefile.in (all): Put this rule before lisp.mk.
10777         That way, plain 'make' works in the src directory again.
10779 2015-05-23  Glenn Morris  <rgm@gnu.org>
10781         * Makefile.in: Fix extraclean rule.
10782         (extraclean_dirs): New.
10783         (extraclean): Use it.
10785 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
10787         Avoid compiler warning in image.c on MS-Windows
10788         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
10789         warning in image.c.
10791 2015-05-23  Glenn Morris  <rgm@gnu.org>
10793         Fix --without-toolkit-scroll-bars builds.
10794         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
10795         Add new argument to x_clear_area1.
10796         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
10797         Update x_clear_area arguments.
10799         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
10800         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
10801         Change to included version.
10802         (LOCAL, local, totalclean): Remove.
10803         (extraclean): Delete all generated files.
10805 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
10807         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
10809         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
10811         tags-completion-at-point-function: Don't trust the find-tag function
10812         * lisp/progmodes/etags.el (tags-completion-at-point-function):
10813         Don't trust the find-tag function.
10815 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
10817         Pacify --enable-gcc-warnings
10818         * src/frame.h (x_query_color): Remove redundant extern decl.
10819         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
10820         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
10821         (ftcrfont_text_extents, ftcrfont_draw):
10822         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
10823         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
10824         (x_ins_del_lines, frame_highlight, frame_unhighlight)
10825         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
10826         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
10827         (x_update_window_begin, x_connection_closed)
10828         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
10829         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
10830         (*x_gc_get_ext_data, x_extension_initialize)
10831         (x_cr_accumulate_data):
10832         Remove redundant static decl.  Many of these GCC doesn't complain
10833         about, but we might as well clean out the duplication while we're
10834         in the neighborhood.
10835         * src/xterm.c (x_fill_trapezoid_for_relief):
10836         Remove decl of nonexistent function.
10838 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
10840         Replace gui-method macros with cl-generic with &context
10841         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
10842         (gui-method-declare, gui-call): Remove.
10843         (frame-creation-function): Use cl-defgeneric.
10844         (make-frame): Adjust callers.
10845         * lisp/menu-bar.el (menu-bar-edit-menu):
10846         Use gui-backend-selection-exists-p.
10847         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
10848         (gui-backend-get-selection): New cl-generic to replace
10849         gui-get-selection method.
10850         (gui-backend-set-selection): New cl-generic to replace
10851         gui-set-selection method.
10852         (gui-selection-owner-p): New cl-generic to replace
10853         gui-selection-owner-p method.
10854         (gui-backend-selection-exists-p): New cl-generic to replace
10855         gui-selection-exists-p method.  Adjust all callers.
10856         * lisp/server.el (server-create-window-system-frame): Don't ignore
10857         window-system spec even when unsupported.
10858         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
10859         * lisp/startup.el (handle-args-function, window-system-initialization):
10860         Use cl-defgeneric.
10861         (command-line): Adjust calls accordingly.
10862         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
10863         a window-system-initialization method.
10864         (handle-args-function, frame-creation-function): Use cl-defmethod.
10865         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
10866         (gui-get-selection): Use cl-defmethod on the new functions instead.
10867         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
10868         a gui-backend-get-selection method.
10869         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
10870         Use cl-defmethod on the new functions instead.
10871         (msdos-window-system-initialization): Turn into
10872         a window-system-initialization method.
10873         (frame-creation-function, handle-args-function): Use cl-defmethod.
10874         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
10875         a window-system-initialization method.
10876         (handle-args-function, frame-creation-function): Use cl-defmethod.
10877         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
10878         (gui-get-selection): Use cl-defmethod on the new functions instead.
10879         * lisp/term/x-win.el (x-window-system-initialization): Turn into
10880         a window-system-initialization method.
10881         (handle-args-function, frame-creation-function): Use cl-defmethod.
10882         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
10883         (gui-get-selection): Use cl-defmethod on the new functions instead.
10884         * lisp/term/xterm.el (xterm--set-selection): Turn into
10885         a gui-backend-set-selection method.
10886         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
10887         (Fns_selection_owner_p): Remove unused arg `terminal'.
10888         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
10890 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
10892         Revert "Fix etags Bug#20629 that broke C++ support."
10893         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
10895 2015-05-23  Jan D  <jan.h.d@swipnet.se>
10897         Fix etags Bug#20629 that broke C++ support.
10898         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
10899         from Sun May 10 (Bug#20629).
10901         Merge branch 'cairo'.
10902         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
10903         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
10905         Merge branch 'master' into cairo
10907         Fixes to compile cairo branch without cairo.
10908         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
10909         first argument.
10910         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
10911         USE_CAIRO.
10913 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
10915         * lisp/emacs-lisp/package.el: Always update selected-packages
10916         (package--update-selected-packages): New function.
10917         (package-menu-execute): Use it before starting the transaction,
10918         this way the list of selected packages is updated even when the
10919         transaction fails.
10920         (package-menu--perform-transaction): Don't edit selected-packages.
10922 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
10924         Fix etags reading of compressed files
10925         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
10926         Include fcntl.h, for O_CLOEXEC.
10927         (process_file_name): Don't use 'popen', whose streams cannot be
10928         rewound.  Instead, uncompress the file to a temporary file,
10929         created by 'etags_mktmp', and read from that as usual.
10930         (etags_mktmp): New function.
10931         * test/etags/ETAGS.good_1:
10932         * test/etags/ETAGS.good_2:
10933         * test/etags/ETAGS.good_3:
10934         * test/etags/ETAGS.good_4:
10935         * test/etags/ETAGS.good_5: Update to be consistent with latest
10936         changes in etags.c regarding reading compressed files.
10938         Improve documentation of 'set-fontset-font'
10939         * doc/lispref/display.texi (Fontsets): Document the value of nil
10940         for the 3rd argument of 'set-fontset-font'.
10942         Fix documentation of forward-line
10943         * src/cmds.c (Fforward_line): Clarify the return value if the line
10944         at end of accessible portion of the buffer has no newline.
10945         * doc/lispref/positions.texi (Text Lines): Document what happens
10946         if the line at end of accessible portion of buffer has no newline.
10947         (Bug#20587)
10949 2015-05-22  Glenn Morris  <rgm@gnu.org>
10951         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
10953         * admin/charsets/mapconv (LC_ALL): Set to C.
10955         * Makefile.in: Add admin/charsets into top-level clean rules.
10956         (clean): Add admin/charsets.
10957         (maybeclean_dirs): New variable.
10958         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
10960         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
10962 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
10964         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
10966 2015-05-22  Glenn Morris  <rgm@gnu.org>
10968         Generate admin/charsets Makefile via configure, and make more portable.
10969         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
10970         (admin/charsets/Makefile): Generate it.
10971         * admin/charsets/Makefile.in: Rename from Makefile.
10972         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
10973         New variables, set by configure.
10974         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
10975         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
10976         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
10977         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
10978         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
10979         (all): Declare PHONY.
10980         (local): New PHONY target.
10981         (map_template): New template.  Use to define short PHONY aliases.
10982         (*.map): Add directory prefixes to targets and prerequisites.
10983         Respect make verbosity.
10984         (JISC6226.map): Replace non-portable sed append without newline.
10985         (install): Remove rule.
10986         (clean): Only delete temporary sedscript.
10987         (bootstrap-clean, distclean, maintainer-clean, extraclean)
10988         (totalclean): New PHONY rules.
10989         * admin/charsets/mapconv (BASE): Replace basename with expr.
10990         (FILE): Add "mapfiles" subdirectory.
10991         (AWK): New variable.  Use throughout in place of "awk".
10992         (main): Use "gunzip -c" in place of "zcat".
10993         Don't leave whitespace before "p", for older sed.
10994         * admin/charsets/mapfiles/PTCP154: Add final newline,
10995         to make older sed versions happy.
10997 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
10999         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
11000         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
11001         (auto-revert-notify-watch-descriptor): Use defvar-local.
11002         (find-file-hook, auto-revert-tail-mode, )
11003         (auto-revert-notify-add-watch): Use setq-local.
11004         (auto-revert-notify-add-watch): Don't call make-local-variable on
11005         kill-buffer-hook (bug#20601).
11007 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
11009         Change defgeneric so it doesn't completely redefine the function
11010         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
11011         previously defined methods.
11012         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
11013         (cl--generic-prefill-dispatchers): Only define during compilation.
11014         (cl-method-qualifiers): Remove redundant alias.
11015         (help-fns-short-filename): Silence byte-compiler.
11016         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
11018 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
11020         (package-menu-execute): Remove reference to remove-dups
11022 2015-05-21  kwhite  <kwhite@gnu.org>
11024         * lisp/erc/erc.el: Hide network/channel messages
11025         (erc-network-hide-list, etc-channel-hide-list): New lists to define
11026         message types per network/channel.
11027         (erc-add-targets): New function to parse list of targets
11028         (erc-hide-current-message-p): Modified to check for new targets
11030 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
11032         Don't quote nil and t in doc strings
11033         This is as per "Tips for Documentation Strings" in the elisp manual.
11034         For consistency, do the same in diagnostics and comments.
11036 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
11038         Fix a minor problem with mouse-face on mode line
11039         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
11040         mouse face also if the mouse pointer hovers above mode-line glyphs
11041         that don't come from any Lisp string.  (Bug#20620)
11043 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
11045         * lisp/emacs-lisp/package.el: Fix selected-package logic
11046         (package-menu-execute): Mark as selected all non-upgrade packages
11047         being installed.
11048         (package-menu--perform-transaction): Don't mark anything.
11050         * lisp/emacs-lisp/package.el: Mode-line progress report
11051         (package-menu--transaction-status): New variable.
11052         (package-menu-mode, package-menu--perform-transaction): Use it.
11054         * lisp/emacs-lisp/package.el: Better transaction messages
11055         (package-menu--partition-transaction): New function.
11056         (package-menu--prompt-transaction-p, package-menu-execute): Use
11057         it.
11058         (package-menu--perform-transaction): Don't do any messaging.
11060         * lisp/emacs-lisp/package.el: Revert async package transactions
11061         (package-menu-async): Update doc.
11062         (package-install-from-archive, package-download-transaction)
11063         (package-install, package-menu--perform-transaction)
11064         (package-menu-execute): Remove asynchronous functionality.
11066 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
11068         Revert doc string changes to f90.el
11069         Problem reported by Glenn Morris in:
11070         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
11071         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
11072         Revert recent changes to doc strings, as it's intended that they
11073         use grave accent, not quote.
11075 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
11077         Improve parameter name
11079         Add new inline function `hash-table-empty-p'
11081 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11083         Don't require help-fns when not needed
11084         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
11085         * lisp/emacs-lisp/elint.el:
11086         Don't require help-fns at the top level.
11087         * lisp/emacs-lisp/advice.el (ad-arglist):
11088         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
11089         Don't require help-fns.  (Bug#17001)
11091 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
11093         Fix slash collapsing in etags on MS-Windows
11094         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
11095         MS-Windows code from the Posix code, and support collapsing both
11096         forward- and back-slashes on MS-Windows.  Fixes a regression found
11097         by the test suite.
11099         Improve documentation of glyphless-char-display
11100         * doc/lispref/display.texi (Glyphless Chars): Improve
11101         documentation of glyphless character display.
11103         Fix "acronym" display of glyphless characters on w32
11104         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
11105         ignore "acronym" substitutes of 1 character for glyphless characters.
11107 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
11109         Add an automated test for let-when-compile
11110         * test/automated/subr-tests.el (let-when-compile): New test.
11112         Add let-when-compile macro instead of using pcase-let
11113         * lisp/subr.el (let-when-compile): New let-like macro that makes its
11114         bindings known to macros like `eval-when-compile' in the body.
11115         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
11116           `let-when-compile'. Also comment out the unused lexical var
11117           `el-kws-re'.
11118         The change greatly improves readability, while providing almost the
11119         same (even shorter) byte code: instead of pre-evaluating 10 variables,
11120         tossing them into a list, and destructuring that list a full screen
11121         page later, the variables are simply bound as they are evaluated,
11122         wrapped individually in `eval-when-compile'.
11124 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
11126         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
11127         (package-delete-button-action): New function.
11128         (describe-package-1): Add Delete button.
11130         * lisp/emacs-lisp/package.el: Better dependency description
11131         (package--used-elsewhere-p): New optional arg, ALL, and return
11132         package-desc objects instead of names.
11133         (package-delete): Update accordingly.
11134         (describe-package-1): Describe which packages require the package.
11136 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
11138         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
11139         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
11140         Fix doc-string (Bug#20533).
11142         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
11143         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
11144         (switch-to-buffer): If the selected window is strongly dedicated
11145         to its buffer, signal error before prompting for buffer name.  Handle
11146         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
11147         * doc/lispref/windows.texi (Switching Buffers): Document
11148         `switch-to-buffer-in-dedicated-window'.
11150 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
11152         Prefer "this" to “this” in doc strings
11153         This mostly just straightens quotes introduced in my previous patch.
11154         Suggested by Dmitry Gutov in:
11155         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
11156         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
11157         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
11158         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
11159         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
11160         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
11161         Prefer straight double quotes to curved double quotes in doc strings.
11163         Fix minor quoting problems in doc strings
11164         These were glitches regardless of how or whether we tackle the
11165         problem of grave accent in doc strings.
11166         * lisp/calc/calc-aent.el (math-restore-placeholders):
11167         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
11168         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
11169         * lisp/leim/quail/hebrew.el ("hebrew-new")
11170         ("hebrew-biblical-sil"):
11171         * lisp/leim/quail/thai.el ("thai-kesmanee"):
11172         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
11173         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
11174         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
11175         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
11176         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
11177         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
11178         (semantic-tag-components):
11179         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
11180         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
11181         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
11182         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
11183         * lisp/emacs-lisp/generator.el (iter-next):
11184         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
11185         (gnus-article-mode-syntax-table):
11186         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
11187         * lisp/net/soap-client.el (soap-wsdl-get):
11188         * lisp/net/telnet.el (telnet-mode):
11189         * lisp/org/org-compat.el (org-number-sequence):
11190         * lisp/org/org.el (org-remove-highlights-with-change)
11191         (org-structure-template-alist):
11192         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
11193         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
11194         (handwrite-12pt, handwrite-13pt):
11195         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
11196         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
11197         * lisp/progmodes/verilog-mode.el (verilog-tool)
11198         (verilog-string-replace-matches, verilog-preprocess)
11199         (verilog-auto-insert-lisp, verilog-auto-insert-last):
11200         * lisp/textmodes/makeinfo.el (makeinfo-options):
11201         * src/font.c (Ffont_spec):
11202         Fix minor quoting problems in doc strings, e.g., missing quote,
11203         ``x'' where `x' was meant, etc.
11204         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
11205         Fix minor quoting problem in other string.
11206         * lisp/leim/quail/ethiopic.el ("ethiopic"):
11207         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
11208         Omit unnecessary quotes.
11209         * lisp/faces.el (set-face-attribute, set-face-underline)
11210         (set-face-inverse-video, x-create-frame-with-faces):
11211         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
11212         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
11213         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
11214         * lisp/net/tramp.el (tramp-methods):
11215         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
11216         * lisp/textmodes/artist.el (artist-ellipse-right-char)
11217         (artist-ellipse-left-char, artist-vaporize-fuzziness)
11218         (artist-spray-chars, artist-mode, artist-replace-string)
11219         (artist-put-pixel, artist-text-see-thru):
11220         * lisp/vc/ediff-util.el (ediff-submit-report):
11221         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
11222         Use double-quotes rather than TeX markup in doc strings.
11223         * lisp/skeleton.el (skeleton-pair-insert-maybe):
11224         Reword to avoid the need for grave accent and apostrophe.
11225         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
11226         Don't use grave and acute accents to quote.
11228 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
11230         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
11232 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
11234         Try to port new etags tests to MS-Windows
11235         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
11236         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
11237         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
11238         Adjust to test-case changes below.
11239         * test/etags/Makefile (CSRC): Remove dostorture.c.
11240         Whatever it was trying to test, wasn't working portably.
11241         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
11242         just a line-ending problem.
11243         * test/etags/c-src/dostorture.c: Remove.
11244         * test/etags/cp-src/c.C: Remove stray CR.
11245         * test/etags/html-src/algrthms.html: Remove trailing CRs.
11246         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
11247         but if someone edits it later it should stay UTF-8-compatible.
11249 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
11251         Fix display of overlapping window-specific overlays
11252         * src/keyboard.c (adjust_point_for_property): When adjusting point
11253         due to display strings, ignore overlays that are specific to
11254         windows other than the currently selected one.
11255         * src/xdisp.c (handle_single_display_spec): If the display
11256         property comes from an overlay, arrange for buffer iteration to
11257         resume only after the end of that overlay.  (Bug#20607)
11259 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
11261         New command icomplete-force-complete-and-exit
11262         * lisp/icomplete.el (icomplete-force-complete-and-exit):
11263         New command
11264         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
11265         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
11266         (icomplete-minibuffer-map): Bind C-j to it.
11267         (icomplete-forward-completions, icomplete-backward-completions):
11268         Mention the new command in the docstring.
11269         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
11270         the previous fix for bug#17545.
11272 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
11274         Fix last commit
11276         In Elisp manual explain how to override window manager positioning (Bug#20552)
11277         * doc/lispref/frames.texi (Position Parameters): Give example of
11278         how to override a window manager positioning decision.
11280         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
11281         * src/frame.c (Fdelete_frame): In doc-string mention that frame
11282         can't be deleted if it has a surrogate minibuffer.
11283         * doc/lispref/frames.texi (Minibuffers and Frames)
11284         (Deleting Frames): Explain "surrogate minibuffer frames".
11286         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
11287         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
11289 2015-05-18  Glenn Morris  <rgm@gnu.org>
11291         Add option to ignore commit lines matching a pattern in ChangeLog.
11292         * build-aux/gitlog-to-changelog: Add --ignore-line option.
11293         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
11295 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11297         Don't skip new etags tests on non-UTF-8 hosts
11298         Problem reported by Eli Zaretskii for MS-Windows.
11299         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
11300         (LC_ALL): Set to C if the current locale isn't UTF-8.
11301         (.PHONY): Remove ediff_1 thru ediff_5.
11302         (check): Always run.
11304 2015-05-18  Glenn Morris  <rgm@gnu.org>
11306         * lisp/calculator.el (calculator-funcall):
11307         * lisp/textmodes/artist.el (artist-spray-random-points):
11308         Use standard degree/radian conversion utilities.
11310         Further lisp-complete-symbol related cleanup.
11311         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
11312         Unadvertise non-functional argument.  Replace obsolete alias.
11314 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
11316         Add a test case for Maven warning ouput
11317         * test/automated/compile-tests.el
11318         (compile-tests--test-regexps-data): Add a case for Maven warning
11319         ouput.
11320         (compile--test-error-line): Check the compilation message type, if
11321         it's specified in the test data.
11323 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
11325         Update Maven compilation-mode entry to distinguish warnings
11326         * lisp/progmodes/compile.el
11327         (compilation-error-regexp-alist-alist): Update Maven entry to
11328         distinguish warnings (bug#20556).
11330 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
11332         * test/automated/sgml-mode-tests.el: New file.
11334 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
11336         Improve handling of the first Git revision
11337         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
11338         there's no next entry, delete until the end of the buffer.
11339         (log-view-end-of-defun-1): Stop at eob.
11340         * lisp/vc/vc-annotate.el
11341         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
11342         when previous-revision is nil.
11343         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
11344         with `--' to avoid ambiguity.
11345         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
11346         returned revision string.
11347         (vc-git-annotate-time): Expect `^' before the first revision.
11348         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
11349         REV1 is nil, and REV2 is not.
11350         * lisp/vc/vc.el: Update the description of the `diff' function.
11352 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
11354         Allow checkdoc to be called in batch
11355         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
11356           is non-nil, echo the error with `warn'.
11357         How it can be used in -batch:
11358         (with-current-buffer (find-file "checkdoc.el")
11359           (checkdoc-current-buffer t))
11361 2015-05-18  Glenn Morris  <rgm@gnu.org>
11363         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
11365 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11367         * admin/notes/unicode: New section "binary files".
11369         Change new etags test to use UTF-8 encoding
11370         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
11371         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
11372         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
11373         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
11374         * test/etags/html-src/softwarelibero.html:
11375         Switch to UTF-8 encoding.
11376         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
11377         Remove Makefile, as it's too incestuous to have the test input
11378         include the build procedure.
11379         (UTF8_LOCALE, UTF_ENCODING): New macros.
11380         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
11381         (check): Skip if not UTF-8.
11382         (.PHONY): New rule.
11383         (FRC): Remove, as superseded by .PHONY.  All uses removed.
11384         (regexfile): Prefer printf to echo when outputting oddball chars.
11385         (.PRECIOUS): Remove, as these files are not built.
11387         Rename 'foo-gzipped' to 'foo.gz'
11388         * test/automated/data/decompress/foo.gz:
11389         Rename from test/automated/data/decompress/foo-gzipped,
11390         to make it easier for other tools to tell that it's compressed.
11391         * test/automated/zlib-tests.el (zlib--decompress):
11392         Adjust to renamed file.
11394 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
11396         Set up default-directory
11397         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
11398         binding for `v'.
11399         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
11400         appropriate value for default-directory.
11402 2015-05-17  Samer Masterson  <samer@samertm.com>
11404         * lisp/eshell/em-term.el (eshell-term-sentinel):
11405         No-op by default, only kills term buffer if
11406         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
11407         (eshell-destroy-buffer-when-process-dies): New custom to preserve
11408         previous behavior.
11410         eshell: Introduce new buffer syntax
11411         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
11412         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
11413         needed (Bug#19319).
11414         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
11415         (eshell-get-target): Remove shorthand-specific code.
11416         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
11417         '#<buffer-name>'.
11419 2015-05-17  Jan D  <jan.h.d@swipnet.se>
11421         Merge branch 'master' into cairo
11423 2015-04-26  Jan D  <jan.h.d@swipnet.se>
11425         Merge branch 'master' into cairo
11427         Add PBM support for cairo.
11428         * src/image.c (xcolor_to_argb32): New function.
11429         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
11430         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
11431         XImagePtr if ! USE_CAIRO.
11432         (pbm_load): Add cairo support.
11434 2015-04-12  Jan D  <jan.h.d@swipnet.se>
11436         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
11437         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
11438         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
11439         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
11440         x_free_cr_resources.
11442         Handle specified bg in images.  Use generic libpng code for PNG:s.
11443         * src/image.c (get_spec_bg_or_alpha_as_argb)
11444         (create_cairo_image_surface): New functions when USE_CAIRO.
11445         (xpm_load): Call the above functions.  Handle XPM without mask
11446         when USE_CAIRO.
11447         (png_load_body): Handle USE_CAIRO case.
11448         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
11449         instead.
11450         (jpeg_load_body): Call create_cairo_image_surface.
11451         (gif_load, svg_load_image): Handle specified background, call
11452         create_cairo_image_surface.
11453         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
11455 2015-04-11  Jan D  <jan.h.d@swipnet.se>
11457         Support GIF and Tiff with cairo.
11458         * configure.ac: Allow jpeg with cairo.
11459         Allow tiff and gif with cairo.
11460         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
11461         (tiff_load): Create cairo image surface if USE_CAIRO.
11462         (gif_load): Ditto.
11464         Support JPEG with USE_CAIRO.
11465         * configure.ac: Allow jpeg with cairo.
11466         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
11468 2015-04-05  Jan D  <jan.h.d@swipnet.se>
11470         Support RSVG and cairo.
11471         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
11472         * src/dispextern.h (struct image): add cr_data2 if cairo.
11473         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
11474         (x_clear_image): Free cr_data and cr_data2 if set.
11475         (xpm_load): Assign data to cr_data2.
11476         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
11478 2015-04-03  Jan D  <jan.h.d@swipnet.se>
11480         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
11481         * configure.ac (HAVE_RSVG): Move after cairo.
11482         (USE_CAIRO): Disable rsvg, don't disable Xpm.
11483         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
11484         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
11485         don't return early.
11486         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
11487         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
11488         and create a surface.
11490         Tool tips for menus did not show any text.
11491         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
11492         tip frames, the geometry may be wrong.
11494         Merge branch 'master' into cairo, fixes tooltips not shown.
11496         Merge branch 'master' into cairo
11498         Add CAIRO_CFLAGS to lwlib/Makefile.in
11499         * Makefile.in (CAIRO_CFLAGS): Add.
11501 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11503         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
11505 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11507         Draw outermost line using black relief and erase corners also for cairo.
11508         * xterm.c [USE_CAIRO]: Include math.h.
11509         (enum corners) [USE_CAIRO]: New enum.
11510         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
11511         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
11512         than 1, draw the outermost line using the black relief.
11514         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
11516 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11518         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
11520         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
11522         Use int instead of unsigned int for width and height args.
11523         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
11524         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
11525         width and height args.
11527         Modernize k&r cairo-related function declarations.
11528         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
11529         (xg_print_frames_dialog): Modernize k&r declarations.
11530         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
11531         (Fx_print_frames_dialog): Modernize k&r declarations.
11532         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
11533         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
11534         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
11535         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
11536         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
11537         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
11538         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
11539         (x_clear_area): Modernize k&r declarations.
11541         Implement wave-style variant of underlining for cairo.
11542         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
11543         (x_draw_underwave) [USE_CAIRO]: Use it.
11545         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
11547 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11549         Fix fringe bitmap initialization for cairo.
11550         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
11551         cairo image surface.
11552         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
11554 2015-02-11  Jan D  <jan.h.d@swipnet.se>
11556         Add cairo drawing.
11557         * configure.ac (with-cairo): New option.
11558         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
11559         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
11560         Output "Does Emacs use cairo?".
11561         * lisp/version.el (emacs-version): Add cairo version.
11562         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
11563         (FONT_OBJ): Add comment about ftcrfont.
11564         (ALL_CFLAGS): Add CAIRO_CFLAGS.
11565         (LIBES): Add CAIRO_LIBS.
11566         * src/dispextern.h (struct image): Add cr_data for cairo.
11567         (x_cr_init_fringe): Declare.
11568         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
11569         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
11570         * src/fringe.c (x_cr_init_fringe): New function name that shares code
11571         with w32_init_fringe.
11572         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
11573         * src/ftfont.c (ftfont_info_size); New global variable.
11574         (ftfont_open2): New extern function almost the same as old ftfont_open,
11575         but takes the font_object as argument.
11576         (ftfont_open): Build font object and call ftfont_open2.
11577         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
11578         * src/gtkutil.c (xg_clear_under_internal_border)
11579         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
11580         queue_draw if not cairo.  Change args to x_clear_area.
11581         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
11582         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
11583         (xg_print_frames_dialog): New functions for printing.
11584         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
11585         (xg_print_frames_dialog): Declare.
11586         * src/image.c: Add defined (USE_CAIRO) for PNG.
11587         Add !defined USE_CAIRO for W32 PNG code.
11588         (x_clear_image): If cairo, destroy the surface in cr_data.
11589         (png_load): Add new cairo compatible implementation.
11590         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
11591         * src/xfns.c: New section Printing.
11592         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
11593         (x-print-frames-dialog): New printing functions.
11594         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
11595         cairo.
11596         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
11597         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
11598         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
11599         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
11600         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
11601         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
11602         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
11603         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
11604         Declare.
11605         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
11606         (max_fringe_bmp, fringe_bmp): New variables.
11607         (x_gc_get_ext_data, x_extension_initialize)
11608         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
11609         (x_set_cr_source_with_gc_foreground)
11610         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
11611         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
11612         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
11613         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
11614         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
11615         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
11616         (x_update_begin): Create cairo surface if needed.
11617         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
11618         (x_update_end): Paint cairo drawing surface to xlib surface.
11619         (x_clear_under_internal_border, x_after_update_window_line): Adjust
11620         arguments to x_clear_area.
11621         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
11622         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
11623         of XSetClipMask.
11624         (x_set_glyph_string_clipping)
11625         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
11626         instead of XSetClipRectangles.
11627         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
11628         x_fill_rectangle instead of XFillRectangle.
11629         (x_draw_glyph_string_foreground)
11630         (x_draw_composite_glyph_string_foreground)
11631         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
11632         of XDrawRectangle.
11633         (x_draw_relief_rect): Add code for USE_CAIRO.
11634         Call x_reset_clip_rectangles instead of XSetClipMask.
11635         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
11636         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
11637         instead of XSetClipMask.
11638         (x_draw_image_foreground, x_draw_image_foreground_1):
11639         x_draw_rectangle instead of XDrawRectangle.
11640         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
11641         XFillRectangle.
11642         (x_draw_image_glyph_string): If img has cr_data, use it as
11643         a cairo surface.
11644         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
11645         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
11646         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
11647         x_reset_clip_rectangles instead of XSetClipMask.
11648         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
11649         (x_clear_area1): New function that calls XClearArea.
11650         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
11651         non-cairo.
11652         (x_clear_frame): x_clear_window instead of XClearWindow.
11653         (x_scroll_run): Set frame garbaged if cairo.
11654         (XTmouse_position): Initialize *part to 0.
11655         (x_scroll_bar_create): Adjust arguments to x_clear_area.
11656         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
11657         x_fill_rectangle instead of XFillRectangle.
11658         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
11659         arguments to x_clear_area.
11660         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
11661         (handle_one_xevent): Adjust arguments to x_clear_area.
11662         Destroy cairo surface for frame if ConfigureNotify.
11663         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
11664         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
11665         x_reset_clip_rectangles instead of XSetClipMask.
11666         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
11667         x_reset_clip_rectangles instead of XSetClipMask.
11668         (x_clear_frame_area): Adjust arguments to x_clear_area.
11669         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
11670         (x_term_init): Call x_extension_initialize if cairo.
11671         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
11672         x_cr_destroy_fringe_bitmap for cairo.
11673         (x_initialize): Call x_cr_init_fringe for cairo.
11674         * src/xterm.h: Add include of cairo header files.
11675         (x_bitmap_record): Add img if cairo.
11676         (x_gc_ext_data): New struct for cairo.
11677         (x_display_info): Add ext_codes for cairo.
11678         (x_output): Add cr_context and cr_surface for cairo.
11679         (x_clear_area): Change arguments from Display*/Window to frame pointer.
11680         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
11681         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
11682         (x_cr_draw_frame, x_cr_export_frames): Declare.
11684 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
11686         Fix integer-valued `mouse-highlight' (Bug#20590)
11687         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
11689 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
11691         MS-Windows followup for ASCIIfication of curved quotes
11692         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
11693         test for curved quotes being displayable, after switching the
11694         terminal encoding.  (Bug#20545)
11696 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11698         Spelling fixes
11700 2015-05-17  Jan D  <jan.h.d@swipnet.se>
11702         Add comment that x_shift_glyphs_for_insert is never called.
11703         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
11704         comment that this function is never called.
11706 2015-05-16  Glenn Morris  <rgm@gnu.org>
11708         * src/lisp.mk: Remove from repository and generate at build-time.
11709         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
11710         (shortlisp_filter): New variable.
11711         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
11712         (distclean): Remove lisp.mk.
11713         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
11714         * lisp/loadup.el: Tweak layout to make it easier to parse.
11715         * make-dist: Do not distribute src/lisp.mk.
11717 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
11719         Display shorter dates in Git annotate output
11720         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
11721         format (when not overridden with vc-git-annotate-switches).
11722         (vc-git-annotate-time): Support the short format, as well as ISO
11723         8601 that has been used until now (bug#5428).
11725 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
11727         ASCIIfy curved quotes on displays lacking them
11728         * lisp/international/mule-cmds.el (set-locale-environment):
11729         If curved quotes don't work, display straight ASCII approximations
11730         (Bug#20545).
11732 2015-05-16  Glenn Morris  <rgm@gnu.org>
11734         Small src/Makefile simplification.
11735         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
11736         * src/Makefile.in (lisp): Derive from shortlisp.
11737         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
11739 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
11741         * lisp/help-mode.el (help-go-forward): Doc fix.
11742         (Bug#20577)
11744         * doc/lispref/debugging.texi (Profiling): Improve indexing.
11745         (Bug#20576)
11747 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
11749         Use `unless' to have one fewer `not'
11750         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
11751         have one fewer `not'.
11753         Remove redundant :group declarations from vc-git.el
11754         * lisp/vc/vc-git.el (vc-git-diff-switches)
11755         (vc-git-annotate-switches, vc-git-resolve-conflicts)
11756         (vc-git-program, vc-git-root-log-format): Remove the redundant
11757         :group declarations.
11759 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
11761         Removes the predicate from lisp-complete-symbol (Bug#20456)
11762         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
11763         and remove it from the docstring.
11765 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
11767         Add new option vc-git-resolve-conflicts
11768         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
11769         (vc-git-find-file-hook): Add to after-save-hook only when the
11770         above is non-nil.
11771         (vc-git-resolve-when-done): Update to honor the new variable.
11772         (Bug#20292)
11774 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
11776         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
11777         (tabulated-list-init-header): Document new behavior.
11778         (tabulated-list-print-fake-header): No nothing if
11779         `tabulated-list--header-string' is nil.
11780         (tabulated-list--header-string): Add a docstring.
11781         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
11782         * etc/NEWS: Document it.
11784 2015-05-15  Leo Liu  <sdl.web@gmail.com>
11786         Revert "Fix cps--gensym"
11787         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
11788           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
11790 2015-05-15  Glenn Morris  <rgm@gnu.org>
11792         Replace AC_SUBST_FILE in configure with include in Makefiles.
11793         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
11794         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
11795         (AUTO_DEPEND): New output variable.
11796         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
11797         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
11798         (lwlib_deps_frag): Replace by conditional include.
11799         * lwlib/autodeps.mk: Remove file.
11800         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
11801         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
11802         (oldxmenu_deps_frag): Replace by conditional include.
11803         * oldXMenu/autodeps.mk: Remove file.
11804         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
11805         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
11806         (lisp_frag): Replace by an include.
11807         (deps_frag): Replace by conditional include.
11808         * src/autodeps.mk: Remove file.
11810         Tweak japanese.el's loading of dependencies.
11811         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
11812         * lisp/language/japanese.el: Use require rather than load.
11813         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
11814         Provide a feature.
11815         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
11816         Provide a feature in the generated file.
11818 2015-05-15  Jan D  <jan.h.d@swipnet.se>
11820         Fix NS warnings.
11821         * nsmenu.m (ns_popup_dialog)
11822         * nsimage.m (initFromXBM:width:height:fg:bg:)
11823         * nsfns.m (Fx_create_frame): Remove unused variables.
11824         (Fns_read_file_name): Initialize fname, remove ret.
11825         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
11826         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
11827         variable.
11828         (init): Add parantesis in if.
11829         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
11831 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
11833         Fix a enum conversion warning in macfont.m
11834         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
11835         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
11837 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
11839         Support de-alt dictionary with Aspell.
11840         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
11841         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
11843 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
11845         cus-start.el: Add ns-confirm-quit.
11846         * cus-start.el: Add ns-confirm-quit.
11848         Fix warnings on OSX 10.10.
11849         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
11850         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
11851         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
11852         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
11853         * nsimage.m (allocInitFromFile, setPixmapData): Only call
11854         setScalesWhenResized for OSX < 10.6.
11855         * nsterm.h (EmacsScroller): Declare scrollerWidth.
11856         * nsterm.m (ns_copy_bits): New function that does not use deprecated
11857         NSCopyBits.
11858         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
11859         (runAlertPanel): New function.
11860         (applicationShouldTerminate:): Call runAlertPanel.
11861         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
11862         for OSX < 10.10.
11863         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
11864         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
11865         (draggingEntered:): Returns NSDragOperation.
11866         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
11868 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
11870         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
11871         (package--init-file-ensured): New variable.
11872         (package-initialize, package--ensure-init-file): Use it.
11874 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
11876         Honor :fore/background for XBM on NS (Bug#14969).
11877         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
11878         initFromXBM takes bg, fg args, remove flip arg.
11879         (ns_image_from_XBM): Add bg, fg args.
11880         * image.c (x_create_bitmap_from_data)
11881         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
11882         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
11883         Remove flip arg.
11884         (initFromSkipXBM): Move code to initFromXBM.
11885         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
11886         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
11887         false.
11888         Remove bit flipping (bitPat, swt), generated incorrect images when
11889         width/height wasn't a multiple of 8.
11890         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
11891         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
11892         flip arg.
11894 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
11896         * lisp/emacs-lisp/package.el: Be more careful with the init file
11897         (package--ensure-init-file): Check that user-init-file is set,
11898         exists, is readable, and is writable.  (Bug#20584)
11899         Also expand the docstring.
11901 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
11903         Sync with upstream verilog-mode revision 6232468
11904         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
11905         (verilog-highlight-grouping-keywords): Fix use of face when
11906         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
11907         Pompa.
11908         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
11909         parent is reset, bug906. Reported by Ken Schmidt.
11910         (verilog-auto-inout-module): Add fourth regexp argument to
11911         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
11912         bug856. Reported by John Tillema.
11913         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
11914         modport if signal attachment is itself a modport.  Reported by
11915         Matthew Lovell.
11916         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
11917         always_comb and always_latch, bug844.  Reported by Greg Hilton.
11918         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
11919         with many curly-bracket pairs, bug663.
11920         (verilog-set-auto-endcomments): Fix end comments for functions of
11921         type void, etc.  Reported by Alex Reed.
11922         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
11923         caused by indent-line-to deleting tabls pre 24.5.
11924         (verilog-nameable-item-re): Fix nameable items that can have an
11925         end-identifier to include endchecker, endgroup, endprogram,
11926         endproperty, and endsequence.  Reported by Alex Reed.
11927         (verilog-label-be): When auto-commenting a buffer, consider
11928         auto-comments on all known keywords (not just a subset thereof).
11929         Reported by Alex Reed.
11930         (verilog-auto-end-comment-lines-re)
11931         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
11932         Automatically comment property/endproperty blocks to match other
11933         similar blocks like sequence/endsequence, function/endfunction,
11934         etc. Reported by Alex Reed.
11935         (verilog-set-auto-endcomments): Detect the function- or task-name
11936         when auto-commenting blocks that lack an explicit
11937         portlist. Reported by Alex Reed.
11938         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
11939         allow post-AUTO user fixups, bug826. Reported by Dennis
11940         Muhlestein.
11941         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
11942         is nil, fix indenting initial/final to match always statements,
11943         bug825. Reported by Tim Clapp.
11944         (verilog-extended-complete-re): Fix indentation of DPI-C imports
11945         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
11946         Mao and Jason Forkey.
11947         (verilog-read-decls): Fix parsing typed interfaces.  Fix
11948         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
11949         Fix localparam not being ignored in AUTOINSTPARAM,
11950         bug889. Reported by Shannon Hill.
11951         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
11952         bug793.  Reported by Pierre-David Pfister.
11953         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
11954         verilog-auto-arg-format to support newlines in AUTOARG. Reported
11955         by Jie Xiao.
11956         (verilog-batch-execute-func): Do not batch re-auto files loaded by
11957         Local Variables. Fix printing "no changes to be saved" with
11958         verilog-batch. Reported by Dan Dever.
11959         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
11960         interface-only modules, bug721.  Reported by Dean Hoyt.
11961         Author: Alex Reed <acreed4@gmail.com>
11962         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
11963         treat '<keyword>:<identifier>' as the start of a labeled
11964         statement, bug905.  Reported by Enzo Chi.
11965         (verilog-directive-re, verilog-compiler-directives)
11966         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
11967         directives (plus some extras) when determining indentation, bug
11968         901.  Reported by Bernd Beuster.
11969         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
11970         iff expression doesn't start with word-character, bug900.
11971         (verilog-optional-signed-range-re, verilog-optional-signed-re):
11972         Fix incorrect indentation/alignment of unsigned declarations,
11973         bug897.
11974         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
11975         always constructs, bug895.
11976         (verilog-calc-1): Fix verilog-mode constraint indentation,
11977         bug324. Reported by Eric Mastromarchi.
11978         (verilog-beg-of-statement): Fix indenting for some forms of
11979         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
11980         continued assignment incorrect if first line ends with ']',
11981         bug437. Reported by Dan Dever.  Fix indention of cover inside an
11982         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
11983         blocks, bug842.
11984         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
11985         bug859. Reported by Kaushal Modi.
11986         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
11987         (verilog-backward-token): Fix indenting sensitivity lists with
11988         named events, bug840.  Reed.
11989         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
11990         nil not honoring 'forever', 'foreach', and 'do' keywords.
11992 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11994         Check for invalid GTK+ monitor scales
11995         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
11996         INT_MAX for too-large scales.  All callers changed to assume the
11997         result is valid (Bug#20432).
11998         (xg_frame_set_char_size, xg_update_scrollbar_pos):
11999         Calculate scale only if needed.
12000         show ASCII approximations instead.
12002 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
12004         Fix daemon crashes when linum-mode is turned on early on
12005         * src/window.c (Fwindow_end): Don't try calling display engine
12006         functions on initial-frame frame.  (Bug#20565)
12008         Fix selective diff browsing in Ediff
12009         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
12010         beginning of the region before searching for the
12011         ediff-regexp-focus-* regexps.  (Bug#20568)
12013 2015-05-14  Jan D  <jan.h.d@swipnet.se>
12015         Fixes Bug#20142.
12016         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
12017         in the main loop, even for Gtk 3 (Bug#20142).
12019         Don't access display after i/o error (Bug#19147).
12020         * xterm.c (x_connection_closed): Add third arg ioerror.
12021         If ioerror, set display to 0 (Bug#19147).
12022         (x_error_quitter): Call x_connection_closed with third arg false.
12023         (x_io_error_quitter): Call x_connection_closed with third arg true.
12025         Handle GTK_SCALE, fixes Bug#20432.
12026         * gtkutil.c (xg_get_gdk_scale): New function.
12027         (xg_frame_set_char_size)
12028         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
12029         (xg_get_default_scrollbar_height)
12030         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
12031         when setting sizes (Bug#20432).
12033 2015-05-13  Leo Liu  <sdl.web@gmail.com>
12035         Fix cps--gensym
12036         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
12038 2015-05-13  Glenn Morris  <rgm@gnu.org>
12040         Fix bootstrap (void function cl-member).
12041         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
12042         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
12044 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
12046         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
12047         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
12048         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
12049         Avoid defalias for closures which are not immutable.
12050         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
12051         dispatchers table with various entries.
12052         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
12053         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
12055 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
12057         Improve tagging of C bindings in DEFVAR_*
12058         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
12059         from DEFVAR_*.
12061 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12063         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
12065 2015-05-12  Glenn Morris  <rgm@gnu.org>
12067         * lisp/progmodes/tcl.el (tcl-filter):
12068         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
12070         Add basic VC push support.
12071         * lisp/vc/vc.el (vc-push): New autoloaded command.
12072         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
12073         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
12074         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
12075         (vc-bzr-push): New.
12076         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
12077         (vc-git-pull): Reimplement using vc-git--pushpull.
12078         (vc-git-push): New.
12079         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
12080         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
12081         * doc/emacs/maintaining.texi (Pulling / Pushing):
12082         Rename from "VC Pull".  Mention pushing.
12083         (VC With A Merging VCS, VC Change Log): Update xrefs.
12084         (Branches): Update menu.
12085         * doc/emacs/emacs.texi: Update menu.
12086         * etc/NEWS: Mention this.
12088 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
12090         Improve the seq pcase pattern and the `seq-let' macro
12091         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
12092         object is a sequence, and binds each element of ARGS to the
12093         corresponding element of the sequence.
12095 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
12097         Fix tags created from DEFVAR_* declarations in C
12098         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
12099         to make tags extracted from DEFVAR_* declarations more accurate.
12101         Add a test suite for etags
12102         * test/etags/: New test suite, adapted from
12103         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
12104         whose original author is Francesco Potortì <pot@gnu.org>.
12106         Fix tagging of symbols in C enumerations
12107         * lib-src/etags.c (consider_token): Don't tag symbols in
12108         expressions that assign values to enum constants.  See
12109         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
12110         for details.
12111         (C_entries): Reset fvdef to fvnone after processing a preprocessor
12112         conditional and after a comma outside of parentheses.
12114 2015-05-12  Glenn Morris  <rgm@gnu.org>
12116         * lisp/url/url-handlers.el (url-file-name-completion)
12117         (url-file-name-all-completions): Silence compiler.
12119         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
12121         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
12123 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
12125         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
12126         (cl--generic-mandatory-args): Remove.
12127         (cl--generic-split-args): New function.
12128         (cl-generic-define, cl--generic-lambda): Use it.
12129         (cl-generic-define-method): Use it as well, and add support for
12130         context args.
12131         (cl--generic-get-dispatcher): Handle &context dispatch.
12132         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
12133         (cl--generic-dispatchers): Pre-fill.
12134         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
12136 2015-05-11  Glenn Morris  <rgm@gnu.org>
12138         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
12140 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
12142         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
12143         * lisp/term/rxvt.el: Require term/xterm.
12144         (rxvt-function-map): Use xterm-rxvt-function-map.
12145         (rxvt-standard-colors): Move before first use.
12146         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
12147         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
12148         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
12149         Move shared bindings between rxvt and xterm to it.
12150         (xterm-function-map): Use it.  Move the xterm-paste binding to
12151         xterm-rxvt-function-map (bug#20444).
12152         (xterm-standard-colors): Move before first use.
12153         (xterm--push-map): New function.
12154         (xterm-register-default-colors): Take standard colors as argument.
12155         (terminal-init-xterm): Use it.  Adjust call to
12156         xterm-register-default-colors.
12158 2015-05-11  Glenn Morris  <rgm@gnu.org>
12160         * lisp/term/x-win.el: Quieten --without-x compilation.
12161         (x-own-selection-internal, x-disown-selection-internal)
12162         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
12163         Declare.
12165         * Makefile.in (emacslog): Remove srcdir.
12166         (ChangeLog): Update for the above.
12168 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
12170         Spelling fix
12172 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
12174         python.el: better limit for looking-back calls
12175         * lisp/progmodes/python.el (python-shell-accept-process-output):
12176         Use last comint prompt start as limit for looking-back.
12178 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
12180         CEDET (srecode-insert-fcn): Fix use of oref on a class
12181         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
12182         a class.  Reported by Pierre Lorenzon.
12183         (srecode-template-inserter-point): Remove declaration.
12185         CEDET (srecode-create-dictionary): Avoid obsolete object name
12186         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
12187         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
12189 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
12191         C-x 8 shorthands for curved quotes, Euro, etc.
12192         Although C-x 8 lets you insert arbitrary Unicode characters,
12193         it's awkward to use this to insert commonly used symbols such as curved
12194         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
12195         characters commonly found in English text and in basic math.
12196         For example, assuming the Alt key works on your keyboard and iso-transl
12197         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
12198         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
12199         (Bug#20499)
12200         * doc/emacs/mule.texi (Unibyte Mode):
12201         A few other printing characters now work too.
12202         * etc/NEWS: Document this.
12203         * lisp/international/iso-transl.el (iso-transl-char-map):
12204         Also support the following characters:
12205         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
12207 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
12209         Add xref-find-regexp
12210         * lisp/progmodes/xref.el (xref-find-function): Describe the
12211         `matches' action.
12212         (xref-find-regexp): New command, using it.
12213         (xref-collect-references): Rename to xref-collect-matches.
12214         (xref--collect-reference): Rename to xref--collect-match.
12215         (xref-collect-matches, xref--collect-match): Accept new argument,
12216         KIND.  Update accordingly.
12217         (xref--regexp-to-extended): New function.
12218         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
12219         `matches' action.
12220         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
12221         * lisp/progmodes/etags.el (etags-xref-find):
12222         Support the `matches' action.
12223         (etags--xref-find-matches): New function.
12225 2015-05-10  Glenn Morris  <rgm@gnu.org>
12227         * Makefile.in: Fixes for recent change-history changes.
12228         (change-history-nocommit): Update footer regexp.
12229         Ensure output script stays executable.
12231 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
12233         New version of `seq-let' based on a pcase pattern
12234         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
12235         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
12237 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
12239         Add basic HTML5 tags and a template
12240         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
12241         (html-tag-alist): Add HTML5 tags.
12242         (html-tag-help): Add new tags descriptions.
12243         (html-navigational-links): Template for nav links.
12244         (html-html5-template): Template for a HTML5 page.
12246 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
12248         semantic/symref/grep: Don't use word boundaries
12249         * lisp/cedet/semantic/symref/grep.el
12250         (semantic-symref-perform-search): Instead of wrapping input in
12251         word boundaries, check that the characters before and after are
12252         not word constituents.
12254         semantic/symref/grep: Support regexp search
12255         * lisp/cedet/semantic/symref.el
12256         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
12257         the search type is regexp.
12258         * lisp/cedet/semantic/symref/grep.el
12259         (semantic-symref-perform-search): Support the regexp search type.
12260         Pass -E to Grep when it's used.
12262         semantic-symref-regexp: Allow to input an arbitrary string
12263         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
12264         Allow to input an arbitrary string interactively.
12266         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
12267         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
12268         Remove tag-symbol-match-p from the default value
12269         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
12271         Declare find-tag obsolete
12272         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
12273         xref-find-definitions.
12275 2015-05-10  Jan D  <jan.h.d@swipnet.se>
12277         Draw composite string correctly (Bug#20537).
12278         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
12279         (ns_draw_glyph_string): Call it (Bug#20537).
12281 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
12283         Avoid infloop in ERC
12284         * lisp/simple.el (line-move-to-column): Ignore field boundaries
12285         while computing line beginning position.  (Bug#20498)
12287 2015-05-08  Glenn Morris  <rgm@gnu.org>
12289         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
12290         * build-aux/gitlog-to-emacslog: Check called from right directory.
12291         (srcprefix): Remove.
12293         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
12294         * Makefile.in (ChangeLog): No longer pass "distprefix".
12295         * make-dist: Update "make ChangeLog" syntax for the above change.
12297         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
12298         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
12300         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
12302         Add command-line option-parsing to gitlog-to-emacslog.
12303         * build-aux/gitlog-to-emacslog: Add command-line options.
12304         By default, refuse to remove an existing output file.
12305         * Makefile.in (CHANGELOG): Update default.
12306         (ChangeLog): Do not test for existing file.
12307         (change-history-nocommit): Ensure temp file does not exist.
12309         Quieten --without-x compilation.
12310         * lisp/term/common-win.el: Provide a feature.
12311         * lisp/term/x-win.el (term/common-win): Require it.
12313         * lisp/dired-aux.el (dired-do-print): Require lpr.
12315         Quieten compilation, eg in --without-x builds.
12316         * lisp/dired-aux.el (lpr-printer-switch):
12317         * lisp/frame.el (tool-bar-height):
12318         * lisp/linum.el (font-info):
12319         * lisp/window.el (font-info, overflow-newline-into-fringe)
12320         (tool-bar-height):
12321         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
12322         * lisp/gnus/gnus-util.el (iswitchb-mode):
12323         * lisp/mail/rmailmm.el (libxml-parse-html-region):
12324         * lisp/net/nsm.el (gnutls-peer-status)
12325         (gnutls-peer-status-warning-describe):
12326         * lisp/net/shr.el (libxml-parse-xml-region):
12327         * lisp/url/url-http.el (gnutls-peer-status): Declare.
12329 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
12331         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
12332         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
12333         `subclass' since they're never called with a class.
12334         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
12335         srecode-dictionary-child-p.
12337 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
12339         help--binding-locus: Document argument POSITION.
12340         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
12342 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
12344         Merge from gnulib.
12345         * doc/misc/texinfo.tex: Get latest version.
12347 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
12349         ffap.el (ffap-read-file-or-url): Fix completing-read call
12350         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
12351           `completing-read' should be a symbol.
12353 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
12355         Verify file modifications by other programs
12356         * src/filelock.c (lock_file): Check whether the file was modified
12357         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
12359         Fix keyboard macros that include function keys
12360         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
12361         keys in the macro before returning.  (Bug#20454)
12363 2015-05-08  Glenn Morris  <rgm@gnu.org>
12365         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
12366         "Copyright-paperwork-exempt".  (Bug#20324)
12368         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
12369         (log-edit-rewrite-tiny-change): New variable.
12370         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
12371         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
12372         * etc/NEWS: Mention this.
12374         * lisp/calc/calc.el (math-zerop): Declare.
12376         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
12378 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
12380         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
12381         Support the case when BINDINGS is a single tuple.  (Bug#20525)
12383         * etc/NEWS: Fix typo in commit 14bb519
12385 2015-05-07  Jan D  <jan.h.d@swipnet.se>
12387         Warn for multiple display crash for all Gtk+ versions.
12388         * configure.ac: Warn for multiple display crash for all Gtk+
12389         versions.  Output URL to Gtk+ bug (Bug#20452).
12391         ns-win.el (ns-paste-secondary): Use gui-get-selection.
12392         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
12394 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
12396         * lisp/emacs-lisp/package.el: New "external" package status
12397         An external package is any installed package that's not built-in
12398         and not from `package-user-dir', which usually means it's from an
12399         entry in `package-directory-list'.  They are treated much like
12400         built-in packages, in that they cannot be through the Package Menu
12401         deleted and are not considered for upgrades.
12402         (package-desc-status): Identify if a package is installed outside
12403         `package-user-dir'.
12404         (package-menu--print-info-simple)
12405         (package-menu--status-predicate): Add support for it.
12406         * etc/NEWS: Document it.
12408 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
12410         * lisp/mail/rmail.el: Use lexical-binding
12411         (rmail-bury): Remove unused var `buffer-to-bury'.
12412         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
12413         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
12414         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
12415         (rmail-insert-inbox-text): Remove unused var `movemail'.
12416         (rmail-add-mbox-headers): Remove unused var `limit'.
12417         (rmail-undelete-previous-message): Remove unused var `value'.
12418         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
12419         `resent-reply-to'.
12420         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
12421         (rmail-restore-desktop-buffer): Rename arguments.
12423 2015-05-06  Glenn Morris  <rgm@gnu.org>
12425         * Makefile.in (change-history-commit): Add missing piece of previous.
12427         Avoid unnecessary bumping of Makefile.in's timestamp.
12428         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
12429         (emacslog): New variable.
12430         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
12431         (unchanged-history-files): Use $emacslog rather than Makefile.in.
12432         (change-history-nocommit): Store hash in $emacslog.
12433         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
12434         * admin/update_autogen (changelog_files): Update for the above.
12436         * Makefile.in: Don't always insist on removing existing "ChangeLog".
12437         (CHANGELOG): New variable.
12438         (no-ChangeLog): Remove.
12439         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
12440         (change-history-nocommit): Use a temp file rather than insisting
12441         on deletion of any existing "ChangeLog".
12443         * build-aux/gitlog-to-emacslog: Allow specification of output.
12445         * admin/update_autogen: Add option to update ChangeLog.
12446         (usage): Mention -H.
12447         (changelog_flag, changelog_n, changelog_files): New variables.
12448         (main): Check for -H, and maybe run change-history-nocommit.
12450 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
12452         * lisp/subr.el (delete-dups): Pre-size the hashtable.
12454         (define-modify-macro): Make sure cl--arglist-args is defined
12455         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
12456         cl--arglist-args is defined (bug#20517).
12458 2015-05-06  Glenn Morris  <rgm@gnu.org>
12460         * Makefile.in (change-history-nocommit): New.
12462 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
12464         Only cancel timer when it is non-nil
12465         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
12466         timer when it is non-nil
12467         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
12469 2015-05-06  Glenn Morris  <rgm@gnu.org>
12471         Quieten cedet compilation
12472         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
12473         Invert fboundp test to quieten on current Emacs.
12474         * lisp/cedet/ede/config.el (ede-shell-run-something)
12475         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
12476         (semanticdb-refresh-table): Declare.
12477         (ede-preprocessor-map): Require semantic/db.
12479         Quieten cc-mode compilation
12480         * lisp/progmodes/cc-awk.el (c-forward-sws):
12481         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
12482         Declare.
12484 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
12486         lisp/subr.el (delete-dups): Avoid nreverse.
12488 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
12490         * lisp/subr.el (delete-dups): Make it destructive again.
12492 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
12494         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
12496 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
12498         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
12499         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
12500         (testcover--read): Rename from testcover-read.  Change calling convention.
12501         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
12502         (testcover-start): Use add-function.  Move edebug-all-defs binding to
12503         testcover--read.
12504         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
12505         (testcover-mark): Remove unused var `item'.
12506         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
12508 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
12510         lisp/subr.el (delete-dups): Use a hash table
12511         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
12512           use a hash table. This can result in ~500 times speed-up for typical
12513           collections of size 5000, like that of `load-library'.
12515 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
12517         CEDET: Avoid `oref' on classes in a few more cases
12518         * lisp/cedet/ede/generic.el (ede-find-target):
12519         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
12520         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
12521         var `prefix'.
12523         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
12524         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
12525         (semantic-symref-perform-search): Remove unused var `pat'.
12527         CEDET (srecode-compile-inserter): Avoid `oref' on classes
12528         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
12529         Avoid `oref' on classes (bug#20491).
12530         (srecode-compile-split-code): Remove unused var `key'.
12532 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
12534         Clean up pulse.el a little
12535         * lisp/cedet/pulse.el (pulse): Remove.
12536         (pulse-momentary-timer): Save instead of the stop time.
12537         (pulse-momentary-highlight-overlay): Call
12538         pulse-momentary-unhighlight first thing. Treat
12539         pulse-momentary-overlay as a single value, not a list. Save the
12540         created timer. Only pass the stop time to the timer.
12541         (pulse-tick): Update accordingly.
12542         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
12543         single value. Cancel the timer.
12545 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
12547         Support the biblatex journaltitle field
12548         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
12549         Support the biblatex journaltitle field.
12551 2015-05-05  Glenn Morris  <rgm@gnu.org>
12553         Minor declare-function improvement
12554         * lisp/emacs-lisp/bytecomp.el
12555         (byte-compile-macroexpand-declare-function):
12556         Handle declarations after calls.  (Bug#20509)
12558         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
12560         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
12562 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
12564         Pulse using a timer
12565         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
12566         (pulse-momentary-highlight-overlay): Set up the timer instead of
12567         calling `pulse'
12568         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
12569         (pulse-tick): New function.
12570         (pulse-momentary-unhighlight): Cut off the stop time.
12571         (pulse-delay): Update the docstring WRT to not using sit-for.
12573         Add semantic/symref/grep file patterns for ruby-mode
12574         * lisp/cedet/semantic/symref/grep.el
12575         (semantic-symref-filepattern-alist): Add patterns for
12576         ruby-mode. Clarify the docstring.
12578         Don't require match
12579         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
12580         match. That doesn't work for every command, and some identifier
12581         completion tables are bound to be imperfect anyway.
12583 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
12585         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
12586         (semantic-grammar--template-expand): New function.
12587         (semantic-grammar-header, semantic-grammar-footer): Use it.
12588         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
12589         (semantic-grammar-file-regexp): Refine regexp.
12590         (semantic-grammar-eldoc-get-macro-docstring):
12591         Use elisp-get-fnsym-args-string when available.
12592         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
12593         instead of the old eldoc-* names.
12594         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
12595         from elisp-mode.el.  Tweak calling convention.
12596         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
12597         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
12598         elisp--get-fnsym-args-string.
12599         (elisp--highlight-function-argument): Add `prefix' arg.
12600         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
12601         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
12603 2015-05-05  Glenn Morris  <rgm@gnu.org>
12605         * lisp/help-fns.el (describe-function-1):
12606         Handle builtins with advertised calling conventions.  (Bug#20479)
12608 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
12610         Merge branch 'seq-let'
12612         Update `seq-let' documentation
12613         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
12614         with the support of  `&rest'.
12616         Add support for &rest in `seq-let'
12617         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
12618         in the argument list.
12619         * test/automated/seq-tests.el: Add a test for parsing and binding
12620         `&rest' in `seq-let'.
12622 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
12624         Spelling fixes
12626 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
12628         * eieio-custom.el (eieio-object-value-get): Add missing increment
12629         (Bug#20467)
12631         (eieio-object-value-create): Adjust to new slots representation
12632         (Bug#20467)
12633         * eieio-custom.el (eieio-object-value-create):
12634         Fix missed adjustment to new representation of slots metadata.
12636 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
12638         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
12640 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
12642         Work around "Attempt to modify read-only object"
12643         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
12644         elisp--xref-find-definitions, to work around "Attempt to modify
12645         read-only object" error.
12647         Only skip some variables that have function counterparts
12648         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
12649         Only skip minor-mode-named variable if it's defined in a Lisp
12650         file, and it's in minor-mode-list (bug#20506).
12651         * test/automated/elisp-mode-tests.el
12652         (elisp-xref-finds-both-function-and-variable)
12653         (elisp-xref-finds-only-function-for-minor-mode): New tests.
12655 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
12657         Buttonize the whole line, including the number at the beginning
12658         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
12659         previous change.
12660         (xref--insert-xrefs): Buttonize the whole line, including the
12661         number at the beginning.
12663         Make sure we're inside the let bindings
12664         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
12665         Make sure we're inside the let bindings.
12666         * test/automated/elisp-mode-tests.el
12667         (elisp-completes-functions-after-let-bindings): New test.
12669 2015-05-04  Glenn Morris  <rgm@gnu.org>
12671         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
12672         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
12673         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
12674         Remove outdated declarations.
12676         Replace instances of "(eval-when-compile (autoload ...))"
12677         * lisp/gnus/gnus-art.el (nneething-get-file-name):
12678         Declare rather than autoload.
12679         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
12680         Remove pointless autoload.
12681         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
12682         (gnus-topic-create-topic, gnus-topic-enter-dribble):
12683         Declare rather than autoload.
12684         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
12685         (mailcap-extension-to-mime): Autoload at run-time.
12686         * lisp/gnus/mm-util.el (latin-unity-massage-name)
12687         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
12688         (latin-unity-representations-present-region):
12689         Declare rather than autoload.
12690         * lisp/gnus/mml-smime.el (epg-make-context)
12691         (epg-passphrase-callback-function): Autoload at run-time.
12692         (epg-context-set-signers, epg-context-result-for)
12693         (epg-new-signature-digest-algorithm)
12694         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
12695         (epg-sign-string, epg-encrypt-string)
12696         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
12697         (epg-configuration, epg-expand-group, epa-select-keys):
12698         Declare rather than autoload.
12699         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
12700         Autoload at run-time.
12701         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
12702         (gnus-registry-get-id-key, gnus-registry-action):
12703         Declare rather than autoload.
12704         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
12705         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
12706         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
12707         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
12708         (spam-stat-split-fancy): Remove pointless autoloads.
12709         * lisp/net/mairix.el: Load gnus-util when compiling.
12710         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
12711         (message-field-value): Declare rather than autoload.
12712         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
12713         Check gnus-alive-p is fbound.
12714         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
12715         (vm-check-for-killed-summary, vm-error-if-folder-empty)
12716         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
12717         Declare rather than autoload.
12719         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
12721         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
12722         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
12724         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
12726         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
12728         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
12729         * lisp/emacs-lisp/package.el (epg-signature-status):
12730         Fix declarations.
12732         * lisp/play/gametree.el (gametree-show-children-and-entry)
12733         (gametree-apply-layout, gametree-mouse-show-subtree)
12734         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
12736         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
12737         Handle cl-defgeneric, cl-defmethod.
12739 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
12741         Highlight both type and symbol name
12742         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
12743         Highlight both type and symbol name.
12745         Insert, highlight and align line numbers in xref output
12746         * lisp/progmodes/etags.el (xref-location-line): Specialize for
12747         xref-etags-location.
12748         * lisp/progmodes/xref.el (xref-location-line): New generic method.
12749         (xref-file-location): Add reader for the line slot.
12750         (xref--location-at-point): Skip to the `xref-location' property.
12751         (xref--collect-reference): Drop the line number from description.
12752         (xref--insert-xrefs): Insert, highlight and align line numbers.
12754 2015-05-04  Daniel Colascione  <dancol@dancol.org>
12756         Fix previous commit
12758 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
12760         Don't pulse the indentation, or the newline
12761         * lisp/cedet/pulse.el (pulse-lighten-highlight)
12762         (pulse-reset-face): Fall back to the inherited background
12763         attribute in FACE.
12764         (pulse-momentary-highlight-region): Add autoload cookie.
12765         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
12766         indentation, or the newline, if the line's non-empty
12767         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
12769 2015-05-04  Daniel Colascione  <dancol@dancol.org>
12771         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
12772         * doc/lispref/positions.texi (Excursions): Document
12773         `save-mark-and-excursion'.
12774         * lisp/font-lock.el (font-lock-fontify-block): Use
12775         `save-mark-and-excursion' instead of `save-excursion', restoring
12776         Emacs 24 behavior.
12777         * lisp/simple.el (save-mark-and-excursion--save)
12778         (save-mark-and-excursion--restore): New functions.
12779         (save-mark-and-excursion): New user macro.
12780         * src/editfns.c (Fsave_excursion): Mention
12781         `save-mark-and-excursion' in `save-excursion' documentation.
12783 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
12785         Classify lone symbol inside let varlist as variable
12786         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
12787         Classify lone symbol inside let varlist as variable.
12788         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
12789         New test.
12791         Add xref-pulse-on-jump
12792         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
12793         Add autoload cookie.
12794         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
12795         (xref--maybe-pulse): New function.
12796         (xref-pop-marker-stack, xref--pop-to-location)
12797         (xref--display-position): Use it.
12798         (xref--location-at-point): Use back-to-indentation.
12800 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
12802         * lisp/org/org-{macs,list}.el: Fix lexical warnings
12803         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
12804         (org-list-get-next-item, org-list-get-prev-item)
12805         (org-list-get-children): Mark unused arg `struct'.
12806         (org-list-use-alpha-bul-p): Remove unused var `bul'.
12807         (org-toggle-checkbox): Mark unused var.
12808         (org-update-checkbox-count): Remove unused var `box-num'.
12809         (org-adapt-indentation): Declare.
12810         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
12811         (org-list-send-list): Remove unused var `txt'.
12812         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
12813         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
12814         * lisp/org/org-macs.el: Use `declare'.
12815         (org-with-limited-levels): Declare dyn-bound vars.
12817 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
12819         Fix minor issues with CEDET on MS-Windows
12820         * lisp/cedet/semantic/symref/idutils.el
12821         (semantic-symref-parse-tool-output-one-line): Fix the search
12822         regexp to match MS-Windows file names with drive letters.
12823         (Bug#19468)
12824         * lisp/cedet/semantic/symref/grep.el
12825         (semantic-symref-grep-use-template): Remove "--color=always" from
12826         Grep switches on MS-Windows.
12827         (semantic-symref-grep-shell): Use shell-file-name as the default
12828         value, so this works not only on Posix platforms.
12829         (semantic-symref-perform-search): Use shell-quote-argument instead
12830         of literal '..' for portable quoting of Grep command-line
12831         argument.  Use shell-command-switch instead of a literal "-c".
12832         * lisp/cedet/semantic/bovine/gcc.el
12833         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
12834         for an absolute file name in a portable way.
12836 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
12838         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
12839         (package-import-keyring, package-refresh-contents)
12840         (package-compute-transaction, package--save-selected-packages)
12841         (package-install-from-archive, package-delete)
12842         (package-menu--perform-transaction): Use `inhibit-message'
12843         instead.
12844         (package--compile): Set `warning-minimum-level' to :error.
12846 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
12848         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
12849         (terminal-init-screen): Use it (bug#20356).
12850         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
12851         (xterm--extra-capabilities-type): New const.
12852         (xterm-extra-capabilities): Use it.
12853         (xterm--version-handler): Lower the pseudo-version for `screen'.
12855 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
12857         xref--insert-xrefs: Tweak the faces
12858         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
12859         Always insert a newline at the end (to avoid mouse-face background
12860         tail at the last line).
12862         elisp-completion-at-point: Prioritize being quoted over funpos
12863         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
12864         Only consider function position when not inside quoted form
12865         (bug#20425).
12866         * test/automated/elisp-mode-tests.el: New file.
12868         Stop vc-print-log from jumping to the top
12869         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
12870         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
12871         is not specified.
12872         (vc-incoming-outgoing-internal): Always pass nil.
12873         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
12874         call it, and don't set vc-sentinel-movepoint (bug#15322).
12875         (vc-print-root-log): Don't fetch the root working revision, nor
12876         pass it to vc-print-log-internal.
12878 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
12880         Fix display of keyboard layouts for right-to-left scripts
12881         * lisp/international/quail.el (quail-insert-kbd-layout): Force
12882         left-to-right paragraph direction.
12884 2015-05-02  K. Handa  <handa@gnu.org>
12886         * cmds.c (internal_self_insert): When we insert spaces for
12887         padding, set point before the padding spaces, not after them.
12889 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
12891         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
12893 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
12895         Fix etags-xref-find for references
12896         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
12897         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
12898         directory if no tags tables are loaded (bug#19468).
12900 2015-05-02  Philipp Stephani  <phst@google.com>
12902         Update the options in whitespace-style defcustom
12903         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
12904         `repeat' because the option is really set-like.  Add missing
12905         options.  Reorder options to match the order in the
12906         documentation.  (Bug#20346)
12908 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
12910         Fix error diagnostics of c-macro-expand
12911         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
12912         too early if no start-marker string was found -- that generally
12913         means cpp exited abnormally, and we still want to show its error
12914         messages to the user.
12916         Don't require Texinfo 5.0 for Emacs documentation
12917         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
12918         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
12919         "@codequoteundirected on", respectively, to avoid requiring
12920         Texinfo 5.x for Emacs documentation.
12922 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
12924         * lisp/files.el (pwd):
12925         When called with a prefix argument, insert the current default
12926         directory at point.
12928 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
12930         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
12931         * lisp/isearch.el (isearch-mode-map): Don't inhibit
12932         function-key-map remapping for backspace (bug#20466).
12934 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
12936         Implement xref-find-references in etags and elisp-mode
12937         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
12938         (elisp-xref-find): Use it.
12939         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
12940         * lisp/progmodes/xref.el (xref-collect-references):
12941         (xref--collect-reference): New functions.
12943 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
12945         Prefer plain characters to Texinfo circumlocutions
12946         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
12947         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
12949         Fix single-quoting style in PDF manuals
12950         The PDF versions of the GNU manuals used curved single quotes to
12951         represent grave accent and apostrophe, which made it a pain to cut
12952         and paste code examples from them.  Fix the PDF versions to use
12953         grave accent and apostrophe for Lisp source code, keystrokes, etc.
12954         This change does not affect the info files, nor does it affect
12955         ordinary uses of curved single quotes in PDF.
12956         * doc/emacs/docstyle.texi: New file, which specifies treatment for
12957         grave accent and apostrophe, as well as the document encoding.
12958         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
12959         * doc/lispintro/emacs-lisp-intro.texi:
12960         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
12961         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
12962         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
12963         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
12964         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
12965         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
12966         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
12967         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
12968         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
12969         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
12970         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
12971         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
12972         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
12973         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
12974         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
12975         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
12976         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
12977         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
12978         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
12979         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
12980         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
12981         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
12982         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
12983         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
12984         * doc/misc/woman.texi:
12985         Use it instead of '@documentencoding UTF-8', to lessen the need for
12986         global changes like this in the future.
12987         * doc/emacs/Makefile.in (EMACS_XTRA):
12988         * doc/lispintro/Makefile.in (srcs):
12989         * doc/lispref/Makefile.in (srcs):
12990         Add dependency on docstyle.texi.
12991         * doc/misc/Makefile.in (style): New macro.
12992         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
12993         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
12994         Use it.
12996 2015-05-01  Glenn Morris  <rgm@gnu.org>
12998         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
13000         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
13001         (help-fns--signature): Declare.
13003         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
13005 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
13007         New macro seq-let, providing destructuring support to seq.el
13008         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
13009         to `cl-destructuring-bind' but works on all sequence types supported
13010         by `seq.el'.  Bump version number to 1.6.
13011         * test/automated/seq-tests.el: Add tests for seq-let.
13012         * doc/lispref/sequences.texi: Add documentation for seq-let.
13014 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
13016         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
13018 2015-05-01  Glenn Morris  <rgm@gnu.org>
13020         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
13022 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
13024         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
13025         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
13026         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
13027         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
13028         (Bug#20445).
13030 2015-05-01  K. Handa  <handa@gnu.org>
13032         * mule-cmds.el (input-method-use-echo-area): Change :type to
13033         'boolean.
13035 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
13037         Start using proportional fonts in eww by default
13038         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
13039         it seems to work well.
13041         Fix links in tables in shr
13042         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
13043         makes (some) links in tables not work.
13045 2015-05-01  Jan D  <jan.h.d@swipnet.se>
13047         (ns-get-cut-buffer-internal): Remove this alias.
13048         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
13050 2015-04-30  Glenn Morris  <rgm@gnu.org>
13052         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
13053         Update for 2015-02-08 change to indirect-function.
13055         * lisp/term/ns-win.el (ns-get-selection-internal):
13056         Remove declaration for function deleted 2014-10-21.
13058         * lisp/dom.el: Load subr-x when compiling, for when-let.
13060         Silence some compilation warnings
13061         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
13062         * lisp/emulation/cua-base.el (delete-active-region):
13063         * lisp/net/net-utils.el (w32-get-console-output-codepage):
13064         * lisp/term/ns-win.el (ns-own-selection-internal)
13065         (ns-disown-selection-internal, ns-selection-owner-p)
13066         (ns-selection-exists-p, ns-get-selection):
13067         Declare for compiler..
13069         Function declaration updates prompted by 'make check-declare'
13070         * lisp/emacs-lisp/package.el (lm-homepage):
13071         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
13072         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
13073         * lisp/gnus/mml.el (libxml-parse-html-region):
13074         * lisp/gnus/nnrss.el (libxml-parse-html-region):
13075         * lisp/net/eww.el (libxml-parse-html-region):
13076         * lisp/net/shr.el (libxml-parse-html-region):
13077         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
13078         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
13079         * lisp/vc/vc-git.el (vc-annotate-convert-time):
13080         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
13081         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
13082         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
13083         Update declaration.
13085         Remove compatibility code for 20-year old function renaming
13086         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
13087         Make it an obsolete alias.
13088         (idlwave-shell-filter): Change all uses to comint-output-filter.
13090 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
13092         Add ace-window face config
13093         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
13094         configuration.
13096 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
13098         Unclutter 'make doc' output a bit
13099         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
13100         Use make subst rather than sh IFS to split target string apart.
13101         This makes 'make' output easier to follow.
13103         Merge from gnulib
13104         * doc/misc/texinfo.tex: Update from gnulib.
13106 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
13108         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
13109         (package-menu--print-info): Obsolete.
13110         (package-menu--print-info-simple): New function.
13111         (package-menu--refresh): Use it, simplify code, and improve
13112         performance.
13113         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
13114         Tiny performance improvement.
13116         * lisp/emacs-lisp/package.el (package--message): inhibit-message
13118 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
13120         Omit -Wstrict-overflow workaround in GCC 5
13121         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
13122         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
13124         Merge from gnulib
13125         This incorporates:
13126         2015-04-29 extern-inline: no need for workaround in GCC 5.1
13127         2015-04-26 file-has-acl: port to CentOS 6
13128         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
13130 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
13132         Set next-error-* in xref--xref-buffer-mode
13133         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
13134         `next-error-last-buffer'.
13135         (xref--next-error-function): New function.
13136         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
13138 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
13140         python.el: Fix warnings on looking-back calls missing LIMIT
13141         * lisp/progmodes/python.el (python-shell-accept-process-output):
13142         Pass LIMIT arg to looking-back.
13144 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
13146         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
13147         (package--download-and-read-archives): Use pushnew instead of
13148         append.  If something terrible happened during a previous
13149         download, simply refreshing should now make things work again.
13151 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
13153         Introduce etags-xref-find-definitions-tag-order
13154         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
13155         New variable.
13156         (etags--xref-find-definitions): Use it (bug#19468).
13158 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
13160         PATH- and completion-related fixes in Eshell on MS-Windows
13161         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
13162         MS-Windows, prepend "." to list of directories produced from PATH,
13163         as Windows always implicitly searches the current directory first.
13164         (eshell-force-execution): Make it have a non-nil default value on
13165         MS-Windows and MS-DOS.
13166         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
13167         eshell-force-execution is non-nil, complete on readable files and
13168         directories, not only executables.  When running on MS-Windows,
13169         prepend "." to list of directories produced from PATH, as Windows
13170         always implicitly searches the current directory first.
13172 2015-04-29  Sam Steingold  <sds@gnu.org>
13174         bury RCIRC buffers when there is no activity
13175         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
13176         (rcirc-bury-buffers): new function
13177         (rcirc-next-active-buffer): when there is no new activity, use
13178         `rcirc-bury-buffers' to hide all RCIRC buffers
13180 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
13182         Fix DBUS query result parsing for secrets-search-items
13183         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
13184         parsing.  The function assumed that return value of the
13185         SearchItems method called on a collection is a list of two lists,
13186         however this is true only when no collection is specified.  GNOME
13187         had used to incorrectly return a list of two lists in both cases,
13188         but this was already fixed:
13189         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
13190         incorrect information in the secrets-search-items’ docstring.
13191         (Bug#20449)
13193 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
13195         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
13196         (byte-compile--message): Use `inhibit-message' instead of hiding
13197         the previous message with (message nil).
13199 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
13201         Remove the deprecated INTERNAL_FIELD macro by expanding it
13202         * src/lisp.h (INTERNAL_FIELD): Remove.
13203         (DEFVAR_KBOARD): Modify accordingly.
13204         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
13205         * syntax.c: Adjust users.
13206         * src/buffer.c (compact_buffer): Use BVAR.
13208 2015-04-29  Glenn Morris  <rgm@gnu.org>
13210         Replace an obsolete function alias
13211         * lisp/isearch.el (isearch-yank-x-selection):
13212         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
13213         (mouse-drag-secondary-moving):
13214         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
13215         Replace obsolete alias x-get-selection with gui-get-selection.
13217 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
13219         * lisp/mail/rmailsum.el: Use lexical-binding.
13221 2015-04-29  Glenn Morris  <rgm@gnu.org>
13223         * test/automated/package-test.el (package-test-update-archives-async):
13224         Skip test on hydra.nixos.org.
13226 2015-04-28  Glenn Morris  <rgm@gnu.org>
13228         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
13229         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
13230         (foldout-mouse-hide-or-exit): Use new names for outline functions.
13232         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
13233         Update for 2014-06-26 hideif.el change.
13235         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
13236         (rmail--decode-and-apply): New function.
13237         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
13239         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
13241 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
13243         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
13244         (package-menu--refresh): Delegate obsolete-hiding to
13245         `package--remove-hidden'.
13246         (package--remove-hidden): Disregard high-priority package if it is
13247         older than the installed one.
13249 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
13251         Update source file encoding list
13252         Update admin/notes/unicode, along with coding system cookies in
13253         other files, so that the two match each other better.
13254         * admin/notes/unicode: lisp/language/ethio-util.el and
13255         lisp/language/ethiopic.el also use utf-8-emacs.
13256         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
13257         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
13258         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
13259         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
13260         * etc/refcards/sk-survival.tex:
13261         Add "coding: utf-8" so that this file is not mishandled in a
13262         Latin-1 or Big-5 locale.
13263         * lisp/international/robin.el, lisp/org/ox-ascii.el:
13264         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
13265         * lisp/language/ethio-util.el: Fix trailer.
13267 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
13269         Fix synchronous invocation of Ispell
13270         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
13271         value to ispell-process-directory before calling ispell-init-process.
13272         Don't call set-process-coding-system if ispell-async-processp is nil.
13273         (Bug#20448)
13275 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
13277         * lisp/emacs-lisp/package.el: Skip space and comments in init file
13278         (package--ensure-init-file): Insert snippet at first
13279         non-whitespace non-comments line.  Respects local-vars at the top
13280         of the file.
13282 2015-04-28  Glenn Morris  <rgm@gnu.org>
13284         * lisp/mail/rmail.el (rmail-copy-headers):
13285         Handle rmail-nonignored-headers being nil.  (Bug#18878)
13287         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
13289         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
13290         Don't get confused by a bzrlib version mismatch warning.
13292 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13294         Change default location of EUDC options file
13295         * NEWS: Document change to EUDC options file's default location.
13296         * lisp/net/eudc-vars.el (eudc-options-file): Use
13297         `locate-user-emacs-file' to change default options file location.
13299 2015-04-27  Glenn Morris  <rgm@gnu.org>
13301         * test/automated/package-test.el (package-test-update-archives-async):
13302         Try to handle the test server script dying.
13304 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
13306         * lisp/saveplace.el (save-place-mode): New minor mode.
13307         (save-place): Redefine as an obsolete alias.
13309         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
13310         * lisp/midnight.el: Use lexical-binding.
13311         (midnight-mode): Make it a proper minor mode.
13312         (midnight-buffer-display-time): Make arg non-optional.
13313         (midnight-find): Remove.
13314         (clean-buffer-list-kill-never-regexps)
13315         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
13316         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
13317         contain functions.
13318         (clean-buffer-list): Use cl-find.
13319         Allow clean-buffer-list-kill-never-regexps to contain functions.
13321 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
13323         Bump version of seq.el to 1.5
13324         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
13325           from seq-doseq.  Bump version number of seq.el.
13327 2015-04-27  Glenn Morris  <rgm@gnu.org>
13329         * lisp/mail/rmail.el (rmail-reply):
13330         Decode subject before matching "Re:" prefix.  (Bug#20396)
13332 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
13334         * lisp/emacs-lisp/package.el: Small improvements
13335         (package--with-work-buffer-async): More informative error.
13336         (package-install-user-selected-packages): Rename to
13337         `package-install-selected-packages'.
13339 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
13341         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
13342         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
13343         (eieio--class-make): Remove leftover `tag'.
13345 2015-04-27  Glenn Morris  <rgm@gnu.org>
13347         * lisp/gnus/message.el (gnus-extract-address-components):
13348         Remove bogus declaration that was masking previous problem.
13350 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
13352         * lisp/gnus/message.el (message-insert-formatted-citation-line):
13353         Fix typo.  (Bug#20318)
13355 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
13357         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
13359         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
13360         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
13361         the buffer in yet another frame.
13362         (reftex-toc-visit-location): Make sure toc-window has focus at the end
13363         when `final' is nil.
13364         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
13365         silence warnings.  Use `--' to clarify that it's internal.
13366         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
13367         (reftex-toc-promote): Clarify unused argument.
13368         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
13369         Add `reftex--' prefix.  Fix all users.
13370         (reftex-toc-promote-prepare): Use _ for dummy variable.
13371         (reftex-toc-restore-region): Rename `m
13373 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
13375         Fix a typo in bibtex.el
13376         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
13377         last change.  (Bug#20429)
13379         Fix redisplay of frame after loading new fonts
13380         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
13381         frame because new fonts were loaded, disable all redisplay
13382         optimizations on that frame by calling SET_FRAME_GARBAGED.
13383         (Bug#20410)
13385 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
13387         * lisp/info.el (Info-menu): Properly provide the `default'
13388         (Bug#20391)
13390         * elisp-mode.el: Catch errors from `documentation'
13391         (Bug#20418)
13392         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
13393         Catch errors from documentation.
13394         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
13396 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
13398         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
13399         Remove redundant ":group 'package".
13401 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
13403         Fix a typo in rmail.el
13404         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
13405         last commit.  (Bug#20429)
13407 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
13409         Introduce xref-prompt-for-identifier
13410         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
13411         (xref--read-identifier): Use it
13412         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
13414 2015-04-26  João Távora  <joaotavora@gmail.com>
13416         `tex-insert-quote' after single `'' opens quotes instead of closing
13417         Without this, it's very hard to precede double quotes with the
13418         apostrophe character, i.e. insert the sequence '``
13419         (quote-backquote-backquote), commonly useful in portuguese, for
13420         instance.
13421         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
13422         chars making `tex-insert-quote' be in the "opening" context.
13424 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
13426         Pass `id' to `completing-read' as def instead of initial input
13427         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
13428         as the default value instead of initial input
13429         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
13431 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13433         Don't freeze with unreadable processes
13434         Don't freeze if an exiting process can't be read from. (Bug#19860).
13435         This fixes a bug I introduced in
13436         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
13437         "* process.c: Add sanity checks for file descriptors."
13438         Dmitry Gutov did most of the legwork in finding the problem.
13439         * src/process.c (wait_reading_process_output):
13440         Treat non-running processes that can't be read from
13441         the same as other non-running processes.
13443 2015-04-25  Alan Mackenzie  <acm@muc.de>
13445         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
13446         * lisp/subr.el (remove-yank-excluded-properties): put
13447         `with-silent-modifications' around only the last three lines of code.
13449 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
13451         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
13452         (package--all-keywords): Deleted variable.
13454         * etc/NEWS: Document package-hiding functionality
13456 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
13458         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
13460         Clarify the doc string of 'replace-regexp-in-string'
13461         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
13463         Improve doc string of 'insert-buffer-substring'
13464         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
13466         MS-Windows followup for the recent gnulib update
13467         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
13468         acl-internal.c.
13470 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13472         Spelling fixes
13474         Merge from gnulib
13475         This incorporates:
13476         2015-04-24 file-has-acl: new module, split from acl
13477         2015-04-24 manywarnings: add GCC 5.1 warnings
13478         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
13479         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
13480         2015-04-15 acl: On Linux, check for acls without libacl
13481         2015-04-14 tempname: avoid unused parameter warnings (trivial)
13482         * lib/acl-internal.c: New file, from gnulib.
13483         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
13484         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
13485         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
13486         Update from gnulib.
13488         Port --enable-gcc-warnings to GCC 5.1 x86-64
13489         * lib-src/ebrowse.c (dump_sym):
13490         * lib-src/hexl.c (main):
13491         * src/ccl.c (ccl_driver):
13492         * src/character.c (string_escape_byte8):
13493         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
13494         * src/gnutls.c (Fgnutls_boot):
13495         * src/gtkutil.c (xg_check_special_colors):
13496         * src/image.c (x_build_heuristic_mask):
13497         * src/print.c (safe_debug_print, print_object):
13498         * src/term.c (produce_glyphless_glyph):
13499         * src/xdisp.c (get_next_display_element)
13500         (produce_glyphless_glyph):
13501         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
13502         Don't use a signed format to print an unsigned integer, or vice
13503         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
13504         * src/image.c (png_load_body, jpeg_load_body):
13505         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
13507 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
13509         Add new faces to tsdh-light-theme
13510         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
13511         definitions for Info-quoted, ace-jump-face-foreground,
13512         hl-paren-face, show-paren-match, and show-paren-mismatch.
13514 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
13516         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
13518 2015-04-24  Glenn Morris  <rgm@gnu.org>
13520         * build-aux/gitlog-to-emacslog:
13521         Use raw log format rather than wrapped one.
13523 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
13525         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
13526         (seq-doseq): Fix out-of-scope binding.
13527         Don't call `seq-length at every iteration.
13528         Reduce `if's from 3 to 2 per iteration.
13529         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
13531 2015-04-24  Glenn Morris  <rgm@gnu.org>
13533         * lisp/textmodes/text-mode.el (text-mode-hook):
13534         Move text-mode-hook-identify to default.
13536         * lisp/mouse.el (minor-mode-menu-from-indicator):
13537         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
13539         * lisp/help-fns.el (describe-function): More type checking.
13540         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
13542         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
13543         (Bug#20325)
13545 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
13547         shr: strip leading whitespace when expanding URLs
13548         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
13550 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
13552         Clarify "co-authored" some more
13554         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
13556         Clarify doc strings of functions that search for properties
13557         * src/textprop.c (Fnext_char_property_change)
13558         (Fprevious_char_property_change)
13559         (Fnext_single_char_property_change)
13560         (Fprevious_single_char_property_change, Fnext_property_change)
13561         (Fnext_single_property_change, Fprevious_property_change)
13562         (Fprevious_single_property_change): Clarify doc strings wrt return
13563         value and the optional LIMIT argument.  (Bug#20411)
13565 2015-04-24  Glenn Morris  <rgm@gnu.org>
13567         * test/automated/message-mode-tests.el (message-mode-propertize):
13568         Handle non-writable HOME; eg on hydra.nixos.org.
13570 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
13572         Avoid starting threads by w32-shell-execute
13573         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
13574         local file names, before invoking ShellExecute.  (Bug#20220)
13576 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
13578         Fix following doc-links in `widget-documentation-link-action'
13579         * lisp/wid-edit.el (widget-documentation-link-action): Make
13580         following doc-links less simplistic (Bug#20398).
13582 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13584         Improve EUDC manual
13585         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
13587 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13589         Omit needless "\ " after multibyte then newline
13590         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
13591         (print_object): When print-escape-multibyte is non-nil and a
13592         multibyte character is followed by a newline or formfeed, followed
13593         by a hex digit, don't output a needless "\ " before the hex digit.
13594         * test/automated/print-tests.el (print-hex-backslash): New test.
13596 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
13598         Add a new `inhibit-message' variable
13599         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
13600         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
13601         `inhibit_message' is non-zero.
13602         * etc/NEWS: Add an entry.
13603         * doc/lispref/display.texi: Add an entry for `inhibit-message',
13604           mention it in `message'.
13606 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
13608         Fix last fix in `display-buffer-record-window'.
13609         * lisp/window.el (display-buffer-record-window): Fix last fix.
13611 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
13613         Minor edits in CONTRIBUTE
13614         * CONTRIBUTE: Rearrange instructions about log messages.
13615         Use "Git" capitalized all over.
13616         Use 2 spaces between sentences.
13618 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
13620         * lisp/files.el (basic-save-buffer): Fix argument
13622         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
13623         In case `(and (null custom-file) init-file-had-error)' do the same
13624         thing we'd do if `(null user-init-file)', which is to either error out
13625         or return nil.  This is in line with `custom-save-all' which would
13626         throw an error in that situation. (bug#20355)
13628         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
13629         (package-menu-hide-low-priority): New variable, see its doc.
13630         (package-archive-priorities): Update doc.
13631         (package-desc-priority): New function.
13632         (package-desc-priority-version): Use it.
13633         (package--remove-hidden): New function.
13634         (package-menu--refresh): Use it.
13636         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
13637         (package-menu--hide-obsolete): New variable.
13638         (package--remove-hidden): Use it.
13639         (package-menu-hide-obsolete): New interactive function to toggle
13640         the variable.
13641         (package--quick-help-keys): Document it.
13642         (package-menu-async): Add :version tag.
13643         (package-menu-mode-map): Bind package-menu-hide-obsolete.
13644         (package-desc-status): Indicate non-installed obsolete packages as
13645         avail-obso.
13646         (package-menu-mark-install): Allow installation of avail-obso.
13647         (package-menu--status-predicate): Sort avail-obso with available.
13649 2015-04-22  Alan Mackenzie  <acm@muc.de>
13651         On C-y, stop some text property entries being written into buffer-undo-list
13652         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
13653         `with-silent-modifications'.
13655 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
13657         In display-buffer-record-window record selected window if necessary.
13658         * lisp/window.el (display-buffer-record-window): Store selected window
13659         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
13661 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
13663         Fix reftex-citation bug
13664         * reftex-cite.el (reftex-extract-bib-entries): Fix
13665         `wrong-type-argument stringp nil' error that occurs when AUCTeX
13666         integration is enabled and there are no citations in the document
13667         so far.
13669 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
13671         Add or reset based on the presence of MERGE_HEAD
13672         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
13673         `vc-git-resolve-when-done' to `after-save-hook' in either case.
13674         (vc-git-conflicted-files): Add a TODO.
13675         (vc-git-resolve-when-done): Depending on the presence of
13676         MERGE_HEAD, either update the resolved file in the index, or
13677         remove it from there.  (Bug#20292)
13679 2015-04-21  Glenn Morris  <rgm@gnu.org>
13681         * lisp/custom.el (custom-declare-group): No need to purecopy
13682         custom-current-group-alist members following recent change to set
13683         it to nil before dumping.
13685         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
13686         (Bug#20399)
13688 2015-04-21  Daniel Colascione  <dancol@dancol.org>
13690         Unbreak no-op buffer save message
13691         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
13692         (basic-save-buffer): Accept called-interactively as an argument instead of
13693         directly invoking called-interactively-p, which will always yield nil
13694         in that context.
13696 2015-04-21  Alan Mackenzie  <acm@muc.de>
13698         CC Mode: Do nothing in before/after-change-functions for text property changes
13699         Fixes bug#20266.
13700         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
13701         yank-handled-properties buffer local, and remove 'category from it.
13702         (c-called-from-text-property-change-p): New function.
13703         (c-before-change): Don't do anything if a call of the new function
13704         returns non-nil.
13705         (c-after-change): Don't do much if a call of the new function returns
13706         non-nil.
13707         (c-extend-after-change-region): Put changes to text property 'fontified
13708         inside c-save-buffer-state.
13710 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
13712         Fix byte-compiler warnings about looking-back.
13713         * lisp/vc/log-view.el (log-view-end-of-defun-1):
13714         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
13715         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
13716         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
13717         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
13718         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
13719         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
13720         * lisp/org/org.el (org-insert-heading, org-sort-entries):
13721         * lisp/org/org-mouse.el (org-mouse-end-headline)
13722         (org-mouse-context-menu):
13723         * lisp/org/org-clock.el (org-clock-cancel):
13724         * lisp/man.el (Man-default-man-entry):
13725         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
13726         (rmail-ensure-blank-line):
13727         * lisp/mail/footnote.el (Footnote-delete-footnote):
13728         * lisp/mail/emacsbug.el (report-emacs-bug):
13729         * lisp/info.el (Info-follow-reference, Info-fontify-node):
13730         * lisp/info-look.el (info-lookup-guess-custom-symbol):
13731         * lisp/help-fns.el (help-fns--key-bindings):
13732         * lisp/files.el (hack-local-variables):
13733         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
13734         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
13735         (viper-complete-filename-or-exit):
13736         * lisp/emulation/viper-cmd.el (viper-backward-indent):
13737         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
13738         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
13739         * lisp/cus-edit.el (custom-face-edit-value-create):
13740         * lisp/calendar/todo-mode.el (todo-set-item-priority)
13741         (todo-filter-items-1, todo-convert-legacy-files)
13742         (todo-prefix-overlays): Add explicit second arg to looking-back.
13744 2015-04-20  Glenn Morris  <rgm@gnu.org>
13746         Avoid non-nil current-load-list at startup
13747         * src/process.c (init_process_emacs): Move Fprovide statement...
13748         (syms_of_process): ... to here.
13750         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
13752         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
13754 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
13756         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
13757         (Bug#20330)
13759 2015-04-20  Glenn Morris  <rgm@gnu.org>
13761         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
13763         Tweak exec-path in uninstalled case
13764         * src/callproc.c (init_callproc): If running uninstalled, do not
13765         include eventual installation libexec directory in exec-path.
13767 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
13769         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
13770         (package-menu-filter): Accept a list of keywords.
13771         (package--all-keywords): New variable to cache known keywords.
13772         (package-all-keywords): Populate it if necessary.
13773         (package-refresh-contents): Reset it.
13775         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
13776         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
13777         as special keywords which match agains package archive and status
13778         respectively.
13779         * etc/NEWS: Document it.
13781 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
13783         Describe and index "empty overlays".
13784         * doc/lispref/display.texi (Overlays): Improve indexing.
13785         (Managing Overlays): Describe "empty" overlays.
13786         (Overlay Properties, Finding Overlays): Add cross-reference to
13787         where empty overlays are described.
13789 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
13791         Spelling fixes
13793         Quote 'like this' in top-level files
13794         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
13795         Prefer to single-quote 'like this' (instead of the older style
13796         `like this').
13797         * configure.ac: Fix some space-before-tab problems that 'git commit'
13798         complained about.
13800         Use bool for boolean in textprop.c, undo.c
13801         * src/textprop.c (soft, hard): Now constants instead of macros.
13802         (validate_plist): Rewrite to avoid need for boolean local.
13803         (interval_has_all_properties, interval_has_some_properties)
13804         (interval_has_some_properties_list, add_properties)
13805         (remove_properties, get_char_property_and_overlay)
13806         (Fnext_single_char_property_change)
13807         (Fprevious_single_char_property_change, add_text_properties_1)
13808         (Fremove_text_properties, Fremove_list_of_text_properties)
13809         (copy_text_properties):
13810         * src/tparam.c (tparam1):
13811         * src/undo.c (record_change, record_property_change)
13812         (syms_of_undo):
13813         Use 'true' and 'false' for booleans.
13815 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
13817         Call `smerge-start-session' even when dealing with a stash conflict
13818         * lisp/vc/vc-git.el (vc-git-find-file-hook):
13819         Call `smerge-start-session' even when dealing with a stash
13820         conflict (bug#20292).
13822 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
13824         Add option to eshell/clear to clear scrollback.
13825         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
13826         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
13827         scrollback contents are cleared.
13828         * etc/NEWS: Describe change.
13829         * doc/misc/eshell.texi: Add entry for `clear'.
13831 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
13833         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
13834         where either will do.
13836 2015-04-19  Steve Purcell  <steve@sanityinc.com>
13838         Assume package archive-contents are UTF8-encoded
13839         * lisp/emacs-lisp/package.el (package--read-archive-file):
13840         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
13841         downloaded and cached archive-contents files, so that non-ASCII
13842         characters in package descriptions are displayed correctly in the
13843         `list-packages' menu. (Bug#20231)
13845 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
13847         Abort when looking at stashed changes
13848         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
13849         stashed changes (bug#20292).
13851 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
13853         Refactor low-level printing for simplicity
13854         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
13855         PRINTPREPARE; doable now that we assume C99.  All callers changed.
13856         (PRINTCHAR): Remove, as it adds more mystery than clarity.
13857         All callers changed.
13858         (strout): Assume that caller computes length.  All callers changed.
13859         (print_c_string): New function.
13860         (write_string, write_string_1): Compute length instead of asking
13861         the caller to compute it.  All callers changed.
13862         (write_string): Simplify by using write_string_1.
13863         (write_string_1): Simplify by using print_c_string.
13864         (Fterpri): Compute default val more clearly.
13865         (Fprin1_to_string, print_object):
13866         Assume C99 to avoid unnecessary nesting.
13867         (print_object): Prefer print_c_string to multiple printchar, or
13868         to calling strout with -1 length.  Coalesce into sprintf when
13869         this is easy.
13871 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
13873         Prefer "Bug#1234" in commit messages (Bug#20325)
13874         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
13875         as this isn't useful for Git.
13876         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
13878 2015-04-18  Glenn Morris  <rgm@gnu.org>
13880         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
13881         (Bug#19506)
13883 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
13885         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
13886         (Bug#19505)
13888 2015-04-18  Glenn Morris  <rgm@gnu.org>
13890         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
13892         * doc/emacs/misc.texi (Sorting): Small edit.
13893         (Bug#19896)
13895         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
13897 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
13899         css-mode.el: Support multi-line comment filling
13900         (Bug#20256)
13901         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
13902         comment filling.
13903         (css-adaptive-fill): New function.
13904         (css-mode): Set `adaptive-fill-function'.
13905         (scss-mode): Set `comment-continue'.
13907 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
13909         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
13911 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
13913         Minor improvements in Bulgarian input methods
13914         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
13915         Replace U+042C with U+045D, as the former character is not used in
13916         the modern Bulgarian language.
13917         (Bug#20350)
13919 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13921         Improve EUDC manual
13922         * eudc.texi (LDAP Configuration): Mention simple and SASL
13923         authentication schemes.  Add index items.  Shorten example server
13924         name.
13926 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
13928         Don't show both feature and function with the same name
13929         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
13930         Don't show both feature and function with the same name.
13932         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
13933         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
13934         Avoid returning both the variable and the function for the same
13935         minor mode.
13937 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
13939         Fix fontification of keywords clobbered by the prompt.
13940         * lisp/comint.el (comint-output-filter): Remove the uses of
13941         with-silent-modifications I introduced as part of the last change.
13942         This fixes, e.g., erratically missing highlighting when running
13943         ./configure --help; ./configure in a shell-mode buffer with
13944         compilation-shell-minor-mode turned on.
13946 2015-04-17  Glenn Morris  <rgm@gnu.org>
13948         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
13950 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
13952         * lisp/indent.el (indent-region): Don't deactivate the mark
13953         (Bug#20357)
13955 2015-04-17  Sam Steingold  <sds@gnu.org>
13957         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
13959 2015-04-16  Leo Liu  <sdl.web@gmail.com>
13961         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
13963 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
13965         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
13967 2015-04-16  Glenn Morris  <rgm@gnu.org>
13969         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
13971 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
13973         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
13974         * configure.ac (LIBJPEG): Leave it empty for MinGW.
13976 2015-04-16  Glenn Morris  <rgm@gnu.org>
13978         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
13979         to avoid rogue setting after startup.
13981 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
13983         Pre-4.6 GCC succeeds with unknown option
13984         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
13985         (Bug#20338)
13987 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
13989         '[:graph:]' now excludes whitespace, not just ' '
13990         * doc/lispref/searching.texi (Char Classes):
13991         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
13992         sans whitespace (not sans space).
13993         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
13994         not just space.
13995         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
13997 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
13999         (looking-back): Make the second arg non-optional.
14000         * lisp/subr.el (substitute-key-definition-key, special-form-p)
14001         (macrop): Drop deprecated second arg to indirect-function.
14002         (looking-back): Make the second arg non-optional.
14004         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
14005         command is actually sent to the shell.
14007 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
14009         Port jpeg configuration to Solaris 10 with Sun C
14010         * configure.ac: Check for jpeglib 6b by trying to link it, instead
14011         of relying on cpp magic that has problems in practice.  Check for
14012         both jpeglib.h and jerror.h features.  Remove special case for
14013         mingw32, which should no longer be needed (and if it were needed,
14014         should now be addressable by hotwiring emacs_cv_jpeglib).
14015         (Bug#20332)
14017 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
14019         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
14020         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
14021         Move to elisp-mode.el.
14022         (lisp-mode-variables): (Re)move elisp-specific settings.
14023         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
14024         from lisp-mode-variables.
14025         (elisp--font-lock-flush-elisp-buffers): New function, moved from
14026         lisp-mode.el.
14028         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
14029         Avoid pathological slowdown at top-level in large file.
14031 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
14033         Standardize names of ChangeLog history files
14034         Suggested by Glenn Morris in:
14035         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
14036         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
14037         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
14038         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
14039         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
14040         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
14041         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
14042         Remove.
14044         Split top-level entries into pre- and post-April 7
14045         This more clearly distingiushes pre-April-7 ChangeLog entries (which
14046         are for top-level files only) from post-April-7 entries (which are
14047         about files at all levels.  Problem reported by Glenn Morris in:
14048         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
14049         * ChangeLog.1: Move post-April-7 entries from here ...
14050         * ChangeLog.2: ... to this new file.
14051         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
14053 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
14055         Fix recent cus-start changes that added customize-rogues
14056         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
14057         vars early.
14058         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
14060 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
14062         Define cl-concatenate as an alias to seq-concatenate
14063         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
14064           code by making cl-concatenate an alias to seq-concatenate.
14066 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
14068         * src/lread.c (intern_1): Make sure we'd find the symbol we add
14069         (Bug#20334)
14070         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
14072 2015-04-15  Glenn Morris  <rgm@gnu.org>
14074         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
14076 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
14078         Clean up gnus-uu saving code slightly
14079         * gnus-uu.el (gnus-uu-save-article): Make the
14080         save-restriction/widen calls make more sense.
14082 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
14084         Make [:graph:] act like [:print:] sans space
14085         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
14086         [:graph:] so that it matches everything that [:print:] does,
14087         except for space.
14088         * doc/lispref/searching.texi (Char Classes):
14089         * etc/NEWS:
14090         * lisp/emacs-lisp/rx.el (rx):
14091         Document [:graph:] to be [:print:] sans ' '.
14092         * src/character.c, src/character.h (graphicp): New function.
14093         * src/regex.c (ISGRAPH) [emacs]: Use it.
14094         (BIT_GRAPH): New macro.
14095         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
14096         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
14097         Return BIT_GRAPH for RECC_GRAPH.
14098         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
14099         and ISPRINT if BIT_PRINT.
14101 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
14103         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
14104         Don't use call-next-method in a cl-defmethod.
14106         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
14107         (eieio--class-p): Remove, provided by cl-defstruct.
14109 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
14111         Add seq-intersection and seq-difference to the seq library
14112         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
14113         functions.
14114         * test/automated/seq-tests.el: Add tests for seq-intersection and
14115         seq-difference.
14116         * doc/lispref/sequences.texi: Add documentation for seq-intersection
14117         and seq-difference.
14119 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
14121         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
14123 2015-04-14  Sam Steingold  <sds@gnu.org>
14125         package--ensure-init-file: widen requires save-restriction
14127 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
14129         Improve the commit-msg Git hook for unibyte environments
14130         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
14131         in unibyte environments.  (Suggested by Paul Eggert
14132         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
14133         [:print:], based on UTF-8 sequences of the unprintable characters.
14135         Describe problems with cursor caused by Windows Magnifier
14136         * etc/PROBLEMS: Describe the problem with cursor shape on
14137         MS-Windows due to Windows Magnifier.
14138         (Bug#20271)
14140         Make [:print:] support non-ASCII characters correctly
14141         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
14142         (BIT_PRINT): New bit mask.
14143         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
14144         * src/character.c (printablep): New function.
14145         * src/character.h (printablep): Add prototype.
14146         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
14147         of 'print', 'alnum', and 'alphabetic'.
14148         * doc/lispref/searching.texi (Char Classes): Document the new
14149         behavior of [:print:].
14150         * etc/NEWS: Mention the new behavior of [:print:].
14152         Assign correct general-category and names to surrogates
14153         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
14154         surrogates.  This avoids assigning them the default
14155         general-category of 'Cn', i.e. unassigned codepoints.
14156         (unidata-get-name): Give surrogates synthetic names.
14158 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
14160         Assume C89 offsetof in xterm.c, xlwmenu.c
14161         * lwlib/xlwmenu.c (offset):
14162         * src/xterm.c (cvt_string_to_pixel_args):
14163         Use offsetof, not XtOffset.
14165 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
14167         Assume C89 offsetof in widget.c
14168         * src/widget.c (XtOffset): Remove; no longer needed.
14169         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
14171         Fix think-o in previous patch
14172         * src/window.c (count_windows, get_leaf_windows):
14173         Don't optimize count_windows incorrectly.
14175 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
14177         Avoid some int overflows in window.c
14178         * src/print.c (print_object):
14179         * src/window.c (sequence_number):
14180         * src/window.h (struct window.sequence_number):
14181         Don't assume window sequence number fits in int.
14182         * src/window.c (window_select_count):
14183         * src/window.h (struct window.use_time, window_select_count):
14184         Don't assume window use time fits in int.
14185         * src/window.c (Fsplit_window_internal):
14186         Don't assume user-supplied integer, or sum, fits in int.
14187         (Fset_window_configuration, count_windows, get_leaf_windows)
14188         (save_window_save, Fcurrent_window_configuration):
14189         Use ptrdiff_t for object counts.
14190         (Fset_window_configuration): Omit unused local 'n'.
14191         (count_windows): Simplify by writing in terms of get_leaf_windows.
14192         (get_leaf_windows): Don't store through FLAT if it's null.
14193         (extract_dimension): New static function.
14194         (set_window_margins, set_window_fringes, set_window_scroll_bars):
14195         Use it to avoid undefined behavior when converting user-supplied
14196         integer to 'int'.
14198 2015-04-13  Glenn Morris  <rgm@gnu.org>
14200         Minor doc copyedits
14201         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
14202         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
14204 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
14206         [Gnus] Catch the invalid-operation that idna.el will issue
14207         * lisp/gnus/gnus-art.el (gnus-use-idna):
14208         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
14209         * lisp/gnus/message.el (message-use-idna):
14210         Catch the invalid-operation that idna.el will issue.
14212 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
14214         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
14216 2015-04-13  Sam Steingold  <sds@gnu.org>
14218         package--ensure-init-file: widen before looking for "(package-initialize)"
14220 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
14222         Change diff-switches default to `-u'
14223         (Bug#20290)
14224         * doc/emacs/files.texi (Comparing Files): Document the new default
14225         value of `diff-switches'.
14226         * doc/emacs/trouble.texi (Sending Patches): Document the preference
14227         for unified diff format.  Escape the plus in the suggested `-F' regexp
14228         value.
14229         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
14231 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
14233         (gnus-group--setup-tool-bar-update): Fix last change
14234         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
14235         cursor-sensor-functions should be a list of functions.
14237 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
14239         Use gmm-called-interactively-p in Gnus
14240         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
14242 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
14244         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
14245         (Bug#20321)
14246         * lisp/cus-start.el (read-buffer-function): Don't advertize
14247         iswitchb-read-buffer any more.
14248         (iswitchb): Don't tweak this obsolete group any more.
14250 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
14252         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
14254         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
14255         Adding a string after a constructor's argument list will use
14256         that string as the constructor function docstring.  If this string
14257         is absent but the struct itself was given a docstring, use that as
14258         the constructor's docstring.
14259         Fixes (bug#17284).
14261 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
14263         Deprecate `intangible' and `point-entered' properties
14264         * lisp/emacs-lisp/cursor-sensor.el: New file.
14265         * lisp/simple.el (pre-redisplay-functions): New hook.
14266         (redisplay--pre-redisplay-functions): New function.
14267         (pre-redisplay-function): Use it.
14268         (minibuffer-avoid-prompt): Mark obsolete.
14269         (redisplay--update-region-highlight): Adapt it to work as a function on
14270         pre-redisplay-functions.
14271         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
14272         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
14273         than point-entered to make the prompt intangible.
14274         * lisp/forms.el: Move `provide' calls to the end.
14275         (forms-mode): Don't use `run-hooks' on a local var.
14276         (forms--make-format, forms--make-format-elt-using-text-properties):
14277         Use cursor-intangible rather than `intangible'.
14278         (forms-mode): Enable cursor-intangible-mode.
14279         * lisp/isearch.el (isearch-mode): Use defvar-local.
14280         (cursor-sensor-inhibit): Declare.
14281         (isearch-mode): Set cursor-sensor-inhibit.
14282         (isearch-done): Set it back.
14283         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
14284         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
14285         any more.
14286         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
14287         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
14288         Add Edebug spec.
14289         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
14290         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
14291         inhibit-point-motion-hooks any more.
14292         (ses--cell-at-pos, ses--curcell): New functions, extracted from
14293         ses-set-curcell.
14294         (ses-set-curcell): Use them.
14295         (ses-print-cell, ses-setup): Use cursor-intangible instead of
14296         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
14297         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
14298         Use ses--cell-at-pos.
14299         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
14300         extracted from ses-command-hook.  Make them work with multiple windows
14301         displaying the same buffer.
14302         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
14303         Enable cursor-intangible-mode.
14304         (ses-command-hook): Remove cell highlight and mode-line update code.
14305         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
14306         Update for new name of text-property holding the cell name.
14307         (ses-rename-cell): Don't mess with mode-line-process.
14308         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
14309         cursor-sensor-functions property instead of point-entered.
14310         (erc-insert-timestamp-right, erc-format-timestamp):
14311         Use cursor-intangible rather than `intangible'.
14312         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
14313         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
14314         cursor-sensor-mode if needed.
14315         (erc-echo-timestamp): Adapt to calling convention of
14316         cursor-sensor-functions.
14317         (erc-insert-timestamp-right): Remove unused vars `current-window' and
14318         `indent'.
14319         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
14320         (gnus-update-group-mark-positions): Remove unused `topic' var.
14321         (gnus-group-insert-group-line): Remove unused var `header'.
14322         (gnus-group--setup-tool-bar-update): New function.
14323         (gnus-group-insert-group-line): Use it.
14324         (gnus-group-update-eval-form): Declare local
14325         dynamically-bound variables.
14326         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
14327         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
14328         (gnus-group-prepare-topics, gnus-topic-update-topic)
14329         (gnus-topic-change-level, gnus-topic-catchup-articles)
14330         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
14331         Use inhibit-read-only.
14332         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
14333         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
14334         * lisp/textmodes/reftex-index.el (reftex-display-index):
14335         Use cursor-intangible-mode if available.
14336         (reftex-index-post-command-hook): Check cursor-intangible.
14337         * lisp/textmodes/reftex-toc.el (reftex-toc):
14338         Use cursor-intangible-mode if available.
14339         (reftex-toc-recenter, reftex-toc-post-command-hook):
14340         Check cursor-intangible.
14341         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
14342         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
14343         (sgml-tags-invisible): Use with-silent-modifications and
14344         inhibit-read-only.  Enable cursor-sensor-mode.
14345         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
14346         calling convention of cursor-sensor-functions.
14347         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
14348         (table-point-entered-cell-hook, table-point-left-cell-hook):
14349         Don't autoload.
14350         (table-cell-entered-state): Remove var.
14351         (table--put-cell-point-entered/left-property)
14352         (table--remove-cell-properties):
14353         Use cursor-sensor-functions rather than point-entered/left.
14354         (table--point-entered/left-cell-function): Merge
14355         table--point-entered-cell-function and table--point-left-cell-function
14356         and adjust to calling convention of cursor-sensor-functions.
14358         Update ldef-boots.el
14360         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
14362         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
14364         Collapse successive char deletions in the undo log
14365         * src/cmds.c (remove_excessive_undo_boundaries): New function,
14366         extracted from Fself_insert_command.
14367         (Fdelete_char, Fself_insert_command): Use it.
14368         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
14369         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
14371         xterm and OSC 52: Add NEWS entry, and tweak the code
14372         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
14373         top-level.
14374         (terminal-init-xterm-activate-set-selection): Set a terminal property.
14375         (xterm--set-selection): Use it instead of checking the value of
14376         `terminal-initted'.  Don't use string-bytes.
14378 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
14380         xterm.el: Implement OSC-52 functionality for setting the X selection
14381         * lisp/term/xterm.el (xterm-max-cut-length): New var.
14382         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
14383         (terminal-init-xterm, xterm--version-handler): Use them.
14385 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
14387         Remove left over code from when we used an obsolete/loaddefs.el file
14388         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
14389         we used an obsolete/loaddefs.el file.
14391         * cedet/semantic/fw.el: Use declare.
14392         * cedet/semantic/fw.el (semantic-exit-on-input)
14393         (semanticdb-without-unloaded-file-searches): Use declare.
14394         (semantic-fw-add-edebug-spec): Remove.
14396         (completion-lisp-mode-hook): Use completion-separator-chars
14397         * lisp/completion.el (completion-lisp-mode-hook):
14398         Use completion-separator-chars rather than local key binding.
14400         * src/*.c: Set deactivate_mark buffer-locally
14401         (Bug#20260)
14402         * src/insdel.c (prepare_to_modify_buffer_1):
14403         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
14404         buffer-locally.
14406 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14408         python.el: Keep symmetry on sexp navigation with parens
14409         (Bug#19954)
14410         * lisp/progmodes/python.el
14411         (python-nav--forward-sexp): Add argument skip-parens-p.
14412         (python-nav-forward-sexp, python-nav-backward-sexp)
14413         (python-nav-forward-sexp-safe)
14414         (python-nav-backward-sexp-safe): Use it.
14415         * test/automated/python-tests.el
14416         (python-nav-forward-sexp-1): Fix test.
14418 2015-04-12  João Távora  <joaotavora@gmail.com>
14420         Don't use `setq-local' in Gnus code
14421         This might break upstream builds with older Emacsen
14422         * lisp/gnus/message.el (message-mode): Use `set' and
14423         `make-local-variable' instead of `setq-local'.
14425 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
14427         Update Makefile.in's .PHONY dependencies
14428         * Makefile.in (change-history-commit, master-branch-is-current)
14429         (no-ChangeLog): Now phony.
14431         Remove configure's --with-mmdf option
14432         * configure.ac (MAIL_USE_MMDF): Remove.
14433         * etc/NEWS: Document this.
14434         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
14435         (Bug#20308)
14437         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
14438         That way, 'make install' won't think it's a man page.
14439         Reported by Ashish SHUKLA in:
14440         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
14442         Improve 'make change-history' prereq tests
14443         * Makefile.in (gen_origin): Fix to match what's in the master branch.
14444         (no-ChangeLog, master-branch-is-current): New rules.
14445         (change-history): Depend on them, to avoid similar future problems.
14446         Escape the local-variables string to pacify Emacs when editing
14447         Makefile.in.
14449 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
14451         * test/automated/package-test.el (with-package-test): Kill Packages buffer
14453         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
14454         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
14455         "Upgrade" last, and use capitalized instead of all-caps.
14457         * lisp/emacs-lisp/package.el: Completely silence async operations
14458         (package--make-autoloads-and-stuff): Silence autoloads.
14459         (package--save-selected-packages): New function, silences
14460         `customize-save-variable'.
14461         (package--user-selected-p, package-install-from-buffer)
14462         (package-delete, package-install): Use it.
14463         (package-install-from-archive)
14464         (package-menu--perform-transaction): Silence.
14465         (package-menu-execute): Feedback when operation starts.
14467         Use delay-mode-hooks when visiting the init-file
14468         * lisp/emacs-lisp/package.el (package--ensure-init-file):
14469         delay-mode-hooks
14470         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
14472         * lisp/files.el: Only message when saving if save-silently is nil
14473         (save-silently): New variable.
14474         (files--message): New function.
14475         (find-file-noselect, save-buffer, basic-save-buffer)
14476         (basic-save-buffer-2, save-some-buffers, not-modified)
14477         (append-to-file): Use them.
14479 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
14481         Support debug declarations in pcase macros
14482         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
14483         (pcase-UPAT): Use it.  Remove "`".
14484         (pcase--edebug-match-macro): New function.
14485         (pcase-defmacro): Support debug declarations.
14486         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
14487         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
14488         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
14490         pcase.el: Edebug support for `app' and vector patterns
14491         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
14492         (pcase-UPAT): Use it. Support `app' patterns.
14493         (pcase-QPAT): Support vector patterns.
14495         edebug.el: Disambiguate vector specifications
14496         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
14497         `(vector ...)' as a vector specification, not as a sublist.
14499         (gnus-summary-refer-thread): Don't clobber unread articles
14500         This fixes a bug where `A T' causes "random" articles to become marked
14501         as read.
14502         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
14503         gnus-newsgroup-unreads remains sorted.
14505         mouse-sel.el: Fix mouse-sel-get-selection-function
14506         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
14507         Use gui--last-selected-text-primary instead of no longer existing
14508         gui-last-selected-text.
14510         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
14512         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
14514 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
14516         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
14518         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
14520         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
14521         (byte-compile--interactive): New var.
14522         (byte-compile--message): New function.
14523         (byte-compile-log-1, byte-force-recompile)
14524         (byte-recompile-directory, byte-recompile-file)
14525         (byte-compile-file, compile-defun)
14526         (byte-compile-file-form-defmumble, byte-compile)
14527         (byte-compile-file-form-defalias, display-call-tree): Use it.
14529         * lisp/files.el: Don't message when nothing happened
14530         (save-some-buffers, basic-save-buffer): Before messaging to say
14531         "nothing was saved" check if (called-interactively-p 'any).
14533 2015-04-12  João Távora  <joaotavora@gmail.com>
14535         Summary: Improve sexp-based movement in message-mode
14536         Works by giving citations and smileys a different syntax.  This helps
14537         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
14538         sexp-based movement.
14539         * lisp/gnus/message.el (message--syntax-propertize): New function.
14540         (message-mode): Set syntax-related vars.
14541         (message-smileys): New variable.
14542         * test/automated/message-mode-tests.el: New file
14544 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
14546         Use bool for boolean in window.c
14547         * src/window.c: Omit unnecessary static function decls.
14548         (adjust_window_count, select_window, Fselect_window)
14549         (window_body_width, Fwindow_body_height, Fwindow_body_width)
14550         (set_window_hscroll, check_window_containing, Fwindow_at)
14551         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
14552         (unshow_buffer, replace_window, recombine_windows)
14553         (add_window_to_list, candidate_window_p, next_window)
14554         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
14555         (Fget_buffer_window, Fdelete_other_windows_internal)
14556         (replace_buffer_in_windows_safely, set_window_buffer)
14557         (Fset_window_buffer, Fforce_window_update)
14558         (temp_output_buffer_show, make_parent_window)
14559         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
14560         (resize_frame_windows, Fsplit_window_internal)
14561         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
14562         (Fresize_mini_window_internal, mark_window_cursors_off)
14563         (window_scroll, window_scroll_pixel_based)
14564         (window_scroll_line_based, scroll_command, Fscroll_other_window)
14565         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
14566         (Fmove_to_window_line, Fset_window_configuration)
14567         (delete_all_child_windows, apply_window_adjustment)
14568         (set_window_fringes, set_window_scroll_bars)
14569         (Fset_window_vscroll, foreach_window, foreach_window_1)
14570         (compare_window_configurations, Fcompare_window_configurations):
14571         Prefer 'bool', 'true', and 'false' for booleans.
14572         * src/window.h (WINDOW_MODE_LINE_LINES)
14573         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
14575 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
14577         Speed up byte-compilation and autoload generation by avoiding mode-hooks
14578         This prevents emacs-lisp-mode-hook from being run everytime an
14579         autoload file is generated, which can account for a fraction of
14580         package installation time depending on the hooks the user has
14581         configured.
14582         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
14583         * lisp/emacs-lisp/autoload.el (autoload-find-file)
14584         (autoload-find-generated-file): Use delay-mode-hooks.
14586         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
14587         (package-menu-refresh): Respect async and do new package checking.
14588         (list-packages): Use `package-menu-refresh' instead of repeating code.
14590         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
14591         (package--quick-help-keys): New variable.
14592         (package--prettify-quick-help-key): New function.
14593         (package-menu-quick-help): Use it.
14595         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
14596         (package--build-compatibility-table): require finder
14598         * test/automated/package-test.el: Fix new test
14600         * lisp/emacs-lisp/package.el: Silence async operations
14601         (package--silence): New variable.
14602         (package--message): New function.
14603         (package-import-keyring, package-refresh-contents)
14604         (package-compute-transaction, package-install, package-delete)
14605         (package-menu--perform-transaction, package-menu-execute): Use it.
14607         * test/automated/package-test.el: Test async functionality
14608         (package-test-update-archives-async): New test
14610 2015-04-11  Daiki Ueno  <ueno@gnu.org>
14612         Utilize `make-process' in epg.el
14613         * lisp/epg.el (epg-error-output): Abolish.
14614         (epg-context): New slot `error-buffer'.
14615         (epg--start): Use `make-process' and `make-pipe-process'.
14616         (epg--process-filter): Remove code separating stderr from stdout.
14617         (epg-wait-for-completion): Simplify `error-output' handling.
14618         (epg-reset): Dispose error buffer.
14620 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
14622         * .gitignore: Ignore doc temps and outputs.
14624         Port commit-msg to MSYS Bash+Gawk
14625         See Eli Zaretskii in:
14626         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
14627         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
14628         (cent_sign, print_at_sign, at_sign): Revert previous change.
14629         (print_at_sign): Prepend "BEGIN".
14630         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
14632         Port commit-msg to broken MS-Windows shell
14633         * build-aux/git-hooks/commit-msg (cent_sign):
14634         Just use UTF-8 here rather than ASCII + printf, as the latter fails
14635         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
14636         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
14638 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
14640         Support GnuTLS v3.4 and later on MS-Windows
14641         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
14642         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
14643         GnuTLS DLL to load according to value of libgnutls-version.
14644         (Bug#20294)
14646 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
14648         Minor quoting etc. fixes to misc manuals
14649         Fix some minor quoting and spacing issues.  Distinguish more
14650         clearly among grave accent and apostrophe (which are ASCII) and
14651         single quote (which is not).  Prefer the standard terms
14652         "apostrophe" and "grave accent" to alternative names that can be
14653         confusing.  Use apostrophes to single-quote ASCII text.
14654         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
14655         rather than approximating it in ASCII with grave accent.
14657 2015-04-11  Daiki Ueno  <ueno@gnu.org>
14659         Respect more keyword args in `make-process'
14660         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
14661         keywords as documented.
14663 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
14665         Extract ChangeLog entries when committing a directory
14666         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
14667         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
14668         Add a FIXME comment.
14669         (log-edit-changelog-entries): Extract from
14670         `log-edit-changelog-entries', handle FILE being a directory
14671         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
14673 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
14675         Fix problems found by --enable-gcc-warnings
14676         * src/process.c (create_process, Fmake_pipe_process)
14677         (Fmake_network_process): Omit unused locals.
14679         Fix commit-msg to handle scissors lines
14680         * build-aux/git-hooks/commit-msg:
14681         Ignore every line after a scissors line, such as a line generated
14682         by 'git commit -v'.  Problem reported by Johan Bockgård in:
14683         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
14685         port commit-msg to Gawk 3.0.4 (1999)
14686         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
14687         (print_at_sign, at_sign): New vars.  Use them to avoid problems
14688         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
14689         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
14691         Have commit-msg report commit failure
14692         * build-aux/git-hooks/commit-msg: If the commit is aborted,
14693         say so.  Simplify by doing this at the end.  Problem reported
14694         by Eli Zaretskii in:
14695         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
14697 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
14699         Clean up LDAP Configuration section of EUDC manual
14700         * doc/misc/eudc.texi: Combine indices.
14701         (LDAP Configuration): Use command markup.  Add index entries.
14702         Change formatting.  Wrap long lines.  Add noindent markup.
14704 2015-04-10  Daiki Ueno  <ueno@gnu.org>
14706         Add facility to collect stderr of async subprocess
14707         * src/w32.h (register_aux_fd): New function declaration.
14708         * src/w32.c (register_aux_fd): New function.
14709         * src/process.h (struct Lisp_Process): New member stderrproc.
14710         * src/process.c (PIPECONN_P): New macro.
14711         (PIPECONN1_P): New macro.
14712         (Fdelete_process, Fprocess_status, Fset_process_buffer)
14713         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
14714         (Fcontinue_process): Handle pipe process specially.
14715         (create_process): Respect p->stderrproc.
14716         (Fmake_pipe_process): New function.
14717         (Fmake_process): Add new keyword argument :stderr.
14718         (wait_reading_process_output): Specially handle a pipe process when
14719         it gets an EOF.
14720         (syms_of_process): Register Qpipe and Smake_pipe_process.
14721         * doc/lispref/processes.texi (Asynchronous Processes): Document
14722         `make-pipe-process' and `:stderr' keyword of `make-process'.
14723         * lisp/subr.el (start-process): Suggest to use `make-process' handle
14724         standard error separately.
14725         * test/automated/process-tests.el (process-test-stderr-buffer)
14726         (process-test-stderr-filter): New tests.
14727         * etc/NEWS: Mention new process type `pipe' and its usage with the
14728         `:stderr' keyword of `make-process'.
14730 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
14732         Minor quoting etc. fixes to lispref manual
14733         * doc/lispref/tips.texi (Documentation Tips):
14734         Distinguish more clearly among grave accent, apostrophe,
14735         and single quote.
14736         * doc/lispref/README, doc/lispref/buffers.texi:
14737         * doc/lispref/commands.texi, doc/lispref/control.texi:
14738         * doc/lispref/customize.texi, doc/lispref/display.texi:
14739         * doc/lispref/elisp.texi, doc/lispref/files.texi:
14740         * doc/lispref/frames.texi, doc/lispref/hash.texi:
14741         * doc/lispref/help.texi, doc/lispref/internals.texi:
14742         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
14743         * doc/lispref/markers.texi, doc/lispref/modes.texi:
14744         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
14745         * doc/lispref/os.texi, doc/lispref/positions.texi:
14746         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
14747         * doc/lispref/text.texi, doc/lispref/tips.texi:
14748         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
14749         Use American-style double quoting in ordinary text,
14750         and quote 'like this' when single-quoting in ASCII text.
14751         Also, fix some minor spacing issues.
14753 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
14755         Handle symlinked test directory in tramp-tests.el
14756         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
14757         (tramp--test-check-files): Use `file-truename' for directories.
14759 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
14761         Fix 'recenter' when visual-line-mode is turned on
14762         * src/window.c (Frecenter): Use the same code for GUI and TTY
14763         frames alike; use vmotion only for "initial" frames.  This is
14764         because vmotion doesn't support visual-line-mode.  Rewrite the
14765         'iarg >= 0' case to use move_it_* functions instead of using
14766         vmotion, for the same reason.  Fix the clipping of the argument
14767         value to support scroll-margin in all cases and avoid unwarranted
14768         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
14769         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
14770         which see.
14772 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14774         * abbrev.el (define-abbrev-table): Refine last change.
14776         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
14777         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
14778         use of c[ad]+r", so as to keep the "cl-" prefix on all
14779         cl-lib definitions.
14781         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
14783         * lisp/cedet/semantic: Remove some dead code
14784         * lisp/cedet/semantic/util-modes.el
14785         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
14786         any more.
14787         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
14788         not supported any more.
14789         (semantic-safe): Use `declare'.
14790         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
14791         (semantic-tag-intangible-p): Remove unused functions.
14792         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
14793         Remove unused function.
14795         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
14796         (gnus-article-hide-text, gnus-article-unhide-text)
14797         (gnus-article-unhide-text-type): Remove special handling of
14798         `intangible' since that property is not used any more.
14799         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
14801 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
14803         Use the VC root in `log-edit-listfun'
14804         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
14805         `log-edit-listfun'.
14807 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
14809         Fix description of Unix time, mention new function.
14810         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
14811         Unix time.
14812         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
14813         (Basic Operations on Units): Mention `calc-convert-exact-units'.
14815 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
14817         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
14819 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
14821         (log-edit-insert-changelog-entries): Don't add newline after the last entry
14822         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
14823         Don't add newline after the last entry.
14825 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
14827         css-mode.el: Add "not" pseudo-class
14828         (Bug#20267)
14829         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
14830         list of CSS pseudo-classes.
14832 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14834         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
14836 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
14838         Stop messing with the EMACS env var
14839         * misc.texi (Interactive Shell): Remove description of EMACS env var.
14841 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14843         Adapt 'make change-history' to coding cookie
14844         * Makefile.in (change-history): Adjust to change of format of
14845         ChangeLog file, which now has a coding cookie before an indented
14846         copyright notice.
14848 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14850         Adapt 'make change-history' to coding cookie
14851         * Makefile.in (change-history): Adjust to change of format of
14852         ChangeLog file, which now has a coding cookie before an indented
14853         copyright notice.
14855         gitlog-to-changelog coding cookie and mv -i
14856         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
14857         for copyright notice prototype, so that we get a proper "coding:"
14858         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
14859         existing ChangeLog.  Problems reported by Eli Zaretskii in:
14860         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
14862         Merge from gnulib
14863         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
14864         2015-04-09 gitlog-to-changelog: port to MS-Windows
14866 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
14868         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
14869         (Bug#20212)
14871 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14873         Stop messing with the EMACS env var
14874         (Bug#20202)
14875         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
14876         * lisp/comint.el (comint-exec-1):
14877         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
14878         * lisp/progmodes/compile.el (compilation-start): Same and bring
14879         INSIDE_EMACS's format in line with other users.
14881         css-mode.el (css-smie-rules): Fix indentation after complex selectors
14882         (Bug#20282)
14883         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
14884         inner structure of selectors.
14886 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14888         python.el: Indent docstring lines to base-indent
14889         (Bug#19595)
14890         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
14891         an initial patch.
14892         * lisp/progmodes/python.el
14893         (python-indent-context): Add :inside-docstring context.
14894         (python-indent--calculate-indentation): Handle :inside-docstring.
14895         (python-indent-region): Re-indent docstrings.
14896         * test/automated/python-tests.el (python-indent-region-5)
14897         (python-indent-inside-string-2): Fix tests.
14899         python.el: Increase native completion robustness
14900         (Bug#19755)
14901         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
14902         this and providing useful ideas.
14903         * lisp/progmodes/python.el
14904         (python-shell-completion-native-output-timeout): Increase value.
14905         (python-shell-completion-native-try-output-timeout): New var.
14906         (python-shell-completion-native-try): Use it.
14907         (python-shell-completion-native-setup): New readline setup avoids
14908         polluting current context, ensures output when no-completions are
14909         available and includes output end marker.
14910         (python-shell-completion-native-get-completions): Trigger with one
14911         tab only.  Call accept-process-output until output end is found or
14912         python-shell-completion-native-output-timeout is exceeded.
14914 2015-04-08  Samer Masterson  <samer@samertm.com>
14916         * lisp/eshell: Make backslash a no-op in front of normal chars
14917         (Bug#8531)
14918         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
14919         (eshell-parse-backslash): Return escaped character after backslash
14920         if it is special.  Otherwise, if the backslash is not in a quoted
14921         string, ignore the backslash and return the character after; if
14922         the backslash is in a quoted string, return the backslash and the
14923         character after.
14924         * test/automated/eshell.el (eshell-test/escape-nonspecial)
14925         (eshell-test/escape-nonspecial-unicode)
14926         (eshell-test/escape-nonspecial-quoted)
14927         (eshell-test/escape-special-quoted): Add tests for new
14928         `eshell-parse-backslash' behavior.
14930 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
14932         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
14933         after the file name.
14934         (Bug#20276)
14936 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14938         Minor quoting etc. fixes to Emacs manual
14939         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
14940         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
14941         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
14942         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
14943         * doc/emacs/indent.texi, doc/emacs/macos.texi:
14944         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
14945         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
14946         * doc/emacs/search.texi, doc/emacs/trouble.texi:
14947         * doc/emacs/vc1-xtra.texi:
14948         Use American-style double quoting in ordinary text,
14949         and quote 'like this' when single-quoting in ASCII text.
14950         Also, fix some minor spacing issues.
14952         Minor quoting etc. fixes to elisp intro
14953         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
14954         American-style double quoting in ordinary text.  In ASCII text,
14955         consistently quote 'like this' instead of `like this', unless
14956         Emacs requires the latter.
14958 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
14960         * CONTRIBUTE: Mention log-edit-insert-changelog.
14962         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
14964 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14966         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
14968 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
14970         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
14971         (Bug#20270)
14972         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
14973         Fix inheritance of initargs.
14975 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
14977         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
14978         while dowloading information.
14980         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
14981         (package--ensure-init-file): Check file contents before visiting.
14982         (package-initialize): Call it.
14983         (package-install-from-buffer, package-install): Don't call it.
14985 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
14987         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
14988         (Bug#17517)
14990 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
14992         Fix nasty scoping bug in tramp-cache.el
14993         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
14995 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
14997         Add notice to visual commands section
14998         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
14999         such as git call less with its -F option which omits pagination if
15000         the contents is less than one page long.  This interferes with
15001         eshell's visual (sub-)commands.
15003 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
15005         ffap: Support environment variable expansion in file names
15006         (Bug#19839)
15007         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
15008         environment variable expansion in file names.
15010 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
15012         Prefer double-quote to accent-grave in man pages
15014 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
15016         (Bug#20257)
15017         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
15019 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
15021         Update etc/PROBLEMS.
15022         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
15023         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
15024         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
15025         respectively); other minor updates and tweaks.  (Bug#20011)
15027 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
15029         Add doc strings for some Isearch state vars
15030         * lisp/misearch.el (multi-isearch-buffer-list)
15031         (multi-isearch-file-list): Add doc strings.
15032         (Bug#20232)
15034 2015-04-07  Alan Mackenzie  <acm@muc.de>
15036         Always mark "<" and ">" in #include directives with text properties.
15037         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
15038         matcher" with an invocation of c-make-font-lock-search-function to allow
15039         fontification when there's no trailing space on an "#include <..>" line.
15041 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
15043         Generate a ChangeLog file from commit logs
15044         * .gitignore: Add 'ChangeLog'.
15045         * build-aux/gitlog-to-changelog: New file, from Gnulib.
15046         * build-aux/gitlog-to-emacslog: New file.
15047         * CONTRIBUTE: Document the revised workflow.
15048         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
15049         instead of just special cases.
15050         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
15051         (ChangeLog, unchanged-history-files, change-history)
15052         (change-history-commit): New rules.
15053         * admin/admin.el (make-manuals-dist--1):
15054         Don't worry about doc/ChangeLog.
15055         * admin/authors.el: Add a FIXME.
15056         * admin/make-tarball.txt:
15057         * lisp/calendar/icalendar.el:
15058         * lisp/gnus/deuglify.el:
15059         * lisp/obsolete/gulp.el:
15060         * lwlib/README:
15061         Adjust to renamed ChangeLog history files.
15062         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
15063         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
15064         Remove obsolete discussion of merging ChangeLog files.
15065         New section "Maintaining ChangeLog history".
15066         * build-aux/git-hooks/pre-commit:
15067         Reject attempts to commit files named 'ChangeLog'.
15068         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
15069         * make-dist: Make and distribute top-level ChangeLog if there's a
15070         .git directory.  Distribute the new ChangeLog history files
15071         instead of scattered ChangeLog files.  Distribute the new files
15072         gitlog-to-changelog and gitlog-to-emacslog.
15073         (Bug#19113)
15075         Rename ChangeLogs for gitlog-to-changelog
15076         This patch was implemented via the following shell commands:
15077         find * -name ChangeLog |
15078         sed 's,.*,git mv & &.1,
15079         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
15080         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
15081         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
15082         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
15083         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
15084         sh
15085         git commit -am"[this commit message]"
15087 This file records repository revisions from
15088 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
15089 commit ce402dd77fe39c3a6d968e23d7a4a20f2b04ccf0 (inclusive).
15090 See ChangeLog.1 for earlier changes.
15092 ;; Local Variables:
15093 ;; coding: utf-8
15094 ;; End:
15096   Copyright (C) 2015 Free Software Foundation, Inc.
15098   This file is part of GNU Emacs.
15100   GNU Emacs is free software: you can redistribute it and/or modify
15101   it under the terms of the GNU General Public License as published by
15102   the Free Software Foundation, either version 3 of the License, or
15103   (at your option) any later version.
15105   GNU Emacs is distributed in the hope that it will be useful,
15106   but WITHOUT ANY WARRANTY; without even the implied warranty of
15107   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15108   GNU General Public License for more details.
15110   You should have received a copy of the GNU General Public License
15111   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.