Fix problems caught with --enable-gcc-warnings
[emacs.git] / ChangeLog.2
blob94c850884b582815ccbb5bf7fb5e7d4645cd8f3b
1 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
2             Michael Heerdegen  <michael_heerdegen@web.de>
4         shr: fix too long lines in rendered buffers (Bug#21012)
6         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
7         Correct calculation of available width.
8         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
9         is nil.
11 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
13         Restore blank line before next section, erroneously erased in my previous commit
15         * 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
17 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
19         Support MSW filename style for ant compilation error regexp
21         * etc/compilation.txt (symbol ant):
22         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Support MSW filename style
24 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
26         * nt/INSTALL: Minor spelling and quote fixes.
28         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
30 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
32         Maintain ordering of JSON object keys by default
34         * lisp/json.el (json-object-type): Mention order handling in doc-string.
35         (json--plist-reverse): New utility function.
36         (json-read-object): Maintain ordering for alists and plists.
37         (json-pretty-print): Ensure that ordering is maintained.
39         * test/automated/json-tests.el (test-json-plist-reverse): New test for
40         `json--plist-reverse'.
41         (json-read-simple-alist): Update test to accommodate for changes in
42         `json-read-object'.
44         * etc/NEWS: Document the new behavior of the pretty printing functions.
46 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
48                 * src/coding.c (complement_process_encoding_system): Revert last
49                 change.
51 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
53         Add entry for Ulf Jasper.
55 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
57         Doc fix for `defmacro'
59         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
61 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
63         More validatation of coding systems
65         * src/fileio.c (Finsert_file_contents): Remove redundant
66         coding-system check.
67         (choose_write_coding_system): Likewise.
68         * src/coding.c (complement_process_encoding_system): Check
69         argument for valid coding system.
71 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
73         Avoid crashes in coding_inherit_eol_type
75         * src/coding.c (coding_inherit_eol_type): Check the validity of
76         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
77         (Bug#21602)
79 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
81         More validatation of coding system in 'write-region'
83         * src/coding.c (choose_write_coding_system): More validation of
84         coding-system from various sources.  Suggested by Andreas Schwab
85         <schwab@linux-m68k.org>.  (Bug#21602)
87 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
89         Avoid crashes due to invalid coding-system
91         * src/fileio.c (choose_write_coding_system)
92         (Finsert_file_contents): Check validity of coding-system-for-write
93         and coding-system-for-read bound by the caller.  (Bug#21602)
95 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
97         Adapt to new prettify-symbols-unprettify-at-point default
99         * etc/NEWS: Mention that unprettication of symbol at point is off by
100         default.
102 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
104         Revert my two recent process.c changes
106         Revert "Improve last commit to process.c" and "Remove callback-handled
107         channels from Available set" because they did not fix bug#21313.
109         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
110         27f871907cc24f33a7d12ac3a4ab71a88f0bc554..
112 2015-10-02  Markus Triska  <triska@metalevel.at>
114         * prolog.el: Update and extend operator table
116         (prolog-smie-grammar): Add multifile, public etc.
118 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120         Allow autogen even when Git is not installed
122         * autogen.sh: Test ‘git status’ before trying to use Git.
124 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
126         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes
128         Adjust lto/lfrom when we have uncommitted changes.
130 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
132         Fix problems found by clang 3.5.0
134         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
135         * src/font.c (font_parse_family_registry):
136         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
138 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
140         * nt/INSTALL: Update instructions for running autogen.sh
142         * nt/INSTALL: Point to ezwinports for libXpm binaries.
144 2015-10-02  Daniel Colascione  <dancol@dancol.org>
146         Fix winner in cl-lib not loaded case
148         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
149         without requiring CL
151 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
153         Fix a few problems with directed quotes
155         This is in response to a problem report by Kaushal Modi in:
156         http://bugs.gnu.org/21588#25
157         * lisp/cedet/mode-local.el (describe-mode-local-overload):
158         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
159         * lisp/info-xref.el (info-xref-check-all-custom):
160         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
161         Prefer directed to undirected single quotes in diagnostics.
163 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
165         Revert "Attempt to fix slow redisplay caused by last changes"
167         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
168         (try_cursor_movement): Don't relax requirements for redisplay
169         optimizations for the selected frame.  (Bug#21597)
171         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
173 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
175         Fix slow redisplay when daemon frame exists
177         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
178         when looking for frames that need to be redisplayed.  (Bug#21597)
180 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
182         Attempt to fix slow redisplay caused by last changes
184         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
185         (try_cursor_movement): Relax requirements for redisplay
186         optimizations for the selected frame.  (Bug#21597)
188 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
190         Improve doc strings in dired.c
192         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
193         Improve doc string.
195 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
197         Set default base-size in minibuffer-completion-help
199         * lisp/minibuffer.el (minibuffer-completion-help): Set default base-size,
200         in case completion table does not set it.
202 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
204         Fix GUD display of GDB output with non-ASCII text
206         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
207         (gdb-mi-decode): New function.
208         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
209         decode octal escapes in GDB output.  (Bug#21572)
211 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
213         * nt/INSTALL: Document where to find XPM support files
215 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
217         Un- and re-prettification are not exclusive
219         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
220         Re-apply prettification to previous symbol also when unprettifying next
221         one.
223 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
225         Don't unprettify symbol at point by default
227         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
228         Default to disabled (nil).
230 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
232         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
234         Support unprettifying when point is after a symbol.
236         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'
238 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
240         Avoid assertion violations in push_prefix_prop
242         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
243         a line that has a line-prefix defined starts with an image.  (Bug#21428)
245 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
247         Disable some display optimizations when frames need redisplay
249         These optimizations were previously disabled by the
250         windows_or_buffers_changed flag, which now is not set
251         when only some frames need to be redrawn.
252         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
253         'redisplay' flag is set.
254         (try_window_reusing_current_matrix, try_window_id)
255         (try_cursor_movement): Disable these optimizations when the
256         frame's 'redisplay' flag is set.
258 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
260         Don't modify buffer by unprettification
262         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
263         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
264         modify buffer when setting/removing custom prettify-symbols-start/end
265         text properties.  Add them to font-lock-extra-managed-props, too.
267 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
269         Try to avoid redisplaying all frames when creating a new one
271         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
272         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
273         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
274         * src/frame.c (x_set_screen_gamma): Set the specific frame's
275         `redisplay' bit rather than windows_or_buffers_changed.
277         * src/window.c (apply_window_adjustment): Remove redundant setting of
278         windows_or_buffers_changed.
280         * src/xdisp.c (redisplay_internal): Set the specific frame's
281         `redisplay' bit rather than update_mode_lines in response to
282         cursor_type_changed.
283         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
284         (AINC): Adjust accordingly.
286 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
288         Implement unprettification of symbol at point
290         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
291         symbol at point.
292         (prettify-symbols--current-symbol-bounds): New variable.
293         (prettify-symbols--post-command-hook): New function.
294         (prettify-symbols-unprettify-at-point): New defcustom.
295         (prettify-symbols-mode): Use it.
296         (prettify-symbols--compose-symbol): Use them.
298 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
300         * src/macfont.m (mac_font_descriptor_supports_languages): Regard "zh" as synonym of "zh-Hans".
302 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
304         Work around crash when displaying etc/HELLO on OS X 10.11
306         * src/macfont.m (mac_font_get_weight)
307         (mac_font_descriptor_get_adjusted_weight): New functions.
308         (macfont_store_descriptor_attributes): Adjust weight.
310 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
312         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
314 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
316         * lisp/arc-mode.el (archive-rar-summarize): Better alignment of the columns.
318 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
320         Use unar and lsar to handle RAR archives in arc-mode
322         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
323         on unar and lsar instead of unrar-free for RAR archives (Bug#17663).
325 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
327         Clarify :create in auth-source's docs
329         * auth-source.el (auth-source-search): Clarify :create's meaning.
331 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
333         Avoid empty -path arguments in rgrep
335         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
336         the list produced according to grep-find-ignored-directories,
337         before passing it to Find/Grep invocation.  (Bug#21548)
339 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
341         Clarify documentation of pos-visible-in-window-p
343         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
344         t for POS.  See
345         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
346         for the original report.
348         * doc/lispref/windows.texi (Window Start and End): Clarify the
349         meaning of t for the POSITION argument of pos-visible-in-window-p.
351 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
353         * lisp/progmodes/prolog.el: Fix various indentation cases
355         (prolog-operator-chars): New const (add \\).
356         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
357         (prolog-smie-rules): Add rules according to bug#21526.
359 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
361         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent
363         (sh-indent-after-continuation): Add new value `always' (bug#17620)
364         (sh-smie-sh-rules): Remove old handling of continued lines.
365         (sh-smie--indent-continuation): New function.
366         (sh-set-shell): Use it.
368 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
370         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun
372         Remove redundant :group keyword args.
373         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
374         Remove variables.
375         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
376         turn them into compile-time variables.
377         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
378         Add rules for break, continue, return, global, and persistent.
379         Refine the rule for "until".
380         (octave-smie--funcall-p, octave-smie--end-index-p)
381         (octave-smie--in-parens-p): New functions.
382         (octave-smie-backward-token, octave-smie-forward-token): Use them to
383         distinguish the "enumeration" function and the "end" index from
384         their corresponding keywords.
385         (octave--block-offset-keywords): New constant.
386         (octave-smie-rules): Use it.  Adjust rules for new global/persistent parsing.
387         (octave-reserved-words): Redefine using octave-smie-grammar.
388         (octave-font-lock-keywords): Use octave-smie--funcall-p and
389         octave-smie--end-index-p.
391 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
393         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*
395 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
397         nt/INSTALL: Remove references to GTK site
399         That site no longer offers Windows downloads.
401 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
403         * nt/INSTALL: Add instructions for installing Git.
405 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
407         * net/shr.el (shr-colorize-region): Allow 88-color tty to use colors.
408         Suggested by Eli Zaretskii.
410 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
412         * net/shr.el (shr-colorize-region):
413         Don't do it on a system not supporting 256 above colors (bug#21557).
415 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
417         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
419         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
421 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
423         Add documentation for seq.el
425         * doc/lispref/sequences.texi: Add documentation regarding extending
426         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
427         seq-do and seq-map.
429 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
431         Better documentation for seq-some
433         * doc/lispref/sequences.texi:
434         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
435         guarantee that the returned value is the first non-nil value that
436         resulted from applying the predicate.
438 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
440         * lisp/arc-mode.el: Sharp-quote function arguments.
442 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
444         Avoid redisplay error in ediff-regions-wordwise
446         * lisp/vc/ediff-util.el
447         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
448         set before activating it.  (Bug#21567)
450 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
452         Another attempt to fix crashes due to prematurely freed faces
454         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
455         faces for as long as we might have desired matrices that reference
456         those faces.  (Bug#21428)
458 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
460         Add auctex development list email address
462 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
464         Add admin/MAINTAINERS entries
466         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
468 2015-09-28  (tiny change) Arash Esbati  <esbati@gmx.de>  (tiny change)
470         Improve wrapfig package support and caption parsing
472         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin): Correct
473         description string and add wraptable environment.
474         (reftex-default-context-regexps): Improve caption regexp.
476 2015-09-28  Anders Lindgren  <andlind@gmail.com>
478         Respect value of frame_resize_pixelwise when handling fullscreen state.
480         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
481         setting size increments.
483 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
485         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
487 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
489         Add prettify-symbols-alist for js-mode
491         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
492         (js-mode): Use it.
494 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
496         * nt/subdirs.el: File deleted (no longer used).
498 2015-09-26  Alan Mackenzie  <acm@muc.de>
500         Fix follow-scroll-up/down, making them replacements for scroll-up/down.
502         1. Allow point to move between follow windows in scroll operations.
503         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
504         when EOB was isolated in the last follow window.
506         lisp/follow.el (follow-fixed-window): New variable.
507         (follow-get-scrolled-point): New function.
508         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
509         Reformulate
510         the code.  Put `scroll-command' properties on the functions.  Correct
511         minor errors in ...-down's doc string and code.
512         (follow-calc-win-end): Amend incomplete doc string.  Use
513         `pos-visible-in-window-p' to check whether EOB is in the window.
514         (follow-estimate-first-window-start): Correct an off-by-1 error.
515         (follow-adjust-window): Add handling for explicit scrolling operations.
517 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
519         * admin/MAINTAINERS: Add self, plus list some more files sans maintaners.
521 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
523         New DWIM commands for changing letter-case
525         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
526         New functions.  (Bug#21501)
528 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
530         * etc/PROBLEMS: Document problems with pasting on MS-Windows
532 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
534         Make face realization be more frame-specific
536         * src/frame.h (struct f): New flag face_change.
537         * src/xfaces.c (Finternal_make_lisp_face)
538         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
539         (update_face_from_frame_parameter): Set the face_change flag only
540         for the frame whose faces are affected.
541         * src/xdisp.c (init_iterator): If a frame's face_change flag is
542         set, free faces only on that frame.
543         (redisplay_internal): Disable "display optimization 1" if the
544         frame's face_change flag is set.
545         (redisplay_window): Don't allow skipping a window's redisplay if
546         its frame's face_change flag is set.
547         * src/frame.c (x_set_screen_gamma): Instead of calling
548         Fclear_face_cache, call clear_face_cache and set
549         windows_or_buffers_changed to a non-zero value.  This avoids
550         setting the global face_change flag that triggers face realization
551         on all frames and thorough redisplay of all of them.
553         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
554         clear face cache if the selected frame is a GUI frame.
556 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
558         Remove font-latex specific check
560         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Use
561         syntax-ppss data to identify verbatim contents.
563 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
565         Fix false negatives in tex--prettify-symbols-compose-p.
567         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Fix some
568         false negatives.
570 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
572         Reorder Windows version in Emacs manifests
574         * nt/emacs-x64.manifest:
575         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
576         highest.
578 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
580         Update Emacs manifest files for Windows 10
582         * nt/emacs-x86.manifest:
583         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
585 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
587         Avoid non-ASCII decoding errors in C src files
589         * src/nsterm.m:
590         * src/lisp.h:
591         * src/editfns.c:
592         * src/doprnt.c: Add 'coding' cookies -- these files include
593         Unicode characters and should be decoded as UTF-8.
595 2015-09-25  Alan Mackenzie  <acm@muc.de>
597         Resurrect edebug-set-initial-mode, repurposing it to set the global mode.
599         lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
600         amend to match current modes and functions.
601         (edebug-set-initial-mode): Uncomment and change from setting a defun's
602         `edebug-initial-mode''s property to setting the variable
603         `edebug-initial-mode'.
604         (top level): Create new binding C-x C-a C-m for
605         `edebug-set-initial-mode'.
607         doc/lispref/edebug.texi (Edebug Execution Modes): document
608         `edebug-set-initial-mode' and its new key binding.
609         (Edebug Options): Mention the new command in the pertinent place.
611         etc/NEWS: Write entry for this change.
613 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
615         Avoid non-ASCII decoding errors in Texinfo files
617         * doc/misc/tramp.texi:
618         * doc/lispref/strings.texi:
619         * doc/lispref/positions.texi:
620         * doc/lispref/help.texi:
621         * doc/lispref/functions.texi:
622         * doc/lispintro/emacs-lisp-intro.texi:
623         * doc/emacs/text.texi:
624         * doc/emacs/modes.texi:
625         * doc/emacs/mini.texi:
626         * doc/emacs/display.texi:
627         * doc/emacs/custom.texi:
628         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
629         Unicode characters and should be decoded as UTF-8.
630         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
631         apostrophe unnecessarily.
633 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
635         Merge from gnulib
637         This incorporates:
638         2015-09-25 c-ctype: rewrite to use inline functions
639         2015-09-24 maint: add coding cookies to non-ASCII sources
640         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
641         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
642         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
643         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
644         * lib/set-permissions.c:
645         Copy from gnulib.
647 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
649         Update publicsuffix.txt from upstream
651         * etc/publicsuffix.txt: Update from
652         https://publicsuffix.org/list/effective_tld_names.dat
653         dated 2015-09-24 17:29:21 UTC.
655 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
657         Prevent timers from messing up TTY menus
659         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
660         the TTY menu is open.  (Bug#21530)
662 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
664         No need to mention K&R C in c-mode intro
666 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
668         Fix recent bootstrap problems
670         * src/syntax.c (parse_sexp_propertize): Fix last fix.
671         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
672         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
674 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
676         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
678 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
680         Properly quote nested xml comments (Bug#6267) (Bug#20001)
682         * nxml-mode.el (nxml-comment-quote-nested): New function
683         (nxml-mode): Set comment-quote-nested-function
685 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
687         Allow major-modes full control over quoting nested comments
689         * newcomment.el (comment-quote-nested-function): New variable.
690         (comment-quote-nested-default): New function.
691         (comment-quote-nested): Use `comment-quote-nested-function'.
693 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
695         Prefer CALLN in a few more places
697         * src/macfont.m (macfont_set_family_cache):
698         * src/nsterm.m (append2):
699         * src/xterm.c (x_cr_export_frames):
700         Prefer CALLN to allocating the arg arrays by hand.
702 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
704         Adapt file-notify-test02-events test case
706         * test/automated/file-notify-tests.el (file-notify-test02-events):
707         Create a new watch for every test.
709 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
711         Continue gfilenotify.c implementation of missing parts
713         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
714         `gfile-add-watch' call.
715         (file-notify-rm-watch): Modify `file-notify-descriptors' only
716         after calling the low level functions.
718         * src/gfilenotify.c (dir_monitor_callback): Check, whether
719         event_type is expected.
720         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
721         (Fgfile_rm_watch): Fix typo.
722         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
724 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
726         * src/syntax.c: Handle spurious e_property_truncated flag
728         * src/syntax.c (parse_sexp_propertize): Handle spurious
729         e_property_truncated flag.
730         (update_syntax_table_forward): Remove invalid assertion.
732 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
734         Support ':relative-width' space display spec on text-mode terminals
736         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
737         space display spec on text-mode terminals, by calling
738         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the HAVE_WINDOW_SYSTEM
739         guards from the supporting code, as well as the test for a GUI frame.
741 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
743         Move let-when-compile to lisp-mode.el
745         This fixes the bootstrapping problem of `let-when-compile' using
746         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
748 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
750         Do not include authorization header in an HTTP redirect
752         * lisp/url/url-http.el (url-http-parse-headers): Do not
753         automatically include Authorization header in redirect.
754         (Bug#21350)
756 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
758         Clarify documentation of ':relative-width'
760         * doc/lispref/display.texi (Specified Space): Document that
761         ':relative-width' is only supported on GUI frames.
763 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
765         Fix 'current-column' in presence of :relative-width
767         * src/indent.c (check_display_width): Support ':relative-width'
768         in a display spec that specifies a stretch glyph.  (Bug#21533)
770 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
772         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
774         ... to conform better to CONTRIBUTE guidelines.
776 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
778         * prolog.el: Fix indentation of empty line
780         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
781         `empty-line-token' element.
782         (smie-indent-empty-line): New function.
783         (smie-indent-functions): Add it.
785         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro behavior
786         and use the new `empty-line-token' element (bug#21526).
787         (prolog-mode-variables): Fix comment-start-skip setting to match
788         comment-start.
790         * test/indent/prolog.prolog: Add nested indentation tests.
792         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
793         comment-start-skip not to misuse submatch 1.
795 2015-09-22  Alan Mackenzie  <acm@muc.de>
797         Make description of `edebug-initial-mode' user friendly.
799         Fixes debbugs#21365.
801         dec/lispref/edebug.texi (Edebug Execution Modes): Change the
802         desscription
803         of `edebug-initial-mode' from that of its implementation to that of its
804         visual effect and use.  Move the paragraph higher up.
806 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
808         lisp/progmodes/gud.el (gud-format-command): Fix last commit
810         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
811         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
813 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
815         Improve last commit to process.c
817 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
819         Implement gfile-valid-p
821         * lisp/filenotify.el (file-notify-callback): Fix typo.
822         (gfile-valid-p): Remove defalias.
824         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
825         the file or directory to be watched is deleted.
826         (Fgfile_add_watch): Make watch_object a triple.
827         (Fgfile_rm_watch): Check, whether watch is cancelled already.
828         (Fgfile_valid_p): New defun.
829         (syms_of_gfilenotify): Declare Sgfile_valid_p.
831 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
833         Remove callback-handled channels from Available set
835         * src/process.c (wait_reading_process_output): Remove channel from
836         Available set if it is handled by a callback, e.g., dbus or
837         inotify (bug#21313).
839 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
841         Use lunate epsilon for TeX \epsilon
843         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add
844         \varepsilon using GREEK SMALL LETTER EPSILON, and change \epsilon to use
845         GREEK LUNATE EPSILON SYMBOL
847 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
849         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
851         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
852         rather than outermost paren (bug#21526).
854 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
856         Improve git diff hunk headers for .el, .texi
858         Problem reported by Alan Mackenzie in:
859         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
860         * .gitattributes (*.el, *.texi): New patterns.
861         * autogen.sh: Configure diff.elisp.xfuncname and
862         diff.texinfo.xfuncname if using Git.
864 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
866         Don't rely on defaults in decoding UTF-8 encoded Lisp files
868         * lisp/replace.el:
869         * lisp/textmodes/rst.el:
870         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
872 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
874         Clarify or replace a few \u escapes.
876         * doc/lispref/nonascii.texi (Character Properties)
877         More-detailed commentary for \u escapes.
878         * lisp/progmodes/python.el (python--prettify-symbols-alist):
879         * lisp/replace.el (query-replace-from-to-separator):
880         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
881         (rst-mode-syntax-table):
882         * lisp/whitespace.el (whitespace-display-mappings):
883         Prefer actual character to \u escape when this makes the code
884         easier to follow in the usual case where Unicode chars can be
885         displayed.
887 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
889         Pacify GCC -Wmaybe-uninitialized in xdisp.c
891         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
892         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
893         charpos.  The loop should always execute at least once anyway.
895 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
897         Signal error on invalid regexp
899         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries): Signal an
900         error when the user tries searching with a regexp matching the empty
901         string.
903 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
905         Another fix of file-notify-tests for w32notify
907         * test/automated/file-notify-tests.el (file-notify-test02-events):
908         Further adaptation for w32notify: reduce the number of expected
909         'changed' events.  (Bug#21435)
911 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
913         Adapt tests and manual for w32notify
915         * doc/lispref/os.texi (File Notifications): w32notify does not
916         send `attribute-changed' events.
918         * test/automated/file-notify-tests.el (file-notify--test-with-events):
919         Simplify parameters.  Adapt all callees.
920         (file-notify-test02-events): w32notify does not send
921         `attribute-changed' events.
922         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
923         Do not skip in case of w32notify.  Simply ignore this part of the test.
925 2015-09-21  Dima Kogan  <dima@secretsauce.net>
927         Fix setting breakpoints when remote-debugging
929         * lisp/progmodes/gud.el (gud-format-command): Send localized file
930         names to the debugger running on the remote.  (Bug#13304)
932 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
934         Better docstring and parameter name for seq-find
936         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
937         the parameter `sentinel' to `default'.
939         * doc/lispref/sequences.texi (Sequence Functions): Update the
940           documentation for `seq-find' accordingly.
942 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
944         Avoid infinite recursion while displaying box face
946         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
947         the previous string/buffer character position under bidi
948         iteration.  (Bug#21428)
950 2015-09-21  Anders Lindgren  <andlind@gmail.com>
952         Keep upper edge unchanged when changing size of NS frame (Bug#21415)
954         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
955         (Bug#21415).
957 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
959         Subject: * lisp/progmodes/prolog.el: Improve handling of if/then/else
961         (prolog-smie-rules): Accomodate standard if/then/else special indentation.
962         (prolog-mode): Add . to electric-indent-chars.
963         (prolog-electric--if-then-else): Re-indent the line before adding space
964         after the new char (bug#21526).
966 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
968         Add prettify symbols to python-mode
970         lisp/progmodes/python.el (python-prettify-symbols-alist): New variable
971         lisp/progmodes/python.el (python-mode): Use it
973 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
975         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete
977 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
979         (compilation-error-regexp-alist-alist): Tone down guile-file
981         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
982         Make guile-file a bit less enthusiastic (bug#21496).
984 2015-09-20  Drew Csillag  <drew@thecsillags.com>
986         * m4-mode.el (m4-font-lock-keywords): Fix m4_* highlighting
988         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
989         of commands when they have a "m4_" prefix.
991 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
993         '.' -> `.' in doc string
995         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
996         individual chars with grave quotes instead of straight quotes, as
997         this works better when they are translated to curved quotes.
999 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
1001         Improve file notifications, especially for Tramp
1003         * doc/lispref/files.texi (Magic File Names):
1004         Mention `file-notify-valid-p'.
1006         * doc/lispref/os.texi (File Notifications):
1007         Describe `file-notify-valid-p'.
1009         * etc/NEWS: Add `file-notify-valid-p'.
1011         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
1012         Improve implementation.
1013         (tramp-gvfs-monitor-file-process-filter): Rename from
1014         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
1015         process if appropriate.
1017         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
1018         Improve implementation.
1019         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
1020         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
1021         if appropriate.
1022         (tramp-sh-inotifywait-process-filter): Rename from
1023         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
1024         appropriate.
1026         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
1027         Use `delete-process'
1028         (tramp-handle-file-notify-valid-p): Check also, that file or
1029         directory to be watched still exists.
1031         * test/automated/file-notify-tests.el (file-notify--test-timeout):
1032         New defun.  Use it at all places a timeout is needed.
1033         (file-notify--test-cleanup): Delete directories recursively.
1034         Cleanup also Tramp connections.
1035         (file-notify-test02-events): Add tests for `attribute-change'.
1036         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
1037         Add tests for `file-notify-rm-watch'.
1039 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
1041         Use %s to format strings instead of splicing them
1043         If FOO might contain quotes that are part of a file or variable
1044         name, the quotes should not be translated when showing FOO’s name
1045         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
1046         is not quite right, as it would translate FOO’s quotes.
1047         Change it to (message "%s: bar" FOO) instead.
1048         * lisp/allout.el (allout-process-exposed):
1049         * lisp/calc/calc-ext.el (calc-do-prefix-help):
1050         * lisp/calc/calc-store.el (calc-store-into):
1051         * lisp/calendar/todo-mode.el (todo-category-completions):
1052         * lisp/cedet/semantic/complete.el (semantic-completion-message):
1053         * lisp/org/ob-latex.el (convert-pdf):
1054         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
1055         * lisp/org/ox-latex.el (org-latex-compile):
1056         * lisp/org/ox-man.el (org-man-compile):
1057         * lisp/org/ox-odt.el (org-odt--export-wrap):
1058         * lisp/org/ox-texinfo.el (org-texinfo-compile):
1059         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
1060         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
1061         (verilog-signals-combine-bus, verilog-read-defines)
1062         (verilog-getopt-file, verilog-expand-dirnames)
1063         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
1064         * lisp/term/ns-win.el (ns-spi-service-call):
1065         Use %s to avoid translating quotes of file names etc. in diagnostics.
1067 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
1069         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
1071         (js-mode): Don't set syntax-begin-function.
1073 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
1075         Don't assume syntax-begin-function is a symbol.
1077         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
1078         syntax-begin-function is a symbol.
1080 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
1082         Improve documentation of 'run-at-time'
1083         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
1084         In particular, don't refer to 'diary-entry-time', because it is
1085         unavailable until diary-lib is loaded.  Also, refer to
1086         'timer-duration-words', not 'timer-duration', as the latter's doc
1087         string says nothing about the accepted strings.
1089 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
1091         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
1093 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
1095         Repair pdbtrack remote file tracking
1096         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
1097         Rectify pdbtrack so it follows transitions from one remote source
1098         file to the next.
1100 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
1102         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting
1104 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
1106         Adapt vc-src to the old-new vc-checkin API
1107         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
1108         additional optional parameter.
1110 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
1112         Add overflow module to CSS property list
1113         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from CSS
1114         Overflow Module Level 3.
1116 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
1118         Fix documentation of "C-u C-x v v"
1119         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
1120         documentation of "C-u C-x v v" match what the code does.
1122         Resurrect the ability to specify a revision in vc-next-action
1123         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
1124         * lisp/vc/vc-dav.el (vc-dav-checkin):
1125         * lisp/vc/vc-git.el (vc-git-checkin):
1126         * lisp/vc/vc-hg.el (vc-hg-checkin):
1127         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
1128         an additional optional argument, the revision to checkin.
1129         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
1130         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
1131         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
1132         a revision to checkin.
1133         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
1134         revision when checking in files.
1135         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
1136         for the details.
1138 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
1140         Fix checkdoc warnings.
1141         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
1142         (verilog-decls-princ, verilog-modport-princ)
1143         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
1145 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
1147         Fix the routine for help on Calc's prefixes.
1148         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
1149         (calc-do-prefix-help): Use `read-char' to determine the next Calc
1150         command.
1152 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
1154         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove
1155         (font-lock-fontify-block): Don't let-bind it.
1156         (font-lock-compile-keywords): Don't use it.
1157         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
1158         start one slot earlier, instead.
1159         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
1160         Don't declare.
1161         (syntax-ppss): Don't use it either.
1162         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
1163         from docstring.
1164         * doc/emacs/display.texi (Font Lock): Don't mention
1165         font-lock-beginning-of-syntax-function.
1166         * doc/lispref/modes.texi (Font Lock Basics): Update description of
1167         font-lock-defaults.
1168         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
1169         * lisp/loadhist.el (unload-feature-special-hooks):
1170         Remove font-lock-beginning-of-syntax-function.
1171         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
1172         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
1173         font-lock-beginning-of-syntax-function.
1175 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
1177         Backslash cleanup in Elisp source files
1178         This patch should not change behavior.  It typically omits backslashes
1179         where they are redundant (e.g., in the string literal "^\$").
1180         In a few places, insert backslashes where they make regular
1181         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
1182         "^\\*", which has the same effect as a regular expression.
1183         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
1184         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
1185         RCS IDs, as that makes it clearer that the backslash is intended.
1187         Some more minor backslash fixes
1188         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
1189         * test/automated/info-xref.el (info-xref-test-write-file):
1190         Double backslashes in strings.
1192         Fix several backslash typos in Elisp strings
1193         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
1194         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
1195         (todo-reset-done-string, todo-reset-comment-string)
1196         (todo-reset-highlight-item):
1197         * lisp/erc/erc-networks.el (erc-networks-alist):
1198         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
1199         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
1200         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
1201         (nntp-telnet-shell-prompt):
1202         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
1203         * lisp/image-dired.el (image-dired-rotate-original):
1204         (image-dired-get-exif-file-name):
1205         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
1206         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
1207         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
1208         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
1209         * lisp/net/shr-color.el (shr-color->hexadecimal):
1210         * lisp/org/org-bibtex.el (org-bibtex-fields):
1211         * lisp/org/org-docview.el (org-docview-export):
1212         * lisp/org/org-entities.el (org-entities):
1213         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
1214         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
1215         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
1216         (ebnf-style-database):
1217         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
1218         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
1219         * lisp/progmodes/sql.el (sql-product-alist):
1220         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
1221         (verilog-error-font-lock-keywords)
1222         (verilog-assignment-operator-re):
1223         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
1224         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
1225         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
1226         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
1227         For example, to get the regular expression ‘\.’ use the string
1228         literal "\\.", not "\." (which is equivalent to ".").
1229         * lisp/emulation/viper-util.el (viper-glob-unix-files):
1230         Remove stray ‘\j’ from string.
1231         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
1232         (nntp-telnet-shell-prompt):
1233         Treat > like $ when matching a shell prompt.
1234         * lisp/progmodes/make-mode.el (makefile-browse):
1235         Properly quote a diagnostic.
1237         Fix minor quoting problems in diagnostics
1238         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
1239         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
1240         Follow text-quoting-style in diagnostic, and quote a file name.
1242 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
1244         * doc/lispref/frames.texi (Cursor Parameters): Document 'x-stretch-cursor'.
1246 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1248         Omit unnecessary \ before paren in C docstrings
1249         Although \( is needed in docstrings in Elisp code, it is not needed in
1250         docstrings in C code, since C function definitiions do not start with
1251         a parenthesis.  The backslashes made the docstrings a bit harder to
1252         read and to format in columns.  Also, some C docstrings had ( in
1253         column 1 and this did not appear to be causing any problems.  So,
1254         simplify C docstrings by replacing \( with ( and \) with ).
1256         A few more minor quoting fixes in a script and a text file
1258         Minor quoting fixes in scripts and doc
1259         Prefer straight quotes in random script files, as they are not converted.
1260         Prefer grave quotes in a couple of places in the manual that were missed
1261         earlier, as these quotes are converted.
1263         Minor backslash fixes in manuals and scripts
1264         * Makefile.in (install-arch-indep):
1265         * admin/charsets/compact.awk:
1266         * admin/charsets/gb180302.awk (gb_to_index):
1267         * admin/charsets/gb180304.awk (gb_to_index):
1268         Avoid undefined behavior in Awk regular expression backslashes.
1269         * doc/misc/efaq.texi (Matching parentheses):
1270         Omit unnecessary backslashes.
1271         * doc/misc/gnus-faq.texi (FAQ 5-8):
1272         Avoid undefined behavior in suggested sed backslash usage.
1274         Add -Wswitch to --enable-gcc-warnings
1275         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
1276         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
1277         * lib-src/etags.c (main, consider_token, C_entries):
1278         * src/coding.c (encode_invocation_designation):
1279         * src/data.c (Ftype_of):
1280         * src/eval.c (Fdefvaralias, default_toplevel_binding)
1281         (Fbacktrace__locals, mark_specpdl):
1282         * src/lisp.h (record_xmalloc):
1283         * src/syntax.c (scan_lists, scan_sexps_forward):
1284         * src/window.c (window_relative_x_coord):
1285         * src/xdisp.c (push_it, pop_it):
1286         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
1287         Error out or do nothing (as appropriate) if a switch statement
1288         with an enum value does not cover all of the enum.
1289         * src/dispextern.h (struct iterator_stack_entry.u.comp):
1290         Remove unused member discovered by using -Wswitch.
1291         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
1292         * src/vm-limit.c (check_memory_limits):
1293         Simplify warning-diagnostic computation by using a table.
1295         etags ‘fatal’ function is now printf-like
1296         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
1297         Also, now static; not clear why it needed to be extern.
1298         (verror): New function, with most of the old contents of ‘error’.
1299         (fatal, error): Use it.
1301 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
1303         More adaptations in file-notify-tests.el
1304         * test/automated/file-notify-tests.el
1305         (file-notify-test05-dir-validity): Skip for w32notify in
1306         batch-mode.  (Bug#21432)
1308 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
1310         Adapt test in file-notify-tests.el
1311         * test/automated/file-notify-tests.el
1312         (file-notify-test04-file-validity): Skip for w32notify in
1313         batch-mode.  Add test lost last commit.
1315 2015-09-16  Dima Kogan  <dima@secretsauce.net>
1317         winner no longer holds on to dead frames
1318         * lisp/winner.el (winner-change-fun): Cull dead frames.
1319         This prevents a potentially massive memory leak.  See:
1320         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
1322 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
1324         Use common report_file_notify_error function
1325         * src/fileio.c (report_file_notify_error): New function.
1326         * src/inotify.c (report_inotify_error): Remove function.
1327         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
1328         (Finotify_rm_watch): Use report_file_notify_error.
1329         * src/lisp.h (report_file_notify_error): Declare external function.
1330         * src/w32notify.c (report_w32notify_error): Remove function.
1331         (Fw32notify_add_watch, Fw32notify_rm_watch):
1332         Use report_file_notify_error.
1334 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
1336         Fix documentation.
1337         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
1338         the documentation of the root mean square.
1340 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
1342         Remove tool_bar_redisplayed_once and associated code.
1343         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
1344         * src/frame.c (make_frame, x_set_font): Remove initialization of
1345         f->tool_bar_redisplayed_once.
1346         * src/w32fns.c (x_change_tool_bar_height):
1347         * src/xfns.c (x_change_tool_bar_height): Don't check for
1348         f->tool_bar_redisplayed_once.
1349         * src/xdisp.c (redisplay_internal): Remove handling of
1350         f->tool_bar_redisplayed_once.
1352 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
1354         Restore some of the quoting in the manuals
1355         * doc/lispref/windows.texi (Coordinates and Windows)
1356         (Coordinates and Windows):
1357         * doc/lispref/variables.texi (Lexical Binding)
1358         (File Local Variables):
1359         * doc/lispref/text.texi (Format Properties):
1360         * doc/lispref/symbols.texi (Symbol Components):
1361         * doc/lispref/strings.texi (Creating Strings):
1362         * doc/lispref/sequences.texi (Sequence Functions):
1363         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
1364         (Search and Replace):
1365         * doc/lispref/processes.texi (Bindat Spec):
1366         * doc/lispref/os.texi (Idle Timers):
1367         * doc/lispref/objects.texi (Basic Char Syntax):
1368         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
1369         * doc/lispref/nonascii.texi (Character Properties):
1370         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
1371         (Mode Line Variables):
1372         * doc/lispref/minibuf.texi (Text from Minibuffer):
1373         * doc/lispref/loading.texi (Autoload):
1374         * doc/lispref/keymaps.texi (Controlling Active Maps):
1375         * doc/lispref/frames.texi (Frame Layout, Size and Position)
1376         (Size Parameters, Implied Frame Resizing):
1377         * doc/lispref/files.texi (Changing Files, Magic File Names):
1378         * doc/lispref/eval.texi (Self-Evaluating Forms):
1379         * doc/lispref/display.texi (Progress, Abstract Display)
1380         (Abstract Display Example, Bidirectional Display):
1381         * doc/lispref/commands.texi (Event Mod):
1382         * doc/emacs/windows.texi (Displaying Buffers):
1383         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
1384         * doc/emacs/text.texi (Enriched Text):
1385         * doc/emacs/programs.texi (MixedCase Words):
1386         * doc/emacs/picture-xtra.texi (Insert in Picture)
1387         (Tabs in Picture):
1388         * doc/emacs/misc.texi (Emacs Server, Printing):
1389         * doc/emacs/mini.texi (Minibuffer History):
1390         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
1391         (Pulling / Pushing):
1392         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
1393         * doc/emacs/help.texi (Help, Help Echo):
1394         * doc/emacs/glossary.texi (Glossary):
1395         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
1396         (Frame Commands):
1397         * doc/emacs/files.texi (Reverting, Saving, Directories):
1398         * doc/emacs/entering.texi (Exiting):
1399         * doc/emacs/emacs.texi (Top):
1400         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
1401         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
1402         appropriate or replace quoting with @dfn.
1403         * doc/misc/ediff.texi (Window and Frame Configuration):
1404         * doc/lispref/processes.texi (Network Feature Testing):
1405         * doc/lispref/display.texi (Display Margins): Quote the phrase
1406         after "a.k.a." where appropriate.
1408 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
1410         Clarify reftex-extra-bindings docs.
1411         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
1412         * doc/misc/reftex.texi (Key Bindings): Document that the variable
1413         only has an effect at load-time.
1415 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
1417         Fix search argument in ‘lisp--el-match-keyword’ (Bug#21492) (Bug#21493)
1418         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
1419         search argument.  (Bug#21492) (Bug#21493)
1421 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
1423         Add pretty symbols for \qquad and \varrho.
1424         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add pretty
1425         symbols for \qquad and \varrho.
1427 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
1429         Add new functions for the root mean square of a (Calc) vector
1430         * lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms):
1431         New functions.
1432         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
1433         `calc-vector-rms', add autoloads for `calc-vector-rms' and
1434         `calcFunc-rms'.
1435         * lisp/calc/calc-map.el (calc-u-oper-keys):  Add entry for
1436         `calcFunc-rms'.
1437         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
1438         `calc-vector-rms'.
1439         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
1440         command.
1442 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
1444         Add monotone EDE generic project
1445         * lisp/cedet/ede/generic.el (ede-enable-generic-projects): Add monotone
1446         generic project.
1448         Revert premature commit
1449         * doc/lispref/files.texi: Revert premature commit of change to
1450         file-name-all-completions.
1452         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
1453         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
1454         with cl-generic defaults.
1455         (elisp--xref-find-references): Add doc string.
1456         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
1457         tests to find bug.
1459         Fix bugs in eieio-oref-default related to class symbols
1460         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
1461         (eieio-oref-default): Handle class properly.
1463 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
1465         Quote “fullboth” when defining it
1466         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
1467         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
1469 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
1471         Minor doc fix in emacs/ack.texi
1472         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
1473         first argument.
1475 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
1477         Adapt tests in auto-revert-tests.el
1478         * test/automated/auto-revert-tests.el (auto-revert--timeout):
1479         Make it a defconst.
1480         (auto-revert--wait-for-revert): New defun.
1481         (auto-revert-test00-auto-revert-mode)
1482         (auto-revert-test01-auto-revert-tail-mode)
1483         (auto-revert-test02-auto-revert-mode-dired): Use it.
1485 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
1487         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const
1488         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
1489         (cl-lib-fdefs): Add defgeneric.
1490         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
1491         (eieio-kw, cl-lib-kw, el-kw): Remove.
1493 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
1495         Quote less in manuals
1496         The manuals often used quotes ``...'' when it is better to use @dfn or
1497         @code or capitalized words or no quoting at all.  For example, there is
1498         no need for the `` and '' in “if a variable has one effect for
1499         @code{nil} values and another effect for ``non-@code{nil}'' values”.
1500         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
1501         unnecessary quoting like this, and to use @dfn etc. instead when called
1502         for (Bug#21472).
1504 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
1506         lisp/custom.el (load-theme): Only compute hash when needed.
1508 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
1510         Pacify --enable-gcc-warnings
1511         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
1513 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
1515         Improve error reports in inotify.c
1516         * src/inotify.c (report_inotify_error): New function.  Clone of
1517         report_w32notify_error.
1518         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
1519         (Finotify_rm_watch): Use it.
1521 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
1523         Fix the file-notify tests for watch validation on w32
1524         * test/automated/file-notify-tests.el
1525         (file-notify-test04-file-validity): Move the directory deletion
1526         out of the file-notify--test-with-events macro.
1527         (file-notify-test04-file-validity)
1528         (file-notify-test05-dir-validity): Enlarge the timeout of
1529         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
1531 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
1533         Use OPEN BOX instead of space for \quad.
1534         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
1535         character for \quad instead of a space.
1537 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
1539         Add missing *.pbm images
1540         * etc/images/connect.pbm: New file.
1541         * etc/images/custom/down-pushed.pbm: New file.
1542         * etc/images/custom/down.pbm: New file.
1543         * etc/images/custom/right-pushed.pbm: New file.
1544         * etc/images/custom/right.pbm: New file.
1545         * etc/images/describe.pbm: New file.
1546         * etc/images/disconnect.pbm: New file.
1547         * etc/images/ezimage/bits.pbm: New file.
1548         * etc/images/ezimage/bitsbang.pbm: New file.
1549         * etc/images/ezimage/box-minus.pbm: New file.
1550         * etc/images/ezimage/box-plus.pbm: New file.
1551         * etc/images/ezimage/box.pbm: New file.
1552         * etc/images/ezimage/checkmark.pbm: New file.
1553         * etc/images/ezimage/dir-minus.pbm: New file.
1554         * etc/images/ezimage/dir-plus.pbm: New file.
1555         * etc/images/ezimage/dir.pbm: New file.
1556         * etc/images/ezimage/doc-minus.pbm: New file.
1557         * etc/images/ezimage/doc-plus.pbm: New file.
1558         * etc/images/ezimage/doc.pbm: New file.
1559         * etc/images/ezimage/info.pbm: New file.
1560         * etc/images/ezimage/key.pbm: New file.
1561         * etc/images/ezimage/label.pbm: New file.
1562         * etc/images/ezimage/lock.pbm: New file.
1563         * etc/images/ezimage/mail.pbm: New file.
1564         * etc/images/ezimage/page-minus.pbm: New file.
1565         * etc/images/ezimage/page-plus.pbm: New file.
1566         * etc/images/ezimage/page.pbm: New file.
1567         * etc/images/ezimage/tag-gt.pbm: New file.
1568         * etc/images/ezimage/tag-minus.pbm: New file.
1569         * etc/images/ezimage/tag-plus.pbm: New file.
1570         * etc/images/ezimage/tag-type.pbm: New file.
1571         * etc/images/ezimage/tag-v.pbm: New file.
1572         * etc/images/ezimage/tag.pbm: New file.
1573         * etc/images/ezimage/unlock.pbm: New file.
1574         * etc/images/gnus/important.pbm: New file.
1575         * etc/images/gnus/mail-send.pbm: New file.
1576         * etc/images/gnus/receipt.pbm: New file.
1577         * etc/images/gnus/toggle-subscription.pbm: New file.
1578         * etc/images/gnus/unimportant.pbm: New file.
1579         * etc/images/gud/all.pbm: New file.
1580         * etc/images/gud/rcont.pbm: New file.
1581         * etc/images/gud/recstart.pbm: New file.
1582         * etc/images/gud/recstop.pbm: New file.
1583         * etc/images/gud/rfinish.pbm: New file.
1584         * etc/images/gud/rnext.pbm: New file.
1585         * etc/images/gud/rnexti.pbm: New file.
1586         * etc/images/gud/rstep.pbm: New file.
1587         * etc/images/gud/rstepi.pbm: New file.
1588         * etc/images/gud/thread.pbm: New file.
1589         * etc/images/lock-broken.pbm: New file.
1590         * etc/images/lock-ok.pbm: New file.
1591         * etc/images/lock.pbm: New file.
1592         * etc/images/mail/copy.pbm: New file.
1593         * etc/images/mail/forward.pbm: New file.
1594         * etc/images/mail/not-spam.pbm: New file.
1595         * etc/images/mail/outbox.pbm: New file.
1596         * etc/images/mail/preview.pbm: New file.
1597         * etc/images/mail/save-draft.pbm: New file.
1598         * etc/images/mh-logo.pbm: New file.
1599         * etc/images/mpc/add.pbm: New file.
1600         * etc/images/mpc/ffwd.pbm: New file.
1601         * etc/images/mpc/next.pbm: New file.
1602         * etc/images/mpc/pause.pbm: New file.
1603         * etc/images/mpc/play.pbm: New file.
1604         * etc/images/mpc/prev.pbm: New file.
1605         * etc/images/mpc/rewind.pbm: New file.
1606         * etc/images/mpc/stop.pbm: New file.
1607         * etc/images/redo.pbm: New file.
1608         * etc/images/smilies/braindamaged.pbm: New file.
1609         * etc/images/smilies/cry.pbm: New file.
1610         * etc/images/smilies/dead.pbm: New file.
1611         * etc/images/smilies/evil.pbm: New file.
1612         * etc/images/smilies/forced.pbm: New file.
1613         * etc/images/smilies/grin.pbm: New file.
1614         * etc/images/smilies/indifferent.pbm: New file.
1615         * etc/images/sort-ascending.pbm: New file.
1616         * etc/images/sort-column-ascending.pbm: New file.
1617         * etc/images/sort-criteria.pbm: New file.
1618         * etc/images/sort-descending.pbm: New file.
1619         * etc/images/sort-row-ascending.pbm: New file.
1620         * etc/images/unchecked.pbm: New file.
1621         * etc/images/zoom-in.pbm: New file.
1622         * etc/images/README: Update instructions for PBM files.
1624         Add separator.pbm tool-bar image
1625         * etc/images/separator.pbm: New file.  Having it avoids the side
1626         effect of changing the tool-bar height when the default font's size
1627         changes and XPM image support is not available, due to the SPC
1628         characters that are left in the Lisp string used to display the tool
1629         bar, because there are no images to display instead of those SPC
1630         characters.
1632         Make show-paren-match face visible on mono-color displays
1633         * lisp/faces.el (show-paren-match): Use the underline face for
1634         mono-color displays.  (Bug#21481)
1636 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
1638         Don’t double-encode non-ASCII mail clipboard
1639         * lisp/mail/mailclient.el (mailclient-send-it):
1640         Also fix the case when mailclient-place-body-on-clipboard-flag
1641         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
1643 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
1645         Adapt file-notify-tests.el test cases
1646         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
1647         * src/inotify.c (Finotify_valid_p): Adapt docstring.
1648         * test/automated/file-notify-tests.el ()
1649         (file-notify-test03-autorevert)
1650         (file-notify-test04-file-validity)
1651         (file-notify-test04-file-validity-remote)
1652         (file-notify-test05-dir-validity)
1653         (file-notify-test05-dir-validity-remote): Adapt docstring.
1654         (file-notify-test04-file-validity): Let events arrive before
1655         calling final `file-notify-valid-p'.  Do not ignore errors.
1656         (file-notify-test05-dir-validity): Do not manipulate
1657         `temporary-file-directory', it isn't necessary.  Let events arrive
1658         before calling final `file-notify-valid-p'.  Do not ignore errors.
1660 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
1662         Don’t double-encode non-ASCII for mail client
1663         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
1664         Use RFC 6068’s list of unreserved characters.
1665         (mailclient-send-it): When encoding the body as a URL,
1666         first decode it as per Content-Type: and Content-Transfer-Encoding:,
1667         as URLs must use percent-encoded UTF-8 (Bug#21471).
1668         * doc/misc/url.texi (mailto): Update RFC number.
1670 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
1672         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
1674 2015-09-14  Alan Mackenzie  <acm@muc.de>
1676         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs.
1677         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
1678         `cadr/car'.
1680 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
1682         Clarify documentation of char-table extra slots
1683         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
1684         slot numbers are zero-based.  (Bug#21467)
1686 2015-09-14  Alan Mackenzie  <acm@muc.de>
1688         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
1689         Fixes debbugs#21449.
1690         lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
1691         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
1692         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
1693         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
1694         Insert "\\|\\\\." into regexps which match symbols.
1696 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
1698         Improve the doc string of w32notify-valid-p
1699         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
1700         that removing a watch makes its object invalid.
1702 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
1704         Fix tests for file-notify-valid-p.
1705         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
1706         Use delete-directory to delete file-notify--test-tmpfile if it is
1707         a directory.  Likewise for file-notify--test-tmpfile1.
1708         (file-notify-test04-file-validity)
1709         (file-notify-test05-dir-validity): Delete the parent directory of
1710         the test.  Ignore errors when cleaning up after the test.
1712 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
1714         Report file-notify-error in w32notify.c
1715         * src/w32notify.c (report_w32notify_error): New function.
1716         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
1717         errors, instead of calling report_file_error.  (Bug#21432)
1719         Implement w32notify-valid-p
1720         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
1721         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
1722         'identity'.
1724 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
1726         Test file-notify-valid-p.
1727         * test/automated/file-notify-tests.el
1728         (file-notify-test04-file-validity, file-notify-test05-dir-validity): New
1729         tests.
1731 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
1733         Fix markup in ELisp manual
1734         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
1735         of the 'alpha' parameter value.  (Bug#21470)
1737 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
1739         Introduce `file-notify-valid-p'
1740         * lisp/filenotify.el (file-notify-valid-p): New defun.
1741         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
1742         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
1743         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
1744         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
1745         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
1746         <file-notify-valid-p>: Add handler.
1747         * lisp/net/tramp.el (tramp-file-name-for-operation):
1748         Add `file-notify-valid-p'.
1749         (tramp-handle-file-notify-valid-p): New defun.
1750         * src/inotify.c (Finotify_valid_p): New defun.
1751         (syms_of_inotify): Declare Sinotify_valid_p.
1753 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1755         Port Unicode char detection to FreeBSD+svgalib
1756         Problem reported by Ashish SHUKLA in:
1757         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
1758         * configure.ac: Check for struct unipair.unicode instead of for
1759         <linux/kd.h>, since that’s more specific to what the code actually needs.
1760         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
1762         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
1764 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
1766         Fix vertical cursor motion across overlay strings with newlines
1767         * src/indent.c (Fvertical_motion): Don't leave point in the middle
1768         of an overlay string with newlines, as that will position the
1769         cursor after the string at whatever column is there.  (Bug#21468)
1771 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
1773         Fix tests in file-notify-tests.el
1774         * test/automated/file-notify-tests.el: Remove Tramp declarations.
1775         (file-notify-test00-availability): Print remote command w/o Tramp
1776         internal functions.
1777         (file-notify-test02-events, file-notify-test02-events-remote):
1778         Adapt docstring.
1779         (file-notify-test03-autorevert): Use `format-message' when
1780         inspecting *Messages* buffer.
1782 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
1784         Bind inhibit-modification-hooks rather than a/b-c-f
1785         * lisp/wid-edit.el (widget-editable-list-insert-before)
1786         (widget-editable-list-delete-at):
1787         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
1788         (cperl-font-lock-unfontify-region-function):
1789         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
1790         * lisp/obsolete/longlines.el (longlines-mode):
1791         * lisp/obsolete/fast-lock.el (save-buffer-state):
1792         * lisp/mouse.el (mouse-save-then-kill-delete-region):
1793         * lisp/gnus/message.el (message-hide-headers):
1794         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
1795         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
1796         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
1797         than after/before-change-functions to nil.
1799 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
1801         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
1802         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
1803         the buffers, even if the forced redisplay is interrupted.
1805         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
1807         Merge syntax-propertize--done and parse-sexp-propertize-done
1808         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
1809         (syntax-propertize): Set syntax-propertize--done even if
1810         syntax-propertize-function is nil.  Avoid recursive invocations.
1811         (syntax-propertize-chunks): New var.
1812         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
1813         Simplify.
1814         (parse-sexp-propertize-function): Don't set any more.
1815         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
1816         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
1817         Call Qinternal__syntax_propertize instead of
1818         Vparse_sexp_propertize_function.  Truncate e_property if needed.
1819         (update_syntax_table_forward): Streamline.
1820         (syms_of_syntax): Define Qinternal__syntax_propertize.
1821         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
1823 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
1825         Prefer straight quoting in some text files
1826         Mostly this just changes ` to ' in static text.  Some exceptions:
1827         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
1828         typically does that now.
1829         * admin/quick-install-emacs (TRY, top level):
1830         Use straight quoting in diagnostics.
1831         * src/README: Fix working-directory confusion.
1833         * CONTRIBUTE: Move send-email here from git-workflow.
1835 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
1837         Improve file notifications in Tramp
1838         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
1839         Set proper events to watch for.
1840         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
1841         watched events.
1843 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
1845         Fix NS build with --enable-checking='glyphs'
1846         * src/nsfns.m (unwind_create_frame): Make the preprocessor
1847         conditionals for referencing 'dpyinfo' consistent throughout the
1848         function.  (Bug#21426)
1850 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
1852         Add seq-find
1853         This function is similar to `seq-some' but returns the found element.
1854         In the cases where nil can be the found element, a sentinel optional
1855         argument can be provided to avoid ambiguities.
1856         * lisp/emacs-lisp/seq.el (seq-find): New function.
1857         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
1858         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
1859         seq-find.
1861 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
1863         Document file-notify--test-with-events.
1864         * test/automated/file-notify-tests.el (file-notify--test-with-events):
1865         Add docstring.
1867 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
1869         Report used native library in file-notify-tests.el
1870         * test/automated/file-notify-tests.el
1871         (tramp-get-remote-gvfs-monitor-dir)
1872         (tramp-get-remote-inotifywait): Declare them.
1873         (file-notify-test00-availability): Print used native library.
1875 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
1877         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
1878         (mpc-file-local-copy): Check for absolute path.  Check more config
1879         locations.
1881 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
1883         Improve documentation of categories
1884         * doc/lispref/syntax.texi (Categories): Clarify the example of
1885         using define-category and modify-category-entry.  (Bug#21448)
1887 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1889         Revert some stray curved quotes I missed earlier
1890         Problem reported by David Kastrup in:
1891         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
1892         * lisp/international/mule-cmds.el (leim-list-header):
1893         Use format-message with an ASCII-only format.
1895         Prefer NUMBERP to spelling it out
1896         * src/editfns.c (styled_format):
1897         * src/frame.h (NUMVAL):
1898         * src/image.c (parse_image_spec):
1899         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
1900         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
1901         * src/process.c (Fsignal_process):
1902         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
1903         * src/xfaces.c (check_lface_attrs):
1904         * src/xselect.c (x_fill_property_data, x_send_client_event):
1905         Use NUMBERP rather than INTEGERP || FLOATP.
1907 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
1909         Improve file-notify-tests
1910         * test/automated/file-notify-tests.el: Use lexical-binding
1911         (file-notify--test-cleanup): New function.
1912         (file-notify-test00-availability, file-notify-test01-add-watch)
1913         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
1914         (file-notify--test-with-events): New macro.
1915         (file-notify-test02-events): Use it.
1917 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1919         Add patch-sending instructions to git-workflow
1920         From a suggestion by Mitchel Humpherys in:
1921         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
1922         * admin/notes/git-workflow (Sending patches): New section.
1924         Port to GIFLIB 5.0.6 and later
1925         Problem reported by Mitchel Humpherys in:
1926         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
1927         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
1928         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
1929         (gif_load) [HAVE_GIF]: Use it.
1931 2015-09-10  Glenn Morris  <rgm@gnu.org>
1933         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
1935 2015-09-09  Glenn Morris  <rgm@gnu.org>
1937         * test/automated/file-notify-tests.el (file-notify-test02-events):
1938         Fix recent change.
1940 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
1942         Refix movemail GCC pacification
1943         Problem reported by Ken Brown in:
1944         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
1945         * lib-src/movemail.c (main): Fix previous change.
1947 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
1949         (time-to-seconds, time-less-p): Mark unused vars with underscore
1950         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
1951         Mark unused vars with underscore.
1953         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
1954         (parse_sexp_propertize): ...from here.
1956         * lisp/filenotify.el: Use lexical-binding
1957         (file-notify-add-watch): Avoid add-to-list.
1959 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
1961         Start checking event types in file-notify tests
1962         * test/automated/file-notify-tests.el (file-notify--test-events): New
1963         variable.
1964         (file-notify--test-event-handler): Append received event to
1965         file-notify--test-events for later analysis.
1966         (file-notify-test02-events): Assert that the expected notifications have
1967         arrived in the expected order.
1969 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
1971         Merge from gnulib and texinfo
1972         This incorporates:
1973         2015-08-03 Improve port of stdalign to C++11
1974         * lib/stdalign.in.h: Copy from gnulib.
1975         * doc/misc/texinfo.tex: Copy from texinfo.
1977 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
1979         Make syntax.c call syntax-propertize on demand
1980         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
1981         (parse-sexp-propertize-function): Use it.
1982         (syntax-propertize): Disable parse-sexp-propertize-function.
1983         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
1984         New functions.
1985         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
1986         `parse-sexp-propertize-function'.
1987         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
1988         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
1989         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
1990         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
1991         Don't assume `point' is set.
1993 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
1995         Fix indentation of an @example in ELisp manual
1996         * doc/lispref/syntax.texi (Categories): Untabify the example.
1997         (Bug#21448)
1999 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2001         Define internal-char-font even if --without-x
2002         The function is used now even in non-graphical environments.
2003         Problem reported by Glenn Morris in:
2004         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
2005         * src/font.c (Finternal_char_font): Move here ...
2006         * src/fontset.c (Finternal_char_font): ... from here.
2008 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2010         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Remove
2011         warning.
2013 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
2015         Fix display of complex local data types in GDB-MI
2016         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
2017         variable has no value, display "<complex data type>" as a
2018         placeholder, instead of a confusing "nil".  (Bug#21438)
2020 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
2022         Remove redundant redefinition of seq-drop-while from seq.el
2023         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
2025 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
2027         * lisp/emacs-lisp/package.el (package--ensure-init-file)
2028         More robust check for `package-initialize' calls in init file.
2029         This function accepts an optional argument, but calls passing
2030         an argument would not have been detected.
2032 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2034         Port movemail to RHEL 6 with --enable-gcc-warnings
2035         * lib-src/movemail.c (main): Declare local only if needed.
2037         Port recent Linux console changes to RHEL 6
2038         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
2040         Improvements for curved quotes on Linux consule
2041         This should help Emacs work better out-of-the-box on Linux consoles,
2042         which have only limited support for displaying Unicode characters.
2043         Also, undo the recent change that caused text-quoting-style to
2044         affect quote display on terminals, so that the two features are
2045         independent.  See Alan Mackenzie in:
2046         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
2047         Finally, add a style parameter to startup--setup-quote-display,
2048         so that this function can also be invoked after startup, with
2049         different styles depending on user preference at the time.
2050         * configure.ac: Check for linux/kd.h header.
2051         * doc/emacs/display.texi (Text Display): Document quote display.
2052         * doc/lispref/display.texi (Active Display Table):
2053         * etc/NEWS:
2054         * lisp/startup.el (startup--setup-quote-display, command-line):
2055         text-quoting-style no longer affects quote display.
2056         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
2057         * lisp/international/mule-util.el (char-displayable-p):
2058         * lisp/startup.el (startup--setup-quote-display):
2059         On a text terminal supporting glyph codes, use the reported
2060         glyph codes instead of the terminal coding system, as this
2061         is more accurate on the Linux console.
2062         * lisp/startup.el (startup--setup-quote-display):
2063         New optional arg STYLE.
2064         * src/fontset.c (Finternal_char_font):
2065         Report glyph codes for a text terminal, if they are available.
2066         Currently this is supported only for the Linux console.
2067         * src/termhooks.h (struct terminal): New member glyph-code-table.
2068         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
2069         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
2070         (terminal_glyph_code): New function.
2072 2015-09-08  Juri Linkov  <juri@linkov.net>
2074         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
2075         underline.  (Bug#21433)
2077 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
2079         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
2081 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
2083         Fix double-reporting of rename events with inotify
2084         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
2085         of rename events with inotify (bug#21435).
2087 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
2089         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
2090         (tetris-mode-map): Use it.
2092 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
2094         Remove a few simple cases of global redisplay
2095         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
2096         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
2097         rather than returning a "resized_p" boolean.
2098         (redisplay_internal): Adjust call accordingly.
2099         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
2100         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
2101         tracking of this undesirable situation.
2103         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
2104         * src/process.c (status_notify): Only set the update_mode_line on the
2105         relevant buffers rather than setting it globally.
2107 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2109         * lisp/electric.el (electric-quote-post-self-insert-function):
2110         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
2111         (electric-quote-mode): Activate everywhere in message-mode.
2113 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
2115         Go back to grave quoting in source-code docstrings etc.
2116         This reverts almost all my recent changes to use curved quotes
2117         in docstrings and/or strings used for error diagnostics.
2118         There are a few exceptions, e.g., Bahá’í proper names.
2119         * admin/unidata/unidata-gen.el (unidata-gen-table):
2120         * lisp/abbrev.el (expand-region-abbrevs):
2121         * lisp/align.el (align-region):
2122         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
2123         (outlineify-sticky):
2124         * lisp/apropos.el (apropos-library):
2125         * lisp/bookmark.el (bookmark-default-annotation-text):
2126         * lisp/button.el (button-category-symbol, button-put)
2127         (make-text-button):
2128         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
2129         * lisp/calc/calc-embed.el (calc-do-embedded):
2130         * lisp/calc/calc-ext.el (calc-user-function-list):
2131         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
2132         * lisp/calc/calc-help.el (calc-describe-key)
2133         (calc-describe-thing, calc-full-help):
2134         * lisp/calc/calc-lang.el (calc-c-language)
2135         (math-parse-fortran-vector-end, math-parse-tex-sum)
2136         (math-parse-eqn-matrix, math-parse-eqn-prime)
2137         (calc-yacas-language, calc-maxima-language, calc-giac-language)
2138         (math-read-giac-subscr, math-read-math-subscr)
2139         (math-read-big-rec, math-read-big-balance):
2140         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
2141         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
2142         (calc-auto-recompute):
2143         * lisp/calc/calc-prog.el (calc-fix-token-name)
2144         (calc-read-parse-table-part, calc-user-define-invocation)
2145         (math-do-arg-check):
2146         * lisp/calc/calc-store.el (calc-edit-variable):
2147         * lisp/calc/calc-units.el (math-build-units-table-buffer):
2148         * lisp/calc/calc-vec.el (math-read-brackets):
2149         * lisp/calc/calc-yank.el (calc-edit-mode):
2150         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
2151         * lisp/calendar/appt.el (appt-display-message):
2152         * lisp/calendar/diary-lib.el (diary-check-diary-file)
2153         (diary-mail-entries, diary-from-outlook):
2154         * lisp/calendar/icalendar.el (icalendar-export-region)
2155         (icalendar--convert-float-to-ical)
2156         (icalendar--convert-date-to-ical)
2157         (icalendar--convert-ical-to-diary)
2158         (icalendar--convert-recurring-to-diary)
2159         (icalendar--add-diary-entry):
2160         * lisp/calendar/time-date.el (format-seconds):
2161         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
2162         (timeclock-make-hours-explicit, timeclock-log-data):
2163         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
2164         (todo-item-mark, todo-check-format)
2165         (todo-insert-item--next-param, todo-edit-item--next-key)
2166         (todo-mode):
2167         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
2168         * lisp/cedet/mode-local.el (describe-mode-local-overload)
2169         (mode-local-print-binding, mode-local-describe-bindings-2):
2170         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
2171         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2172         * lisp/cus-start.el (standard):
2173         * lisp/cus-theme.el (describe-theme-1):
2174         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
2175         (custom--sort-vars-1, load-theme):
2176         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2177         * lisp/dired-x.el (dired-do-run-mail):
2178         * lisp/dired.el (dired-log):
2179         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
2180         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
2181         (ad-disable-advice, ad-remove-advice, ad-set-argument)
2182         (ad-set-arguments, ad--defalias-fset, ad-activate)
2183         (ad-deactivate):
2184         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
2185         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
2186         (byte-optimize-while, byte-optimize-apply):
2187         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
2188         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
2189         (byte-compile-log-file, byte-compile-format-warn)
2190         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
2191         (byte-compile-cl-warn)
2192         (byte-compile-warn-about-unresolved-functions)
2193         (byte-compile-file, byte-compile--declare-var)
2194         (byte-compile-file-form-defmumble, byte-compile-form)
2195         (byte-compile-normal-call, byte-compile-check-variable)
2196         (byte-compile-variable-ref, byte-compile-variable-set)
2197         (byte-compile-subr-wrong-args, byte-compile-setq-default)
2198         (byte-compile-negation-optimizer)
2199         (byte-compile-condition-case--old)
2200         (byte-compile-condition-case--new, byte-compile-save-excursion)
2201         (byte-compile-defvar, byte-compile-autoload)
2202         (byte-compile-lambda-form)
2203         (byte-compile-make-variable-buffer-local, display-call-tree)
2204         (batch-byte-compile):
2205         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
2206         * lisp/emacs-lisp/chart.el (chart-space-usage):
2207         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
2208         (check-declare-warn, check-declare-file)
2209         (check-declare-directory):
2210         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
2211         (checkdoc-message-text-engine):
2212         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
2213         (cl--describe-class):
2214         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
2215         (cl--generic-describe, cl-generic-generalizers):
2216         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
2217         (cl-symbol-macrolet):
2218         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
2219         * lisp/emacs-lisp/copyright.el (copyright)
2220         (copyright-update-directory):
2221         * lisp/emacs-lisp/edebug.el (edebug-read-list):
2222         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
2223         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
2224         (eieio-oref):
2225         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
2226         * lisp/emacs-lisp/eieio-speedbar.el:
2227         (eieio-speedbar-child-make-tag-lines)
2228         (eieio-speedbar-child-description):
2229         * lisp/emacs-lisp/eieio.el (defclass, change-class):
2230         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
2231         (elint-init-form, elint-check-defalias-form)
2232         (elint-check-let-form):
2233         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
2234         (ert-results-pop-to-backtrace-for-test-at-point)
2235         (ert-results-pop-to-messages-for-test-at-point)
2236         (ert-results-pop-to-should-forms-for-test-at-point)
2237         (ert-describe-test):
2238         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
2239         (find-function-library):
2240         * lisp/emacs-lisp/generator.el (iter-yield):
2241         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
2242         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
2243         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
2244         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
2245         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
2246         (advice--make, define-advice):
2247         * lisp/emacs-lisp/package-x.el (package-upload-file):
2248         * lisp/emacs-lisp/package.el (package-version-join)
2249         (package-disabled-p, package-activate-1, package-activate)
2250         (package--download-one-archive)
2251         (package--download-and-read-archives)
2252         (package-compute-transaction, package-install-from-archive)
2253         (package-install, package-install-selected-packages)
2254         (package-delete, package-autoremove, describe-package-1)
2255         (package-install-button-action, package-delete-button-action)
2256         (package-menu-hide-package, package-menu--list-to-prompt)
2257         (package-menu--perform-transaction)
2258         (package-menu--find-and-notify-upgrades):
2259         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
2260         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
2261         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
2262         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
2263         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
2264         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
2265         (rx-form):
2266         * lisp/emacs-lisp/smie.el (smie-config-save):
2267         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
2268         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
2269         * lisp/emacs-lisp/testcover.el (testcover-1value):
2270         * lisp/emacs-lisp/timer.el (timer-event-handler):
2271         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
2272         (viper-toggle-search-style, viper-kill-buffer)
2273         (viper-brac-function):
2274         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
2275         * lisp/env.el (setenv):
2276         * lisp/erc/erc-button.el (erc-nick-popup):
2277         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
2278         * lisp/eshell/em-dirs.el (eshell/cd):
2279         * lisp/eshell/em-glob.el (eshell-glob-regexp)
2280         (eshell-glob-entries):
2281         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
2282         * lisp/eshell/esh-opt.el (eshell-show-usage):
2283         * lisp/facemenu.el (facemenu-add-new-face)
2284         (facemenu-add-new-color):
2285         * lisp/faces.el (read-face-name, read-face-font, describe-face)
2286         (x-resolve-font-name):
2287         * lisp/files-x.el (modify-file-local-variable):
2288         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
2289         (set-auto-mode, hack-one-local-variable--obsolete)
2290         (dir-locals-set-directory-class, write-file, basic-save-buffer)
2291         (delete-directory, copy-directory, recover-session)
2292         (recover-session-finish, insert-directory)
2293         (file-modes-char-to-who, file-modes-symbolic-to-number)
2294         (move-file-to-trash):
2295         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
2296         * lisp/find-cmd.el (find-generic, find-to-string):
2297         * lisp/finder.el (finder-commentary):
2298         * lisp/font-lock.el (font-lock-fontify-buffer):
2299         * lisp/format.el (format-write-file, format-find-file)
2300         (format-insert-file):
2301         * lisp/frame.el (get-device-terminal, select-frame-by-name):
2302         * lisp/fringe.el (fringe--check-style):
2303         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
2304         * lisp/help-fns.el (help-fns--key-bindings)
2305         (help-fns--compiler-macro, help-fns--parent-mode)
2306         (help-fns--obsolete, help-fns--interactive-only)
2307         (describe-function-1, describe-variable):
2308         * lisp/help.el (describe-mode)
2309         (describe-minor-mode-from-indicator):
2310         * lisp/image.el (image-type):
2311         * lisp/international/ccl.el (ccl-dump):
2312         * lisp/international/fontset.el (x-must-resolve-font-name):
2313         * lisp/international/mule-cmds.el (prefer-coding-system)
2314         (select-safe-coding-system-interactively)
2315         (select-safe-coding-system, activate-input-method)
2316         (toggle-input-method, describe-current-input-method)
2317         (describe-language-environment):
2318         * lisp/international/mule-conf.el (code-offset):
2319         * lisp/international/mule-diag.el (describe-character-set)
2320         (list-input-methods-1):
2321         * lisp/mail/feedmail.el (feedmail-run-the-queue):
2322         * lisp/mouse.el (minor-mode-menu-from-indicator):
2323         * lisp/mpc.el (mpc-playlist-rename):
2324         * lisp/msb.el (msb--choose-menu):
2325         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
2326         * lisp/net/imap.el (imap-interactive-login):
2327         * lisp/net/mairix.el (mairix-widget-create-query):
2328         * lisp/net/newst-backend.el (newsticker--sentinel-work):
2329         * lisp/net/newst-treeview.el (newsticker--treeview-load):
2330         * lisp/net/rlogin.el (rlogin):
2331         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
2332         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
2333         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
2334         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
2335         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
2336         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
2337         (org-babel-goto-named-result):
2338         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
2339         * lisp/org/ob-ref.el (org-babel-ref-resolve):
2340         * lisp/org/org-agenda.el (org-agenda-prepare):
2341         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
2342         (org-clock-resolve):
2343         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
2344         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
2345         * lisp/org/org-habit.el (org-habit-parse-todo):
2346         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
2347         (org-mouse-context-menu):
2348         * lisp/org/org-table.el (org-table-edit-formulas):
2349         * lisp/org/ox.el (org-export-async-start):
2350         * lisp/proced.el (proced-log):
2351         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
2352         (ada-check-matching-start, ada-goto-matching-start):
2353         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
2354         * lisp/progmodes/ada-xref.el (ada-find-executable):
2355         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
2356         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
2357         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
2358         (flymake-start-syntax-check-process):
2359         * lisp/progmodes/python.el (python-shell-get-process-or-error)
2360         (python-define-auxiliary-skeleton):
2361         * lisp/progmodes/sql.el (sql-comint):
2362         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
2363         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
2364         * lisp/recentf.el (recentf-open-files):
2365         * lisp/replace.el (query-replace-read-from)
2366         (occur-after-change-function, occur-1):
2367         * lisp/scroll-bar.el (scroll-bar-columns):
2368         * lisp/server.el (server-get-auth-key):
2369         * lisp/simple.el (execute-extended-command)
2370         (undo-outer-limit-truncate, list-processes--refresh)
2371         (compose-mail, set-variable, choose-completion-string)
2372         (define-alternatives):
2373         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
2374         (command-line-1):
2375         * lisp/subr.el (noreturn, define-error, add-to-list)
2376         (read-char-choice, version-to-list):
2377         * lisp/term/common-win.el (x-handle-xrm-switch)
2378         (x-handle-name-switch, x-handle-args):
2379         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
2380         * lisp/textmodes/reftex-ref.el (reftex-label):
2381         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
2382         * lisp/textmodes/two-column.el (2C-split):
2383         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
2384         (tutorial--find-changed-keys):
2385         * lisp/type-break.el (type-break-noninteractive-query):
2386         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
2387         (wdired-do-perm-changes):
2388         * lisp/whitespace.el (whitespace-report-region):
2389         Prefer grave quoting in source-code strings used to generate help
2390         and diagnostics.
2391         * lisp/faces.el (face-documentation):
2392         No need to convert quotes, since the result is a docstring.
2393         * lisp/info.el (Info-virtual-index-find-node)
2394         (Info-virtual-index, info-apropos):
2395         Simplify by generating only curved quotes, since info files are
2396         typically that ways nowadays anyway.
2397         * lisp/international/mule-diag.el (list-input-methods):
2398         Don’t assume text quoting style is curved.
2399         * lisp/org/org-bibtex.el (org-bibtex-fields):
2400         Revert my recent changes, going back to the old quoting style.
2402 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2404         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling
2405         (package--autoloads-file-name)
2406         (package--activate-autoloads-and-load-path): New function.
2407         (package-activate-1): Delegate autoloading and load-path
2408         configuration to `package--activate-autoloads-and-load-path'.
2409         (package--compile): Before compilation, call
2410         `package--activate-autoloads-and-load-path' instead of
2411         `package-activate-1'.
2413 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2415         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
2417 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
2419         Fix deletion of symlinks to directories on MS-Windows
2420         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
2421         symlink to a directory, try again with 'rmdir'.
2422         (is_symlink): If the argument is a symlink to a directory, set a
2423         bit in the return value to indicate that fact.
2425 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2427         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
2428         When `package-initialize' is called as part of loading the init file,
2429         the user probably doesn't want it to be called again afterwards. In this
2430         situation, `package-initialize' now sets `package-enable-at-startup' to
2431         nil to prevent that. The user can have the old behaviour by setting this
2432         variable to t after the call to `package-initialize'.  (Bug#21423)
2433         * doc/emacs/package.texi (Package Installation): Document it.
2434         * doc/lispref/package.texi (Packaging Basics): Document it.
2435         * etc/NEWS: Document it.
2437 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
2439         Bump version of ntlm.el to 2.00
2440         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.  Add comm
2441         keyword.
2443 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
2445         * doc/misc/gnus.texi (Mail Source Specifiers):
2446         Allow :mailbox to be a list.
2448 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
2450         Allow even one non-regular character before the implicit tag name
2451         * lisp/progmodes/etags.el (etags-tags-completion-table):
2452         Allow even one non-regular character before the implicit tag name.
2453         Reported at http://emacs.stackexchange.com/questions/15269/.
2455 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
2457         Add support for NTLMv2 authentication
2458         * net/ntlm.el (ntlm): New customization group.
2459         (ntlm-compatibility-level): New defcustom.
2460         (ntlm-compute-timestamp): New function.
2461         (ntlm-generate-nonce): Likewise.
2462         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
2464 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
2466         * lisp/emacs-lisp/package.el: Rename custom faces
2467         All of the recently introduced faces, like `package-name-face', have
2468         been renamed to no end in `-face' to comply with the convention
2469         described in (info "(elisp) Defining Faces").
2470         (package-name, package-description)
2471         (package-status-built-in, package-status-external)
2472         (package-status-available, package-status-new)
2473         (package-status-held, package-status-disabled)
2474         (package-status-installed, package-status-dependency)
2475         (package-status-unsigned, package-status-incompat)
2476         (package-status-avail-obso): New faces.
2477         (package-menu--print-info-simple): Use them.
2479 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
2481         mail-source.el: Make the imap mail-source's :mailbox handle a list
2482         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
2483         Allow :mailbox to be  a list.
2485 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
2487         nnimap.el:  Handle nil arg to nnimap-request-group
2488         * lisp/gnus/nnimap.el (nnimap-request-group):  Handle nil "info" arg.
2489         This arg isn't always passed in, check it's not nil before making it
2490         into a list.  The active arg will also be nil if the group is new,
2491         check for that.
2493 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
2495         File notifications: Support renaming over directory boundaries
2496         * lisp/filenotify.el (file-notify-handle-event):
2497         (file-notify--pending-event): Adapt docstring.
2498         (file-notify--descriptor, file-notify-callback): Reimplement in
2499         order to support renaming over directory boundaries.
2500         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
2501         * doc/lispref/os.texi (File Notifications): Remove limitation of
2502         file renaming to the same directory.
2504 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
2506         Spelling fix (Bug#21420)
2508 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
2510         Improve the semantic of map-some
2511         Update map-some to return the returned by the predicate, similar to
2512         seq-some.
2513         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
2514           return value of the predicate.
2515         * test/automated/map-tests.el (test-map-some): Update the test to check
2516           for non-nil values only.
2518         Rename map-contains-key-p and map-some-p
2519         Remove the "-p" suffix from both function names.
2520         * lisp/emacs-lisp/map.el (map-contains-key, map-some): Rename the functions.
2521         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
2522           Update both test functions.
2524         Improve the semantic of seq-some
2525         Update seq-some to return non-nil if the predicate returns non-nil for
2526         any element of the seq, in which case the returned value is the one
2527         returned by the predicate.
2528         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
2529           docstring.
2530         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
2531         * doc/lispref/sequences.texi (Sequence Functions): Update the
2532           documentation for seq-some.
2534         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
2535         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
2536           without the "-p" prefix.
2537         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
2538           the tests accordingly.
2539         * doc/lispref/sequences.texi (Sequence Functions): Update the
2540           documentation for seq.el.
2542 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
2544         text-quoting-style for usage of fn names with ‘’
2545         * lisp/help.el (help--docstring-quote): Don’t assume
2546         text-quoting-style is ‘curve’ when generating usage strings for
2547         functions whose names contain curved quotes.
2549 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
2551         Fix fix for describe-function keybinding confusion
2552         This fixes a bug introduced by the previous patch.
2553         * lisp/help-fns.el (help-fns--signature):
2554         Last arg of help-fns--signature is now a buffer, or nil if a
2555         raw signature is wanted.  All callers changed.
2556         (describe-function-1): Use this to do the right thing with signatures.
2558 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
2560         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
2562         Use PAT rather than UPAT in pcase macros
2563         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
2564         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
2565           than UPAT.
2567 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
2569         Fix describe-function keybinding confusion
2570         * lisp/help-fns.el (describe-function-1): Compute signature
2571         in the original buffer, not in standard-output, so that
2572         substitute-command-keys uses the proper keybindings.
2573         This fixes Bug#21412, introduced in commit
2574         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
2576 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
2578         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
2580 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
2582         Avoid read error messages from 'inotify'
2583         * src/process.c (wait_reading_process_output): Add a
2584         'tls_available' set and manipulate it instead of 'Available' when
2585         checking TLS inputs.  Assign the value to 'Available' only if we
2586         find any TLS data waiting to be read.  This avoids error messages
2587         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
2589 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
2591         Avoid errors in thing-at-point with 2nd argument non-nil
2592         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
2593         sequences.  (Bug#21391)
2595 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
2597         Fix segfaults due to using a stale face ID
2598         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
2599         (display_echo_area_1, redisplay_internal): Call it to avoid
2600         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
2601         faces, which could case a segfault if the frame's face cache was
2602         freed since the last redisplay.  (Bug#21394)
2603         * src/xfaces.c (free_realized_faces): Call
2604         forget_escape_and_glyphless_faces.
2605         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
2607 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
2609         Fix minor problems with " in manual
2611 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
2613         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
2614         multi-hop files.
2616 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
2618         Support automated ‘make check’ in non-C locale
2619         This lets the builder optionally test Emacs behavior in other locales.
2620         The C locale is still the default for tests.
2621         * test/automated/Makefile.in (TEST_LOCALE): New macro.
2622         (emacs): Use it.
2623         * test/automated/flymake-tests.el (flymake-tests--current-face):
2624         Use C locale for subprocesses so that tests behave as expected.
2625         * test/automated/python-tests.el:
2626         (python-shell-prompt-validate-regexps-1)
2627         (python-shell-prompt-validate-regexps-2)
2628         (python-shell-prompt-validate-regexps-3)
2629         (python-shell-prompt-validate-regexps-4)
2630         (python-shell-prompt-validate-regexps-5)
2631         (python-shell-prompt-validate-regexps-6)
2632         (python-shell-prompt-set-calculated-regexps-1):
2633         Adjust expected output to match locale.
2634         * test/automated/tildify-tests.el (tildify-test--test)
2635         (tildify-space-test--test, tildify-space-undo-test--test):
2636         This test assumes UTF-8 encoding.
2638 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
2640         Fix some more docstring etc. quoting problems
2641         Mostly these fixes prevent the transliteration of apostrophes
2642         that should stay apostrophes.  Also, prefer curved quotes in
2643         Bahá’í proper names, as that’s the preferred Bahá’í style and
2644         these names are chock-full of non-ASCII characters anyway.
2645         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
2646         (eieio-defclass-internal):
2647         * lisp/emacs-lisp/eieio.el (defclass):
2648         * lisp/hi-lock.el (hi-lock-mode):
2649         Don’t transliterate Lisp apostrophes when generating a
2650         doc string or diagnostic.
2651         * lisp/international/mule-diag.el (list-coding-systems-1):
2652         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
2653         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
2654         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
2655         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
2656         Substitute quotes before putting them in the help buffer.
2658 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
2660         Re-add the notion of echo_prompt lost in the translation
2661         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
2662         echo_prompt which contains the actual string.  Update all uses.
2663         * src/keyboard.c (kset_echo_prompt): New function.
2664         (echo_update): Add echo_prompt at the very beginning.
2665         (read_char): Remove workaround for bug#19875, not needed any more.
2666         (read_key_sequence): Set echo_prompt rather than echo_string (bug#21403).
2667         (mark_kboards): Mark echo_prompt.
2669         Fix disassembly of non-compiled lexical functions (bug#21377)
2670         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
2671         * lisp/emacs-lisp/disass.el: Use lexical-binding.
2672         (disassemble): Recognize `closure's as well.
2673         (disassemble-internal): Use indirect-function and
2674         help-function-arglist, and accept `closure's.
2675         (disassemble-internal): Use interactive-form.
2676         (disassemble-1): Use functionp.
2678         (tex--prettify-symbols-compose-p): Don't compose in verbatim blocks!
2679         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
2680         Don't compose inside verbatim blocks!
2682 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
2684         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
2685         (bug#19441)
2687         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394)
2689 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
2691         vc-git-mode-line-string: Explicitly re-apply the face
2692         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
2693         the face (bug#21404).
2695 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
2697         Treat initial-scratch-message as a doc string
2698         * doc/emacs/building.texi (Lisp Interaction):
2699         * doc/lispref/os.texi (Startup Summary):
2700         * etc/NEWS: Document this.
2701         * lisp/startup.el (initial-scratch-message):
2702         Look up find-file’s key rather than hardcoding it.
2703         (command-line-1): Substitute the doc string.
2704         This also substitutes the quotes, which will help test display
2705         quoting at startup.
2707         Fix describe-char bug with glyphs on terminals
2708         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
2709         buffers too, so don’t treat them differently from graphic displays.
2710         Without this fix, describe-char would throw an error on a terminal
2711         if given a glyph with a non-default face.
2713         Follow text-quoting-style in display table init
2714         This attempts to fix a problem reported by Alan Mackenzie in:
2715         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
2716         * doc/lispref/display.texi (Active Display Table):
2717         Mention how text-quoting-style affects it.
2718         * doc/lispref/help.texi (Keys in Documentation):
2719         Say how to set text-quoting-style in ~/.emacs.
2720         * etc/NEWS: Document the change.
2721         * lisp/startup.el (startup--setup-quote-display):
2722         Follow user preference if text-quoting-style is set.
2723         (command-line): Setup quote display again if user expresses
2724         a preference in .emacs.
2726 2015-09-02  K. Handa  <handa@gnu.org>
2728         Fix typo
2729         * ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask -> OTF_positioning_type_components_mask.
2731         Fix previous change
2732         * ftfont.c (ftfont_drive_otf): Remember some bits of
2733         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
2735 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
2737         * lisp/vc/vc-hooks.el (vc-refresh-state): New command
2738         (vc-refresh-state): Rename from vc-find-file-hook and make interactive.
2739         (vc-find-file-hook): Redefine as obsolete alias.
2741 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2743         Escape ` and ' in doc
2744         Escape apostrophes and grave accents in docstrings if they are
2745         are supposed to stand for themselves and are not quotes.  Remove
2746         apostrophes from docstring examples like ‘'(calendar-nth-named-day
2747         -1 0 10 year)’ that confuse source code with data.  Do some other
2748         minor docstring fixups as well, e.g., insert a missing close
2749         quote.
2751 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2753         Generalize the prefix-command machinery of C-u
2754         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
2755         (prefix-command-preserve-state-hook): New hooks.
2756         (internal-echo-keystrokes-prefix): New function.
2757         (prefix-command--needs-update, prefix-command--last-echo): New vars.
2758         (prefix-command-update, prefix-command-preserve): New functions.
2759         (reset-this-command-lengths): New compatibility definition.
2760         (universal-argument--mode): Call prefix-command-update.
2761         (universal-argument, universal-argument-more, negative-argument)
2762         (digit-argument): Call prefix-command-preserve-state.
2763         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
2764         the "prefix argument" to echo.
2765         (this_command_key_count_reset, before_command_key_count)
2766         (before_command_echo_length): Delete variables.
2767         (echo_add_key): Always add a space.
2768         (echo_char): Remove.
2769         (echo_dash): Don't give up when this_command_key_count is 0, since that
2770         is now the case after a prefix command.
2771         (echo_update): New function, extracted from echo_now.
2772         (echo_now): Use it.
2773         (add_command_key, read_char, record_menu_key): Remove old disabled code.
2774         (command_loop_1): Don't refrain from pushing an undo boundary when
2775         prefix-arg is set.  Remove other prefix-arg special case, now handled
2776         directly in the prefix commands instead.  But call echo_now if there's
2777         a prefix state to echo.
2778         (read_char, record_menu_key): Use echo_update instead of echo_char.
2779         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
2780         (Freset_this_command_lengths): Delete function.
2781         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
2782         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
2783         * lisp/simple.el: Use those new hooks for C-u.
2784         (universal-argument--description): New function.
2785         (prefix-command-echo-keystrokes-functions): Use it.
2786         (universal-argument--preserve): New function.
2787         (prefix-command-preserve-state-hook): Use it.
2788         (command-execute): Call prefix-command-update if needed.
2789         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
2790         (kmacro-step-edit-prefix-index): Delete variables.
2791         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
2792         support for prefix arg commands.
2793         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
2794         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
2795         (cua--shift-control-prefix): Use prefix-command-preserve-state.
2796         Remove now unused arg `arg'.
2797         (cua--prefix-override-handler, cua--prefix-repeat-handler)
2798         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
2799         Update accordingly.
2800         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
2801         any more.
2802         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
2803         if the mark is not set.
2805 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2807         Rework quoting in Emacs Lisp Introduction
2808         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
2809         (if in more detail, type-of-animal in detail, else): Rework the
2810         early example to use " rather than ' so that we don’t burden
2811         complete novices with the low-priority detail of text quoting style.
2812         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
2813         (kill-new function, kill-ring-yank-pointer)
2814         (Complete forward-sentence, Loading Files)
2815         (Code for current-kill, Code for current-kill, yank):
2816         Resurrect the Emacs 22 versions of the code, which uses grave
2817         quoting style in doc strings.
2818         (Complete zap-to-char): Mention how quoting works in doc strings.
2820         Setup quote display only if interactive
2821         * lisp/startup.el (command-line):
2822         Skip call to startup--setup-quote-display if noninteractive.
2823         Without this change, python-shell-prompt-validate-regexps-1
2824         fails in test/automated/python-tests.el when run in an
2825         en_US.utf8 locale on Fedora.
2827 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
2829         Use defalias at the top level
2830         * lisp/gnus/gnus-util.el (gnus-format-message):
2831         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
2832         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
2834 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2836         terminal-init-w32console mimicks command-line
2837         Problem reported by Eli Zaretskii.
2838         * lisp/startup.el (startup--setup-quote-display):
2839         New function, refactored from a part of ‘command-line’.
2840         (command-line): Use it.
2841         * lisp/term/w32console.el (terminal-init-w32console):
2842         Use it, so that this function stays consistent with ‘command-line’.
2844         Display replacement quotes with shadow glyphs
2845         * lisp/startup.el (command-line): When displaying ASCII
2846         replacements for curved quotes, use a shadow glyph instead of a
2847         regular one, to avoid ambiguity.
2849 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
2851         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
2853 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2855         Docstring fixes re quotes in C code
2856         Fix some docstring quoting problems, mostly by escaping apostrophe.
2858 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
2860         Some Tramp password fixes
2861         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
2862         of the hops.
2863         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
2864         at the beginning of the command.  Otherwise, it could be
2865         interpreted as password prompt if the remote host echoes the
2866         command.
2867         (tramp-remote-coding-commands): Add "openssl enc -base64".
2869 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
2871         Make vc-git-working-revision always return the commit hash
2872         * lisp/vc/vc-git.el (vc-git-working-revision):
2873         Return the commit hash (bug#21383).
2874         (vc-git--symbolic-ref): New function, extracted from above.
2875         (vc-git-mode-line-string): Use it.
2877 2015-09-01  K. Handa  <handa@gnu.org>
2879         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs.
2880         * ftfont.c (MFLTGlyphFT): New type.
2881         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
2882         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
2883         elements in the array MFLTGlyphString.glyphs.
2885 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
2887         Improve comments in elisp-mode.el, elisp-mode-tests.el
2888         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
2890         Delete Emacs 25 test in mode-local.el
2891         * lisp/cedet/mode-local.el (describe-mode-local-overload): Fix missed an
2892         edit in previous commit.
2894         Show all known mode-local overrides in *Help*
2895         * lisp/cedet/mode-local.el (describe-mode-local-overload): Assume Emacs
2896         25. Add all known mode-local overrides.
2898 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
2900         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
2901         Ensure that the article where the search word is found is displayed
2902         and pointed to in the summary buffer.
2904 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
2906         * lisp/newcomment.el (comment-dwim): Use `use-region-p'
2907         When the region is active, but is empty (length 0), act as though
2908         the region was not active; that is, put a comment at the end of
2909         the line.  (Bug#21119)
2911 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
2913         Port tls.el to older Emacs
2914         * lisp/net/tls.el (tls-format-message):
2915         Alias to format-message, or format if not available.
2916         (open-tls-stream): Use it.
2918 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
2920         hideif.el: Recognize .h++ as C++ header.
2921         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
2923         isearch: Document character folding mode.
2924         * isearch.el (isearch-forward): Mention `isearch-toggle-character-fold'
2925         in doc string.
2927 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2929         Quoting fixes in ERC and Eshell
2930         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
2931         * lisp/erc/erc-backend.el (define-erc-response-handler):
2932         * lisp/erc/erc-fill.el (erc-fill-static-center):
2933         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
2934         * lisp/eshell/em-glob.el (eshell-glob-entries):
2935         * lisp/eshell/em-hist.el (eshell-save-some-history):
2936         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
2937         (eshell-shuffle-files):
2938         * lisp/eshell/esh-cmd.el (eshell-do-eval):
2939         * lisp/eshell/esh-proc.el (eshell-process-interact)
2940         (eshell-query-kill-processes):
2941         Respect ‘text-quoting-style’ in diagnostics and doc strings.
2943         Quoting fixes in Gnus
2944         * lisp/gnus/gnus-agent.el:
2945         (gnus-agent-possibly-synchronize-flags-server):
2946         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
2947         * lisp/gnus/gnus-eform.el (gnus-edit-form):
2948         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
2949         (gnus-group-nnimap-edit-acl):
2950         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
2951         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
2952         * lisp/gnus/message.el (message-strip-subject-encoded-words)
2953         (message-check-recipients, message-send-form-letter):
2954         * lisp/gnus/mm-decode.el (mm-display-part):
2955         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
2956         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
2957         (mml-smime-get-ldap-cert):
2958         * lisp/gnus/spam-report.el (spam-report-process-queue):
2959         Respect ‘text-quoting-style’ in diagnostics.
2960         * lisp/gnus/gnus-art.el (article-display-face)
2961         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
2962         Use straight quoting in email.
2963         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
2964         Escape apostrophes in doc strings.
2966         Quoting fixes in lisp mail, mh-e, net, url
2967         * lisp/mail/emacsbug.el (report-emacs-bug)
2968         (report-emacs-bug-hook): Use straight quotes in outgoing email,
2969         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
2970         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
2971         * lisp/mail/rmailout.el (rmail-output-read-file-name):
2972         * lisp/net/imap.el (imap-interactive-login):
2973         * lisp/net/tls.el (open-tls-stream):
2974         * lisp/url/url-auth.el (url-register-auth-scheme):
2975         Respect ‘text-quoting-style’ in diagnostics.
2976         * lisp/mh-e/mh-e.el (mh-sortm-args):
2977         Quote docstring example using text quotes, not as a Lisp quote.
2979 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
2981         Fix some byte-compiler warnings in EDE
2982         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
2983         existing autoloader list, rather than add to it.
2984         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
2985         argument to eieio class constructor.
2986         (ede-show-supported-projects): New.
2987         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
2988         with (oref ... name).
2989         (ede-auto-load-project): Use slot name, not initarg key.
2990         * lisp/cedet/ede/generic.el (ede-generic-load,
2991         ede-generic-find-matching-target): Use slot name, not initarg key.
2992         (ede-find-target): Use oref-default on class name.
2993         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
2994         class constructor.
2995         (ede-enable-generic-projects): Make project type names unique.
2997 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
2999         Fix directory accessibility tests for w32 network volumes
3000         * src/w32.c (faccessat): Don't fail with network volumes without a
3001         share.
3002         (w32_accessible_directory_p): Handle network volumes without a
3003         share.
3005         Fix handling long file names in readdir on MS-Windows
3006         * src/w32.c (sys_readdir): Append "\*" to the directory after
3007         converting it to UTF-16/ANSI, not before, to avoid overflowing the
3008         260-character limit on file names in filename_to_utf16/ansi.
3010         Make file-accessible-directory-p reliable on MS-Windows
3011         * src/w32.c (w32_accessible_directory_p): New function.
3012         * src/w32.h (w32_accessible_directory_p): Add prototype.
3013         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
3014         w32_accessible_directory_p to test a directory for accessibility
3015         by the current user.  (Bug#21346)
3016         (Ffile_accessible_directory_p): Remove the w32 specific caveat
3017         from the doc string.
3019 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
3021         Don't call do_pending_window_change in signal handlers (Bug#21380)
3022         * src/gtkutil.c (xg_frame_resized):
3023         * src/xterm.c (x_set_window_size):
3024         * src/w32term.c (x_set_window_size): Don't call
3025         do_pending_window_change.
3027 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3029         Quoting fixes in lisp/org
3030         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
3031         (org-tags-view):
3032         * lisp/org/org-capture.el (org-capture-mode)
3033         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
3034         (org-ctags-ask-append-topic):
3035         * lisp/org/org.el (org-time-string-to-time)
3036         (org-time-string-to-absolute):
3037         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
3038         (org-ctags-ask-append-topic):
3039         * lisp/org/org.el (org-time-string-to-time)
3040         (org-time-string-to-absolute):
3041         Respect ‘text-quoting-style’ in diagnostics.
3042         * lisp/org/org-agenda.el (org-agenda-custom-commands)
3043         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
3044         * lisp/org/org-capture.el (org-capture-fill-template):
3045         Avoid contraction in output file that might be ASCII.
3046         * lisp/org/org-compat.el (format-message):
3047         Define if not already defined, for backward compatibility.
3048         * lisp/org/org-src.el (org-edit-src-save):
3049         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
3050         Escape apostrophes in diagnostics.
3052         Treat “instead” strings as docstrings
3053         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
3054         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
3055         Substitute quotes in instead strings.
3057 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
3059         Better documentation of seq-let
3060         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
3061         documentation of seq-let.
3063 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3065         * lisp/international/ccl.el: Fix quoting.
3067         Quoting fixes in lisp/international and lisp/leim
3068         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
3069         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
3070         * lisp/international/mule-cmds.el:
3071         (select-safe-coding-system-interactively, leim-list-file-name):
3072         * lisp/international/quail.el (quail-use-package, quail-help):
3073         * lisp/international/titdic-cnv.el (tit-process-header)
3074         (miscdic-convert):
3075         Respect text quoting style in doc strings and diagnostics.
3076         * lisp/international/quail.el (lisp/international/quail.el):
3077         * lisp/leim/quail/ethiopic.el ("ethiopic"):
3078         Escape apostrophes in doc strings.
3080         Make ‘text-quoting-style’ a plain defvar
3081         It doesn’t need customization, as it’s likely useful only by experts.
3082         Suggested by Stefan Monnier in:
3083         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
3084         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
3086         Quoting fixes in lisp/textmodes
3087         * lisp/textmodes/bibtex.el (bibtex-validate)
3088         (bibtex-validate-globally, bibtex-search-entries):
3089         * lisp/textmodes/ispell.el (ispell-command-loop):
3090         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
3091         * lisp/textmodes/texinfmt.el (texinfmt-version)
3092         (texinfo-format-region, texinfo-format-buffer-1):
3093         * lisp/textmodes/two-column.el (2C-split):
3094         Respect text quoting style in doc strings and diagnostics.
3095         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
3096         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
3097         Escape apostrophes in doc strings.
3099         Documentation fixes re quotes
3100         Prefer curved quotes in examples if users will typically see
3101         curved quotes when the examples run.
3102         Mention format-message when appropriate.
3103         Don’t use @code in examples.
3104         Quote an apostrophe with @kbd.
3106         Quoting fixes in lisp/progmodes
3107         * lisp/progmodes/cc-engine.el (c-bos-report-error):
3108         * lisp/progmodes/cpp.el (cpp-edit-reset):
3109         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
3110         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
3111         (etags-tags-apropos, list-tags, tags-apropos):
3112         * lisp/progmodes/executable.el (executable-set-magic):
3113         * lisp/progmodes/octave.el (octave-sync-function-file-names)
3114         (octave-help, octave-find-definition-default-filename)
3115         (octave-find-definition):
3116         Respect text quoting style in doc strings and diagnostics.
3117         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
3118         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
3119         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
3120         Escape apostrophes in doc strings.
3121         * lisp/progmodes/cmacexp.el (c-macro-expansion):
3122         Use straight quoting in ASCII comment.
3123         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
3124         (idlwave-pad-keyword):
3125         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
3126         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
3127         (vhdl-electric-semicolon, vhdl-electric-comma)
3128         (vhdl-electric-period, vhdl-electric-equal):
3129         Use directed quotes in diagnostics and doc strings.
3131 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
3133         Minor documentation and NEWS tweak
3134         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let): Add an index
3135         entry.
3136         * NEWS: Fix a typo in character-fold-to-regexp.
3138 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
3140         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
3141         Revert patch from 2015-08-24.  Tramp shall be have like for local files.
3142         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
3143         Adapt test.
3145 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3147         Text quoting fixes in cedet, emulation, emacs-lisp
3148         * lisp/cedet/ede.el (ede-check-project-directory):
3149         * lisp/cedet/semantic/analyze/debug.el:
3150         (semantic-analyzer-debug-insert-include-summary):
3151         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
3152         * lisp/cedet/semantic/decorate/include.el:
3153         (semantic-decoration-unknown-include-describe)
3154         (semantic-decoration-all-include-summary):
3155         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
3156         * lisp/emulation/edt.el (edt-load-keys):
3157         * lisp/emulation/viper-cmd.el:
3158         (viper-display-current-destructive-command)
3159         (viper-query-replace, viper-brac-function):
3160         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
3161         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
3162         Respect text quoting style in doc string or diagnostic.
3163         * lisp/cedet/mode-local.el (describe-mode-local-overload):
3164         Use format-message to avoid overtranslating quotes.
3165         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
3166         Escape an apostrophe in a docstring.
3167         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
3169 2015-08-29  Daniel Colascione  <dancol@dancol.org>
3171         Fix which-func for curly quotes: look for symbol, not message
3172         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
3173         imenu-unavailable error symbol instead of trying to match message
3174         exactly.
3175         * lisp/imenu.el (imenu-unavailable): New error.
3176         (imenu-unavailable-error): New function.
3178 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
3180         Fix Python tests on MS-Windows
3181         * test/automated/python-tests.el
3182         (python-shell-calculate-command-1): Run python-shell-interpreter
3183         through shell-quote-argument before comparing with what
3184         python-shell-calculate-command returns.
3185         (python-shell-calculate-pythonpath-1)
3186         (python-shell-calculate-pythonpath-2)
3187         (python-shell-calculate-process-environment-2): Use path-separator
3188         instead of a literal ':'.
3189         (python-shell-calculate-exec-path-2)
3190         (python-shell-calculate-exec-path-3)
3191         (python-shell-calculate-exec-path-4)
3192         (python-shell-with-environment-1)
3193         (python-shell-with-environment-2): Run "/env/bin" through
3194         expand-file-name before comparing with exec-path.  (Bug#21375)
3196 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3198         Use Core Text types/functions/variables/enumerators directly
3199         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
3200         (CharacterCollection): Remove typedefs.  All uses replaced with
3201         definitions.
3202         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
3203         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
3204         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
3205         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
3206         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
3207         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
3208         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
3209         definitions.
3210         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
3211         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
3212         (MAC_FONT_FORMAT_BITMAP)
3213         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
3214         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.  All
3215         uses replaced with definitions.
3216         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
3217         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
3218         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add
3219         compatibility enumerators for older versions.
3220         (mac_font_descriptor_create_with_attributes)
3221         (mac_font_descriptor_create_matching_font_descriptors)
3222         (mac_font_descriptor_create_matching_font_descriptor)
3223         (mac_font_descriptor_copy_attribute)
3224         (mac_font_descriptor_supports_languages)
3225         (mac_font_create_with_name, mac_font_get_size)
3226         (mac_font_copy_family_name, mac_font_copy_character_set)
3227         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
3228         (mac_font_get_descent, mac_font_get_leading)
3229         (mac_font_get_underline_position)
3230         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
3231         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
3232         replaced with definitions.
3233         (mac_font_create_preferred_family_for_attributes)
3234         (mac_font_get_advance_width_for_glyph)
3235         (mac_font_get_bounding_rect_for_glyph)
3236         (mac_font_create_available_families, mac_font_shape): Remove
3237         macros for renamed functions.
3238         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
3239         * src/macterm.m (mac_font_descriptor_supports_languages): Rename
3240         from mac_ctfont_descriptor_supports_languages.
3241         (mac_font_create_preferred_family_for_attributes): Rename from
3242         mac_ctfont_create_preferred_family_for_attributes.
3243         (mac_font_get_advance_width_for_glyph): Rename from
3244         mac_ctfont_get_advance_width_for_glyph.  Use
3245         kCTFontOrientationDefault also for older versions.
3246         (mac_font_get_bounding_rect_for_glyph): Rename from
3247         mac_ctfont_get_bounding_rect_for_glyph. Use
3248         kCTFontOrientationDefault also for older versions.
3249         (mac_font_create_available_families): Rename from
3250         mac_ctfont_create_available_families.
3251         (mac_font_equal_in_postscript_name): Rename from
3252         mac_ctfont_equal_in_postscript_name.  All uses changed.
3253         (mac_font_create_line_with_string_and_font): Rename from
3254         mac_ctfont_create_line_with_string_and_font.  All uses changed.
3255         (mac_font_shape): Rename from mac_ctfont_shape.
3256         (mac_font_family_compare): Remove unused declaration.
3258 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3260         Fix minor text quoting in calc, calendar, vc
3261         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
3262         * lisp/calc/calc-help.el (calc-j-prefix-help):
3263         * lisp/calc/calc-misc.el (calc-help):
3264         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
3265         Escape an apostrophe in a docstring.
3266         * lisp/calc/calc-forms.el (calc-hms-notation):
3267         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
3268         Escape an apostrophe in a diagnostic.
3269         * lisp/calc/calc-misc.el (calc-help):
3270         * lisp/calendar/diary-lib.el (diary-include-files):
3271         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
3272         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
3273         * lisp/vc/ediff-diff.el (ediff-same-contents):
3274         * lisp/vc/ediff-merg.el (ediff-re-merge):
3275         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
3276         * lisp/vc/ediff-util.el (ediff-test-save-region)
3277         (ediff-status-info):
3278         * lisp/vc/ediff.el (ediff-merge-revisions)
3279         (ediff-merge-revisions-with-ancestor):
3280         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
3281         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
3282         Respect text quoting style in doc string or diagnostic.
3283         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
3284         * lisp/vc/add-log.el (change-log-goto-source):
3285         Avoid double-formatting.
3286         * lisp/vc/ediff-init.el (format-message):
3287         New backward-compatibility alias.
3289 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
3291         Fix minor text quoting problems in lisp top level
3292         * lisp/apropos.el (apropos-describe-plist):
3293         * lisp/cus-theme.el (customize-themes):
3294         * lisp/dired.el (dired-log):
3295         * lisp/help-fns.el (describe-variable):
3296         * lisp/hexl.el (hexl-insert-multibyte-char):
3297         * lisp/info.el (Info-finder-find-node):
3298         * lisp/json.el (json-read-string):
3299         * lisp/novice.el (disabled-command-function)
3300         (disabled-command-function):
3301         * lisp/startup.el (normal-mouse-startup-screen):
3302         * lisp/woman.el (WoMan-log, WoMan-warn):
3303         Respect text quoting style in doc string or diagnostic.
3304         * lisp/replace.el (replace-character-fold):
3305         * src/syntax.c (Fmodify_syntax_entry):
3306         Escape an apostrophe in a docstring.
3307         * lisp/tempo.el (tempo-define-template):
3308         Remove confusing apostrophe from docstring.
3309         * lisp/whitespace.el (whitespace-mark-x):
3310         Use directed quotes in docstring.
3312 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
3314         Fix indentation rule in css-mode
3315         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
3316         brackets in presence of pseudo-selectors.  (Bug#21328)
3318 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
3320         Fix a bug in recording a macro while flyspell-mode is active
3321         * lisp/subr.el (sit-for): Don't call read-event when recording a
3322         macro.  (Bug#21329)
3324 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
3326         Tweak startup screen quoting
3327         * lisp/startup.el (normal-splash-screen): Use standard
3328         "M-" abbrevation rather than a confusingly-different one.
3329         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
3331 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
3333         Add test case for ‘format’ bug and refactor
3334         * src/editfns.c (styled_format): Refactor internally, mostly by
3335         moving declarations closer to uses.  This should not affect behavior.
3336         * test/automated/textprop-tests.el (textprop-tests-format): New test.
3338         Fix ‘format’ bug with property offsets
3339         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
3340         bug in calculating string property offsets (Bug#21351).
3342         Use straight quotes in lib-src diagnostics
3343         These auxiliary programs can’t use Emacs’s text-quoting-style,
3344         and it’s too much trouble to redo that mechanism by hand.
3345         So just use straight quotes for now.
3346         * lib-src/ebrowse.c (main):
3347         * lib-src/emacsclient.c (decode_options, main):
3348         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
3349         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
3350         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
3351         (none_help, print_language_names, print_help, add_regex)
3352         (suggest_asking_for_help):
3353         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
3354         Use straight quotes in diagnostics.
3356         ‘text-quoting-style’ fixes for admin
3357         * admin/admin.el (cusver-scan, cusver-check):
3358         * admin/authors.el (authors-canonical-file-name):
3359         * admin/bzrmerge.el (bzrmerge-missing):
3360         Respect ‘text-quoting-style’ in diagnostics.
3362 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3364         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
3365         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
3366         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
3367         * doc/lispref/internals.texi (Writing Emacs Primitives):
3368         * etc/NEWS:
3369         Document the change.
3370         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
3371         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
3372         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
3373         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
3374         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
3375         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
3376         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
3377         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
3378         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
3379         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
3380         Remove.  All uses removed.  The code now assumes
3381         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
3382         * src/bytecode.c (relocate_byte_stack):
3383         Rename from unmark_byte_stack, since it now only relocates.
3384         All callers changed.
3385         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
3386         with GCPROs removed.
3387         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
3388         * test/automated/finalizer-tests.el (finalizer-basic)
3389         (finalizer-circular-reference, finalizer-cross-reference)
3390         (finalizer-error):
3391         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
3392         Remove tests, as they depend on gc-precise.
3394 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
3396         Improve seq-concatenate for new sequence types
3397         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
3398         ensure that concatenation happens on sequences only.  This makes it
3399         possible to use `seq-concatenate' for new types of seqs.
3400         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate): New
3401         function used in `seq-concatenate'.
3402         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
3403         for seq-into-sequence.
3405 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
3407         Add mode local overrides to xref-find-definitions
3408         * lisp/cedet/mode-local.el (xref-mode-local--override-present,
3409         xref-mode-local-overload): New; add mode local overrides to
3410         xref-find-definitions.
3411         * test/automated/elisp-mode-tests.el: Add mode local override tests.
3412         (xref-elisp-test-run): Handle indented defuns.
3413         (xref-elisp-generic-*): Improve doc strings.
3414         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
3415         (elisp--xref-find-definitions): Use it.
3417         Add mode local overrides to describe-function
3418         * lisp/cedet/mode-local.el (describe-mode-local-overload): New; add mode
3419         local overrides to describe-function.
3420         * etc/NEWS: Document change.
3422 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3424         Prefer straight quoting in some etc text files
3425         These files are plain text and might be used by non-Emacs apps.
3426         They’re mostly ASCII, so just use straight quotes.
3428         Fix quoting in ‘message_with_string’
3429         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
3430         should work now.
3431         * src/xdisp.c (message_to_stderr): New function, refactored from
3432         part of ‘message3_nolog’.
3433         (message3_nolog): Use it.
3434         (message_with_string): Use it.  Don’t mishandle NUL bytes when
3435         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
3436         Use ‘format-message’, not ‘format’, so that quotes are translated.
3438 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
3440         Mention false positives of file-accessible-directory on w32
3441         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
3442         (Bug#21346)
3444 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3446         Treat error strings as help
3447         * src/print.c (print_error_message): Translate quotes and command
3448         keys in errmsg so that users see, e.g., "Symbol’s value as
3449         variable is void: foo" when text-quoting-style is curved.
3451 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
3453         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
3455 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3457         Top-level elisp files respect ‘text-quoting-style’
3458         In top-level elisp files, use format-message in diagnostic formats,
3459         so that they follow user preference as per ‘text-quoting-style’
3460         rather than being hard-coded to quote `like this'.
3461         * lisp/allout.el (allout-get-configvar-values):
3462         * lisp/apropos.el (apropos-symbols-internal):
3463         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
3464         (dired-do-create-files-regexp, dired-create-files-non-directory):
3465         * lisp/dired-x.el (dired-do-run-mail):
3466         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
3467         * lisp/disp-table.el (standard-display-european):
3468         * lisp/find-dired.el (find-dired):
3469         * lisp/forms.el (forms-mode):
3470         * lisp/ido.el (ido-buffer-internal):
3471         * lisp/info.el (Info-index-next):
3472         * lisp/outline.el (outline-invent-heading):
3473         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
3474         * lisp/proced.el (proced-log):
3475         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
3476         * lisp/recentf.el (recentf-open-files, recentf-save-list):
3477         * lisp/savehist.el (savehist-save):
3478         * lisp/server.el (server-ensure-safe-dir):
3479         * lisp/ses.el (ses-rename-cell):
3480         * lisp/simple.el (list-processes--refresh):
3481         * lisp/startup.el (command-line):
3482         * lisp/strokes.el (strokes-unset-last-stroke)
3483         (strokes-execute-stroke):
3484         Use format-message so that quotes are restyled.
3485         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
3486         Don’t quote ‘raised’.
3487         * lisp/descr-text.el (describe-char):
3488         * lisp/dirtrack.el (dirtrack-debug-message):
3489         * lisp/hexl.el (hexl-insert-multibyte-char):
3490         Apply substitute-command-keys to help string.
3491         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
3492         (wdired-do-perm-changes):
3493         Let dired-log do the formatting.
3495 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3497         Go back to grave quoting in Tramp
3498         * lisp/net/tramp-adb.el:
3499         * lisp/net/tramp-cache.el:
3500         * lisp/net/tramp-compat.el:
3501         * lisp/net/tramp-gvfs.el:
3502         * lisp/net/tramp-gw.el:
3503         * lisp/net/tramp-sh.el:
3504         * lisp/net/tramp-smb.el:
3505         * lisp/net/tramp.el:
3506         Stick with grave quoting in diagnostics strings.  This is more
3507         portable to older Emacs, desirable for Tramp.
3508         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
3509         for diagnostic that needs requoting.
3510         * lisp/net/tramp-compat.el (format-message):
3511         Fall back on simple ‘format’, since that’s good enough now.
3513         Go back to grave quoting in Gnus
3514         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
3515         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
3516         (gnus-agent-fetch-headers):
3517         * lisp/gnus/gnus-int.el (gnus-start-news-server):
3518         * lisp/gnus/gnus-registry.el:
3519         (gnus-registry--split-fancy-with-parent-internal)
3520         (gnus-registry-post-process-groups):
3521         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
3522         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
3523         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
3524         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
3525         * lisp/gnus/spam.el (spam-check-blackholes):
3526         Stick with grave quoting in diagnostics strings.  This is more
3527         portable to older Emacs, desirable for Gnus.
3529         Fix customization of text-quoting-style
3530         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
3531         * lisp/wid-edit.el (widget-docstring):
3532         Get raw docstring here since it’s cooked later and should not be
3533         cooked twice.
3534         * lisp/cus-edit.el (custom-group-value-create):
3535         Cook the docstring before inserting it.
3536         * lisp/cus-start.el (text-quoting-style): Quote the customization
3537         docstrings according to the new rules.  Give curved examples.
3539         format-message now curves ` and '
3540         That way, the caller doesn’t have to use curved quotes to
3541         get diagnostics that match the text-quoting-style preferences.
3542         Suggested by Dmitry Gutov in:
3543         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
3544         This means we no longer need %qs, so remove that format.
3545         While we’re at it, fix an unlikely bug and lessen the pressure
3546         on the garbage collector by processing the string once rather
3547         than twice in the usual case.
3548         * doc/lispref/strings.texi (Formatting Strings):
3549         * etc/NEWS: Document this.
3550         * lisp/subr.el (format-message): Remove; now done in C.
3551         * src/callint.c (Fcall_interactively):
3552         * src/editfns.c (Fmessage, Fmessage_box):
3553         Use Fformat_message instead of Finternal__text_restyle
3554         followed by Fformat.
3555         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
3556         uLSQM and uRSQM.
3557         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
3558         when pure ASCII now suffices.  Fix unlikely bug when parsing
3559         unibyte string containing non-ASCII bytes.  Use inline code
3560         rather than memcpy, as it’s a tiny number of bytes.
3561         (Finternal__text_restyle): Remove; no longer used.
3562         (syms_of_doc): Don’t declare it.
3563         * src/editfns.c (Fformat): Rewrite in terms of new function
3564         ‘styled_format’.
3565         (Fformat_message): New function, moved here from subr.el.
3566         (styled_format): New function, with the old guts of Fformat,
3567         except it now optionally transliterates quotes, and it transliterates
3568         traditional grave accent and apostrophe quoting as well.
3569         Remove recently-added q flag; no longer needed or used.
3570         (syms_of_editfns): Define format-message.
3571         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
3572         Remove; no longer need to be global symbols.
3573         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
3574         so that callers can use `%s'.
3575         * src/image.c (image_size_error, xbm_load_image, xbm_load)
3576         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
3577         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
3578         (svg_load_image, gs_load, x_kill_gs_process):
3579         * src/lread.c (load_warn_old_style_backquotes):
3580         * src/xfaces.c (load_pixmap):
3581         * src/xselect.c (x_clipboard_manager_error_1):
3582         Use `%s' instead of %qs in formats.
3584 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
3586         Minor fixes in doc/emacs/search.texi
3587         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
3588         (Special Isearch): Use @w{} to generate several consecutive spaces
3589         with Texinfo 6.  (Bug#21345)
3591 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
3593         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
3594         (tramp-awk-coding-test): New defconsts.
3595         (tramp-remote-coding-commands): Use them.
3596         (tramp-find-inline-encoding): Check for Perl only if necessary.
3598 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
3600         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
3601         index entries for the special form `quote'.
3603 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3605         Spelling fixes
3607         Gnus format-message typo fix
3608         * lisp/gnus/gnus-util.el (gnus-format-message):
3609         Fix typo when running in older Emacs.
3611         Prefer directed to neutral quotes
3612         Prefer directed to neutral quotes in docstings and diagnostics.
3613         In docstrings, escape apostrophes that would otherwise be translated
3614         to curved quotes using the newer, simpler rules.
3615         * admin/unidata/unidata-gen.el (unidata-gen-table):
3616         * lisp/align.el (align-region):
3617         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
3618         * lisp/bookmark.el (bookmark-default-annotation-text):
3619         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
3620         * lisp/calc/calc-lang.el (math-read-giac-subscr)
3621         (math-read-math-subscr):
3622         * lisp/calc/calc-misc.el (report-calc-bug):
3623         * lisp/calc/calc-prog.el (calc-fix-token-name)
3624         (calc-read-parse-table-part):
3625         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
3626         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
3627         * lisp/dabbrev.el (dabbrev-expand):
3628         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
3629         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
3630         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
3631         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
3632         * lisp/erc/erc-button.el (erc-nick-popup):
3633         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
3634         * lisp/eshell/em-dirs.el (eshell/cd):
3635         * lisp/eshell/em-glob.el (eshell-glob-regexp):
3636         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
3637         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
3638         * lisp/eshell/esh-opt.el (eshell-show-usage):
3639         * lisp/files-x.el (modify-file-local-variable):
3640         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
3641         (filesets-update-pre010505):
3642         * lisp/find-cmd.el (find-generic, find-to-string):
3643         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
3644         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
3645         (gnus-agent-fetch-headers):
3646         * lisp/gnus/gnus-int.el (gnus-start-news-server):
3647         * lisp/gnus/gnus-registry.el:
3648         (gnus-registry--split-fancy-with-parent-internal):
3649         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
3650         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
3651         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
3652         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
3653         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
3654         * lisp/gnus/spam.el (spam-check-blackholes):
3655         * lisp/mail/feedmail.el (feedmail-run-the-queue):
3656         * lisp/mpc.el (mpc-playlist-rename):
3657         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
3658         * lisp/net/mairix.el (mairix-widget-create-query):
3659         * lisp/net/tramp-cache.el:
3660         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
3661         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
3662         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
3663         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
3664         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
3665         (org-babel-goto-named-result):
3666         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
3667         * lisp/org/ob-ref.el (org-babel-ref-resolve):
3668         * lisp/org/org-agenda.el (org-agenda-prepare):
3669         * lisp/org/org-bibtex.el (org-bibtex-fields):
3670         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
3671         (org-clock-resolve):
3672         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
3673         * lisp/org/org-habit.el (org-habit-parse-todo):
3674         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
3675         (org-mouse-context-menu):
3676         * lisp/org/org-table.el (org-table-edit-formulas):
3677         * lisp/org/ox.el (org-export-async-start):
3678         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
3679         (dun-rooms, dun-endgame-questions):
3680         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
3681         * lisp/progmodes/ada-xref.el (ada-find-executable):
3682         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
3683         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
3684         (flymake-start-syntax-check-process):
3685         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
3686         * lisp/progmodes/sql.el (sql-comint):
3687         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
3688         * lisp/server.el (server-get-auth-key):
3689         * lisp/subr.el (version-to-list):
3690         * lisp/textmodes/reftex-ref.el (reftex-label):
3691         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
3692         * lisp/vc/ediff-diff.el (ediff-same-contents):
3693         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
3694         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
3695         Use directed rather than neutral quotes in diagnostics.
3697         Treat ' like ’ even when not matching `
3698         This is simpler and easier to explain, and should encourage better
3699         typography.  Do this in Electric Quote mode and when translating
3700         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
3701         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
3702         * doc/emacs/text.texi (Quotation Marks):
3703         * doc/lispref/help.texi (Keys in Documentation):
3704         * etc/NEWS:
3705         Document this.
3706         * lisp/electric.el (electric-quote-post-self-insert-function):
3707         * src/doc.c (Fsubstitute_command_keys):
3708         Always treat ' like ’ even when not matched by an open quote.
3710 2015-08-25  Glenn Morris  <rgm@gnu.org>
3712         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
3713         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
3715 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3717         * src/macfont.m (macfont_create_family_with_symbol): Accept
3718         localized names.
3720 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3722         Tramp diagnostics as per ‘text-quoting-style’
3723         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
3724         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
3725         (tramp-adb-handle-delete-directory)
3726         (tramp-adb-handle-delete-file)
3727         (tramp-adb-handle-file-local-copy)
3728         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
3729         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
3730         (tramp-adb-maybe-open-connection):
3731         * lisp/net/tramp-cache.el:
3732         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
3733         (tramp-compat-octal-to-decimal)
3734         (tramp-compat-coding-system-change-eol-conversion):
3735         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
3736         (tramp-gvfs-do-copy-or-rename-file)
3737         (tramp-gvfs-handle-delete-directory)
3738         (tramp-gvfs-handle-delete-file)
3739         (tramp-gvfs-handle-expand-file-name)
3740         (tramp-gvfs-handle-file-local-copy)
3741         (tramp-gvfs-handle-file-notify-add-watch)
3742         (tramp-gvfs-handle-make-directory)
3743         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
3744         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
3745         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
3746         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
3747         (tramp-sh-handle-set-visited-file-modtime)
3748         (tramp-sh-handle-set-file-modes)
3749         (tramp-sh-handle-file-name-all-completions)
3750         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
3751         (tramp-do-copy-or-rename-file-directly)
3752         (tramp-do-copy-or-rename-file-out-of-band)
3753         (tramp-sh-handle-make-directory)
3754         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
3755         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
3756         (tramp-sh-handle-start-file-process)
3757         (tramp-sh-handle-file-local-copy)
3758         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
3759         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
3760         (tramp-find-file-exists-command, tramp-open-shell)
3761         (tramp-find-shell)
3762         (tramp-open-connection-setup-interactive-shell)
3763         (tramp-find-inline-encoding, tramp-find-inline-compress)
3764         (tramp-compute-multi-hops, tramp-maybe-open-connection)
3765         (tramp-wait-for-output, tramp-send-command-and-check)
3766         (tramp-send-command-and-read, tramp-get-remote-path)
3767         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
3768         (tramp-get-ls-command-with-quoting-style)
3769         (tramp-get-test-command, tramp-get-remote-ln)
3770         (tramp-get-remote-perl, tramp-get-remote-stat)
3771         (tramp-get-remote-readlink, tramp-get-remote-trash)
3772         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
3773         (tramp-get-remote-inotifywait, tramp-get-remote-id)
3774         (tramp-get-remote-python):
3775         * lisp/net/tramp-smb.el (tramp-smb-errors)
3776         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
3777         (tramp-smb-handle-delete-directory)
3778         (tramp-smb-handle-delete-file)
3779         (tramp-smb-handle-file-local-copy)
3780         (tramp-smb-handle-make-directory)
3781         (tramp-smb-handle-make-directory-internal)
3782         (tramp-smb-handle-make-symbolic-link)
3783         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
3784         (tramp-smb-handle-set-file-modes)
3785         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
3786         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
3787         (tramp-process-actions):
3788         Generate diagnostics according to ‘text-quoting-style’, by
3789         using curved quotes in format strings and ‘format-message’
3790         when appropriate.
3791         * lisp/net/tramp-compat.el (format-message):
3792         Define a replacement, if it’s an older version of Emacs
3793         that doesn’t have it already.
3795         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
3797 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
3799         Fix documentation for `save-excursion'
3800         * doc/lispref/positions.texi (Excursions):
3801         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
3802         (Template for save-excursion, Point and mark): `save-excursion'
3803         does not save&restore the mark any more.
3805 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
3807         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
3808         New defconsts.
3809         (tramp-do-file-attributes-with-stat)
3810         (tramp-do-directory-files-and-attributes-with-stat): Use them.
3811         (tramp-convert-file-attributes): Remove double slashes in symlinks.
3812         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
3813         Handle symlinks with "//" in the file name.
3815         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
3817 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
3819         Fix cl-subseq and cl-concatenate
3820         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
3821         seq functions.
3822         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
3823         seq-concatenate.
3825 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
3827         Fix full-screen code when there is no window manager (Bug#21317)
3828         * src/xterm.h (x_wm_supports): Declare external.
3829         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
3830         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
3831         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
3832         `fullscreen' frame parameter.
3833         * gtkutil.c (x_wm_set_size_hint): Set size hints when running
3834         without a window manager.
3836 2015-08-24  Glenn Morris  <rgm@gnu.org>
3838         * lisp/version.el (emacs-version): No longer include build host
3839         * doc/lispref/intro.texi (Version Info): Update example.
3841 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3843         * doc/lispref/elisp.texi: Fix typo in previous change.
3845         More-conservative ‘format’ quote restyling
3846         Instead of restyling curved quotes for every call to ‘format’,
3847         create a new function ‘format-message’ that does the restyling,
3848         and using the new function instead of ‘format’ only in contexts
3849         where this seems appropriate.
3850         Problem reported by Dmitry Gutov and Andreas Schwab in:
3851         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
3852         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
3853         * doc/lispref/commands.texi (Using Interactive):
3854         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
3855         * doc/lispref/display.texi (Displaying Messages, Progress):
3856         * doc/lispref/elisp.texi:
3857         * doc/lispref/help.texi (Keys in Documentation):
3858         * doc/lispref/minibuf.texi (Minibuffer Misc):
3859         * doc/lispref/strings.texi (Formatting Strings):
3860         * etc/NEWS:
3861         Document the changes.
3862         * lisp/abbrev.el (expand-region-abbrevs):
3863         * lisp/apropos.el (apropos-library):
3864         * lisp/calc/calc-ext.el (calc-record-message)
3865         (calc-user-function-list):
3866         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
3867         * lisp/calc/calc-lang.el (math-read-big-balance):
3868         * lisp/calc/calc-store.el (calc-edit-variable):
3869         * lisp/calc/calc-units.el (math-build-units-table-buffer):
3870         * lisp/calc/calc-yank.el (calc-edit-mode):
3871         * lisp/calendar/icalendar.el (icalendar-export-region)
3872         (icalendar--add-diary-entry):
3873         * lisp/cedet/mode-local.el (mode-local-print-binding)
3874         (mode-local-describe-bindings-2):
3875         * lisp/cedet/semantic/complete.el (semantic-completion-message):
3876         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
3877         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
3878         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
3879         * lisp/descr-text.el (describe-text-properties-1, describe-char):
3880         * lisp/dframe.el (dframe-message):
3881         * lisp/dired-aux.el (dired-query):
3882         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
3883         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
3884         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
3885         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
3886         (cconv-analyze-form):
3887         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
3888         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
3889         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
3890         * lisp/emacs-lisp/edebug.el (edebug-format):
3891         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
3892         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
3893         (eldoc-message):
3894         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
3895         * lisp/emacs-lisp/find-func.el (find-function-library):
3896         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
3897         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
3898         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
3899         * lisp/emacs-lisp/package.el (package-compute-transaction)
3900         (package-install-button-action, package-delete-button-action)
3901         (package-menu--list-to-prompt):
3902         * lisp/emacs-lisp/timer.el (timer-event-handler):
3903         * lisp/emacs-lisp/warnings.el (lwarn, warn):
3904         * lisp/emulation/viper-cmd.el:
3905         (viper-toggle-parse-sexp-ignore-comments)
3906         (viper-kill-buffer, viper-brac-function):
3907         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
3908         * lisp/facemenu.el (facemenu-add-new-face):
3909         * lisp/faces.el (face-documentation, read-face-name)
3910         (face-read-string, read-face-font, describe-face):
3911         * lisp/files.el (find-alternate-file, hack-local-variables)
3912         (hack-one-local-variable--obsolete, write-file)
3913         (basic-save-buffer, delete-directory):
3914         * lisp/format.el (format-write-file, format-find-file)
3915         (format-insert-file):
3916         * lisp/help-fns.el (help-fns--key-bindings)
3917         (help-fns--compiler-macro, help-fns--obsolete)
3918         (help-fns--interactive-only, describe-function-1)
3919         (describe-variable):
3920         * lisp/help.el (describe-mode):
3921         * lisp/info-xref.el (info-xref-output):
3922         * lisp/info.el (Info-virtual-index-find-node)
3923         (Info-virtual-index, info-apropos):
3924         * lisp/international/kkc.el (kkc-error):
3925         * lisp/international/mule-cmds.el:
3926         (select-safe-coding-system-interactively)
3927         (select-safe-coding-system, describe-input-method):
3928         * lisp/international/mule-conf.el (code-offset):
3929         * lisp/international/mule-diag.el (describe-character-set)
3930         (list-input-methods-1):
3931         * lisp/international/quail.el (quail-error):
3932         * lisp/minibuffer.el (minibuffer-message):
3933         * lisp/mpc.el (mpc--debug):
3934         * lisp/msb.el (msb--choose-menu):
3935         * lisp/net/ange-ftp.el (ange-ftp-message):
3936         * lisp/net/gnutls.el (gnutls-message-maybe):
3937         * lisp/net/newst-backend.el (newsticker--sentinel-work):
3938         * lisp/net/newst-treeview.el (newsticker--treeview-load):
3939         * lisp/net/nsm.el (nsm-query-user):
3940         * lisp/net/rlogin.el (rlogin):
3941         * lisp/net/soap-client.el (soap-warning):
3942         * lisp/net/tramp.el (tramp-debug-message):
3943         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
3944         * lisp/nxml/nxml-parse.el (nxml-parse-error):
3945         * lisp/nxml/rng-cmpct.el (rng-c-error):
3946         * lisp/nxml/rng-match.el (rng-compile-error):
3947         * lisp/nxml/rng-uri.el (rng-uri-error):
3948         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
3949         * lisp/org/org-ctags.el:
3950         (org-ctags-ask-rebuild-tags-file-then-find-tag):
3951         * lisp/proced.el (proced-log):
3952         * lisp/progmodes/ebnf2ps.el (ebnf-log):
3953         * lisp/progmodes/flymake.el (flymake-log):
3954         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
3955         * lisp/replace.el (occur-1):
3956         * lisp/simple.el (execute-extended-command)
3957         (undo-outer-limit-truncate, define-alternatives):
3958         * lisp/startup.el (command-line):
3959         * lisp/subr.el (error, user-error, add-to-list):
3960         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
3961         (tutorial--find-changed-keys):
3962         * src/callint.c (Fcall_interactively):
3963         * src/editfns.c (Fmessage, Fmessage_box):
3964         Restyle the quotes of format strings intended for use as a
3965         diagnostic, when restyling seems appropriate.
3966         * lisp/subr.el (format-message): New function.
3967         * src/doc.c (Finternal__text_restyle): New function.
3968         (syms_of_doc): Define it.
3970 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3972         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
3974 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3976         python.el: Fix python-shell-buffer-substring on indented code
3977         (Bug#21086)
3978         * lisp/progmodes/python.el (python-shell-buffer-substring):
3979         Respect current line indentation when calculating string.
3980         * test/automated/python-tests.el
3981         (python-shell-buffer-substring-10)
3982         (python-shell-buffer-substring-11)
3983         (python-shell-buffer-substring-12): New tests.
3985 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3987         Fix minor glitches from ‘format’ reversion
3988         * doc/lispref/strings.texi (Formatting Strings):
3989         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
3990         Documentation’, not below.
3991         * src/syntax.c (Finternal_describe_syntax_value):
3992         Prefer AUTO_STRING to build_string where either will do, as
3993         AUTO_STRING is a bit faster.
3995 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3997         python.el: Defer shell setup code until first interactive prompt
3998         * lisp/progmodes/python.el
3999         (python-shell-comint-watch-for-first-prompt-output-filter): New
4000         function.
4001         (inferior-python-mode): Use it.
4002         (python-shell-first-prompt-hook): New hook.
4003         (python-shell-send-setup-code)
4004         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
4005         this hook instead of inferior-python-hook.
4007 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
4009         Remove the calls to `seq-into` from `seq-concatenate`
4010         Since most new types of seq would have to be defined as sequences (cons
4011         cells or CL structs, mostly), there is no need to convert the seqs to
4012         sequences (which can be a fairly expensive operation).
4013         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
4014         sequences.
4016 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4018         python.el: Fix completion for pdb interactions
4019         * lisp/progmodes/python.el (python-shell-completion-setup-code):
4020         Simplify.  Toggle print_mode for native wrapped completer.
4021         (python-shell-completion-native-setup): Ensure process buffer.
4022         Add print_mode attribute to completer wrapper to toggle returning
4023         or printing candidates.
4024         (python-shell-completion-native-get-completions): Cleanup.
4025         (python-shell-completion-get-completions): Cleanup.
4026         (python-shell-completion-at-point): Perform prompt checks.  Force
4027         fallback completion in pdb interactions.
4029 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
4031         Make seq.el more extensible by using cl-defmethod
4032         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
4033         make it easier to extend seq.el with new "seq types".
4034         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
4035         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
4036         subseq in cl-extra.el, and use it in seq.el.
4038 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4040         python.el: Fix prompt detection with user overridden interpreter
4041         * lisp/progmodes/python.el (python-shell-prompt-detect): Honor
4042         buffer local python-shell-interpreter and
4043         python-shell-interpreter-interactive-arg.
4045 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
4047         Support exec-directory with non-ASCII characters on Windows
4048         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
4049         in the system's ANSI codepage, when it is used for invoking
4050         cmdproxy.
4052 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
4054         Revert "Extend ‘format’ to translate curved quotes"
4055         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
4057         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
4058         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
4060 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
4062         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers): Clarify
4063         "invisible window".
4065 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
4067         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
4068         magic-fallback-mode-alist.
4070 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4072         python.el: fallback completion, ffap and eldoc setup enhancements
4073         Setup codes are now sent continuously so that the current frame is
4074         always taken into account.  This allows working within debuggers
4075         and always keeping a fresh version of setup codes that will return
4076         proper results.
4077         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
4078         (python-shell-send-setup-code): Send code only when
4079         python-shell-setup-codes is non-nil.
4080         (python-shell-completion-string-code): Cleanup trailing newline.
4081         (python-shell-completion-get-completions): Always use
4082         python-shell-completion-setup-code.
4083         (python-ffap-setup-code): Work with any object, not only modules.
4084         (python-ffap-string-code): Cleanup trailing newline.
4085         (python-ffap-module-path): Always use python-ffap-setup-code.
4086         (python-eldoc-string-code): Cleanup trailing newline.
4087         (python-eldoc--get-doc-at-point): Always use
4088         python-eldoc-setup-code.  Return non-nil only if docstring is
4089         found.
4091         python.el: Increase native completion robustness.
4092         * lisp/progmodes/python.el (python-shell-completion-native-setup):
4093         Make completer print real candidates and just return dummy ones to
4094         avoid input modification.
4095         (python-shell-completion-native-get-completions): Set
4096         comint-redirect-insert-matching-regexp to non-nil and make
4097         comint-redirect-finished-regexp match the last dummy candidate.
4098         Use python-shell-accept-process-output to wait for the full list
4099         of candidates.
4101 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
4103         Fix invocation of programs via cmdproxy.exe
4104         * src/w32proc.c (sys_spawnve): Use exec-directory, not
4105         invocation-directory, for finding cmdproxy.exe.  When Emacs is
4106         run from the source tree, look for cmdproxy.exe in the same source
4107         tree.  (Bug#21323)
4109 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
4111         Handle comments inside unquoted URIs in css-mode
4112         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
4113         (css-syntax-propertize-function): New defconst.
4114         (css--font-lock-keywords): Handle parens around unquoted URIs.
4115         (css-mode): Set `syntax-propertize-function'.
4117 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
4119         Support invocation of Hunspell with multiple dictionaries
4120         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file): Support
4121         lists of dictionaries of the form "DICT1,DICT2,...".
4122         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
4124         Minor formatting changes in ispell.el
4125         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
4126         (ispell-print-if-debug, ispell-aspell-find-dictionary)
4127         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
4128         (ispell-hunspell-dictionary-alist)
4129         (ispell-hunspell-fill-dictionary-entry)
4130         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
4131         (ispell-buffer-with-debug, ispell-complete-word)
4132         (ispell-current-dictionary, ispell-current-personal-dictionary)
4133         (ispell-accept-output, ispell-minor-mode)
4134         (ispell-personal-dictionary, ispell-dictionary-alist)
4135         (ispell-really-aspell, ispell-really-hunspell)
4136         (ispell-encoding8-command, ispell-aspell-supports-utf8)
4137         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
4138         Fix whitespace, inconsistent capitalization, and arguments in doc
4139         strings.
4141 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
4143         In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows.
4144         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
4145         function refused to resize a size-preserved window.
4147 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
4149         Improve documentation of 'window-use-time'
4150         * doc/lispref/windows.texi (Selecting Windows): Improve
4151         documentation and indexing of 'window-use-time'.
4153 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4155         * lisp/progmodes/cc-*.el: Fix up commenting style
4156         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
4157         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
4158         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
4159         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
4160         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
4161         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
4162         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
4163         Fix up commenting style.
4165 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4167         text-quoting-style in emacs-lisp diagnostics
4168         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
4169         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
4170         (ad-disable-advice, ad-remove-advice, ad-set-argument)
4171         (ad-set-arguments):
4172         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
4173         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
4174         (byte-optimize-while, byte-optimize-apply):
4175         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
4176         (byte-compile-log-file, byte-compile-format-warn)
4177         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
4178         (byte-compile-cl-warn)
4179         (byte-compile-warn-about-unresolved-functions)
4180         (byte-compile-file, byte-compile-fix-header)
4181         (byte-compile--declare-var, byte-compile-file-form-defmumble)
4182         (byte-compile-form, byte-compile-normal-call)
4183         (byte-compile-variable-ref, byte-compile-variable-set)
4184         (byte-compile-subr-wrong-args, byte-compile-setq-default)
4185         (byte-compile-negation-optimizer)
4186         (byte-compile-condition-case--old)
4187         (byte-compile-condition-case--new, byte-compile-save-excursion)
4188         (byte-compile-defvar, byte-compile-autoload)
4189         (byte-compile-lambda-form)
4190         (byte-compile-make-variable-buffer-local, display-call-tree)
4191         (batch-byte-compile):
4192         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
4193         (cconv-analyze-form):
4194         * lisp/emacs-lisp/chart.el (chart-space-usage):
4195         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
4196         (check-declare-warn, check-declare-file)
4197         (check-declare-directory):
4198         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
4199         (checkdoc-message-text-engine):
4200         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
4201         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
4202         (cl-symbol-macrolet):
4203         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
4204         * lisp/emacs-lisp/copyright.el (copyright)
4205         (copyright-update-directory):
4206         * lisp/emacs-lisp/edebug.el (edebug-read-list):
4207         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
4208         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
4209         (eieio-oref, eieio-oset-default):
4210         * lisp/emacs-lisp/eieio-speedbar.el:
4211         (eieio-speedbar-child-make-tag-lines)
4212         (eieio-speedbar-child-description):
4213         * lisp/emacs-lisp/eieio.el (defclass, change-class):
4214         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
4215         (elint-init-form, elint-check-defalias-form)
4216         (elint-check-let-form):
4217         * lisp/emacs-lisp/ert.el (ert-get-test):
4218         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
4219         (find-function-library):
4220         * lisp/emacs-lisp/generator.el (iter-yield):
4221         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
4222         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
4223         * lisp/emacs-lisp/package-x.el (package-upload-file):
4224         * lisp/emacs-lisp/package.el (package-version-join)
4225         (package-disabled-p, package-activate-1, package-activate)
4226         (package--download-one-archive)
4227         (package--download-and-read-archives)
4228         (package-compute-transaction, package-install-from-archive)
4229         (package-install, package-install-selected-packages)
4230         (package-delete, package-autoremove)
4231         (package-install-button-action, package-delete-button-action)
4232         (package-menu-hide-package, package-menu--list-to-prompt)
4233         (package-menu--perform-transaction)
4234         (package-menu--find-and-notify-upgrades):
4235         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
4236         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
4237         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
4238         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
4239         * lisp/emacs-lisp/smie.el (smie-config-save):
4240         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
4241         * lisp/emacs-lisp/testcover.el (testcover-1value):
4242         Use curved quotes in diagnostic format strings.
4244 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4246         python.el: Ensure remote process-environment on non-interactive processes
4247         * lisp/progmodes/python.el
4248         (python-shell-tramp-refresh-process-environment): New function.
4249         (python-shell-with-environment): Use it.
4250         * test/automated/python-tests.el (python-shell-with-environment-2):
4251         Update.
4253         python.el: Enhancements to process environment setup.
4254         * lisp/progmodes/python.el (python-shell-process-environment)
4255         (python-shell-extra-pythonpaths, python-shell-exec-path)
4256         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
4257         (python-shell-setup-codes): Remove :safe.
4258         (python-shell-remote-exec-path): New defcustom.
4259         (python-shell--add-to-path-with-priority): New macro.
4260         (python-shell-calculate-pythonpath): Give priority to
4261         python-shell-extra-pythonpaths.  Update docstring.
4262         (python-shell-calculate-process-environment): Give priority to
4263         python-shell-process-environment.  Update docstring.
4264         (python-shell-calculate-exec-path): Give priority to
4265         python-shell-exec-path and calculated virtualenv bin directory.
4266         Update docstring.
4267         (python-shell-tramp-refresh-remote-path): New function.
4268         (python-shell-with-environment): Use it when working remotely and
4269         do not modify tramp-remote-path.  Allow nesting.
4270         (python-shell-calculate-command): Remove useless
4271         python-shell-with-environment call.
4272         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
4273         (python-shell-calculate-pythonpath-2)
4274         (python-shell-calculate-process-environment-6)
4275         (python-shell-calculate-process-environment-7)
4276         (python-shell-calculate-process-environment-8)
4277         (python-shell-calculate-exec-path-3)
4278         (python-shell-calculate-exec-path-4)
4279         (python-shell-calculate-exec-path-5)
4280         (python-shell-calculate-exec-path-6)
4281         (python-shell-with-environment-3): New tests.
4282         (python-shell-calculate-process-environment-2)
4283         (python-shell-calculate-process-environment-3)
4284         (python-shell-calculate-process-environment-4)
4285         (python-shell-calculate-process-environment-5)
4286         (python-shell-calculate-exec-path-1)
4287         (python-shell-calculate-exec-path-2)
4288         (python-shell-with-environment-1)
4289         (python-shell-with-environment-2): Update and simplify.
4291 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4293         Avoid hard-coding "M-x command" in docstrings
4294         * lisp/calendar/todo-mode.el (todo-mode):
4295         * lisp/desktop.el (desktop-save-mode):
4296         * lisp/edmacro.el (edit-kbd-macro):
4297         * lisp/emacs-lisp/package.el (package-menu-execute):
4298         * lisp/emulation/viper-cmd.el (viper-ask-level):
4299         * lisp/emulation/viper-init.el (viper-expert-level):
4300         * lisp/filesets.el (filesets-add-buffer):
4301         * lisp/follow.el (follow-mode):
4302         * lisp/gnus/auth-source.el (auth-sources):
4303         * lisp/international/ogonek.el (ogonek-informacja)
4304         (ogonek-information):
4305         * lisp/net/tramp.el (tramp-process-actions):
4306         * lisp/org/org-gnus.el (org-gnus-no-new-news):
4307         * lisp/org/org.el (org-ellipsis):
4308         * lisp/progmodes/python.el (python-shell-get-process-or-error):
4309         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
4310         * lisp/server.el (server-start):
4311         * lisp/type-break.el (type-break-noninteractive-query):
4312         * lisp/userlock.el (ask-user-about-supersession-help):
4313         * lisp/whitespace.el (whitespace-report-region):
4314         Prefer (substitute-command-keys "`\\[foo-command]'")
4315         to "`M-x foo-command'" in docstrings and the like.
4317 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
4319         Use add-function for prettify-symbols-compose-predicate
4320         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
4321         prettify-symbols-compose-predicate in terms of add-function.
4322         * etc/NEWS: Mention prettify-symbols-compose-predicate and
4323         prettify-symbols-mode support in tex-mode.
4325 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4327         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun
4328         (smie-indent-exps, smie-indent-keyword): Use it.
4329         * test/indent/css-mode.css: Test alignment with leading comment.
4331 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4333         Respect text-quoting-style in (*Finder*) menus
4334         * lisp/info.el (info--prettify-description):
4335         Treat description as a docstring, so that it's requoted as
4336         per text-quoting-style.
4338 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
4340         Document `window-use-time' in Elisp manual
4341         * doc/lispref/windows.texi (Selecting Windows): Document
4342         `window-use-time'.
4344 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
4346         A better fix for bug#21303
4347         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.  This is a
4348         cleaner fix for Bug#21260 than the previous change.
4350 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4352         Respect text-quoting-style in calc
4353         In calc, tespect text-quoting-style preference in diagnostic
4354         formats and fix a few similar problems in docstrings.
4355         * lisp/calc/calc-aent.el (math-read-factor):
4356         * lisp/calc/calc-embed.el (calc-do-embedded):
4357         * lisp/calc/calc-ext.el (calc-user-function-list)
4358         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
4359         * lisp/calc/calc-help.el (calc-describe-key)
4360         (calc-describe-thing):
4361         * lisp/calc/calc-lang.el (calc-c-language)
4362         (math-parse-fortran-vector-end, math-parse-tex-sum)
4363         (math-parse-eqn-matrix, math-parse-eqn-prime)
4364         (calc-yacas-language, calc-maxima-language, calc-giac-language)
4365         (math-read-big-rec, math-read-big-balance):
4366         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
4367         (calc-auto-recompute):
4368         * lisp/calc/calc-prog.el (calc-user-define-invocation)
4369         (math-do-arg-check):
4370         * lisp/calc/calc-store.el (calc-edit-variable):
4371         * lisp/calc/calc-units.el (math-build-units-table-buffer):
4372         * lisp/calc/calc-vec.el (math-read-brackets):
4373         * lisp/calc/calc-yank.el (calc-edit-mode):
4374         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
4375         Use curved quotes in diagnostic format strings.
4376         * lisp/calc/calc-help.el (calc-describe-thing):
4377         Format docstrings with substitute-command-keys.
4378         * lisp/calc/calc-help.el (calc-j-prefix-help):
4379         * lisp/calc/calc-misc.el (calc-help):
4380         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
4381         Escape a docstring "`".
4383 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
4385         Fix documentation of 'menu-set-font' and 'set-frame-font'
4386         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
4387         * doc/lispref/frames.texi (Frame Font): Document that
4388         set-frame-font with the last argument 't' will also make the font
4389         the default for the future GUI frames.
4391         Document '--create-frame' option to emacsclient
4392         * doc/emacs/misc.texi (emacsclient Options): Document the
4393         '--create-frame' option.  (Bug#21308)
4395 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4397         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
4399 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
4401         Document 'get-mru-window' in the ELisp manual
4402         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
4403         'get-mru-window'.  (Bug#21306)
4405         Clarify documentation of 'get-buffer-window-list'
4406         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
4407         current window, if relevant, will be the first in the list
4408         returned by 'get-buffer-window-list'.
4409         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
4411 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
4413         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
4414         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
4415         `switch-to-buffer'.
4417 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
4419         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
4420         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
4421         `display-buffer' instead of `switch-to-buffer'.
4423 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4425         Follow user preference in calendar diagnostics
4426         Respect text-quoting-style preference in diagnostic formats by
4427         using curved quotes (which are translated as per text-quoting-style)
4428         instead of grave accent and apostrophe (which are not).
4429         * lisp/calendar/appt.el (appt-display-message):
4430         * lisp/calendar/diary-lib.el (diary-check-diary-file)
4431         (diary-mail-entries, diary-from-outlook):
4432         * lisp/calendar/icalendar.el (icalendar-export-region)
4433         (icalendar--convert-float-to-ical)
4434         (icalendar--convert-date-to-ical)
4435         (icalendar--convert-ical-to-diary)
4436         (icalendar--convert-recurring-to-diary)
4437         (icalendar--add-diary-entry):
4438         * lisp/calendar/time-date.el (format-seconds):
4439         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
4440         (timeclock-make-hours-explicit):
4441         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
4442         (todo-item-mark, todo-check-format)
4443         (todo-insert-item--next-param, todo-edit-item--next-key)
4444         (todo-mode):
4445         Use curved quotes in diagnostic format strings.
4446         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
4447         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
4448         Just use straight quoting for simple test case.
4450 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
4452         * src/gfilenotify.c (Fgfile_add_watch):
4453         Handle errors from g_file_monitor.
4455 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
4457         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
4458         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
4459         frame" instead of "non-minibuffer frame".
4461         Fix frame geometry related text
4462         * doc/lispref/frames.texi (Frame Layout): Rename
4463         `x-frame-geometry' to `frame-geometry'.
4464         * doc/lispref/frames.texi (Mouse Position):
4465         * doc/lispref/windows.texi (Coordinates and Windows): Use
4466         `set-mouse-absolute-pixel-position' instead of
4467         `x-set-mouse-absolute-pixel-position'.
4469         Sanitize frame geometry related functions
4470         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
4471         (Fx_frame_edges): Rename to Fns_frame_edges.
4472         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
4473         (Fx_frame_edges): Rename to Fw32_frame_edges.
4474         (Fx_mouse_absolute_pixel_position): Rename to
4475         Fw32_mouse_absolute_pixel_position.
4476         (Fx_set_mouse_absolute_pixel_position): Rename to
4477         Fw32_set_mouse_absolute_pixel_position.
4478         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
4479         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
4480         (ns-frame-edges, w32-mouse-absolute-pixel-position)
4481         (x-mouse-absolute-pixel-position)
4482         (w32-set-mouse-absolute-pixel-position)
4483         (x-set-mouse-absolute-pixel-position): Declare.
4484         (frame-geometry, mouse-absolute-pixel-position)
4485         (set-mouse-absolute-pixel-position): New functions.
4486         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
4488 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
4490         Fix MinGW64 build broken by latest w32uniscribe.c changes
4491         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
4492         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
4493         (Bug#21260)
4495 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
4497         Add TeX defaults for prettify-symbol-mode
4498         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename
4499         from tex-prettify-symbols-alist.
4500         (tex--prettify-symbols-compose-p): New function.
4501         (tex-common-initialization): Use them as prettify-symbols-alist
4502         and prettify-symbols-compose-predicate.
4504         Generalize prettify-symbols to arbitrary modes
4505         * lisp/progmodes/prog-mode.el
4506         (prettify-symbols-default-compose-p): New function.
4507         (prettify-symbols-compose-predicate): New variable.
4508         (prettify-symbols--compose-symbol): Use it.
4510 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
4512         Don't quote symbols 'like-this' in docstrings etc.
4513         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
4514         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
4515         * lisp/allout.el (allout-add-resumptions, allout-mode):
4516         * lisp/calculator.el (calculator-operators):
4517         * lisp/cedet/data-debug.el (dd-propertize):
4518         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
4519         * lisp/cedet/semantic/analyze/debug.el:
4520         (semantic-analyzer-debug-global-miss-text):
4521         * lisp/cedet/semantic/lex-spp.el:
4522         (semantic-lex-spp-replace-or-symbol-or-keyword):
4523         * lisp/cedet/semantic/symref.el:
4524         (semantic-symref-cleanup-recent-buffers-fcn):
4525         * lisp/cedet/semantic/tag.el (semantic-tag-class):
4526         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
4527         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
4528         * lisp/gnus/pop3.el (pop3-authentication-scheme):
4529         * lisp/help-fns.el (describe-function-orig-buffer):
4530         * lisp/imenu.el (imenu--history-list):
4531         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
4532         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
4533         (feedmail-queue-default-file-slug)
4534         (feedmail-queue-buffer-file-name):
4535         * lisp/net/mairix.el (mairix-searches-mode-map):
4536         * lisp/net/newst-backend.el (newsticker-retrieval-method)
4537         (newsticker-auto-mark-filter-list):
4538         * lisp/obsolete/vi.el (vi-mode):
4539         * lisp/progmodes/cc-engine.el (c-literal-type):
4540         * lisp/progmodes/cpp.el (cpp-face):
4541         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
4542         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
4543         * lisp/progmodes/pascal.el (pascal-auto-lineup):
4544         * lisp/progmodes/prog-mode.el (prog-widen):
4545         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
4546         (verilog-auto-lineup, verilog-auto-reset-widths)
4547         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
4548         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
4549         (flyspell-maybe-correct-doubling):
4550         * lisp/textmodes/table.el (table-justify, table-justify-cell)
4551         (table-justify-row, table-justify-column, table-insert-sequence)
4552         (table--justify-cell-contents):
4553         * lisp/url/url-auth.el (url-get-authentication):
4554         * lisp/window.el (display-buffer-record-window):
4555         * lisp/xml.el (xml-parse-file, xml-parse-region):
4556         * src/gfilenotify.c (Fgfile_add_watch):
4557         Don't quote symbols with apostrophes in doc strings.
4558         Use asymmetric quotes instead.
4559         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
4560         Likewise for symbol in diagnostic.
4561         * lisp/image.el (image-extension-data):
4562         * lisp/register.el (frame-configuration-to-register):
4563         * src/buffer.c (syms_of_buffer):
4564         Remove bogus apostrophes after symbols.
4565         * lisp/thumbs.el (thumbs-conversion-program):
4566         Quote Lisp string values using double-quotes, not apostrophes.
4568 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
4570         Describe frame geometry and related functions in Elisp manual
4571         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
4572         (Showing Images): Update references.
4573         * doc/lispref/elisp.texi (Top): Update node listing.
4574         * doc/lispref/frames.texi (Frame Geometry): New node.  Move
4575         `Size and Position' section here.
4576         (Size Parameters): Update references.
4577         (Mouse Position): Update references and nomenclature.  Describe
4578         new functions `x-mouse-absolute-pixel-position' and
4579         `x-set-mouse-absolute-pixel-position'.
4580         * doc/lispref/windows.texi (Window Sizes): Update references.
4581         (Resizing Windows): Update references.  Move description of
4582         `fit-frame-to-buffer' here.
4583         (Coordinates and Windows): Update nomenclature and references.
4584         Describe new arguments of `window-edges'.  Comment out
4585         descriptions of `window-left-column', `window-top-line',
4586         `window-pixel-left' and `window-pixel-top'.  Describe
4587         `window-absolute-pixel-position'.
4589 2015-08-20  Alan Mackenzie  <acm@muc.de>
4591         Handling of `c-parse-state'.  Fix low level bug.
4592         progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): Add
4593         "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
4595 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
4597         In `widget-color--choose-action' quit *Color* window instead of deleting it
4598         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
4599         window instead of deleting it.
4601 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
4603         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
4604         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
4605         determine whether frame has a titlebar.
4606         Suggested by Eli Zaretskii <eliz@gnu.org>
4608 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
4610         Add a prettify-symbols-alist for (La)TeX
4611         * tex-mode.el (tex-prettify-symbols-alist): New variable holding
4612         an alist suitable as prettify-symbols-alist in (La)TeX modes.
4614 2015-08-19  Alan Mackenzie  <acm@muc.de>
4616         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
4617         Fixes debbugs#21275.
4618         In Emacs >= 25, let electric-pair-mode take precedence over
4619         delete-selection-mode.
4620         delsel.el (delete-selection-uses-region-p): New function, previously a
4621         lambda expression in a property value for `self-insert-command'.
4622         (top-level) Set the `delete-selection' property of `self-insert-command'
4623         to `delete-selection-uses-region-p'.
4624         progmodes/cc-cmds.el (top-level): Give the `delete-selection' property
4625         for c-electric-\(brace\|paren\) the value
4626         `delete-selection-uses-region-p' when the latter function exists.
4628 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
4630         Fix key binding quoting in tutorial *Help*
4631         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
4632         When generating help for custom key bindings, use the user-preferred
4633         quoting style rather than hardcoding the grave style.
4635 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
4637         Improve and future-proof OTF fonts support in w32uniscribe.c
4638         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
4639         about the expected results and why the new Uniscribe APIs are not
4640         used in this function.
4641         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
4642         (ScriptGetFontFeatureTags_Proc): New function typedefs.
4643         (uniscribe_new_apis): New static variable.
4644         (uniscribe_check_features): New function, implements OTF features
4645         verification while correctly accounting for features in the list
4646         after the nil member, if any.
4647         (uniscribe_check_otf_1): New function, retrieves the features
4648         supported by the font for the requested script and language using
4649         the Uniscribe APIs available from Windows Vista onwards.
4650         (uniscribe_check_otf): If the new Uniscribe APIs are available,
4651         use them in preference to reading the font data directly.  Call
4652         uniscribe_check_features to verify that the requested features are
4653         supported, replacing the original incomplete code.
4654         (syms_of_w32uniscribe): Initialize function pointers for the new
4655         Uniscribe APIs.  (Bug#21260)
4656         (otf_features): Scan the script, langsys, and feature arrays back
4657         to front, so that the result we return has them in alphabetical
4658         order, like ftfont.c does.
4659         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
4660         New variable for debugging w32uniscribe.c code.
4662 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
4664         * isearch.el (isearch-search-fun-default): Revert a5bdb87
4665         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
4666         clause of `isearch-search-fun-default'. That lax variable does not
4667         refer to lax-whitespacing.  Related to (bug#21777).
4668         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
4669         * character-fold.el (character-fold-search): Set to nil.
4670         Default to nil for now, until someone implements proper
4671         lax-whitespacing with char-fold searching.
4673 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
4675         Fix doc-string of `help-mode-finish'.
4676         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
4678         In nsimage.m include coding.h (Bug#21292)
4679         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
4681         Move window edge functions to Elisp.
4682         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
4683         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
4684         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
4685         Move to window.el.
4686         (calc_absolute_offset): Remove.
4687         * lisp/frame.el (frame-edges): New function.
4688         * lisp/window.el (window-edges, window-pixel-edges)
4689         (window-absolute-pixel-edges): Move here from window.c.
4690         (window-body-edges, window-body-pixel-edges)
4691         (window-absolute-body-pixel-edges): Move here from window.c and
4692         rename "inside" to "body".  Keep old names as aliases.
4693         (window-absolute-pixel-position): New function.
4695 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
4697         [Gnus]: Use overlay functions directly
4698         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
4699         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
4700         (gnus-article-highlight-signature, gnus-article-extend-url-button)
4701         (gnus-article-add-button, gnus-insert-prev-page-button)
4702         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
4703         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
4704         (gnus-cite-add-face):
4705         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
4706         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
4707         (gnus-tree-recenter, gnus-highlight-selected-tree):
4708         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
4709         (gnus-summary-show-thread, gnus-summary-hide-thread)
4710         (gnus-highlight-selected-summary):
4711         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
4712         * lisp/gnus/message.el (message-fix-before-sending)
4713         (message-toggle-image-thumbnails):
4714         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
4715         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
4716         Use overlay functions directly instead of using gnus-overlay-*,
4717         message-overlay-*, and sieve-overlay-*.
4718         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
4719         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
4720         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
4721         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
4722         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
4723         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
4724         (message-overlay-get, message-overlay-put, message-overlays-in):
4725         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
4726         (sieve-overlays-at): Remove.
4728 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
4730         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version.
4731         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
4732         builds can use the declaration from the system headers.
4733         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
4734         definition of TITLEBAR_INFO.
4735         Suggested by Eli Zaretskii  <eliz@gnu.org>
4737 2015-08-19  Glenn Morris  <rgm@gnu.org>
4739         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
4741 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
4743         Use new q ‘format’ flag when fixing quotes in C
4744         * src/image.c (image_size_error): New function.  All uses of
4745         image_error with "Invalid image size ..."  changed to use it.
4746         * src/image.c (image_size_error, xbm_load_image, xbm_load)
4747         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
4748         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
4749         (imagemagick_load, svg_load, svg_load_image, gs_load)
4750         (x_kill_gs_process):
4751         * src/lread.c (load_warn_old_style_backquotes):
4752         * src/xfaces.c (load_pixmap):
4753         * src/xselect.c (x_clipboard_manager_error_1):
4754         Use %qs, not uLSQM and uRSQM.
4755         * src/syntax.c (Finternal_describe_syntax_value):
4756         Prefer Fsubstitute_command_keys to Fformat, as this lets
4757         us use AUTO_STRING.
4758         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
4759         as it's now guaranteed to be ASCII.
4760         * src/xselect.c (x_clipboard_manager_error_2):
4761         Avoid grave accent in low-level stderr diagnostic.
4763 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
4765         New q flag for ‘format’
4766         * doc/lispref/processes.texi (Sentinels):
4767         Don't hardwire grave quoting style in example.
4768         * doc/lispref/strings.texi (Formatting Strings):
4769         * etc/NEWS:
4770         Document new q flag.
4771         * src/editfns.c (Fformat): Implement it.
4773 2015-08-18  Daiki Ueno  <ueno@gnu.org>
4775         pinentry.el: Add debugging support
4776         * lisp/net/pinentry.el (pinentry-debug): New variable.
4777         (pinentry-debug-buffer): New variable.
4778         (pinentry--process-filter): Send input to the debug buffer, if
4779         `pinentry-debug' is set.
4781         pinentry.el: Improve multiline prompt
4782         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
4783         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
4784         command.
4786 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4788         Fix multibyte confusion in diagnostics
4789         * src/print.c (print_error_message):
4790         Don't assume that the caller's name is unibyte.
4791         * src/xdisp.c (vadd_to_log):
4792         Don't assume that the formatted diagnostic is unibyte.
4794         Fix file name encodings in diagnostics
4795         Also, close some minor races when opening image files, by opening
4796         them once instead of multiple times.
4797         * src/gtkutil.c (xg_get_image_for_pixmap):
4798         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
4799         (svg_load):
4800         * src/nsimage.m (allocInitFromFile:):
4801         * src/xfns.c (xg_set_icon):
4802         Encode file name, since x_find_image_file no longer does that.
4803         * src/image.c (x_find_image_fd): New function.
4804         (x_find_image_file): Use it.  Do not encode resulting file name,
4805         since callers sometimes need it decoded.
4806         (slurp_file): File arg is now a fd, not a file name.
4807         All callers changed.  This saves us having to open the file twice.
4808         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
4809         (svg_load):
4810         Use x_find_image_fd and fdopen to save a file-open.
4811         Report file name that failed.
4812         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
4814 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
4816         Allow blink-matching-paren to jump off screen
4817         * doc/emacs/programs.texi (Matching): Mention the
4818         `blink-matching-paren' value `jump-offscreen'.
4819         * lisp/simple.el (blink-matching-paren): New possible value.
4820         (blink-matching-paren-on-screen): Clarify the docstring.
4821         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
4823         Refine the previous change
4824         * lisp/simple.el (blink-matching-open): Use minibuffer-message
4825         outside of save-excursion (bug#21286).
4827 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
4829         Rewrite and add frame geometry related functions.
4830         * src/frame.c (Fframe_position): New function.
4831         (Fset_frame_position): Rename parameters and rewrite doc-string.
4832         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
4833         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
4834         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
4835         Qtitle_bar_size.
4836         * src/nsfns.m (frame_geometry): New function.
4837         (Fx_frame_geometry): Call frame_geometry.
4838         (Fx_frame_edges): New function.
4839         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
4840         (GetTitleBarInfo_Proc): Define these so we can use the
4841         GetTitleBarInfo API.
4842         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
4843         (Fx_frame_geometry): Rewrite.
4844         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
4845         (Fx_set_mouse_absolute_pixel_position): New functions.
4846         * src/xfns.c (frame_geometry): New function.
4847         (Fx_frame_geometry): Call frame_geometry.
4848         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
4849         (Fx_set_mouse_absolute_pixel_position): New functions.
4851 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
4853         Improve Tramp's compatibility
4854         * lisp/net/tramp.el (tramp-get-method-parameter):
4855         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
4856         (tramp-adb-get-device):
4857         * lisp/net/trampver.el (tramp-repository-get-version):
4858         Use `tramp-compat-replace-regexp-in-string'.
4860 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
4862         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
4863         Encode/decode string.
4865 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4867         Clarify what happens to match data on failure
4868         Problem reported by Ernesto Alfonso (Bug#21279).
4869         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
4870         Document more carefully what happens to match data after a failed
4871         search.
4872         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
4873         the return value is undefined if the last search failed.
4874         (Fmatch_data): Simplify doc string line 1.
4876 2015-08-18  Daiki Ueno  <ueno@gnu.org>
4878         Revert "pinentry.el: Support external passphrase cache"
4879         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
4880         pinentry.el shouldn't directly interact with the secrets service,
4881         but ask the caller to cache the passphrase.
4883 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
4885         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
4886         Message mode hooks.
4888 2015-08-17  Daiki Ueno  <ueno@gnu.org>
4890         epg.el: Make gpgconf output parsing future proof
4891         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
4892         --list-options" output.
4894         pinentry.el: Support external passphrase cache
4895         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
4896         (pinentry--allow-external-password-cache): New local variable.
4897         (pinentry--key-info): New local variable.
4898         (secrets-enabled, secrets-search-items, secrets-get-secret):
4899         Declare.
4900         (pinentry--send-passphrase): New function, split from
4901         `pinentry--process-filter'.
4902         (pinentry--process-filter): Use secrets.el to retrieve passphrase
4903         from login keyring.
4905         pinentry.el: Popup window for multiline prompt
4906         * lisp/net/pinentry.el (pinentry): New custom group.
4907         (pinentry-popup-prompt-window): New user option.
4908         (pinentry-prompt-window-height): New user option.
4909         (pinentry--prompt-buffer): New variable.
4910         (pinentry-prompt-mode-map): New variable.
4911         (pinentry-prompt-mode): New function.
4912         (pinentry--prompt): New function.
4913         (pinentry--process-filter): Use `pinentry--prompt' instead of
4914         `read-passwd' and `y-or-n-p'.
4916 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
4918         message.el: Silent the byte compiler
4919         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
4920         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
4921         (message-delete-overlay, message-window-inside-pixel-edges):
4922         Declare before using.
4924         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
4925         (message-window-inside-pixel-edges): XEmacs compatible functions.
4927 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4929         * message.el (message-toggle-image-thumbnails): New command.
4931 2015-08-17  Noah Friedman  <friedman@splode.com>
4933         (blink-matching-open): Restore point before calling minibuffer-message.
4935 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
4937         * lisp/play/dunnet.el: Update version number in header (now
4938         matches help).
4940 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4942         Curved quotes in --batch diagnostics in non-UTF-8
4943         When run with --batch, check that curved quotes are compatible with
4944         the system locale before outputting them in diagnostics.
4945         Problem reported by Eli Zaretskii in:
4946         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
4947         * lisp/startup.el (command-line): Set internal--text-quoting-flag
4948         after the standard display table is initialized.
4949         * src/doc.c (default_to_grave_quoting_style): New function.
4950         (text_quoting_style): Use it.
4951         (text_quoting_flag): New static var, visible to Lisp as
4952         internal--text-quoting-flag.
4953         * src/emacs.c: Include <wchar.h> if available.
4954         (using_utf8): New function.
4955         (main): Use it to initialize text_quoting_flag.
4956         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
4957         Don't define, as it's not needed and it clashes with wchar.h.
4959 2015-08-17  Glenn Morris  <rgm@gnu.org>
4961         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
4962         from makeinfo about spurious "Note:" cross-reference, and for grammar.
4964 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
4966         Minor change in variable initialization on MS-Windows
4967         * src/w32fns.c <after_dead_key>: Initialize to -1.
4968         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
4969         non-zero.
4971         Fix a bug with LWindow key remapping on MS-Windows
4972         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
4974 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
4976         Improve fontset support for latest OTF script tags
4977         * lisp/international/fontset.el (otf-script-alist): Add some
4978         missing script tags.
4979         (setup-default-fontset): Include settings for v2 versions of the
4980         script tags used by some modern OTF/TTF fonts.
4982 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4984         Spelling fixes
4986 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4988         Use curved quotes in core elisp diagnostics
4989         In the core elisp files, use curved quotes in diagnostic formats,
4990         so that they follow user preference as per ‘text-quoting-style’
4991         rather than being hard-coded to quote `like this'.
4992         * lisp/abbrev.el (expand-region-abbrevs):
4993         * lisp/button.el (button-category-symbol, button-put)
4994         (make-text-button):
4995         * lisp/cus-start.el:
4996         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
4997         (custom--sort-vars-1, load-theme):
4998         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
4999         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
5000         (cl-generic-generalizers):
5001         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
5002         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
5003         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
5004         (advice--make, define-advice):
5005         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
5006         * lisp/emacs-lisp/timer.el (timer-event-handler):
5007         * lisp/env.el (setenv):
5008         * lisp/facemenu.el (facemenu-add-new-face)
5009         (facemenu-add-new-color):
5010         * lisp/faces.el (face-documentation, read-face-name)
5011         (face-read-string, read-face-font, face-spec-set-match-display)
5012         (read-color, x-resolve-font-name):
5013         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
5014         (set-auto-mode, hack-local-variables)
5015         (hack-one-local-variable--obsolete)
5016         (dir-locals-set-directory-class, write-file)
5017         (basic-save-buffer, delete-directory, copy-directory)
5018         (recover-session, recover-session-finish, insert-directory)
5019         (file-modes-char-to-who, file-modes-symbolic-to-number)
5020         (move-file-to-trash):
5021         * lisp/font-lock.el (font-lock-fontify-buffer):
5022         * lisp/format.el (format-write-file, format-find-file)
5023         (format-insert-file):
5024         * lisp/frame.el (get-device-terminal, select-frame-by-name):
5025         * lisp/fringe.el (fringe--check-style):
5026         * lisp/help.el (describe-minor-mode-from-indicator):
5027         * lisp/image.el (image-type):
5028         * lisp/international/fontset.el (x-must-resolve-font-name):
5029         * lisp/international/mule-cmds.el (prefer-coding-system)
5030         (select-safe-coding-system-interactively)
5031         (select-safe-coding-system, activate-input-method)
5032         (toggle-input-method, describe-current-input-method):
5033         * lisp/international/mule-conf.el (code-offset):
5034         * lisp/mouse.el (minor-mode-menu-from-indicator):
5035         * lisp/replace.el (query-replace-read-from)
5036         (occur-after-change-function, occur-1):
5037         * lisp/scroll-bar.el (scroll-bar-columns):
5038         * lisp/simple.el (execute-extended-command)
5039         (undo-outer-limit-truncate, compose-mail, set-variable)
5040         (choose-completion-string, define-alternatives):
5041         * lisp/startup.el (site-run-file, tty-handle-args, )
5042         (command-line, command-line-1):
5043         * lisp/subr.el (noreturn, define-error, add-to-list)
5044         (read-char-choice):
5045         * lisp/term/common-win.el (x-handle-xrm-switch)
5046         (x-handle-name-switch, x-handle-args):
5047         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
5048         Use curved quotes in diagnostics.
5049         * lisp/international/mule.el (find-auto-coding):
5050         Use " to quote in a diagnostic, to be consistent with the rest of
5051         this file.
5053         Convert lisp/term/x-win.el to UTF-8
5054         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
5055         runtime behavior, and the file is multilingual so compile-time
5056         appearance shouldn't be an issue.
5057         * admin/notes/unicode: Document this.
5059 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
5061         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
5062         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
5063         issues and comments, bug#943.
5064         (verilog-type-font-keywords): Cycle delay operators like ##1 and
5065         ##[0:$] are now highlighted in their entirety similarly to the #
5066         delay-control operator.  Likewise, the followed-by operators #-#
5067         and #=# are no longer partially highlighed.
5068         (verilog-backward-syntactic-ws-quick)
5069         (verilog-skip-backward-comments): Minor performance improvements
5070         to buffer traversal functions for reduced latency.
5071         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
5072         keyword 'final' follows 'assert/assume/cover', then it is part of
5073         a deferred immediate assertion item and should not be treated as a
5074         final construct for indentation.  Reported by Yuri Sugihara.
5075         (verilog-do-indent): Virtual task/function/class definition lines
5076         should not be considered as declarations.  Reported by Enzo Chi.
5077         (verilog-do-indent): Do not falsely indent to '=' of
5078         property/sequence operators on subsequent lines of a multi-line
5079         statement.
5080         (verilog-assignment-operator-re): Fix '!==' operator and add
5081         support for '<->', ':/', '#-#', and '#=#' operators.
5082         (verilog-calculate-indent, verilog-label-be): Enable
5083         case-sensitive regular expression parsing when looking for
5084         keywords.
5085         (verilog-calc-1): Detect 'pure virtual method' declarations which
5086         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
5087         (verilog-backward-ws&directives): When moving back to the start of
5088         a line and the preceeding line ended with an escaped-newline, then
5089         jump up one line.  This properly consumes a multi-line
5090         pre-processor directive.  Reported by Kaushal Modi.
5091         (verilog-dpi-import-export-re, verilog-extended-complete-re)
5092         (verilog-calc-1): Teach verilog-mode to properly indent after a
5093         DPI import/export statement that resides outside of a module.
5094         Reported by Kaushal Modi.
5095         (verilog-extended-complete-re): Update regexp to match both
5096         "DPI-C" and "DPI".  Reported by Kaushal Modi.
5098 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5100         substitute-command-keys a few more doc strings
5101         * lisp/allout.el (outlineify-sticky):
5102         * lisp/files.el (hack-one-local-variable--obsolete):
5103         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
5104         Use substitute-command-keys on some doc strings so that
5105         they don't use hard-coded key bindings or quoting styles.
5107         Fix quoting in Fformat calls
5108         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
5109         (xpm_load, xpm_load_image, pbm_load, png_load_body)
5110         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
5111         (imagemagick_load, svg_load, svg_load_image, gs_load)
5112         (x_kill_gs_process):
5113         * src/lread.c (load_warn_old_style_backquotes):
5114         * src/xfaces.c (load_pixmap):
5115         * src/xselect.c (x_clipboard_manager_error_1):
5116         Quote diagnostics according to user preference when calling
5117         Fformat or its derivatives.
5119 2015-08-15  Glenn Morris  <rgm@gnu.org>
5121         * admin/admin.el (set-version, set-copyright): Remove deleted files.
5123 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
5125         Allow describe-function helpers to access buffer-local values.
5126         This will be used by cedet/mode-local.el `describe-mode-local-override'
5127         on `help-fns-describe-function-functions' in upstream CEDET.
5128         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
5129         `describe-function'.
5130         (describe-function): Bind it, save it on the help xref stack.
5132         Handle pulse-background being nil
5133         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
5134         pulse-background, handle it being nil.
5136 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5138         Fix "\`" confusion in Lisp strings
5139         * admin/authors.el (authors-canonical-author-name):
5140         Fix typo by using "\\`" not "\`" in string RE.
5141         * lisp/obsolete/complete.el (PC-complete-as-file-name):
5142         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
5143         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
5144         Use plain "`", not the equivalent-but-confusing "\`", in strings.
5145         * lisp/textmodes/texinfmt.el: Fix comment likewise.
5147 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
5149         Remove 'nt/zipdist.bat' (no longer used)
5150         * nt/zipdist.bat: Remove -- no longer used.
5152 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
5154         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
5155         rather than "getenforce".
5156         (tramp-sh-handle-set-file-selinux-context): Do not
5157         cache SELinux context if not all context components are given.
5159 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
5161         Add doc strings to 2 help-mode.el functions
5162         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
5163         strings.  (Bug#21263)
5165         Remove files used by the old MS-Windows specific build procedure
5166         * admin/unidata/makefile.w32-in:
5167         * doc/emacs/makefile.w32-in:
5168         * doc/lispintro/makefile.w32-in:
5169         * doc/lispref/makefile.w32-in:
5170         * doc/misc/makefile.w32-in:
5171         * leim/makefile.w32-in:
5172         * lib-src/makefile.w32-in:
5173         * lib/makefile.w32-in:
5174         * lisp/makefile.w32-in:
5175         * nt/INSTALL.OLD:
5176         * nt/config.nt:
5177         * nt/emacs-src.tags:
5178         * nt/envadd.bat:
5179         * nt/gmake.defs:
5180         * nt/makefile.w32-in:
5181         * nt/multi-install-info.bat:
5182         * nt/nmake.defs:
5183         * nt/paths.h:
5184         * src/makefile.w32-in: Files deleted.
5185         * nt/configure.bat: Remove everything except the blurb about the
5186         new build procedure.
5187         * make-dist: Remove references to makefile.w32-in in various
5188         directories, and to files in nt/ that were deleted.
5189         * etc/NEWS: Mention the fact that the files were dropped.
5191 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5193         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
5194         (Bug#21248)
5196 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5198         Default to inotify instead of gfile
5199         * configure.ac (with_file_notification): Fix typo that
5200         prevented suppression of file notification if HAVE_NS.
5201         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
5202         with_file_notification is 'yes' (Bug#21241).
5203         * etc/NEWS: Mention this.
5205         Fix broken URLs for ISO-IR
5206         * doc/emacs/mule.texi (Charsets):
5207         * lisp/international/mule-conf.el:
5208         Fix broken URL (Bug#21248).
5210         Low-level diagnostics now use ‘text-quoting-style’
5211         * src/doprnt.c (doprnt):
5212         Format ` and ' as per ‘text-quoting-style’.
5213         * src/xdisp.c (vmessage, message): Mention that the format should
5214         not contain ` or '.
5216         Prefer ‘format’ to ‘substitute-command-keys’
5217         * src/character.h (uLSQM, uRSQM): Move here ...
5218         * src/doc.c (uLSQM, uRSQM): ... from here.
5219         * src/doc.c (Fsubstitute_command_keys):
5220         * src/syntax.c (Finternal_describe_syntax_value):
5221         * lisp/cedet/mode-local.el (mode-local-print-binding)
5222         (mode-local-describe-bindings-2):
5223         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
5224         * lisp/cus-theme.el (describe-theme-1):
5225         * lisp/descr-text.el (describe-text-properties-1, describe-char):
5226         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
5227         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
5228         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
5229         * lisp/emacs-lisp/package.el (describe-package-1):
5230         * lisp/faces.el (describe-face):
5231         * lisp/help-fns.el (help-fns--key-bindings)
5232         (help-fns--compiler-macro, help-fns--parent-mode)
5233         (help-fns--obsolete, help-fns--interactive-only)
5234         (describe-function-1, describe-variable):
5235         * lisp/help.el (describe-mode):
5236         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
5237         to implement quoting style.  This generally makes the code simpler.
5239         Extend ‘format’ to translate curved quotes
5240         This is a followup to the recent doc string change, and deals with
5241         diagnostics and the like.  This patch is more conservative than
5242         the doc string change, in that the behavior of ‘format’ changes
5243         only if its first arg contains curved quotes and the user prefers
5244         straight or grave quotes.  (Come to think of it, perhaps we should
5245         be similarly conservative with doc strings too, but that can wait.)
5246         The upside of this conservatism is that existing usage is almost
5247         surely unaffected.  The downside is that we'll eventually have to
5248         change Emacs's format strings to use curved quotes in places where
5249         the user might want curved quotes, but that's a simple and
5250         mechanical translation that I'm willing to do later.  (Bug#21222)
5251         * doc/lispref/help.texi (Keys in Documentation):
5252         Move description of text-quoting-style from here ...
5253         * doc/lispref/strings.texi (Formatting Strings):
5254         ... to here, and describe new behavior of ‘format’.
5255         * etc/NEWS: Describe new behavior.
5256         * lisp/calc/calc-help.el (calc-describe-thing):
5257         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
5258         * lisp/info.el (Info-find-index-name):
5259         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
5260         of recently-added curved quotes.
5261         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
5262         Move from here ...
5263         * src/lisp.h: ... to here.
5264         * src/doc.c (text_quoting_style): New function.
5265         (Fsubstitute_command_keys): Use it.
5266         * src/editfns.c (Fformat): Implement new behavior.
5267         * src/lisp.h (enum text_quoting_style): New enum.
5269 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
5271         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
5272         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
5274 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
5276         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
5277         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
5279 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
5281         Flush file properties in Tramp
5282         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
5283         (tramp-sh-handle-set-file-times):
5284         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
5285         (tramp-adb-handle-set-file-times): Flush the file properties of
5286         the directory.
5288 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
5290         * doc/emacs/misc.text (Amusements): Fixed typo.
5292 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
5294         Don't miss warnings about removing string text properties while dumping
5295         * src/alloc.c (purecopy): Warn about removing a string's text
5296         properties even when the same string was already pure-copied
5297         earlier.
5298         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
5299         (elisp--xref-format-extra): Fix the commentary.
5301 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5303         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049)
5305 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
5307         * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038)
5308         * lisp/progmodes/compile.el: Use lexical-binding.
5309         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
5311 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5313         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
5314         * lisp/uniquify.el: Remove redundant `:group's.
5316 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
5318         * lisp/net/tramp-adb.el
5319         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
5320         result to prevent modification of the tramp-cache by side effects.
5321         Use the correct cache key.
5323 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
5325         Make add_to_log varargs
5326         * src/alloc.c (run_finalizer_handler):
5327         * src/charset.c (load_charset_map_from_vector):
5328         * src/nsimage.m (ns_load_image):
5329         * src/xfaces.c (load_pixmap, load_color2):
5330         Simplify, now that add_to_log has a variable number of args.
5331         * src/image.c (image_error): Take a variable number of args.
5332         Callers simplified.
5333         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
5334         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
5335         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
5336         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
5338         Optional args for holiday-greek-orthodox-easter
5339         * etc/NEWS: Document this.
5340         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
5341         Add optional args N and STRING, mimicking the API and code of
5342         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
5344 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
5346         xref-find-definitions: Exclude more generic function items.
5347         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string.
5348         (cl--generic-find-defgeneric-regexp): New.
5349         (find-function-regexp-alist): Add it.
5350         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
5351         elisp-mode.el, change to search for ";;; Code:"
5352         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
5353         (find-function-regexp-alist): Add them.
5354         * lisp/progmodes/elisp-mode.el:
5355         (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due
5356         to bug#21237.
5357         (elisp--xref-find-definitions): Exclude co-located default methods for
5358         generic functions. Also exclude implicitly declared defgeneric.
5359         (elisp--xref-find-definitions): Handle C source properly. Exclude minor
5360         mode variables defined by 'define-minor-mode'.
5361         * test/automated/elisp-mode-tests.el: Declare generic functions, add
5362         tests for them.
5363         (xref-elisp-test-run): Fix bug.
5364         (emacs-test-dir): Improve initial value.
5365         (find-defs-defun-defvar-el): Don't expect defvar.
5366         (find-defs-feature-el): Match change to find-feature-regexp.
5368 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
5370         Improve warning about purecopy of strings with properties
5371         * src/alloc.c (purecopy): Show the offending string with the
5372         warning about removing its text properties.
5374 2015-08-12  Alan Mackenzie  <acm@muc.de>
5376         Introduce new macros to cover Emacs's new names in cl-lib.el.
5377         This also eliminates `mapcan' warnings in XEmacs.
5378         progmodes/cc-defs.el (c--mapcan-status): new variable to characterise
5379         [X]Emacs versions.
5380         (top-level): Require either 'cl or 'cl-lib, depending on
5381         c--mapcan-status.
5382         Change this back to cc-external-require from an eval-when-compile
5383         require.
5384         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
5385         (c--delete-duplicates): New macros which expand into either old or new
5386         names.
5387         (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros
5388         rather than the old names.
5389         progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather
5390         than mapcan.
5391         progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
5392         progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
5393         depending on c--mapcan-status.
5394         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
5395         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
5396         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
5397         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
5398         (c-decl-block-key, c-keywords, c-keywords-obarray)
5399         (c-regular-keywords-regexp, c-primary-expr-regexp)
5400         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
5401         (c-known-type-key, c-nonlabel-token-key)
5402         (c-make-init-lang-vars-fun): Use the new macros rather than the old
5403         names.
5405 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
5407         loadhist.el (read-feature): Conform to completing-read
5408         * lisp/loadhist.el (read-feature): According to `completing-read'
5409         documentation, if collection is a list, then it must be a list of
5410         strings, not a list of symbols like before.
5412 2015-08-12  David Kastrup  <dak@gnu.org>
5414         Deal gracefully with up-events (Bug#19746)
5415         * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
5416         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
5417         those may easily be injected by user-level Lisp code.
5418         (read_key_sequence): Discard unbound up-events like unbound
5419         down-events: they are even more likely only relevant for special
5420         purposes.
5421         While Emacs will not produce up-events on its own currently (those are
5422         converted to drag or click events before being converted to
5423         Lisp-readable structures), the input queue can be made to contain them
5424         by synthesizing events to `unread-command-events'.  Emacs should deal
5425         consistently with such events.
5427 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
5429         Fix display of thin lines whose newline has line-height property of t
5430         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
5431         and descent values of non-empty glyph rows, since they could have
5432         forced low values deliberately.  (Bug#21243)
5434 2015-08-12  Richard Stallman  <rms@gnu.org>
5436         Offer to combine multiple To or CC fields.
5437         * sendmail.el (mail-combine-fields): New function.
5438         (mail-send): Call 'mail-combine-fields'.
5440         Don't decrypt encrypted files.
5441         * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
5443         Handle encrypted mbox files.
5444         * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox
5445         file if necessary.
5447         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
5448         * rmail.el (rmail-epa-decrypt-1): New subroutine.
5449         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
5450         In a mime message, reenable Mime and show the parts that
5451         were shown before.
5452         Add keyword "decrypt" if anything decrypted.
5454         epa-inhibit inhibits auto-recognition of .gpg files
5455         * lisp/epa-file.el (epa-inhibit): New variable.
5456         (epa-file-handler): Check epa-inhibit.
5458 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5460         * emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
5462 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5464         Respect python.el imenu when semantic-mode is off
5465         Fixes debbugs:21220
5466         * lisp/cedet/semantic/wisent/python.el: Do not force
5467         wisent-python-default-setup on python-mode-hook.
5469 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
5471         Give names to Unicode code points in C code
5472         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
5473         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
5474         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
5475         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
5476         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
5477         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
5478         (OBJECT_REPLACEMENT_CHARACTER):
5479         New named constants for Unicode code points.
5480         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
5481         * src/composite.c (char_composable_p):
5482         * src/lread.c (readevalloop, read1):
5483         * src/xdisp.c (get_next_display_element):
5484         Use them.
5485         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
5486         Remove; now in character.h.
5488 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
5490         elisp--xref-find-definitions handle cl-defstuct default constructor
5491         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
5492         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
5493         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
5494         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
5495         from xref-elisp-test for ease of debugging.
5496         (xref-elisp-deftest): Rename from xref-elisp-test.
5497         (find-defs-constructor): New test.
5498         (find-defs-defgeneric-el): Match batch test config.
5499         (compile): Required for find-defs compilation-minor-mode test.
5500         (find-defs-defvar-el): Match code change.
5501         (find-defs-face-el): Match code change.
5502         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
5503         Improve doc string.
5505 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5507         * lisp/replace.el (perform-replace): Document `replacements'.
5508         (perform-replace): Move the description of the format of `replacements'
5509         from the body's comment to the doc string.
5511 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
5513         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
5514         sequence.  Recent adb version send initial escape sequences, even
5515         when terminal type is set to TERM=dumb.
5517 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
5519         Rewrite elisp--xref-find-definitions to handle many more cases; add tests.
5520         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
5521         Function deleted.
5522         (elisp--xref-format-cl-defmethod): New defconst.
5523         (find-feature-regexp, find-alias-regexp): New defcustoms.
5524         (elisp--xref-make-xref): New function.
5525         (elisp--xref-find-definitions): Rewrite using the above, handle many
5526         more cases.  Always output all available definitions.
5527         (xref-location-marker): No need for special cases.
5528         * test/automated/elisp-mode-tests.el: Add more tests of
5529         elisp--xref-find-definitions, improve current tests.
5531 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
5533         Fix recording of events pushed onto unread-command-events
5534         * src/keyboard.c (read_char): Make sure events read from
5535         unread-command-events and unread-post-input-method-events are
5536         always recorded by record_char.  Reported by David Kastrup
5537         <dak@gnu.org>, see
5538         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
5540 2015-08-10  Samer Masterson  <samer@samertm.com>
5542         Set file buffer as current for "--file"
5543         * lisp/startup.el (command-line-1): Set file buffer as current before
5544         it is displayed so it can be used with options like "--eval".
5545         (Bug#21095)
5547 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
5549         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
5550         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
5551         after setting LC_ALL to the desired locale, to avoid affecting how
5552         numbers are read and printed.  (Bug#21223)
5554 2015-08-10  Alan Mackenzie  <acm@muc.de>
5556         Fix "Invalid search bound (wrong side of point)" in fontification
5557         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
5558         an initialization expression, check point is not beyond the
5559         fontification limit.
5561 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5563         Fix DPI calculation when Xft/DPI is default
5564         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
5565         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
5566         Remove unnecessary cast while we're in the neighborhood.
5568 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
5570         Add project-vc-search-path and project-vc-ignores
5571         * lisp/progmodes/project.el (project-vc): New group.
5572         (project-vc-search-path, project-vc-ignores): New variables.
5573         (project--value-in-dir): Utility function.
5574         (project-search-path, project-ignores): Use them.
5575         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
5576         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
5578 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5580         Fix some minor quoting issues with grave accent
5581         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
5582         Remove redundant quotes.
5583         * src/doc.c (uLSQM, uRSQM): New macros.
5584         * src/doc.c (Fsubstitute_command_keys):
5585         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
5586         preference for quotes rather than hardcoding the ‘grave’ style.
5587         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
5588         (re_match_2_internal) [DEBUG]: In debugging output, quote C
5589         strings with "...", not `...'.
5591         ChangeLog.2 ignores remote-tracking merges
5592         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
5593         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
5594         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
5596 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
5598         Use kpsewhich in ffap-latex-mode, if available
5599         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
5600         (ffap-latex-mode): Use kpsewhich if available.
5602         ffap: disallow braces in filenames for tex modes
5603         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
5604         braces in tex-related modes.
5606         Remove useless backslashes from ffap-string-at-point-mode-alist
5607         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
5608         misleading backslashes from default value.
5610         Augment docstring of ffap-string-at-point-mode-alist
5611         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
5612         and END are handled.
5614 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5616         Remove no-op calls to substitute-command-keys
5617         * lisp/org/org-src.el (org-edit-src-code)
5618         (org-edit-fixed-width-region):
5619         * lisp/simple.el (completion-setup-function):
5620         Remove calls to substitute-command-keys that always just return
5621         their argument.
5623 2015-08-09  Daiki Ueno  <ueno@gnu.org>
5625         Utilize `quit-window' in epa.el
5626         * epa.el (epa-exit-buffer-function): Set to `quit-window'.
5627         (Bug#21210)
5629 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
5631         Fix link to source code in help window
5632         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
5633         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
5634         'No longer include timestamp in header of .elc files'.  Add code
5635         that will return .el source file in load-path.
5637 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
5639         * isearch.el (isearch-search-fun-default): (Bug#21164)
5640         Respect `isearch-lax-whitespace' when searching through
5641         `isearch-word'.
5643 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5645         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
5647         * org.el: Fix up some lexical scoping warnings, and use dolist
5648         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
5649         (org-set-regexps-and-options, org-assign-fast-keys)
5650         (org-contextualize-keys, org-contextualize-validate-key)
5651         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
5652         (org-find-olp, org-find-exact-heading-in-directory)
5653         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
5654         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
5655         (org-replace-escapes): Use dolist.
5656         (org-mode): Optimize away XEmacs-only code.
5657         (org-refile-get-targets): Remove unused var `f'.
5658         (org-fast-todo-selection): Remove unused var `e'.
5659         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
5660         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
5661         (org-format-latex): Use dolist.  Remove unused var `e'.
5662         (org-toggle-heading): Access vars lexically rather than dynamically.
5663         (org-backward-sentence, org-forward-sentence, org-meta-return)
5664         (org-kill-line): Mark arg as unused.
5665         (org-submit-bug-report): Silence compiler warning.
5666         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
5667         (org-get-cursor-date): Remove unused var `tm'.
5668         (org-comment-or-uncomment-region): Use standard name `_'.
5669         (reftex-docstruct-symbol, reftex-cite-format): Declare to
5670         silence byte-compiler.
5671         (org-reftex-citation): Add `org--' prefix to dynamically scoped
5672         `rds' var.
5674 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
5676         Electric quote if coding is undecided or no conv
5677         * lisp/electric.el (electric--insertable-p): Also say that a
5678         string is insertable if the buffer file coding system is undecided
5679         or uses no conversion, as curved quotes will work in either case.
5681         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
5683 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
5685         Fix overlay string display regressions introduced in Emacs 24.5
5686         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
5687         buffer position, if we move the iterator to a new position as
5688         result of jumping over text covered by a "replacing" display
5689         property.
5690         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
5692         Support recovery from C stack overflow on MS-Windows
5693         * src/w32fns.c (w32_reset_stack_overflow_guard)
5694         (stack_overflow_handler): New functions for handling C stack
5695         overflow exceptions.
5696         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
5697         specially, and zero out except_addr if we do.
5698         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
5699         mode.
5700         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
5701         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
5702         the MinGW build, but the code guarded by that is for Posix hosts.
5703         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
5704         w32_reset_stack_overflow_guard.
5705         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
5706         (sigsetjmp): New macro.
5707         (w32_reset_stack_overflow_guard): Declare the prototype.
5708         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
5710 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
5712         Improve error signalling for seq-subseq
5713         * lisp/seq.el (seq-subseq): The existing behaviour is to error
5714         when indexes are too large, but to silently ignore numbers which
5715         are too negative for lists.  String and vector handling errors in
5716         both cases.  This has been regularized.  Error signaling behavior
5717         has been explicitly added to the doc string.
5719         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
5720         therefore also impacted by this change.  Update the doc string
5721         to reflect this.
5723         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
5724         added for these exceptional cases, as well as one non exceptional
5725         base case.
5727 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
5729         Improve error checking in tramp-adb.el
5730         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
5731         Improve error checking.  "ls -l" on Android in Enforcing mode can
5732         print "lstat './FILENAME failed: Permission denied".
5734 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
5736         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
5737         non-struct vectors.
5739 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
5741         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
5742         * lisp/window.el: Fix typo that broke build.
5743         (display-buffer--action-function-custom-type): Add
5744         `display-buffer-use-some-frame'.
5745         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
5747         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
5748         * lisp/window.el (display-buffer-use-some-frame): Add support for
5749         'inhibit-same-window in alist.
5750         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
5751         'inhibit-same-window in alist.
5753 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
5755         Avoid infinite loop in display of invisible text in strings
5756         * src/xdisp.c (handle_invisible_prop): If the next change of
5757         invisibility spec does not mean the beginning of a visible text,
5758         update the string position from which to start the search for the
5759         next invisibility change.  This avoids an infinite loop when we
5760         have more than one invisibility spec that are made inactive by
5761         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
5762         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
5763         for the situation that caused bug #21200.
5765 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
5767         * lisp/emacs-lisp/package.el: Simplify describe-package-1
5768         (package-help-section-name-face): New face.
5769         (package--print-help-section): New function.
5770         (describe-package-1): Refactor section printing.
5771         (package-make-button): Use face instead of font-lock-face, which
5772         doesn't work on buttons.
5774         * lisp/emacs-lisp/package.el: Define custom faces
5775         (package-name-face, package-description-face)
5776         (package-status-built-in-face, package-status-external-face)
5777         (package-status-available-face, package-status-new-face)
5778         (package-status-held-face, package-status-disabled-face)
5779         (package-status-installed-face, package-status-dependency-face)
5780         (package-status-unsigned-face, package-status-incompat-face)
5781         (package-status-avail-obso-face): New faces.
5782         (package-menu--print-info-simple): Use them.
5784 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
5786         Fix some confusion with ‘format’
5787         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
5788         (allout-graphics-modification-handler):
5789         Protect arbitrary string in a format context with "%s" format.
5790         * lisp/avoid.el:
5791         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
5792         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
5793         * lisp/erc/erc-button.el (erc-button-beats-to-time):
5794         * lisp/gnus/message.el (message-send-form-letter):
5795         * lisp/org/ob-core.el (org-babel-check-evaluate)
5796         (org-babel-confirm-evaluate):
5797         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
5798         * lisp/org/ox-latex.el (org-latex-compile):
5799         * lisp/org/ox-man.el (org-man-compile):
5800         * lisp/org/ox-odt.el (org-odt-template):
5801         * lisp/org/ox-texinfo.el (org-texinfo-compile):
5802         * lisp/progmodes/prolog.el (prolog-help-info)
5803         (prolog-view-predspec):
5804         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
5805         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
5806         * lisp/textmodes/rst.el (rst-replace-lines):
5807         Change (message (format ...)) to (message ...), and likewise
5808         for ‘error’.  This lessens the probability of confusion when the
5809         output of ‘format’ contains ‘%’.
5811 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
5813         * lisp/replace.el (replace-character-fold): Default to nil.
5815         * lisp/character-fold.el: Fix lax whitespace.
5816         (character-fold-table): Don't make space match other whitespace chars.
5817         (character-fold-to-regexp): Simplify lax behavior.
5819 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
5821         Preserve window point in xref-find-definitions-other-window
5822         Fix the problem reported by Ingo Logmar in
5823         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
5824         * lisp/progmodes/xref.el (xref--goto-char): Extract from
5825         xref--goto-location.
5826         (xref--pop-to-location): Use it. Replace xref--goto-location with
5827         a direct xref-location-marker call.
5828         (xref--show-location): Likewise.
5829         (xref--display-position): Use xref--goto-char.
5831         * lisp/progmodes/project.el: Add a paragraph to the front matter.
5833 2015-08-04  David Kastrup  <dak@gnu.org>
5835         Do not overwrite preexisting contents of unread-command-events
5836         * lisp/vc/emerge.el (emerge-show-file-name):
5837         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
5838         (vhdl-comment-insert, vhdl-hooked-abbrev):
5839         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
5840         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
5841         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
5842         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
5843         * lisp/obsolete/vip.el (vip-escape-to-emacs)
5844         (vip-prefix-arg-value, vip-prefix-arg-com):
5845         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
5846         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
5847         (quail-tibkey-update-translation):
5848         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
5849         * lisp/leim/quail/lao.el (quail-lao-update-translation):
5850         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
5851         (quail-japanese-self-insert-and-switch-to-alpha):
5852         * lisp/leim/quail/hangul.el (hangul2-input-method)
5853         (hangul3-input-method, hangul390-input-method):
5854         * lisp/language/hanja-util.el (hangul-to-hanja-char):
5855         * lisp/international/robin.el (robin-input-method):
5856         * lisp/international/quail.el (quail-start-translation)
5857         (quail-start-conversion):
5858         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
5859         (gnus-article-describe-key-briefly):
5860         * lisp/eshell/em-hist.el (eshell-list-history):
5861         * lisp/term.el (term-dynamic-list-input-ring)
5862         (term-dynamic-list-completions):
5863         * lisp/subr.el (momentary-string-display):
5864         * lisp/simple.el (read-quoted-char):
5865         * lisp/pcomplete.el (pcomplete-show-completions):
5866         * lisp/kmacro.el (kmacro-repeat-on-last-key):
5867         * lisp/info.el (Info-summary):
5868         * lisp/ehelp.el (electric-help-command-loop):
5869         * lisp/ebuff-menu.el (electric-buffer-list)
5870         (Electric-buffer-menu-exit):
5871         * lisp/double.el (double-translate-key):
5872         * lisp/comint.el (comint-dynamic-list-input-ring)
5873         (comint-dynamic-list-completions): Do not overwrite preexisting
5874         contents of `unread-command-events' when putting new events into
5875         it.
5877 2015-08-04  Daniel Colascione  <dancol@dancol.org>
5879         Improve ansi-color filtering of unrecognized escape sequences
5880         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
5881         escape sequences.
5882         (ansi-color-filter-apply, ansi-color-apply): Filter out
5883         unrecognized escape sequences.
5885 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
5887         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
5888         definitions to `easy-menu-define', improve a couple to account for
5889         async, and add a couple of new commands.
5891 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
5893         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
5895 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
5897         Add new 'calendar-weekend-days' option
5898         Make the days receiving the 'calendar-weekend-header' face freely
5899         customizable, as they differ by region/culture.
5900         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
5901         new variable.
5902         * lisp/calendar/calendar.el (calendar-generate-month): New variable
5903         calendar-weekend-days to customize day header fontification.
5905 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
5907         Redo text-quoting-style variable
5908         Rename help-quote-translation to text-quoting-style,
5909         and use symbols rather than characters as values.
5910         This follows suggestions along these lines by Alan Mackenzie in:
5911         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
5912         and by Drew Adams in:
5913         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
5914         * doc/lispref/help.texi (Keys in Documentation)
5915         * etc/NEWS:
5916         * lisp/cus-start.el (standard):
5917         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
5918         Document and/or implement the new behavior instead of the old.
5919         (syms_of_doc): New symbols 'grave' and 'straight'.
5921 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
5923         nnimap.el: Use IMAP MOVE extension if available
5924         * lisp/gnus/nnimap.el (nnimap-request-move-article)
5925         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
5926         Use MOVE extension if available.
5928         nnimap.el: Explicitly ask for server capabilities
5929         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
5930         capabilities will be returned in the login-result.
5932 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5934         Treat help strings like other doc strings
5935         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
5936         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
5937         substitute-command-keys.
5938         * src/keyboard.c (show_help_echo, parse_menu_item): Call
5939         substitute-command-keys on the help string before displaying it.
5941         Also mention "curly quotes"
5942         See Drew Adams's email in:
5943         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
5944         * doc/lispref/help.texi (Keys in Documentation):
5945         Add index entry "curly quotes".
5946         * etc/NEWS: Use the phrase "curly quotes" too.
5948         ede-proj-target-makefile docstring tweaks
5949         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
5950         Consistently use "all:" to describe the all: target,
5951         replacing three different and confusingly-quoted usages.
5953 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
5955         Don't abort emacsclientw when -a was specified
5956         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
5957         out if we are in emacsclientw and -a was specified.
5959 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
5961         Fix handling of 1st keystroke on MS-Windows
5962         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
5963         This is needed to correctly handle the session's first keystroke,
5964         if it has any modifiers.  (Bug#19994)
5966 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5968         Substitute some customization etc. doc strings
5969         These changes apply substitute-command-keys to some
5970         doc strings that were going through untranslated
5971         when creating customization or other widgets.
5972         * lisp/cus-edit.el (custom-group-value-create):
5973         * lisp/wid-edit.el (widget-default-create):
5974         (widget-push-button-value-create):
5975         Treat the widget tag as a doc string.
5976         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
5977         Treat the :documentation value as a doc string.
5978         * lisp/wid-edit.el (widget-choose):
5979         Treat the choice names as doc strings.
5980         (widget-default-create): Treat the :doc value as a doc string.
5981         (widget-toggle-value-create): Treat the :on and :off values
5982         as doc strings.
5983         (widget-documentation-string-value-create):
5984         Substitute the doc string.
5986 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
5988         Add a second argument to project-ignores
5989         * lisp/progmodes/project.el (project-ignores): Add a second
5990         argument DIR.
5991         * lisp/progmodes/project.el (project-ignores): Only include the VC
5992         ignores if DIR is the VC root.
5993         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
5995 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
5997         Prevent incorrect display when 'line-spacing' variable is set
5998         * src/xdisp.c (try_window_id): Give up this optimization if the
5999         buffer has its 'line-spacing' variable set non-nil.
6001 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
6003         Don't pass NOVISIT to find-file
6004         * lisp/progmodes/etags.el (next-file):
6005         Don't pass NOVISIT to find-file (bug#21175).
6007         Ignore buffer restriction for tags-loop-eval
6008         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
6009         restriction (bug#21167).
6011 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
6013         Fix a thinko in 'ffap-gopher-at-point'
6014         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
6016         Honor 'line-spacing' for empty lines
6017         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
6018         property and 'line-spacing' frame parameter or variable or
6019         property for empty lines, by doing the same processing as in
6020         x_produce_glyph for newline characters.  (Bug#21165)
6022 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
6024         Simplify by assuming C99 integer division
6025         * src/floatfns.c (ceiling2, floor2, truncate2):
6026         Assume C99 (i.e., Fortran) semantics for integer division.
6027         This simplifies the code.
6029 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
6031         Don't overflow if computing approximate percentage
6032         * lisp/align.el (align-region):
6033         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
6034         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
6035         * lisp/cus-edit.el (custom-buffer-create-internal):
6036         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
6037         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
6038         (checkdoc-next-message-error):
6039         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
6040         * lisp/epa.el (epa-progress-callback-function):
6041         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
6042         * lisp/ffap.el (ffap-menu-rescan):
6043         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
6044         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
6045         * lisp/gnus/nneething.el (nneething-retrieve-headers):
6046         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
6047         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
6048         * lisp/gnus/nnml.el (nnml-retrieve-headers):
6049         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
6050         * lisp/gnus/nntp.el (nntp-retrieve-headers)
6051         (nntp-retrieve-articles):
6052         * lisp/imenu.el (imenu--relative-position):
6053         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
6054         (skkdic-convert-okuri-nasi):
6055         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
6056         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
6057         * lisp/org/org-list.el (org-update-checkbox-count):
6058         * lisp/org/org.el (org-table-map-tables)
6059         (org-update-parent-todo-statistics):
6060         * lisp/play/decipher.el (decipher-insert-frequency-counts)
6061         (decipher-analyze-buffer):
6062         * lisp/profiler.el (profiler-format-percent):
6063         * lisp/progmodes/cc-cmds.el (c-progress-update):
6064         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
6065         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
6066         (idlwave-list-load-path-shadows):
6067         * lisp/progmodes/opascal.el (opascal-step-progress):
6068         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
6069         (vhdl-scan-directory-contents):
6070         * lisp/textmodes/bibtex.el (bibtex-progress-message):
6071         * lisp/textmodes/flyspell.el (flyspell-small-region)
6072         (flyspell-external-point-words):
6073         * lisp/textmodes/table.el (table-recognize):
6074         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
6075         progress-report percentages and the like.  This avoids problems
6076         if (* 100 NUMERATOR) would overflow.
6077         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
6078         * lisp/gnus/registry.el (registry-reindex):
6079         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
6080         * lisp/descr-text.el (describe-char):
6081         * lisp/org/org-colview.el (org-nofm-to-completion):
6082         * lisp/ps-print.el (ps-plot):
6083         * lisp/simple.el (what-cursor-position):
6084         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
6085         more-complicated and less-accurate approximation.
6087         Fix some int overflows in profiler.c
6088         * src/profiler.c (make_log): Make args EMACS_INT, not int,
6089         to avoid unwanted behavior on 'int' overflow.
6090         (make_log, evict_lower_half, record_backtrace):
6091         Use ptrdiff_t, not int, for object indexes.
6093         Port to pedantic memcpy
6094         * src/keyboard.c (menu_bar_items, tool_bar_items):
6095         * src/xrdb.c (magic_db):
6096         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
6098         Merge from gnulib
6099         This incorporates:
6100         2015-07-29 time_rz: port to pedantic memcpy
6101         * lib/time_rz.c: Copy from gnulib.
6103 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
6105         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
6106         When updating the very last entry, tabulated-list-print would
6107         erase it and then try to look at the next one (which obviously
6108         isn't there).
6110 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
6112         Allow to use the old key processing code on MS-Windows
6113         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
6114         New variable.
6115         (w32_wnd_proc): Use it to invoke the old code that processed
6116         character keys, as fallback, when this variable is non-nil.  Fix
6117         typos in comments.  (Bug#19994)
6119 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
6121         Improve handling of Unicode keyboard input on MS-Windows
6122         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
6123         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
6124         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
6125         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
6126         successful, don't call TranslateMessage.  (Bug#19994)
6128 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
6130         Fix default-directory in changeset diffs after vc-print-log
6131         * lisp/vc/log-view.el (log-view-diff-common): Move the
6132         revision-granularity check back into log-view-diff-changeset.
6133         (log-view-diff-changeset): Bind default-directory to the current
6134         VC root.
6136         Rename project-directories to project-roots
6137         * lisp/progmodes/project.el (project-search-path-function)
6138         (project-search-path): Update the docstring.
6139         (project-directories): Rename to `project-roots', update all
6140         callers and implementations accordingly.
6141         (project-root): Remove.
6142         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
6143         as the default file mask.
6145 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
6147         Support long URLs in w32-shell-execute
6148         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
6149         and filename_to_ansi to convert the DOCUMENT argument, as it could
6150         be a URL that is not limited to MAX_PATH characters.  Instead, use
6151         MultiByteToWideChar directly, and allocate heap storage as
6152         required to accommodate the converted string.  Likewise with
6153         non-Unicode operation.  Ensure OPERATION is null-terminated, even
6154         if it is longer than 32K bytes.  (Bug#21158)
6156 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
6158         vc-mtn-find-revision handle null rev.
6159         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
6161 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
6163         Add docs for display-buffer action display-buffer-use-some-frame
6164         * lisp/window.el (display-buffer-use-some-frame): improve doc string
6165         * doc/lispref/windows.texi (Display Action Functions): add
6166           display-buffer-use-some-frame
6167         * etc/NEWS: mention display-buffer-use-some-frame
6169         Add display-buffer action display-buffer-use-some-frame
6170         * lisp/window.el (display-buffer-use-some-frame): new
6172         Handle vc-mtn error more gently
6173         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
6175 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
6177         Fix Tramp problems with multihops, and nc.
6178         * lisp/net/tramp-cache.el (tramp-get-file-property)
6179         (tramp-set-file-property, tramp-flush-file-property)
6180         (tramp-get-connection-property, tramp-set-connection-property)
6181         (tramp-flush-connection-property): Remove hop from vector.
6182         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
6183         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
6184         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
6185         netstat to 60".
6186         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
6187         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
6188         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
6189         Keep hop in result.
6190         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
6191         Add hop tests.
6193 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
6195         Resurrect highlighting of repeated words by Flyspell Mode
6196         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
6197         characters between point and the doublon candidate, so that
6198         flyspell-word-search-backward finds it.  (Bug#21157)
6200         Fix redisplay of large images on expose events
6201         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
6202         between signed negative values and unsigned values.  This
6203         prevented redisplay on expose events when the window showed a very
6204         large image.
6206 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
6208         Remove unnecessary stack overflow dependency
6209         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
6210         Don't worry about $ac_cv_header_sys_resource_h and
6211         $ac_cv_func_getrlimit, as they're no longer needed for this.
6212         Problem reported by Eli Zaretskii in:
6213         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
6215 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
6217         Pacify compilation -Wincompatible-pointer-types warnings
6218         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
6219         warning.
6220         (CompareStringW_Proc): New typedef.
6221         (w32_compare_strings): Use it, to pacify compiler warnings under
6222         "-Wincompatible-pointer-types".
6223         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
6224         (GetDiskFreeSpaceExA_Proc): New typedefs.
6225         (Ffile_system_info): Use them, to pacify compiler warnings under
6226         "-Wincompatible-pointer-types".
6228 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
6230         Fix subscript error in calculate_direct_scrolling
6231         Use slightly-longer cost vectors.  Without this change,
6232         calculate_direct_scrolling can have a subscript violation when
6233         FRAME_LINES (frame) <= delta.
6234         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
6235         (line_ins_del, do_line_insertion_deletion_costs):
6236         Allocate and use slightly-larger cost vectors, ones based on
6237         FRAME_TOTAL_LINES instead of FRAME_LINES.
6239         Fix uninitalized value in encode_coding_object
6240         * src/coding.c (encode_coding_object): Also initialize
6241         coding->src_pos and coding->src_pos_byte when NILP (src_object).
6242         This avoids later use of uninitialized storage.
6244 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
6246         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
6248 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
6250         Merge from gnulib
6251         This incorporates:
6252         2015-07-27 time_rz: port better to MinGW
6253         2015-07-27 time: port __need_time_t to MinGW
6254         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
6255         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
6256         * lib/time-internal.h: New file, from gnulib.
6258 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
6260         Handle NULL pointers in w32heap.c allocation routines
6261         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
6262         freeable".
6263         (realloc_after_dump, realloc_before_dump, free_before_dump):
6264         Handle NULL pointers gracefully, as Emacs now seems to expect
6265         that.
6267         Fix Cairo build without PNG
6268         * src/image.c: Define PNG function when USE_CAIRO is defined, even
6269         if HAVE_PNG is not.  (Bug#21133)
6271         MS-Windows follow-up for recent TZ-related changes
6272         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
6273         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
6274         picking up 'struct timespec' from pthread.h, if it is installed on
6275         the user's system.  We want either the definitions from MinGW
6276         system headers, if available, or the Gnulib replacements if not.
6277         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
6278         lib/time.h.
6279         * lib/time.in.h: Don't let __need_* symbols affect what happens on
6280         MinGW.  These symbols are defined by MinGW system headers, but we
6281         don't want that to affect whether Gnulib portions of the header
6282         are or aren't used.
6284 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
6286         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
6288         New optional ZONE arg for format-time-string etc.
6289         This simplifies time conversions in other time zones.
6290         It also prevents display-time-world tampering with TZ (Bug#21020).
6291         * admin/admin.el (add-release-logs):
6292         Use improved add-log-time-format API.
6293         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
6294         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
6295         * configure.ac (tzalloc): Remove test for this, since
6296         Emacs no longer uses HAVE_TZALLOC directly.
6297         * doc/lispref/os.texi (Time of Day, Time Conversion)
6298         (Time Parsing):
6299         * etc/NEWS: Document the new behavior.
6300         Merge from gnulib, incorporating:
6301         2015-07-25 strftime: fix newly-introduced bug on Solaris
6302         2015-07-23 fprintftime, strftime: use timezone_t args
6303         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
6304         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
6305         * m4/time_h.m4:
6306         Update from gnulib.
6307         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
6308         New files from gnulib.
6309         * lisp/time-stamp.el (time-stamp-string):
6310         * lisp/time.el (display-time-world-list)
6311         (display-time-world-display):
6312         Use new API, with time zone arg.
6313         * lisp/time.el (display-time-world-display):
6314         Fix race when current-time advances while we're running.
6315         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
6316         (add-log-iso8601-time-string): Accept optional time zone arg.
6317         * lisp/vc/add-log.el (add-change-log-entry):
6318         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
6319         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
6320         Add rules for the time module, since they're now needed
6321         for tzalloc etc.
6322         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
6323         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
6324         * src/editfns.c: Include errno.h.
6325         (set_time_zone_rule): Omit unnecessary forward decl.
6326         (initial_tz): Remove, replacing with ...
6327         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
6328         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
6329         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
6330         (tzlookup): New static functions.
6331         (init_editfns): New arg DUMPING.  All uses changed.
6332         (init_editfns): Omit most initialization if dumping, not if
6333         !initialized.  Initialize wall_clock_tz and local_tz.
6334         (emacs_nmemftime, format_time_string): Time zone argument can now
6335         be any time zone, not just a boolean for UTC or local time.  All
6336         callers changed.
6337         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
6338         (Fcurrent_time_zone): New optional arg ZONE.
6339         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
6340         the same form as with the other new additions.
6341         (decode_time_zone): Remove; no longer needed.
6342         (tzvalbuf): Now file-scope.
6343         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
6344         (syms_of_editfns): Define Qwall.
6345         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
6346         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
6347         [!HAVE_TZALLOC]:
6348         Remove; now supplied by gnulib.
6349         * src/emacs.c (main):
6350         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
6352 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
6354         Fix infinite loop in delete-consecutive-dups
6355         * lisp/subr.el (delete-consecutive-dups): Work even if the last
6356         element is nil (Bug#20588).  Avoid rescan of a circular list in
6357         deletion of last element.
6359 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
6361         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
6362         * src/nsfns.m (Fx_frame_geometry):
6363         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
6364         terminal frames.
6365         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
6366         (Fx_frame_geometry): Return nil for terminal frames
6368 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
6370         * etc/tutorials/TUTORIAL.ja: Improve translation.
6372 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
6374         Avoid crashes when w32 GUI functions are called in -batch
6375         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
6376         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
6377         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
6379         Fix flyspell-check-previous-highlighted-word
6380         * lisp/textmodes/flyspell.el
6381         (flyspell-check-previous-highlighted-word): Really accept a
6382         numeric argument, as the doc string describes.  Fix an off-by-one
6383         error in looking up overlays, so invocation with point immediately
6384         after a word would check that word.  Clarify the doc string as
6385         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
6387 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
6389         Minor cleanup in tramp-tests.el
6390         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
6391         Implement using the documented interface
6392         `tramp-connection-properties', rather than with internal functions.
6394 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
6396         Pass lambdas to `skeleton-read'
6397         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
6398         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
6399         lambdas to `skeleton-read' (bug#20386).
6401 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
6403         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
6405         Don't require GUI frames and mouse for Flyspell menus
6406         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
6407         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
6408         support, since pop-up menus work with text terminals and can be
6409         controlled via the keyboard.
6411         Improve documentation of Flyspell commands
6412         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
6413         can be invoked via the keyboard.  Mention those commands by name
6414         and add them to the fn index.  (Bug#21125)
6416 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
6418         Fix some Tramp problems with HP-UX
6419         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6420         Add "tab0" to stty call.
6421         * test/automated/tramp-tests.el (tramp-persistency-file-name):
6422         Set to nil.
6423         (tramp--test-hpux-p): New defun.
6424         (tramp--test-utf8): Use it.
6426 2015-07-22  Glenn Morris  <rgm@gnu.org>
6428         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
6430 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
6432         Fix point positioning in ffap-next-guess
6433         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
6434         as our callers expect.  This was clobbered as part of fixing
6435         bug#5673.  (Bug#21107)
6436         (ffap-gopher-at-point): Set ffap-string-at-point-region.
6438 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
6440         Fix customization type of `even-window-sizes'.
6441         * lisp/window.el (even-window-sizes): Fix customization type.
6443         Optionally even widths of `display-buffer' windows.  (Bug#21100)
6444         * lisp/window.el (quit-restore-window): Restore width if
6445         requested.
6446         (display-buffer-record-window): Record width when window is
6447         reused and horizontally combined.
6448         (even-window-sizes): New option to allow evening window widths.
6449         (even-window-heights): Defalias to `even-window-sizes'.
6450         (window--even-window-heights): Rename to
6451         `window--even-window-sizes'.  Handle side-by-side windows.
6452         (display-buffer-use-some-window): Call `window--even-window-sizes'
6453         instead of `window--even-window-heights'.
6454         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
6455         * doc/lispref/windows.texi (Choosing Window Options): Describe
6456         `even-window-sizes'.
6457         (Coordinates and Windows): Fix typo.
6459 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
6461         add file name to autoload error messages.
6462         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
6463           to add file name to error message.
6465 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
6467         Use 0.0.0.1 as test host in Tramp
6468         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
6469         Use 0.0.0.1 as test host.
6471 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
6473         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
6474         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
6475         Fix inf-loop (bug#21083).
6477 2015-07-21  Glenn Morris  <rgm@gnu.org>
6479         * test/automated/package-test.el (package-test-signed):
6480         Update for recent changes.
6482         * test/automated/elisp-mode-tests.el
6483         (elisp-xref-finds-both-function-and-variable)
6484         (elisp-xref-finds-only-function-for-minor-mode):
6485         Update for recent xref name changes.
6487 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
6489         Make eldoc timer non-repeatable
6490         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
6491         non-repeatable.  Since it's on post-command hook, that just wasted
6492         CPU cycles.
6494 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
6496         Mention `tramp-connection-properties' in NEWS
6498         Sync with Tramp repository
6499         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
6500         required prior changing its configuration.
6501         (Connection caching, Predefined connection information)
6502         (Remote shell setup): Fix typos.
6503         (Predefined connection information): Describe, how to overwrite
6504         parameters of `tramp-methods'.
6505         (Remote programs, Remote processes, Traces and Profiles):
6506         Simplify example.
6507         (Remote programs): Remove superfluous comment.
6508         * doc/misc/trampver.texi: Update release number.
6509         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
6510         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
6511         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
6512         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
6513         "gvfs-mkdir -p ..." does not work robust.
6514         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
6515         * lisp/net/tramp-sh.el (tramp-methods):
6516         Add `tramp-remote-shell-login' parameter where it fits.
6517         (tramp-get-remote-path): Use it.
6518         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
6519         (all): Adapt `tramp-get-method-parameter' calls.
6520         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
6521         (tramp-get-method-parameter): Replace argument METHOD by VEC.
6522         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
6523         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
6524         (all): Adapt `tramp-get-method-parameter' calls.
6525         * lisp/net/trampver.el Update release number.
6526         * test/automated/tramp-tests.el (tramp--instrument-test-case):
6527         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
6528         (tramp-test13-make-directory, tramp--test-adb-p)
6529         (tramp--test-smb-or-windows-nt-p): Simplify.
6530         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
6531         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
6532         (tramp--test-utf8): Fix docstring.
6534 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
6536         Add new xref-query-replace command
6537         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
6538         function, extracted from xref-pulse-momentarily.
6539         (xref-query-replace): New command.
6540         (xref--query-replace-1): New helper function.
6541         (xref--xref-buffer-mode-map): Add `r' binding.
6543 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
6545         Simplify icalendar decoding of Z dates
6546         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
6547         Simplify calculation of time strings with trailing "Z".
6549 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
6551         Do not corrupt grep-find-ignored-files
6552         * lisp/progmodes/project.el (project-ignores): Change the order of
6553         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
6555         Add xref-match-item, and use it
6556         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
6557         (xref-file-location): Add reader for the column slot.
6558         (xref-match-item): New class.
6559         (xref-match-bounds): A method implementation for it.
6560         (xref-make-match): New constructor function.
6561         (xref--current-item): New private variable.
6562         (xref-pulse-momentarily): Use it.
6563         (xref--pop-to-location): Change the first argument to an xref
6564         item, instead of location, bind xref--current-item.
6565         Update all callers.
6566         (xref-next-line, xref-prev-line, xref--next-error-function)
6567         (xref--mouse-2): Look for the property `xref-item',
6568         instead of `xref-location'.
6569         (xref--item-at-point): Likewise.  This function replaces
6570         `xref-location-at-point'.  Update all callers.
6571         (xref--insert-xrefs): Add the `xref-item' text property, instead
6572         of `xref-location'.
6573         (xref--collect-match): Use xref-make-match.
6575         Rename xref--xref to xref-item
6576         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
6577         Update all references.
6579         Rename xref description slot to summary
6580         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
6581         slot to `summary'.
6583         vc-hg: Perform the print-log call asynchronously
6584         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
6585         asynchronously (bug#21067).
6587         Add xref-after-jump-hook and xref-after-return-hook
6588         * lisp/progmodes/xref.el (xref-after-jump-hook)
6589         (xref-after-return-hook): New hooks.
6590         (xref-pulse-on-jump): Remove, in favor of the above.
6591         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
6592         (xref--pop-to-location, xref--display-position)
6593         (xref-pop-marker-stack): Use the new hooks, as requested in
6594         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
6596 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
6598         Correct js-mode's lighter
6599         * lisp/progmodes/js.el (js-mode): Correct the lighter.
6601 2015-07-19  Leo Liu  <sdl.web@gmail.com>
6603         Fix a bug in cfengine3-mode
6604         * progmodes/cfengine.el (cfengine3-mode): Handle nil
6605           eldoc-documentation-function.
6607 2015-07-18  Julien Danjou  <julien@danjou.info>
6609         sieve-mode: support "body" test command
6610         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
6611         Add missing "body" test command.
6613 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
6615         Fix info-apropos when the default encoding is Latin-N
6616         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
6617         'undecided', so that it is set to the encoding of the Info file we
6618         are about to insert.  Otherwise, 'info-apropos' will fail to find
6619         some index nodes in some UTF-8 encoded files, if the buffer's
6620         previous encoding is Latin-N or some such.
6622 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
6624         * epg.el (epg--start): Check that gpgconf can be found before calling it.
6626         Expose more file types to OS X that Emacs understands.
6627         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
6628         json, and org files.  Export UTIs for el, elc, and org files.
6630 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
6632         Fix visual-order cursor movement when lines are truncated
6633         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
6634         simulate display in a window of infinite width, to allow move_it_*
6635         functions reach positions outside of normal window dimensions.
6636         Remove code that tried to handle a subset of these situations by
6637         manual iteration of buffer text.  (Bug#17777)
6639         Fix following Info cross-references to anchors
6640         * lisp/info.el (Info-read-subfile): Add to the returned value the
6641         length of subfile preamble, after converting it to file's byte
6642         offset, as expected by the caller.  Use bufferpos-to-filepos.
6643         (Info-find-node-2): If searching for a node with a
6644         1000-character slop fails, try again with a 10000-character slop,
6645         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
6646         * lisp/international/mule-util.el (bufferpos-to-filepos): New
6647         function.
6648         * etc/NEWS: Mention bufferpos-to-filepos.
6650         Fix scrolling backwards on TTY frames under scroll-conservatively
6651         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
6652         in moving backwards on TTY frames.  (Bug#21080)
6654 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
6656         Consider a jsdoc tag to be a beginning of a paragraph as well
6657         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
6658         consider a jsdoc tag to be a beginning of a paragraph as well.
6660 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
6662         * lisp/emacs-lisp/package.el: Fix warnings
6664         * lisp/emacs-lisp/package.el (package-buffer-info):
6665         Add author and maintainers to `package-buffer-info'.
6667         * lisp/emacs-lisp/package.el: Many small changes
6668         Replace all instances of 'face with 'font-lock-face.
6669         (describe-package-1): Improve some strings and move the summary up the
6670         list.
6671         (package-install-file): Update docstring.
6672         (package-menu-hide-package): Bind to `H'.
6674         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
6675         Fix error handling.
6677 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
6679         Fix hang with large yanks This should fix the bug fixed by Mike
6680         Crowe's patch in:
6681         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
6682         A problem in this area has been reported by several users; see
6683         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
6684         This fix differs from Mike Crowe's patch in that it should avoid a
6685         race condition that could lose SIGIO signals.  ignore_sigio dates
6686         back to the 1980s when some platforms couldn't block signals, and
6687         could only ignore them, which led to races when signals arrived
6688         while being ignored.  We shouldn't have to worry about those old
6689         platforms now.
6690         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
6691         * src/emacs.c (shut_down_emacs):
6692         Don't call ignore_sigio; unrequest_sigio should suffice.
6693         * src/keyboard.c (kbd_buffer_store_buffered_event):
6694         Use unrequest_sigio, not ignore_sigio.
6695         (kbd_buffer_get_event):
6696         Call request_sigio when getting the ball rolling again.
6698 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
6700         * lisp/obsolete/longlines.el (longlines-search-function):
6701         Fallback on `isearch-search-fun-default'.
6703 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
6705         Support @-mentions
6706         * rcirc.el (rcirc-completion-at-point): Support completion of
6707         mentions/messages with @nick instead of just nick.
6709 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
6711         Fix Bug#20943.
6712         * lisp/autorevert.el (auto-revert-handler): Do not check for
6713         `buffer-modified-p'.
6714         * lisp/files.el (buffer-stale--default-function): Check for
6715         `buffer-modified-p'.
6716         * test/automated/auto-revert-tests.el
6717         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
6719 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
6721         Fix delete-dups bug on long lists
6722         * lisp/subr.el (delete-dups):
6723         Don't mistakenly keep some dups when applied to long lists.
6725 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6727         Better heuristic for C stack overflow
6728         Improve the heuristic for distinguishing stack overflows from
6729         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
6730         the getrlimit method wasn't portable to Cygwin; see:
6731         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
6732         Corinna suggested pthread_getattr_np but this also has problems.
6733         Instead, replace the low-level system stuff with a simple
6734         heuristic based on known good stack addresses.
6735         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
6736         * src/sysdep.c: Don't include <sys/resource.h>.
6737         (stack_direction): Remove.  All uses removed.
6738         (stack_overflow): New function.
6739         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
6740         Make SEGV fatal in non-main threads.
6742 2015-07-16  Daiki Ueno  <ueno@gnu.org>
6744         epg: Automatically start pinentry server
6745         * epg-config.el (epg-gpgconf-program): New variable.
6746         * epg.el (epg--start): Call `pinentry-start' if
6747         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
6749 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
6751         * lisp/gnus/nnimap.el: Fix my last bogus change
6752         Reinstall Stefan Monnier's change that was made in
6753         <83d824bc4041332f338ad7e5e830f443535aa300>.
6755 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
6757         Merge from gnulib
6758         This incorporates:
6759         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
6760         2015-07-05 acl-permissions: Fix on FreeBSD
6761         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
6762         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
6763         * lib/set-permissions.c: Copy from gnulib.
6765         Port to stricter C99
6766         * src/keyboard.h (kbd_buffer_store_event_hold):
6767         Don't return a void expression.
6769 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
6771         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
6773 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
6775         New autorevert tests.
6776         * test/automated/auto-revert-tests.el: New file.
6778 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
6780         Clear gcprolist etc. after stack overflow
6781         After stack overflow, command_loop calls init_eval, and this needs to
6782         clear gcprolist and byte_stack_list (Bug#20996).
6783         * src/alloc.c (init_alloc):
6784         Move gcprolist and byte_stack_list initialization from here ...
6785         * src/eval.c (init_eval): ... to here.
6787 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
6789         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
6791 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6793         Avoid deprecated enums in mac-ct font backend driver
6794         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
6795         (mac_ctfont_get_advance_width_for_glyph)
6796         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
6798         Cache font family in mac-ct font backend driver
6799         * src/macfont.m (macfont_family_cache): New variable.
6800         (syms_of_macfont): Initialize it.
6801         (macfont_available_families_cache): New variable.
6802         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
6803         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
6804         (macfont_handle_font_change_notification)
6805         (macfont_init_font_change_handler)
6806         (macfont_copy_available_families_cache): New functions.
6807         (macfont_create_family_with_symbol): Use font family caches.
6808         (macfont_list, macfont_list_family): Use
6809         macfont_copy_available_families_cache instead of
6810         mac_font_create_available_families.
6812 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
6814         Show the default value in the prompt
6815         * lisp/progmodes/xref.el: Add `M-?' binding for
6816         xref-find-references.  Declare functions `grep-read-files' and
6817         `grep-expand-template'.
6818         (xref--read-identifier): Show the default value in the prompt.
6820         When called with prefix argument, ask for file patterns to search as well
6821         * lisp/progmodes/xref.el (xref-find-regexp): When called with
6822         prefix argument, ask for file patterns to search as well.  When
6823         prompting for the directory, require an existing one.
6824         (xref-collect-matches): Add a new argument, FILES.  Use it in the
6825         above function.
6827         Add `project-ignores'
6828         * lisp/progmodes/project.el (project-ignores): New generic
6829         function, and an implementation for the VC project type.
6830         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
6831         variant of rgrep-default-command that handles a generic list of
6832         ignores.
6833         (xref-collect-matches): Use it, and pass through to it the value
6834         of the newly added argument.
6835         (xref-find-regexp): Handle ignored paths within the project.
6836         Remove outdated comment.
6837         * lisp/vc/vc.el (vc-default-ignore-completion-table):
6838         Skip the comments and the empty lines.
6840 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
6842         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
6844 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
6846         gnus-registry.el: Correct function argument order
6847         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
6848         Reverse the order of function arguments.
6850 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
6852         Bind grep-highlight-matches to nil
6853         * lisp/progmodes/xref.el (xref-collect-matches):
6854         Bind grep-highlight-matches to nil (bug#20728).
6856 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
6858         nnimap.el: Fix IMAP message size parsing
6859         * lisp/gnus/nnimap.el (nnimap-transform-headers):
6860         Don't assume that UID comes before RFC822.SIZE.
6862 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
6864         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
6865         (auth-source-creation-prompts): Declare.
6866         (nnimap-retrieve-headers, nnimap-status-message)
6867         (nnimap-request-create-group, nnimap-request-delete-group)
6868         (nnimap-close-group, nnimap-request-move-article)
6869         (nnimap-request-accept-article, nnimap-request-newgroups)
6870         (nnimap-request-post, nnimap-dummy-active-number)
6871         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
6872         (nnimap-parse-flags): Remove unused var `p'.
6873         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
6874         (nnimap-flags-to-marks): Remove unused var `totalp'.
6876 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
6878         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
6880 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6882         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
6884 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
6886         Don't check the exit status, it can be misleading
6887         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
6888         exit status, it can be misleading.
6890         Introduce a Project API
6891         * lisp/progmodes/project.el: New file.
6892         * lisp/cedet/ede.el: (project-try-ede): New function.
6893         (project-root): New implementation.
6894         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
6895         Set project-search-path-function.
6896         (elisp--xref-find-references): Delegate some logic to
6897         project-search-path.
6898         (elisp-search-path): New function.
6899         (elisp-xref-find): Don't implement `matches' anymore.
6900         * lisp/progmodes/etags.el: Don't implement `matches'.
6901         Delegate some logic to project-search-path.
6902         (etags-search-path): New function.
6903         * lisp/progmodes/xref.el (xref-find-function):
6904         Remove `matches' from the API.
6905         (xref-find-regexp): Move whatever common logic was in elisp and
6906         etags implementations, and search the directories returned by
6907         project-directories and project-search-path.
6909 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
6911         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
6913         Add support for gv.el in map.el
6914         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
6915         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
6916         * test/automated/map-tests.el: Update tests to work with the new
6917         implementations of map-elt and map-put.
6919 2015-07-09  Glenn Morris  <rgm@gnu.org>
6921         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
6923 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
6925         Syntax-propertize until the end of the line first
6926         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
6927         until the end of the line first.
6929 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
6931         * doc/emacs/files.texi (File Archives): Add a cross reference.
6933 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
6935         nnimap.el: Handle plain value for nnimap-stream
6936         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
6937         capabilities, so that a 'plain value for the `nnimap-stream' server
6938         variable is handled correctly.
6939         * doc/misc/gnus.texi (Customizing the IMAP Connection):
6940         Document the 'plain option.
6942 2015-07-08  Leo Liu  <sdl.web@gmail.com>
6944         Fix bug in thing-at-point--bounds-of-well-formed-url
6945         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
6946           sure boundary contains current point.
6948 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
6950         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
6952         Declare whitespace-line-column a safe file-local
6953         * lisp/whitespace.el (whitespace-line-column): Declare to be a
6954         safe file-local when the value is an integer.
6956 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
6958         gnus-group.el: Check if group names are already strings
6959         * lisp/gnus/gnus-group.el (gnus-group-group-name):
6960         The group name may already be a string.
6961         Specifically, in the group list reached from the *Server* buffer,
6962         the 'gnus-group text property returns a string.  Everywhere else
6963         it returns a symbol.
6965         nnimap.el: Remove unused let variables
6966         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
6968 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
6970         Support "maximized" property of runemacs's shortcut
6971         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
6972         the '--maximized' switch to Emacs.
6974         Support "minimized" property of runemacs's shortcut
6975         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
6976         pass the '--iconic' switch to Emacs.  (Bug#20991)
6978 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
6980         Doc fixes
6981         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
6982         C-w' in Diff mode.
6983         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
6984         Add a cross reference.
6986 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
6988         * lisp/obsolete/landmark.el: Add Obsolete-since header
6990 2015-07-07  Glenn Morris  <rgm@gnu.org>
6992         * test/automated/ert-tests.el (ert-test-deftest):
6993         Update for recent changes.
6995 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
6997         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
6998         * lisp/emacs-lisp/gv.el (gv-setter): New function.
6999         (gv-invalid-place): New error.
7000         (gv-get): Use them.
7001         (gv-synthetic-place, gv-delay-error): New places.
7002         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
7003         (cl-defgeneric, cl-defmethod): Use gv-setter.
7005 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
7007         Make vc-tests work with MSYS svn program
7008         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
7009         svn is an MSYS program.
7011 2015-07-07  Ken Brown  <kbrown@cornell.edu>
7013         Improve recent change to emacsclient on Cygwin
7014         * lisp/server.el (server-process-filter): Remove redundant check
7015         that 'cygwin-convert-file-name-from-windows' is defined as a
7016         function on Cygwin.  Don't call that function unless its argument
7017         starts with a drive letter.
7019 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
7021         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
7022         Fix void variable due to `found-something' being in the wrong `let'.
7024 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
7026         * lisp/play/landmark.el: Move to lisp/obsolete/
7028 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
7030         Have `x-show-tip' handle `right' and `bottom' frame parameters.
7031         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
7032         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
7033         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
7034         tooltips also via `right' and `bottom' frame parameters.
7036 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
7038         Add online-help support to describe types
7039         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
7040         (describe-symbol): Improve the selection of default.
7041         * lisp/help-mode.el: Require cl-lib.
7042         (describe-symbol-backends): Move from help-fns.el.
7043         (help-make-xrefs): Use it.
7044         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
7045         for types.
7046         (cl--typedef-regexp): New const.
7047         (find-function-regexp-alist): Add entry for types.
7048         (cl-help-type, cl-type-definition): New buttons.
7049         (cl-find-class): New function.
7050         (cl-describe-type): New command.
7051         (cl--describe-class, cl--describe-class-slot)
7052         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
7053         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
7054         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
7055         New functions.  Moved from eieio-opt.el.
7056         (cl--generic-class-parents): New function, extracted from
7057         cl--generic-struct-specializers.
7058         (cl--generic-struct-specializers): Use it.
7059         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
7060         Improve constructor's docstrings.
7061         (cl-struct-unknown-slot): New error.
7062         (cl-struct-slot-offset): Use it.
7063         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
7064         definition in current-load-list.
7065         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
7066         (eieio--add-new-slot): Set it.
7067         (eieio-defclass-internal): Use new name for current-load-list.
7068         (eieio-oref): Add compiler-macro to warn about unknown slots.
7069         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
7070         as compile-time as well.  Improve constructor docstrings.
7071         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
7072         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
7073         (eieio-class-def): Remove button.
7074         (eieio-help-constructor): Use new name for load-history element.
7075         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
7076         (eieio-method-documentation): Move to cl-generic.el.
7077         (eieio-display-method-list): Use new names.
7078         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
7079         Add "define-linline".
7080         (lisp-fdefs): Remove "defsubst".
7081         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
7082         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
7083         (macroexp--warn-and-return): Use it to avoid inf-loops.
7084         Add `compile-only' argument.
7086 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7088         python.el: Fix local/remote shell environment setup
7089         * lisp/progmodes/python.el (python-shell-with-environment): Fix
7090         remote/local environment setup.
7091         * test/automated/python-tests.el (python-shell-with-environment-1)
7092         (python-shell-with-environment-2): New tests.
7094 2015-07-06  Glenn Morris  <rgm@gnu.org>
7096         * lisp/simple.el (set-variable): Tweak recent doc fix.
7098 2015-07-06  Ken Brown  <kbrown@cornell.edu>
7100         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
7102 2015-07-06  Glenn Morris  <rgm@gnu.org>
7104         * lisp/simple.el (set-variable): Use user-error for type mismatch.
7106 2015-07-06  Ken Brown  <kbrown@cornell.edu>
7108         * src/emacs.c (main): Don't increase the stack size on Cygwin
7110 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
7112         (describe-symbol): Rewrite describe-function-or-variable
7113         * lisp/help-fns.el (describe-symbol-backends): New var.
7114         (help-xref-stack-item): Declare.
7115         (describe-symbol): Rename from describe-function-or-variable.
7116         Rewrite using describe-symbol-backends instead of help-xref-interned.
7117         * lisp/help.el (help-map): Use it.
7118         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
7119         (help-xref-interned): Make it into an obsolete alias.
7121         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
7122         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
7123         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
7125 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
7127         Fix parsing glitches in dired-mark-sexp (bug#13575)
7128         * lisp/dired-x.el (dired-x--string-to-number): New function.
7129         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
7130         of directory-listing-before-filename-regexp.  Consider
7131         forward-word harmful and replace it.  Add more verbiage in
7132         comments and doc string.
7134 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7136         python.el: Respect process environment for remote shells
7137         * lisp/progmodes/python.el
7138         (python-shell-calculate-process-environment): Calculate
7139         process-environment or tramp-remote-process-environment depending
7140         whether current file is remote.
7141         (python-shell-calculate-exec-path): Calculate exec-path or
7142         tramp-remote-path depending whether current file is remote.
7143         (python-shell-with-environment): New macro.
7144         (python-shell-prompt-detect, python-shell-calculate-command)
7145         (python-shell-make-comint, python-check): Use it.
7147         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
7148         * lisp/progmodes/python.el (python-shell--interpreter)
7149         (python-shell--interpreter-args): New vars.
7150         (inferior-python-mode, python-shell-make-comint): Use them.
7152         python.el: Fixes for IPython 3.x  (Bug#20580)
7153         * lisp/progmodes/python.el:
7154         (python-shell-completion-native-setup): Fix IPython 3.x setup.
7155         (python-shell-completion-native-get-completions): Fix timeout
7156         logic.
7158         python.el: Fix mark-defun behavior  (Bug#19665)
7159         * lisp/progmodes/python.el: (python-mark-defun): New function.
7160         * test/automated/python-tests.el (python-mark-defun-1)
7161         (python-mark-defun-2, python-mark-defun-3): New tests.
7163 2015-07-05  Glenn Morris  <rgm@gnu.org>
7165         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
7166         such as "extends(parent), private".  (Bug#20969)
7167         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
7168         New tests.
7170 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7172         Avoid duplicate calls to current_timespec
7173         * src/process.c (wait_reading_process_output):
7174         Cache current_timespec results as long as we're not waiting.
7176 2015-07-05  Ian Kelling  <ian@iankelling.org>
7178         Avoid returning early reading process output due to SIGIO
7179         * src/process.c (wait_reading_process_output): Extend the behavior of
7180         not breaking due to not finding output when a timer has lowered the
7181         timeout to include when SIGIO lowers the timeout.
7183         Don't return as fast reading any process output
7184         * src/process.c (wait_reading_process_output):
7185         The patch for Bug#17647 returns too fast sometimes when reading
7186         from any processes. Revert part of it, and limit the timeout more
7187         sensibly (Bug#20978).
7189         Refactor timeouts in wait_reading_process_output
7190         * src/process.c (wait_reading_process_output):
7191         Simplify timeouts with an enum.  Remove a redundant condition.
7192         (Bug#20978)
7194         Remove ADAPTIVE_READ_BUFFERING ifdef
7195         * src/process.c (make-process, make-pipe-process, deactivate_process)
7196         (wait_reading_process_output, read_process_output, send_process)
7197         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
7198         added in case there was an operating system in which it was not
7199         useful.  That was 11 years ago and it hasn't happened.  Make
7200         development easier by not considering the effect of changes on a
7201         theoretical OS where this is disabled (Bug#20978).
7203 2015-07-05  Glenn Morris  <rgm@gnu.org>
7205         * lisp/simple.el (set-variable): Doc fix.
7207         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
7209 2015-07-05  Ian Kelling  <ian@iankelling.org>
7211         accept-process-output fix
7212         This is a followon to the fix for Bug#17647 (Bug#20976).
7213         * src/process.c (status_notify): Fix too high return in some cases.
7215 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
7217         * lisp/character-fold.el (character-fold-table):
7218         Only fold decompositions if at least one character is non-spacing.
7219         (Bug#20975)
7221 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7223         Merge from gnulib
7224         This incorporates:
7225         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
7226         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
7227         2015-07-02 update-copyright: fix test failure with perl >= 5.22
7228         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
7229         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
7230         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
7231         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
7233 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
7235         Respect `prog-indentation-context' in python.el
7236         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
7237         (python-indent-context, python-indent--calculate-indentation)
7238         (python-info-current-defun)
7239         (python-info-dedenter-opening-block-message)
7240         (python-info-line-ends-backslash-p)
7241         (python-info-beginning-of-backslash)
7242         (python-info-continuation-line-p): Use `prog-widen'.
7243         (python-indent--calculate-indentation)
7244         (python-indent--calculate-levels)
7245         (python-indent-calculate-indentation): Use `prog-first-column'.
7246         (python-indent--calculate-levels): Simplify.
7247         Ignore also initial empty lines for syntax calculation.
7248         * lisp/progmodes/python.el (python-indent-context): Return
7249         :no-indent for first non-empty line, not just in line 1.
7250         * test/automated/python-tests.el (python-indent-base-case)
7251         (python-indent-inside-paren-1, python-indent-inside-paren-2)
7252         (python-indent-inside-paren-3, python-indent-inside-paren-4)
7253         (python-indent-inside-paren-5, python-indent-inside-paren-6)
7254         (python-indent-after-backslash-1)
7255         (python-indent-after-backslash-2)
7256         (python-indent-after-backslash-3)
7257         (python-indent-after-backslash-4, python-indent-inside-string-1):
7258         Expect :no-indent for first non-empty line.
7260 2015-07-04  Daniel Colascione  <dancol@dancol.org>
7262         Factor isearch word description into new function
7263         * lisp/isearch.el (isearch--describe-word-mode): New function.
7264         (isearch-message-prefix, isearch-query-replace): Use it.
7266 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
7268         Fix mouse pointer on w32 when a menu is active
7269         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
7270         shape while a menu is in use.  This started happening since we now
7271         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
7273 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
7275         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
7276         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
7277         parameter.  (Bug#17344)
7279         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
7280         * lisp/progmodes/compile.el (compilation-set-window): Take
7281         `window-fringes' from argument window.  (Bug#20829)
7283 2015-07-03  Glenn Morris  <rgm@gnu.org>
7285         Update eieio tests for recent eieio-core change.
7286         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
7287         * test/automated/eieio-tests.el
7288         (eieio-test-32-slot-attribute-override-2):
7289         Replace the deleted eieio--class-v with cl--find-class.
7291 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
7293         Fix some issues with `window-divider-mode'
7294         * lisp/frame.el (window-divider-default-places): New option.
7295         (window-divider-mode): Remove option.
7296         (window-divider-mode): Make it a "regular" minor mode.
7297         (window-divider-width-valid-p): Drop frame- prefix.
7298         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
7299         prefix.  Handle `window-divider-default-places'.
7300         (frame--window-divider-mode-set-and-apply): Remove.
7301         (window-divider-default-bottom-width)
7302         (window-divider-default-right-width): Drop :group entries.
7303         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
7304         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
7305         (menu-bar-no-window-divider): Set `window-divider-default-places'
7306         and call `window-divider-mode'.
7307         * doc/emacs/frames.texi (Window Dividers): Document
7308         `window-divider-default-places'.
7310 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
7312         Add cross references in documentation
7313         * doc/emacs/display.texi (Displaying Boundaries):
7314         * doc/emacs/search.texi (Word Search): Add cross references.
7316 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7318         -batch should not affect ‘’ -> `' display
7319         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
7320         -batch (Bug#20926).
7322 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
7324         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
7325         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
7326           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
7327         Use cl--find-class instead.
7329         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
7331 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
7333         Some further fixes in Change Window node.  (Bug#20183)
7334         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
7335         by "resizing" in section title.  Add some concept indices.
7336         Suggested by N. Jackson (Bug#20183).
7338         Reference window dividers in Change Window section.
7339         * doc/emacs/windows.texi (Change Window): Reference window
7340         dividers.
7342         Document new `window-divider-mode'.
7343         * lisp/frame.el (window-divider-mode): Fix doc-string.
7344         * doc/emacs/frames.texi (Window Dividers): New section.
7346         Improve accessibility of window dividers.  (Bug#20183)
7347         * lisp/faces.el (window-divider)
7348         (window-divider-first-pixel, window-divider-last-pixel): Change
7349         membership from `frames' to `window-divider' customization group.
7350         * lisp/frame.el (window-divider): New customization group.
7351         (window-divider-mode): New minor mode.
7352         (window-divider-default-bottom-width)
7353         (window-divider-default-right-width): New options.
7354         (frame--window-divider-previous-mode): New variable.
7355         (frame-window-divider-width-valid-p)
7356         (frame--window-divider-mode-apply)
7357         (frame--window-divider-mode-set-and-apply): New functions.
7358         * lisp/menu-bar.el (menu-bar-options-save): Save
7359         window-divider-mode settings.
7360         (menu-bar-window-divider-customize)
7361         (menu-bar-bottom-and-right-window-divider)
7362         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
7363         (menu-bar-no-window-divider): New functions.
7364         (menu-bar-showhide-window-divider-menu): New variable.
7365         (menu-bar-showhide-menu): Show/hide window divider menu.
7366         * lisp/mouse.el (mouse-split-window-vertically)
7367         (mouse-split-window-horizontally): Replace `error' by
7368         `user-error'.  Bind `window-combination-resize' to nil.
7369         (top-level): Add/reorder mouse key bindings on mode- and
7370         vertical-line.
7372 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7374         Don't display ‘’ as `' under X in en_GB
7375         The curved quote setup code invokes (char-displayable-p ?‘),
7376         but this isn’t reliable until after the X frame replaces the
7377         terminal frame (Bug#20926).
7378         * lisp/international/mule-cmds.el (set-locale-environment):
7379         Move curved quote setup code from here ...
7380         * lisp/startup.el (command-line): ... to here, after creating
7381         the X frame.
7383 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
7385         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
7387         Add argument to reverse the meaning of ido-restrict-to-matches
7388         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
7389         to reverse the meaning (Bug#15631).
7391 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
7393         Be more tolerant to fonts named "Foobar-12"
7394         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
7395         don't barf; instead, request a new fontset to be generated.  This
7396         avoids unnecessarily rejecting fonts named against XLFD rules.  See
7397         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
7398         for the description of the original problem.
7399         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
7400         by a hyphen in a font's name.
7402         Fix value of posn-at-pont in R2L lines
7403         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
7404         coordinate of -1, for a newline in a right-to-left line that
7405         overflowed into the left fringe.
7407 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
7409         (cl--copy-slot-descriptor): Copy the `props' alist as well
7410         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
7411         Rename from cl--copy-slot-descriptor.
7412         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
7414 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
7416         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
7417         (xterm-query-timeout): New var.
7418         (xterm--query): Use it.  Fallback on async method if we timeout before
7419         getting the first byte of the reply (bug#12354).
7421 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
7423         Spelling fixes
7425 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
7427         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
7429 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
7431         In strings, prefer plain ` and ' to \` and \'
7432         * lisp/allout.el (allout-insert-listified):
7433         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
7434         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
7435         (ls-lisp-string-lessp):
7436         * lisp/menu-bar.el (menu-bar-open):
7437         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
7438         * lisp/progmodes/compile.el (compile):
7439         * lisp/progmodes/etags.el (tags-loop-scan):
7440         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
7441         * lisp/subr.el (posn-actual-col-row):
7442         * lisp/term/pc-win.el (x-list-fonts):
7443         * lisp/textmodes/texinfmt.el (texinfmt-version):
7444         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
7445         * lisp/time.el (display-time-world-list):
7446         * lisp/tmm.el (tmm-menubar):
7447         * src/buffer.c (syms_of_buffer):
7448         * src/fileio.c (syms_of_fileio):
7449         Omit unnecessary and confusing backslash before quote.
7450         * lisp/erc/erc.el (erc-cmd-LASTLOG):
7451         * lisp/progmodes/flymake.el (flymake-fix-file-name):
7452         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
7453         Fix string that was intended to escape a backslash and not a quote.
7455 2015-06-30  Glenn Morris  <rgm@gnu.org>
7457         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
7459         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
7460         Replace hard-coded lists with wildcard + filter-out.
7462         * configure.ac (system-configuration-features): Add X11, NS.
7464         Improve reproducibility of generated loaddefs file.
7465         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
7466         Make the return value the modtime of the input file (if no autoloads).
7467         (update-directory-autoloads): In the "no autoloads" section,
7468         use "most recent modtime" rather than "current time".
7470 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7472         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
7473         (Bug#20930)
7475 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
7477         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
7479         Add seq-min and seq-max
7480         Bump version number.
7481         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
7482         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
7484 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
7486         Make sure sleep-for always delays for as long as it's told
7487         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
7488         a loop, to ensure we always wait exactly the required amount of
7489         time.  (Bug#15990)
7491 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
7493         Fix pointer signedness glitch
7494         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
7496 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
7498         Don't block changes in mouse pointer inside 'track-mouse'
7499         * etc/NEWS:
7500         * doc/lispref/frames.texi (Mouse Tracking): Document the special
7501         effect of setting 'track-mouse' to 'dragging'.
7502         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
7503         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
7504         * lisp/mouse-drag.el (mouse-drag-throw):
7505         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
7506         to avoid changes in the shape of the mouse pointer.
7507         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
7508         pointer shape when do_mouse_tracking has the value of 'dragging',
7509         not just any non-nil value.  (Bug#20934)
7510         (syms_of_xdisp): DEFSYM 'dragging'.
7512 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7514         * lisp/isearch.el (isearch-toggle-word): Fix toggle
7516         * lisp/emacs-lisp/package.el (package-compute-transaction):
7517         Don't assume version sorting.
7519         * lisp/emacs-lisp/package.el (package--save-selected-packages):
7520         Don't save before init time, to avoid overwriting configurations.
7521         (Bug#20855)
7523 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
7525         Add cross references.
7526         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
7527         references.
7529 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
7531         cfengine.el: update for the upcoming CFEngine 3.7 release
7532         Update for the upcoming CFEngine 3.7 release: support macros and
7533         quoted context strings; reformat JSON; indent promise attributes 2
7534         units by default; give function parameter descriptions in the eldoc
7535         glue.
7536         * cfengine.el: Update version and docs and fix name.  Autoload
7537         `json-pretty-print'.  Support new features in 3.7.
7538         (cfengine-parameters-indent): Set default promise attribute indent to
7539         2 more than the promise itself.
7540         (cfengine3-macro-regex): New variable to match the new macro syntax.
7541         (cfengine3-font-lock-keywords): Use it to highlight macros.
7542         (cfengine3-indent-line): Use it to indent macros to column 0.
7543         (cfengine3-class-selector-regex): Update for the new quoted strings
7544         format.
7545         (cfengine3-reformat-json-string): New function to reformat a JSON
7546         string using `json-pretty-print'.
7547         (cfengine3-format-function-docstring): Use function parameter
7548         description if it's provided by the cf-promises syntax dump.
7550 2015-06-29  Michael R. Mauger  <michael@mauger.com>
7552         Cygwin emacsclient handles w32 file names
7554 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
7556         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
7558 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
7560         * doc/lispref/text.texi (Sticky Properties): Improve wording.
7561         (Bug#20924)
7563         Allow font names that end in "-NN", where NN is a number
7564         * src/font.c (font_load_for_lface): If the font-spec didn't match
7565         any available fonts, try again without interpreting trailing "-NN"
7566         as the font size.  For the description of the original problem, see
7567         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
7569         .gdbinit followup to changes in !USE_LSB_TAG
7570         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
7571         !USE_LSB_TAG, as Emacs no longer does.
7573 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
7575         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
7576         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
7578 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7580         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
7581         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
7583 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
7585         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
7587         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
7589 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
7591         apropos-library quoting fix
7592         * lisp/apropos.el (apropos-library): Quote library consistently
7593         with the rest of the quoting used by apropos.
7595         Clarify interpreter-mode-alist doc
7596         * lisp/files.el (interpreter-mode-alist):
7597         Reword to avoid confusing quoting that wasn't working anyway.
7599 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
7601         Sync with Tramp 2.2.12
7602         * doc/misc/trampver.texi:
7603         * lisp/net/trampver.el: Update release number.
7604         * test/automated/tramp-tests.el (tramp-test13-make-directory):
7605         Fix cleanup.
7607 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7609         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
7610         (bug#20913)
7612 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
7614         Bind grep-highlight-matches around the rgrep call
7615         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
7616         around the rgrep call (bug#20728).
7618         Put "--color" before the other options in grep-command
7619         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
7620         before the other options in grep-command (bug#20912).
7622         Add --color Grep option to the command dynamically
7623         * lisp/progmodes/grep.el (grep-template, grep-find-template):
7624         Update the description for <C>.  (Bug#20728)
7625         (grep-compute-defaults): Don't add the --color option to
7626         grep-options.  Only add it to grep-command.
7627         (grep-expand-keywords): Expand the env value opts into <C>.
7628         (grep-expand-template): Replace cf in the env with the opts list,
7629         that can include -i and --color.
7630         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
7631         "--color=always" from the template, because we don't have to.
7633 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
7635         cl-extra fixes for most-negative-fixnum
7636         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
7637         Don't mishandle an argument equal to most-negative-fixnum,
7638         whose absolute value equals itself.
7639         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
7641         Initialize cl--gensym-counter to 0
7642         Previously it was initialized to a random value, which made it
7643         harder to reproduce earlier Emacs runs.  The need for a random
7644         value went away when Emacs introduced and used the #: syntax for
7645         uninterned symbols (Bug#20862).
7646         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
7647         Document that cl--gensym-counter now starts with 0.
7648         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
7649         (cl--random-time): Move to near only remaining use.
7650         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
7652         Improve docstring for macroexp-let2
7653         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
7654         Improve as per suggestion by RMS in:
7655         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
7656         Also, rename args to match new doc string.
7658 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
7660         Fix VC test suite on MS-Windows
7661         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
7662         always starts with 3 slashes after the colon.
7663         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
7664         'w32-application-type' to invoke CVS on MS-Windows with properly
7665         formatted CVSROOT directory name.
7667         Add a new function w32-application-type
7668         * src/w32proc.c (Fw32_application_type): New function.
7670         Avoid error in TLS connections due to incorrect format
7671         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
7672         the call to 'error', instead of the unsupported %u.  Reported by
7673         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
7675 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
7677         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
7679 2015-06-26  Leo Liu  <sdl.web@gmail.com>
7681         Fix indentation for with-output-to-string
7682         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
7683           `with-output-to-string' in elisp.
7684           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
7685           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
7687 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
7689         Minor corrections in ELisp manual
7690         * doc/lispref/nonascii.texi (Character Properties): Correct
7691         inaccuracies in description of values of the Unicode properties.
7693         Fix invisible mouse pointers on Windows.
7694         * src/w32fns.c: Include windowsx.h.
7695         (w32_wnd_proc): If the mouse moved and the mouse pointer is
7696         invisible, make it visible again even when the main (Lisp)
7697         thread is busy.
7698         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
7699         garbaging the frame have the input thread call SetCursor.
7701 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
7703         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
7704         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
7705         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
7706         * src/w32term.c (w32_hide_hourglass): Handle
7707         f->pointer_invisible.
7708         (w32_toggle_invisible_pointer): New function.
7709         (w32_create_terminal): Add w32_toggle_invisible_pointer as
7710         toggle_invisible_pointer_hook for this terminal.
7712 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
7714         Doc fix for deletion commands
7715         'delete-char' does not respect the value of 'delete-active-region'.
7716         * doc/emacs/killing.texi (Deletion):
7717         Fix documentation for some single-char deletion commands.
7719         * doc/emacs/help.texi (Apropos):
7720         Improve documentation of 'apropos-do-all'.
7722         * doc/emacs/help.texi (Help Summary):
7723         Improve documentation of 'describe-mode'.
7725 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
7727         Fix submake dependency bug with .h files
7728         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
7729         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
7730         before the submake in $(libsrc) would spin off a subsubmake
7731         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
7733 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7735         * lisp/character-fold.el (character-fold-table): Reuse `table'
7737 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
7739         Translate undisplayable ‘ to `
7740         * doc/lispref/help.texi (Keys in Documentation):
7741         * lisp/international/mule-cmds.el (set-locale-environment):
7742         * lisp/term/w32console.el (terminal-init-w32console):
7743         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
7744         If ‘ is not displayable, transliterate it to `, not to '.  See:
7745         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
7747         Fix C99 incompatibilities in Cairo code
7748         * src/image.c (xpm_load) [USE_CAIRO]:
7749         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
7750         Fix pointer signedness problem.
7752 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
7754         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
7755         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
7756           `with-output-to-string' should have the same indent as `progn'.
7757           This is in line with the declaration of `with-output-to-string'.
7759 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
7761         Get ‘./configure; make -C src emacs’ to work
7762         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
7763         * lib-src/Makefile.in (../lib/libgnu.a):
7764         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
7766 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
7768         Fix GC bugs --with-wide-int and Qnil == 0
7769         Use the same alignment for the !USE_LSB_TAG case as for the
7770         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
7771         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
7772         once we changed the representation of symbols so that Qnil == 0.
7773         Problem reported by Eli Zaretskii (Bug#20862).
7774         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
7775         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
7776         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
7777         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
7778         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
7779         This optimization in the !USE_LSB_TAG case is no longer valid when
7780         symbols are represented via offsets.  Change the only use to
7781         assume that pointers might hide in objects.
7782         * src/lisp.h (alignas) [!USE_LSB_TAG]:
7783         Require support in this case, too.
7784         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
7785         This is OK, because the !USE_LSB_TAG case now applies only when
7786         Lisp_Object is wider than void *, so there's no longer any need
7787         to shift the offset.  Not shifting the offset means that
7788         symbol representations have the same alignment as pointers,
7789         which the GC assumes.
7791 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
7793         * doc/lispintro/emacs-lisp-intro.texi (Data types):
7794         Improve documentation of 'substring'.
7796 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
7798         * lisp/character-fold.el (character-fold-table): Fix table generation
7800 2015-06-24  Glenn Morris  <rgm@gnu.org>
7802         * nextstep/Makefile.in (all): Make it the first target.
7803         (../src/emacs${EXEEXT}): Add rule for making it.
7805 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
7807         * etc/NEWS: Fix mention to old function name
7809         * lisp/character-fold.el: New file (Bug#20887)
7810         (character-fold-to-regexp): New function.
7811         * lisp/replace.el (replace-search): Check value of
7812         `character-fold-search'.
7813         * lisp/isearch.el: Move character-folding code to
7814         character-fold.el
7815         (isearch-toggle-character-fold): New command.
7816         (isearch-mode-map): Bind it to "\M-sf".
7817         (isearch-mode): Check value of `character-fold-search'.
7819 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7821         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
7822         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
7823         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
7825         * lisp/progmodes/xref.el: Avoid init-args in oref.
7826         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
7827         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
7829 2015-06-24  Glenn Morris  <rgm@gnu.org>
7831         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
7833 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7835         * lisp/gnus/nnmaildir.el: Silence lexical warnings
7836         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
7837         functional style.
7838         (nnmaildir--update-nov): Remove unused var `numdir'.
7839         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
7840         (nnmaildir-request-group, nnmaildir-request-create-group)
7841         (nnmaildir-request-post, nnmaildir-request-move-article)
7842         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
7843         (nnmaildir-get-new-mail, nnmaildir-group-alist)
7844         (nnmaildir-active-file): Declare.
7845         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
7846         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
7847         `mark', `end', `new-mark', and `mark-sym'.
7848         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
7849         `nlist2'.
7850         (nnmaildir-request-expire-articles):
7851         Remove unused vars `article', `stop' and `nlist2'.
7852         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
7853         `end'.  Use nnmaildir--article when dyn-binding is needed.
7854         Give the value directly in the `let' for `del-mark', `del-action',
7855         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
7856         (nnmaildir-close-server): Declare those local vars that need to be
7857         dyn-bound.
7859 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
7861         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
7863         Port selection info fix to clang
7864         * src/keyboard.h (kbd_buffer_store_event_hold):
7865         Don't assume C11 semantics for alignof (Bug#20756).
7867         Fix bug that munged selection info
7868         On some optimizing C compilers, copying a structure did not
7869         copy the padding bytes between elements, and the type punning
7870         between struct input_data and struct selection_input_data did
7871         not work.  Change the C code to use a proper union type instead.
7872         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
7873         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
7874         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
7875         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
7876         (mark_kboards):
7877         Use union buffered_input_event, not struct input_event.
7878         (clear_event, deliver_input_available_signal, process_special_events):
7879         Remove unnecessary forward decls.
7880         (kbd_buffer_store_buffered_event): New function, mostly just the
7881         old kbd_buffer_store_event_hold, except its argument is of type
7882         union buffered_input_event, not struct input_event.
7883         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
7884         not needed otherwise.  Argument is now of type
7885         struct selection_input_event *, not struct input_event *.
7886         All callers changed.
7887         (clear_event): Arg is now of type union buffered_input_event *,
7888         not struct input_event *.  All callers changed.
7889         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
7890         (union buffered_input_event): New type.
7891         (kbd_buffer_store_event_hold): Now an inline function,
7892         defined here.
7893         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
7894         (struct input_event): Use it.
7895         * src/xselect.c (struct selection_event_queue):
7896         Make elements be of type struct selection_input_event,
7897         not struct input_event.
7898         (selection_input_event_equal): New static function.
7899         (x_queue_event): Use it.
7900         (x_queue_event, x_decline_selection_request)
7901         (x_selection_current_request, x_reply_selection_request)
7902         (x_handle_selection_request, x_handle_selection_clear)
7903         (x_handle_selection_event): Use struct selection_input_event,
7904         not struct input_event.  All callers changed.
7905         (x_convert_selection): Omit unused first arg.  All callers changed.
7906         (Fx_disown_selection_internal): Omit unnecessary union.
7907         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
7908         rather than rolling our own equivalent.  Prefer sie.kind when
7909         setting up that kind of structure.
7910         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
7911         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
7912         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
7913         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
7914         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
7915         (SELECTION_EVENT_TIME, x_handle_selection_event):
7916         Arg is now of type struct selection_input_event *)
7917         not struct input_event *.  All callers changed.
7919 2015-06-23  Glenn Morris  <rgm@gnu.org>
7921         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
7923 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
7925         * lisp/isearch.el: Fold many unicode characters to ASCII
7926         (isearch-character-fold-search, isearch--character-fold-extras)
7927         (isearch--character-fold-table): New variable.
7928         (isearch--character-folded-regexp): New function.
7929         (isearch-search-fun-default): Use them.
7930         * lisp/replace.el (replace-character-fold): New variable.
7931         (replace-search): Use it.
7932         * etc/NEWS: Document it.
7934 2015-06-23  Glenn Morris  <rgm@gnu.org>
7936         Check for an input event before showing a dialog box.  (Bug#20813)
7937         * lisp/subr.el (y-or-n-p):
7938         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
7939         as last-nonmenu-event.
7941 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
7943         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
7944         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
7945         (switch-to-prev-buffer, switch-to-next-buffer): Respect
7946         switch-to-visible-buffer independent of the windows history.
7948 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
7950         * src/keyboard.c (last_timer_event): Remove unused var.
7952 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
7954         * test/automated/package-test.el (package-test-update-listing):
7955         Fix test.
7957 2015-06-23  Glenn Morris  <rgm@gnu.org>
7959         Revert 2014-06-25 nextstep/Makefile change.
7960         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
7961         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
7962         not as an order-only prerequisite.
7964         * configure.ac (--with-ns): Enable by default on OS X.
7966 2015-06-23  Leo Liu  <sdl.web@gmail.com>
7968         Fix shell-for/backward-command to exclude spaces
7969         * lisp/shell.el (shell-forward-command, shell-backward-command):
7970           Handle the 'move case from re-search-forward/backward.
7971           fixes debbugs:20873
7973 2015-06-22  Juri Linkov  <juri@linkov.net>
7975         * lisp/replace.el (query-replace-read-from): Add separator to
7976         the local binding of text-property-default-nonsticky.  (Bug#20690)
7978         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
7979         (Bug#20785)
7981 2015-06-22  Ken Brown  <kbrown@cornell.edu>
7983         Enable CPU profiling on Cygwin
7984         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
7985         change that undefined this.
7986         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
7987         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
7988           Cygwin.
7990         Improve diagnostics of profiler-cpu-start
7991         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
7992         return -1 if the sampling interval is invalid.
7993         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
7994         fails.  (Bug#20843)
7996 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7998         * lisp/emacs-lisp/package.el: Exclude packages by name
7999         (package-hidden-regexps): New variable.
8000         (package-menu--refresh): Use it.
8001         (package-menu-hide-package): New command.
8003         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
8005 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
8007         Fix debug-timer-check on systems without HAVE_TIMERFD
8008         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
8009         the expired timers, since wait_reading_process_output doesn't.
8010         (debug_timer_callback): Enlarge the tolerance to 20 msec.
8012         Fix RCS crashes in vc-test
8013         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
8014         ports of 'ci' on MS-Windows by always passing the -t- switch.
8016 2015-06-22  Glenn Morris  <rgm@gnu.org>
8018         * doc/emacs/package.texi (Packages):
8019         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
8021         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
8023 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
8025         Port tests to help-quote-translation
8026         * test/automated/ert-x-tests.el (ert-test-describe-test):
8027         * test/automated/package-test.el (package-test-describe-package)
8028         (package-test-signed): Allow straight quotes, too.
8030 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
8032         Make find-function-on-key use the current window
8033         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
8034         Extract from `find-function-on-key', add a second argument.
8035         (find-function-on-key): Use it (bug#19679).
8036         (find-function-on-key-other-window)
8037         (find-function-on-key-other-frame): New commands.
8039 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
8041         Revert "Define `map-elt' as a generalized variable"
8042         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
8044 2015-06-21  Ken Brown  <kbrown@cornell.edu>
8046         Drop support for CPU profiling on Cygwin
8047         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
8048         (Bug#20843)
8050 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
8052         Fix some “nested” quoting confusion in doc strings
8053         * lisp/emacs-lisp/advice.el (ad-map-arglists):
8054         * lisp/kermit.el (kermit-clean-on):
8055         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
8056         * src/keyboard.c (Frecursive_edit):
8057         Use curved quotes when quoting text containing apostrophe,
8058         so that the apostrophe isn't curved in the output.
8060 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
8062         Define `map-elt' as a generalized variable
8063         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
8064         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
8065         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
8066         `setf' with `map-elt'.
8067         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
8069 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
8071         Improve error handling in tramp-adb.el
8072         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
8073         Improve error handling.
8075 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
8077         Reuse `alist-get' in map.el
8078         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
8079         elements.
8081 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
8083         Fix bytecomp-tests--warnings when $TMPDIR has a long name
8084         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
8085         Allow the warning to begin on the 3rd, not only 2nd line, which
8086         happens if temporary-file-directory has a very long name.
8088         Expect 2 icalendar tests to fail on MS-Windows
8089         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
8090         (icalendar-real-world): Make them expected failures on MS-Windows.
8092 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8094         Improve port of settings UI to older displays
8095         * lisp/cus-start.el (standard): Don't assume curved quotes are
8096         easily distinguishable when users are tinkering with a setting
8097         that affects how curved quotes are generated.
8099         Fix quoting in electric-quote-mode doc string
8100         * lisp/electric.el (electric-quote-mode): Fix quoting.
8101         This is a fallout from the recent change introducing
8102         ‘help-quote-translation’.
8104         Spelling fix
8106         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
8108         * src/doc.c (syms_of_doc): Remove unused symbols.
8110 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
8112         In ‘window-state-put’ undedicate target window.  (Bug#20848)
8113         * lisp/window.el (window-state-put): Undedicate target window
8114         before putting STATE into it.  (Bug#20848)
8116 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8118         Merge from origin/emacs-24
8119         a5e6f33 Fixes: debbugs:20832
8120         b9f02cf Fixes: debbugs:20832
8122 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
8124         Fix file-in-directory-p when the directory is UNC
8125         * lisp/files.el (file-in-directory-p): Support files and
8126         directories that begin with "//".  (Bug#20844)
8128 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
8130         (Bug#20832)
8131         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
8132         in the minibuffer.
8134 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
8136         (Bug#20832)
8137         * lisp/calendar/todo-mode.el (todo-show): Signal an error
8138         if buffer for adding new todo file is empty but modified.
8140 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
8142         (filepos-to-bufferpos): Further tweaks to the utf-16 code
8143         * lisp/international/mule-util.el (filepos-to-bufferpos):
8144         Fix typo.  Move non-exact check to the utf-16 branch (the only one
8145         affected).  Don't use byte-to-position for the utf-16 case.
8147 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
8149         Minor fixes in filepos-to-bufferpos
8150         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
8151         test for utf-8-emacs.  Exempt single-byte encodings from the
8152         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
8153         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
8154         UTF-16 encoded files for CR-LF EOLs.
8156 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8158         Improve the optional translation of quotes
8159         Fix several problems with the recently-added custom variable
8160         help-quote-translation where the code would quote inconsistently
8161         in help buffers.  Add support for quoting 'like this', which
8162         is common in other GNU programs in ASCII environments.  Change
8163         help-quote-translation to use more mnemonic values: values are now the
8164         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
8165         traditional Emacs help-buffer quoting style `like this'.  Change the
8166         default behavior of substitute-command-keys to match what's done in
8167         set-locale-environment, i.e., quote ‘like this’ if displayable,
8168         'like this' otherwise.
8169         * doc/lispref/help.texi (Keys in Documentation): Document
8170         new behavior of substitute-command-keys, and document
8171         help-quote-translation.
8172         * doc/lispref/tips.texi (Documentation Tips):
8173         Mention the effect of help-quote-translation.
8174         * etc/NEWS: Mention new behavior of substitute-command-keys,
8175         and merge help-quote-translation news into it.
8176         When talking about doc strings, mention new ways to type quotes.
8177         * lisp/cedet/mode-local.el (overload-docstring-extension):
8178         Revert my recent change to this function, which shouldn't be
8179         needed as the result is a doc string.
8180         * lisp/cedet/mode-local.el (mode-local-print-binding)
8181         (mode-local-describe-bindings-2):
8182         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
8183         * lisp/cus-theme.el (describe-theme-1):
8184         * lisp/descr-text.el (describe-text-properties-1, describe-char):
8185         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
8186         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
8187         (eieio-help-constructor):
8188         * lisp/emacs-lisp/package.el (describe-package-1):
8189         * lisp/faces.el (describe-face):
8190         * lisp/help-fns.el (help-fns--key-bindings)
8191         (help-fns--compiler-macro, help-fns--parent-mode)
8192         (help-fns--obsolete, help-fns--interactive-only)
8193         (describe-function-1, describe-variable):
8194         * lisp/help.el (describe-mode):
8195         Use substitute-command-keys to ensure a more-consistent quoting
8196         style in help buffers.
8197         * lisp/cus-start.el (standard):
8198         Document new help-quote-translation behavior.
8199         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
8200         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
8201         (help-xref-url-regexp):
8202         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
8203         * lisp/wid-edit.el (widget-documentation-link-regexp):
8204         Also match 'foo', in case we're in a help buffer generated when
8205         help-quote-translation is ?'.
8206         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
8207         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
8208         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
8209         (Fsubstitute_command_keys): Document and implement new behavior.
8210         (Vhelp_quote_translation): Document new behavior.
8212 2015-06-18  Glenn Morris  <rgm@gnu.org>
8214         * lisp/cus-start.el (help-quote-translation): Add :version.
8216         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
8218 2015-06-18  Alan Mackenzie  <acm@muc.de>
8220         Make translation of quotes to curly in doc strings optional.
8221         src/doc.c (traditional, prefer-unicode): new symbols.
8222         (help-quote-translation): new variable.
8223         (Fsubstitute_command_keys): make translation of quotes dependent on
8224         `help-quote-translation'; also translate curly quotes back to ASCII
8225         ones.
8226         lisp/cus-start.el (top-level): Add a customization entry for
8227         `help-quote-translation'.
8229 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
8231         * lisp/emacs-lisp/package.el: Don't always propagate async errors
8232         (package--with-work-buffer-async): Only propagate the error if the
8233         callback returns non-nil.
8234         (package--download-one-archive): Return nil on the signature
8235         checking callback if we accept unsigned.
8236         (package--download-and-read-archives): Return non-nil on the
8237         archive download callback.
8239 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
8241         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
8242         * src/nsfns.m (Fx_create_frame):
8243         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
8244         image_cache_refcount before first x_default_parameter call.
8246 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
8248         Improve and extend filepos-to-bufferpos
8249         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
8250         Don't barf if F returns nil for some argument.
8251         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
8252         that every encoding of type 'charset' is single-byte.
8254 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
8256         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
8257         Properly delete packages.  (Bug#20836)
8259 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
8261         Update data files from just-released Unicode 8.0
8262         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
8263         status.
8264         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
8265         * admin/unidata/BidiMirroring.txt:
8266         * admin/unidata/BidiBrackets.txt:
8267         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
8269 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
8271         Document curved quotes a bit better
8272         * doc/emacs/basic.texi (Inserting Text):
8273         Mention C-x 8.  Change example to use curved quote rather
8274         than infinity, as this lets us give more ways to do it.
8275         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
8276         and quotation marks.
8277         * doc/emacs/text.texi (Quotation Marks):
8278         * doc/lispref/tips.texi (Documentation Tips):
8279         Add "curly quotes" and "curved quotes" to the index.
8280         * doc/emacs/text.texi (Quotation Marks):
8281         Give the C-x 8 shorthands for curved quotes.
8282         Cross-reference to "Quotation Marks".
8284 2015-06-17  Daiki Ueno  <ueno@gnu.org>
8286         Add pinentry.el for better GnuPG integration
8287         * lisp/pinentry.el: New file.
8288         * etc/NEWS: Add entry about pinentry.el.
8289         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
8290         (Bug#20550)
8292 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
8294         * lisp/emacs-lisp/package.el: Slightly better error reporting.
8296 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
8298         (define-minor-mode): Use setq-default for :global minor modes
8299         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
8300         Use setq-default for :global minor modes (bug#20712).
8302 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
8304         Avoid infloop in redisplay with tall images
8305         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
8306         down near ZV.  (Bug#20808)
8307         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
8308         instead of CHARPOS.
8310 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
8312         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
8313         Fix error reporting.
8315         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
8317         * lisp/emacs-lisp/package.el: Revert buffer after any operation
8318         Call `package-menu--post-refresh' after any operation that changes
8319         the package database (`package-install' and `package-delete').  To
8320         avoid performance issues in large transactions, these functions
8321         add `post-refresh' to `post-command-hook' instead of calling it
8322         immediately.
8323         (package-menu--mark-or-notify-upgrades): New function.
8324         (list-packages): Add it to `package--post-download-archives-hook'.
8325         (package-menu--post-refresh): Lose the upgrade-checking code, add
8326         code to remove itself from `post-command-hook'.
8327         (package-install, package-delete): Add it to `post-command-hook'.
8328         (package-menu-execute): Don't call `package-menu--post-refresh'.
8330 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
8332         Add missing function xref-location-group for elisp-mode.
8333         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
8335 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
8337         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
8338         The behavior now matches the description in the manual.  (Bug#20783)
8340 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
8342         Update tutorials/TUTORIAL.cn
8343         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
8345 2015-06-17  Glenn Morris  <rgm@gnu.org>
8347         Generate char-script-table from Unicode source.  (Bug#20789)
8348         * admin/unidata/Makefile.in (AWK): New, set by configure.
8349         (all): Add charscript.el.
8350         (blocks): New variable.
8351         (charscript.el, ${unidir}/charscript.el): New targets.
8352         (extraclean): Also remove generated charscript.el.
8353         * admin/unidata/blocks.awk: New script.
8354         * admin/unidata/Blocks.txt: New data file, from unicode.org.
8355         * lisp/international/characters.el: Load charscript.
8356         * src/Makefile.in (charscript): New variable.
8357         (${charscript}): New target.
8358         (${lispintdir}/characters.elc): Depend on charscript.elc.
8359         (temacs$(EXEEXT)): Depend on charscript.
8361         * lisp/international/characters.el (char-script-table): Tweak
8362         some ranges to better match the source.  (Bug#20789#17)
8364         Remove "no-byte-compile: t" from a few files.
8365         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
8366         * lisp/obsolete/patcomp.el: No reason not to compile these.
8368 2015-06-16  Glenn Morris  <rgm@gnu.org>
8370         Fix some typos in copied Unicode data.  (Bug#20789)
8371         * lisp/international/characters.el (char-script-table):
8372         * lisp/international/fontset.el (script-representative-chars)
8373         (setup-default-fontset): Fix typos.
8375         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
8376         Don't print filename twice (it's in the prefix now).
8378         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
8379         No longer needed.
8381         Address a compilation warning.
8382         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
8383         Replace 't' with '_' in pcase.
8385         Address some check-declare warnings.
8386         * lisp/simple.el (tabulated-list-print):
8387         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
8388         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
8389         (ns-get-selection): Update declarations.
8391         Address some compilation warnings.
8392         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
8393         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
8394         Replace 't' with '_' in pcase.
8396         Address some compilation warnings.
8397         * lisp/face-remap.el (text-scale-adjust):
8398         * lisp/menu-bar.el (popup-menu-normalize-position):
8399         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
8400         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
8401         * lisp/emacs-lisp/generator.el (cps--transform-1):
8402         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
8403         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
8404         * lisp/progmodes/octave.el (octave-goto-function-definition)
8405         (octave-find-definition-default-filename):
8406         Replace 't' with '_' in pcase.
8408         * lisp/emacs-lisp/pcase.el (pcase--u1):
8409         Paper-over today's bootstrap failure.
8411 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
8413         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
8415         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
8417         Better confirmation message in `find-alternate-file' (Bug#20830)
8418         * lisp/files.el (find-alternate-file'): Improve the confirmation
8419         message to show the buffer name.
8421         Better docstring for null. (Bug#20815)
8422         * src/data.c (null): Improves the docstring, saying what null returns
8423         when OBJECT is non-nil.
8425 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
8427         * lisp/net/newst-treeview.el: Use lexical-binding.
8429         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
8430         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
8431         New auxiliary function, extracted from filepos-to-bufferpos.
8432         Make sure it terminates.
8433         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
8434         Add support for the `exact' quality.
8436 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
8438         Identify feeds in newsticker treeview with :nt-feed property
8439         * lisp/net/newst-treeview.el:
8440         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
8442 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
8444         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
8445         (pcase--self-quoting-p): Floats aren't self-quoting.
8446         (pcase): Tweak docstring.
8447         (pcase--u1): Deprecate the t pattern.  Improve error detection for
8448         the nil pattern.
8449         (\`): Tweak docstring.  Signal an error for unrecognized cases.
8450         (bug#20784)
8452 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
8454         Fix infloop in filepos-to-bufferpos
8455         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
8456         offset calculation, and make it conditional on the eol-type of the
8457         file's encoding.  (Bug#20825)
8459 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
8461         Fix handling of image cache refcounts.  (Bug#20802)
8462         This backports Eli Zaretskii's solution of this problem for W32
8463         to X and NS.
8464         * src/nsfns.m (image_cache_refcount): Define unconditionally.
8465         (unwind_create_frame): If the image cache's reference count
8466         hasn't been updated yet, do that now.
8467         (Fx_create_frame): Set image_cache_refcount unconditionally.
8468         * src/xfns.c (image_cache_refcount): Define unconditionally.
8469         (unwind_create_frame): If the image cache's reference count
8470         hasn't been updated yet, do that now.
8471         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
8472         unconditionally.
8473         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
8474         X and NS.
8476 2015-06-16  Nils Ackermann  <nils@ackermath.info>
8478         Improve reftex-label-regexps default value
8479         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
8480         keyvals label regexp more strict to better cope with unbalanced
8481         brackets common in math documents.
8483 2015-06-16  Glenn Morris  <rgm@gnu.org>
8485         * doc/emacs/calendar.texi (Format of Diary File):
8486         Move "nonmarking" from here...
8487         (Displaying the Diary): ... to here.
8489         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
8490         Swap the order of these nodes.
8491         * doc/emacs/emacs.texi: Update detailed menu for the above change.
8493         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
8494         Update date of examples.
8495         (Diary, Format of Diary File): Move example from former to latter.
8496         Reduce duplication.
8498         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
8499         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
8500         Don't set no-byte-compile in the outputs.
8501         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
8503 2015-06-15  Glenn Morris  <rgm@gnu.org>
8505         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
8506         * doc/emacs/calendar.texi (Diary, Format of Diary File):
8507         Update for above diary-file change.
8508         : * etc/NEWS: Mention this.
8510         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
8511         (apply-macro-to-region-lines): Use user-error.
8513         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
8514         (pages-directory-for-addresses): Doc fixes.
8516 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8518         * lisp/info.el: Cleanup bytepos/charpos issues
8519         * lisp/international/mule-util.el: Use lexical-binding.
8520         (filepos-to-bufferpos): New function.
8521         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
8522         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
8523         (Info-read-subfile, Info-search): Use 0-based file positions.
8525         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
8526         (perl--syntax-exp-intro-keywords): New var.
8527         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
8528         (bug#20800).
8530 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8532         Fix quoting when making derived mode docstring
8533         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
8534         Nest regexp-quote inside format, not the reverse.
8535         Problem reported by Artur Malabarba in:
8536         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
8538 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
8540         Fix current-iso639-language on MS-Windows
8541         * lisp/international/mule-cmds.el (set-locale-environment):
8542         Downcase the locale name before interning it.  This is so the
8543         'current-iso639-language' on MS-Windows matches the ':lang'
8544         property of font-spec objects.
8546         Limit Symbola usage some more
8547         * lisp/international/fontset.el (setup-default-fontset): Limit
8548         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
8549         (Bug#20727)
8551 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
8553         * lisp/emacs-lisp/map.el (map-let): Better docstring.
8555 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8557         Spelling fixes
8559 2015-06-14  Glenn Morris  <rgm@gnu.org>
8561         * lisp/version.el (emacs-repository-version-git): Demote errors.
8562         Check result is a hash.
8564 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
8566         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
8567         Catch errors that happen before going async.  (Bug#20809)
8569 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
8571         Another improvement of documentation of set-fontset-font
8572         * doc/lispref/display.texi (Fontsets): Say explicitly that
8573         CHARACTER can be a single codepoint.
8574         * src/fontset.c (Fset_fontset_font): Doc fix.
8576         Another improvement for symbol and punctuation characters
8577         * lisp/international/fontset.el (setup-default-fontset): Exclude
8578         from Symbola character ranges for symbols and punctuation covered
8579         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
8580         installed and where its coverage of symbols and punctuation is
8581         known to be good.  (Bug#20727)
8583 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
8585         Some generic support for multi-mode indentation.
8586                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
8587                 variable.
8588                 (prog-first-column, prog-widen): New convenience functions.
8590 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
8592         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
8593         Don't assume that `tabulated-list-printer' will leave point at the
8594         end of the buffer.  (Bug#20810)
8596 2015-06-13  Glenn Morris  <rgm@gnu.org>
8598         Tweaks for getting repository version; a bit more like it was for bzr.
8599         * lisp/version.el (emacs-repository-version-git)
8600         (emacs-repository--version-git-1): New functions,
8601         split from emacs-repository-get-version.
8602         (emacs-repository-get-version): Make the second argument meaningful.
8604         * lisp/startup.el (command-line-1): Inform if skipping relative
8605         file names due to deleted PWD.
8607         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
8608         when starup directory is missing.  (Bug#18851)
8609         (errno.h): Include it.
8611 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8613         Better fix for documenting `X as "`X"
8614         Fix suggested by Stefan Monnier.
8615         * lisp/help-fns.el (help-fns--signature):
8616         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
8617         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
8618         Don't treat `X specially, as help-fns--signature now handles this.
8620 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
8622         Improve the default fontset when Symbola is not installed
8623         * lisp/international/fontset.el (setup-default-fontset): Only
8624         prepend Symbola and FreeMono font specs for symbols and
8625         punctuation; do not replace the default spec for them.  This
8626         should have better results when Symbola/FreeMono are not
8627         installed.  (Bug#20727)
8629         Improve documentation of ':lang' in font specs
8630         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
8631         use of the ':lang' property of the font spec.
8632         * doc/emacs/frames.texi (Fonts): Document the language names that
8633         can be in the STYLE part of XLFD.
8634         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
8635         property.
8637         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
8639         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
8641         Revert last change in fontset.el
8642         * lisp/international/fontset.el (setup-default-fontset): Revert
8643         the change "Configure Symbola font only if installed", since font
8644         search is evidently not yet set up when this function is called.
8645         (Bug#20727)
8647 2015-06-12  Glenn Morris  <rgm@gnu.org>
8649         Ensure early startup warnings are visible at the end.  (Bug#20792)
8650         * lisp/emacs-lisp/warnings.el (display-warning):
8651         If startup isn't complete, delay the warning.
8652         * lisp/startup.el (normal-top-level, command-line):
8653         Let display-warning automatically handle the needed delays.
8654         Run delayed-warnings-hook.
8656         * lisp/version.el (emacs-repository-get-version):
8657         Avoid calling external executable if possible.  (Bug#20799)
8659 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
8661         Document `X as "`X", not as "(` X)"
8662         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
8663         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
8665         * src/print.c (print_object): Minor simplification.
8667 2015-06-12  Glenn Morris  <rgm@gnu.org>
8669         * src/buffer.c (init_buffer): Add final newline to message.
8671 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
8673         Configure Symbola font only if installed
8674         * lisp/international/fontset.el (setup-default-fontset):
8675         Don't specify the Symbola font if it's not installed.
8676         Likewise for FreeMono.  (Bug#20727)
8678 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
8680         Configure Symbola font only for symbols and punctuation
8681         * lisp/international/fontset.el (setup-default-fontset): Leave
8682         only symbols and punctuation in the fontset setup for Symbola
8683         font; remove "Greek and Coptic" and "Cyrillic Supplement".
8684         (Bug#20798)
8686 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
8688         Fix crash in fontset-info
8689         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
8690         non-nil.
8692 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
8694         Port to Solaris 10 sparc + Sun C 5.13
8695         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
8696         Adjust to process.c change.
8697         * src/process.c (create_process): Declare volatile variables at
8698         top level of this function, so that they're less likely to be
8699         reused later in the function in the code executed by the vforked
8700         child.  Do not declare locals used only in the vforked child, as
8701         they might share memory with locals still live in the parent.
8702         Instead, use the same variables in the child as in the parent.
8703         This works around a subtle bug that causes a garbage collector
8704         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
8706 2015-06-12  Glenn Morris  <rgm@gnu.org>
8708         * lisp/startup.el (normal-top-level): Don't let *Messages* get
8709         a nil default-directory.
8711 2015-06-11  Glenn Morris  <rgm@gnu.org>
8713         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
8715         Some progress towards starting with PWD deleted.  (Bug#18851)
8716         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
8717         * lisp/startup.el (normal-top-level, command-line-1):
8718         * lisp/minibuffer.el (read-file-name-default):
8719         Handle default-directory being nil.
8721 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
8723         Fix "not a tty" bug on Solaris 10
8724         * configure.ac (PTY_OPEN): Define to plain 'open'
8725         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
8726         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
8727         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
8728         hosts that call grantpt which does its work via a setuid subcommand
8729         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
8730         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
8731         seems relevant in that case too.
8733 2015-06-11  Juri Linkov  <juri@linkov.net>
8735         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
8736         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
8737         (Bug#20785)
8739 2015-06-11  Glenn Morris  <rgm@gnu.org>
8741         * lisp/international/characters.el (char-script-table): Fix typo.
8743 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
8745         Fix quoting of help for functions with odd names
8746         While investigating Bug#20759, I discovered other quoting problems:
8747         C-h f mishandled characters like backslash and quote in function names.
8748         This fix changes the behavior so that 'C-h f pcase RET' now
8749         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
8750         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
8751         in src/lread.c's read1 function says that the backslash will be
8752         needed starting in Emacs 25, which implies that 'format' is
8753         correct and the old pcase documention was wrong to omit the backslash.
8754         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
8755         * lisp/help-fns.el (help-fns--signature):
8756         * lisp/help.el (help-add-fundoc-usage):
8757         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
8758         Use help--make-usage-docstring rather than formatting
8759         help-make-usage.
8760         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
8761         Return raw docstring.
8762         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
8763         raw docstring.  Take more care to distinguish raw from cooked dstrings.
8764         (describe-function-1): Let help-fns--signature substitute
8765         command keys.
8766         * lisp/help.el (help--docstring-quote): New function.
8767         (help-split-fundoc): Use it, to quote funny characters more
8768         systematically.
8769         (help--make-usage): Rename from help-make-usage, since this
8770         should be private.  Leave an obsolete alias for the old name.
8771         (help--make-usage-docstring): New function.
8772         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
8774 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
8776         * lisp/thingatpt.el (in-string-p): Revert last change,
8777         since in-string-p is not used in thingatpt.el but only from outside.
8778         Also, use lexical binding.
8780 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8782         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
8783         * test/automated/let-alist.el (let-alist-cons): Test it.
8785 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
8787         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
8789 2015-06-10  Glenn Morris  <rgm@gnu.org>
8791         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
8793         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
8794         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
8795         * admin/gitmerge.el (gitmerge-commit-message):
8796         Exclude "skipped" messages from ChangeLog once again.
8798         Slight namespace cleanup for thingatpt.el.
8799         * lisp/thingatpt.el (thing-at-point--in-string-p)
8800         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
8801         (thing-at-point--read-from-whole-string): Rename from
8802         old versions without "thing-at-point--" prefix.
8803         Keep old versions as obsolete aliases.  Update all uses.
8805         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
8806         Move requiring of finder from here...
8807         (checkdoc-package-keywords): ... to here.
8809         Use 'user-error' in a few calendar files.
8810         * lisp/calendar/appt.el (appt-add):
8811         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
8812         (calendar-generate):
8813         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
8814         Replace 'error' with 'user-error'.
8816         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
8818         * lisp/files-x.el (add-file-local-variable):
8819         Special-case 'lexical-binding'.  (Bug#20641)
8821         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
8822         No longer autoload.
8823         * doc/misc/autotype.texi (Executables):
8824         Undocument executable-self-display.
8826         * lisp/progmodes/executable.el (executable-self-display):
8827         Use non-obsolete tail syntax.  (Bug#20779)
8828         (executable-self-display): Doc update.
8830 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
8832         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
8833         (finder-known-keywords): Silence byte-compiler.
8835 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8837         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
8839         * lisp/progmodes/sh-script.el: Better handle nested quotes
8840         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
8841         (sh-font-lock-quoted-subshell): Make sure double quotes within single
8842         quotes don't mistakenly end prematurely the surrounding string.
8844         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
8846 2015-06-09  Glenn Morris  <rgm@gnu.org>
8848         * test/automated/Makefile.in (ELFILES): Sort.
8850         * Makefile.in (SUBDIR_MAKEFILES):
8851         * lwlib/Makefile.in (WARN_CFLAGS):
8852         Use built-in Make functions rather than echo+sed.
8854 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
8856         Update char-script-table
8857         * lisp/international/characters.el (char-script-table): Update
8858         from Unicode 8.0 Draft.
8860         Improve font selection for punctuation and other symbols
8861         * src/fontset.c (face_for_char): If the character's script is
8862         'symbol', and the font used for ASCII face has a glyph for it, use
8863         the font for the ASCII face instead of searching the fontsets.
8864         This comes instead of NS-specific code that used the current
8865         face's font instead, which is now disabled due to undesirable
8866         consequences.  (Bug#20727)
8868 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
8870         Skip past `#' to find BEG
8871         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
8872         past `#' to find BEG (bug#20771).
8873         * test/automated/elisp-mode-tests.el
8874         (elisp-completes-functions-after-hash-quote): New test.
8876 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
8878         Fix compilation warning/error in --without-x builds
8879         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
8880         code on HAVE_WINDOW_SYSTEM.
8882         Improve the default fontset wrt symbols
8883         * lisp/international/fontset.el (setup-default-fontset): Better
8884         setup of fontset-default for symbols: use Symbola and FreeMono.
8885         (Bug#20727)
8887 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
8889         Add new command checkdoc-package-keywords
8890         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
8891           defcustom.
8892         (checkdoc-list-of-strings-p): Add doc.
8893         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
8894         non-nil, call `checkdoc-package-keywords'.
8895         (checkdoc-get-keywords): New defun.
8896         (checkdoc-package-keywords): New command. Warns if the current file
8897         has package.el-style keywords that aren't in `finder-known-keywords'.
8898         * etc/NEWS: Add entry.
8900 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
8902         Avoid crashes when key-binding is called from a timer
8903         * src/keymap.c (Fkey_binding): Don't segfault if called with an
8904         empty vector as KEY.  (Bug#20705)
8906         Fix a thinko in arc-mode.el
8907         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
8908         non-Zip64 case.  (Bug#20769)
8910 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
8912         * lisp/emacs-lisp/package.el (package-delete): Make interactive
8914 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
8916         checkdoc.el (checkdoc-file): New function
8917         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
8918           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
8919           to the standard output.
8920         (bug#20754)
8922 2015-06-07  Glenn Morris  <rgm@gnu.org>
8924         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
8926         * src/font.c (syms_of_font) <font-log>: Doc fix.
8928         Remove the obsolete leading "*" from some C doc strings.
8929         * src/coding.c (syms_of_coding):
8930         * src/font.c (syms_of_font): Remove leading "*" from docs.
8931         * lisp/cus-start.el (enable-character-translation): Add it.
8933 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
8935         Move gen_origin from program to data
8936         That way, 'make change-history' needs to change only ChangeLog.2,
8937         instead of having to change two files.
8938         * ChangeLog.2: Add commit info for range that this file covers.
8939         * Makefile.in (new_commit_regexp): New macro.
8940         (change-history-nocommit): Simplify, by putting what used to be
8941         the gen_origin value into the data (ChangeLog.2) rather than
8942         into the program (gitlog-to-emacslog).
8943         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
8944         the input file (e.g., ChangeLog.2) rather than by having a
8945         constant in the program.  Substitute it into the output.
8947 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
8949         Escape any quotes in the function name
8950         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
8951         function name (bug#20759).
8953 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
8955         Adapt 'struct timespec' to next release of MinGW runtime
8956         * nt/inc/ms-w32.h (struct timespec): Don't declare if
8957         __struct_timespec_defined is defined.
8959 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
8961         Merge from gnulib
8962         This incorporates:
8963         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
8964         2015-06-05 stdio: Don't redefine gets when using C++
8965         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
8966         2015-06-02 file-has-acl: fix build on Mac OS X 10
8967         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
8968         2015-06-01 pthread_sigmask: discount system version if a simple macro
8969         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
8970         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
8971         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
8972         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
8973         * lib/gnulib.mk: Regenerate.
8975 2015-06-06  Juri Linkov  <juri@linkov.net>
8977         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
8978         before calling grep-compute-defaults because now it affects the
8979         command lines computed in grep-compute-defaults. (Bug#20728)
8981 2015-06-06  Glenn Morris  <rgm@gnu.org>
8983         Address some compilation warnings.
8984         * lisp/international/mule-cmds.el (w32-get-console-codepage)
8985         (w32-get-console-output-codepage):
8986         * lisp/progmodes/elisp-mode.el (xref-collect-references):
8987         * lisp/version.el (cairo-version-string): Declare.
8988         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
8990 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
8992         Fix display when a font claims large values of ascent and descent
8993         This fixes bug#20628.
8994         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
8995         coordinate of a hollow cursor glyph when the original glyph's
8996         ascent is too small.
8997         (get_font_ascent_descent, normal_char_ascent_descent)
8998         (normal_char_height): New functions.
8999         (handle_single_display_spec, append_space_for_newline)
9000         (calc_pixel_width_or_height, produce_stretch_glyph)
9001         (calc_line_height_property): Use normal_char_ascent_descent and
9002         normal_char_height.
9003         (x_produce_glyphs): When font-global values of ascent and descent
9004         are too large, use per-character glyph metrics instead, if
9005         possible.  But don't allow the glyph row's ascent and descent
9006         values become smaller than the values from the metrics of the
9007         font's "normal" character.
9008         * src/xftfont.c (xftfont_draw):
9009         * src/w32font.c (w32font_draw): Correct the values of ascent and
9010         descent used to draw glyphless characters' hex code in a box.
9011         * src/xterm.c (x_draw_glyph_string_background):
9012         * src/xdisp.c (x_produce_glyphs):
9013         * src/w32term.c (x_draw_glyph_string_background):
9014         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
9015         to detect fonts whose global ascent and descent values are too
9016         large to be used in layout decision, and redraw the background
9017         when that happens.
9018         * src/dispextern.h (FONT_TOO_HIGH): New macro.
9019         (get_font_ascent_descent): Add prototype.
9020         * src/xterm.c (x_new_font):
9021         * src/w32term.c (x_new_font):
9022         * src/nsterm.m (x_new_font):
9023         * src/font.c (font_open_entity):
9024         * src/composite.c (composition_gstring_width): Use
9025         get_font_ascent_descent to obtain reasonable values for ascent and
9026         descent of a font.
9028 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
9030         Add assertion in adjust_point_for_property
9031         * src/keyboard.c (adjust_point_for_property): Add eassert for
9032         current buffer being shown in selected window.
9034 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
9036         Replace uses of in-string-p; make it obsolete
9037         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
9038         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
9040 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
9042         Fix Dired display of an explicit list of files by ls-lisp.el
9043         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
9044         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
9045         correct for when displaying individual files separately, not as
9046         part of listing a directory, in which case these values are not
9047         recomputed by 'ls-lisp-insert-directory', but used verbatim.
9049         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
9051 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
9053         Do not adjust point in a non-selected window
9054         * src/keyboard.c (command_loop_1): Do not adjust point when
9055         current buffer is not shown in selected window (Bug#20590).
9057         * etc/DEBUG: Mention 'maybe_call_debugger'
9059 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
9061         Fix a unit test for map.el
9062         * test/automated/map-tests.el (test-map-let): Fix the test to work
9063         with the new syntax of `map-let'.
9065         * lisp/emacs-lisp/map.el (map-let): Better docstring.
9067         Better syntax for the map pcase pattern
9068         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
9069         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
9071         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
9073         Fix a byte-compiler error in map-put and map-delete
9074         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
9075         called with a symbol.
9077 2015-06-05  Glenn Morris  <rgm@gnu.org>
9079         * admin/gitmerge.el (gitmerge-commit-message):
9080         Revert to including "skipped" messages in ChangeLog once again.
9082 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
9084         Use string> instead of equiv lambda with string<
9085         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
9086         lambda with string<.
9088 2015-06-05  Glenn Morris  <rgm@gnu.org>
9090         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
9091         (map--delete-array): Fix typo.
9093         * test/automated/map-tests.el: Replace "assert" with "should".
9095         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
9096         (SUBDIRS_REL): Derive from SUBDIRS.
9098         Tweak some build messages.
9099         * lisp/Makefile.in ($(lisp)/loaddefs.el):
9100         * lisp/cus-dep.el (custom-make-dependencies):
9101         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
9102         * lisp/international/titdic-cnv.el (batch-titdic-convert):
9103         Don't say how to compile.
9105 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
9107         Omit U+0332 COMBINING LOW LINE in previous change
9108         It turns out that it does not work on Ubuntu 15.04.
9110         Fix transliteration of Bahá'í months
9111         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
9112         Improve quality of Latin transliteration of Bahá'í month names.
9114         Fix curved quotes in a few places
9115         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
9116         The strings in question are not doc strings, so this partially
9117         undoes the recent change that assumed they were doc strings.
9118         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
9119         * lisp/info.el (Info-finder-find-node):
9120         Use curved quotes.
9121         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
9122         Also allow curved quotes in doc strings.
9124 2015-06-04  Glenn Morris  <rgm@gnu.org>
9126         * lisp/Makefile.in (AM_V_at): Add missing definition.
9128         * lisp/Makefile.in: Quieten output a bit.
9129         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
9130         Don't echo directories, since the commands we invoke print them.
9132         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
9133         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
9134         (SUBDIRS_SUBDIRS): New variables.
9135         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
9136         Remove.
9137         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
9138         (update-subdirs, compile-main, compile-clean):
9139         Replace "setwins" usage with new "SUBDIRS" variables.
9141         * lisp/vc/compare-w.el (compare-windows-get-window-function):
9142         Fix :version tag.
9144 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9146         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
9148         Undo removal of x_clear_area call on expose for GTK3 or cairo.
9149         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
9150         exposed area.  (Bug#20677)
9152 2015-06-04  Glenn Morris  <rgm@gnu.org>
9154         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
9156         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
9158         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
9159         Rename from quail-lao-update-translation, since lao.el defines that.
9161 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
9163         Handle new-style advice in find-funct
9164         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
9165         Handle new-style advice.  Return the symbol's function definition.
9166         (Bug#20718)
9167         (find-function-library): Update accordingly.
9169 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
9171         Merge branch 'map'
9173         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
9175         Add new function string-greaterp
9176         * lisp/subr.el (string-greaterp): New function.  Also aliased to
9177         `string>'.
9178         * test/automated/subr-tests.el (string-comparison-test): Add unit
9179         tests for `string>'and `string<'.
9180         * src/fns.c (string-lessp): Better docstring.
9182 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
9184         Fix timezone-related functions on MS-Windows
9185         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
9186         'xputenv', even if no reallocation of tzvalbuf was necessary.
9187         This fixes a bug in timezone-related functions on MS-Windows.
9188         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
9190 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
9192         Don't pass raw directory name to 'error'
9193         * lisp/files.el (basic-save-buffer-2): Avoid format error if
9194         a directory name contains a string like "%s".
9196 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
9198         Override 'grep --color=always'
9199         * lisp/progmodes/xref.el (xref-collect-matches):
9200         Override --color=always in grep-find-template.
9202 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
9204         Fix error introduced recently in file-notify-tests.el
9205         * test/automated/file-notify-tests.el
9206         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
9207         (file-notify--deftest-remote): Revert previous patch, not
9208         necessary anymore.
9210 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
9212         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
9213         Starting from a display string after a newline, point went to the
9214         previous line.  Also, fix an inadvertent use of a buffer position
9215         with FETCH_BYTE.  (Bug#20701)
9217 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
9219         Instrument file-notify-test.el in order to catch hydra error.
9220         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
9221         Wrap body by `ignore-case', in order to trap non-local errors.
9223 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9225         Undo previous changes in non-toolkit scroll bar drawing.
9226         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
9227         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
9229 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
9231         * .gitignore: Also ignore doc/*/*/*.html and .ps.
9233         Support quotes 'like this' in info files
9234         This is possible when 'makeinfo --disable-encoding' is used
9235         in Texinfo 5.
9236         * lisp/calc/calc-help.el (calc-describe-thing):
9237         * lisp/gnus/gnus-art.el (gnus-button-alist):
9238         * lisp/info.el (Info-find-index-name):
9239         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
9240         Also support quotes 'like this'.
9241         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
9242         * lisp/finder.el (finder-font-lock-keywords): Remove var that
9243         hasn't been used in years, instead of bothering to fix its quoting.
9245 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9247         * .gitignore: Remove !test/etags/html-src/*.html.
9248         It's no longer needed, since *.html was removed.  Sort.
9250 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
9252         Restore <D> instead of '.' in grep-find-template
9253         * lisp/cedet/semantic/symref/grep.el
9254         (semantic-symref-grep-use-template): Update a comment.
9255         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
9256         instead of '.' in grep-find-template (bug#20719).
9257         (rgrep): Pass nil as the directory to rgrep-default-command.
9258         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
9259         default value for DIR.
9260         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
9261         workaround.
9263 2015-06-02  Glenn Morris  <rgm@gnu.org>
9265         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
9267         * configure.ac (emacs_config_features): Add Cairo.
9269         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
9271 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
9273         Ensure, that autorevert works for remote files in file-notify-tests.el
9274         * test/automated/file-notify-tests.el (file-notify--test-desc):
9275         New defvar.
9276         (file-notify--test-remote-enabled)
9277         (file-notify-test00-availability, file-notify-test01-add-watch)
9278         (file-notify-test02-events): Use it.
9279         (file-notify--test-event-test): Check proper descriptor.
9280         (file-notify-test03-autorevert): Ensure, that
9281         `visited-file-modtime' has changed.
9282         (Bug#20392)
9284 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
9286         Add a pcase pattern for maps and `map-let' based on it
9287         * lisp/emacs-lisp/map.el (map-let): New macro.
9288         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
9289         * test/automated/map-tests.el: New test for `map-let'.
9291 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
9293         Reuse rgrep mechanics in xref-find-regexp
9294         * lisp/progmodes/grep.el (rgrep-default-command):
9295         Extract from `rgrep'.
9296         * lisp/progmodes/xref.el (xref-collect-references): Split from
9297         `xref-collect-matches'.  Only handle the case of symbol search.
9298         (xref-collect-matches): Instead of Semantic Symref, use
9299         `rgrep-default-command', to take advantage of its directory and
9300         file ignore settings.
9301         (xref--collect-match): Remove the last argument, leaving the
9302         regexp construction up to the caller.
9303         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
9304         Change to take the xref-collect- function to use as an argument.
9305         (elisp-xref-find): Update accordingly.
9306         * lisp/progmodes/etags.el (etags--xref-find-matches)
9307         (etags-xref-find): Same.
9309         Move xref-elisp-location to elisp-mode.el
9310         * lisp/progmodes/xref.el (xref-elisp-location)
9311         (xref-make-elisp-location, xref-location-marker): Remove here.
9312         (xref--xref): Don't limit the type of the location slot.
9313         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
9314         Define as a cl-struct here.
9315         (xref-location-marker): Move here.
9317 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
9319         Minor tweaks for .gitignore
9320         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
9321         ignore admin/notes/tags that might be ignored as TAGS on
9322         case-insensitive filesystems.  (Bug#20710)
9324 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9326         Generate curved quotes in ert doc
9327         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
9328         (ert-results-mode-menu)
9329         (ert-results-pop-to-backtrace-for-test-at-point)
9330         (ert-results-pop-to-messages-for-test-at-point)
9331         (ert-results-pop-to-should-forms-for-test-at-point)
9332         (ert-describe-test):
9333         Quote ‘like this’, not `like this', when generating doc strings
9334         and the like.
9335         * test/automated/ert-x-tests.el (ert-test-describe-test):
9336         Allow quoting ‘like this’.
9338 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
9340         Add test for previous commit
9341         * test/automated/replace-tests.el: New file.
9342         (query-replace--split-string-tests): Add test for previous commit.
9344         Avoid confusion in query-replace history when replacing NUL chars
9345         * lisp/replace.el (query-replace--split-string): New function.
9346         (query-replace-read-from): Rely on the 'separator' property
9347         instead of searching for the NUL character (Bug#20690).
9349 2015-06-02  Glenn Morris  <rgm@gnu.org>
9351         Merge from origin/emacs-24
9352         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
9354         * admin/gitmerge.el (gitmerge-commit-message):
9355         Exclude "skipped" messages from ChangeLog.
9357 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
9359         Sync with Tramp repository
9360         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
9361         messages.
9362         (tramp-handle-make-auto-save-file-name): When calling
9363         `make-auto-save-file-name' internally, make sure it uses Unix-like
9364         behavior, not Windows-like behavior.
9365         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
9366         the local case, because "chown" might fail on w32.
9367         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
9368         for XEmacs.
9370 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
9372         MS-Windows followup for batch stdout/stderr output changes
9373         * lisp/international/mule-cmds.el (set-locale-environment): In
9374         batch mode, use console codepages for keyboard and terminal
9375         encoding.  (Bug#20545)
9377         Update .gitattributes for DOS EOL files
9378         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
9379         CRLF end-of-line format.
9381         NS equivalents of xterm.c and w32term.c changes
9382         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
9383         glyph string background also when the font in use claims
9384         preposterously large global height value.  Helps to remove
9385         artifacts left from previous displays when glyphless characters
9386         are displayed as hex code in a box.
9387         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
9388         value for FRAME_LINE_HEIGHT, even when a font claims very large
9389         value for its height.
9391 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
9393         Avoid grave accent quoting in stderr diagnostics
9394         A few Emacs diagnostics go directly to stderr, and so can't easily
9395         contain curved quotes (as non-UTF-8 locales might mishandle them).
9396         Instead of bothering to add support for this rarity, reword the
9397         diagnostics so that they don't use grave accent to quote.
9398         * src/alloc.c (mark_memory): Fix comment.
9399         * src/buffer.c (init_buffer):
9400         * src/dispnew.c (init_display):
9401         * src/emacs.c (main, sort_args):
9402         * src/lread.c (dir_warning):
9403         * src/term.c (init_tty):
9404         * src/unexmacosx.c (unexec):
9405         * src/xfns.c (select_visual):
9406         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
9407         Reword stderr diagnostics to avoid quoting `like this'.
9408         * src/unexmacosx.c: Include errno.h.
9409         * src/xfns.c (select_visual): Encode value for locale.
9411 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
9413         Treat batch stdout/stderr like standard display
9414         Calls like (print FOO) could generate improperly encoded or
9415         hard-to-read output if FOO contains characters outside the system
9416         locale.  Fix this by treating batch stdout and stderr like
9417         interactive standard display, when it comes to transliterating and
9418         encoding characters (Bug#20545).
9419         * doc/emacs/mule.texi (Communication Coding):
9420         * doc/lispref/display.texi (Active Display Table):
9421         * doc/lispref/nonascii.texi (Locales):
9422         * etc/NEWS:
9423         * src/coding.c (syms_of_coding):
9424         * src/dispnew.c (syms_of_display):
9425         Document this.
9426         * src/print.c: Include disptab.h.
9427         (printchar_to_stream): New function, with much of the guts of the
9428         old Fexternal_debugging_output, except this one also uses the
9429         standard display table.
9430         (printchar, strout, Fexternal_debugging_output): Use it.
9432 2015-05-31  Glenn Morris  <rgm@gnu.org>
9434         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
9436 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
9438         Remove unused DEFSYMs
9439         Remove DEFSYMs that aren't used at the C level.  Also:
9440         * src/decompress.c (Qzlib_dll):
9441         * src/font.c (Qunicode_sip):
9442         * src/frame.c (Qtip_frame):
9443         * src/ftfont.c (Qserif):
9444         * src/gnutls.c (Qgnutls_dll):
9445         * src/xml.c (Qlibxml2_dll):
9446         Move from here ...
9447         * src/w32fns.c (syms_of_w32fns): ... to here,
9448         as these are used only on MS-Windows.
9450 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
9452         Use another default value for tramp-histfile-override
9453         * lisp/net/tramp-sh.el (tramp-histfile-override):
9454         Use ".tramp_history" as default.
9455         Fixes: debbugs:#20446
9457 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
9459         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
9461 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
9463         * etc/NEWS: Add an entry about map.el
9465         Improve the docstring of functions in map.el
9466         Since a map is not a data structure but a concept, adding information
9467         about the possible types of maps can be useful information.
9468         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
9469         each public function.
9471 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
9473         Faster implementation of map-empty-p
9474         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
9475         specific tests depending on the type of the map.
9477         * lisp/emacs-lisp/map.el: Better docstrings.
9479 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9481         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
9483 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
9485         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
9487         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
9489         Fix a false negative in `map-elt' with alists and values being nil
9490         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
9491         found but its associated value is nil, do not return the default
9492         value.
9493         * test/automated/map-tests.el: Add a regression test.
9495 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
9497         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
9499         Do not signal an error when trying to delete a key from an array
9500         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
9501         the key is present to avoid signaling an error.
9502         * test/automated/map-tests.el: Add a test for deleting non-existing
9503         keys from maps.
9505         * lisp/emacs-lisp/map.el: Better docstring.
9507         Minor improvement in map-elt.
9508         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
9509         doing a lookup in arrays, but check the boundaries of the array
9510         instead.
9511         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
9512         and a negative integer as key.
9514 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
9516         * test/automated/map-tests.el: Refactoring of test methods.
9518         * test/automated/map-tests.el: Renamed from map-test.el.
9520 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
9522         * lisp/emacs-lisp/map.el (map-into): Better error message.
9524         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
9526         Throw an error when converting a map into an unknown map type
9527         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
9528         * test/automated/map-test.el: Add a regression test.
9530         New library map.el similar to seq.el but for mapping data structures.
9531         * test/automated/map-test.el: New file.
9532         * lisp/emacs-lisp/map.el: New file.
9534 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
9536         Make sure there's no explicit tag name
9537         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
9538         there's no explicit tag name (bug#20629).
9540 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
9542         Remove format2
9543         * src/editfns.c, src/lisp.h (format2): Remove.
9544         It is more trouble than it's worth, now that we have CALLN.
9545         This is just a minor refactoring.
9546         * src/buffer.c (Fkill_buffer):
9547         * src/dbusbind.c (XD_OBJECT_TO_STRING):
9548         * src/fileio.c (barf_or_query_if_file_exists):
9549         Adjust to format2 going away.
9551         Don't misencode C-generated messages
9552         Also, be more consistent about calls to 'Fmessage' vs 'message'.
9553         * src/alloc.c (Fgc_status):
9554         Prefer AUTO_STRING to build_string for Fmessage call.
9555         * src/data.c (Fmake_variable_buffer_local)
9556         (Fmake_local_variable, Fmake_variable_frame_local):
9557         * src/doc.c (store_function_docstring):
9558         Use Fmessage, not message, since the argument can contain
9559         non-ASCII characters, and this can cause the resulting message
9560         to be incorrectly encoded for the current environment.
9561         * src/fns.c (maybe_resize_hash_table):
9562         * src/xselect.c (x_clipboard_manager_save_all):
9563         Use message, not Fmessage, since Fmessage's power isn't needed here.
9564         * src/process.c (Fmake_network_process): Reword message to avoid %s.
9565         * src/xdisp.c (vmessage): Document restrictions on message contents.
9566         (message_nolog) [false]: Remove unused code.
9568         Use \r rather than ^M in string literals
9569         This is less likely to cause problems on platforms that
9570         use CRLF (or CR!) termination for lines.
9572         Update .gitattributes to match current sources
9573         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
9574         * .gitattributes: Accommodate tests that insist on DOS format.
9575         Remove test/automated/data/decompress/foo-gzipped.
9576         Add etc/e/eterm-color.
9578 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
9580         Document 'face-ignored-fonts'
9581         * doc/emacs/mule.texi (Modifying Fontsets): Document
9582         face-ignored-fonts.  (Bug#20628)
9584         Add etags test for the new -Q option
9585         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
9586         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
9587         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
9588         test-case changes below.
9589         * test/etags/ETAGS.good_6: New file.
9590         * test/etags/cp-src/x.cc: New file.
9591         * test/etags/Makefile (CPSRC): Add x.cc.
9592         (check): Add one more test, for -Q.
9594 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
9596         Use list for the tags completion table, not obarray
9597         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
9598         list instead of an obarray
9599         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
9600         (tags-completion-table): Combine those lists.
9601         (tags-completion-table): Update the docstring.
9603 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
9605         Restore EOL format testing in etags
9606         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
9607         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
9608         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
9609         test-case changes below.
9610         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
9611         * test/etags/cp-src/c.C (B): Add back stray CR character.
9612         * test/etags/c-src/dostorture.c: Add back.
9613         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
9615 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
9617         Declare Emacs on MS-Windows to be DPI-aware
9618         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
9619         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
9620         This avoids Windows entering compatibility mode for Emacs,
9621         which causes fonts to look less nice.
9623 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
9625         Improve Tramp traces.
9626         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
9627         * lisp/net/tramp.el (tramp-debug-message): Use it.
9629 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
9631         backup-buffer minor reworking of internals
9632         * lisp/files.el (backup-buffer): Rework to avoid a couple of
9633         unused locals inadvertently introduced in the previous change.
9635         backup-buffer now reports .emacs.d/%backup% ills
9636         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
9637         fails due to disk space exhaustion or whatever, do not pretend
9638         that it succeeded.  More generally, do a better job of checking
9639         for I/O failures, and limit the scope of the condition-case to
9640         just the operations where file errors should be caught and ignored
9641         (Bug#20595).  Also, don't bother trying to delete later backups if
9642         an earlier deletion fails, as this is a sign of trouble and it's
9643         better to stop when there's trouble.
9645         copy-file now truncates output after writing
9646         * src/fileio.c (Fcopy_file): Truncate output after writing rather
9647         than before.  This is more likely to work than truncation before
9648         writing, if the file system is out of space or the user is over
9649         disk quota (Bug#20595).  Also, check for read errors.
9651 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
9653         * lisp/emacs-lisp/package.el: Don't load from parent dir
9654         (package-load-all-descriptors): Don't load descriptors from
9655         directories above the package directories.
9657 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9659         Merge from gnulib
9660         This incorporates the following (Bug#20681):
9661         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
9662         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
9663         * lib/set-permissions.c: Copy from gnulib.
9665 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
9667         Improve Tramp traces.
9668         * lisp/net/tramp.el (tramp-call-process-region): New defun.
9669         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
9671 2015-05-29  Glenn Morris  <rgm@gnu.org>
9673         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
9675 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
9677         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
9678         The signature was changed in the cairo branch, merged on 2015-05-23.
9679         This oversight broke compiling only the non-toolkit X version.
9681 2015-05-29  Samer Masterson  <samer@samertm.com>
9683         * doc/lispref/os.texi: Update initial-buffer-choice docs.
9685 2015-05-29  Glenn Morris  <rgm@gnu.org>
9687         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
9688         Mark as an expected failure.
9690 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9692         Change package test to look for curved quotes
9693         * test/automated/package-test.el (package-test-describe-package)
9694         (package-test-signed): Search for curved single quotes as well as
9695         for grave accent and apostrophe.
9697 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
9699         gnus-art.el: Re-revert last change
9700         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
9701         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
9703 2015-05-28  Samer Masterson  <samer@samertm.com>
9705         Show files when `initial-buffer-choice' is non-nil
9706         * startup.el (command-line-1): When Emacs is given a file as an
9707         argument and `initial-buffer-choice' is non-nil, display both the file
9708         and `initial-buffer-choice'.  For more than one file, show
9709         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
9710         commands out of the command line arg parser.
9711         (initial-buffer-choice): Clarify docstring.
9713 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
9715         Fix last commit
9716         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
9717         (gnulib module qcopy-acl): Add back, as it is harmless.  This
9718         minimizes differences wrt lib/gnulib.mk.
9720         Fix the MS-Windows build as followup to gnulib update
9721         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
9722         set-permissions.c, as they don't compile on MinGW.
9723         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
9725 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
9727         Revert my change to gnus-art.el
9728         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
9729         It wasn't that important, and it caused a Gnus build to fail.  See:
9730         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
9732         New minor mode Electric Quote
9733         This lets you easily insert quotes ‘like this’ by typing
9734         quotes `like this', and similarly you can easily insert
9735         quotes “like this” by typing quotes ``like this'' (Bug#20545).
9736         * doc/emacs/basic.texi (Inserting Text):
9737         * doc/emacs/modes.texi (Minor Modes):
9738         * etc/NEWS: Document it.
9739         * doc/emacs/text.texi (Quotation Marks): New section.
9740         * lisp/electric.el (electric-quote-comment)
9741         (electric-quote-string, electric-quote-paragraph):
9742         New custom vars.
9743         (electric--insertable-p)
9744         (electric-quote-post-self-insert-function): New functions.
9745         (electric-quote-mode, electric-quote-local-mode): New minor modes.
9746         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
9747         Add curved single quotes to electric-pair-text-pairs.
9748         Set electric-quote-string in this buffer.
9750         A few more doc string fixes (Bug#20385)
9752         Accept curved quotes in doc strings
9753         * lisp/info-look.el (info-lookup-guess-custom-symbol):
9754         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
9756         Generate curved quotes in pseudo-info nodes
9757         * lisp/info.el (Info-virtual-index-find-node)
9758         (Info-virtual-index, Info-apropos-find-node, info-apropos):
9759         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
9761         Fix minor quoting problems in doc strings
9762         Most of these fixes involve escaping grave accents that are
9763         actually intended to be grave accents, not left quotes.
9764         (Bug#20385)
9766         Support curved quotes in doc strings
9767         Emacs's traditional doc string style has been to quote symbols
9768         `like this'.  This worked well on now-obsolete terminals where
9769         ` and ' were symmetric quotes, but nowadays curved quotes
9770         ‘like this’ look better.  Support quoting the new way too.
9771         (Bug#20385)
9772         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
9773         ‘like-this’ as well as `like-this'.
9774         * etc/NEWS: Mention this.
9775         * lisp/cedet/mode-local.el (overload-docstring-extension)
9776         (mode-local-print-binding, mode-local-describe-bindings-2):
9777         * lisp/cus-theme.el (describe-theme-1):
9778         * lisp/descr-text.el (describe-text-properties-1, describe-char):
9779         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
9780         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
9781         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
9782         (eieio-help-constructor):
9783         * lisp/emacs-lisp/package.el (describe-package-1):
9784         * lisp/faces.el (describe-face):
9785         * lisp/help-fns.el (help-fns--key-bindings)
9786         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
9787         (help-fns--interactive-only, describe-function-1):
9788         (describe-variable):
9789         * lisp/help.el (describe-mode):
9790         * lisp/international/mule-cmds.el (describe-input-method)
9791         (describe-language-environment):
9792         * lisp/international/mule-diag.el (describe-character-set)
9793         (print-coding-system-briefly, list-input-methods)
9794         (list-input-methods-1):
9795         Insert curved quotes rather than grave accent and apostrophe.
9796         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
9797         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
9798         (checkdoc-proper-noun-region-engine):
9799         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
9800         (lisp-cl-font-lock-keywords-2):
9801         * lisp/finder.el (finder-font-lock-keywords):
9802         * lisp/gnus/gnus-art.el (gnus-button-alist):
9803         * lisp/help-fns.el (help-do-arg-highlight)
9804         (describe-function-1, describe-variable):
9805         * lisp/help-mode.el (help-xref-symbol-regexp)
9806         (help-xref-info-regexp, help-xref-url-regexp):
9807         * lisp/help.el (describe-mode):
9808         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
9809         * lisp/wid-edit.el (widget-documentation-link-regexp):
9810         Parse symbols quoted ‘like-this’ as well as `like-this'.
9811         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
9812         Add "‘" and "’" to electric-pair-text-pairs.
9813         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
9814         (elisp-completion-at-point, elisp--preceding-sexp):
9815         Also treat "‘" and "’" as quoting chars.
9817         substitute-command-keys now curves quotes
9818         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
9819         * doc/lispref/help.texi (Keys in Documentation):
9820         * etc/NEWS: Document this.
9821         * src/doc.c (Fsubstitute_command_keys): Implement it.
9823 2015-05-28  Glenn Morris  <rgm@gnu.org>
9825         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
9826         (rmail-summary-by-topic, rmail-summary-by-senders):
9827         No longer strip leading/trailing whitespace.
9829         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
9830         (f90-no-block-limit): Add "enum".  (Bug#20680)
9831         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
9832         New tests.
9834 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9836         * lisp/isearch.el (isearch--current-buffer): Give a default value.
9838         Un-revert changes mistakenly dropped by f9fabb2b
9840 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
9842         Merge from gnulib
9843         This incorporates:
9844         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
9845         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
9846         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
9847         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
9848         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
9849         2015-05-26 stdio: fix probe on mingw under gcc 5.1
9850         * admin/merge-gnulib (GNULIB_MODULES):
9851         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
9852         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
9853         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
9854         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
9855         Get latest versions from gnulib.
9856         * lib/get-permissions.c, lib/set-permissions.c: New files.
9857         * lib/gnulib.mk, m4/gnulib-comp.m4:
9858         Regenerate.
9859         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
9861 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
9863         Delete the old process in vc-setup-buffer
9864         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
9865         process here.
9866         (vc-do-command): Rather than here (bug#20608).
9868 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
9870         Avoid gratuitous delete-dups in face-at-point.
9871         * lisp/faces.el (face-at-point): Do not compute the properly
9872         ordered, duplicate-free list if only a single value is
9873         requested anyway.  (Bug#20519)
9875         Show the exact C-x 8 RET invocation in describe-char.
9876         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
9877         invocation instead of a template.  (Bug#20522)
9879 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
9881         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
9882         (package-menu--post-refresh): Call `tabulated-list-print' with the
9883         UPDATE argument.  This only affects the refresh action, the revert
9884         action still erases tags.
9885         (package-menu-get-status): Change `assq' to `assoc'.
9886         (package-menu--mark-upgrades-1): New function.
9887         (package-menu--mark-upgrades-pending): New variable.
9888         (package-menu-mark-upgrades): Use them to delay marking until
9889         after refresh is done.
9890         (package-menu--post-refresh): Call mark-upgrades-1 if
9891         mark-upgrades-pending is non-nil.
9893 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
9895         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
9897 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9899         * lisp/isearch.el (isearch--current-buffer): New var
9900         (isearch-update): Set cursor-sensor-inhibit here.
9901         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
9903         Change inhibit-point-motion-hooks to t
9904         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
9905         to t and document it as obsolete.
9907 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
9909         Support ZIP files that use Zip64 extensions
9910         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
9911         format of central directory offsets used by Zip64 extensions.
9912         (Bug#20665)
9914 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
9916         New test tramp-test30-make-auto-save-file-name
9917         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
9918         (tramp-test31-special-characters)
9919         (tramp-test31-special-characters-with-stat)
9920         (tramp-test31-special-characters-with-perl)
9921         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
9922         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
9923         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
9924         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
9926         Improve tramp-handle-make-auto-save-file-name
9927         * tramp.el (tramp-auto-save-directory): Add :tags.
9928         (tramp-handle-make-auto-save-file-name): Let native
9929         `make-auto-save-file-name' use `auto-save-file-name-transforms',
9930         if `tramp-auto-save-directory' is not set.
9932 2015-05-27  Glenn Morris  <rgm@gnu.org>
9934         No longer set dired-directory in eshell.  (Bug#16477)
9935         * lisp/eshell/esh-mode.el (eshell-mode):
9936         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
9938         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
9940         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
9941         * lisp/progmodes/cc-mode.el (c-mode-help-address):
9942         Change to submit@debbugs.
9943         (c-mode-bug-package): New constant.
9944         (mail-position-on-field): Declare.
9945         (c-submit-bug-report): Insert X-Debbugs-Package header.
9946         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
9947         Mention debbugs.gnu.org.
9949 2015-05-26  Glenn Morris  <rgm@gnu.org>
9951         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
9952         (rmail-summary-by-recipients, rmail-summary-by-topic)
9953         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
9954         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
9956 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
9958         Handle curved quotes in info files
9959         * lisp/calc/calc-help.el (calc-describe-thing):
9960         * lisp/info.el (Info-find-index-name)
9961         (Info-try-follow-nearest-node, Info-fontify-node):
9962         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
9963         In info files, process quotes ‘like this’ the same way we process
9964         quotes `like this'.  This catches a few places we missed earlier.
9966 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
9968         xref-prompt-for-identifier: Use a list value
9969         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
9970         value, to be interpreted as a list of commands.
9971         (xref--prompt-p): New function.
9972         (xref--read-identifier): Use it.
9974 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
9976         Teach MS-Windows font back-end return per-glyph ascent/descent
9977         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
9978         values.
9979         * src/w32font.c (w32font_text_extents): Compute, cache, and
9980         accumulate per-glyph ascent and descent values, instead of copying
9981         global values from the font.  If the values are not available from
9982         the font data, i.e., non-TTF fonts, fall back on font-global values.
9983         (compute_metrics): Compute and return per-glyph ascent and descent
9984         values, if returned by GetGlyphOutlineW, falling back on
9985         font-global values.  (Bug#20628)
9986         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
9987         height of rectangle to be drawn, to be compatible with
9988         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
9989         box, when per-glyph ascent/descent values are used.
9991 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
9993         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
9994         (tabulated-list-print): Don't sort if sorter is nil
9996 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
9998         Fix Bug#20621
9999         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
10000         are major modes which set `auto-save-mode' on their own rules;
10001         Tramp shall not overwrite such settings.
10002         (Bug#20621)
10004 2015-05-26  Glenn Morris  <rgm@gnu.org>
10006         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
10007         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
10008         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
10009         Doc updates.
10010         (vc-dir-mode): Remove unnecessary autoload.
10012 2015-05-25  Philipp Stephani  <phst@google.com>
10014         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
10015         (xterm--extra-capabilities-type): Add `getSelection'.
10016         (xterm--query): Add `no-async' argument.
10017         (xterm--init-activate-get-selection): New function.
10018         (terminal-init-xterm): Use it.
10019         (xterm--init-modify-other-keys): Rename from
10020         terminal-init-xterm-modify-other-keys.
10021         (xterm--init-bracketed-paste-mode): Rename from
10022         terminal-init-xterm-bracketed-paste-mode.
10023         (xterm--init-activate-set-selection): Rename from
10024         terminal-init-xterm-activate-set-selection.
10025         (xterm--selection-char): New function.
10026         (gui-backend-set-selection): Use it.  Use the &context to only apply
10027         this method in terminals where we enabled the feature.
10028         (gui-backend-get-selection): New method.
10030 2015-05-25  Daniel Colascione  <dancol@dancol.org>
10032         Add C-language keyword constants to C++
10033         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
10034         keyword constants to C++.
10036 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
10038         Make TAGS files more portable to MS-Windows
10039         * etc/NEWS: Document this.
10040         * lib-src/etags.c (readline_internal) [DOS_NT]:
10041         Don't treat CRs differently from GNUish hosts.
10042         * lisp/progmodes/etags.el (etags-goto-tag-location):
10043         Adjust STARTPOS to account for the skipped CRs in dos-style files.
10045 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
10047         Improve fix of debbugs:20634 in tramp-sh.el
10049 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
10051         Fix a typo in last commit
10052         * lib-src/etags.c (C_entries): Fix a typo.
10053         * test/etags/ETAGS.good_1:
10054         * test/etags/ETAGS.good_2:
10055         * test/etags/ETAGS.good_3:
10056         * test/etags/ETAGS.good_4:
10057         * test/etags/ETAGS.good_5:
10058         * test/etags/CTAGS.good: Update due to the change in etags.c.
10060         Fix tagging of class members in C-like OO languages
10061         * lib-src/etags.c (longopts): Add new option --class-qualify and
10062         its shorthand -Q.
10063         (print_help): Add help text for --class-qualify.
10064         (main): Add handling of -Q.
10065         (consider_token, C_entries) <omethodparm>: Append argument types
10066         to Objective C methods only if --class-qualify was specified.
10067         Qualify C++, Objective C, and Java class members with their class
10068         names only if --class-qualify was specified.
10069         (C_entries): If --class-qualify was not specified, remove the
10070         namespace and class qualifiers from tag names of C++ methods.
10071         This allows to use etags.el as xref back-end without the
10072         tag-symbol-match-p method, which greatly increases the number of
10073         potentially false positives.  (Bug#20629)
10074         * doc/man/etags.1: Update to document the new --class-qualify
10075         option.
10076         * test/etags/ETAGS.good_1:
10077         * test/etags/ETAGS.good_2:
10078         * test/etags/ETAGS.good_3:
10079         * test/etags/ETAGS.good_4:
10080         * test/etags/ETAGS.good_5:
10081         * test/etags/CTAGS.good: Update due to changes in etags.c.
10083 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
10085         (cl-generic-define-method): Side effects are evil (bug#20644)
10086         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
10087         cons-cells that might be used as keys in an `equal' hash-table.
10089 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
10091         Make erc timestamps visible again
10092         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
10093         timestamps visible again (if requested).
10095 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
10097         Fix last change in etags.c that broke tagging compresed files
10098         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
10099         quoting of decompression shell command for MS-Windows/MS-DOS.
10101 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
10103         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
10104         (Bug#20639)
10106 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
10108         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
10110 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
10112         Fix IPv6 addresses in Tramp
10113         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
10114         Add sqare brackets around host name.
10116 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
10118         Inhibit `epa-file-handler' in Tramp
10119         (Bug#20634)
10120         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
10121         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
10122         `epa-file-handler'.
10124 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
10126         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
10127         (pcase-let): Document the behavior in case the pattern doesn't match.
10129 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10131         * lisp/emacs-lisp/tabulated-list.el: New optional print method
10132         (tabulated-list-print): New optional argument, UPDATE.  If
10133         non-nil, the list is printed by only adding and deleting the
10134         changed entries, instead of erasing the whole buffer.  This method
10135         is much faster when few or no entries have changed.
10136         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
10137         * etc/NEWS: Document it.
10139         * lisp/emacs-lisp/tabulated-list.el: Improve printing
10140         (tabulated-list--get-sorter): New function.
10141         (tabulated-list-print): Restore window-line when remember-pos is
10142         passed and optimize away the `nreverse'.
10144 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
10146         Simpilify etags TEX mode scanning
10147         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
10148         Remove static vars.
10149         (TeX_commands): Deduce escapes here instead.
10150         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
10151         This removes the need for a reset_input call.
10153         Improve etags I/O error reporting
10154         * lib-src/etags.c:
10155         Don't include sys/types.h and sys/stat.h; no longer needed.
10156         (infilename): New static var.
10157         (process_file_name): Don't call 'stat'.  Instead, just open the
10158         file for reading and report any errors.  Don't bother making
10159         a copy of the file argument; it's not needed.  Be more careful to
10160         use the failing errno when reporting an error.
10161         Quote the real name better (though no perfectly)
10162         when passing it to the shell.
10163         (reset_input): New function, which reports I/O errors.
10164         All uses of 'rewind' changed to use this function.
10165         (perhaps_more_input): New function, which also checks for
10166         I/O errors.  All uses of 'feof' changed to use this function.
10167         (analyze_regex): Report an error if fclose fails.
10168         (readline_internal): Report an error if getc fails.
10169         (etags_mktmp): Return an error if close fails.
10171         etags.c: avoid side effects in 'if'
10172         * lib-src/etags.c (process_file_name, Perl_functions)
10173         (TEX_decode_env): Hoist side effects into previous statement.
10175         .gitignore tweaks
10176         * .gitignore: Ignore all *.stamp files.  Sort.
10177         Ignore [0-9]*.txt (commonly used name for git patches)
10178         and /vc-dwim-log-* (vc-dwim temporary).
10180 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
10182         Fix last change in etags.c, which failed the test suite
10183         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
10184         before the last change.
10186 2015-05-23  Glenn Morris  <rgm@gnu.org>
10188         Remove charset map files from repository, generate in first bootstrap
10189         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
10190         (all): Create the stamp file.
10191         (extraclean): Delete the stamp file.
10192         * src/Makefile.in (lispintdir, charsets): New variables.
10193         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
10194         New rules.
10195         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
10196         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
10197         * etc/charsets/*.map: Remove from repository.
10199 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
10201         Cleanup etags.c to use locale-independent code
10202         Although this doesn't alter behavior (as etags doesn't use
10203         setlocale), the new version is more clearly locale-independent and
10204         the executable is a bit smaller on my platform.
10205         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
10206         Include <c-ctype.h> instead of <ctype.h>.
10207         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
10208         (begtk, midtk):
10209         Remove; no longer needed.
10210         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
10211         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
10212         c_islower, c_tolower, respectively.
10213         (notinname, begtoken, intoken, endtoken): Rewrite as functions
10214         instead of macros, and initialize the tables at compile-time
10215         rather than at run-time.
10217         Put default action first in src/Makefile
10218         * src/Makefile.in (all): Put this rule before lisp.mk.
10219         That way, plain 'make' works in the src directory again.
10221 2015-05-23  Glenn Morris  <rgm@gnu.org>
10223         * Makefile.in: Fix extraclean rule.
10224         (extraclean_dirs): New.
10225         (extraclean): Use it.
10227 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
10229         Avoid compiler warning in image.c on MS-Windows
10230         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
10231         warning in image.c.
10233 2015-05-23  Glenn Morris  <rgm@gnu.org>
10235         Fix --without-toolkit-scroll-bars builds.
10236         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
10237         Add new argument to x_clear_area1.
10238         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
10239         Update x_clear_area arguments.
10241         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
10242         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
10243         Change to included version.
10244         (LOCAL, local, totalclean): Remove.
10245         (extraclean): Delete all generated files.
10247 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
10249         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
10251         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
10253         tags-completion-at-point-function: Don't trust the find-tag function
10254         * lisp/progmodes/etags.el (tags-completion-at-point-function):
10255         Don't trust the find-tag function.
10257 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
10259         Pacify --enable-gcc-warnings
10260         * src/frame.h (x_query_color): Remove redundant extern decl.
10261         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
10262         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
10263         (ftcrfont_text_extents, ftcrfont_draw):
10264         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
10265         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
10266         (x_ins_del_lines, frame_highlight, frame_unhighlight)
10267         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
10268         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
10269         (x_update_window_begin, x_connection_closed)
10270         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
10271         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
10272         (*x_gc_get_ext_data, x_extension_initialize)
10273         (x_cr_accumulate_data):
10274         Remove redundant static decl.  Many of these GCC doesn't complain
10275         about, but we might as well clean out the duplication while we're
10276         in the neighborhood.
10277         * src/xterm.c (x_fill_trapezoid_for_relief):
10278         Remove decl of nonexistent function.
10280 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
10282         Replace gui-method macros with cl-generic with &context
10283         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
10284         (gui-method-declare, gui-call): Remove.
10285         (frame-creation-function): Use cl-defgeneric.
10286         (make-frame): Adjust callers.
10287         * lisp/menu-bar.el (menu-bar-edit-menu):
10288         Use gui-backend-selection-exists-p.
10289         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
10290         (gui-backend-get-selection): New cl-generic to replace
10291         gui-get-selection method.
10292         (gui-backend-set-selection): New cl-generic to replace
10293         gui-set-selection method.
10294         (gui-selection-owner-p): New cl-generic to replace
10295         gui-selection-owner-p method.
10296         (gui-backend-selection-exists-p): New cl-generic to replace
10297         gui-selection-exists-p method.  Adjust all callers.
10298         * lisp/server.el (server-create-window-system-frame): Don't ignore
10299         window-system spec even when unsupported.
10300         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
10301         * lisp/startup.el (handle-args-function, window-system-initialization):
10302         Use cl-defgeneric.
10303         (command-line): Adjust calls accordingly.
10304         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
10305         a window-system-initialization method.
10306         (handle-args-function, frame-creation-function): Use cl-defmethod.
10307         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
10308         (gui-get-selection): Use cl-defmethod on the new functions instead.
10309         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
10310         a gui-backend-get-selection method.
10311         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
10312         Use cl-defmethod on the new functions instead.
10313         (msdos-window-system-initialization): Turn into
10314         a window-system-initialization method.
10315         (frame-creation-function, handle-args-function): Use cl-defmethod.
10316         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
10317         a window-system-initialization method.
10318         (handle-args-function, frame-creation-function): Use cl-defmethod.
10319         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
10320         (gui-get-selection): Use cl-defmethod on the new functions instead.
10321         * lisp/term/x-win.el (x-window-system-initialization): Turn into
10322         a window-system-initialization method.
10323         (handle-args-function, frame-creation-function): Use cl-defmethod.
10324         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
10325         (gui-get-selection): Use cl-defmethod on the new functions instead.
10326         * lisp/term/xterm.el (xterm--set-selection): Turn into
10327         a gui-backend-set-selection method.
10328         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
10329         (Fns_selection_owner_p): Remove unused arg `terminal'.
10330         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
10332 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
10334         Revert "Fix etags Bug#20629 that broke C++ support."
10335         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
10337 2015-05-23  Jan D  <jan.h.d@swipnet.se>
10339         Fix etags Bug#20629 that broke C++ support.
10340         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
10341         from Sun May 10 (Bug#20629).
10343         Merge branch 'cairo'.
10344         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
10345         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
10347         Merge branch 'master' into cairo
10349         Fixes to compile cairo branch without cairo.
10350         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
10351         first argument.
10352         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
10353         USE_CAIRO.
10355 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
10357         * lisp/emacs-lisp/package.el: Always update selected-packages
10358         (package--update-selected-packages): New function.
10359         (package-menu-execute): Use it before starting the transaction,
10360         this way the list of selected packages is updated even when the
10361         transaction fails.
10362         (package-menu--perform-transaction): Don't edit selected-packages.
10364 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
10366         Fix etags reading of compressed files
10367         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
10368         Include fcntl.h, for O_CLOEXEC.
10369         (process_file_name): Don't use 'popen', whose streams cannot be
10370         rewound.  Instead, uncompress the file to a temporary file,
10371         created by 'etags_mktmp', and read from that as usual.
10372         (etags_mktmp): New function.
10373         * test/etags/ETAGS.good_1:
10374         * test/etags/ETAGS.good_2:
10375         * test/etags/ETAGS.good_3:
10376         * test/etags/ETAGS.good_4:
10377         * test/etags/ETAGS.good_5: Update to be consistent with latest
10378         changes in etags.c regarding reading compressed files.
10380         Improve documentation of 'set-fontset-font'
10381         * doc/lispref/display.texi (Fontsets): Document the value of nil
10382         for the 3rd argument of 'set-fontset-font'.
10384         Fix documentation of forward-line
10385         * src/cmds.c (Fforward_line): Clarify the return value if the line
10386         at end of accessible portion of the buffer has no newline.
10387         * doc/lispref/positions.texi (Text Lines): Document what happens
10388         if the line at end of accessible portion of buffer has no newline.
10389         (Bug#20587)
10391 2015-05-22  Glenn Morris  <rgm@gnu.org>
10393         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
10395         * admin/charsets/mapconv (LC_ALL): Set to C.
10397         * Makefile.in: Add admin/charsets into top-level clean rules.
10398         (clean): Add admin/charsets.
10399         (maybeclean_dirs): New variable.
10400         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
10402         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
10404 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
10406         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
10408 2015-05-22  Glenn Morris  <rgm@gnu.org>
10410         Generate admin/charsets Makefile via configure, and make more portable.
10411         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
10412         (admin/charsets/Makefile): Generate it.
10413         * admin/charsets/Makefile.in: Rename from Makefile.
10414         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
10415         New variables, set by configure.
10416         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
10417         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
10418         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
10419         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
10420         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
10421         (all): Declare PHONY.
10422         (local): New PHONY target.
10423         (map_template): New template.  Use to define short PHONY aliases.
10424         (*.map): Add directory prefixes to targets and prerequisites.
10425         Respect make verbosity.
10426         (JISC6226.map): Replace non-portable sed append without newline.
10427         (install): Remove rule.
10428         (clean): Only delete temporary sedscript.
10429         (bootstrap-clean, distclean, maintainer-clean, extraclean)
10430         (totalclean): New PHONY rules.
10431         * admin/charsets/mapconv (BASE): Replace basename with expr.
10432         (FILE): Add "mapfiles" subdirectory.
10433         (AWK): New variable.  Use throughout in place of "awk".
10434         (main): Use "gunzip -c" in place of "zcat".
10435         Don't leave whitespace before "p", for older sed.
10436         * admin/charsets/mapfiles/PTCP154: Add final newline,
10437         to make older sed versions happy.
10439 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
10441         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
10442         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
10443         (auto-revert-notify-watch-descriptor): Use defvar-local.
10444         (find-file-hook, auto-revert-tail-mode, )
10445         (auto-revert-notify-add-watch): Use setq-local.
10446         (auto-revert-notify-add-watch): Don't call make-local-variable on
10447         kill-buffer-hook (bug#20601).
10449 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
10451         Change defgeneric so it doesn't completely redefine the function
10452         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
10453         previously defined methods.
10454         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
10455         (cl--generic-prefill-dispatchers): Only define during compilation.
10456         (cl-method-qualifiers): Remove redundant alias.
10457         (help-fns-short-filename): Silence byte-compiler.
10458         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
10460 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
10462         (package-menu-execute): Remove reference to remove-dups
10464 2015-05-21  kwhite  <kwhite@gnu.org>
10466         * lisp/erc/erc.el: Hide network/channel messages
10467         (erc-network-hide-list, etc-channel-hide-list): New lists to define
10468         message types per network/channel.
10469         (erc-add-targets): New function to parse list of targets
10470         (erc-hide-current-message-p): Modified to check for new targets
10472 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
10474         Don't quote nil and t in doc strings
10475         This is as per "Tips for Documentation Strings" in the elisp manual.
10476         For consistency, do the same in diagnostics and comments.
10478 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
10480         Fix a minor problem with mouse-face on mode line
10481         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
10482         mouse face also if the mouse pointer hovers above mode-line glyphs
10483         that don't come from any Lisp string.  (Bug#20620)
10485 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
10487         * lisp/emacs-lisp/package.el: Fix selected-package logic
10488         (package-menu-execute): Mark as selected all non-upgrade packages
10489         being installed.
10490         (package-menu--perform-transaction): Don't mark anything.
10492         * lisp/emacs-lisp/package.el: Mode-line progress report
10493         (package-menu--transaction-status): New variable.
10494         (package-menu-mode, package-menu--perform-transaction): Use it.
10496         * lisp/emacs-lisp/package.el: Better transaction messages
10497         (package-menu--partition-transaction): New function.
10498         (package-menu--prompt-transaction-p, package-menu-execute): Use
10499         it.
10500         (package-menu--perform-transaction): Don't do any messaging.
10502         * lisp/emacs-lisp/package.el: Revert async package transactions
10503         (package-menu-async): Update doc.
10504         (package-install-from-archive, package-download-transaction)
10505         (package-install, package-menu--perform-transaction)
10506         (package-menu-execute): Remove asynchronous functionality.
10508 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
10510         Revert doc string changes to f90.el
10511         Problem reported by Glenn Morris in:
10512         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
10513         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
10514         Revert recent changes to doc strings, as it's intended that they
10515         use grave accent, not quote.
10517 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
10519         Improve parameter name
10521         Add new inline function `hash-table-empty-p'
10523 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
10525         Don't require help-fns when not needed
10526         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
10527         * lisp/emacs-lisp/elint.el:
10528         Don't require help-fns at the top level.
10529         * lisp/emacs-lisp/advice.el (ad-arglist):
10530         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
10531         Don't require help-fns.  (Bug#17001)
10533 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
10535         Fix slash collapsing in etags on MS-Windows
10536         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
10537         MS-Windows code from the Posix code, and support collapsing both
10538         forward- and back-slashes on MS-Windows.  Fixes a regression found
10539         by the test suite.
10541         Improve documentation of glyphless-char-display
10542         * doc/lispref/display.texi (Glyphless Chars): Improve
10543         documentation of glyphless character display.
10545         Fix "acronym" display of glyphless characters on w32
10546         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
10547         ignore "acronym" substitutes of 1 character for glyphless characters.
10549 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
10551         Add an automated test for let-when-compile
10552         * test/automated/subr-tests.el (let-when-compile): New test.
10554         Add let-when-compile macro instead of using pcase-let
10555         * lisp/subr.el (let-when-compile): New let-like macro that makes its
10556         bindings known to macros like `eval-when-compile' in the body.
10557         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
10558           `let-when-compile'. Also comment out the unused lexical var
10559           `el-kws-re'.
10560         The change greatly improves readability, while providing almost the
10561         same (even shorter) byte code: instead of pre-evaluating 10 variables,
10562         tossing them into a list, and destructuring that list a full screen
10563         page later, the variables are simply bound as they are evaluated,
10564         wrapped individually in `eval-when-compile'.
10566 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
10568         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
10569         (package-delete-button-action): New function.
10570         (describe-package-1): Add Delete button.
10572         * lisp/emacs-lisp/package.el: Better dependency description
10573         (package--used-elsewhere-p): New optional arg, ALL, and return
10574         package-desc objects instead of names.
10575         (package-delete): Update accordingly.
10576         (describe-package-1): Describe which packages require the package.
10578 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
10580         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
10581         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
10582         Fix doc-string (Bug#20533).
10584         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
10585         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
10586         (switch-to-buffer): If the selected window is strongly dedicated
10587         to its buffer, signal error before prompting for buffer name.  Handle
10588         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
10589         * doc/lispref/windows.texi (Switching Buffers): Document
10590         `switch-to-buffer-in-dedicated-window'.
10592 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10594         Prefer "this" to “this” in doc strings
10595         This mostly just straightens quotes introduced in my previous patch.
10596         Suggested by Dmitry Gutov in:
10597         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
10598         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
10599         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
10600         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
10601         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
10602         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
10603         Prefer straight double quotes to curved double quotes in doc strings.
10605         Fix minor quoting problems in doc strings
10606         These were glitches regardless of how or whether we tackle the
10607         problem of grave accent in doc strings.
10608         * lisp/calc/calc-aent.el (math-restore-placeholders):
10609         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
10610         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
10611         * lisp/leim/quail/hebrew.el ("hebrew-new")
10612         ("hebrew-biblical-sil"):
10613         * lisp/leim/quail/thai.el ("thai-kesmanee"):
10614         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
10615         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
10616         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
10617         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
10618         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
10619         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
10620         (semantic-tag-components):
10621         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
10622         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
10623         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
10624         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
10625         * lisp/emacs-lisp/generator.el (iter-next):
10626         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
10627         (gnus-article-mode-syntax-table):
10628         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
10629         * lisp/net/soap-client.el (soap-wsdl-get):
10630         * lisp/net/telnet.el (telnet-mode):
10631         * lisp/org/org-compat.el (org-number-sequence):
10632         * lisp/org/org.el (org-remove-highlights-with-change)
10633         (org-structure-template-alist):
10634         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
10635         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
10636         (handwrite-12pt, handwrite-13pt):
10637         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
10638         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
10639         * lisp/progmodes/verilog-mode.el (verilog-tool)
10640         (verilog-string-replace-matches, verilog-preprocess)
10641         (verilog-auto-insert-lisp, verilog-auto-insert-last):
10642         * lisp/textmodes/makeinfo.el (makeinfo-options):
10643         * src/font.c (Ffont_spec):
10644         Fix minor quoting problems in doc strings, e.g., missing quote,
10645         ``x'' where `x' was meant, etc.
10646         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
10647         Fix minor quoting problem in other string.
10648         * lisp/leim/quail/ethiopic.el ("ethiopic"):
10649         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
10650         Omit unnecessary quotes.
10651         * lisp/faces.el (set-face-attribute, set-face-underline)
10652         (set-face-inverse-video, x-create-frame-with-faces):
10653         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
10654         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
10655         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
10656         * lisp/net/tramp.el (tramp-methods):
10657         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
10658         * lisp/textmodes/artist.el (artist-ellipse-right-char)
10659         (artist-ellipse-left-char, artist-vaporize-fuzziness)
10660         (artist-spray-chars, artist-mode, artist-replace-string)
10661         (artist-put-pixel, artist-text-see-thru):
10662         * lisp/vc/ediff-util.el (ediff-submit-report):
10663         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
10664         Use double-quotes rather than TeX markup in doc strings.
10665         * lisp/skeleton.el (skeleton-pair-insert-maybe):
10666         Reword to avoid the need for grave accent and apostrophe.
10667         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
10668         Don't use grave and acute accents to quote.
10670 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
10672         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
10674 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10676         Try to port new etags tests to MS-Windows
10677         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
10678         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
10679         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
10680         Adjust to test-case changes below.
10681         * test/etags/Makefile (CSRC): Remove dostorture.c.
10682         Whatever it was trying to test, wasn't working portably.
10683         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
10684         just a line-ending problem.
10685         * test/etags/c-src/dostorture.c: Remove.
10686         * test/etags/cp-src/c.C: Remove stray CR.
10687         * test/etags/html-src/algrthms.html: Remove trailing CRs.
10688         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
10689         but if someone edits it later it should stay UTF-8-compatible.
10691 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
10693         Fix display of overlapping window-specific overlays
10694         * src/keyboard.c (adjust_point_for_property): When adjusting point
10695         due to display strings, ignore overlays that are specific to
10696         windows other than the currently selected one.
10697         * src/xdisp.c (handle_single_display_spec): If the display
10698         property comes from an overlay, arrange for buffer iteration to
10699         resume only after the end of that overlay.  (Bug#20607)
10701 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
10703         New command icomplete-force-complete-and-exit
10704         * lisp/icomplete.el (icomplete-force-complete-and-exit):
10705         New command
10706         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
10707         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
10708         (icomplete-minibuffer-map): Bind C-j to it.
10709         (icomplete-forward-completions, icomplete-backward-completions):
10710         Mention the new command in the docstring.
10711         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
10712         the previous fix for bug#17545.
10714 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
10716         Fix last commit
10718         In Elisp manual explain how to override window manager positioning (Bug#20552)
10719         * doc/lispref/frames.texi (Position Parameters): Give example of
10720         how to override a window manager positioning decision.
10722         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
10723         * src/frame.c (Fdelete_frame): In doc-string mention that frame
10724         can't be deleted if it has a surrogate minibuffer.
10725         * doc/lispref/frames.texi (Minibuffers and Frames)
10726         (Deleting Frames): Explain "surrogate minibuffer frames".
10728         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
10729         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
10731 2015-05-18  Glenn Morris  <rgm@gnu.org>
10733         Add option to ignore commit lines matching a pattern in ChangeLog.
10734         * build-aux/gitlog-to-changelog: Add --ignore-line option.
10735         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
10737 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
10739         Don't skip new etags tests on non-UTF-8 hosts
10740         Problem reported by Eli Zaretskii for MS-Windows.
10741         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
10742         (LC_ALL): Set to C if the current locale isn't UTF-8.
10743         (.PHONY): Remove ediff_1 thru ediff_5.
10744         (check): Always run.
10746 2015-05-18  Glenn Morris  <rgm@gnu.org>
10748         * lisp/calculator.el (calculator-funcall):
10749         * lisp/textmodes/artist.el (artist-spray-random-points):
10750         Use standard degree/radian conversion utilities.
10752         Further lisp-complete-symbol related cleanup.
10753         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
10754         Unadvertise non-functional argument.  Replace obsolete alias.
10756 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
10758         Add a test case for Maven warning ouput
10759         * test/automated/compile-tests.el
10760         (compile-tests--test-regexps-data): Add a case for Maven warning
10761         ouput.
10762         (compile--test-error-line): Check the compilation message type, if
10763         it's specified in the test data.
10765 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
10767         Update Maven compilation-mode entry to distinguish warnings
10768         * lisp/progmodes/compile.el
10769         (compilation-error-regexp-alist-alist): Update Maven entry to
10770         distinguish warnings (bug#20556).
10772 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
10774         * test/automated/sgml-mode-tests.el: New file.
10776 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
10778         Improve handling of the first Git revision
10779         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
10780         there's no next entry, delete until the end of the buffer.
10781         (log-view-end-of-defun-1): Stop at eob.
10782         * lisp/vc/vc-annotate.el
10783         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
10784         when previous-revision is nil.
10785         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
10786         with `--' to avoid ambiguity.
10787         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
10788         returned revision string.
10789         (vc-git-annotate-time): Expect `^' before the first revision.
10790         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
10791         REV1 is nil, and REV2 is not.
10792         * lisp/vc/vc.el: Update the description of the `diff' function.
10794 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
10796         Allow checkdoc to be called in batch
10797         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
10798           is non-nil, echo the error with `warn'.
10799         How it can be used in -batch:
10800         (with-current-buffer (find-file "checkdoc.el")
10801           (checkdoc-current-buffer t))
10803 2015-05-18  Glenn Morris  <rgm@gnu.org>
10805         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
10807 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10809         * admin/notes/unicode: New section "binary files".
10811         Change new etags test to use UTF-8 encoding
10812         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
10813         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
10814         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
10815         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
10816         * test/etags/html-src/softwarelibero.html:
10817         Switch to UTF-8 encoding.
10818         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
10819         Remove Makefile, as it's too incestuous to have the test input
10820         include the build procedure.
10821         (UTF8_LOCALE, UTF_ENCODING): New macros.
10822         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
10823         (check): Skip if not UTF-8.
10824         (.PHONY): New rule.
10825         (FRC): Remove, as superseded by .PHONY.  All uses removed.
10826         (regexfile): Prefer printf to echo when outputting oddball chars.
10827         (.PRECIOUS): Remove, as these files are not built.
10829         Rename 'foo-gzipped' to 'foo.gz'
10830         * test/automated/data/decompress/foo.gz:
10831         Rename from test/automated/data/decompress/foo-gzipped,
10832         to make it easier for other tools to tell that it's compressed.
10833         * test/automated/zlib-tests.el (zlib--decompress):
10834         Adjust to renamed file.
10836 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
10838         Set up default-directory
10839         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
10840         binding for `v'.
10841         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
10842         appropriate value for default-directory.
10844 2015-05-17  Samer Masterson  <samer@samertm.com>
10846         * lisp/eshell/em-term.el (eshell-term-sentinel):
10847         No-op by default, only kills term buffer if
10848         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
10849         (eshell-destroy-buffer-when-process-dies): New custom to preserve
10850         previous behavior.
10852         eshell: Introduce new buffer syntax
10853         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
10854         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
10855         needed (Bug#19319).
10856         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
10857         (eshell-get-target): Remove shorthand-specific code.
10858         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
10859         '#<buffer-name>'.
10861 2015-05-17  Jan D  <jan.h.d@swipnet.se>
10863         Merge branch 'master' into cairo
10865 2015-04-26  Jan D  <jan.h.d@swipnet.se>
10867         Merge branch 'master' into cairo
10869         Add PBM support for cairo.
10870         * src/image.c (xcolor_to_argb32): New function.
10871         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
10872         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
10873         XImagePtr if ! USE_CAIRO.
10874         (pbm_load): Add cairo support.
10876 2015-04-12  Jan D  <jan.h.d@swipnet.se>
10878         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
10879         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
10880         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
10881         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
10882         x_free_cr_resources.
10884         Handle specified bg in images.  Use generic libpng code for PNG:s.
10885         * src/image.c (get_spec_bg_or_alpha_as_argb)
10886         (create_cairo_image_surface): New functions when USE_CAIRO.
10887         (xpm_load): Call the above functions.  Handle XPM without mask
10888         when USE_CAIRO.
10889         (png_load_body): Handle USE_CAIRO case.
10890         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
10891         instead.
10892         (jpeg_load_body): Call create_cairo_image_surface.
10893         (gif_load, svg_load_image): Handle specified background, call
10894         create_cairo_image_surface.
10895         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
10897 2015-04-11  Jan D  <jan.h.d@swipnet.se>
10899         Support GIF and Tiff with cairo.
10900         * configure.ac: Allow jpeg with cairo.
10901         Allow tiff and gif with cairo.
10902         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
10903         (tiff_load): Create cairo image surface if USE_CAIRO.
10904         (gif_load): Ditto.
10906         Support JPEG with USE_CAIRO.
10907         * configure.ac: Allow jpeg with cairo.
10908         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
10910 2015-04-05  Jan D  <jan.h.d@swipnet.se>
10912         Support RSVG and cairo.
10913         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
10914         * src/dispextern.h (struct image): add cr_data2 if cairo.
10915         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
10916         (x_clear_image): Free cr_data and cr_data2 if set.
10917         (xpm_load): Assign data to cr_data2.
10918         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
10920 2015-04-03  Jan D  <jan.h.d@swipnet.se>
10922         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
10923         * configure.ac (HAVE_RSVG): Move after cairo.
10924         (USE_CAIRO): Disable rsvg, don't disable Xpm.
10925         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
10926         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
10927         don't return early.
10928         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
10929         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
10930         and create a surface.
10932         Tool tips for menus did not show any text.
10933         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
10934         tip frames, the geometry may be wrong.
10936         Merge branch 'master' into cairo, fixes tooltips not shown.
10938         Merge branch 'master' into cairo
10940         Add CAIRO_CFLAGS to lwlib/Makefile.in
10941         * Makefile.in (CAIRO_CFLAGS): Add.
10943 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10945         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
10947 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10949         Draw outermost line using black relief and erase corners also for cairo.
10950         * xterm.c [USE_CAIRO]: Include math.h.
10951         (enum corners) [USE_CAIRO]: New enum.
10952         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
10953         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
10954         than 1, draw the outermost line using the black relief.
10956         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
10958 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10960         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
10962         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
10964         Use int instead of unsigned int for width and height args.
10965         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
10966         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
10967         width and height args.
10969         Modernize k&r cairo-related function declarations.
10970         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
10971         (xg_print_frames_dialog): Modernize k&r declarations.
10972         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
10973         (Fx_print_frames_dialog): Modernize k&r declarations.
10974         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
10975         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
10976         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
10977         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
10978         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
10979         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
10980         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
10981         (x_clear_area): Modernize k&r declarations.
10983         Implement wave-style variant of underlining for cairo.
10984         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
10985         (x_draw_underwave) [USE_CAIRO]: Use it.
10987         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
10989 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10991         Fix fringe bitmap initialization for cairo.
10992         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
10993         cairo image surface.
10994         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
10996 2015-02-11  Jan D  <jan.h.d@swipnet.se>
10998         Add cairo drawing.
10999         * configure.ac (with-cairo): New option.
11000         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
11001         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
11002         Output "Does Emacs use cairo?".
11003         * lisp/version.el (emacs-version): Add cairo version.
11004         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
11005         (FONT_OBJ): Add comment about ftcrfont.
11006         (ALL_CFLAGS): Add CAIRO_CFLAGS.
11007         (LIBES): Add CAIRO_LIBS.
11008         * src/dispextern.h (struct image): Add cr_data for cairo.
11009         (x_cr_init_fringe): Declare.
11010         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
11011         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
11012         * src/fringe.c (x_cr_init_fringe): New function name that shares code
11013         with w32_init_fringe.
11014         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
11015         * src/ftfont.c (ftfont_info_size); New global variable.
11016         (ftfont_open2): New extern function almost the same as old ftfont_open,
11017         but takes the font_object as argument.
11018         (ftfont_open): Build font object and call ftfont_open2.
11019         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
11020         * src/gtkutil.c (xg_clear_under_internal_border)
11021         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
11022         queue_draw if not cairo.  Change args to x_clear_area.
11023         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
11024         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
11025         (xg_print_frames_dialog): New functions for printing.
11026         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
11027         (xg_print_frames_dialog): Declare.
11028         * src/image.c: Add defined (USE_CAIRO) for PNG.
11029         Add !defined USE_CAIRO for W32 PNG code.
11030         (x_clear_image): If cairo, destroy the surface in cr_data.
11031         (png_load): Add new cairo compatible implementation.
11032         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
11033         * src/xfns.c: New section Printing.
11034         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
11035         (x-print-frames-dialog): New printing functions.
11036         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
11037         cairo.
11038         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
11039         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
11040         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
11041         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
11042         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
11043         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
11044         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
11045         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
11046         Declare.
11047         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
11048         (max_fringe_bmp, fringe_bmp): New variables.
11049         (x_gc_get_ext_data, x_extension_initialize)
11050         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
11051         (x_set_cr_source_with_gc_foreground)
11052         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
11053         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
11054         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
11055         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
11056         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
11057         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
11058         (x_update_begin): Create cairo surface if needed.
11059         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
11060         (x_update_end): Paint cairo drawing surface to xlib surface.
11061         (x_clear_under_internal_border, x_after_update_window_line): Adjust
11062         arguments to x_clear_area.
11063         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
11064         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
11065         of XSetClipMask.
11066         (x_set_glyph_string_clipping)
11067         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
11068         instead of XSetClipRectangles.
11069         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
11070         x_fill_rectangle instead of XFillRectangle.
11071         (x_draw_glyph_string_foreground)
11072         (x_draw_composite_glyph_string_foreground)
11073         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
11074         of XDrawRectangle.
11075         (x_draw_relief_rect): Add code for USE_CAIRO.
11076         Call x_reset_clip_rectangles instead of XSetClipMask.
11077         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
11078         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
11079         instead of XSetClipMask.
11080         (x_draw_image_foreground, x_draw_image_foreground_1):
11081         x_draw_rectangle instead of XDrawRectangle.
11082         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
11083         XFillRectangle.
11084         (x_draw_image_glyph_string): If img has cr_data, use it as
11085         a cairo surface.
11086         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
11087         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
11088         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
11089         x_reset_clip_rectangles instead of XSetClipMask.
11090         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
11091         (x_clear_area1): New function that calls XClearArea.
11092         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
11093         non-cairo.
11094         (x_clear_frame): x_clear_window instead of XClearWindow.
11095         (x_scroll_run): Set frame garbaged if cairo.
11096         (XTmouse_position): Initialize *part to 0.
11097         (x_scroll_bar_create): Adjust arguments to x_clear_area.
11098         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
11099         x_fill_rectangle instead of XFillRectangle.
11100         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
11101         arguments to x_clear_area.
11102         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
11103         (handle_one_xevent): Adjust arguments to x_clear_area.
11104         Destroy cairo surface for frame if ConfigureNotify.
11105         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
11106         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
11107         x_reset_clip_rectangles instead of XSetClipMask.
11108         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
11109         x_reset_clip_rectangles instead of XSetClipMask.
11110         (x_clear_frame_area): Adjust arguments to x_clear_area.
11111         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
11112         (x_term_init): Call x_extension_initialize if cairo.
11113         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
11114         x_cr_destroy_fringe_bitmap for cairo.
11115         (x_initialize): Call x_cr_init_fringe for cairo.
11116         * src/xterm.h: Add include of cairo header files.
11117         (x_bitmap_record): Add img if cairo.
11118         (x_gc_ext_data): New struct for cairo.
11119         (x_display_info): Add ext_codes for cairo.
11120         (x_output): Add cr_context and cr_surface for cairo.
11121         (x_clear_area): Change arguments from Display*/Window to frame pointer.
11122         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
11123         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
11124         (x_cr_draw_frame, x_cr_export_frames): Declare.
11126 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
11128         Fix integer-valued `mouse-highlight' (Bug#20590)
11129         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
11131 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
11133         MS-Windows followup for ASCIIfication of curved quotes
11134         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
11135         test for curved quotes being displayable, after switching the
11136         terminal encoding.  (Bug#20545)
11138 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11140         Spelling fixes
11142 2015-05-17  Jan D  <jan.h.d@swipnet.se>
11144         Add comment that x_shift_glyphs_for_insert is never called.
11145         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
11146         comment that this function is never called.
11148 2015-05-16  Glenn Morris  <rgm@gnu.org>
11150         * src/lisp.mk: Remove from repository and generate at build-time.
11151         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
11152         (shortlisp_filter): New variable.
11153         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
11154         (distclean): Remove lisp.mk.
11155         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
11156         * lisp/loadup.el: Tweak layout to make it easier to parse.
11157         * make-dist: Do not distribute src/lisp.mk.
11159 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
11161         Display shorter dates in Git annotate output
11162         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
11163         format (when not overridden with vc-git-annotate-switches).
11164         (vc-git-annotate-time): Support the short format, as well as ISO
11165         8601 that has been used until now (bug#5428).
11167 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
11169         ASCIIfy curved quotes on displays lacking them
11170         * lisp/international/mule-cmds.el (set-locale-environment):
11171         If curved quotes don't work, display straight ASCII approximations
11172         (Bug#20545).
11174 2015-05-16  Glenn Morris  <rgm@gnu.org>
11176         Small src/Makefile simplification.
11177         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
11178         * src/Makefile.in (lisp): Derive from shortlisp.
11179         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
11181 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
11183         * lisp/help-mode.el (help-go-forward): Doc fix.
11184         (Bug#20577)
11186         * doc/lispref/debugging.texi (Profiling): Improve indexing.
11187         (Bug#20576)
11189 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
11191         Use `unless' to have one fewer `not'
11192         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
11193         have one fewer `not'.
11195         Remove redundant :group declarations from vc-git.el
11196         * lisp/vc/vc-git.el (vc-git-diff-switches)
11197         (vc-git-annotate-switches, vc-git-resolve-conflicts)
11198         (vc-git-program, vc-git-root-log-format): Remove the redundant
11199         :group declarations.
11201 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
11203         Removes the predicate from lisp-complete-symbol (Bug#20456)
11204         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
11205         and remove it from the docstring.
11207 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
11209         Add new option vc-git-resolve-conflicts
11210         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
11211         (vc-git-find-file-hook): Add to after-save-hook only when the
11212         above is non-nil.
11213         (vc-git-resolve-when-done): Update to honor the new variable.
11214         (Bug#20292)
11216 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
11218         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
11219         (tabulated-list-init-header): Document new behavior.
11220         (tabulated-list-print-fake-header): No nothing if
11221         `tabulated-list--header-string' is nil.
11222         (tabulated-list--header-string): Add a docstring.
11223         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
11224         * etc/NEWS: Document it.
11226 2015-05-15  Leo Liu  <sdl.web@gmail.com>
11228         Revert "Fix cps--gensym"
11229         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
11230           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
11232 2015-05-15  Glenn Morris  <rgm@gnu.org>
11234         Replace AC_SUBST_FILE in configure with include in Makefiles.
11235         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
11236         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
11237         (AUTO_DEPEND): New output variable.
11238         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
11239         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
11240         (lwlib_deps_frag): Replace by conditional include.
11241         * lwlib/autodeps.mk: Remove file.
11242         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
11243         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
11244         (oldxmenu_deps_frag): Replace by conditional include.
11245         * oldXMenu/autodeps.mk: Remove file.
11246         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
11247         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
11248         (lisp_frag): Replace by an include.
11249         (deps_frag): Replace by conditional include.
11250         * src/autodeps.mk: Remove file.
11252         Tweak japanese.el's loading of dependencies.
11253         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
11254         * lisp/language/japanese.el: Use require rather than load.
11255         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
11256         Provide a feature.
11257         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
11258         Provide a feature in the generated file.
11260 2015-05-15  Jan D  <jan.h.d@swipnet.se>
11262         Fix NS warnings.
11263         * nsmenu.m (ns_popup_dialog)
11264         * nsimage.m (initFromXBM:width:height:fg:bg:)
11265         * nsfns.m (Fx_create_frame): Remove unused variables.
11266         (Fns_read_file_name): Initialize fname, remove ret.
11267         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
11268         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
11269         variable.
11270         (init): Add parantesis in if.
11271         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
11273 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
11275         Fix a enum conversion warning in macfont.m
11276         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
11277         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
11279 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
11281         Support de-alt dictionary with Aspell.
11282         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
11283         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
11285 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
11287         cus-start.el: Add ns-confirm-quit.
11288         * cus-start.el: Add ns-confirm-quit.
11290         Fix warnings on OSX 10.10.
11291         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
11292         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
11293         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
11294         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
11295         * nsimage.m (allocInitFromFile, setPixmapData): Only call
11296         setScalesWhenResized for OSX < 10.6.
11297         * nsterm.h (EmacsScroller): Declare scrollerWidth.
11298         * nsterm.m (ns_copy_bits): New function that does not use deprecated
11299         NSCopyBits.
11300         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
11301         (runAlertPanel): New function.
11302         (applicationShouldTerminate:): Call runAlertPanel.
11303         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
11304         for OSX < 10.10.
11305         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
11306         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
11307         (draggingEntered:): Returns NSDragOperation.
11308         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
11310 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
11312         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
11313         (package--init-file-ensured): New variable.
11314         (package-initialize, package--ensure-init-file): Use it.
11316 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
11318         Honor :fore/background for XBM on NS (Bug#14969).
11319         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
11320         initFromXBM takes bg, fg args, remove flip arg.
11321         (ns_image_from_XBM): Add bg, fg args.
11322         * image.c (x_create_bitmap_from_data)
11323         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
11324         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
11325         Remove flip arg.
11326         (initFromSkipXBM): Move code to initFromXBM.
11327         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
11328         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
11329         false.
11330         Remove bit flipping (bitPat, swt), generated incorrect images when
11331         width/height wasn't a multiple of 8.
11332         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
11333         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
11334         flip arg.
11336 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
11338         * lisp/emacs-lisp/package.el: Be more careful with the init file
11339         (package--ensure-init-file): Check that user-init-file is set,
11340         exists, is readable, and is writable.  (Bug#20584)
11341         Also expand the docstring.
11343 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
11345         Sync with upstream verilog-mode revision 6232468
11346         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
11347         (verilog-highlight-grouping-keywords): Fix use of face when
11348         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
11349         Pompa.
11350         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
11351         parent is reset, bug906. Reported by Ken Schmidt.
11352         (verilog-auto-inout-module): Add fourth regexp argument to
11353         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
11354         bug856. Reported by John Tillema.
11355         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
11356         modport if signal attachment is itself a modport.  Reported by
11357         Matthew Lovell.
11358         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
11359         always_comb and always_latch, bug844.  Reported by Greg Hilton.
11360         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
11361         with many curly-bracket pairs, bug663.
11362         (verilog-set-auto-endcomments): Fix end comments for functions of
11363         type void, etc.  Reported by Alex Reed.
11364         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
11365         caused by indent-line-to deleting tabls pre 24.5.
11366         (verilog-nameable-item-re): Fix nameable items that can have an
11367         end-identifier to include endchecker, endgroup, endprogram,
11368         endproperty, and endsequence.  Reported by Alex Reed.
11369         (verilog-label-be): When auto-commenting a buffer, consider
11370         auto-comments on all known keywords (not just a subset thereof).
11371         Reported by Alex Reed.
11372         (verilog-auto-end-comment-lines-re)
11373         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
11374         Automatically comment property/endproperty blocks to match other
11375         similar blocks like sequence/endsequence, function/endfunction,
11376         etc. Reported by Alex Reed.
11377         (verilog-set-auto-endcomments): Detect the function- or task-name
11378         when auto-commenting blocks that lack an explicit
11379         portlist. Reported by Alex Reed.
11380         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
11381         allow post-AUTO user fixups, bug826. Reported by Dennis
11382         Muhlestein.
11383         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
11384         is nil, fix indenting initial/final to match always statements,
11385         bug825. Reported by Tim Clapp.
11386         (verilog-extended-complete-re): Fix indentation of DPI-C imports
11387         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
11388         Mao and Jason Forkey.
11389         (verilog-read-decls): Fix parsing typed interfaces.  Fix
11390         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
11391         Fix localparam not being ignored in AUTOINSTPARAM,
11392         bug889. Reported by Shannon Hill.
11393         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
11394         bug793.  Reported by Pierre-David Pfister.
11395         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
11396         verilog-auto-arg-format to support newlines in AUTOARG. Reported
11397         by Jie Xiao.
11398         (verilog-batch-execute-func): Do not batch re-auto files loaded by
11399         Local Variables. Fix printing "no changes to be saved" with
11400         verilog-batch. Reported by Dan Dever.
11401         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
11402         interface-only modules, bug721.  Reported by Dean Hoyt.
11403         Author: Alex Reed <acreed4@gmail.com>
11404         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
11405         treat '<keyword>:<identifier>' as the start of a labeled
11406         statement, bug905.  Reported by Enzo Chi.
11407         (verilog-directive-re, verilog-compiler-directives)
11408         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
11409         directives (plus some extras) when determining indentation, bug
11410         901.  Reported by Bernd Beuster.
11411         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
11412         iff expression doesn't start with word-character, bug900.
11413         (verilog-optional-signed-range-re, verilog-optional-signed-re):
11414         Fix incorrect indentation/alignment of unsigned declarations,
11415         bug897.
11416         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
11417         always constructs, bug895.
11418         (verilog-calc-1): Fix verilog-mode constraint indentation,
11419         bug324. Reported by Eric Mastromarchi.
11420         (verilog-beg-of-statement): Fix indenting for some forms of
11421         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
11422         continued assignment incorrect if first line ends with ']',
11423         bug437. Reported by Dan Dever.  Fix indention of cover inside an
11424         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
11425         blocks, bug842.
11426         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
11427         bug859. Reported by Kaushal Modi.
11428         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
11429         (verilog-backward-token): Fix indenting sensitivity lists with
11430         named events, bug840.  Reed.
11431         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
11432         nil not honoring 'forever', 'foreach', and 'do' keywords.
11434 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11436         Check for invalid GTK+ monitor scales
11437         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
11438         INT_MAX for too-large scales.  All callers changed to assume the
11439         result is valid (Bug#20432).
11440         (xg_frame_set_char_size, xg_update_scrollbar_pos):
11441         Calculate scale only if needed.
11442         show ASCII approximations instead.
11444 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
11446         Fix daemon crashes when linum-mode is turned on early on
11447         * src/window.c (Fwindow_end): Don't try calling display engine
11448         functions on initial-frame frame.  (Bug#20565)
11450         Fix selective diff browsing in Ediff
11451         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
11452         beginning of the region before searching for the
11453         ediff-regexp-focus-* regexps.  (Bug#20568)
11455 2015-05-14  Jan D  <jan.h.d@swipnet.se>
11457         Fixes Bug#20142.
11458         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
11459         in the main loop, even for Gtk 3 (Bug#20142).
11461         Don't access display after i/o error (Bug#19147).
11462         * xterm.c (x_connection_closed): Add third arg ioerror.
11463         If ioerror, set display to 0 (Bug#19147).
11464         (x_error_quitter): Call x_connection_closed with third arg false.
11465         (x_io_error_quitter): Call x_connection_closed with third arg true.
11467         Handle GTK_SCALE, fixes Bug#20432.
11468         * gtkutil.c (xg_get_gdk_scale): New function.
11469         (xg_frame_set_char_size)
11470         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
11471         (xg_get_default_scrollbar_height)
11472         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
11473         when setting sizes (Bug#20432).
11475 2015-05-13  Leo Liu  <sdl.web@gmail.com>
11477         Fix cps--gensym
11478         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
11480 2015-05-13  Glenn Morris  <rgm@gnu.org>
11482         Fix bootstrap (void function cl-member).
11483         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
11484         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
11486 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11488         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
11489         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
11490         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
11491         Avoid defalias for closures which are not immutable.
11492         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
11493         dispatchers table with various entries.
11494         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
11495         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
11497 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
11499         Improve tagging of C bindings in DEFVAR_*
11500         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
11501         from DEFVAR_*.
11503 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11505         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
11507 2015-05-12  Glenn Morris  <rgm@gnu.org>
11509         * lisp/progmodes/tcl.el (tcl-filter):
11510         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
11512         Add basic VC push support.
11513         * lisp/vc/vc.el (vc-push): New autoloaded command.
11514         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
11515         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
11516         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
11517         (vc-bzr-push): New.
11518         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
11519         (vc-git-pull): Reimplement using vc-git--pushpull.
11520         (vc-git-push): New.
11521         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
11522         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
11523         * doc/emacs/maintaining.texi (Pulling / Pushing):
11524         Rename from "VC Pull".  Mention pushing.
11525         (VC With A Merging VCS, VC Change Log): Update xrefs.
11526         (Branches): Update menu.
11527         * doc/emacs/emacs.texi: Update menu.
11528         * etc/NEWS: Mention this.
11530 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
11532         Improve the seq pcase pattern and the `seq-let' macro
11533         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
11534         object is a sequence, and binds each element of ARGS to the
11535         corresponding element of the sequence.
11537 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
11539         Fix tags created from DEFVAR_* declarations in C
11540         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
11541         to make tags extracted from DEFVAR_* declarations more accurate.
11543         Add a test suite for etags
11544         * test/etags/: New test suite, adapted from
11545         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
11546         whose original author is Francesco Potortì <pot@gnu.org>.
11548         Fix tagging of symbols in C enumerations
11549         * lib-src/etags.c (consider_token): Don't tag symbols in
11550         expressions that assign values to enum constants.  See
11551         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
11552         for details.
11553         (C_entries): Reset fvdef to fvnone after processing a preprocessor
11554         conditional and after a comma outside of parentheses.
11556 2015-05-12  Glenn Morris  <rgm@gnu.org>
11558         * lisp/url/url-handlers.el (url-file-name-completion)
11559         (url-file-name-all-completions): Silence compiler.
11561         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
11563         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
11565 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
11567         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
11568         (cl--generic-mandatory-args): Remove.
11569         (cl--generic-split-args): New function.
11570         (cl-generic-define, cl--generic-lambda): Use it.
11571         (cl-generic-define-method): Use it as well, and add support for
11572         context args.
11573         (cl--generic-get-dispatcher): Handle &context dispatch.
11574         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
11575         (cl--generic-dispatchers): Pre-fill.
11576         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
11578 2015-05-11  Glenn Morris  <rgm@gnu.org>
11580         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
11582 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
11584         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
11585         * lisp/term/rxvt.el: Require term/xterm.
11586         (rxvt-function-map): Use xterm-rxvt-function-map.
11587         (rxvt-standard-colors): Move before first use.
11588         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
11589         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
11590         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
11591         Move shared bindings between rxvt and xterm to it.
11592         (xterm-function-map): Use it.  Move the xterm-paste binding to
11593         xterm-rxvt-function-map (bug#20444).
11594         (xterm-standard-colors): Move before first use.
11595         (xterm--push-map): New function.
11596         (xterm-register-default-colors): Take standard colors as argument.
11597         (terminal-init-xterm): Use it.  Adjust call to
11598         xterm-register-default-colors.
11600 2015-05-11  Glenn Morris  <rgm@gnu.org>
11602         * lisp/term/x-win.el: Quieten --without-x compilation.
11603         (x-own-selection-internal, x-disown-selection-internal)
11604         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
11605         Declare.
11607         * Makefile.in (emacslog): Remove srcdir.
11608         (ChangeLog): Update for the above.
11610 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
11612         Spelling fix
11614 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
11616         python.el: better limit for looking-back calls
11617         * lisp/progmodes/python.el (python-shell-accept-process-output):
11618         Use last comint prompt start as limit for looking-back.
11620 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
11622         CEDET (srecode-insert-fcn): Fix use of oref on a class
11623         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
11624         a class.  Reported by Pierre Lorenzon.
11625         (srecode-template-inserter-point): Remove declaration.
11627         CEDET (srecode-create-dictionary): Avoid obsolete object name
11628         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
11629         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
11631 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
11633         C-x 8 shorthands for curved quotes, Euro, etc.
11634         Although C-x 8 lets you insert arbitrary Unicode characters,
11635         it's awkward to use this to insert commonly used symbols such as curved
11636         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
11637         characters commonly found in English text and in basic math.
11638         For example, assuming the Alt key works on your keyboard and iso-transl
11639         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
11640         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
11641         (Bug#20499)
11642         * doc/emacs/mule.texi (Unibyte Mode):
11643         A few other printing characters now work too.
11644         * etc/NEWS: Document this.
11645         * lisp/international/iso-transl.el (iso-transl-char-map):
11646         Also support the following characters:
11647         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
11649 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
11651         Add xref-find-regexp
11652         * lisp/progmodes/xref.el (xref-find-function): Describe the
11653         `matches' action.
11654         (xref-find-regexp): New command, using it.
11655         (xref-collect-references): Rename to xref-collect-matches.
11656         (xref--collect-reference): Rename to xref--collect-match.
11657         (xref-collect-matches, xref--collect-match): Accept new argument,
11658         KIND.  Update accordingly.
11659         (xref--regexp-to-extended): New function.
11660         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
11661         `matches' action.
11662         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
11663         * lisp/progmodes/etags.el (etags-xref-find):
11664         Support the `matches' action.
11665         (etags--xref-find-matches): New function.
11667 2015-05-10  Glenn Morris  <rgm@gnu.org>
11669         * Makefile.in: Fixes for recent change-history changes.
11670         (change-history-nocommit): Update footer regexp.
11671         Ensure output script stays executable.
11673 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
11675         New version of `seq-let' based on a pcase pattern
11676         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
11677         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
11679 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
11681         Add basic HTML5 tags and a template
11682         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
11683         (html-tag-alist): Add HTML5 tags.
11684         (html-tag-help): Add new tags descriptions.
11685         (html-navigational-links): Template for nav links.
11686         (html-html5-template): Template for a HTML5 page.
11688 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
11690         semantic/symref/grep: Don't use word boundaries
11691         * lisp/cedet/semantic/symref/grep.el
11692         (semantic-symref-perform-search): Instead of wrapping input in
11693         word boundaries, check that the characters before and after are
11694         not word constituents.
11696         semantic/symref/grep: Support regexp search
11697         * lisp/cedet/semantic/symref.el
11698         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
11699         the search type is regexp.
11700         * lisp/cedet/semantic/symref/grep.el
11701         (semantic-symref-perform-search): Support the regexp search type.
11702         Pass -E to Grep when it's used.
11704         semantic-symref-regexp: Allow to input an arbitrary string
11705         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
11706         Allow to input an arbitrary string interactively.
11708         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
11709         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
11710         Remove tag-symbol-match-p from the default value
11711         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
11713         Declare find-tag obsolete
11714         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
11715         xref-find-definitions.
11717 2015-05-10  Jan D  <jan.h.d@swipnet.se>
11719         Draw composite string correctly (Bug#20537).
11720         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
11721         (ns_draw_glyph_string): Call it (Bug#20537).
11723 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
11725         Avoid infloop in ERC
11726         * lisp/simple.el (line-move-to-column): Ignore field boundaries
11727         while computing line beginning position.  (Bug#20498)
11729 2015-05-08  Glenn Morris  <rgm@gnu.org>
11731         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
11732         * build-aux/gitlog-to-emacslog: Check called from right directory.
11733         (srcprefix): Remove.
11735         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
11736         * Makefile.in (ChangeLog): No longer pass "distprefix".
11737         * make-dist: Update "make ChangeLog" syntax for the above change.
11739         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
11740         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
11742         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
11744         Add command-line option-parsing to gitlog-to-emacslog.
11745         * build-aux/gitlog-to-emacslog: Add command-line options.
11746         By default, refuse to remove an existing output file.
11747         * Makefile.in (CHANGELOG): Update default.
11748         (ChangeLog): Do not test for existing file.
11749         (change-history-nocommit): Ensure temp file does not exist.
11751         Quieten --without-x compilation.
11752         * lisp/term/common-win.el: Provide a feature.
11753         * lisp/term/x-win.el (term/common-win): Require it.
11755         * lisp/dired-aux.el (dired-do-print): Require lpr.
11757         Quieten compilation, eg in --without-x builds.
11758         * lisp/dired-aux.el (lpr-printer-switch):
11759         * lisp/frame.el (tool-bar-height):
11760         * lisp/linum.el (font-info):
11761         * lisp/window.el (font-info, overflow-newline-into-fringe)
11762         (tool-bar-height):
11763         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
11764         * lisp/gnus/gnus-util.el (iswitchb-mode):
11765         * lisp/mail/rmailmm.el (libxml-parse-html-region):
11766         * lisp/net/nsm.el (gnutls-peer-status)
11767         (gnutls-peer-status-warning-describe):
11768         * lisp/net/shr.el (libxml-parse-xml-region):
11769         * lisp/url/url-http.el (gnutls-peer-status): Declare.
11771 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
11773         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
11774         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
11775         `subclass' since they're never called with a class.
11776         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
11777         srecode-dictionary-child-p.
11779 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
11781         help--binding-locus: Document argument POSITION.
11782         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
11784 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
11786         Merge from gnulib.
11787         * doc/misc/texinfo.tex: Get latest version.
11789 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
11791         ffap.el (ffap-read-file-or-url): Fix completing-read call
11792         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
11793           `completing-read' should be a symbol.
11795 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
11797         Verify file modifications by other programs
11798         * src/filelock.c (lock_file): Check whether the file was modified
11799         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
11801         Fix keyboard macros that include function keys
11802         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
11803         keys in the macro before returning.  (Bug#20454)
11805 2015-05-08  Glenn Morris  <rgm@gnu.org>
11807         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
11808         "Copyright-paperwork-exempt".  (Bug#20324)
11810         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
11811         (log-edit-rewrite-tiny-change): New variable.
11812         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
11813         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
11814         * etc/NEWS: Mention this.
11816         * lisp/calc/calc.el (math-zerop): Declare.
11818         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
11820 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
11822         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
11823         Support the case when BINDINGS is a single tuple.  (Bug#20525)
11825         * etc/NEWS: Fix typo in commit 14bb519
11827 2015-05-07  Jan D  <jan.h.d@swipnet.se>
11829         Warn for multiple display crash for all Gtk+ versions.
11830         * configure.ac: Warn for multiple display crash for all Gtk+
11831         versions.  Output URL to Gtk+ bug (Bug#20452).
11833         ns-win.el (ns-paste-secondary): Use gui-get-selection.
11834         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
11836 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
11838         * lisp/emacs-lisp/package.el: New "external" package status
11839         An external package is any installed package that's not built-in
11840         and not from `package-user-dir', which usually means it's from an
11841         entry in `package-directory-list'.  They are treated much like
11842         built-in packages, in that they cannot be through the Package Menu
11843         deleted and are not considered for upgrades.
11844         (package-desc-status): Identify if a package is installed outside
11845         `package-user-dir'.
11846         (package-menu--print-info-simple)
11847         (package-menu--status-predicate): Add support for it.
11848         * etc/NEWS: Document it.
11850 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
11852         * lisp/mail/rmail.el: Use lexical-binding
11853         (rmail-bury): Remove unused var `buffer-to-bury'.
11854         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
11855         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
11856         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
11857         (rmail-insert-inbox-text): Remove unused var `movemail'.
11858         (rmail-add-mbox-headers): Remove unused var `limit'.
11859         (rmail-undelete-previous-message): Remove unused var `value'.
11860         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
11861         `resent-reply-to'.
11862         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
11863         (rmail-restore-desktop-buffer): Rename arguments.
11865 2015-05-06  Glenn Morris  <rgm@gnu.org>
11867         * Makefile.in (change-history-commit): Add missing piece of previous.
11869         Avoid unnecessary bumping of Makefile.in's timestamp.
11870         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
11871         (emacslog): New variable.
11872         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
11873         (unchanged-history-files): Use $emacslog rather than Makefile.in.
11874         (change-history-nocommit): Store hash in $emacslog.
11875         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
11876         * admin/update_autogen (changelog_files): Update for the above.
11878         * Makefile.in: Don't always insist on removing existing "ChangeLog".
11879         (CHANGELOG): New variable.
11880         (no-ChangeLog): Remove.
11881         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
11882         (change-history-nocommit): Use a temp file rather than insisting
11883         on deletion of any existing "ChangeLog".
11885         * build-aux/gitlog-to-emacslog: Allow specification of output.
11887         * admin/update_autogen: Add option to update ChangeLog.
11888         (usage): Mention -H.
11889         (changelog_flag, changelog_n, changelog_files): New variables.
11890         (main): Check for -H, and maybe run change-history-nocommit.
11892 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
11894         * lisp/subr.el (delete-dups): Pre-size the hashtable.
11896         (define-modify-macro): Make sure cl--arglist-args is defined
11897         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
11898         cl--arglist-args is defined (bug#20517).
11900 2015-05-06  Glenn Morris  <rgm@gnu.org>
11902         * Makefile.in (change-history-nocommit): New.
11904 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
11906         Only cancel timer when it is non-nil
11907         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
11908         timer when it is non-nil
11909         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
11911 2015-05-06  Glenn Morris  <rgm@gnu.org>
11913         Quieten cedet compilation
11914         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
11915         Invert fboundp test to quieten on current Emacs.
11916         * lisp/cedet/ede/config.el (ede-shell-run-something)
11917         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
11918         (semanticdb-refresh-table): Declare.
11919         (ede-preprocessor-map): Require semantic/db.
11921         Quieten cc-mode compilation
11922         * lisp/progmodes/cc-awk.el (c-forward-sws):
11923         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
11924         Declare.
11926 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
11928         lisp/subr.el (delete-dups): Avoid nreverse.
11930 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
11932         * lisp/subr.el (delete-dups): Make it destructive again.
11934 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
11936         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
11938 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
11940         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
11941         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
11942         (testcover--read): Rename from testcover-read.  Change calling convention.
11943         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
11944         (testcover-start): Use add-function.  Move edebug-all-defs binding to
11945         testcover--read.
11946         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
11947         (testcover-mark): Remove unused var `item'.
11948         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
11950 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
11952         lisp/subr.el (delete-dups): Use a hash table
11953         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
11954           use a hash table. This can result in ~500 times speed-up for typical
11955           collections of size 5000, like that of `load-library'.
11957 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
11959         CEDET: Avoid `oref' on classes in a few more cases
11960         * lisp/cedet/ede/generic.el (ede-find-target):
11961         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
11962         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
11963         var `prefix'.
11965         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
11966         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
11967         (semantic-symref-perform-search): Remove unused var `pat'.
11969         CEDET (srecode-compile-inserter): Avoid `oref' on classes
11970         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
11971         Avoid `oref' on classes (bug#20491).
11972         (srecode-compile-split-code): Remove unused var `key'.
11974 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
11976         Clean up pulse.el a little
11977         * lisp/cedet/pulse.el (pulse): Remove.
11978         (pulse-momentary-timer): Save instead of the stop time.
11979         (pulse-momentary-highlight-overlay): Call
11980         pulse-momentary-unhighlight first thing. Treat
11981         pulse-momentary-overlay as a single value, not a list. Save the
11982         created timer. Only pass the stop time to the timer.
11983         (pulse-tick): Update accordingly.
11984         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
11985         single value. Cancel the timer.
11987 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
11989         Support the biblatex journaltitle field
11990         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
11991         Support the biblatex journaltitle field.
11993 2015-05-05  Glenn Morris  <rgm@gnu.org>
11995         Minor declare-function improvement
11996         * lisp/emacs-lisp/bytecomp.el
11997         (byte-compile-macroexpand-declare-function):
11998         Handle declarations after calls.  (Bug#20509)
12000         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
12002         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
12004 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
12006         Pulse using a timer
12007         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
12008         (pulse-momentary-highlight-overlay): Set up the timer instead of
12009         calling `pulse'
12010         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
12011         (pulse-tick): New function.
12012         (pulse-momentary-unhighlight): Cut off the stop time.
12013         (pulse-delay): Update the docstring WRT to not using sit-for.
12015         Add semantic/symref/grep file patterns for ruby-mode
12016         * lisp/cedet/semantic/symref/grep.el
12017         (semantic-symref-filepattern-alist): Add patterns for
12018         ruby-mode. Clarify the docstring.
12020         Don't require match
12021         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
12022         match. That doesn't work for every command, and some identifier
12023         completion tables are bound to be imperfect anyway.
12025 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
12027         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
12028         (semantic-grammar--template-expand): New function.
12029         (semantic-grammar-header, semantic-grammar-footer): Use it.
12030         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
12031         (semantic-grammar-file-regexp): Refine regexp.
12032         (semantic-grammar-eldoc-get-macro-docstring):
12033         Use elisp-get-fnsym-args-string when available.
12034         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
12035         instead of the old eldoc-* names.
12036         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
12037         from elisp-mode.el.  Tweak calling convention.
12038         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
12039         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
12040         elisp--get-fnsym-args-string.
12041         (elisp--highlight-function-argument): Add `prefix' arg.
12042         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
12043         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
12045 2015-05-05  Glenn Morris  <rgm@gnu.org>
12047         * lisp/help-fns.el (describe-function-1):
12048         Handle builtins with advertised calling conventions.  (Bug#20479)
12050 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
12052         Merge branch 'seq-let'
12054         Update `seq-let' documentation
12055         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
12056         with the support of  `&rest'.
12058         Add support for &rest in `seq-let'
12059         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
12060         in the argument list.
12061         * test/automated/seq-tests.el: Add a test for parsing and binding
12062         `&rest' in `seq-let'.
12064 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
12066         Spelling fixes
12068 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
12070         * eieio-custom.el (eieio-object-value-get): Add missing increment
12071         (Bug#20467)
12073         (eieio-object-value-create): Adjust to new slots representation
12074         (Bug#20467)
12075         * eieio-custom.el (eieio-object-value-create):
12076         Fix missed adjustment to new representation of slots metadata.
12078 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
12080         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
12082 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
12084         Work around "Attempt to modify read-only object"
12085         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
12086         elisp--xref-find-definitions, to work around "Attempt to modify
12087         read-only object" error.
12089         Only skip some variables that have function counterparts
12090         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
12091         Only skip minor-mode-named variable if it's defined in a Lisp
12092         file, and it's in minor-mode-list (bug#20506).
12093         * test/automated/elisp-mode-tests.el
12094         (elisp-xref-finds-both-function-and-variable)
12095         (elisp-xref-finds-only-function-for-minor-mode): New tests.
12097 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
12099         Buttonize the whole line, including the number at the beginning
12100         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
12101         previous change.
12102         (xref--insert-xrefs): Buttonize the whole line, including the
12103         number at the beginning.
12105         Make sure we're inside the let bindings
12106         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
12107         Make sure we're inside the let bindings.
12108         * test/automated/elisp-mode-tests.el
12109         (elisp-completes-functions-after-let-bindings): New test.
12111 2015-05-04  Glenn Morris  <rgm@gnu.org>
12113         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
12114         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
12115         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
12116         Remove outdated declarations.
12118         Replace instances of "(eval-when-compile (autoload ...))"
12119         * lisp/gnus/gnus-art.el (nneething-get-file-name):
12120         Declare rather than autoload.
12121         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
12122         Remove pointless autoload.
12123         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
12124         (gnus-topic-create-topic, gnus-topic-enter-dribble):
12125         Declare rather than autoload.
12126         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
12127         (mailcap-extension-to-mime): Autoload at run-time.
12128         * lisp/gnus/mm-util.el (latin-unity-massage-name)
12129         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
12130         (latin-unity-representations-present-region):
12131         Declare rather than autoload.
12132         * lisp/gnus/mml-smime.el (epg-make-context)
12133         (epg-passphrase-callback-function): Autoload at run-time.
12134         (epg-context-set-signers, epg-context-result-for)
12135         (epg-new-signature-digest-algorithm)
12136         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
12137         (epg-sign-string, epg-encrypt-string)
12138         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
12139         (epg-configuration, epg-expand-group, epa-select-keys):
12140         Declare rather than autoload.
12141         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
12142         Autoload at run-time.
12143         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
12144         (gnus-registry-get-id-key, gnus-registry-action):
12145         Declare rather than autoload.
12146         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
12147         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
12148         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
12149         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
12150         (spam-stat-split-fancy): Remove pointless autoloads.
12151         * lisp/net/mairix.el: Load gnus-util when compiling.
12152         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
12153         (message-field-value): Declare rather than autoload.
12154         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
12155         Check gnus-alive-p is fbound.
12156         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
12157         (vm-check-for-killed-summary, vm-error-if-folder-empty)
12158         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
12159         Declare rather than autoload.
12161         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
12163         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
12164         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
12166         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
12168         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
12170         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
12171         * lisp/emacs-lisp/package.el (epg-signature-status):
12172         Fix declarations.
12174         * lisp/play/gametree.el (gametree-show-children-and-entry)
12175         (gametree-apply-layout, gametree-mouse-show-subtree)
12176         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
12178         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
12179         Handle cl-defgeneric, cl-defmethod.
12181 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
12183         Highlight both type and symbol name
12184         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
12185         Highlight both type and symbol name.
12187         Insert, highlight and align line numbers in xref output
12188         * lisp/progmodes/etags.el (xref-location-line): Specialize for
12189         xref-etags-location.
12190         * lisp/progmodes/xref.el (xref-location-line): New generic method.
12191         (xref-file-location): Add reader for the line slot.
12192         (xref--location-at-point): Skip to the `xref-location' property.
12193         (xref--collect-reference): Drop the line number from description.
12194         (xref--insert-xrefs): Insert, highlight and align line numbers.
12196 2015-05-04  Daniel Colascione  <dancol@dancol.org>
12198         Fix previous commit
12200 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
12202         Don't pulse the indentation, or the newline
12203         * lisp/cedet/pulse.el (pulse-lighten-highlight)
12204         (pulse-reset-face): Fall back to the inherited background
12205         attribute in FACE.
12206         (pulse-momentary-highlight-region): Add autoload cookie.
12207         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
12208         indentation, or the newline, if the line's non-empty
12209         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
12211 2015-05-04  Daniel Colascione  <dancol@dancol.org>
12213         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
12214         * doc/lispref/positions.texi (Excursions): Document
12215         `save-mark-and-excursion'.
12216         * lisp/font-lock.el (font-lock-fontify-block): Use
12217         `save-mark-and-excursion' instead of `save-excursion', restoring
12218         Emacs 24 behavior.
12219         * lisp/simple.el (save-mark-and-excursion--save)
12220         (save-mark-and-excursion--restore): New functions.
12221         (save-mark-and-excursion): New user macro.
12222         * src/editfns.c (Fsave_excursion): Mention
12223         `save-mark-and-excursion' in `save-excursion' documentation.
12225 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
12227         Classify lone symbol inside let varlist as variable
12228         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
12229         Classify lone symbol inside let varlist as variable.
12230         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
12231         New test.
12233         Add xref-pulse-on-jump
12234         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
12235         Add autoload cookie.
12236         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
12237         (xref--maybe-pulse): New function.
12238         (xref-pop-marker-stack, xref--pop-to-location)
12239         (xref--display-position): Use it.
12240         (xref--location-at-point): Use back-to-indentation.
12242 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
12244         * lisp/org/org-{macs,list}.el: Fix lexical warnings
12245         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
12246         (org-list-get-next-item, org-list-get-prev-item)
12247         (org-list-get-children): Mark unused arg `struct'.
12248         (org-list-use-alpha-bul-p): Remove unused var `bul'.
12249         (org-toggle-checkbox): Mark unused var.
12250         (org-update-checkbox-count): Remove unused var `box-num'.
12251         (org-adapt-indentation): Declare.
12252         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
12253         (org-list-send-list): Remove unused var `txt'.
12254         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
12255         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
12256         * lisp/org/org-macs.el: Use `declare'.
12257         (org-with-limited-levels): Declare dyn-bound vars.
12259 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
12261         Fix minor issues with CEDET on MS-Windows
12262         * lisp/cedet/semantic/symref/idutils.el
12263         (semantic-symref-parse-tool-output-one-line): Fix the search
12264         regexp to match MS-Windows file names with drive letters.
12265         (Bug#19468)
12266         * lisp/cedet/semantic/symref/grep.el
12267         (semantic-symref-grep-use-template): Remove "--color=always" from
12268         Grep switches on MS-Windows.
12269         (semantic-symref-grep-shell): Use shell-file-name as the default
12270         value, so this works not only on Posix platforms.
12271         (semantic-symref-perform-search): Use shell-quote-argument instead
12272         of literal '..' for portable quoting of Grep command-line
12273         argument.  Use shell-command-switch instead of a literal "-c".
12274         * lisp/cedet/semantic/bovine/gcc.el
12275         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
12276         for an absolute file name in a portable way.
12278 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
12280         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
12281         (package-import-keyring, package-refresh-contents)
12282         (package-compute-transaction, package--save-selected-packages)
12283         (package-install-from-archive, package-delete)
12284         (package-menu--perform-transaction): Use `inhibit-message'
12285         instead.
12286         (package--compile): Set `warning-minimum-level' to :error.
12288 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
12290         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
12291         (terminal-init-screen): Use it (bug#20356).
12292         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
12293         (xterm--extra-capabilities-type): New const.
12294         (xterm-extra-capabilities): Use it.
12295         (xterm--version-handler): Lower the pseudo-version for `screen'.
12297 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
12299         xref--insert-xrefs: Tweak the faces
12300         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
12301         Always insert a newline at the end (to avoid mouse-face background
12302         tail at the last line).
12304         elisp-completion-at-point: Prioritize being quoted over funpos
12305         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
12306         Only consider function position when not inside quoted form
12307         (bug#20425).
12308         * test/automated/elisp-mode-tests.el: New file.
12310         Stop vc-print-log from jumping to the top
12311         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
12312         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
12313         is not specified.
12314         (vc-incoming-outgoing-internal): Always pass nil.
12315         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
12316         call it, and don't set vc-sentinel-movepoint (bug#15322).
12317         (vc-print-root-log): Don't fetch the root working revision, nor
12318         pass it to vc-print-log-internal.
12320 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
12322         Fix display of keyboard layouts for right-to-left scripts
12323         * lisp/international/quail.el (quail-insert-kbd-layout): Force
12324         left-to-right paragraph direction.
12326 2015-05-02  K. Handa  <handa@gnu.org>
12328         * cmds.c (internal_self_insert): When we insert spaces for
12329         padding, set point before the padding spaces, not after them.
12331 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
12333         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
12335 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
12337         Fix etags-xref-find for references
12338         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
12339         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
12340         directory if no tags tables are loaded (bug#19468).
12342 2015-05-02  Philipp Stephani  <phst@google.com>
12344         Update the options in whitespace-style defcustom
12345         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
12346         `repeat' because the option is really set-like.  Add missing
12347         options.  Reorder options to match the order in the
12348         documentation.  (Bug#20346)
12350 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
12352         Fix error diagnostics of c-macro-expand
12353         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
12354         too early if no start-marker string was found -- that generally
12355         means cpp exited abnormally, and we still want to show its error
12356         messages to the user.
12358         Don't require Texinfo 5.0 for Emacs documentation
12359         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
12360         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
12361         "@codequoteundirected on", respectively, to avoid requiring
12362         Texinfo 5.x for Emacs documentation.
12364 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
12366         * lisp/files.el (pwd):
12367         When called with a prefix argument, insert the current default
12368         directory at point.
12370 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
12372         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
12373         * lisp/isearch.el (isearch-mode-map): Don't inhibit
12374         function-key-map remapping for backspace (bug#20466).
12376 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
12378         Implement xref-find-references in etags and elisp-mode
12379         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
12380         (elisp-xref-find): Use it.
12381         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
12382         * lisp/progmodes/xref.el (xref-collect-references):
12383         (xref--collect-reference): New functions.
12385 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
12387         Prefer plain characters to Texinfo circumlocutions
12388         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
12389         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
12391         Fix single-quoting style in PDF manuals
12392         The PDF versions of the GNU manuals used curved single quotes to
12393         represent grave accent and apostrophe, which made it a pain to cut
12394         and paste code examples from them.  Fix the PDF versions to use
12395         grave accent and apostrophe for Lisp source code, keystrokes, etc.
12396         This change does not affect the info files, nor does it affect
12397         ordinary uses of curved single quotes in PDF.
12398         * doc/emacs/docstyle.texi: New file, which specifies treatment for
12399         grave accent and apostrophe, as well as the document encoding.
12400         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
12401         * doc/lispintro/emacs-lisp-intro.texi:
12402         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
12403         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
12404         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
12405         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
12406         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
12407         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
12408         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
12409         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
12410         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
12411         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
12412         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
12413         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
12414         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
12415         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
12416         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
12417         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
12418         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
12419         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
12420         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
12421         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
12422         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
12423         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
12424         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
12425         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
12426         * doc/misc/woman.texi:
12427         Use it instead of '@documentencoding UTF-8', to lessen the need for
12428         global changes like this in the future.
12429         * doc/emacs/Makefile.in (EMACS_XTRA):
12430         * doc/lispintro/Makefile.in (srcs):
12431         * doc/lispref/Makefile.in (srcs):
12432         Add dependency on docstyle.texi.
12433         * doc/misc/Makefile.in (style): New macro.
12434         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
12435         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
12436         Use it.
12438 2015-05-01  Glenn Morris  <rgm@gnu.org>
12440         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
12442         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
12443         (help-fns--signature): Declare.
12445         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
12447 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
12449         New macro seq-let, providing destructuring support to seq.el
12450         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
12451         to `cl-destructuring-bind' but works on all sequence types supported
12452         by `seq.el'.  Bump version number to 1.6.
12453         * test/automated/seq-tests.el: Add tests for seq-let.
12454         * doc/lispref/sequences.texi: Add documentation for seq-let.
12456 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
12458         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
12460 2015-05-01  Glenn Morris  <rgm@gnu.org>
12462         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
12464 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
12466         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
12467         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
12468         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
12469         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
12470         (Bug#20445).
12472 2015-05-01  K. Handa  <handa@gnu.org>
12474         * mule-cmds.el (input-method-use-echo-area): Change :type to
12475         'boolean.
12477 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
12479         Start using proportional fonts in eww by default
12480         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
12481         it seems to work well.
12483         Fix links in tables in shr
12484         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
12485         makes (some) links in tables not work.
12487 2015-05-01  Jan D  <jan.h.d@swipnet.se>
12489         (ns-get-cut-buffer-internal): Remove this alias.
12490         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
12492 2015-04-30  Glenn Morris  <rgm@gnu.org>
12494         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
12495         Update for 2015-02-08 change to indirect-function.
12497         * lisp/term/ns-win.el (ns-get-selection-internal):
12498         Remove declaration for function deleted 2014-10-21.
12500         * lisp/dom.el: Load subr-x when compiling, for when-let.
12502         Silence some compilation warnings
12503         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
12504         * lisp/emulation/cua-base.el (delete-active-region):
12505         * lisp/net/net-utils.el (w32-get-console-output-codepage):
12506         * lisp/term/ns-win.el (ns-own-selection-internal)
12507         (ns-disown-selection-internal, ns-selection-owner-p)
12508         (ns-selection-exists-p, ns-get-selection):
12509         Declare for compiler..
12511         Function declaration updates prompted by 'make check-declare'
12512         * lisp/emacs-lisp/package.el (lm-homepage):
12513         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
12514         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
12515         * lisp/gnus/mml.el (libxml-parse-html-region):
12516         * lisp/gnus/nnrss.el (libxml-parse-html-region):
12517         * lisp/net/eww.el (libxml-parse-html-region):
12518         * lisp/net/shr.el (libxml-parse-html-region):
12519         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
12520         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
12521         * lisp/vc/vc-git.el (vc-annotate-convert-time):
12522         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
12523         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
12524         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
12525         Update declaration.
12527         Remove compatibility code for 20-year old function renaming
12528         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
12529         Make it an obsolete alias.
12530         (idlwave-shell-filter): Change all uses to comint-output-filter.
12532 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
12534         Add ace-window face config
12535         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
12536         configuration.
12538 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
12540         Unclutter 'make doc' output a bit
12541         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
12542         Use make subst rather than sh IFS to split target string apart.
12543         This makes 'make' output easier to follow.
12545         Merge from gnulib
12546         * doc/misc/texinfo.tex: Update from gnulib.
12548 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
12550         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
12551         (package-menu--print-info): Obsolete.
12552         (package-menu--print-info-simple): New function.
12553         (package-menu--refresh): Use it, simplify code, and improve
12554         performance.
12555         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
12556         Tiny performance improvement.
12558         * lisp/emacs-lisp/package.el (package--message): inhibit-message
12560 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
12562         Omit -Wstrict-overflow workaround in GCC 5
12563         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
12564         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
12566         Merge from gnulib
12567         This incorporates:
12568         2015-04-29 extern-inline: no need for workaround in GCC 5.1
12569         2015-04-26 file-has-acl: port to CentOS 6
12570         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
12572 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
12574         Set next-error-* in xref--xref-buffer-mode
12575         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
12576         `next-error-last-buffer'.
12577         (xref--next-error-function): New function.
12578         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
12580 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
12582         python.el: Fix warnings on looking-back calls missing LIMIT
12583         * lisp/progmodes/python.el (python-shell-accept-process-output):
12584         Pass LIMIT arg to looking-back.
12586 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
12588         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
12589         (package--download-and-read-archives): Use pushnew instead of
12590         append.  If something terrible happened during a previous
12591         download, simply refreshing should now make things work again.
12593 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
12595         Introduce etags-xref-find-definitions-tag-order
12596         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
12597         New variable.
12598         (etags--xref-find-definitions): Use it (bug#19468).
12600 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
12602         PATH- and completion-related fixes in Eshell on MS-Windows
12603         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
12604         MS-Windows, prepend "." to list of directories produced from PATH,
12605         as Windows always implicitly searches the current directory first.
12606         (eshell-force-execution): Make it have a non-nil default value on
12607         MS-Windows and MS-DOS.
12608         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
12609         eshell-force-execution is non-nil, complete on readable files and
12610         directories, not only executables.  When running on MS-Windows,
12611         prepend "." to list of directories produced from PATH, as Windows
12612         always implicitly searches the current directory first.
12614 2015-04-29  Sam Steingold  <sds@gnu.org>
12616         bury RCIRC buffers when there is no activity
12617         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
12618         (rcirc-bury-buffers): new function
12619         (rcirc-next-active-buffer): when there is no new activity, use
12620         `rcirc-bury-buffers' to hide all RCIRC buffers
12622 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
12624         Fix DBUS query result parsing for secrets-search-items
12625         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
12626         parsing.  The function assumed that return value of the
12627         SearchItems method called on a collection is a list of two lists,
12628         however this is true only when no collection is specified.  GNOME
12629         had used to incorrectly return a list of two lists in both cases,
12630         but this was already fixed:
12631         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
12632         incorrect information in the secrets-search-items’ docstring.
12633         (Bug#20449)
12635 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
12637         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
12638         (byte-compile--message): Use `inhibit-message' instead of hiding
12639         the previous message with (message nil).
12641 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
12643         Remove the deprecated INTERNAL_FIELD macro by expanding it
12644         * src/lisp.h (INTERNAL_FIELD): Remove.
12645         (DEFVAR_KBOARD): Modify accordingly.
12646         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
12647         * syntax.c: Adjust users.
12648         * src/buffer.c (compact_buffer): Use BVAR.
12650 2015-04-29  Glenn Morris  <rgm@gnu.org>
12652         Replace an obsolete function alias
12653         * lisp/isearch.el (isearch-yank-x-selection):
12654         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
12655         (mouse-drag-secondary-moving):
12656         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
12657         Replace obsolete alias x-get-selection with gui-get-selection.
12659 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12661         * lisp/mail/rmailsum.el: Use lexical-binding.
12663 2015-04-29  Glenn Morris  <rgm@gnu.org>
12665         * test/automated/package-test.el (package-test-update-archives-async):
12666         Skip test on hydra.nixos.org.
12668 2015-04-28  Glenn Morris  <rgm@gnu.org>
12670         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
12671         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
12672         (foldout-mouse-hide-or-exit): Use new names for outline functions.
12674         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
12675         Update for 2014-06-26 hideif.el change.
12677         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
12678         (rmail--decode-and-apply): New function.
12679         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
12681         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
12683 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
12685         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
12686         (package-menu--refresh): Delegate obsolete-hiding to
12687         `package--remove-hidden'.
12688         (package--remove-hidden): Disregard high-priority package if it is
12689         older than the installed one.
12691 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
12693         Update source file encoding list
12694         Update admin/notes/unicode, along with coding system cookies in
12695         other files, so that the two match each other better.
12696         * admin/notes/unicode: lisp/language/ethio-util.el and
12697         lisp/language/ethiopic.el also use utf-8-emacs.
12698         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
12699         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
12700         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
12701         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
12702         * etc/refcards/sk-survival.tex:
12703         Add "coding: utf-8" so that this file is not mishandled in a
12704         Latin-1 or Big-5 locale.
12705         * lisp/international/robin.el, lisp/org/ox-ascii.el:
12706         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
12707         * lisp/language/ethio-util.el: Fix trailer.
12709 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
12711         Fix synchronous invocation of Ispell
12712         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
12713         value to ispell-process-directory before calling ispell-init-process.
12714         Don't call set-process-coding-system if ispell-async-processp is nil.
12715         (Bug#20448)
12717 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
12719         * lisp/emacs-lisp/package.el: Skip space and comments in init file
12720         (package--ensure-init-file): Insert snippet at first
12721         non-whitespace non-comments line.  Respects local-vars at the top
12722         of the file.
12724 2015-04-28  Glenn Morris  <rgm@gnu.org>
12726         * lisp/mail/rmail.el (rmail-copy-headers):
12727         Handle rmail-nonignored-headers being nil.  (Bug#18878)
12729         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
12731         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
12732         Don't get confused by a bzrlib version mismatch warning.
12734 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12736         Change default location of EUDC options file
12737         * NEWS: Document change to EUDC options file's default location.
12738         * lisp/net/eudc-vars.el (eudc-options-file): Use
12739         `locate-user-emacs-file' to change default options file location.
12741 2015-04-27  Glenn Morris  <rgm@gnu.org>
12743         * test/automated/package-test.el (package-test-update-archives-async):
12744         Try to handle the test server script dying.
12746 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12748         * lisp/saveplace.el (save-place-mode): New minor mode.
12749         (save-place): Redefine as an obsolete alias.
12751         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
12752         * lisp/midnight.el: Use lexical-binding.
12753         (midnight-mode): Make it a proper minor mode.
12754         (midnight-buffer-display-time): Make arg non-optional.
12755         (midnight-find): Remove.
12756         (clean-buffer-list-kill-never-regexps)
12757         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
12758         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
12759         contain functions.
12760         (clean-buffer-list): Use cl-find.
12761         Allow clean-buffer-list-kill-never-regexps to contain functions.
12763 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
12765         Bump version of seq.el to 1.5
12766         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
12767           from seq-doseq.  Bump version number of seq.el.
12769 2015-04-27  Glenn Morris  <rgm@gnu.org>
12771         * lisp/mail/rmail.el (rmail-reply):
12772         Decode subject before matching "Re:" prefix.  (Bug#20396)
12774 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
12776         * lisp/emacs-lisp/package.el: Small improvements
12777         (package--with-work-buffer-async): More informative error.
12778         (package-install-user-selected-packages): Rename to
12779         `package-install-selected-packages'.
12781 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12783         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
12784         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
12785         (eieio--class-make): Remove leftover `tag'.
12787 2015-04-27  Glenn Morris  <rgm@gnu.org>
12789         * lisp/gnus/message.el (gnus-extract-address-components):
12790         Remove bogus declaration that was masking previous problem.
12792 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
12794         * lisp/gnus/message.el (message-insert-formatted-citation-line):
12795         Fix typo.  (Bug#20318)
12797 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12799         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
12801         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
12802         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
12803         the buffer in yet another frame.
12804         (reftex-toc-visit-location): Make sure toc-window has focus at the end
12805         when `final' is nil.
12806         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
12807         silence warnings.  Use `--' to clarify that it's internal.
12808         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
12809         (reftex-toc-promote): Clarify unused argument.
12810         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
12811         Add `reftex--' prefix.  Fix all users.
12812         (reftex-toc-promote-prepare): Use _ for dummy variable.
12813         (reftex-toc-restore-region): Rename `m
12815 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
12817         Fix a typo in bibtex.el
12818         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
12819         last change.  (Bug#20429)
12821         Fix redisplay of frame after loading new fonts
12822         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
12823         frame because new fonts were loaded, disable all redisplay
12824         optimizations on that frame by calling SET_FRAME_GARBAGED.
12825         (Bug#20410)
12827 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12829         * lisp/info.el (Info-menu): Properly provide the `default'
12830         (Bug#20391)
12832         * elisp-mode.el: Catch errors from `documentation'
12833         (Bug#20418)
12834         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
12835         Catch errors from documentation.
12836         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
12838 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
12840         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
12841         Remove redundant ":group 'package".
12843 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
12845         Fix a typo in rmail.el
12846         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
12847         last commit.  (Bug#20429)
12849 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
12851         Introduce xref-prompt-for-identifier
12852         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
12853         (xref--read-identifier): Use it
12854         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
12856 2015-04-26  João Távora  <joaotavora@gmail.com>
12858         `tex-insert-quote' after single `'' opens quotes instead of closing
12859         Without this, it's very hard to precede double quotes with the
12860         apostrophe character, i.e. insert the sequence '``
12861         (quote-backquote-backquote), commonly useful in portuguese, for
12862         instance.
12863         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
12864         chars making `tex-insert-quote' be in the "opening" context.
12866 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
12868         Pass `id' to `completing-read' as def instead of initial input
12869         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
12870         as the default value instead of initial input
12871         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
12873 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
12875         Don't freeze with unreadable processes
12876         Don't freeze if an exiting process can't be read from. (Bug#19860).
12877         This fixes a bug I introduced in
12878         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
12879         "* process.c: Add sanity checks for file descriptors."
12880         Dmitry Gutov did most of the legwork in finding the problem.
12881         * src/process.c (wait_reading_process_output):
12882         Treat non-running processes that can't be read from
12883         the same as other non-running processes.
12885 2015-04-25  Alan Mackenzie  <acm@muc.de>
12887         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
12888         * lisp/subr.el (remove-yank-excluded-properties): put
12889         `with-silent-modifications' around only the last three lines of code.
12891 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
12893         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
12894         (package--all-keywords): Deleted variable.
12896         * etc/NEWS: Document package-hiding functionality
12898 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
12900         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
12902         Clarify the doc string of 'replace-regexp-in-string'
12903         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
12905         Improve doc string of 'insert-buffer-substring'
12906         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
12908         MS-Windows followup for the recent gnulib update
12909         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
12910         acl-internal.c.
12912 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
12914         Spelling fixes
12916         Merge from gnulib
12917         This incorporates:
12918         2015-04-24 file-has-acl: new module, split from acl
12919         2015-04-24 manywarnings: add GCC 5.1 warnings
12920         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
12921         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
12922         2015-04-15 acl: On Linux, check for acls without libacl
12923         2015-04-14 tempname: avoid unused parameter warnings (trivial)
12924         * lib/acl-internal.c: New file, from gnulib.
12925         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
12926         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
12927         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
12928         Update from gnulib.
12930         Port --enable-gcc-warnings to GCC 5.1 x86-64
12931         * lib-src/ebrowse.c (dump_sym):
12932         * lib-src/hexl.c (main):
12933         * src/ccl.c (ccl_driver):
12934         * src/character.c (string_escape_byte8):
12935         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
12936         * src/gnutls.c (Fgnutls_boot):
12937         * src/gtkutil.c (xg_check_special_colors):
12938         * src/image.c (x_build_heuristic_mask):
12939         * src/print.c (safe_debug_print, print_object):
12940         * src/term.c (produce_glyphless_glyph):
12941         * src/xdisp.c (get_next_display_element)
12942         (produce_glyphless_glyph):
12943         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
12944         Don't use a signed format to print an unsigned integer, or vice
12945         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
12946         * src/image.c (png_load_body, jpeg_load_body):
12947         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
12949 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
12951         Add new faces to tsdh-light-theme
12952         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
12953         definitions for Info-quoted, ace-jump-face-foreground,
12954         hl-paren-face, show-paren-match, and show-paren-mismatch.
12956 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
12958         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
12960 2015-04-24  Glenn Morris  <rgm@gnu.org>
12962         * build-aux/gitlog-to-emacslog:
12963         Use raw log format rather than wrapped one.
12965 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
12967         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
12968         (seq-doseq): Fix out-of-scope binding.
12969         Don't call `seq-length at every iteration.
12970         Reduce `if's from 3 to 2 per iteration.
12971         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
12973 2015-04-24  Glenn Morris  <rgm@gnu.org>
12975         * lisp/textmodes/text-mode.el (text-mode-hook):
12976         Move text-mode-hook-identify to default.
12978         * lisp/mouse.el (minor-mode-menu-from-indicator):
12979         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
12981         * lisp/help-fns.el (describe-function): More type checking.
12982         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
12984         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
12985         (Bug#20325)
12987 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
12989         shr: strip leading whitespace when expanding URLs
12990         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
12992 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
12994         Clarify "co-authored" some more
12996         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
12998         Clarify doc strings of functions that search for properties
12999         * src/textprop.c (Fnext_char_property_change)
13000         (Fprevious_char_property_change)
13001         (Fnext_single_char_property_change)
13002         (Fprevious_single_char_property_change, Fnext_property_change)
13003         (Fnext_single_property_change, Fprevious_property_change)
13004         (Fprevious_single_property_change): Clarify doc strings wrt return
13005         value and the optional LIMIT argument.  (Bug#20411)
13007 2015-04-24  Glenn Morris  <rgm@gnu.org>
13009         * test/automated/message-mode-tests.el (message-mode-propertize):
13010         Handle non-writable HOME; eg on hydra.nixos.org.
13012 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
13014         Avoid starting threads by w32-shell-execute
13015         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
13016         local file names, before invoking ShellExecute.  (Bug#20220)
13018 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
13020         Fix following doc-links in `widget-documentation-link-action'
13021         * lisp/wid-edit.el (widget-documentation-link-action): Make
13022         following doc-links less simplistic (Bug#20398).
13024 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13026         Improve EUDC manual
13027         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
13029 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13031         Omit needless "\ " after multibyte then newline
13032         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
13033         (print_object): When print-escape-multibyte is non-nil and a
13034         multibyte character is followed by a newline or formfeed, followed
13035         by a hex digit, don't output a needless "\ " before the hex digit.
13036         * test/automated/print-tests.el (print-hex-backslash): New test.
13038 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
13040         Add a new `inhibit-message' variable
13041         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
13042         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
13043         `inhibit_message' is non-zero.
13044         * etc/NEWS: Add an entry.
13045         * doc/lispref/display.texi: Add an entry for `inhibit-message',
13046           mention it in `message'.
13048 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
13050         Fix last fix in `display-buffer-record-window'.
13051         * lisp/window.el (display-buffer-record-window): Fix last fix.
13053 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
13055         Minor edits in CONTRIBUTE
13056         * CONTRIBUTE: Rearrange instructions about log messages.
13057         Use "Git" capitalized all over.
13058         Use 2 spaces between sentences.
13060 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
13062         * lisp/files.el (basic-save-buffer): Fix argument
13064         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
13065         In case `(and (null custom-file) init-file-had-error)' do the same
13066         thing we'd do if `(null user-init-file)', which is to either error out
13067         or return nil.  This is in line with `custom-save-all' which would
13068         throw an error in that situation. (bug#20355)
13070         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
13071         (package-menu-hide-low-priority): New variable, see its doc.
13072         (package-archive-priorities): Update doc.
13073         (package-desc-priority): New function.
13074         (package-desc-priority-version): Use it.
13075         (package--remove-hidden): New function.
13076         (package-menu--refresh): Use it.
13078         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
13079         (package-menu--hide-obsolete): New variable.
13080         (package--remove-hidden): Use it.
13081         (package-menu-hide-obsolete): New interactive function to toggle
13082         the variable.
13083         (package--quick-help-keys): Document it.
13084         (package-menu-async): Add :version tag.
13085         (package-menu-mode-map): Bind package-menu-hide-obsolete.
13086         (package-desc-status): Indicate non-installed obsolete packages as
13087         avail-obso.
13088         (package-menu-mark-install): Allow installation of avail-obso.
13089         (package-menu--status-predicate): Sort avail-obso with available.
13091 2015-04-22  Alan Mackenzie  <acm@muc.de>
13093         On C-y, stop some text property entries being written into buffer-undo-list
13094         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
13095         `with-silent-modifications'.
13097 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
13099         In display-buffer-record-window record selected window if necessary.
13100         * lisp/window.el (display-buffer-record-window): Store selected window
13101         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
13103 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
13105         Fix reftex-citation bug
13106         * reftex-cite.el (reftex-extract-bib-entries): Fix
13107         `wrong-type-argument stringp nil' error that occurs when AUCTeX
13108         integration is enabled and there are no citations in the document
13109         so far.
13111 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
13113         Add or reset based on the presence of MERGE_HEAD
13114         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
13115         `vc-git-resolve-when-done' to `after-save-hook' in either case.
13116         (vc-git-conflicted-files): Add a TODO.
13117         (vc-git-resolve-when-done): Depending on the presence of
13118         MERGE_HEAD, either update the resolved file in the index, or
13119         remove it from there.  (Bug#20292)
13121 2015-04-21  Glenn Morris  <rgm@gnu.org>
13123         * lisp/custom.el (custom-declare-group): No need to purecopy
13124         custom-current-group-alist members following recent change to set
13125         it to nil before dumping.
13127         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
13128         (Bug#20399)
13130 2015-04-21  Daniel Colascione  <dancol@dancol.org>
13132         Unbreak no-op buffer save message
13133         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
13134         (basic-save-buffer): Accept called-interactively as an argument instead of
13135         directly invoking called-interactively-p, which will always yield nil
13136         in that context.
13138 2015-04-21  Alan Mackenzie  <acm@muc.de>
13140         CC Mode: Do nothing in before/after-change-functions for text property changes
13141         Fixes bug#20266.
13142         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
13143         yank-handled-properties buffer local, and remove 'category from it.
13144         (c-called-from-text-property-change-p): New function.
13145         (c-before-change): Don't do anything if a call of the new function
13146         returns non-nil.
13147         (c-after-change): Don't do much if a call of the new function returns
13148         non-nil.
13149         (c-extend-after-change-region): Put changes to text property 'fontified
13150         inside c-save-buffer-state.
13152 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
13154         Fix byte-compiler warnings about looking-back.
13155         * lisp/vc/log-view.el (log-view-end-of-defun-1):
13156         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
13157         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
13158         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
13159         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
13160         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
13161         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
13162         * lisp/org/org.el (org-insert-heading, org-sort-entries):
13163         * lisp/org/org-mouse.el (org-mouse-end-headline)
13164         (org-mouse-context-menu):
13165         * lisp/org/org-clock.el (org-clock-cancel):
13166         * lisp/man.el (Man-default-man-entry):
13167         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
13168         (rmail-ensure-blank-line):
13169         * lisp/mail/footnote.el (Footnote-delete-footnote):
13170         * lisp/mail/emacsbug.el (report-emacs-bug):
13171         * lisp/info.el (Info-follow-reference, Info-fontify-node):
13172         * lisp/info-look.el (info-lookup-guess-custom-symbol):
13173         * lisp/help-fns.el (help-fns--key-bindings):
13174         * lisp/files.el (hack-local-variables):
13175         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
13176         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
13177         (viper-complete-filename-or-exit):
13178         * lisp/emulation/viper-cmd.el (viper-backward-indent):
13179         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
13180         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
13181         * lisp/cus-edit.el (custom-face-edit-value-create):
13182         * lisp/calendar/todo-mode.el (todo-set-item-priority)
13183         (todo-filter-items-1, todo-convert-legacy-files)
13184         (todo-prefix-overlays): Add explicit second arg to looking-back.
13186 2015-04-20  Glenn Morris  <rgm@gnu.org>
13188         Avoid non-nil current-load-list at startup
13189         * src/process.c (init_process_emacs): Move Fprovide statement...
13190         (syms_of_process): ... to here.
13192         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
13194         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
13196 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
13198         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
13199         (Bug#20330)
13201 2015-04-20  Glenn Morris  <rgm@gnu.org>
13203         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
13205         Tweak exec-path in uninstalled case
13206         * src/callproc.c (init_callproc): If running uninstalled, do not
13207         include eventual installation libexec directory in exec-path.
13209 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
13211         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
13212         (package-menu-filter): Accept a list of keywords.
13213         (package--all-keywords): New variable to cache known keywords.
13214         (package-all-keywords): Populate it if necessary.
13215         (package-refresh-contents): Reset it.
13217         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
13218         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
13219         as special keywords which match agains package archive and status
13220         respectively.
13221         * etc/NEWS: Document it.
13223 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
13225         Describe and index "empty overlays".
13226         * doc/lispref/display.texi (Overlays): Improve indexing.
13227         (Managing Overlays): Describe "empty" overlays.
13228         (Overlay Properties, Finding Overlays): Add cross-reference to
13229         where empty overlays are described.
13231 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
13233         Spelling fixes
13235         Quote 'like this' in top-level files
13236         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
13237         Prefer to single-quote 'like this' (instead of the older style
13238         `like this').
13239         * configure.ac: Fix some space-before-tab problems that 'git commit'
13240         complained about.
13242         Use bool for boolean in textprop.c, undo.c
13243         * src/textprop.c (soft, hard): Now constants instead of macros.
13244         (validate_plist): Rewrite to avoid need for boolean local.
13245         (interval_has_all_properties, interval_has_some_properties)
13246         (interval_has_some_properties_list, add_properties)
13247         (remove_properties, get_char_property_and_overlay)
13248         (Fnext_single_char_property_change)
13249         (Fprevious_single_char_property_change, add_text_properties_1)
13250         (Fremove_text_properties, Fremove_list_of_text_properties)
13251         (copy_text_properties):
13252         * src/tparam.c (tparam1):
13253         * src/undo.c (record_change, record_property_change)
13254         (syms_of_undo):
13255         Use 'true' and 'false' for booleans.
13257 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
13259         Call `smerge-start-session' even when dealing with a stash conflict
13260         * lisp/vc/vc-git.el (vc-git-find-file-hook):
13261         Call `smerge-start-session' even when dealing with a stash
13262         conflict (bug#20292).
13264 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
13266         Add option to eshell/clear to clear scrollback.
13267         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
13268         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
13269         scrollback contents are cleared.
13270         * etc/NEWS: Describe change.
13271         * doc/misc/eshell.texi: Add entry for `clear'.
13273 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
13275         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
13276         where either will do.
13278 2015-04-19  Steve Purcell  <steve@sanityinc.com>
13280         Assume package archive-contents are UTF8-encoded
13281         * lisp/emacs-lisp/package.el (package--read-archive-file):
13282         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
13283         downloaded and cached archive-contents files, so that non-ASCII
13284         characters in package descriptions are displayed correctly in the
13285         `list-packages' menu. (Bug#20231)
13287 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
13289         Abort when looking at stashed changes
13290         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
13291         stashed changes (bug#20292).
13293 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
13295         Refactor low-level printing for simplicity
13296         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
13297         PRINTPREPARE; doable now that we assume C99.  All callers changed.
13298         (PRINTCHAR): Remove, as it adds more mystery than clarity.
13299         All callers changed.
13300         (strout): Assume that caller computes length.  All callers changed.
13301         (print_c_string): New function.
13302         (write_string, write_string_1): Compute length instead of asking
13303         the caller to compute it.  All callers changed.
13304         (write_string): Simplify by using write_string_1.
13305         (write_string_1): Simplify by using print_c_string.
13306         (Fterpri): Compute default val more clearly.
13307         (Fprin1_to_string, print_object):
13308         Assume C99 to avoid unnecessary nesting.
13309         (print_object): Prefer print_c_string to multiple printchar, or
13310         to calling strout with -1 length.  Coalesce into sprintf when
13311         this is easy.
13313 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
13315         Prefer "Bug#1234" in commit messages (Bug#20325)
13316         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
13317         as this isn't useful for Git.
13318         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
13320 2015-04-18  Glenn Morris  <rgm@gnu.org>
13322         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
13323         (Bug#19506)
13325 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
13327         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
13328         (Bug#19505)
13330 2015-04-18  Glenn Morris  <rgm@gnu.org>
13332         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
13334         * doc/emacs/misc.texi (Sorting): Small edit.
13335         (Bug#19896)
13337         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
13339 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
13341         css-mode.el: Support multi-line comment filling
13342         (Bug#20256)
13343         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
13344         comment filling.
13345         (css-adaptive-fill): New function.
13346         (css-mode): Set `adaptive-fill-function'.
13347         (scss-mode): Set `comment-continue'.
13349 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
13351         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
13353 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
13355         Minor improvements in Bulgarian input methods
13356         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
13357         Replace U+042C with U+045D, as the former character is not used in
13358         the modern Bulgarian language.
13359         (Bug#20350)
13361 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13363         Improve EUDC manual
13364         * eudc.texi (LDAP Configuration): Mention simple and SASL
13365         authentication schemes.  Add index items.  Shorten example server
13366         name.
13368 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
13370         Don't show both feature and function with the same name
13371         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
13372         Don't show both feature and function with the same name.
13374         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
13375         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
13376         Avoid returning both the variable and the function for the same
13377         minor mode.
13379 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
13381         Fix fontification of keywords clobbered by the prompt.
13382         * lisp/comint.el (comint-output-filter): Remove the uses of
13383         with-silent-modifications I introduced as part of the last change.
13384         This fixes, e.g., erratically missing highlighting when running
13385         ./configure --help; ./configure in a shell-mode buffer with
13386         compilation-shell-minor-mode turned on.
13388 2015-04-17  Glenn Morris  <rgm@gnu.org>
13390         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
13392 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
13394         * lisp/indent.el (indent-region): Don't deactivate the mark
13395         (Bug#20357)
13397 2015-04-17  Sam Steingold  <sds@gnu.org>
13399         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
13401 2015-04-16  Leo Liu  <sdl.web@gmail.com>
13403         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
13405 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
13407         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
13409 2015-04-16  Glenn Morris  <rgm@gnu.org>
13411         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
13413 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
13415         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
13416         * configure.ac (LIBJPEG): Leave it empty for MinGW.
13418 2015-04-16  Glenn Morris  <rgm@gnu.org>
13420         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
13421         to avoid rogue setting after startup.
13423 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
13425         Pre-4.6 GCC succeeds with unknown option
13426         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
13427         (Bug#20338)
13429 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
13431         '[:graph:]' now excludes whitespace, not just ' '
13432         * doc/lispref/searching.texi (Char Classes):
13433         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
13434         sans whitespace (not sans space).
13435         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
13436         not just space.
13437         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
13439 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
13441         (looking-back): Make the second arg non-optional.
13442         * lisp/subr.el (substitute-key-definition-key, special-form-p)
13443         (macrop): Drop deprecated second arg to indirect-function.
13444         (looking-back): Make the second arg non-optional.
13446         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
13447         command is actually sent to the shell.
13449 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
13451         Port jpeg configuration to Solaris 10 with Sun C
13452         * configure.ac: Check for jpeglib 6b by trying to link it, instead
13453         of relying on cpp magic that has problems in practice.  Check for
13454         both jpeglib.h and jerror.h features.  Remove special case for
13455         mingw32, which should no longer be needed (and if it were needed,
13456         should now be addressable by hotwiring emacs_cv_jpeglib).
13457         (Bug#20332)
13459 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
13461         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
13462         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
13463         Move to elisp-mode.el.
13464         (lisp-mode-variables): (Re)move elisp-specific settings.
13465         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
13466         from lisp-mode-variables.
13467         (elisp--font-lock-flush-elisp-buffers): New function, moved from
13468         lisp-mode.el.
13470         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
13471         Avoid pathological slowdown at top-level in large file.
13473 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
13475         Standardize names of ChangeLog history files
13476         Suggested by Glenn Morris in:
13477         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
13478         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
13479         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
13480         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
13481         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
13482         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
13483         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
13484         Remove.
13486         Split top-level entries into pre- and post-April 7
13487         This more clearly distingiushes pre-April-7 ChangeLog entries (which
13488         are for top-level files only) from post-April-7 entries (which are
13489         about files at all levels.  Problem reported by Glenn Morris in:
13490         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
13491         * ChangeLog.1: Move post-April-7 entries from here ...
13492         * ChangeLog.2: ... to this new file.
13493         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
13495 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
13497         Fix recent cus-start changes that added customize-rogues
13498         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
13499         vars early.
13500         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
13502 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
13504         Define cl-concatenate as an alias to seq-concatenate
13505         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
13506           code by making cl-concatenate an alias to seq-concatenate.
13508 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
13510         * src/lread.c (intern_1): Make sure we'd find the symbol we add
13511         (Bug#20334)
13512         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
13514 2015-04-15  Glenn Morris  <rgm@gnu.org>
13516         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
13518 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
13520         Clean up gnus-uu saving code slightly
13521         * gnus-uu.el (gnus-uu-save-article): Make the
13522         save-restriction/widen calls make more sense.
13524 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
13526         Make [:graph:] act like [:print:] sans space
13527         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
13528         [:graph:] so that it matches everything that [:print:] does,
13529         except for space.
13530         * doc/lispref/searching.texi (Char Classes):
13531         * etc/NEWS:
13532         * lisp/emacs-lisp/rx.el (rx):
13533         Document [:graph:] to be [:print:] sans ' '.
13534         * src/character.c, src/character.h (graphicp): New function.
13535         * src/regex.c (ISGRAPH) [emacs]: Use it.
13536         (BIT_GRAPH): New macro.
13537         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
13538         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
13539         Return BIT_GRAPH for RECC_GRAPH.
13540         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
13541         and ISPRINT if BIT_PRINT.
13543 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
13545         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
13546         Don't use call-next-method in a cl-defmethod.
13548         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
13549         (eieio--class-p): Remove, provided by cl-defstruct.
13551 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
13553         Add seq-intersection and seq-difference to the seq library
13554         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
13555         functions.
13556         * test/automated/seq-tests.el: Add tests for seq-intersection and
13557         seq-difference.
13558         * doc/lispref/sequences.texi: Add documentation for seq-intersection
13559         and seq-difference.
13561 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
13563         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
13565 2015-04-14  Sam Steingold  <sds@gnu.org>
13567         package--ensure-init-file: widen requires save-restriction
13569 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
13571         Improve the commit-msg Git hook for unibyte environments
13572         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
13573         in unibyte environments.  (Suggested by Paul Eggert
13574         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
13575         [:print:], based on UTF-8 sequences of the unprintable characters.
13577         Describe problems with cursor caused by Windows Magnifier
13578         * etc/PROBLEMS: Describe the problem with cursor shape on
13579         MS-Windows due to Windows Magnifier.
13580         (Bug#20271)
13582         Make [:print:] support non-ASCII characters correctly
13583         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
13584         (BIT_PRINT): New bit mask.
13585         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
13586         * src/character.c (printablep): New function.
13587         * src/character.h (printablep): Add prototype.
13588         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
13589         of 'print', 'alnum', and 'alphabetic'.
13590         * doc/lispref/searching.texi (Char Classes): Document the new
13591         behavior of [:print:].
13592         * etc/NEWS: Mention the new behavior of [:print:].
13594         Assign correct general-category and names to surrogates
13595         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
13596         surrogates.  This avoids assigning them the default
13597         general-category of 'Cn', i.e. unassigned codepoints.
13598         (unidata-get-name): Give surrogates synthetic names.
13600 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
13602         Assume C89 offsetof in xterm.c, xlwmenu.c
13603         * lwlib/xlwmenu.c (offset):
13604         * src/xterm.c (cvt_string_to_pixel_args):
13605         Use offsetof, not XtOffset.
13607 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
13609         Assume C89 offsetof in widget.c
13610         * src/widget.c (XtOffset): Remove; no longer needed.
13611         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
13613         Fix think-o in previous patch
13614         * src/window.c (count_windows, get_leaf_windows):
13615         Don't optimize count_windows incorrectly.
13617 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
13619         Avoid some int overflows in window.c
13620         * src/print.c (print_object):
13621         * src/window.c (sequence_number):
13622         * src/window.h (struct window.sequence_number):
13623         Don't assume window sequence number fits in int.
13624         * src/window.c (window_select_count):
13625         * src/window.h (struct window.use_time, window_select_count):
13626         Don't assume window use time fits in int.
13627         * src/window.c (Fsplit_window_internal):
13628         Don't assume user-supplied integer, or sum, fits in int.
13629         (Fset_window_configuration, count_windows, get_leaf_windows)
13630         (save_window_save, Fcurrent_window_configuration):
13631         Use ptrdiff_t for object counts.
13632         (Fset_window_configuration): Omit unused local 'n'.
13633         (count_windows): Simplify by writing in terms of get_leaf_windows.
13634         (get_leaf_windows): Don't store through FLAT if it's null.
13635         (extract_dimension): New static function.
13636         (set_window_margins, set_window_fringes, set_window_scroll_bars):
13637         Use it to avoid undefined behavior when converting user-supplied
13638         integer to 'int'.
13640 2015-04-13  Glenn Morris  <rgm@gnu.org>
13642         Minor doc copyedits
13643         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
13644         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
13646 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
13648         [Gnus] Catch the invalid-operation that idna.el will issue
13649         * lisp/gnus/gnus-art.el (gnus-use-idna):
13650         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
13651         * lisp/gnus/message.el (message-use-idna):
13652         Catch the invalid-operation that idna.el will issue.
13654 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
13656         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
13658 2015-04-13  Sam Steingold  <sds@gnu.org>
13660         package--ensure-init-file: widen before looking for "(package-initialize)"
13662 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
13664         Change diff-switches default to `-u'
13665         (Bug#20290)
13666         * doc/emacs/files.texi (Comparing Files): Document the new default
13667         value of `diff-switches'.
13668         * doc/emacs/trouble.texi (Sending Patches): Document the preference
13669         for unified diff format.  Escape the plus in the suggested `-F' regexp
13670         value.
13671         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
13673 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
13675         (gnus-group--setup-tool-bar-update): Fix last change
13676         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
13677         cursor-sensor-functions should be a list of functions.
13679 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
13681         Use gmm-called-interactively-p in Gnus
13682         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
13684 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
13686         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
13687         (Bug#20321)
13688         * lisp/cus-start.el (read-buffer-function): Don't advertize
13689         iswitchb-read-buffer any more.
13690         (iswitchb): Don't tweak this obsolete group any more.
13692 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
13694         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
13696         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
13697         Adding a string after a constructor's argument list will use
13698         that string as the constructor function docstring.  If this string
13699         is absent but the struct itself was given a docstring, use that as
13700         the constructor's docstring.
13701         Fixes (bug#17284).
13703 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
13705         Deprecate `intangible' and `point-entered' properties
13706         * lisp/emacs-lisp/cursor-sensor.el: New file.
13707         * lisp/simple.el (pre-redisplay-functions): New hook.
13708         (redisplay--pre-redisplay-functions): New function.
13709         (pre-redisplay-function): Use it.
13710         (minibuffer-avoid-prompt): Mark obsolete.
13711         (redisplay--update-region-highlight): Adapt it to work as a function on
13712         pre-redisplay-functions.
13713         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
13714         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
13715         than point-entered to make the prompt intangible.
13716         * lisp/forms.el: Move `provide' calls to the end.
13717         (forms-mode): Don't use `run-hooks' on a local var.
13718         (forms--make-format, forms--make-format-elt-using-text-properties):
13719         Use cursor-intangible rather than `intangible'.
13720         (forms-mode): Enable cursor-intangible-mode.
13721         * lisp/isearch.el (isearch-mode): Use defvar-local.
13722         (cursor-sensor-inhibit): Declare.
13723         (isearch-mode): Set cursor-sensor-inhibit.
13724         (isearch-done): Set it back.
13725         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
13726         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
13727         any more.
13728         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
13729         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
13730         Add Edebug spec.
13731         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
13732         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
13733         inhibit-point-motion-hooks any more.
13734         (ses--cell-at-pos, ses--curcell): New functions, extracted from
13735         ses-set-curcell.
13736         (ses-set-curcell): Use them.
13737         (ses-print-cell, ses-setup): Use cursor-intangible instead of
13738         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
13739         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
13740         Use ses--cell-at-pos.
13741         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
13742         extracted from ses-command-hook.  Make them work with multiple windows
13743         displaying the same buffer.
13744         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
13745         Enable cursor-intangible-mode.
13746         (ses-command-hook): Remove cell highlight and mode-line update code.
13747         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
13748         Update for new name of text-property holding the cell name.
13749         (ses-rename-cell): Don't mess with mode-line-process.
13750         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
13751         cursor-sensor-functions property instead of point-entered.
13752         (erc-insert-timestamp-right, erc-format-timestamp):
13753         Use cursor-intangible rather than `intangible'.
13754         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
13755         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
13756         cursor-sensor-mode if needed.
13757         (erc-echo-timestamp): Adapt to calling convention of
13758         cursor-sensor-functions.
13759         (erc-insert-timestamp-right): Remove unused vars `current-window' and
13760         `indent'.
13761         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
13762         (gnus-update-group-mark-positions): Remove unused `topic' var.
13763         (gnus-group-insert-group-line): Remove unused var `header'.
13764         (gnus-group--setup-tool-bar-update): New function.
13765         (gnus-group-insert-group-line): Use it.
13766         (gnus-group-update-eval-form): Declare local
13767         dynamically-bound variables.
13768         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
13769         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
13770         (gnus-group-prepare-topics, gnus-topic-update-topic)
13771         (gnus-topic-change-level, gnus-topic-catchup-articles)
13772         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
13773         Use inhibit-read-only.
13774         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
13775         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
13776         * lisp/textmodes/reftex-index.el (reftex-display-index):
13777         Use cursor-intangible-mode if available.
13778         (reftex-index-post-command-hook): Check cursor-intangible.
13779         * lisp/textmodes/reftex-toc.el (reftex-toc):
13780         Use cursor-intangible-mode if available.
13781         (reftex-toc-recenter, reftex-toc-post-command-hook):
13782         Check cursor-intangible.
13783         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
13784         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
13785         (sgml-tags-invisible): Use with-silent-modifications and
13786         inhibit-read-only.  Enable cursor-sensor-mode.
13787         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
13788         calling convention of cursor-sensor-functions.
13789         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
13790         (table-point-entered-cell-hook, table-point-left-cell-hook):
13791         Don't autoload.
13792         (table-cell-entered-state): Remove var.
13793         (table--put-cell-point-entered/left-property)
13794         (table--remove-cell-properties):
13795         Use cursor-sensor-functions rather than point-entered/left.
13796         (table--point-entered/left-cell-function): Merge
13797         table--point-entered-cell-function and table--point-left-cell-function
13798         and adjust to calling convention of cursor-sensor-functions.
13800         Update ldef-boots.el
13802         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
13804         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
13806         Collapse successive char deletions in the undo log
13807         * src/cmds.c (remove_excessive_undo_boundaries): New function,
13808         extracted from Fself_insert_command.
13809         (Fdelete_char, Fself_insert_command): Use it.
13810         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
13811         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
13813         xterm and OSC 52: Add NEWS entry, and tweak the code
13814         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
13815         top-level.
13816         (terminal-init-xterm-activate-set-selection): Set a terminal property.
13817         (xterm--set-selection): Use it instead of checking the value of
13818         `terminal-initted'.  Don't use string-bytes.
13820 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
13822         xterm.el: Implement OSC-52 functionality for setting the X selection
13823         * lisp/term/xterm.el (xterm-max-cut-length): New var.
13824         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
13825         (terminal-init-xterm, xterm--version-handler): Use them.
13827 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
13829         Remove left over code from when we used an obsolete/loaddefs.el file
13830         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
13831         we used an obsolete/loaddefs.el file.
13833         * cedet/semantic/fw.el: Use declare.
13834         * cedet/semantic/fw.el (semantic-exit-on-input)
13835         (semanticdb-without-unloaded-file-searches): Use declare.
13836         (semantic-fw-add-edebug-spec): Remove.
13838         (completion-lisp-mode-hook): Use completion-separator-chars
13839         * lisp/completion.el (completion-lisp-mode-hook):
13840         Use completion-separator-chars rather than local key binding.
13842         * src/*.c: Set deactivate_mark buffer-locally
13843         (Bug#20260)
13844         * src/insdel.c (prepare_to_modify_buffer_1):
13845         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
13846         buffer-locally.
13848 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
13850         python.el: Keep symmetry on sexp navigation with parens
13851         (Bug#19954)
13852         * lisp/progmodes/python.el
13853         (python-nav--forward-sexp): Add argument skip-parens-p.
13854         (python-nav-forward-sexp, python-nav-backward-sexp)
13855         (python-nav-forward-sexp-safe)
13856         (python-nav-backward-sexp-safe): Use it.
13857         * test/automated/python-tests.el
13858         (python-nav-forward-sexp-1): Fix test.
13860 2015-04-12  João Távora  <joaotavora@gmail.com>
13862         Don't use `setq-local' in Gnus code
13863         This might break upstream builds with older Emacsen
13864         * lisp/gnus/message.el (message-mode): Use `set' and
13865         `make-local-variable' instead of `setq-local'.
13867 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
13869         Update Makefile.in's .PHONY dependencies
13870         * Makefile.in (change-history-commit, master-branch-is-current)
13871         (no-ChangeLog): Now phony.
13873         Remove configure's --with-mmdf option
13874         * configure.ac (MAIL_USE_MMDF): Remove.
13875         * etc/NEWS: Document this.
13876         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
13877         (Bug#20308)
13879         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
13880         That way, 'make install' won't think it's a man page.
13881         Reported by Ashish SHUKLA in:
13882         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
13884         Improve 'make change-history' prereq tests
13885         * Makefile.in (gen_origin): Fix to match what's in the master branch.
13886         (no-ChangeLog, master-branch-is-current): New rules.
13887         (change-history): Depend on them, to avoid similar future problems.
13888         Escape the local-variables string to pacify Emacs when editing
13889         Makefile.in.
13891 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
13893         * test/automated/package-test.el (with-package-test): Kill Packages buffer
13895         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
13896         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
13897         "Upgrade" last, and use capitalized instead of all-caps.
13899         * lisp/emacs-lisp/package.el: Completely silence async operations
13900         (package--make-autoloads-and-stuff): Silence autoloads.
13901         (package--save-selected-packages): New function, silences
13902         `customize-save-variable'.
13903         (package--user-selected-p, package-install-from-buffer)
13904         (package-delete, package-install): Use it.
13905         (package-install-from-archive)
13906         (package-menu--perform-transaction): Silence.
13907         (package-menu-execute): Feedback when operation starts.
13909         Use delay-mode-hooks when visiting the init-file
13910         * lisp/emacs-lisp/package.el (package--ensure-init-file):
13911         delay-mode-hooks
13912         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
13914         * lisp/files.el: Only message when saving if save-silently is nil
13915         (save-silently): New variable.
13916         (files--message): New function.
13917         (find-file-noselect, save-buffer, basic-save-buffer)
13918         (basic-save-buffer-2, save-some-buffers, not-modified)
13919         (append-to-file): Use them.
13921 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
13923         Support debug declarations in pcase macros
13924         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
13925         (pcase-UPAT): Use it.  Remove "`".
13926         (pcase--edebug-match-macro): New function.
13927         (pcase-defmacro): Support debug declarations.
13928         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
13929         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
13930         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
13932         pcase.el: Edebug support for `app' and vector patterns
13933         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
13934         (pcase-UPAT): Use it. Support `app' patterns.
13935         (pcase-QPAT): Support vector patterns.
13937         edebug.el: Disambiguate vector specifications
13938         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
13939         `(vector ...)' as a vector specification, not as a sublist.
13941         (gnus-summary-refer-thread): Don't clobber unread articles
13942         This fixes a bug where `A T' causes "random" articles to become marked
13943         as read.
13944         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
13945         gnus-newsgroup-unreads remains sorted.
13947         mouse-sel.el: Fix mouse-sel-get-selection-function
13948         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
13949         Use gui--last-selected-text-primary instead of no longer existing
13950         gui-last-selected-text.
13952         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
13954         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
13956 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
13958         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
13960         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
13962         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
13963         (byte-compile--interactive): New var.
13964         (byte-compile--message): New function.
13965         (byte-compile-log-1, byte-force-recompile)
13966         (byte-recompile-directory, byte-recompile-file)
13967         (byte-compile-file, compile-defun)
13968         (byte-compile-file-form-defmumble, byte-compile)
13969         (byte-compile-file-form-defalias, display-call-tree): Use it.
13971         * lisp/files.el: Don't message when nothing happened
13972         (save-some-buffers, basic-save-buffer): Before messaging to say
13973         "nothing was saved" check if (called-interactively-p 'any).
13975 2015-04-12  João Távora  <joaotavora@gmail.com>
13977         Summary: Improve sexp-based movement in message-mode
13978         Works by giving citations and smileys a different syntax.  This helps
13979         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
13980         sexp-based movement.
13981         * lisp/gnus/message.el (message--syntax-propertize): New function.
13982         (message-mode): Set syntax-related vars.
13983         (message-smileys): New variable.
13984         * test/automated/message-mode-tests.el: New file
13986 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
13988         Use bool for boolean in window.c
13989         * src/window.c: Omit unnecessary static function decls.
13990         (adjust_window_count, select_window, Fselect_window)
13991         (window_body_width, Fwindow_body_height, Fwindow_body_width)
13992         (set_window_hscroll, check_window_containing, Fwindow_at)
13993         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
13994         (unshow_buffer, replace_window, recombine_windows)
13995         (add_window_to_list, candidate_window_p, next_window)
13996         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
13997         (Fget_buffer_window, Fdelete_other_windows_internal)
13998         (replace_buffer_in_windows_safely, set_window_buffer)
13999         (Fset_window_buffer, Fforce_window_update)
14000         (temp_output_buffer_show, make_parent_window)
14001         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
14002         (resize_frame_windows, Fsplit_window_internal)
14003         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
14004         (Fresize_mini_window_internal, mark_window_cursors_off)
14005         (window_scroll, window_scroll_pixel_based)
14006         (window_scroll_line_based, scroll_command, Fscroll_other_window)
14007         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
14008         (Fmove_to_window_line, Fset_window_configuration)
14009         (delete_all_child_windows, apply_window_adjustment)
14010         (set_window_fringes, set_window_scroll_bars)
14011         (Fset_window_vscroll, foreach_window, foreach_window_1)
14012         (compare_window_configurations, Fcompare_window_configurations):
14013         Prefer 'bool', 'true', and 'false' for booleans.
14014         * src/window.h (WINDOW_MODE_LINE_LINES)
14015         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
14017 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
14019         Speed up byte-compilation and autoload generation by avoiding mode-hooks
14020         This prevents emacs-lisp-mode-hook from being run everytime an
14021         autoload file is generated, which can account for a fraction of
14022         package installation time depending on the hooks the user has
14023         configured.
14024         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
14025         * lisp/emacs-lisp/autoload.el (autoload-find-file)
14026         (autoload-find-generated-file): Use delay-mode-hooks.
14028         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
14029         (package-menu-refresh): Respect async and do new package checking.
14030         (list-packages): Use `package-menu-refresh' instead of repeating code.
14032         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
14033         (package--quick-help-keys): New variable.
14034         (package--prettify-quick-help-key): New function.
14035         (package-menu-quick-help): Use it.
14037         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
14038         (package--build-compatibility-table): require finder
14040         * test/automated/package-test.el: Fix new test
14042         * lisp/emacs-lisp/package.el: Silence async operations
14043         (package--silence): New variable.
14044         (package--message): New function.
14045         (package-import-keyring, package-refresh-contents)
14046         (package-compute-transaction, package-install, package-delete)
14047         (package-menu--perform-transaction, package-menu-execute): Use it.
14049         * test/automated/package-test.el: Test async functionality
14050         (package-test-update-archives-async): New test
14052 2015-04-11  Daiki Ueno  <ueno@gnu.org>
14054         Utilize `make-process' in epg.el
14055         * lisp/epg.el (epg-error-output): Abolish.
14056         (epg-context): New slot `error-buffer'.
14057         (epg--start): Use `make-process' and `make-pipe-process'.
14058         (epg--process-filter): Remove code separating stderr from stdout.
14059         (epg-wait-for-completion): Simplify `error-output' handling.
14060         (epg-reset): Dispose error buffer.
14062 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
14064         * .gitignore: Ignore doc temps and outputs.
14066         Port commit-msg to MSYS Bash+Gawk
14067         See Eli Zaretskii in:
14068         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
14069         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
14070         (cent_sign, print_at_sign, at_sign): Revert previous change.
14071         (print_at_sign): Prepend "BEGIN".
14072         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
14074         Port commit-msg to broken MS-Windows shell
14075         * build-aux/git-hooks/commit-msg (cent_sign):
14076         Just use UTF-8 here rather than ASCII + printf, as the latter fails
14077         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
14078         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
14080 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
14082         Support GnuTLS v3.4 and later on MS-Windows
14083         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
14084         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
14085         GnuTLS DLL to load according to value of libgnutls-version.
14086         (Bug#20294)
14088 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
14090         Minor quoting etc. fixes to misc manuals
14091         Fix some minor quoting and spacing issues.  Distinguish more
14092         clearly among grave accent and apostrophe (which are ASCII) and
14093         single quote (which is not).  Prefer the standard terms
14094         "apostrophe" and "grave accent" to alternative names that can be
14095         confusing.  Use apostrophes to single-quote ASCII text.
14096         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
14097         rather than approximating it in ASCII with grave accent.
14099 2015-04-11  Daiki Ueno  <ueno@gnu.org>
14101         Respect more keyword args in `make-process'
14102         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
14103         keywords as documented.
14105 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
14107         Extract ChangeLog entries when committing a directory
14108         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
14109         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
14110         Add a FIXME comment.
14111         (log-edit-changelog-entries): Extract from
14112         `log-edit-changelog-entries', handle FILE being a directory
14113         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
14115 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
14117         Fix problems found by --enable-gcc-warnings
14118         * src/process.c (create_process, Fmake_pipe_process)
14119         (Fmake_network_process): Omit unused locals.
14121         Fix commit-msg to handle scissors lines
14122         * build-aux/git-hooks/commit-msg:
14123         Ignore every line after a scissors line, such as a line generated
14124         by 'git commit -v'.  Problem reported by Johan Bockgård in:
14125         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
14127         port commit-msg to Gawk 3.0.4 (1999)
14128         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
14129         (print_at_sign, at_sign): New vars.  Use them to avoid problems
14130         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
14131         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
14133         Have commit-msg report commit failure
14134         * build-aux/git-hooks/commit-msg: If the commit is aborted,
14135         say so.  Simplify by doing this at the end.  Problem reported
14136         by Eli Zaretskii in:
14137         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
14139 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
14141         Clean up LDAP Configuration section of EUDC manual
14142         * doc/misc/eudc.texi: Combine indices.
14143         (LDAP Configuration): Use command markup.  Add index entries.
14144         Change formatting.  Wrap long lines.  Add noindent markup.
14146 2015-04-10  Daiki Ueno  <ueno@gnu.org>
14148         Add facility to collect stderr of async subprocess
14149         * src/w32.h (register_aux_fd): New function declaration.
14150         * src/w32.c (register_aux_fd): New function.
14151         * src/process.h (struct Lisp_Process): New member stderrproc.
14152         * src/process.c (PIPECONN_P): New macro.
14153         (PIPECONN1_P): New macro.
14154         (Fdelete_process, Fprocess_status, Fset_process_buffer)
14155         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
14156         (Fcontinue_process): Handle pipe process specially.
14157         (create_process): Respect p->stderrproc.
14158         (Fmake_pipe_process): New function.
14159         (Fmake_process): Add new keyword argument :stderr.
14160         (wait_reading_process_output): Specially handle a pipe process when
14161         it gets an EOF.
14162         (syms_of_process): Register Qpipe and Smake_pipe_process.
14163         * doc/lispref/processes.texi (Asynchronous Processes): Document
14164         `make-pipe-process' and `:stderr' keyword of `make-process'.
14165         * lisp/subr.el (start-process): Suggest to use `make-process' handle
14166         standard error separately.
14167         * test/automated/process-tests.el (process-test-stderr-buffer)
14168         (process-test-stderr-filter): New tests.
14169         * etc/NEWS: Mention new process type `pipe' and its usage with the
14170         `:stderr' keyword of `make-process'.
14172 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
14174         Minor quoting etc. fixes to lispref manual
14175         * doc/lispref/tips.texi (Documentation Tips):
14176         Distinguish more clearly among grave accent, apostrophe,
14177         and single quote.
14178         * doc/lispref/README, doc/lispref/buffers.texi:
14179         * doc/lispref/commands.texi, doc/lispref/control.texi:
14180         * doc/lispref/customize.texi, doc/lispref/display.texi:
14181         * doc/lispref/elisp.texi, doc/lispref/files.texi:
14182         * doc/lispref/frames.texi, doc/lispref/hash.texi:
14183         * doc/lispref/help.texi, doc/lispref/internals.texi:
14184         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
14185         * doc/lispref/markers.texi, doc/lispref/modes.texi:
14186         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
14187         * doc/lispref/os.texi, doc/lispref/positions.texi:
14188         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
14189         * doc/lispref/text.texi, doc/lispref/tips.texi:
14190         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
14191         Use American-style double quoting in ordinary text,
14192         and quote 'like this' when single-quoting in ASCII text.
14193         Also, fix some minor spacing issues.
14195 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
14197         Handle symlinked test directory in tramp-tests.el
14198         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
14199         (tramp--test-check-files): Use `file-truename' for directories.
14201 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
14203         Fix 'recenter' when visual-line-mode is turned on
14204         * src/window.c (Frecenter): Use the same code for GUI and TTY
14205         frames alike; use vmotion only for "initial" frames.  This is
14206         because vmotion doesn't support visual-line-mode.  Rewrite the
14207         'iarg >= 0' case to use move_it_* functions instead of using
14208         vmotion, for the same reason.  Fix the clipping of the argument
14209         value to support scroll-margin in all cases and avoid unwarranted
14210         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
14211         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
14212         which see.
14214 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14216         * abbrev.el (define-abbrev-table): Refine last change.
14218         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
14219         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
14220         use of c[ad]+r", so as to keep the "cl-" prefix on all
14221         cl-lib definitions.
14223         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
14225         * lisp/cedet/semantic: Remove some dead code
14226         * lisp/cedet/semantic/util-modes.el
14227         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
14228         any more.
14229         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
14230         not supported any more.
14231         (semantic-safe): Use `declare'.
14232         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
14233         (semantic-tag-intangible-p): Remove unused functions.
14234         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
14235         Remove unused function.
14237         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
14238         (gnus-article-hide-text, gnus-article-unhide-text)
14239         (gnus-article-unhide-text-type): Remove special handling of
14240         `intangible' since that property is not used any more.
14241         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
14243 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
14245         Use the VC root in `log-edit-listfun'
14246         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
14247         `log-edit-listfun'.
14249 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
14251         Fix description of Unix time, mention new function.
14252         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
14253         Unix time.
14254         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
14255         (Basic Operations on Units): Mention `calc-convert-exact-units'.
14257 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
14259         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
14261 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
14263         (log-edit-insert-changelog-entries): Don't add newline after the last entry
14264         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
14265         Don't add newline after the last entry.
14267 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
14269         css-mode.el: Add "not" pseudo-class
14270         (Bug#20267)
14271         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
14272         list of CSS pseudo-classes.
14274 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14276         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
14278 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
14280         Stop messing with the EMACS env var
14281         * misc.texi (Interactive Shell): Remove description of EMACS env var.
14283 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14285         Adapt 'make change-history' to coding cookie
14286         * Makefile.in (change-history): Adjust to change of format of
14287         ChangeLog file, which now has a coding cookie before an indented
14288         copyright notice.
14290 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14292         Adapt 'make change-history' to coding cookie
14293         * Makefile.in (change-history): Adjust to change of format of
14294         ChangeLog file, which now has a coding cookie before an indented
14295         copyright notice.
14297         gitlog-to-changelog coding cookie and mv -i
14298         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
14299         for copyright notice prototype, so that we get a proper "coding:"
14300         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
14301         existing ChangeLog.  Problems reported by Eli Zaretskii in:
14302         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
14304         Merge from gnulib
14305         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
14306         2015-04-09 gitlog-to-changelog: port to MS-Windows
14308 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
14310         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
14311         (Bug#20212)
14313 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14315         Stop messing with the EMACS env var
14316         (Bug#20202)
14317         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
14318         * lisp/comint.el (comint-exec-1):
14319         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
14320         * lisp/progmodes/compile.el (compilation-start): Same and bring
14321         INSIDE_EMACS's format in line with other users.
14323         css-mode.el (css-smie-rules): Fix indentation after complex selectors
14324         (Bug#20282)
14325         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
14326         inner structure of selectors.
14328 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14330         python.el: Indent docstring lines to base-indent
14331         (Bug#19595)
14332         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
14333         an initial patch.
14334         * lisp/progmodes/python.el
14335         (python-indent-context): Add :inside-docstring context.
14336         (python-indent--calculate-indentation): Handle :inside-docstring.
14337         (python-indent-region): Re-indent docstrings.
14338         * test/automated/python-tests.el (python-indent-region-5)
14339         (python-indent-inside-string-2): Fix tests.
14341         python.el: Increase native completion robustness
14342         (Bug#19755)
14343         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
14344         this and providing useful ideas.
14345         * lisp/progmodes/python.el
14346         (python-shell-completion-native-output-timeout): Increase value.
14347         (python-shell-completion-native-try-output-timeout): New var.
14348         (python-shell-completion-native-try): Use it.
14349         (python-shell-completion-native-setup): New readline setup avoids
14350         polluting current context, ensures output when no-completions are
14351         available and includes output end marker.
14352         (python-shell-completion-native-get-completions): Trigger with one
14353         tab only.  Call accept-process-output until output end is found or
14354         python-shell-completion-native-output-timeout is exceeded.
14356 2015-04-08  Samer Masterson  <samer@samertm.com>
14358         * lisp/eshell: Make backslash a no-op in front of normal chars
14359         (Bug#8531)
14360         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
14361         (eshell-parse-backslash): Return escaped character after backslash
14362         if it is special.  Otherwise, if the backslash is not in a quoted
14363         string, ignore the backslash and return the character after; if
14364         the backslash is in a quoted string, return the backslash and the
14365         character after.
14366         * test/automated/eshell.el (eshell-test/escape-nonspecial)
14367         (eshell-test/escape-nonspecial-unicode)
14368         (eshell-test/escape-nonspecial-quoted)
14369         (eshell-test/escape-special-quoted): Add tests for new
14370         `eshell-parse-backslash' behavior.
14372 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
14374         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
14375         after the file name.
14376         (Bug#20276)
14378 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14380         Minor quoting etc. fixes to Emacs manual
14381         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
14382         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
14383         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
14384         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
14385         * doc/emacs/indent.texi, doc/emacs/macos.texi:
14386         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
14387         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
14388         * doc/emacs/search.texi, doc/emacs/trouble.texi:
14389         * doc/emacs/vc1-xtra.texi:
14390         Use American-style double quoting in ordinary text,
14391         and quote 'like this' when single-quoting in ASCII text.
14392         Also, fix some minor spacing issues.
14394         Minor quoting etc. fixes to elisp intro
14395         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
14396         American-style double quoting in ordinary text.  In ASCII text,
14397         consistently quote 'like this' instead of `like this', unless
14398         Emacs requires the latter.
14400 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
14402         * CONTRIBUTE: Mention log-edit-insert-changelog.
14404         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
14406 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14408         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
14410 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
14412         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
14413         (Bug#20270)
14414         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
14415         Fix inheritance of initargs.
14417 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
14419         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
14420         while dowloading information.
14422         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
14423         (package--ensure-init-file): Check file contents before visiting.
14424         (package-initialize): Call it.
14425         (package-install-from-buffer, package-install): Don't call it.
14427 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
14429         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
14430         (Bug#17517)
14432 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
14434         Fix nasty scoping bug in tramp-cache.el
14435         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
14437 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
14439         Add notice to visual commands section
14440         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
14441         such as git call less with its -F option which omits pagination if
14442         the contents is less than one page long.  This interferes with
14443         eshell's visual (sub-)commands.
14445 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
14447         ffap: Support environment variable expansion in file names
14448         (Bug#19839)
14449         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
14450         environment variable expansion in file names.
14452 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
14454         Prefer double-quote to accent-grave in man pages
14456 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
14458         (Bug#20257)
14459         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
14461 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
14463         Update etc/PROBLEMS.
14464         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
14465         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
14466         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
14467         respectively); other minor updates and tweaks.  (Bug#20011)
14469 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
14471         Add doc strings for some Isearch state vars
14472         * lisp/misearch.el (multi-isearch-buffer-list)
14473         (multi-isearch-file-list): Add doc strings.
14474         (Bug#20232)
14476 2015-04-07  Alan Mackenzie  <acm@muc.de>
14478         Always mark "<" and ">" in #include directives with text properties.
14479         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
14480         matcher" with an invocation of c-make-font-lock-search-function to allow
14481         fontification when there's no trailing space on an "#include <..>" line.
14483 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
14485         Generate a ChangeLog file from commit logs
14486         * .gitignore: Add 'ChangeLog'.
14487         * build-aux/gitlog-to-changelog: New file, from Gnulib.
14488         * build-aux/gitlog-to-emacslog: New file.
14489         * CONTRIBUTE: Document the revised workflow.
14490         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
14491         instead of just special cases.
14492         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
14493         (ChangeLog, unchanged-history-files, change-history)
14494         (change-history-commit): New rules.
14495         * admin/admin.el (make-manuals-dist--1):
14496         Don't worry about doc/ChangeLog.
14497         * admin/authors.el: Add a FIXME.
14498         * admin/make-tarball.txt:
14499         * lisp/calendar/icalendar.el:
14500         * lisp/gnus/deuglify.el:
14501         * lisp/obsolete/gulp.el:
14502         * lwlib/README:
14503         Adjust to renamed ChangeLog history files.
14504         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
14505         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
14506         Remove obsolete discussion of merging ChangeLog files.
14507         New section "Maintaining ChangeLog history".
14508         * build-aux/git-hooks/pre-commit:
14509         Reject attempts to commit files named 'ChangeLog'.
14510         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
14511         * make-dist: Make and distribute top-level ChangeLog if there's a
14512         .git directory.  Distribute the new ChangeLog history files
14513         instead of scattered ChangeLog files.  Distribute the new files
14514         gitlog-to-changelog and gitlog-to-emacslog.
14515         (Bug#19113)
14517         Rename ChangeLogs for gitlog-to-changelog
14518         This patch was implemented via the following shell commands:
14519         find * -name ChangeLog |
14520         sed 's,.*,git mv & &.1,
14521         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
14522         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
14523         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
14524         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
14525         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
14526         sh
14527         git commit -am"[this commit message]"
14529 This file records repository revisions from
14530 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
14531 commit 2021680e9dcd277a4ebbdb613d535e6edc86f384 (inclusive).
14532 See ChangeLog.1 for earlier changes.
14534 ;; Local Variables:
14535 ;; coding: utf-8
14536 ;; End:
14538   Copyright (C) 2015 Free Software Foundation, Inc.
14540   This file is part of GNU Emacs.
14542   GNU Emacs is free software: you can redistribute it and/or modify
14543   it under the terms of the GNU General Public License as published by
14544   the Free Software Foundation, either version 3 of the License, or
14545   (at your option) any later version.
14547   GNU Emacs is distributed in the hope that it will be useful,
14548   but WITHOUT ANY WARRANTY; without even the implied warranty of
14549   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14550   GNU General Public License for more details.
14552   You should have received a copy of the GNU General Public License
14553   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.