* doc/emacs/sending.texi (Mail Misc): Fix two index entries for
[emacs.git] / ChangeLog.2
blobd4b7fd1e6e8246b798237d0530f15373f4c0eedb
1 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3         substitute-command-keys a few more doc strings
4         * lisp/allout.el (outlineify-sticky):
5         * lisp/files.el (hack-one-local-variable--obsolete):
6         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
7         Use substitute-command-keys on some doc strings so that
8         they don't use hard-coded key bindings or quoting styles.
10         Fix quoting in Fformat calls
11         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
12         (xpm_load, xpm_load_image, pbm_load, png_load_body)
13         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
14         (imagemagick_load, svg_load, svg_load_image, gs_load)
15         (x_kill_gs_process):
16         * src/lread.c (load_warn_old_style_backquotes):
17         * src/xfaces.c (load_pixmap):
18         * src/xselect.c (x_clipboard_manager_error_1):
19         Quote diagnostics according to user preference when calling
20         Fformat or its derivatives.
22 2015-08-15  Glenn Morris  <rgm@gnu.org>
24         * admin/admin.el (set-version, set-copyright): Remove deleted files.
26 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
28         Allow describe-function helpers to access buffer-local values.
29         This will be used by cedet/mode-local.el `describe-mode-local-override'
30         on `help-fns-describe-function-functions' in upstream CEDET.
31         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
32         `describe-function'.
33         (describe-function): Bind it, save it on the help xref stack.
35         Handle pulse-background being nil
36         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
37         pulse-background, handle it being nil.
39 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41         Fix "\`" confusion in Lisp strings
42         * admin/authors.el (authors-canonical-author-name):
43         Fix typo by using "\\`" not "\`" in string RE.
44         * lisp/obsolete/complete.el (PC-complete-as-file-name):
45         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
46         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
47         Use plain "`", not the equivalent-but-confusing "\`", in strings.
48         * lisp/textmodes/texinfmt.el: Fix comment likewise.
50 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
52         Remove 'nt/zipdist.bat' (no longer used)
53         * nt/zipdist.bat: Remove - no longer used.
55 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
57         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
58         rather than "getenforce".
59         (tramp-sh-handle-set-file-selinux-context): Do not
60         cache SELinux context if not all context components are given.
62 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
64         Add doc strings to 2 help-mode.el functions
65         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
66         strings.  (Bug#21263)
68         Remove files used by the old MS-Windows specific build procedure
69         * admin/unidata/makefile.w32-in:
70         * doc/emacs/makefile.w32-in:
71         * doc/lispintro/makefile.w32-in:
72         * doc/lispref/makefile.w32-in:
73         * doc/misc/makefile.w32-in:
74         * leim/makefile.w32-in:
75         * lib-src/makefile.w32-in:
76         * lib/makefile.w32-in:
77         * lisp/makefile.w32-in:
78         * nt/INSTALL.OLD:
79         * nt/config.nt:
80         * nt/emacs-src.tags:
81         * nt/envadd.bat:
82         * nt/gmake.defs:
83         * nt/makefile.w32-in:
84         * nt/multi-install-info.bat:
85         * nt/nmake.defs:
86         * nt/paths.h:
87         * src/makefile.w32-in: Files deleted.
88         * nt/configure.bat: Remove everything except the blurb about the
89         new build procedure.
90         * make-dist: Remove references to makefile.w32-in in various
91         directories, and to files in nt/ that were deleted.
92         * etc/NEWS: Mention the fact that the files were dropped.
94 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
97         (Bug#21248)
99 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
101         Default to inotify instead of gfile
102         * configure.ac (with_file_notification): Fix typo that
103         prevented suppression of file notification if HAVE_NS.
104         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
105         with_file_notification is 'yes' (Bug#21241).
106         * etc/NEWS: Mention this.
108         Fix broken URLs for ISO-IR
109         * doc/emacs/mule.texi (Charsets):
110         * lisp/international/mule-conf.el:
111         Fix broken URL (Bug#21248).
113         Low-level diagnostics now use ‘text-quoting-style’
114         * src/doprnt.c (doprnt):
115         Format ` and ' as per ‘text-quoting-style’.
116         * src/xdisp.c (vmessage, message): Mention that the format should
117         not contain ` or '.
119         Prefer ‘format’ to ‘substitute-command-keys’
120         * src/character.h (uLSQM, uRSQM): Move here ...
121         * src/doc.c (uLSQM, uRSQM): ... from here.
122         * src/doc.c (Fsubstitute_command_keys):
123         * src/syntax.c (Finternal_describe_syntax_value):
124         * lisp/cedet/mode-local.el (mode-local-print-binding)
125         (mode-local-describe-bindings-2):
126         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
127         * lisp/cus-theme.el (describe-theme-1):
128         * lisp/descr-text.el (describe-text-properties-1, describe-char):
129         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
130         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
131         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
132         * lisp/emacs-lisp/package.el (describe-package-1):
133         * lisp/faces.el (describe-face):
134         * lisp/help-fns.el (help-fns--key-bindings)
135         (help-fns--compiler-macro, help-fns--parent-mode)
136         (help-fns--obsolete, help-fns--interactive-only)
137         (describe-function-1, describe-variable):
138         * lisp/help.el (describe-mode):
139         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
140         to implement quoting style.  This generally makes the code simpler.
142         Extend ‘format’ to translate curved quotes
143         This is a followup to the recent doc string change, and deals with
144         diagnostics and the like.  This patch is more conservative than
145         the doc string change, in that the behavior of ‘format’ changes
146         only if its first arg contains curved quotes and the user prefers
147         straight or grave quotes.  (Come to think of it, perhaps we should
148         be similarly conservative with doc strings too, but that can wait.)
149         The upside of this conservatism is that existing usage is almost
150         surely unaffected.  The downside is that we'll eventually have to
151         change Emacs's format strings to use curved quotes in places where
152         the user might want curved quotes, but that's a simple and
153         mechanical translation that I'm willing to do later.  (Bug#21222)
154         * doc/lispref/help.texi (Keys in Documentation):
155         Move description of text-quoting-style from here ...
156         * doc/lispref/strings.texi (Formatting Strings):
157         ... to here, and describe new behavior of ‘format’.
158         * etc/NEWS: Describe new behavior.
159         * lisp/calc/calc-help.el (calc-describe-thing):
160         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
161         * lisp/info.el (Info-find-index-name):
162         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
163         of recently-added curved quotes.
164         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
165         Move from here ...
166         * src/lisp.h: ... to here.
167         * src/doc.c (text_quoting_style): New function.
168         (Fsubstitute_command_keys): Use it.
169         * src/editfns.c (Fformat): Implement new behavior.
170         * src/lisp.h (enum text_quoting_style): New enum.
172 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
174         * src/keyboard.c: Use false/true instead of 0/1 for booleans
175         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
177 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
179         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
180         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
182 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
184         Flush file properties in Tramp
185         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
186         (tramp-sh-handle-set-file-times):
187         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
188         (tramp-adb-handle-set-file-times): Flush the file properties of
189         the directory.
191 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
193         * doc/emacs/misc.text (Amusements): Fixed typo.
195 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
197         Don't miss warnings about removing string text properties while dumping
198         * src/alloc.c (purecopy): Warn about removing a string's text
199         properties even when the same string was already pure-copied
200         earlier.
201         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
202         (elisp--xref-format-extra): Fix the commentary.
204 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
206         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049)
208 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
210         * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038)
211         * lisp/progmodes/compile.el: Use lexical-binding.
212         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
214 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
216         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
217         * lisp/uniquify.el: Remove redundant `:group's.
219 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
221         * lisp/net/tramp-adb.el
222         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
223         result to prevent modification of the tramp-cache by side effects.
224         Use the correct cache key.
226 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
228         Make add_to_log varargs
229         * src/alloc.c (run_finalizer_handler):
230         * src/charset.c (load_charset_map_from_vector):
231         * src/nsimage.m (ns_load_image):
232         * src/xfaces.c (load_pixmap, load_color2):
233         Simplify, now that add_to_log has a variable number of args.
234         * src/image.c (image_error): Take a variable number of args.
235         Callers simplified.
236         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
237         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
238         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
239         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
241         Optional args for holiday-greek-orthodox-easter
242         * etc/NEWS: Document this.
243         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
244         Add optional args N and STRING, mimicking the API and code of
245         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
247 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
249         xref-find-definitions: Exclude more generic function items.
250         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string.
251         (cl--generic-find-defgeneric-regexp): New.
252         (find-function-regexp-alist): Add it.
253         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
254         elisp-mode.el, change to search for ";;; Code:"
255         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
256         (find-function-regexp-alist): Add them.
257         * lisp/progmodes/elisp-mode.el:
258         (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due
259         to bug#21237.
260         (elisp--xref-find-definitions): Exclude co-located default methods for
261         generic functions. Also exclude implicitly declared defgeneric.
262         (elisp--xref-find-definitions): Handle C source properly. Exclude minor
263         mode variables defined by 'define-minor-mode'.
264         * test/automated/elisp-mode-tests.el: Declare generic functions, add
265         tests for them.
266         (xref-elisp-test-run): Fix bug.
267         (emacs-test-dir): Improve initial value.
268         (find-defs-defun-defvar-el): Don't expect defvar.
269         (find-defs-feature-el): Match change to find-feature-regexp.
271 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
273         Improve warning about purecopy of strings with properties
274         * src/alloc.c (purecopy): Show the offending string with the
275         warning about removing its text properties.
277 2015-08-12  Alan Mackenzie  <acm@muc.de>
279         Introduce new macros to cover Emacs's new names in cl-lib.el.
280         This also eliminates `mapcan' warnings in XEmacs.
281         progmodes/cc-defs.el (c--mapcan-status): new variable to characterise
282         [X]Emacs versions.
283         (top-level): Require either 'cl or 'cl-lib, depending on
284         c--mapcan-status.
285         Change this back to cc-external-require from an eval-when-compile
286         require.
287         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
288         (c--delete-duplicates): New macros which expand into either old or new
289         names.
290         (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros
291         rather than the old names.
292         progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather
293         than mapcan.
294         progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
295         progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
296         depending on c--mapcan-status.
297         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
298         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
299         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
300         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
301         (c-decl-block-key, c-keywords, c-keywords-obarray)
302         (c-regular-keywords-regexp, c-primary-expr-regexp,
303         c-primary-expr-regexp)
304         (c-block-prefix-disallowed-chars, c-known-type-key,
305         c-nonlabel-token-key)
306         (c-make-init-lang-vars-fun): Use the new macros rather than the old
307         names.
309 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
311         loadhist.el (read-feature): Conform to completing-read
312         * lisp/loadhist.el (read-feature): According to `completing-read'
313           documentation, if collection is a list, then it must be a list of
314           strings. And not a list of symbols like before.
316 2015-08-12  David Kastrup  <dak@gnu.org>
318         Deal gracefully with up-events (Bug#19746)
319         * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
320         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
321         those may easily be injected by user-level Lisp code.
322         (read_key_sequence): Discard unbound up-events like unbound
323         down-events: they are even more likely only relevant for special
324         purposes.
325         While Emacs will not produce up-events on its own currently (those are
326         converted to drag or click events before being converted to
327         Lisp-readable structures), the input queue can be made to contain them
328         by synthesizing events to `unread-command-events'.  Emacs should deal
329         consistently with such events.
331 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
333         Fix display of thin lines whose newline has line-height property of t
334         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
335         and descent values of non-empty glyph rows, since they could have
336         forced low values deliberately.  (Bug#21243)
338 2015-08-12  Richard Stallman  <rms@gnu.org>
340         Offer to combine multiple To or CC fields.
341         * sendmail.el (mail-combine-fields): New function.
342         (mail-send): Call 'mail-combine-fields'.
344         Don't decrypt encrypted files.
345         * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
347         Handle encrypted mbox files.
348         * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox
349         file if necessary.
351         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
352         * rmail.el (rmail-epa-decrypt-1): New subroutine.
353         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
354         In a mime message, reenable Mime and show the parts that
355         were shown before.
356         Add keyword "decrypt" if anything decrypted.
358         epa-inhibit inhibits auto-recognition of .gpg files
359         * lisp/epa-file.el (epa-inhibit): New variable.
360         (epa-file-handler): Check epa-inhibit.
362 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
364         * emacs-lisp/lisp-mnt.el (lm-header): save-excursion
366 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
368         Respect python.el imenu when semantic-mode is off
369         Fixes debbugs:21220
370         * lisp/cedet/semantic/wisent/python.el: Do not force
371         wisent-python-default-setup on python-mode-hook.
373 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
375         Give names to Unicode code points in C code
376         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
377         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
378         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
379         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
380         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
381         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
382         (OBJECT_REPLACEMENT_CHARACTER):
383         New named constants for Unicode code points.
384         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
385         * src/composite.c (char_composable_p):
386         * src/lread.c (readevalloop, read1):
387         * src/xdisp.c (get_next_display_element):
388         Use them.
389         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
390         Remove; now in character.h.
392 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
394         elisp--xref-find-definitions handle cl-defstuct default constructor
395         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
396         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
397         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
398         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
399         from xref-elisp-test for ease of debugging.
400         (xref-elisp-deftest): Rename from xref-elisp-test.
401         (find-defs-constructor): New test.
402         (find-defs-defgeneric-el): Match batch test config.
403         (compile): Required for find-defs compilation-minor-mode test.
404         (find-defs-defvar-el): Match code change.
405         (find-defs-face-el): Match code change.
406         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
407         Improve doc string.
409 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
411         * lisp/replace.el (perform-replace): Document `replacements'.
412         (perform-replace): Move the description of the format of `replacements' from
413         the body's comment to the docstring.
415 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
417         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
418         sequence.  Recent adb version send initial escape sequences, even
419         when terminal type is set to TERM=dumb.
421 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
423         Rewrite elisp--xref-find-definitions to handle many more cases; add tests.
424         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): deleted
425         (elisp--xref-format-cl-defmethod): new
426         (find-feature-regexp): new
427         (find-alias-regexp): new
428         (elisp--xref-make-xref): new
429         (elisp--xref-find-definitions): Rewrite using the above, handle many more
430         cases. Always output all available definitions.
431         (xref-location-marker): No need for special cases.
432         * test/automated/elisp-mode-tests.el: Add more tests of
433         elisp--xref-find-definitions, improve current tests.
435 2015-08-10  Phillip Lord  <phillip.lord@newcastle.ac.uk>
437         * ChangeLog.2: Formatting update.
438         Formatting for one change entry did not follow standard ChangeLog
439         conventions and has now been updated.
441 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
443         Fix recording of events pushed onto unread-command-events
444         * src/keyboard.c (read_char): Make sure events read from
445         unread-command-events and unread-post-input-method-events are
446         always recorded by record_char.  Reported by David Kastrup
447         <dak@gnu.org>, see
448         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
450 2015-08-10  Samer Masterson  <samer@samertm.com>
452         Set file buffer as current for "--file"
453         * lisp/startup.el (command-line-1): Set file buffer as current before
454         it is displayed so it can be used with options like
455         "--eval".  (Bug#21095)
457 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
459         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
460         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
461         after setting LC_ALL to the desired locale, to avoid affecting how
462         numbers are read and printed.  (Bug#21223)
464 2015-08-10  Alan Mackenzie  <acm@muc.de>
466         Fix "Invalid search bound (wrong side of point)" in fontification.
467         progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an
468         initialization expression, check point is not beyond the fontification
469         limit.
471 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
473         Fix DPI calculation when Xft/DPI is default
474         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
475         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
476         Remove unnecessary cast while we're in the neighborhood.
478 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
480         Add project-vc-search-path and project-vc-ignores
481         * lisp/progmodes/project.el (project-vc): New group.
482         (project-vc-search-path, project-vc-ignores): New variables.
483         (project--value-in-dir): Utility function.
484         (project-search-path, project-ignores): Use them.
485         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
486         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
488 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
490         Fix some minor quoting issues with grave accent
491         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
492         Remove redundant quotes.
493         * src/doc.c (uLSQM, uRSQM): New macros.
494         * src/doc.c (Fsubstitute_command_keys):
495         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
496         preference for quotes rather than hardcoding the ‘grave’ style.
497         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
498         (re_match_2_internal) [DEBUG]: In debugging output, quote C
499         strings with "...", not `...'.
501         ChangeLog.2 ignores remote-tracking merges
502         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
503         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
504         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
506 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
508         Use kpsewhich in ffap-latex-mode, if available
509         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
510         (ffap-latex-mode): Use kpsewhich if available.
512         ffap: disallow braces in filenames for tex modes
513         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
514         braces in tex-related modes.
516         Remove useless backslashes from ffap-string-at-point-mode-alist
517         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
518         misleading backslashes from default value.
520         Augment docstring of ffap-string-at-point-mode-alist
521         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
522         and END are handled.
524 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
526         Remove no-op calls to substitute-command-keys
527         * lisp/org/org-src.el (org-edit-src-code)
528         (org-edit-fixed-width-region):
529         * lisp/simple.el (completion-setup-function):
530         Remove calls to substitute-command-keys that always just return
531         their argument.
533 2015-08-09  Daiki Ueno  <ueno@gnu.org>
535         Utilize `quit-window' in epa.el
536         * epa.el (epa-exit-buffer-function): Set to `quit-window'.
537         (Bug#21210)
539 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
541         fix link to source code in help window
542         * lisp/help-fns.el (find-lisp-object-file-name): remove code that
543         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
544         'No longer include timestamp in header of .elc files'. Add code
545         that will return .el source file in load-path.
547 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
549         * isearch.el (isearch-search-fun-default): (Bug#21164)
550         Respect `isearch-lax-whitespace' when searching through
551         `isearch-word'.
553 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
555         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
557         * org.el: Fix up some lexical scoping warnings, and use dolist
558         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
559         (org-set-regexps-and-options, org-assign-fast-keys)
560         (org-contextualize-keys, org-contextualize-validate-key)
561         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
562         (org-find-olp, org-find-exact-heading-in-directory)
563         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
564         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
565         (org-replace-escapes): Use dolist.
566         (org-mode): Optimize away XEmacs-only code.
567         (org-refile-get-targets): Remove unused var `f'.
568         (org-fast-todo-selection): Remove unused var `e'.
569         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
570         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
571         (org-format-latex): Use dolist.  Remove unused var `e'.
572         (org-toggle-heading): Access vars lexically rather than dynamically.
573         (org-backward-sentence, org-forward-sentence, org-meta-return)
574         (org-kill-line): Mark arg as unused.
575         (org-submit-bug-report): Silence compiler warning.
576         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
577         (org-get-cursor-date): Remove unused var `tm'.
578         (org-comment-or-uncomment-region): Use standard name `_'.
579         (reftex-docstruct-symbol, reftex-cite-format): Declare to
580         silence byte-compiler.
581         (org-reftex-citation): Add `org--' prefix to dynamically scoped
582         `rds' var.
584 2015-08-08  Nicolas Petton  <nicolas@petton.fr>
586         Merge remote-tracking branch 'origin/fix/subsequence-error-with-negative-sequences'
588 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
590         Electric quote if coding is undecided or no conv
591         * lisp/electric.el (electric--insertable-p): Also say that a
592         string is insertable if the buffer file coding system is undecided
593         or uses no conversion, as curved quotes will work in either case.
595         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
597 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
599         Fix overlay string display regressions introduced in Emacs 24.5
600         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
601         buffer position, if we move the iterator to a new position as
602         result of jumping over text covered by a "replacing" display
603         property.
604         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
606         Support recovery from C stack overflow on MS-Windows
607         * src/w32fns.c (w32_reset_stack_overflow_guard)
608         (stack_overflow_handler): New functions for handling C stack
609         overflow exceptions.
610         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
611         specially, and zero out except_addr if we do.
612         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
613         mode.
614         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
615         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
616         the MinGW build, but the code guarded by that is for Posix hosts.
617         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
618         w32_reset_stack_overflow_guard.
619         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
620         (sigsetjmp): New macro.
621         (w32_reset_stack_overflow_guard): Declare the prototype.
622         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
624 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
626         Improve error signalling for seq-subseq.
628         * lisp/seq.el (seq-subseq): The existing behaviour is to error
629         when indexes are too large, but to silently ignore numbers which
630         are too negative for lists.  String and vector handling errors in
631         both cases. This has been regularlised. Error signalling behaviour
632         has been explicitly added to the docstring.
634         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
635         therefore also impacted by this change. The docstring has been
636         updated to reflect this.
638         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
639         added for these exceptional cases, as well as one non exceptional
640         base case.
642 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
644         Improve error checking in tramp-adb.el
645         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
646         Improve error checking.  "ls -l" on Android in Enforcing mode can
647         print "lstat './FILENAME failed: Permission denied".
649 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
651         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
652         non-struct vectors.
654 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
656         lisp/window.el: fix typo, more `display-buffer-use-some-frame'
657         * lisp/window.el: fix typo that broke build
658         (display-buffer--action-function-custom-type): add
659         `display-buffer-use-some-frame'
660         (display-buffer): add `display-buffer-use-some-frame' to doc string
662         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
663         * lisp/window.el (display-buffer-use-some-frame): Add support for
664         'inhibit-same-window in alist.
665         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
666         'inhibit-same-window in alist.
668 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
670         Avoid infinite loop in display of invisible text in strings
671         * src/xdisp.c (handle_invisible_prop): If the next change of
672         invisibility spec does not mean the beginning of a visible text,
673         update the string position from which to start the search for the
674         next invisibility change.  This avoids an infinite loop when we
675         have more than one invisibility spec that are made inactive by
676         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
677         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
678         for the situation that caused bug #21200.
680 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
682         * lisp/emacs-lisp/package.el: Simplify describe-package-1
683         (package-help-section-name-face): New face.
684         (package--print-help-section): New function.
685         (describe-package-1): Refactor section printing.
686         (package-make-button): Use face instead of font-lock-face, which
687         doesn't work on buttons.
689         * lisp/emacs-lisp/package.el: Define custom faces
690         (package-name-face, package-description-face)
691         (package-status-built-in-face, package-status-external-face)
692         (package-status-available-face, package-status-new-face)
693         (package-status-held-face, package-status-disabled-face)
694         (package-status-installed-face, package-status-dependency-face)
695         (package-status-unsigned-face, package-status-incompat-face)
696         (package-status-avail-obso-face): New faces.
697         (package-menu--print-info-simple): Use them.
699 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
701         Fix some confusion with ‘format’
702         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
703         (allout-graphics-modification-handler):
704         Protect arbitrary string in a format context with "%s" format.
705         * lisp/avoid.el:
706         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
707         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
708         * lisp/erc/erc-button.el (erc-button-beats-to-time):
709         * lisp/gnus/message.el (message-send-form-letter):
710         * lisp/org/ob-core.el (org-babel-check-evaluate)
711         (org-babel-confirm-evaluate):
712         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
713         * lisp/org/ox-latex.el (org-latex-compile):
714         * lisp/org/ox-man.el (org-man-compile):
715         * lisp/org/ox-odt.el (org-odt-template):
716         * lisp/org/ox-texinfo.el (org-texinfo-compile):
717         * lisp/progmodes/prolog.el (prolog-help-info)
718         (prolog-view-predspec):
719         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
720         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
721         * lisp/textmodes/rst.el (rst-replace-lines):
722         Change (message (format ...)) to (message ...), and likewise
723         for ‘error’.  This lessens the probability of confusion when the
724         output of ‘format’ contains ‘%’.
726 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
728         * lisp/replace.el (replace-character-fold): Default to nil
730         * lisp/character-fold.el: Fix lax whitespace
731         (character-fold-table): Don't make space match other whitespace chars.
732         (character-fold-to-regexp): Simplify lax behaviour.
734 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
736         Preserve window point in xref-find-definitions-other-window
737         Fix the problem reported by Ingo Logmar in
738         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
739         * lisp/progmodes/xref.el (xref--goto-char): Extract from
740         xref--goto-location.
741         (xref--pop-to-location): Use it. Replace xref--goto-location with
742         a direct xref-location-marker call.
743         (xref--show-location): Likewise.
744         (xref--display-position): Use xref--goto-char.
746         * lisp/progmodes/project.el: Add a paragraph to the front matter.
748 2015-08-04  David Kastrup  <dak@gnu.org>
750         Do not overwrite preexisting contents of unread-command-events
751         * lisp/vc/emerge.el (emerge-show-file-name):
752         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
753         (vhdl-comment-insert, vhdl-hooked-abbrev):
754         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
755         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
756         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
757         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
758         * lisp/obsolete/vip.el (vip-escape-to-emacs)
759         (vip-prefix-arg-value, vip-prefix-arg-com):
760         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
761         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
762         (quail-tibkey-update-translation):
763         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
764         * lisp/leim/quail/lao.el (quail-lao-update-translation):
765         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
766         (quail-japanese-self-insert-and-switch-to-alpha):
767         * lisp/leim/quail/hangul.el (hangul2-input-method)
768         (hangul3-input-method, hangul390-input-method):
769         * lisp/language/hanja-util.el (hangul-to-hanja-char):
770         * lisp/international/robin.el (robin-input-method):
771         * lisp/international/quail.el (quail-start-translation)
772         (quail-start-conversion):
773         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
774         (gnus-article-describe-key-briefly):
775         * lisp/eshell/em-hist.el (eshell-list-history):
776         * lisp/term.el (term-dynamic-list-input-ring)
777         (term-dynamic-list-completions):
778         * lisp/subr.el (momentary-string-display):
779         * lisp/simple.el (read-quoted-char):
780         * lisp/pcomplete.el (pcomplete-show-completions):
781         * lisp/kmacro.el (kmacro-repeat-on-last-key):
782         * lisp/info.el (Info-summary):
783         * lisp/ehelp.el (electric-help-command-loop):
784         * lisp/ebuff-menu.el (electric-buffer-list)
785         (Electric-buffer-menu-exit):
786         * lisp/double.el (double-translate-key):
787         * lisp/comint.el (comint-dynamic-list-input-ring)
788         (comint-dynamic-list-completions): Do not overwrite preexisting
789         contents of `unread-command-events' when putting new events into
790         it.
792 2015-08-04  Daniel Colascione  <dancol@dancol.org>
794         Improve ansi-color filtering of unrecognized escape sequences
795         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
796         escape sequences.
797         (ansi-color-filter-apply): Filter out unrecognized escape sequences
798         (ansi-color-apply): Filter out unrecognized escape sequences
800 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
802         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
803         definitions to `easy-menu-define', improve a couple to account for
804         async, and add a couple of new commands.
806 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
808         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
810 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
812         Add new 'calendar-weekend-days' option
813         Make the days receiving the 'calendar-weekend-header' face freely
814         customizable, as they differ by region/culture.
815         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
816         new variable.
817         * lisp/calendar/calendar.el (calendar-generate-month): New variable
818         calendar-weekend-days to customize day header fontification.
820 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
822         Redo text-quoting-style variable
823         Rename help-quote-translation to text-quoting-style,
824         and use symbols rather than characters as values.
825         This follows suggestions along these lines by Alan Mackenzie in:
826         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
827         and by Drew Adams in:
828         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
829         * doc/lispref/help.texi (Keys in Documentation)
830         * etc/NEWS:
831         * lisp/cus-start.el (standard):
832         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
833         Document and/or implement the new behavior instead of the old.
834         (syms_of_doc): New symbols 'grave' and 'straight'.
836 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
838         nnimap.el: Use IMAP MOVE extension if available
839         * lisp/gnus/nnimap.el (nnimap-request-move-article)
840         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
841         Use MOVE extension if available.
843         nnimap.el: Explicitly ask for server capabilities
844         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
845         capabilities will be returned in the login-result.
847 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
849         Treat help strings like other doc strings
850         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
851         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
852         substitute-command-keys.
853         * src/keyboard.c (show_help_echo, parse_menu_item): Call
854         substitute-command-keys on the help string before displaying it.
856         Also mention "curly quotes"
857         See Drew Adams's email in:
858         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
859         * doc/lispref/help.texi (Keys in Documentation):
860         Add index entry "curly quotes".
861         * etc/NEWS: Use the phrase "curly quotes" too.
863         ede-proj-target-makefile docstring tweaks
864         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
865         Consistently use "all:" to describe the all: target,
866         replacing three different and confusingly-quoted usages.
868 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
870         Whitespace fixes
872 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
874         Don't abort emacsclientw when -a was specified
875         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
876         out if we are in emacsclientw and -a was specified.
878 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
880         Fix handling of 1st keystroke on MS-Windows
881         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
882         This is needed to correctly handle the session's first keystroke,
883         if it has any modifiers.  (Bug#19994)
885 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
887         Substitute some customization etc. doc strings
888         These changes apply substitute-command-keys to some
889         doc strings that were going through untranslated
890         when creating customization or other widgets.
891         * lisp/cus-edit.el (custom-group-value-create):
892         * lisp/wid-edit.el (widget-default-create):
893         (widget-push-button-value-create):
894         Treat the widget tag as a doc string.
895         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
896         Treat the :documentation value as a doc string.
897         * lisp/wid-edit.el (widget-choose):
898         Treat the choice names as doc strings.
899         (widget-default-create): Treat the :doc value as a doc string.
900         (widget-toggle-value-create): Treat the :on and :off values
901         as doc strings.
902         (widget-documentation-string-value-create):
903         Substitute the doc string.
905 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
907         Add a second argument to project-ignores
908         * lisp/progmodes/project.el (project-ignores): Add a second
909         argument DIR.
910         * lisp/progmodes/project.el (project-ignores): Only include the VC
911         ignores if DIR is the VC root.
912         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
914 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
916         Prevent incorrect display when 'line-spacing' variable is set
917         * src/xdisp.c (try_window_id): Give up this optimization if the
918         buffer has its 'line-spacing' variable set non-nil.
920 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
922         Don't pass NOVISIT to find-file
923         * lisp/progmodes/etags.el (next-file):
924         Don't pass NOVISIT to find-file (bug#21175).
926         Ignore buffer restriction for tags-loop-eval
927         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
928         restriction (bug#21167).
930 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
932         Fix a thinko in 'ffap-gopher-at-point'
933         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
935         Honor 'line-spacing' for empty lines
936         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
937         property and 'line-spacing' frame parameter or variable or
938         property for empty lines, by doing the same processing as in
939         x_produce_glyph for newline characters.  (Bug#21165)
941 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
943         Simplify by assuming C99 integer division
944         * src/floatfns.c (ceiling2, floor2, truncate2):
945         Assume C99 (i.e., Fortran) semantics for integer division.
946         This simplifies the code.
948 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
950         Don't overflow if computing approximate percentage
951         * lisp/align.el (align-region):
952         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
953         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
954         * lisp/cus-edit.el (custom-buffer-create-internal):
955         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
956         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
957         (checkdoc-next-message-error):
958         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
959         * lisp/epa.el (epa-progress-callback-function):
960         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
961         * lisp/ffap.el (ffap-menu-rescan):
962         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
963         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
964         * lisp/gnus/nneething.el (nneething-retrieve-headers):
965         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
966         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
967         * lisp/gnus/nnml.el (nnml-retrieve-headers):
968         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
969         * lisp/gnus/nntp.el (nntp-retrieve-headers)
970         (nntp-retrieve-articles):
971         * lisp/imenu.el (imenu--relative-position):
972         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
973         (skkdic-convert-okuri-nasi):
974         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
975         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
976         * lisp/org/org-list.el (org-update-checkbox-count):
977         * lisp/org/org.el (org-table-map-tables)
978         (org-update-parent-todo-statistics):
979         * lisp/play/decipher.el (decipher-insert-frequency-counts)
980         (decipher-analyze-buffer):
981         * lisp/profiler.el (profiler-format-percent):
982         * lisp/progmodes/cc-cmds.el (c-progress-update):
983         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
984         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
985         (idlwave-list-load-path-shadows):
986         * lisp/progmodes/opascal.el (opascal-step-progress):
987         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
988         (vhdl-scan-directory-contents):
989         * lisp/textmodes/bibtex.el (bibtex-progress-message):
990         * lisp/textmodes/flyspell.el (flyspell-small-region)
991         (flyspell-external-point-words):
992         * lisp/textmodes/table.el (table-recognize):
993         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
994         progress-report percentages and the like.  This avoids problems
995         if (* 100 NUMERATOR) would overflow.
996         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
997         * lisp/gnus/registry.el (registry-reindex):
998         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
999         * lisp/descr-text.el (describe-char):
1000         * lisp/org/org-colview.el (org-nofm-to-completion):
1001         * lisp/ps-print.el (ps-plot):
1002         * lisp/simple.el (what-cursor-position):
1003         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
1004         more-complicated and less-accurate approximation.
1006         Fix some int overflows in profiler.c
1007         * src/profiler.c (make_log): Make args EMACS_INT, not int,
1008         to avoid unwanted behavior on 'int' overflow.
1009         (make_log, evict_lower_half, record_backtrace):
1010         Use ptrdiff_t, not int, for object indexes.
1012         Port to pedantic memcpy
1013         * src/keyboard.c (menu_bar_items, tool_bar_items):
1014         * src/xrdb.c (magic_db):
1015         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
1017         Merge from gnulib
1018         This incorporates:
1019         2015-07-29 time_rz: port to pedantic memcpy
1020         * lib/time_rz.c: Copy from gnulib.
1022 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
1024         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
1025         When updating the very last entry, tabulated-list-print would
1026         erase it and then try to look at the next one (which obviously
1027         isn't there).
1029 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
1031         Allow to use the old key processing code on MS-Windows
1032         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
1033         New variable.
1034         (w32_wnd_proc): Use it to invoke the old code that processed
1035         character keys, as fallback, when this variable is non-nil.  Fix
1036         typos in comments.  (Bug#19994)
1038 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
1040         Improve handling of Unicode keyboard input on MS-Windows
1041         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
1042         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
1043         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
1044         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
1045         successful, don't call TranslateMessage.  (Bug#19994)
1047 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
1049         Fix default-directory in changeset diffs after vc-print-log
1050         * lisp/vc/log-view.el (log-view-diff-common): Move the
1051         revision-granularity check back into log-view-diff-changeset.
1052         (log-view-diff-changeset): Bind default-directory to the current
1053         VC root.
1055         Rename project-directories to project-roots
1056         * lisp/progmodes/project.el (project-search-path-function)
1057         (project-search-path): Update the docstring.
1058         (project-directories): Rename to `project-roots', update all
1059         callers and implementations accordingly.
1060         (project-root): Remove.
1061         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
1062         as the default file mask.
1064 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
1066         Support long URLs in w32-shell-execute
1067         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
1068         and filename_to_ansi to convert the DOCUMENT argument, as it could
1069         be a URL that is not limited to MAX_PATH characters.  Instead, use
1070         MultiByteToWideChar directly, and allocate heap storage as
1071         required to accommodate the converted string.  Likewise with
1072         non-Unicode operation.  Ensure OPERATION is null-terminated, even
1073         if it is longer than 32K bytes.  (Bug#21158)
1075 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
1077         vc-mtn-find-revision handle null rev.
1078         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
1080 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
1082         Add docs for display-buffer action display-buffer-use-some-frame
1083         * lisp/window.el (display-buffer-use-some-frame): improve doc string
1084         * doc/lispref/windows.texi (Display Action Functions): add
1085           display-buffer-use-some-frame
1086         * etc/NEWS: mention display-buffer-use-some-frame
1088         Add display-buffer action display-buffer-use-some-frame
1089         * lisp/window.el (display-buffer-use-some-frame): new
1091         Handle vc-mtn error more gently
1092         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
1094 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
1096         Fix Tramp problems with multihops, and nc.
1097         * lisp/net/tramp-cache.el (tramp-get-file-property)
1098         (tramp-set-file-property, tramp-flush-file-property)
1099         (tramp-get-connection-property, tramp-set-connection-property)
1100         (tramp-flush-connection-property): Remove hop from vector.
1101         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
1102         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
1103         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
1104         netstat to 60".
1105         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
1106         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
1107         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
1108         Keep hop in result.
1109         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
1110         Add hop tests.
1112 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
1114         Resurrect highlighting of repeated words by Flyspell Mode
1115         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
1116         characters between point and the doublon candidate, so that
1117         flyspell-word-search-backward finds it.  (Bug#21157)
1119         Fix redisplay of large images on expose events
1120         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
1121         between signed negative values and unsigned values.  This
1122         prevented redisplay on expose events when the window showed a very
1123         large image.
1125 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
1127         Remove unnecessary stack overflow dependency
1128         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
1129         Don't worry about $ac_cv_header_sys_resource_h and
1130         $ac_cv_func_getrlimit, as they're no longer needed for this.
1131         Problem reported by Eli Zaretskii in:
1132         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
1134 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
1136         Pacify compilation -Wincompatible-pointer-types warnings
1137         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
1138         warning.
1139         (CompareStringW_Proc): New typedef.
1140         (w32_compare_strings): Use it, to pacify compiler warnings under
1141         "-Wincompatible-pointer-types".
1142         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
1143         (GetDiskFreeSpaceExA_Proc): New typedefs.
1144         (Ffile_system_info): Use them, to pacify compiler warnings under
1145         "-Wincompatible-pointer-types".
1147 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
1149         Fix subscript error in calculate_direct_scrolling
1150         Use slightly-longer cost vectors.  Without this change,
1151         calculate_direct_scrolling can have a subscript violation when
1152         FRAME_LINES (frame) <= delta.
1153         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
1154         (line_ins_del, do_line_insertion_deletion_costs):
1155         Allocate and use slightly-larger cost vectors, ones based on
1156         FRAME_TOTAL_LINES instead of FRAME_LINES.
1158         Fix uninitalized value in encode_coding_object
1159         * src/coding.c (encode_coding_object): Also initialize
1160         coding->src_pos and coding->src_pos_byte when NILP (src_object).
1161         This avoids later use of uninitialized storage.
1163 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
1165         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
1167 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
1169         Merge from gnulib
1170         This incorporates:
1171         2015-07-27 time_rz: port better to MinGW
1172         2015-07-27 time: port __need_time_t to MinGW
1173         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
1174         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
1175         * lib/time-internal.h: New file, from gnulib.
1177 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
1179         Handle NULL pointers in w32heap.c allocation routines
1180         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
1181         freeable".
1182         (realloc_after_dump, realloc_before_dump, free_before_dump):
1183         Handle NULL pointers gracefully, as Emacs now seems to expect
1184         that.
1186         Fix Cairo build without PNG
1187         * src/image.c: Define PNG function when USE_CAIRO is defined, even
1188         if HAVE_PNG is not.  (Bug#21133)
1190         MS-Windows follow-up for recent TZ-related changes
1191         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
1192         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
1193         picking up 'struct timespec' from pthread.h, if it is installed on
1194         the user's system.  We want either the definitions from MinGW
1195         system headers, if available, or the Gnulib replacements if not.
1196         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
1197         lib/time.h.
1198         * lib/time.in.h: Don't let __need_* symbols affect what happens on
1199         MinGW.  These symbols are defined by MinGW system headers, but we
1200         don't want that to affect whether Gnulib portions of the header
1201         are or aren't used.
1203 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
1205         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
1207         New optional ZONE arg for format-time-string etc.
1208         This simplifies time conversions in other time zones.
1209         It also prevents display-time-world tampering with TZ (Bug#21020).
1210         * admin/admin.el (add-release-logs):
1211         Use improved add-log-time-format API.
1212         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
1213         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
1214         * configure.ac (tzalloc): Remove test for this, since
1215         Emacs no longer uses HAVE_TZALLOC directly.
1216         * doc/lispref/os.texi (Time of Day, Time Conversion)
1217         (Time Parsing):
1218         * etc/NEWS: Document the new behavior.
1219         Merge from gnulib, incorporating:
1220         2015-07-25 strftime: fix newly-introduced bug on Solaris
1221         2015-07-23 fprintftime, strftime: use timezone_t args
1222         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
1223         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
1224         * m4/time_h.m4:
1225         Update from gnulib.
1226         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
1227         New files from gnulib.
1228         * lisp/time-stamp.el (time-stamp-string):
1229         * lisp/time.el (display-time-world-list)
1230         (display-time-world-display):
1231         Use new API, with time zone arg.
1232         * lisp/time.el (display-time-world-display):
1233         Fix race when current-time advances while we're running.
1234         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
1235         (add-log-iso8601-time-string): Accept optional time zone arg.
1236         * lisp/vc/add-log.el (add-change-log-entry):
1237         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
1238         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
1239         Add rules for the time module, since they're now needed
1240         for tzalloc etc.
1241         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
1242         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
1243         * src/editfns.c: Include errno.h.
1244         (set_time_zone_rule): Omit unnecessary forward decl.
1245         (initial_tz): Remove, replacing with ...
1246         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
1247         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
1248         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
1249         (tzlookup): New static functions.
1250         (init_editfns): New arg DUMPING.  All uses changed.
1251         (init_editfns): Omit most initialization if dumping, not if
1252         !initialized.  Initialize wall_clock_tz and local_tz.
1253         (emacs_nmemftime, format_time_string): Time zone argument can now
1254         be any time zone, not just a boolean for UTC or local time.  All
1255         callers changed.
1256         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
1257         (Fcurrent_time_zone): New optional arg ZONE.
1258         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
1259         the same form as with the other new additions.
1260         (decode_time_zone): Remove; no longer needed.
1261         (tzvalbuf): Now file-scope.
1262         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
1263         (syms_of_editfns): Define Qwall.
1264         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
1265         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
1266         [!HAVE_TZALLOC]:
1267         Remove; now supplied by gnulib.
1268         * src/emacs.c (main):
1269         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
1271 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
1273         Fix infinite loop in delete-consecutive-dups
1274         * lisp/subr.el (delete-consecutive-dups): Work even if the last
1275         element is nil (Bug#20588).  Avoid rescan of a circular list in
1276         deletion of last element.
1278 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
1280         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
1281         * src/nsfns.m (Fx_frame_geometry):
1282         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
1283         terminal frames.
1284         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
1285         (Fx_frame_geometry): Return nil for terminal frames
1287 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
1289         * etc/tutorials/TUTORIAL.ja: Improve translation.
1291 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
1293         Avoid crashes when w32 GUI functions are called in -batch
1294         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
1295         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
1296         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
1298         Fix flyspell-check-previous-highlighted-word
1299         * lisp/textmodes/flyspell.el
1300         (flyspell-check-previous-highlighted-word): Really accept a
1301         numeric argument, as the doc string describes.  Fix an off-by-one
1302         error in looking up overlays, so invocation with point immediately
1303         after a word would check that word.  Clarify the doc string as
1304         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
1306 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
1308         Minor cleanup in tramp-tests.el
1309         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
1310         Implement using the documented interface
1311         `tramp-connection-properties', rather than with internal functions.
1313 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
1315         Pass lambdas to `skeleton-read'
1316         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
1317         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
1318         lambdas to `skeleton-read' (bug#20386).
1320 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
1322         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
1324         Don't require GUI frames and mouse for Flyspell menus
1325         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
1326         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
1327         support, since pop-up menus work with text terminals and can be
1328         controlled via the keyboard.
1330         Improve documentation of Flyspell commands
1331         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
1332         can be invoked via the keyboard.  Mention those commands by name
1333         and add them to the fn index.  (Bug#21125)
1335 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
1337         Fix some Tramp problems with HP-UX
1338         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1339         Add "tab0" to stty call.
1340         * test/automated/tramp-tests.el (tramp-persistency-file-name):
1341         Set to nil.
1342         (tramp--test-hpux-p): New defun.
1343         (tramp--test-utf8): Use it.
1345 2015-07-22  Glenn Morris  <rgm@gnu.org>
1347         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
1349 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
1351         Fix point positioning in ffap-next-guess
1352         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
1353         as our callers expect.  This was clobbered as part of fixing
1354         bug#5673.  (Bug#21107)
1355         (ffap-gopher-at-point): Set ffap-string-at-point-region.
1357 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
1359         Fix customization type of `even-window-sizes'.
1360         * lisp/window.el (even-window-sizes): Fix customization type.
1362         2015-07-22  Martin Rudalics  <rudalics@gmx.at>
1363         Optionally even widths of `display-buffer' windows.  (Bug#21100)
1364         * lisp/window.el (quit-restore-window): Restore width if
1365         requested.
1366         (display-buffer-record-window): Record width when window is
1367         reused and horizontally combined.
1368         (even-window-sizes): New option to allow evening window widths.
1369         (even-window-heights): Defalias to `even-window-sizes'.
1370         (window--even-window-heights): Rename to
1371         `window--even-window-sizes'.  Handle side-by-side windows.
1372         (display-buffer-use-some-window): Call `window--even-window-sizes'
1373         instead of `window--even-window-heights'.
1374         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
1375         * doc/lispref/windows.texi (Choosing Window Options): Describe
1376         `even-window-sizes'.
1377         (Coordinates and Windows): Fix typo.
1379 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
1381         add file name to autoload error messages.
1382         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
1383           to add file name to error message.
1385 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
1387         Use 0.0.0.1 as test host in Tramp
1388         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
1389         Use 0.0.0.1 as test host.
1391 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1393         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
1394         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
1395         Fix inf-loop (bug#21083).
1397 2015-07-21  Glenn Morris  <rgm@gnu.org>
1399         * test/automated/package-test.el (package-test-signed):
1400         Update for recent changes.
1402         * test/automated/elisp-mode-tests.el
1403         (elisp-xref-finds-both-function-and-variable)
1404         (elisp-xref-finds-only-function-for-minor-mode):
1405         Update for recent xref name changes.
1407 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
1409         Make eldoc timer non-repeatable
1410         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
1411         non-repeatable.  Since it's on post-command hook, that just wasted
1412         CPU cycles.
1414 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
1416         Mention `tramp-connection-properties' in NEWS
1418         Sync with Tramp repository
1419         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
1420         required prior changing its configuration.
1421         (Connection caching, Predefined connection information)
1422         (Remote shell setup): Fix typos.
1423         (Predefined connection information): Describe, how to overwrite
1424         parameters of `tramp-methods'.
1425         (Remote programs, Remote processes, Traces and Profiles):
1426         Simplify example.
1427         (Remote programs): Remove superfluous comment.
1428         * doc/misc/trampver.texi: Update release number.
1429         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
1430         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
1431         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
1432         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
1433         "gvfs-mkdir -p ..." does not work robust.
1434         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
1435         * lisp/net/tramp-sh.el (tramp-methods):
1436         Add `tramp-remote-shell-login' parameter where it fits.
1437         (tramp-get-remote-path): Use it.
1438         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
1439         (all): Adapt `tramp-get-method-parameter' calls.
1440         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
1441         (tramp-get-method-parameter): Replace argument METHOD by VEC.
1442         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
1443         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
1444         (all): Adapt `tramp-get-method-parameter' calls.
1445         * lisp/net/trampver.el Update release number.
1446         * test/automated/tramp-tests.el (tramp--instrument-test-case):
1447         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
1448         (tramp-test13-make-directory, tramp--test-adb-p)
1449         (tramp--test-smb-or-windows-nt-p): Simplify.
1450         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
1451         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
1452         (tramp--test-utf8): Fix docstring.
1454 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
1456         Add new xref-query-replace command
1457         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
1458         function, extracted from xref-pulse-momentarily.
1459         (xref-query-replace): New command.
1460         (xref--query-replace-1): New helper function.
1461         (xref--xref-buffer-mode-map): Add `r' binding.
1463 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
1465         Simplify icalendar decoding of Z dates
1466         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
1467         Simplify calculation of time strings with trailing "Z".
1469 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
1471         Do not corrupt grep-find-ignored-files
1472         * lisp/progmodes/project.el (project-ignores): Change the order of
1473         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
1475         Add xref-match-item, and use it
1476         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
1477         (xref-file-location): Add reader for the column slot.
1478         (xref-match-item): New class.
1479         (xref-match-bounds): A method implementation for it.
1480         (xref-make-match): New constructor function.
1481         (xref--current-item): New private variable.
1482         (xref-pulse-momentarily): Use it.
1483         (xref--pop-to-location): Change the first argument to an xref
1484         item, instead of location, bind xref--current-item.
1485         Update all callers.
1486         (xref-next-line, xref-prev-line, xref--next-error-function)
1487         (xref--mouse-2): Look for the property `xref-item',
1488         instead of `xref-location'.
1489         (xref--item-at-point): Likewise.  This function replaces
1490         `xref-location-at-point'.  Update all callers.
1491         (xref--insert-xrefs): Add the `xref-item' text property, instead
1492         of `xref-location'.
1493         (xref--collect-match): Use xref-make-match.
1495         Rename xref--xref to xref-item
1496         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
1497         Update all references.
1499         Rename xref description slot to summary
1500         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
1501         slot to `summary'.
1503         vc-hg: Perform the print-log call asynchronously
1504         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
1505         asynchronously (bug#21067).
1507         Add xref-after-jump-hook and xref-after-return-hook
1508         * lisp/progmodes/xref.el (xref-after-jump-hook)
1509         (xref-after-return-hook): New hooks.
1510         (xref-pulse-on-jump): Remove, in favor of the above.
1511         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
1512         (xref--pop-to-location, xref--display-position)
1513         (xref-pop-marker-stack): Use the new hooks, as requested in
1514         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
1516 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
1518         Correct js-mode's lighter
1519         * lisp/progmodes/js.el (js-mode): Correct the lighter.
1521 2015-07-19  Leo Liu  <sdl.web@gmail.com>
1523         Fix a bug in cfengine3-mode
1524         * progmodes/cfengine.el (cfengine3-mode): Handle nil
1525           eldoc-documentation-function.
1527 2015-07-18  Julien Danjou  <julien@danjou.info>
1529         sieve-mode: support "body" test command
1530         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
1531         Add missing "body" test command.
1533 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
1535         Fix info-apropos when the default encoding is Latin-N
1536         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
1537         'undecided', so that it is set to the encoding of the Info file we
1538         are about to insert.  Otherwise, 'info-apropos' will fail to find
1539         some index nodes in some UTF-8 encoded files, if the buffer's
1540         previous encoding is Latin-N or some such.
1542 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
1544         * epg.el (epg--start): Check that gpgconf can be found before calling it.
1546         Expose more file types to OS X that Emacs understands.
1547         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
1548         json, and org files.  Export UTIs for el, elc, and org files.
1550 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
1552         Fix visual-order cursor movement when lines are truncated
1553         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
1554         simulate display in a window of infinite width, to allow move_it_*
1555         functions reach positions outside of normal window dimensions.
1556         Remove code that tried to handle a subset of these situations by
1557         manual iteration of buffer text.  (Bug#17777)
1559         Fix following Info cross-references to anchors
1560         * lisp/info.el (Info-read-subfile): Add to the returned value the
1561         length of subfile preamble, after converting it to file's byte
1562         offset, as expected by the caller.  Use bufferpos-to-filepos.
1563         (Info-find-node-2): If searching for a node with a
1564         1000-character slop fails, try again with a 10000-character slop,
1565         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
1566         * lisp/international/mule-util.el (bufferpos-to-filepos): New
1567         function.
1568         * etc/NEWS: Mention bufferpos-to-filepos.
1570         Fix scrolling backwards on TTY frames under scroll-conservatively
1571         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
1572         in moving backwards on TTY frames.  (Bug#21080)
1574 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
1576         Consider a jsdoc tag to be a beginning of a paragraph as well
1577         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
1578         consider a jsdoc tag to be a beginning of a paragraph as well.
1580 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1582         * lisp/emacs-lisp/package.el: Fix warnings
1584         * lisp/emacs-lisp/package.el (package-buffer-info):
1585         Add author and maintainers to `package-buffer-info'.
1587         * lisp/emacs-lisp/package.el: Many small changes
1588         Replace all instances of 'face with 'font-lock-face.
1589         (describe-package-1): Improve some strings and move the summary up the
1590         list.
1591         (package-install-file): Update docstring.
1592         (package-menu-hide-package): Bind to `H'.
1594         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1595         Fix error handling.
1597 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1599         Fix hang with large yanks This should fix the bug fixed by Mike
1600         Crowe's patch in:
1601         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
1602         A problem in this area has been reported by several users; see
1603         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
1604         This fix differs from Mike Crowe's patch in that it should avoid a
1605         race condition that could lose SIGIO signals.  ignore_sigio dates
1606         back to the 1980s when some platforms couldn't block signals, and
1607         could only ignore them, which led to races when signals arrived
1608         while being ignored.  We shouldn't have to worry about those old
1609         platforms now.
1610         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
1611         * src/emacs.c (shut_down_emacs):
1612         Don't call ignore_sigio; unrequest_sigio should suffice.
1613         * src/keyboard.c (kbd_buffer_store_buffered_event):
1614         Use unrequest_sigio, not ignore_sigio.
1615         (kbd_buffer_get_event):
1616         Call request_sigio when getting the ball rolling again.
1618 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1620         * lisp/obsolete/longlines.el (longlines-search-function):
1621         Fallback on `isearch-search-fun-default'.
1623 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
1625         Support @-mentions
1626         * rcirc.el (rcirc-completion-at-point): Support completion of
1627         mentions/messages with @nick instead of just nick.
1629 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
1631         Fix Bug#20943.
1632         * lisp/autorevert.el (auto-revert-handler): Do not check for
1633         `buffer-modified-p'.
1634         * lisp/files.el (buffer-stale--default-function): Check for
1635         `buffer-modified-p'.
1636         * test/automated/auto-revert-tests.el
1637         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
1639 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
1641         Fix delete-dups bug on long lists
1642         * lisp/subr.el (delete-dups):
1643         Don't mistakenly keep some dups when applied to long lists.
1645 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
1647         Better heuristic for C stack overflow
1648         Improve the heuristic for distinguishing stack overflows from
1649         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
1650         the getrlimit method wasn't portable to Cygwin; see:
1651         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
1652         Corinna suggested pthread_getattr_np but this also has problems.
1653         Instead, replace the low-level system stuff with a simple
1654         heuristic based on known good stack addresses.
1655         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
1656         * src/sysdep.c: Don't include <sys/resource.h>.
1657         (stack_direction): Remove.  All uses removed.
1658         (stack_overflow): New function.
1659         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
1660         Make SEGV fatal in non-main threads.
1662 2015-07-16  Daiki Ueno  <ueno@gnu.org>
1664         epg: Automatically start pinentry server
1665         * epg-config.el (epg-gpgconf-program): New variable.
1666         * epg.el (epg--start): Call `pinentry-start' if
1667         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
1669 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
1671         * lisp/gnus/nnimap.el: Fix my last bogus change
1672         Reinstall Stefan Monnier's change that was made in
1673         <83d824bc4041332f338ad7e5e830f443535aa300>.
1675 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1677         Merge from gnulib
1678         This incorporates:
1679         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
1680         2015-07-05 acl-permissions: Fix on FreeBSD
1681         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
1682         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
1683         * lib/set-permissions.c: Copy from gnulib.
1685         Port to stricter C99
1686         * src/keyboard.h (kbd_buffer_store_event_hold):
1687         Don't return a void expression.
1689 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
1691         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
1693 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
1695         New autorevert tests.
1696         * test/automated/auto-revert-tests.el: New file.
1698 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
1700         Clear gcprolist etc. after stack overflow
1701         After stack overflow, command_loop calls init_eval, and this needs to
1702         clear gcprolist and byte_stack_list (Bug#20996).
1703         * src/alloc.c (init_alloc):
1704         Move gcprolist and byte_stack_list initialization from here ...
1705         * src/eval.c (init_eval): ... to here.
1707 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
1709         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
1711 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1713         Avoid deprecated enums in mac-ct font backend driver
1714         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
1715         (mac_ctfont_get_advance_width_for_glyph)
1716         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
1718         Cache font family in mac-ct font backend driver
1719         * src/macfont.m (macfont_family_cache): New variable.
1720         (syms_of_macfont): Initialize it.
1721         (macfont_available_families_cache): New variable.
1722         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
1723         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
1724         (macfont_handle_font_change_notification)
1725         (macfont_init_font_change_handler)
1726         (macfont_copy_available_families_cache): New functions.
1727         (macfont_create_family_with_symbol): Use font family caches.
1728         (macfont_list, macfont_list_family): Use
1729         macfont_copy_available_families_cache instead of
1730         mac_font_create_available_families.
1732 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
1734         Show the default value in the prompt
1735         * lisp/progmodes/xref.el: Add `M-?' binding for
1736         xref-find-references.  Declare functions `grep-read-files' and
1737         `grep-expand-template'.
1738         (xref--read-identifier): Show the default value in the prompt.
1740         When called with prefix argument, ask for file patterns to search as well
1741         * lisp/progmodes/xref.el (xref-find-regexp): When called with
1742         prefix argument, ask for file patterns to search as well.  When
1743         prompting for the directory, require an existing one.
1744         (xref-collect-matches): Add a new argument, FILES.  Use it in the
1745         above function.
1747         Add `project-ignores'
1748         * lisp/progmodes/project.el (project-ignores): New generic
1749         function, and an implementation for the VC project type.
1750         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
1751         variant of rgrep-default-command that handles a generic list of
1752         ignores.
1753         (xref-collect-matches): Use it, and pass through to it the value
1754         of the newly added argument.
1755         (xref-find-regexp): Handle ignored paths within the project.
1756         Remove outdated comment.
1757         * lisp/vc/vc.el (vc-default-ignore-completion-table):
1758         Skip the comments and the empty lines.
1760 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
1762         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
1764 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
1766         gnus-registry.el: Correct function argument order
1767         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
1768         Reverse the order of function arguments.
1770 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
1772         Bind grep-highlight-matches to nil
1773         * lisp/progmodes/xref.el (xref-collect-matches):
1774         Bind grep-highlight-matches to nil (bug#20728).
1776 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
1778         nnimap.el: Fix IMAP message size parsing
1779         * lisp/gnus/nnimap.el (nnimap-transform-headers):
1780         Don't assume that UID comes before RFC822.SIZE.
1782 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1784         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
1785         (auth-source-creation-prompts): Declare.
1786         (nnimap-retrieve-headers, nnimap-status-message)
1787         (nnimap-request-create-group, nnimap-request-delete-group)
1788         (nnimap-close-group, nnimap-request-move-article)
1789         (nnimap-request-accept-article, nnimap-request-newgroups)
1790         (nnimap-request-post, nnimap-dummy-active-number)
1791         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
1792         (nnimap-parse-flags): Remove unused var `p'.
1793         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
1794         (nnimap-flags-to-marks): Remove unused var `totalp'.
1796 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
1798         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
1800 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1802         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
1804 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1806         Don't check the exit status, it can be misleading
1807         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
1808         exit status, it can be misleading.
1810         Introduce a Project API
1811         * lisp/progmodes/project.el: New file.
1812         * lisp/cedet/ede.el: (project-try-ede): New function.
1813         (project-root): New implementation.
1814         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1815         Set project-search-path-function.
1816         (elisp--xref-find-references): Delegate some logic to
1817         project-search-path.
1818         (elisp-search-path): New function.
1819         (elisp-xref-find): Don't implement `matches' anymore.
1820         * lisp/progmodes/etags.el: Don't implement `matches'.
1821         Delegate some logic to project-search-path.
1822         (etags-search-path): New function.
1823         * lisp/progmodes/xref.el (xref-find-function):
1824         Remove `matches' from the API.
1825         (xref-find-regexp): Move whatever common logic was in elisp and
1826         etags implementations, and search the directories returned by
1827         project-directories and project-search-path.
1829 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
1831         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
1833         Add support for gv.el in map.el
1834         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
1835         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
1836         * test/automated/map-tests.el: Update tests to work with the new
1837         implementations of map-elt and map-put.
1839 2015-07-09  Glenn Morris  <rgm@gnu.org>
1841         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
1843 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1845         Syntax-propertize until the end of the line first
1846         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
1847         until the end of the line first.
1849 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
1851         * doc/emacs/files.texi (File Archives): Add a cross reference.
1853 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
1855         nnimap.el: Handle plain value for nnimap-stream
1856         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
1857         capabilities, so that a 'plain value for the `nnimap-stream' server
1858         variable is handled correctly.
1859         * doc/misc/gnus.texi (Customizing the IMAP Connection):
1860         Document the 'plain option.
1862 2015-07-08  Leo Liu  <sdl.web@gmail.com>
1864         Fix bug in thing-at-point--bounds-of-well-formed-url
1865         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
1866           sure boundary contains current point.
1868 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
1870         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
1872         Declare whitespace-line-column a safe file-local
1873         * lisp/whitespace.el (whitespace-line-column): Declare to be a
1874         safe file-local when the value is an integer.
1876 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
1878         gnus-group.el: Check if group names are already strings
1879         * lisp/gnus/gnus-group.el (gnus-group-group-name):
1880         The group name may already be a string.
1881         Specifically, in the group list reached from the *Server* buffer,
1882         the 'gnus-group text property returns a string.  Everywhere else
1883         it returns a symbol.
1885         nnimap.el: Remove unused let variables
1886         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
1888 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
1890         Support "maximized" property of runemacs's shortcut
1891         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
1892         the '--maximized' switch to Emacs.
1894         Support "minimized" property of runemacs's shortcut
1895         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
1896         pass the '--iconic' switch to Emacs.  (Bug#20991)
1898 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
1900         Doc fixes
1901         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
1902         C-w' in Diff mode.
1903         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
1904         Add a cross reference.
1906 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
1908         * lisp/obsolete/landmark.el: Add Obsolete-since header
1910 2015-07-07  Glenn Morris  <rgm@gnu.org>
1912         * test/automated/ert-tests.el (ert-test-deftest):
1913         Update for recent changes.
1915 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1917         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
1918         * lisp/emacs-lisp/gv.el (gv-setter): New function.
1919         (gv-invalid-place): New error.
1920         (gv-get): Use them.
1921         (gv-synthetic-place, gv-delay-error): New places.
1922         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
1923         (cl-defgeneric, cl-defmethod): Use gv-setter.
1925 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
1927         Make vc-tests work with MSYS svn program
1928         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
1929         svn is an MSYS program.
1931 2015-07-07  Ken Brown  <kbrown@cornell.edu>
1933         Improve recent change to emacsclient on Cygwin
1934         * lisp/server.el (server-process-filter): Remove redundant check
1935         that 'cygwin-convert-file-name-from-windows' is defined as a
1936         function on Cygwin.  Don't call that function unless its argument
1937         starts with a drive letter.
1939 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1941         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
1942         Fix void variable due to `found-something' being in the wrong `let'.
1944 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1946         * lisp/play/landmark.el: Move to lisp/obsolete/
1948 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
1950         Have `x-show-tip' handle `right' and `bottom' frame parameters.
1951         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
1952         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
1953         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
1954         tooltips also via `right' and `bottom' frame parameters.
1956 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1958         Add online-help support to describe types
1959         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
1960         (describe-symbol): Improve the selection of default.
1961         * lisp/help-mode.el: Require cl-lib.
1962         (describe-symbol-backends): Move from help-fns.el.
1963         (help-make-xrefs): Use it.
1964         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
1965         for types.
1966         (cl--typedef-regexp): New const.
1967         (find-function-regexp-alist): Add entry for types.
1968         (cl-help-type, cl-type-definition): New buttons.
1969         (cl-find-class): New function.
1970         (cl-describe-type): New command.
1971         (cl--describe-class, cl--describe-class-slot)
1972         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
1973         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
1974         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
1975         New functions.  Moved from eieio-opt.el.
1976         (cl--generic-class-parents): New function, extracted from
1977         cl--generic-struct-specializers.
1978         (cl--generic-struct-specializers): Use it.
1979         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
1980         Improve constructor's docstrings.
1981         (cl-struct-unknown-slot): New error.
1982         (cl-struct-slot-offset): Use it.
1983         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
1984         definition in current-load-list.
1985         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
1986         (eieio--add-new-slot): Set it.
1987         (eieio-defclass-internal): Use new name for current-load-list.
1988         (eieio-oref): Add compiler-macro to warn about unknown slots.
1989         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
1990         as compile-time as well.  Improve constructor docstrings.
1991         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1992         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
1993         (eieio-class-def): Remove button.
1994         (eieio-help-constructor): Use new name for load-history element.
1995         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
1996         (eieio-method-documentation): Move to cl-generic.el.
1997         (eieio-display-method-list): Use new names.
1998         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
1999         Add "define-linline".
2000         (lisp-fdefs): Remove "defsubst".
2001         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
2002         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
2003         (macroexp--warn-and-return): Use it to avoid inf-loops.
2004         Add `compile-only' argument.
2006 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2008         python.el: Fix local/remote shell environment setup
2009         * lisp/progmodes/python.el (python-shell-with-environment): Fix
2010         remote/local environment setup.
2011         * test/automated/python-tests.el (python-shell-with-environment-1)
2012         (python-shell-with-environment-2): New tests.
2014 2015-07-06  Glenn Morris  <rgm@gnu.org>
2016         * lisp/simple.el (set-variable): Tweak recent doc fix.
2018 2015-07-06  Ken Brown  <kbrown@cornell.edu>
2020         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
2022 2015-07-06  Glenn Morris  <rgm@gnu.org>
2024         * lisp/simple.el (set-variable): Use user-error for type mismatch.
2026 2015-07-06  Ken Brown  <kbrown@cornell.edu>
2028         * src/emacs.c (main): Don't increase the stack size on Cygwin
2030 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2032         (describe-symbol): Rewrite describe-function-or-variable
2033         * lisp/help-fns.el (describe-symbol-backends): New var.
2034         (help-xref-stack-item): Declare.
2035         (describe-symbol): Rename from describe-function-or-variable.
2036         Rewrite using describe-symbol-backends instead of help-xref-interned.
2037         * lisp/help.el (help-map): Use it.
2038         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
2039         (help-xref-interned): Make it into an obsolete alias.
2041         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
2042         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
2043         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
2045 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
2047         Fix parsing glitches in dired-mark-sexp (bug#13575)
2048         * lisp/dired-x.el (dired-x--string-to-number): New function.
2049         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
2050         of directory-listing-before-filename-regexp.  Consider
2051         forward-word harmful and replace it.  Add more verbiage in
2052         comments and doc string.
2054 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2056         python.el: Respect process environment for remote shells
2057         * lisp/progmodes/python.el
2058         (python-shell-calculate-process-environment): Calculate
2059         process-environment or tramp-remote-process-environment depending
2060         whether current file is remote.
2061         (python-shell-calculate-exec-path): Calculate exec-path or
2062         tramp-remote-path depending whether current file is remote.
2063         (python-shell-with-environment): New macro.
2064         (python-shell-prompt-detect, python-shell-calculate-command)
2065         (python-shell-make-comint, python-check): Use it.
2067         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
2068         * lisp/progmodes/python.el (python-shell--interpreter)
2069         (python-shell--interpreter-args): New vars.
2070         (inferior-python-mode, python-shell-make-comint): Use them.
2072         python.el: Fixes for IPython 3.x  (Bug#20580)
2073         * lisp/progmodes/python.el:
2074         (python-shell-completion-native-setup): Fix IPython 3.x setup.
2075         (python-shell-completion-native-get-completions): Fix timeout
2076         logic.
2078         python.el: Fix mark-defun behavior  (Bug#19665)
2079         * lisp/progmodes/python.el: (python-mark-defun): New function.
2080         * test/automated/python-tests.el (python-mark-defun-1)
2081         (python-mark-defun-2, python-mark-defun-3): New tests.
2083 2015-07-05  Glenn Morris  <rgm@gnu.org>
2085         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
2086         such as "extends(parent), private".  (Bug#20969)
2087         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
2088         New tests.
2090 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2092         Avoid duplicate calls to current_timespec
2093         * src/process.c (wait_reading_process_output):
2094         Cache current_timespec results as long as we're not waiting.
2096 2015-07-05  Ian Kelling  <ian@iankelling.org>
2098         Avoid returning early reading process output due to SIGIO
2099         * src/process.c (wait_reading_process_output): Extend the behavior of
2100         not breaking due to not finding output when a timer has lowered the
2101         timeout to include when SIGIO lowers the timeout.
2103         Don't return as fast reading any process output
2104         * src/process.c (wait_reading_process_output):
2105         The patch for Bug#17647 returns too fast sometimes when reading
2106         from any processes. Revert part of it, and limit the timeout more
2107         sensibly (Bug#20978).
2109         Refactor timeouts in wait_reading_process_output
2110         * src/process.c (wait_reading_process_output):
2111         Simplify timeouts with an enum.  Remove a redundant condition.
2112         (Bug#20978)
2114         Remove ADAPTIVE_READ_BUFFERING ifdef
2115         * src/process.c (make-process, make-pipe-process, deactivate_process)
2116         (wait_reading_process_output, read_process_output, send_process)
2117         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
2118         added in case there was an operating system in which it was not
2119         useful.  That was 11 years ago and it hasn't happened.  Make
2120         development easier by not considering the effect of changes on a
2121         theoretical OS where this is disabled (Bug#20978).
2123 2015-07-05  Glenn Morris  <rgm@gnu.org>
2125         * lisp/simple.el (set-variable): Doc fix.
2127         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
2129 2015-07-05  Ian Kelling  <ian@iankelling.org>
2131         accept-process-output fix
2132         This is a followon to the fix for Bug#17647 (Bug#20976).
2133         * src/process.c (status_notify): Fix too high return in some cases.
2135 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
2137         * lisp/character-fold.el (character-fold-table):
2138         Only fold decompositions if at least one character is non-spacing.
2139         (Bug#20975)
2141 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2143         Merge from gnulib
2144         This incorporates:
2145         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
2146         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
2147         2015-07-02 update-copyright: fix test failure with perl >= 5.22
2148         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
2149         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
2150         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
2151         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
2153 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
2155         Respect `prog-indentation-context' in python.el
2156         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
2157         (python-indent-context, python-indent--calculate-indentation)
2158         (python-info-current-defun)
2159         (python-info-dedenter-opening-block-message)
2160         (python-info-line-ends-backslash-p)
2161         (python-info-beginning-of-backslash)
2162         (python-info-continuation-line-p): Use `prog-widen'.
2163         (python-indent--calculate-indentation)
2164         (python-indent--calculate-levels)
2165         (python-indent-calculate-indentation): Use `prog-first-column'.
2166         (python-indent--calculate-levels): Simplify.
2167         Ignore also initial empty lines for syntax calculation.
2168         * lisp/progmodes/python.el (python-indent-context): Return
2169         :no-indent for first non-empty line, not just in line 1.
2170         * test/automated/python-tests.el (python-indent-base-case)
2171         (python-indent-inside-paren-1, python-indent-inside-paren-2)
2172         (python-indent-inside-paren-3, python-indent-inside-paren-4)
2173         (python-indent-inside-paren-5, python-indent-inside-paren-6)
2174         (python-indent-after-backslash-1)
2175         (python-indent-after-backslash-2)
2176         (python-indent-after-backslash-3)
2177         (python-indent-after-backslash-4, python-indent-inside-string-1):
2178         Expect :no-indent for first non-empty line.
2180 2015-07-04  Daniel Colascione  <dancol@dancol.org>
2182         Factor isearch word description into new function
2183         * lisp/isearch.el (isearch--describe-word-mode): New function.
2184         (isearch-message-prefix, isearch-query-replace): Use it.
2186 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
2188         Fix mouse pointer on w32 when a menu is active
2189         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
2190         shape while a menu is in use.  This started happening since we now
2191         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
2193 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
2195         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
2196         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
2197         parameter.  (Bug#17344)
2199         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
2200         * lisp/progmodes/compile.el (compilation-set-window): Take
2201         `window-fringes' from argument window.  (Bug#20829)
2203 2015-07-03  Glenn Morris  <rgm@gnu.org>
2205         Update eieio tests for recent eieio-core change.
2206         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
2207         * test/automated/eieio-tests.el
2208         (eieio-test-32-slot-attribute-override-2):
2209         Replace the deleted eieio--class-v with cl--find-class.
2211 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
2213         Fix some issues with `window-divider-mode'
2214         * lisp/frame.el (window-divider-default-places): New option.
2215         (window-divider-mode): Remove option.
2216         (window-divider-mode): Make it a "regular" minor mode.
2217         (window-divider-width-valid-p): Drop frame- prefix.
2218         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
2219         prefix.  Handle `window-divider-default-places'.
2220         (frame--window-divider-mode-set-and-apply): Remove.
2221         (window-divider-default-bottom-width)
2222         (window-divider-default-right-width): Drop :group entries.
2223         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
2224         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
2225         (menu-bar-no-window-divider): Set `window-divider-default-places'
2226         and call `window-divider-mode'.
2227         * doc/emacs/frames.texi (Window Dividers): Document
2228         `window-divider-default-places'.
2230 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
2232         Add cross references in documentation
2233         * doc/emacs/display.texi (Displaying Boundaries):
2234         * doc/emacs/search.texi (Word Search): Add cross references.
2236 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2238         -batch should not affect ‘’ -> `' display
2239         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
2240         -batch (Bug#20926).
2242 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
2244         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
2245         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
2246           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
2247         Use cl--find-class instead.
2249         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
2251 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
2253         Some further fixes in Change Window node.  (Bug#20183)
2254         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
2255         by "resizing" in section title.  Add some concept indices.
2256         Suggested by N. Jackson (Bug#20183).
2258         Reference window dividers in Change Window section.
2259         * doc/emacs/windows.texi (Change Window): Reference window
2260         dividers.
2262         Document new `window-divider-mode'.
2263         * lisp/frame.el (window-divider-mode): Fix doc-string.
2264         * doc/emacs/frames.texi (Window Dividers): New section.
2266         Improve accessibility of window dividers.  (Bug#20183)
2267         * lisp/faces.el (window-divider)
2268         (window-divider-first-pixel, window-divider-last-pixel): Change
2269         membership from `frames' to `window-divider' customization group.
2270         * lisp/frame.el (window-divider): New customization group.
2271         (window-divider-mode): New minor mode.
2272         (window-divider-default-bottom-width)
2273         (window-divider-default-right-width): New options.
2274         (frame--window-divider-previous-mode): New variable.
2275         (frame-window-divider-width-valid-p)
2276         (frame--window-divider-mode-apply)
2277         (frame--window-divider-mode-set-and-apply): New functions.
2278         * lisp/menu-bar.el (menu-bar-options-save): Save
2279         window-divider-mode settings.
2280         (menu-bar-window-divider-customize)
2281         (menu-bar-bottom-and-right-window-divider)
2282         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
2283         (menu-bar-no-window-divider): New functions.
2284         (menu-bar-showhide-window-divider-menu): New variable.
2285         (menu-bar-showhide-menu): Show/hide window divider menu.
2286         * lisp/mouse.el (mouse-split-window-vertically)
2287         (mouse-split-window-horizontally): Replace `error' by
2288         `user-error'.  Bind `window-combination-resize' to nil.
2289         (top-level): Add/reorder mouse key bindings on mode- and
2290         vertical-line.
2292 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2294         Don't display ‘’ as `' under X in en_GB
2295         The curved quote setup code invokes (char-displayable-p ?‘),
2296         but this isn’t reliable until after the X frame replaces the
2297         terminal frame (Bug#20926).
2298         * lisp/international/mule-cmds.el (set-locale-environment):
2299         Move curved quote setup code from here ...
2300         * lisp/startup.el (command-line): ... to here, after creating
2301         the X frame.
2303 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
2305         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
2307         Add argument to reverse the meaning of ido-restrict-to-matches
2308         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
2309         to reverse the meaning (Bug#15631).
2311 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
2313         Be more tolerant to fonts named "Foobar-12"
2314         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
2315         don't barf; instead, request a new fontset to be generated.  This
2316         avoids unnecessarily rejecting fonts named against XLFD rules.  See
2317         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
2318         for the description of the original problem.
2319         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
2320         by a hyphen in a font's name.
2322         Fix value of posn-at-pont in R2L lines
2323         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
2324         coordinate of -1, for a newline in a right-to-left line that
2325         overflowed into the left fringe.
2327 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2329         (cl--copy-slot-descriptor): Copy the `props' alist as well
2330         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
2331         Rename from cl--copy-slot-descriptor.
2332         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
2334 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
2336         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
2337         (xterm-query-timeout): New var.
2338         (xterm--query): Use it.  Fallback on async method if we timeout before
2339         getting the first byte of the reply (bug#12354).
2341 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2343         Spelling fixes
2345 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
2347         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
2349 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2351         In strings, prefer plain ` and ' to \` and \'
2352         * lisp/allout.el (allout-insert-listified):
2353         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
2354         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
2355         (ls-lisp-string-lessp):
2356         * lisp/menu-bar.el (menu-bar-open):
2357         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
2358         * lisp/progmodes/compile.el (compile):
2359         * lisp/progmodes/etags.el (tags-loop-scan):
2360         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
2361         * lisp/subr.el (posn-actual-col-row):
2362         * lisp/term/pc-win.el (x-list-fonts):
2363         * lisp/textmodes/texinfmt.el (texinfmt-version):
2364         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
2365         * lisp/time.el (display-time-world-list):
2366         * lisp/tmm.el (tmm-menubar):
2367         * src/buffer.c (syms_of_buffer):
2368         * src/fileio.c (syms_of_fileio):
2369         Omit unnecessary and confusing backslash before quote.
2370         * lisp/erc/erc.el (erc-cmd-LASTLOG):
2371         * lisp/progmodes/flymake.el (flymake-fix-file-name):
2372         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
2373         Fix string that was intended to escape a backslash and not a quote.
2375 2015-06-30  Glenn Morris  <rgm@gnu.org>
2377         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
2379         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
2380         Replace hard-coded lists with wildcard + filter-out.
2382         * configure.ac (system-configuration-features): Add X11, NS.
2384         Improve reproducibility of generated loaddefs file.
2385         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
2386         Make the return value the modtime of the input file (if no autoloads).
2387         (update-directory-autoloads): In the "no autoloads" section,
2388         use "most recent modtime" rather than "current time".
2390 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2392         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
2393         (Bug#20930)
2395 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
2397         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
2399         Add seq-min and seq-max
2400         Bump version number.
2401         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
2402         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
2404 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
2406         Make sure sleep-for always delays for as long as it's told
2407         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
2408         a loop, to ensure we always wait exactly the required amount of
2409         time.  (Bug#15990)
2411 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2413         Fix pointer signedness glitch
2414         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
2416 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
2418         Don't block changes in mouse pointer inside 'track-mouse'
2419         * etc/NEWS:
2420         * doc/lispref/frames.texi (Mouse Tracking): Document the special
2421         effect of setting 'track-mouse' to 'dragging'.
2422         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
2423         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
2424         * lisp/mouse-drag.el (mouse-drag-throw):
2425         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
2426         to avoid changes in the shape of the mouse pointer.
2427         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
2428         pointer shape when do_mouse_tracking has the value of 'dragging',
2429         not just any non-nil value.  (Bug#20934)
2430         (syms_of_xdisp): DEFSYM 'dragging'.
2432 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2434         * lisp/isearch.el (isearch-toggle-word): Fix toggle
2436         * lisp/emacs-lisp/package.el (package-compute-transaction):
2437         Don't assume version sorting.
2439         * lisp/emacs-lisp/package.el (package--save-selected-packages):
2440         Don't save before init time, to avoid overwriting configurations.
2441         (Bug#20855)
2443 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
2445         Add cross references.
2446         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
2447         references.
2449 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
2451         cfengine.el: update for the upcoming CFEngine 3.7 release
2452         Update for the upcoming CFEngine 3.7 release: support macros and
2453         quoted context strings; reformat JSON; indent promise attributes 2
2454         units by default; give function parameter descriptions in the eldoc
2455         glue.
2456         * cfengine.el: Update version and docs and fix name.  Autoload
2457         `json-pretty-print'.  Support new features in 3.7.
2458         (cfengine-parameters-indent): Set default promise attribute indent to
2459         2 more than the promise itself.
2460         (cfengine3-macro-regex): New variable to match the new macro syntax.
2461         (cfengine3-font-lock-keywords): Use it to highlight macros.
2462         (cfengine3-indent-line): Use it to indent macros to column 0.
2463         (cfengine3-class-selector-regex): Update for the new quoted strings
2464         format.
2465         (cfengine3-reformat-json-string): New function to reformat a JSON
2466         string using `json-pretty-print'.
2467         (cfengine3-format-function-docstring): Use function parameter
2468         description if it's provided by the cf-promises syntax dump.
2470 2015-06-29  Michael R. Mauger  <michael@mauger.com>
2472         Cygwin emacsclient handles w32 file names
2474 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
2476         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
2478 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
2480         * doc/lispref/text.texi (Sticky Properties): Improve wording.
2481         (Bug#20924)
2483         Allow font names that end in "-NN", where NN is a number
2484         * src/font.c (font_load_for_lface): If the font-spec didn't match
2485         any available fonts, try again without interpreting trailing "-NN"
2486         as the font size.  For the description of the original problem, see
2487         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
2489         .gdbinit followup to changes in !USE_LSB_TAG
2490         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
2491         !USE_LSB_TAG, as Emacs no longer does.
2493 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
2495         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
2496         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
2498 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2500         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2501         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
2503 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2505         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
2507         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
2509 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
2511         apropos-library quoting fix
2512         * lisp/apropos.el (apropos-library): Quote library consistently
2513         with the rest of the quoting used by apropos.
2515         Clarify interpreter-mode-alist doc
2516         * lisp/files.el (interpreter-mode-alist):
2517         Reword to avoid confusing quoting that wasn't working anyway.
2519 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
2521         Sync with Tramp 2.2.12
2522         * doc/misc/trampver.texi:
2523         * lisp/net/trampver.el: Update release number.
2524         * test/automated/tramp-tests.el (tramp-test13-make-directory):
2525         Fix cleanup.
2527 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2529         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
2530         (bug#20913)
2532 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
2534         Bind grep-highlight-matches around the rgrep call
2535         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
2536         around the rgrep call (bug#20728).
2538         Put "--color" before the other options in grep-command
2539         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
2540         before the other options in grep-command (bug#20912).
2542         Add --color Grep option to the command dynamically
2543         * lisp/progmodes/grep.el (grep-template, grep-find-template):
2544         Update the description for <C>.  (Bug#20728)
2545         (grep-compute-defaults): Don't add the --color option to
2546         grep-options.  Only add it to grep-command.
2547         (grep-expand-keywords): Expand the env value opts into <C>.
2548         (grep-expand-template): Replace cf in the env with the opts list,
2549         that can include -i and --color.
2550         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
2551         "--color=always" from the template, because we don't have to.
2553 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
2555         cl-extra fixes for most-negative-fixnum
2556         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
2557         Don't mishandle an argument equal to most-negative-fixnum,
2558         whose absolute value equals itself.
2559         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
2561         Initialize cl--gensym-counter to 0
2562         Previously it was initialized to a random value, which made it
2563         harder to reproduce earlier Emacs runs.  The need for a random
2564         value went away when Emacs introduced and used the #: syntax for
2565         uninterned symbols (Bug#20862).
2566         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
2567         Document that cl--gensym-counter now starts with 0.
2568         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
2569         (cl--random-time): Move to near only remaining use.
2570         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
2572         Improve docstring for macroexp-let2
2573         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
2574         Improve as per suggestion by RMS in:
2575         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
2576         Also, rename args to match new doc string.
2578 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
2580         Fix VC test suite on MS-Windows
2581         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
2582         always starts with 3 slashes after the colon.
2583         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
2584         'w32-application-type' to invoke CVS on MS-Windows with properly
2585         formatted CVSROOT directory name.
2587         Add a new function w32-application-type
2588         * src/w32proc.c (Fw32_application_type): New function.
2590         Avoid error in TLS connections due to incorrect format
2591         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
2592         the call to 'error', instead of the unsupported %u.  Reported by
2593         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
2595 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2597         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
2599 2015-06-26  Leo Liu  <sdl.web@gmail.com>
2601         Fix indentation for with-output-to-string
2602         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
2603           `with-output-to-string' in elisp.
2604           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
2605           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
2607 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
2609         Minor corrections in ELisp manual
2610         * doc/lispref/nonascii.texi (Character Properties): Correct
2611         inaccuracies in description of values of the Unicode properties.
2613         Fix invisible mouse pointers on Windows.
2614         * src/w32fns.c: Include windowsx.h.
2615         (w32_wnd_proc): If the mouse moved and the mouse pointer is
2616         invisible, make it visible again even when the main (Lisp)
2617         thread is busy.
2618         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
2619         garbaging the frame have the input thread call SetCursor.
2621 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
2623         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
2624         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
2625         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
2626         * src/w32term.c (w32_hide_hourglass): Handle
2627         f->pointer_invisible.
2628         (w32_toggle_invisible_pointer): New function.
2629         (w32_create_terminal): Add w32_toggle_invisible_pointer as
2630         toggle_invisible_pointer_hook for this terminal.
2632 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
2634         Doc fix for deletion commands
2635         'delete-char' does not respect the value of 'delete-active-region'.
2636         * doc/emacs/killing.texi (Deletion):
2637         Fix documentation for some single-char deletion commands.
2639         * doc/emacs/help.texi (Apropos):
2640         Improve documentation of 'apropos-do-all'.
2642         * doc/emacs/help.texi (Help Summary):
2643         Improve documentation of 'describe-mode'.
2645 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2647         Fix submake dependency bug with .h files
2648         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
2649         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
2650         before the submake in $(libsrc) would spin off a subsubmake
2651         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
2653 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2655         * lisp/character-fold.el (character-fold-table): Reuse `table'
2657 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2659         Translate undisplayable ‘ to `
2660         * doc/lispref/help.texi (Keys in Documentation):
2661         * lisp/international/mule-cmds.el (set-locale-environment):
2662         * lisp/term/w32console.el (terminal-init-w32console):
2663         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
2664         If ‘ is not displayable, transliterate it to `, not to '.  See:
2665         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
2667         Fix C99 incompatibilities in Cairo code
2668         * src/image.c (xpm_load) [USE_CAIRO]:
2669         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
2670         Fix pointer signedness problem.
2672 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
2674         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
2675         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
2676           `with-output-to-string' should have the same indent as `progn'.
2677           This is in line with the declaration of `with-output-to-string'.
2679 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2681         Get ‘./configure; make -C src emacs’ to work
2682         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
2683         * lib-src/Makefile.in (../lib/libgnu.a):
2684         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
2686 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2688         Fix GC bugs --with-wide-int and Qnil == 0
2689         Use the same alignment for the !USE_LSB_TAG case as for the
2690         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
2691         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
2692         once we changed the representation of symbols so that Qnil == 0.
2693         Problem reported by Eli Zaretskii (Bug#20862).
2694         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
2695         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
2696         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
2697         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
2698         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
2699         This optimization in the !USE_LSB_TAG case is no longer valid when
2700         symbols are represented via offsets.  Change the only use to
2701         assume that pointers might hide in objects.
2702         * src/lisp.h (alignas) [!USE_LSB_TAG]:
2703         Require support in this case, too.
2704         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
2705         This is OK, because the !USE_LSB_TAG case now applies only when
2706         Lisp_Object is wider than void *, so there's no longer any need
2707         to shift the offset.  Not shifting the offset means that
2708         symbol representations have the same alignment as pointers,
2709         which the GC assumes.
2711 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
2713         * doc/lispintro/emacs-lisp-intro.texi (Data types):
2714         Improve documentation of 'substring'.
2716 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2718         * lisp/character-fold.el (character-fold-table): Fix table generation
2720 2015-06-24  Glenn Morris  <rgm@gnu.org>
2722         * nextstep/Makefile.in (all): Make it the first target.
2723         (../src/emacs${EXEEXT}): Add rule for making it.
2725 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2727         * etc/NEWS: Fix mention to old function name
2729         * lisp/character-fold.el: New file (Bug#20887)
2730         (character-fold-to-regexp): New function.
2731         * lisp/replace.el (replace-search): Check value of
2732         `character-fold-search'.
2733         * lisp/isearch.el: Move character-folding code to
2734         character-fold.el
2735         (isearch-toggle-character-fold): New command.
2736         (isearch-mode-map): Bind it to "\M-sf".
2737         (isearch-mode): Check value of `character-fold-search'.
2739 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2741         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
2742         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
2743         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
2745         * lisp/progmodes/xref.el: Avoid init-args in oref.
2746         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
2747         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
2749 2015-06-24  Glenn Morris  <rgm@gnu.org>
2751         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
2753 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2755         * lisp/gnus/nnmaildir.el: Silence lexical warnings
2756         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
2757         functional style.
2758         (nnmaildir--update-nov): Remove unused var `numdir'.
2759         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
2760         (nnmaildir-request-group, nnmaildir-request-create-group)
2761         (nnmaildir-request-post, nnmaildir-request-move-article)
2762         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
2763         (nnmaildir-get-new-mail, nnmaildir-group-alist)
2764         (nnmaildir-active-file): Declare.
2765         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
2766         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
2767         `mark', `end', `new-mark', and `mark-sym'.
2768         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
2769         `nlist2'.
2770         (nnmaildir-request-expire-articles):
2771         Remove unused vars `article', `stop' and `nlist2'.
2772         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
2773         `end'.  Use nnmaildir--article when dyn-binding is needed.
2774         Give the value directly in the `let' for `del-mark', `del-action',
2775         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
2776         (nnmaildir-close-server): Declare those local vars that need to be
2777         dyn-bound.
2779 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2781         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
2783         Port selection info fix to clang
2784         * src/keyboard.h (kbd_buffer_store_event_hold):
2785         Don't assume C11 semantics for alignof (Bug#20756).
2787         Fix bug that munged selection info
2788         On some optimizing C compilers, copying a structure did not
2789         copy the padding bytes between elements, and the type punning
2790         between struct input_data and struct selection_input_data did
2791         not work.  Change the C code to use a proper union type instead.
2792         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
2793         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
2794         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
2795         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
2796         (mark_kboards):
2797         Use union buffered_input_event, not struct input_event.
2798         (clear_event, deliver_input_available_signal, process_special_events):
2799         Remove unnecessary forward decls.
2800         (kbd_buffer_store_buffered_event): New function, mostly just the
2801         old kbd_buffer_store_event_hold, except its argument is of type
2802         union buffered_input_event, not struct input_event.
2803         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
2804         not needed otherwise.  Argument is now of type
2805         struct selection_input_event *, not struct input_event *.
2806         All callers changed.
2807         (clear_event): Arg is now of type union buffered_input_event *,
2808         not struct input_event *.  All callers changed.
2809         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
2810         (union buffered_input_event): New type.
2811         (kbd_buffer_store_event_hold): Now an inline function,
2812         defined here.
2813         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
2814         (struct input_event): Use it.
2815         * src/xselect.c (struct selection_event_queue):
2816         Make elements be of type struct selection_input_event,
2817         not struct input_event.
2818         (selection_input_event_equal): New static function.
2819         (x_queue_event): Use it.
2820         (x_queue_event, x_decline_selection_request)
2821         (x_selection_current_request, x_reply_selection_request)
2822         (x_handle_selection_request, x_handle_selection_clear)
2823         (x_handle_selection_event): Use struct selection_input_event,
2824         not struct input_event.  All callers changed.
2825         (x_convert_selection): Omit unused first arg.  All callers changed.
2826         (Fx_disown_selection_internal): Omit unnecessary union.
2827         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
2828         rather than rolling our own equivalent.  Prefer sie.kind when
2829         setting up that kind of structure.
2830         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
2831         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
2832         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
2833         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
2834         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
2835         (SELECTION_EVENT_TIME, x_handle_selection_event):
2836         Arg is now of type struct selection_input_event *)
2837         not struct input_event *.  All callers changed.
2839 2015-06-23  Glenn Morris  <rgm@gnu.org>
2841         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
2843 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2845         * lisp/isearch.el: Fold many unicode characters to ASCII
2846         (isearch-character-fold-search, isearch--character-fold-extras)
2847         (isearch--character-fold-table): New variable.
2848         (isearch--character-folded-regexp): New function.
2849         (isearch-search-fun-default): Use them.
2850         * lisp/replace.el (replace-character-fold): New variable.
2851         (replace-search): Use it.
2852         * etc/NEWS: Document it.
2854 2015-06-23  Glenn Morris  <rgm@gnu.org>
2856         Check for an input event before showing a dialog box.  (Bug#20813)
2857         * lisp/subr.el (y-or-n-p):
2858         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
2859         as last-nonmenu-event.
2861 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
2863         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
2864         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
2865         (switch-to-prev-buffer, switch-to-next-buffer): Respect
2866         switch-to-visible-buffer independent of the windows history.
2868 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2870         * src/keyboard.c (last_timer_event): Remove unused var.
2872 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2874         * test/automated/package-test.el (package-test-update-listing):
2875         Fix test.
2877 2015-06-23  Glenn Morris  <rgm@gnu.org>
2879         Revert 2014-06-25 nextstep/Makefile change.
2880         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
2881         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
2882         not as an order-only prerequisite.
2884         * configure.ac (--with-ns): Enable by default on OS X.
2886 2015-06-23  Leo Liu  <sdl.web@gmail.com>
2888         Fix shell-for/backward-command to exclude spaces
2889         * lisp/shell.el (shell-forward-command, shell-backward-command):
2890           Handle the 'move case from re-search-forward/backward.
2891           fixes debbugs:20873
2893 2015-06-22  Juri Linkov  <juri@linkov.net>
2895         * lisp/replace.el (query-replace-read-from): Add separator to
2896         the local binding of text-property-default-nonsticky.  (Bug#20690)
2898         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
2899         (Bug#20785)
2901 2015-06-22  Ken Brown  <kbrown@cornell.edu>
2903         Enable CPU profiling on Cygwin
2904         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
2905         change that undefined this.
2906         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
2907         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
2908           Cygwin.
2910         Improve diagnostics of profiler-cpu-start
2911         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
2912         return -1 if the sampling interval is invalid.
2913         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
2914         fails.  (Bug#20843)
2916 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2918         * lisp/emacs-lisp/package.el: Exclude packages by name
2919         (package-hidden-regexps): New variable.
2920         (package-menu--refresh): Use it.
2921         (package-menu-hide-package): New command.
2923         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
2925 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
2927         Fix debug-timer-check on systems without HAVE_TIMERFD
2928         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
2929         the expired timers, since wait_reading_process_output doesn't.
2930         (debug_timer_callback): Enlarge the tolerance to 20 msec.
2932         Fix RCS crashes in vc-test
2933         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
2934         ports of 'ci' on MS-Windows by always passing the -t- switch.
2936 2015-06-22  Glenn Morris  <rgm@gnu.org>
2938         * doc/emacs/package.texi (Packages):
2939         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
2941         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
2943 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2945         Port tests to help-quote-translation
2946         * test/automated/ert-x-tests.el (ert-test-describe-test):
2947         * test/automated/package-test.el (package-test-describe-package)
2948         (package-test-signed): Allow straight quotes, too.
2950 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
2952         Make find-function-on-key use the current window
2953         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
2954         Extract from `find-function-on-key', add a second argument.
2955         (find-function-on-key): Use it (bug#19679).
2956         (find-function-on-key-other-window)
2957         (find-function-on-key-other-frame): New commands.
2959 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2961         Revert "Define `map-elt' as a generalized variable"
2962         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
2964 2015-06-21  Ken Brown  <kbrown@cornell.edu>
2966         Drop support for CPU profiling on Cygwin
2967         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
2968         (Bug#20843)
2970 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2972         Fix some “nested” quoting confusion in doc strings
2973         * lisp/emacs-lisp/advice.el (ad-map-arglists):
2974         * lisp/kermit.el (kermit-clean-on):
2975         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
2976         * src/keyboard.c (Frecursive_edit):
2977         Use curved quotes when quoting text containing apostrophe,
2978         so that the apostrophe isn't curved in the output.
2980 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2982         Define `map-elt' as a generalized variable
2983         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
2984         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
2985         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
2986         `setf' with `map-elt'.
2987         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
2989 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
2991         Improve error handling in tramp-adb.el
2992         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
2993         Improve error handling.
2995 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2997         Reuse `alist-get' in map.el
2998         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
2999         elements.
3001 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
3003         Fix bytecomp-tests--warnings when $TMPDIR has a long name
3004         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
3005         Allow the warning to begin on the 3rd, not only 2nd line, which
3006         happens if temporary-file-directory has a very long name.
3008         Expect 2 icalendar tests to fail on MS-Windows
3009         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
3010         (icalendar-real-world): Make them expected failures on MS-Windows.
3012 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3014         Improve port of settings UI to older displays
3015         * lisp/cus-start.el (standard): Don't assume curved quotes are
3016         easily distinguishable when users are tinkering with a setting
3017         that affects how curved quotes are generated.
3019         Fix quoting in electric-quote-mode doc string
3020         * lisp/electric.el (electric-quote-mode): Fix quoting.
3021         This is a fallout from the recent change introducing
3022         ‘help-quote-translation’.
3024         Spelling fix
3026         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
3028         * src/doc.c (syms_of_doc): Remove unused symbols.
3030 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
3032         In ‘window-state-put’ undedicate target window.  (Bug#20848)
3033         * lisp/window.el (window-state-put): Undedicate target window
3034         before putting STATE into it.  (Bug#20848)
3036 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
3038         Merge from origin/emacs-24
3039         a5e6f33 Fixes: debbugs:20832
3040         b9f02cf Fixes: debbugs:20832
3042 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
3044         Fix file-in-directory-p when the directory is UNC
3045         * lisp/files.el (file-in-directory-p): Support files and
3046         directories that begin with "//".  (Bug#20844)
3048 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
3050         (Bug#20832)
3051         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
3052         in the minibuffer.
3054 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
3056         (Bug#20832)
3057         * lisp/calendar/todo-mode.el (todo-show): Signal an error
3058         if buffer for adding new todo file is empty but modified.
3060 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
3062         (filepos-to-bufferpos): Further tweaks to the utf-16 code
3063         * lisp/international/mule-util.el (filepos-to-bufferpos):
3064         Fix typo.  Move non-exact check to the utf-16 branch (the only one
3065         affected).  Don't use byte-to-position for the utf-16 case.
3067 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
3069         Minor fixes in filepos-to-bufferpos
3070         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
3071         test for utf-8-emacs.  Exempt single-byte encodings from the
3072         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
3073         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
3074         UTF-16 encoded files for CR-LF EOLs.
3076 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
3078         Improve the optional translation of quotes
3079         Fix several problems with the recently-added custom variable
3080         help-quote-translation where the code would quote inconsistently
3081         in help buffers.  Add support for quoting 'like this', which
3082         is common in other GNU programs in ASCII environments.  Change
3083         help-quote-translation to use more mnemonic values: values are now the
3084         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
3085         traditional Emacs help-buffer quoting style `like this'.  Change the
3086         default behavior of substitute-command-keys to match what's done in
3087         set-locale-environment, i.e., quote ‘like this’ if displayable,
3088         'like this' otherwise.
3089         * doc/lispref/help.texi (Keys in Documentation): Document
3090         new behavior of substitute-command-keys, and document
3091         help-quote-translation.
3092         * doc/lispref/tips.texi (Documentation Tips):
3093         Mention the effect of help-quote-translation.
3094         * etc/NEWS: Mention new behavior of substitute-command-keys,
3095         and merge help-quote-translation news into it.
3096         When talking about doc strings, mention new ways to type quotes.
3097         * lisp/cedet/mode-local.el (overload-docstring-extension):
3098         Revert my recent change to this function, which shouldn't be
3099         needed as the result is a doc string.
3100         * lisp/cedet/mode-local.el (mode-local-print-binding)
3101         (mode-local-describe-bindings-2):
3102         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
3103         * lisp/cus-theme.el (describe-theme-1):
3104         * lisp/descr-text.el (describe-text-properties-1, describe-char):
3105         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
3106         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
3107         (eieio-help-constructor):
3108         * lisp/emacs-lisp/package.el (describe-package-1):
3109         * lisp/faces.el (describe-face):
3110         * lisp/help-fns.el (help-fns--key-bindings)
3111         (help-fns--compiler-macro, help-fns--parent-mode)
3112         (help-fns--obsolete, help-fns--interactive-only)
3113         (describe-function-1, describe-variable):
3114         * lisp/help.el (describe-mode):
3115         Use substitute-command-keys to ensure a more-consistent quoting
3116         style in help buffers.
3117         * lisp/cus-start.el (standard):
3118         Document new help-quote-translation behavior.
3119         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
3120         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
3121         (help-xref-url-regexp):
3122         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
3123         * lisp/wid-edit.el (widget-documentation-link-regexp):
3124         Also match 'foo', in case we're in a help buffer generated when
3125         help-quote-translation is ?'.
3126         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
3127         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
3128         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
3129         (Fsubstitute_command_keys): Document and implement new behavior.
3130         (Vhelp_quote_translation): Document new behavior.
3132 2015-06-18  Glenn Morris  <rgm@gnu.org>
3134         * lisp/cus-start.el (help-quote-translation): Add :version.
3136         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
3138 2015-06-18  Alan Mackenzie  <acm@muc.de>
3140         Make translation of quotes to curly in doc strings optional.
3141         src/doc.c (traditional, prefer-unicode): new symbols.
3142         (help-quote-translation): new variable.
3143         (Fsubstitute_command_keys): make translation of quotes dependent on
3144         `help-quote-translation'; also translate curly quotes back to ASCII
3145         ones.
3146         lisp/cus-start.el (top-level): Add a customization entry for
3147         `help-quote-translation'.
3149 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
3151         * lisp/emacs-lisp/package.el: Don't always propagate async errors
3152         (package--with-work-buffer-async): Only propagate the error if the
3153         callback returns non-nil.
3154         (package--download-one-archive): Return nil on the signature
3155         checking callback if we accept unsigned.
3156         (package--download-and-read-archives): Return non-nil on the
3157         archive download callback.
3159 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
3161         Fix last fix"
3163         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
3164         * src/nsfns.m (Fx_create_frame):
3165         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
3166         image_cache_refcount before first x_default_parameter call.
3168 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
3170         Improve and extend filepos-to-bufferpos
3171         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
3172         Don't barf if F returns nil for some argument.
3173         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
3174         that every encoding of type 'charset' is single-byte.
3176 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
3178         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
3179         Properly delete packages.  (Bug#20836)
3181 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
3183         Update data files from just-released Unicode 8.0
3184         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
3185         status.
3186         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
3187         * admin/unidata/BidiMirroring.txt:
3188         * admin/unidata/BidiBrackets.txt:
3189         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
3191 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
3193         Document curved quotes a bit better
3194         * doc/emacs/basic.texi (Inserting Text):
3195         Mention C-x 8.  Change example to use curved quote rather
3196         than infinity, as this lets us give more ways to do it.
3197         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
3198         and quotation marks.
3199         * doc/emacs/text.texi (Quotation Marks):
3200         * doc/lispref/tips.texi (Documentation Tips):
3201         Add "curly quotes" and "curved quotes" to the index.
3202         * doc/emacs/text.texi (Quotation Marks):
3203         Give the C-x 8 shorthands for curved quotes.
3204         Cross-reference to "Quotation Marks".
3206 2015-06-17  Daiki Ueno  <ueno@gnu.org>
3208         Add pinentry.el for better GnuPG integration
3209         * lisp/pinentry.el: New file.
3210         * etc/NEWS: Add entry about pinentry.el.
3211         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
3212         (Bug#20550)
3214 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
3216         * lisp/emacs-lisp/package.el: Slightly better error reporting.
3218 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
3220         (define-minor-mode): Use setq-default for :global minor modes
3221         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
3222         Use setq-default for :global minor modes (bug#20712).
3224 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
3226         Avoid infloop in redisplay with tall images
3227         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
3228         down near ZV.  (Bug#20808)
3229         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
3230         instead of CHARPOS.
3232 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
3234         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
3235         Fix error reporting.
3237         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
3239         * lisp/emacs-lisp/package.el: Revert buffer after any operation
3240         Call `package-menu--post-refresh' after any operation that changes
3241         the package database (`package-install' and `package-delete').  To
3242         avoid performance issues in large transactions, these functions
3243         add `post-refresh' to `post-command-hook' instead of calling it
3244         immediately.
3245         (package-menu--mark-or-notify-upgrades): New function.
3246         (list-packages): Add it to `package--post-download-archives-hook'.
3247         (package-menu--post-refresh): Lose the upgrade-checking code, add
3248         code to remove itself from `post-command-hook'.
3249         (package-install, package-delete): Add it to `post-command-hook'.
3250         (package-menu-execute): Don't call `package-menu--post-refresh'.
3252 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
3254         Add missing function xref-location-group for elisp-mode.
3255         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
3257 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
3259         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
3260         The behavior now matches the description in the manual.  (Bug#20783)
3262 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
3264         Update tutorials/TUTORIAL.cn
3265         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
3267 2015-06-17  Glenn Morris  <rgm@gnu.org>
3269         Generate char-script-table from Unicode source.  (Bug#20789)
3270         * admin/unidata/Makefile.in (AWK): New, set by configure.
3271         (all): Add charscript.el.
3272         (blocks): New variable.
3273         (charscript.el, ${unidir}/charscript.el): New targets.
3274         (extraclean): Also remove generated charscript.el.
3275         * admin/unidata/blocks.awk: New script.
3276         * admin/unidata/Blocks.txt: New data file, from unicode.org.
3277         * lisp/international/characters.el: Load charscript.
3278         * src/Makefile.in (charscript): New variable.
3279         (${charscript}): New target.
3280         (${lispintdir}/characters.elc): Depend on charscript.elc.
3281         (temacs$(EXEEXT)): Depend on charscript.
3283         * lisp/international/characters.el (char-script-table): Tweak
3284         some ranges to better match the source.  (Bug#20789#17)
3286         Remove "no-byte-compile: t" from a few files.
3287         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
3288         * lisp/obsolete/patcomp.el: No reason not to compile these.
3290 2015-06-16  Glenn Morris  <rgm@gnu.org>
3292         Fix some typos in copied Unicode data.  (Bug#20789)
3293         * lisp/international/characters.el (char-script-table):
3294         * lisp/international/fontset.el (script-representative-chars)
3295         (setup-default-fontset): Fix typos.
3297         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
3298         Don't print filename twice (it's in the prefix now).
3300         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
3301         No longer needed.
3303         Address a compilation warning.
3304         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
3305         Replace 't' with '_' in pcase.
3307         Address some check-declare warnings.
3308         * lisp/simple.el (tabulated-list-print):
3309         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
3310         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
3311         (ns-get-selection): Update declarations.
3313         Address some compilation warnings.
3314         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
3315         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
3316         Replace 't' with '_' in pcase.
3318         Address some compilation warnings.
3319         * lisp/face-remap.el (text-scale-adjust):
3320         * lisp/menu-bar.el (popup-menu-normalize-position):
3321         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
3322         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
3323         * lisp/emacs-lisp/generator.el (cps--transform-1):
3324         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
3325         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
3326         * lisp/progmodes/octave.el (octave-goto-function-definition)
3327         (octave-find-definition-default-filename):
3328         Replace 't' with '_' in pcase.
3330         * lisp/emacs-lisp/pcase.el (pcase--u1):
3331         Paper-over today's bootstrap failure.
3333 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
3335         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
3337         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
3339         Better confirmation message in `find-alternate-file' (Bug#20830)
3340         * lisp/files.el (find-alternate-file'): Improve the confirmation
3341         message to show the buffer name.
3343         Better docstring for null. (Bug#20815)
3344         * src/data.c (null): Improves the docstring, saying what null returns
3345         when OBJECT is non-nil.
3347 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3349         * lisp/net/newst-treeview.el: Use lexical-binding.
3351         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
3352         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
3353         New auxiliary function, extracted from filepos-to-bufferpos.
3354         Make sure it terminates.
3355         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
3356         Add support for the `exact' quality.
3358 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
3360         Identify feeds in newsticker treeview with :nt-feed property
3361         * lisp/net/newst-treeview.el:
3362         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
3364 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3366         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
3367         (pcase--self-quoting-p): Floats aren't self-quoting.
3368         (pcase): Tweak docstring.
3369         (pcase--u1): Deprecate the t pattern.  Improve error detection for
3370         the nil pattern.
3371         (\`): Tweak docstring.  Signal an error for unrecognized cases.
3372         (bug#20784)
3374 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
3376         Fix infloop in filepos-to-bufferpos
3377         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
3378         offset calculation, and make it conditional on the eol-type of the
3379         file's encoding.  (Bug#20825)
3381 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
3383         Fix handling of image cache refcounts.  (Bug#20802)
3384         This backports Eli Zaretskii's solution of this problem for W32
3385         to X and NS.
3386         * src/nsfns.m (image_cache_refcount): Define unconditionally.
3387         (unwind_create_frame): If the image cache's reference count
3388         hasn't been updated yet, do that now.
3389         (Fx_create_frame): Set image_cache_refcount unconditionally.
3390         * src/xfns.c (image_cache_refcount): Define unconditionally.
3391         (unwind_create_frame): If the image cache's reference count
3392         hasn't been updated yet, do that now.
3393         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
3394         unconditionally.
3395         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
3396         X and NS.
3398 2015-06-16  Nils Ackermann  <nils@ackermath.info>
3400         Improve reftex-label-regexps default value
3401         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
3402         keyvals label regexp more strict to better cope with unbalanced
3403         brackets common in math documents.
3405 2015-06-16  Glenn Morris  <rgm@gnu.org>
3407         * doc/emacs/calendar.texi (Format of Diary File):
3408         Move "nonmarking" from here...
3409         (Displaying the Diary): ... to here.
3411         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
3412         Swap the order of these nodes.
3413         * doc/emacs/emacs.texi: Update detailed menu for the above change.
3415         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
3416         Update date of examples.
3417         (Diary, Format of Diary File): Move example from former to latter.
3418         Reduce duplication.
3420         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
3421         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
3422         Don't set no-byte-compile in the outputs.
3423         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
3425 2015-06-15  Glenn Morris  <rgm@gnu.org>
3427         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
3428         * doc/emacs/calendar.texi (Diary, Format of Diary File):
3429         Update for above diary-file change.
3430         : * etc/NEWS: Mention this.
3432         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
3433         (apply-macro-to-region-lines): Use user-error.
3435         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
3436         (pages-directory-for-addresses): Doc fixes.
3438 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
3440         * lisp/info.el: Cleanup bytepos/charpos issues
3441         * lisp/international/mule-util.el: Use lexical-binding.
3442         (filepos-to-bufferpos): New function.
3443         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
3444         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
3445         (Info-read-subfile, Info-search): Use 0-based file positions.
3447         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
3448         (perl--syntax-exp-intro-keywords): New var.
3449         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
3450         (bug#20800).
3452 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3454         Fix quoting when making derived mode docstring
3455         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
3456         Nest regexp-quote inside format, not the reverse.
3457         Problem reported by Artur Malabarba in:
3458         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
3460 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
3462         Fix current-iso639-language on MS-Windows
3463         * lisp/international/mule-cmds.el (set-locale-environment):
3464         Downcase the locale name before interning it.  This is so the
3465         'current-iso639-language' on MS-Windows matches the ':lang'
3466         property of font-spec objects.
3468         Limit Symbola usage some more
3469         * lisp/international/fontset.el (setup-default-fontset): Limit
3470         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
3471         (Bug#20727)
3473 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
3475         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3477 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3479         Spelling fixes
3481 2015-06-14  Glenn Morris  <rgm@gnu.org>
3483         * lisp/version.el (emacs-repository-version-git): Demote errors.
3484         Check result is a hash.
3486 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
3488         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
3489         Catch errors that happen before going async.  (Bug#20809)
3491 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
3493         Another improvement of documentation of set-fontset-font
3494         * doc/lispref/display.texi (Fontsets): Say explicitly that
3495         CHARACTER can be a single codepoint.
3496         * src/fontset.c (Fset_fontset_font): Doc fix.
3498         Another improvement for symbol and punctuation characters
3499         * lisp/international/fontset.el (setup-default-fontset): Exclude
3500         from Symbola character ranges for symbols and punctuation covered
3501         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
3502         installed and where its coverage of symbols and punctuation is
3503         known to be good.  (Bug#20727)
3505 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
3507         Some generic support for multi-mode indentation.
3508                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
3509                 variable.
3510                 (prog-first-column, prog-widen): New convenience functions.
3512 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
3514         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
3515         Don't assume that `tabulated-list-printer' will leave point at the
3516         end of the buffer.  (Bug#20810)
3518 2015-06-13  Glenn Morris  <rgm@gnu.org>
3520         Tweaks for getting repository version; a bit more like it was for bzr.
3521         * lisp/version.el (emacs-repository-version-git)
3522         (emacs-repository--version-git-1): New functions,
3523         split from emacs-repository-get-version.
3524         (emacs-repository-get-version): Make the second argument meaningful.
3526         * lisp/startup.el (command-line-1): Inform if skipping relative
3527         file names due to deleted PWD.
3529         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
3530         when starup directory is missing.  (Bug#18851)
3531         (errno.h): Include it.
3533 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
3535         Better fix for documenting `X as "`X"
3536         Fix suggested by Stefan Monnier.
3537         * lisp/help-fns.el (help-fns--signature):
3538         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
3539         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3540         Don't treat `X specially, as help-fns--signature now handles this.
3542 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
3544         Improve the default fontset when Symbola is not installed
3545         * lisp/international/fontset.el (setup-default-fontset): Only
3546         prepend Symbola and FreeMono font specs for symbols and
3547         punctuation; do not replace the default spec for them.  This
3548         should have better results when Symbola/FreeMono are not
3549         installed.  (Bug#20727)
3551         Improve documentation of ':lang' in font specs
3552         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
3553         use of the ':lang' property of the font spec.
3554         * doc/emacs/frames.texi (Fonts): Document the language names that
3555         can be in the STYLE part of XLFD.
3556         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
3557         property.
3559         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
3561         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
3563         Revert last change in fontset.el
3564         * lisp/international/fontset.el (setup-default-fontset): Revert
3565         the change "Configure Symbola font only if installed", since font
3566         search is evidently not yet set up when this function is called.
3567         (Bug#20727)
3569 2015-06-12  Glenn Morris  <rgm@gnu.org>
3571         Ensure early startup warnings are visible at the end.  (Bug#20792)
3572         * lisp/emacs-lisp/warnings.el (display-warning):
3573         If startup isn't complete, delay the warning.
3574         * lisp/startup.el (normal-top-level, command-line):
3575         Let display-warning automatically handle the needed delays.
3576         Run delayed-warnings-hook.
3578         * lisp/version.el (emacs-repository-get-version):
3579         Avoid calling external executable if possible.  (Bug#20799)
3581 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3583         Document `X as "`X", not as "(` X)"
3584         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3585         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
3587         * src/print.c (print_object): Minor simplification.
3589 2015-06-12  Glenn Morris  <rgm@gnu.org>
3591         * src/buffer.c (init_buffer): Add final newline to message.
3593 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3595         Configure Symbola font only if installed
3596         * lisp/international/fontset.el (setup-default-fontset):
3597         Don't specify the Symbola font if it's not installed.
3598         Likewise for FreeMono.  (Bug#20727)
3600 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
3602         Configure Symbola font only for symbols and punctuation
3603         * lisp/international/fontset.el (setup-default-fontset): Leave
3604         only symbols and punctuation in the fontset setup for Symbola
3605         font; remove "Greek and Coptic" and "Cyrillic Supplement".
3606         (Bug#20798)
3608 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
3610         Fix crash in fontset-info
3611         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
3612         non-nil.
3614 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3616         Port to Solaris 10 sparc + Sun C 5.13
3617         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
3618         Adjust to process.c change.
3619         * src/process.c (create_process): Declare volatile variables at
3620         top level of this function, so that they're less likely to be
3621         reused later in the function in the code executed by the vforked
3622         child.  Do not declare locals used only in the vforked child, as
3623         they might share memory with locals still live in the parent.
3624         Instead, use the same variables in the child as in the parent.
3625         This works around a subtle bug that causes a garbage collector
3626         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
3628 2015-06-12  Glenn Morris  <rgm@gnu.org>
3630         * lisp/startup.el (normal-top-level): Don't let *Messages* get
3631         a nil default-directory.
3633 2015-06-11  Glenn Morris  <rgm@gnu.org>
3635         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
3637         Some progress towards starting with PWD deleted.  (Bug#18851)
3638         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
3639         * lisp/startup.el (normal-top-level, command-line-1):
3640         * lisp/minibuffer.el (read-file-name-default):
3641         Handle default-directory being nil.
3643 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3645         Fix "not a tty" bug on Solaris 10
3646         * configure.ac (PTY_OPEN): Define to plain 'open'
3647         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
3648         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
3649         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
3650         hosts that call grantpt which does its work via a setuid subcommand
3651         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
3652         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
3653         seems relevant in that case too.
3655 2015-06-11  Juri Linkov  <juri@linkov.net>
3657         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
3658         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
3659         (Bug#20785)
3661 2015-06-11  Glenn Morris  <rgm@gnu.org>
3663         * lisp/international/characters.el (char-script-table): Fix typo.
3665 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3667         Fix quoting of help for functions with odd names
3668         While investigating Bug#20759, I discovered other quoting problems:
3669         C-h f mishandled characters like backslash and quote in function names.
3670         This fix changes the behavior so that 'C-h f pcase RET' now
3671         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
3672         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
3673         in src/lread.c's read1 function says that the backslash will be
3674         needed starting in Emacs 25, which implies that 'format' is
3675         correct and the old pcase documention was wrong to omit the backslash.
3676         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
3677         * lisp/help-fns.el (help-fns--signature):
3678         * lisp/help.el (help-add-fundoc-usage):
3679         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
3680         Use help--make-usage-docstring rather than formatting
3681         help-make-usage.
3682         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
3683         Return raw docstring.
3684         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
3685         raw docstring.  Take more care to distinguish raw from cooked dstrings.
3686         (describe-function-1): Let help-fns--signature substitute
3687         command keys.
3688         * lisp/help.el (help--docstring-quote): New function.
3689         (help-split-fundoc): Use it, to quote funny characters more
3690         systematically.
3691         (help--make-usage): Rename from help-make-usage, since this
3692         should be private.  Leave an obsolete alias for the old name.
3693         (help--make-usage-docstring): New function.
3694         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
3696 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3698         * lisp/thingatpt.el (in-string-p): Revert last change,
3699         since in-string-p is not used in thingatpt.el but only from outside.
3700         Also, use lexical binding.
3702 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
3704         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
3705         * test/automated/let-alist.el (let-alist-cons): Test it.
3707 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3709         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
3711 2015-06-10  Glenn Morris  <rgm@gnu.org>
3713         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
3715         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
3716         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
3717         * admin/gitmerge.el (gitmerge-commit-message):
3718         Exclude "skipped" messages from ChangeLog once again.
3720         Slight namespace cleanup for thingatpt.el.
3721         * lisp/thingatpt.el (thing-at-point--in-string-p)
3722         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
3723         (thing-at-point--read-from-whole-string): Rename from
3724         old versions without "thing-at-point--" prefix.
3725         Keep old versions as obsolete aliases.  Update all uses.
3727         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
3728         Move requiring of finder from here...
3729         (checkdoc-package-keywords): ... to here.
3731         Use 'user-error' in a few calendar files.
3732         * lisp/calendar/appt.el (appt-add):
3733         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
3734         (calendar-generate):
3735         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
3736         Replace 'error' with 'user-error'.
3738         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
3740         * lisp/files-x.el (add-file-local-variable):
3741         Special-case 'lexical-binding'.  (Bug#20641)
3743         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
3744         No longer autoload.
3745         * doc/misc/autotype.texi (Executables):
3746         Undocument executable-self-display.
3748         * lisp/progmodes/executable.el (executable-self-display):
3749         Use non-obsolete tail syntax.  (Bug#20779)
3750         (executable-self-display): Doc update.
3752 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3754         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
3755         (finder-known-keywords): Silence byte-compiler.
3757 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
3759         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
3761         * lisp/progmodes/sh-script.el: Better handle nested quotes
3762         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
3763         (sh-font-lock-quoted-subshell): Make sure double quotes within single
3764         quotes don't mistakenly end prematurely the surrounding string.
3766         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
3768 2015-06-09  Glenn Morris  <rgm@gnu.org>
3770         * test/automated/Makefile.in (ELFILES): Sort.
3772         * Makefile.in (SUBDIR_MAKEFILES):
3773         * lwlib/Makefile.in (WARN_CFLAGS):
3774         Use built-in Make functions rather than echo+sed.
3776 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
3778         Update char-script-table
3779         * lisp/international/characters.el (char-script-table): Update
3780         from Unicode 8.0 Draft.
3782         Improve font selection for punctuation and other symbols
3783         * src/fontset.c (face_for_char): If the character's script is
3784         'symbol', and the font used for ASCII face has a glyph for it, use
3785         the font for the ASCII face instead of searching the fontsets.
3786         This comes instead of NS-specific code that used the current
3787         face's font instead, which is now disabled due to undesirable
3788         consequences.  (Bug#20727)
3790 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
3792         Skip past `#' to find BEG
3793         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
3794         past `#' to find BEG (bug#20771).
3795         * test/automated/elisp-mode-tests.el
3796         (elisp-completes-functions-after-hash-quote): New test.
3798 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3800         Fix compilation warning/error in --without-x builds
3801         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
3802         code on HAVE_WINDOW_SYSTEM.
3804         Improve the default fontset wrt symbols
3805         * lisp/international/fontset.el (setup-default-fontset): Better
3806         setup of fontset-default for symbols: use Symbola and FreeMono.
3807         (Bug#20727)
3809 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3811         Add new command checkdoc-package-keywords
3812         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
3813           defcustom.
3814         (checkdoc-list-of-strings-p): Add doc.
3815         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
3816         non-nil, call `checkdoc-package-keywords'.
3817         (checkdoc-get-keywords): New defun.
3818         (checkdoc-package-keywords): New command. Warns if the current file
3819         has package.el-style keywords that aren't in `finder-known-keywords'.
3820         * etc/NEWS: Add entry.
3822 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3824         Avoid crashes when key-binding is called from a timer
3825         * src/keymap.c (Fkey_binding): Don't segfault if called with an
3826         empty vector as KEY.  (Bug#20705)
3828         Fix a thinko in arc-mode.el
3829         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
3830         non-Zip64 case.  (Bug#20769)
3832 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
3834         * lisp/emacs-lisp/package.el (package-delete): Make interactive
3836 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3838         checkdoc.el (checkdoc-file): New function
3839         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
3840           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
3841           to the standard output.
3842         (bug#20754)
3844 2015-06-07  Glenn Morris  <rgm@gnu.org>
3846         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
3848         * src/font.c (syms_of_font) <font-log>: Doc fix.
3850         Remove the obsolete leading "*" from some C doc strings.
3851         * src/coding.c (syms_of_coding):
3852         * src/font.c (syms_of_font): Remove leading "*" from docs.
3853         * lisp/cus-start.el (enable-character-translation): Add it.
3855 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
3857         Move gen_origin from program to data
3858         That way, 'make change-history' needs to change only ChangeLog.2,
3859         instead of having to change two files.
3860         * ChangeLog.2: Add commit info for range that this file covers.
3861         * Makefile.in (new_commit_regexp): New macro.
3862         (change-history-nocommit): Simplify, by putting what used to be
3863         the gen_origin value into the data (ChangeLog.2) rather than
3864         into the program (gitlog-to-emacslog).
3865         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
3866         the input file (e.g., ChangeLog.2) rather than by having a
3867         constant in the program.  Substitute it into the output.
3869 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
3871         Escape any quotes in the function name
3872         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
3873         function name (bug#20759).
3875 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
3877         Adapt 'struct timespec' to next release of MinGW runtime
3878         * nt/inc/ms-w32.h (struct timespec): Don't declare if
3879         __struct_timespec_defined is defined.
3881 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3883         Merge from gnulib
3884         This incorporates:
3885         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
3886         2015-06-05 stdio: Don't redefine gets when using C++
3887         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
3888         2015-06-02 file-has-acl: fix build on Mac OS X 10
3889         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
3890         2015-06-01 pthread_sigmask: discount system version if a simple macro
3891         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
3892         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
3893         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
3894         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
3895         * lib/gnulib.mk: Regenerate.
3897 2015-06-06  Juri Linkov  <juri@linkov.net>
3899         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
3900         before calling grep-compute-defaults because now it affects the
3901         command lines computed in grep-compute-defaults. (Bug#20728)
3903 2015-06-06  Glenn Morris  <rgm@gnu.org>
3905         Address some compilation warnings.
3906         * lisp/international/mule-cmds.el (w32-get-console-codepage)
3907         (w32-get-console-output-codepage):
3908         * lisp/progmodes/elisp-mode.el (xref-collect-references):
3909         * lisp/version.el (cairo-version-string): Declare.
3910         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
3912 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3914         Fix display when a font claims large values of ascent and descent
3915         This fixes bug#20628.
3916         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
3917         coordinate of a hollow cursor glyph when the original glyph's
3918         ascent is too small.
3919         (get_font_ascent_descent, normal_char_ascent_descent)
3920         (normal_char_height): New functions.
3921         (handle_single_display_spec, append_space_for_newline)
3922         (calc_pixel_width_or_height, produce_stretch_glyph)
3923         (calc_line_height_property): Use normal_char_ascent_descent and
3924         normal_char_height.
3925         (x_produce_glyphs): When font-global values of ascent and descent
3926         are too large, use per-character glyph metrics instead, if
3927         possible.  But don't allow the glyph row's ascent and descent
3928         values become smaller than the values from the metrics of the
3929         font's "normal" character.
3930         * src/xftfont.c (xftfont_draw):
3931         * src/w32font.c (w32font_draw): Correct the values of ascent and
3932         descent used to draw glyphless characters' hex code in a box.
3933         * src/xterm.c (x_draw_glyph_string_background):
3934         * src/xdisp.c (x_produce_glyphs):
3935         * src/w32term.c (x_draw_glyph_string_background):
3936         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
3937         to detect fonts whose global ascent and descent values are too
3938         large to be used in layout decision, and redraw the background
3939         when that happens.
3940         * src/dispextern.h (FONT_TOO_HIGH): New macro.
3941         (get_font_ascent_descent): Add prototype.
3942         * src/xterm.c (x_new_font):
3943         * src/w32term.c (x_new_font):
3944         * src/nsterm.m (x_new_font):
3945         * src/font.c (font_open_entity):
3946         * src/composite.c (composition_gstring_width): Use
3947         get_font_ascent_descent to obtain reasonable values for ascent and
3948         descent of a font.
3950 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3952         Add assertion in adjust_point_for_property
3953         * src/keyboard.c (adjust_point_for_property): Add eassert for
3954         current buffer being shown in selected window.
3956 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
3958         Replace uses of in-string-p; make it obsolete
3959         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
3960         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
3962 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3964         Fix Dired display of an explicit list of files by ls-lisp.el
3965         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
3966         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
3967         correct for when displaying individual files separately, not as
3968         part of listing a directory, in which case these values are not
3969         recomputed by 'ls-lisp-insert-directory', but used verbatim.
3971         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
3973 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3975         Do not adjust point in a non-selected window
3976         * src/keyboard.c (command_loop_1): Do not adjust point when
3977         current buffer is not shown in selected window (Bug#20590).
3979         * etc/DEBUG: Mention 'maybe_call_debugger'
3981 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
3983         Fix a unit test for map.el
3984         * test/automated/map-tests.el (test-map-let): Fix the test to work
3985         with the new syntax of `map-let'.
3987         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3989         Better syntax for the map pcase pattern
3990         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
3991         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
3993         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
3995         Fix a byte-compiler error in map-put and map-delete
3996         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
3997         called with a symbol.
3999 2015-06-05  Glenn Morris  <rgm@gnu.org>
4001         * admin/gitmerge.el (gitmerge-commit-message):
4002         Revert to including "skipped" messages in ChangeLog once again.
4004 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
4006         Use string> instead of equiv lambda with string<
4007         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
4008         lambda with string<.
4010 2015-06-05  Glenn Morris  <rgm@gnu.org>
4012         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
4013         (map--delete-array): Fix typo.
4015         * test/automated/map-tests.el: Replace "assert" with "should".
4017         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
4018         (SUBDIRS_REL): Derive from SUBDIRS.
4020         Tweak some build messages.
4021         * lisp/Makefile.in ($(lisp)/loaddefs.el):
4022         * lisp/cus-dep.el (custom-make-dependencies):
4023         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
4024         * lisp/international/titdic-cnv.el (batch-titdic-convert):
4025         Don't say how to compile.
4027 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
4029         Omit U+0332 COMBINING LOW LINE in previous change
4030         It turns out that it does not work on Ubuntu 15.04.
4032         Fix transliteration of Bahá'í months
4033         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
4034         Improve quality of Latin transliteration of Bahá'í month names.
4036         Fix curved quotes in a few places
4037         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
4038         The strings in question are not doc strings, so this partially
4039         undoes the recent change that assumed they were doc strings.
4040         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
4041         * lisp/info.el (Info-finder-find-node):
4042         Use curved quotes.
4043         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
4044         Also allow curved quotes in doc strings.
4046 2015-06-04  Glenn Morris  <rgm@gnu.org>
4048         * lisp/Makefile.in (AM_V_at): Add missing definition.
4050         * lisp/Makefile.in: Quieten output a bit.
4051         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
4052         Don't echo directories, since the commands we invoke print them.
4054         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
4055         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
4056         (SUBDIRS_SUBDIRS): New variables.
4057         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
4058         Remove.
4059         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
4060         (update-subdirs, compile-main, compile-clean):
4061         Replace "setwins" usage with new "SUBDIRS" variables.
4063         * lisp/vc/compare-w.el (compare-windows-get-window-function):
4064         Fix :version tag.
4066 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4068         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
4070         Undo removal of x_clear_area call on expose for GTK3 or cairo.
4071         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
4072         exposed area.  (Bug#20677)
4074 2015-06-04  Glenn Morris  <rgm@gnu.org>
4076         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
4078         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
4080         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
4081         Rename from quail-lao-update-translation, since lao.el defines that.
4083 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
4085         Handle new-style advice in find-funct
4086         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
4087         Handle new-style advice.  Return the symbol's function definition.
4088         (Bug#20718)
4089         (find-function-library): Update accordingly.
4091 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
4093         Merge branch 'map'
4095         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
4097         Add new function string-greaterp
4098         * lisp/subr.el (string-greaterp): New function.  Also aliased to
4099         `string>'.
4100         * test/automated/subr-tests.el (string-comparison-test): Add unit
4101         tests for `string>'and `string<'.
4102         * src/fns.c (string-lessp): Better docstring.
4104 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
4106         Fix timezone-related functions on MS-Windows
4107         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
4108         'xputenv', even if no reallocation of tzvalbuf was necessary.
4109         This fixes a bug in timezone-related functions on MS-Windows.
4110         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
4112 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
4114         Don't pass raw directory name to 'error'
4115         * lisp/files.el (basic-save-buffer-2): Avoid format error if
4116         a directory name contains a string like "%s".
4118 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
4120         Override 'grep --color=always'
4121         * lisp/progmodes/xref.el (xref-collect-matches):
4122         Override --color=always in grep-find-template.
4124 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
4126         Fix error introduced recently in file-notify-tests.el
4127         * test/automated/file-notify-tests.el
4128         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
4129         (file-notify--deftest-remote): Revert previous patch, not
4130         necessary anymore.
4132 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
4134         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
4135         Starting from a display string after a newline, point went to the
4136         previous line.  Also, fix an inadvertent use of a buffer position
4137         with FETCH_BYTE.  (Bug#20701)
4139 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
4141         Instrument file-notify-test.el in order to catch hydra error.
4142         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
4143         Wrap body by `ignore-case', in order to trap non-local errors.
4145 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4147         Undo previous changes in non-toolkit scroll bar drawing.
4148         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
4149         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
4151 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
4153         * .gitignore: Also ignore doc/*/*/*.html and .ps.
4155         Support quotes 'like this' in info files
4156         This is possible when 'makeinfo --disable-encoding' is used
4157         in Texinfo 5.
4158         * lisp/calc/calc-help.el (calc-describe-thing):
4159         * lisp/gnus/gnus-art.el (gnus-button-alist):
4160         * lisp/info.el (Info-find-index-name):
4161         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4162         Also support quotes 'like this'.
4163         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
4164         * lisp/finder.el (finder-font-lock-keywords): Remove var that
4165         hasn't been used in years, instead of bothering to fix its quoting.
4167 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
4169         * .gitignore: Remove !test/etags/html-src/*.html.
4170         It's no longer needed, since *.html was removed.  Sort.
4172 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
4174         Restore <D> instead of '.' in grep-find-template
4175         * lisp/cedet/semantic/symref/grep.el
4176         (semantic-symref-grep-use-template): Update a comment.
4177         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
4178         instead of '.' in grep-find-template (bug#20719).
4179         (rgrep): Pass nil as the directory to rgrep-default-command.
4180         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
4181         default value for DIR.
4182         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
4183         workaround.
4185 2015-06-02  Glenn Morris  <rgm@gnu.org>
4187         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
4189         * configure.ac (emacs_config_features): Add Cairo.
4191         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
4193 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
4195         Ensure, that autorevert works for remote files in file-notify-tests.el
4196         * test/automated/file-notify-tests.el (file-notify--test-desc):
4197         New defvar.
4198         (file-notify--test-remote-enabled)
4199         (file-notify-test00-availability, file-notify-test01-add-watch)
4200         (file-notify-test02-events): Use it.
4201         (file-notify--test-event-test): Check proper descriptor.
4202         (file-notify-test03-autorevert): Ensure, that
4203         `visited-file-modtime' has changed.
4204         (Bug#20392)
4206 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
4208         Add a pcase pattern for maps and `map-let' based on it
4209         * lisp/emacs-lisp/map.el (map-let): New macro.
4210         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
4211         * test/automated/map-tests.el: New test for `map-let'.
4213 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
4215         Reuse rgrep mechanics in xref-find-regexp
4216         * lisp/progmodes/grep.el (rgrep-default-command):
4217         Extract from `rgrep'.
4218         * lisp/progmodes/xref.el (xref-collect-references): Split from
4219         `xref-collect-matches'.  Only handle the case of symbol search.
4220         (xref-collect-matches): Instead of Semantic Symref, use
4221         `rgrep-default-command', to take advantage of its directory and
4222         file ignore settings.
4223         (xref--collect-match): Remove the last argument, leaving the
4224         regexp construction up to the caller.
4225         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
4226         Change to take the xref-collect- function to use as an argument.
4227         (elisp-xref-find): Update accordingly.
4228         * lisp/progmodes/etags.el (etags--xref-find-matches)
4229         (etags-xref-find): Same.
4231         Move xref-elisp-location to elisp-mode.el
4232         * lisp/progmodes/xref.el (xref-elisp-location)
4233         (xref-make-elisp-location, xref-location-marker): Remove here.
4234         (xref--xref): Don't limit the type of the location slot.
4235         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
4236         Define as a cl-struct here.
4237         (xref-location-marker): Move here.
4239 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
4241         Minor tweaks for .gitignore
4242         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
4243         ignore admin/notes/tags that might be ignored as TAGS on
4244         case-insensitive filesystems.  (Bug#20710)
4246 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
4248         Generate curved quotes in ert doc
4249         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
4250         (ert-results-mode-menu)
4251         (ert-results-pop-to-backtrace-for-test-at-point)
4252         (ert-results-pop-to-messages-for-test-at-point)
4253         (ert-results-pop-to-should-forms-for-test-at-point)
4254         (ert-describe-test):
4255         Quote ‘like this’, not `like this', when generating doc strings
4256         and the like.
4257         * test/automated/ert-x-tests.el (ert-test-describe-test):
4258         Allow quoting ‘like this’.
4260 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
4262         Add test for previous commit
4263         * test/automated/replace-tests.el: New file.
4264         (query-replace--split-string-tests): Add test for previous commit.
4266         Avoid confusion in query-replace history when replacing NUL chars
4267         * lisp/replace.el (query-replace--split-string): New function.
4268         (query-replace-read-from): Rely on the 'separator' property
4269         instead of searching for the NUL character (Bug#20690).
4271 2015-06-02  Glenn Morris  <rgm@gnu.org>
4273         Merge from origin/emacs-24
4274         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
4276         * admin/gitmerge.el (gitmerge-commit-message):
4277         Exclude "skipped" messages from ChangeLog.
4279 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
4281         Sync with Tramp repository
4282         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
4283         messages.
4284         (tramp-handle-make-auto-save-file-name): When calling
4285         `make-auto-save-file-name' internally, make sure it uses Unix-like
4286         behavior, not Windows-like behavior.
4287         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
4288         the local case, because "chown" might fail on w32.
4289         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
4290         for XEmacs.
4292 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
4294         MS-Windows followup for batch stdout/stderr output changes
4295         * lisp/international/mule-cmds.el (set-locale-environment): In
4296         batch mode, use console codepages for keyboard and terminal
4297         encoding.  (Bug#20545)
4299         Update .gitattributes for DOS EOL files
4300         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
4301         CRLF end-of-line format.
4303         NS equivalents of xterm.c and w32term.c changes
4304         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
4305         glyph string background also when the font in use claims
4306         preposterously large global height value.  Helps to remove
4307         artifacts left from previous displays when glyphless characters
4308         are displayed as hex code in a box.
4309         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
4310         value for FRAME_LINE_HEIGHT, even when a font claims very large
4311         value for its height.
4313 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
4315         Avoid grave accent quoting in stderr diagnostics
4316         A few Emacs diagnostics go directly to stderr, and so can't easily
4317         contain curved quotes (as non-UTF-8 locales might mishandle them).
4318         Instead of bothering to add support for this rarity, reword the
4319         diagnostics so that they don't use grave accent to quote.
4320         * src/alloc.c (mark_memory): Fix comment.
4321         * src/buffer.c (init_buffer):
4322         * src/dispnew.c (init_display):
4323         * src/emacs.c (main, sort_args):
4324         * src/lread.c (dir_warning):
4325         * src/term.c (init_tty):
4326         * src/unexmacosx.c (unexec):
4327         * src/xfns.c (select_visual):
4328         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
4329         Reword stderr diagnostics to avoid quoting `like this'.
4330         * src/unexmacosx.c: Include errno.h.
4331         * src/xfns.c (select_visual): Encode value for locale.
4333 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
4335         Treat batch stdout/stderr like standard display
4336         Calls like (print FOO) could generate improperly encoded or
4337         hard-to-read output if FOO contains characters outside the system
4338         locale.  Fix this by treating batch stdout and stderr like
4339         interactive standard display, when it comes to transliterating and
4340         encoding characters (Bug#20545).
4341         * doc/emacs/mule.texi (Communication Coding):
4342         * doc/lispref/display.texi (Active Display Table):
4343         * doc/lispref/nonascii.texi (Locales):
4344         * etc/NEWS:
4345         * src/coding.c (syms_of_coding):
4346         * src/dispnew.c (syms_of_display):
4347         Document this.
4348         * src/print.c: Include disptab.h.
4349         (printchar_to_stream): New function, with much of the guts of the
4350         old Fexternal_debugging_output, except this one also uses the
4351         standard display table.
4352         (printchar, strout, Fexternal_debugging_output): Use it.
4354 2015-05-31  Glenn Morris  <rgm@gnu.org>
4356         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
4358 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
4360         Remove unused DEFSYMs
4361         Remove DEFSYMs that aren't used at the C level.  Also:
4362         * src/decompress.c (Qzlib_dll):
4363         * src/font.c (Qunicode_sip):
4364         * src/frame.c (Qtip_frame):
4365         * src/ftfont.c (Qserif):
4366         * src/gnutls.c (Qgnutls_dll):
4367         * src/xml.c (Qlibxml2_dll):
4368         Move from here ...
4369         * src/w32fns.c (syms_of_w32fns): ... to here,
4370         as these are used only on MS-Windows.
4372 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
4374         Use another default value for tramp-histfile-override
4375         * lisp/net/tramp-sh.el (tramp-histfile-override):
4376         Use ".tramp_history" as default.
4377         Fixes: debbugs:#20446
4379 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
4381         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
4383 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
4385         * etc/NEWS: Add an entry about map.el
4387         Improve the docstring of functions in map.el
4388         Since a map is not a data structure but a concept, adding information
4389         about the possible types of maps can be useful information.
4390         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
4391         each public function.
4393 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
4395         Faster implementation of map-empty-p
4396         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
4397         specific tests depending on the type of the map.
4399         * lisp/emacs-lisp/map.el: Better docstrings.
4401 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
4403         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
4405 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
4407         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
4409         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
4411         Fix a false negative in `map-elt' with alists and values being nil
4412         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
4413         found but its associated value is nil, do not return the default
4414         value.
4415         * test/automated/map-tests.el: Add a regression test.
4417 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
4419         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
4421         Do not signal an error when trying to delete a key from an array
4422         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
4423         the key is present to avoid signaling an error.
4424         * test/automated/map-tests.el: Add a test for deleting non-existing
4425         keys from maps.
4427         * lisp/emacs-lisp/map.el: Better docstring.
4429         Minor improvement in map-elt.
4430         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
4431         doing a lookup in arrays, but check the boundaries of the array
4432         instead.
4433         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
4434         and a negative integer as key.
4436 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
4438         * test/automated/map-tests.el: Refactoring of test methods.
4440         * test/automated/map-tests.el: Renamed from map-test.el.
4442 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
4444         * lisp/emacs-lisp/map.el (map-into): Better error message.
4446         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
4448         Throw an error when converting a map into an unknown map type
4449         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
4450         * test/automated/map-test.el: Add a regression test.
4452         New library map.el similar to seq.el but for mapping data structures.
4453         * test/automated/map-test.el: New file.
4454         * lisp/emacs-lisp/map.el: New file.
4456 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
4458         Make sure there's no explicit tag name
4459         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
4460         there's no explicit tag name (bug#20629).
4462 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
4464         Remove format2
4465         * src/editfns.c, src/lisp.h (format2): Remove.
4466         It is more trouble than it's worth, now that we have CALLN.
4467         This is just a minor refactoring.
4468         * src/buffer.c (Fkill_buffer):
4469         * src/dbusbind.c (XD_OBJECT_TO_STRING):
4470         * src/fileio.c (barf_or_query_if_file_exists):
4471         Adjust to format2 going away.
4473         Don't misencode C-generated messages
4474         Also, be more consistent about calls to 'Fmessage' vs 'message'.
4475         * src/alloc.c (Fgc_status):
4476         Prefer AUTO_STRING to build_string for Fmessage call.
4477         * src/data.c (Fmake_variable_buffer_local)
4478         (Fmake_local_variable, Fmake_variable_frame_local):
4479         * src/doc.c (store_function_docstring):
4480         Use Fmessage, not message, since the argument can contain
4481         non-ASCII characters, and this can cause the resulting message
4482         to be incorrectly encoded for the current environment.
4483         * src/fns.c (maybe_resize_hash_table):
4484         * src/xselect.c (x_clipboard_manager_save_all):
4485         Use message, not Fmessage, since Fmessage's power isn't needed here.
4486         * src/process.c (Fmake_network_process): Reword message to avoid %s.
4487         * src/xdisp.c (vmessage): Document restrictions on message contents.
4488         (message_nolog) [false]: Remove unused code.
4490         Use \r rather than ^M in string literals
4491         This is less likely to cause problems on platforms that
4492         use CRLF (or CR!) termination for lines.
4494         Update .gitattributes to match current sources
4495         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
4496         * .gitattributes: Accommodate tests that insist on DOS format.
4497         Remove test/automated/data/decompress/foo-gzipped.
4498         Add etc/e/eterm-color.
4500 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
4502         Document 'face-ignored-fonts'
4503         * doc/emacs/mule.texi (Modifying Fontsets): Document
4504         face-ignored-fonts.  (Bug#20628)
4506         Add etags test for the new -Q option
4507         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
4508         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
4509         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
4510         test-case changes below.
4511         * test/etags/ETAGS.good_6: New file.
4512         * test/etags/cp-src/x.cc: New file.
4513         * test/etags/Makefile (CPSRC): Add x.cc.
4514         (check): Add one more test, for -Q.
4516 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
4518         Use list for the tags completion table, not obarray
4519         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
4520         list instead of an obarray
4521         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
4522         (tags-completion-table): Combine those lists.
4523         (tags-completion-table): Update the docstring.
4525 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
4527         Restore EOL format testing in etags
4528         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
4529         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
4530         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
4531         test-case changes below.
4532         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
4533         * test/etags/cp-src/c.C (B): Add back stray CR character.
4534         * test/etags/c-src/dostorture.c: Add back.
4535         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
4537 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
4539         Declare Emacs on MS-Windows to be DPI-aware
4540         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
4541         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
4542         This avoids Windows entering compatibility mode for Emacs,
4543         which causes fonts to look less nice.
4545 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
4547         Improve Tramp traces.
4548         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
4549         * lisp/net/tramp.el (tramp-debug-message): Use it.
4551 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
4553         backup-buffer minor reworking of internals
4554         * lisp/files.el (backup-buffer): Rework to avoid a couple of
4555         unused locals inadvertently introduced in the previous change.
4557         backup-buffer now reports .emacs.d/%backup% ills
4558         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
4559         fails due to disk space exhaustion or whatever, do not pretend
4560         that it succeeded.  More generally, do a better job of checking
4561         for I/O failures, and limit the scope of the condition-case to
4562         just the operations where file errors should be caught and ignored
4563         (Bug#20595).  Also, don't bother trying to delete later backups if
4564         an earlier deletion fails, as this is a sign of trouble and it's
4565         better to stop when there's trouble.
4567         copy-file now truncates output after writing
4568         * src/fileio.c (Fcopy_file): Truncate output after writing rather
4569         than before.  This is more likely to work than truncation before
4570         writing, if the file system is out of space or the user is over
4571         disk quota (Bug#20595).  Also, check for read errors.
4573 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4575         * lisp/emacs-lisp/package.el: Don't load from parent dir
4576         (package-load-all-descriptors): Don't load descriptors from
4577         directories above the package directories.
4579 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4581         Merge from gnulib
4582         This incorporates the following (Bug#20681):
4583         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
4584         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
4585         * lib/set-permissions.c: Copy from gnulib.
4587 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
4589         Improve Tramp traces.
4590         * lisp/net/tramp.el (tramp-call-process-region): New defun.
4591         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
4593 2015-05-29  Glenn Morris  <rgm@gnu.org>
4595         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
4597 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
4599         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
4600         The signature was changed in the cairo branch, merged on 2015-05-23.
4601         This oversight broke compiling only the non-toolkit X version.
4603 2015-05-29  Samer Masterson  <samer@samertm.com>
4605         * doc/lispref/os.texi: Update initial-buffer-choice docs.
4607 2015-05-29  Glenn Morris  <rgm@gnu.org>
4609         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
4610         Mark as an expected failure.
4612 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4614         Change package test to look for curved quotes
4615         * test/automated/package-test.el (package-test-describe-package)
4616         (package-test-signed): Search for curved single quotes as well as
4617         for grave accent and apostrophe.
4619 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
4621         gnus-art.el: Re-revert last change
4622         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
4623         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
4625 2015-05-28  Samer Masterson  <samer@samertm.com>
4627         Show files when `initial-buffer-choice' is non-nil
4628         * startup.el (command-line-1): When Emacs is given a file as an
4629         argument and `initial-buffer-choice' is non-nil, display both the file
4630         and `initial-buffer-choice'.  For more than one file, show
4631         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
4632         commands out of the command line arg parser.
4633         (initial-buffer-choice): Clarify docstring.
4635 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
4637         Fix last commit
4638         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
4639         (gnulib module qcopy-acl): Add back, as it is harmless.  This
4640         minimizes differences wrt lib/gnulib.mk.
4642         Fix the MS-Windows build as followup to gnulib update
4643         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
4644         set-permissions.c, as they don't compile on MinGW.
4645         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
4647 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
4649         Revert my change to gnus-art.el
4650         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
4651         It wasn't that important, and it caused a Gnus build to fail.  See:
4652         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
4654         New minor mode Electric Quote
4655         This lets you easily insert quotes ‘like this’ by typing
4656         quotes `like this', and similarly you can easily insert
4657         quotes “like this” by typing quotes ``like this'' (Bug#20545).
4658         * doc/emacs/basic.texi (Inserting Text):
4659         * doc/emacs/modes.texi (Minor Modes):
4660         * etc/NEWS: Document it.
4661         * doc/emacs/text.texi (Quotation Marks): New section.
4662         * lisp/electric.el (electric-quote-comment)
4663         (electric-quote-string, electric-quote-paragraph):
4664         New custom vars.
4665         (electric--insertable-p)
4666         (electric-quote-post-self-insert-function): New functions.
4667         (electric-quote-mode, electric-quote-local-mode): New minor modes.
4668         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4669         Add curved single quotes to electric-pair-text-pairs.
4670         Set electric-quote-string in this buffer.
4672         A few more doc string fixes (Bug#20385)
4674         Accept curved quotes in doc strings
4675         * lisp/info-look.el (info-lookup-guess-custom-symbol):
4676         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
4678         Generate curved quotes in pseudo-info nodes
4679         * lisp/info.el (Info-virtual-index-find-node)
4680         (Info-virtual-index, Info-apropos-find-node, info-apropos):
4681         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
4683         Fix minor quoting problems in doc strings
4684         Most of these fixes involve escaping grave accents that are
4685         actually intended to be grave accents, not left quotes.
4686         (Bug#20385)
4688         Support curved quotes in doc strings
4689         Emacs's traditional doc string style has been to quote symbols
4690         `like this'.  This worked well on now-obsolete terminals where
4691         ` and ' were symmetric quotes, but nowadays curved quotes
4692         ‘like this’ look better.  Support quoting the new way too.
4693         (Bug#20385)
4694         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
4695         ‘like-this’ as well as `like-this'.
4696         * etc/NEWS: Mention this.
4697         * lisp/cedet/mode-local.el (overload-docstring-extension)
4698         (mode-local-print-binding, mode-local-describe-bindings-2):
4699         * lisp/cus-theme.el (describe-theme-1):
4700         * lisp/descr-text.el (describe-text-properties-1, describe-char):
4701         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
4702         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
4703         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
4704         (eieio-help-constructor):
4705         * lisp/emacs-lisp/package.el (describe-package-1):
4706         * lisp/faces.el (describe-face):
4707         * lisp/help-fns.el (help-fns--key-bindings)
4708         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
4709         (help-fns--interactive-only, describe-function-1):
4710         (describe-variable):
4711         * lisp/help.el (describe-mode):
4712         * lisp/international/mule-cmds.el (describe-input-method)
4713         (describe-language-environment):
4714         * lisp/international/mule-diag.el (describe-character-set)
4715         (print-coding-system-briefly, list-input-methods)
4716         (list-input-methods-1):
4717         Insert curved quotes rather than grave accent and apostrophe.
4718         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4719         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
4720         (checkdoc-proper-noun-region-engine):
4721         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
4722         (lisp-cl-font-lock-keywords-2):
4723         * lisp/finder.el (finder-font-lock-keywords):
4724         * lisp/gnus/gnus-art.el (gnus-button-alist):
4725         * lisp/help-fns.el (help-do-arg-highlight)
4726         (describe-function-1, describe-variable):
4727         * lisp/help-mode.el (help-xref-symbol-regexp)
4728         (help-xref-info-regexp, help-xref-url-regexp):
4729         * lisp/help.el (describe-mode):
4730         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
4731         * lisp/wid-edit.el (widget-documentation-link-regexp):
4732         Parse symbols quoted ‘like-this’ as well as `like-this'.
4733         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4734         Add "‘" and "’" to electric-pair-text-pairs.
4735         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
4736         (elisp-completion-at-point, elisp--preceding-sexp):
4737         Also treat "‘" and "’" as quoting chars.
4739         substitute-command-keys now curves quotes
4740         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
4741         * doc/lispref/help.texi (Keys in Documentation):
4742         * etc/NEWS: Document this.
4743         * src/doc.c (Fsubstitute_command_keys): Implement it.
4745 2015-05-28  Glenn Morris  <rgm@gnu.org>
4747         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
4748         (rmail-summary-by-topic, rmail-summary-by-senders):
4749         No longer strip leading/trailing whitespace.
4751         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
4752         (f90-no-block-limit): Add "enum".  (Bug#20680)
4753         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
4754         New tests.
4756 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4758         * lisp/isearch.el (isearch--current-buffer): Give a default value.
4760         Un-revert changes mistakenly dropped by f9fabb2b
4762 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4764         Merge from gnulib
4765         This incorporates:
4766         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
4767         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
4768         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
4769         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
4770         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
4771         2015-05-26 stdio: fix probe on mingw under gcc 5.1
4772         * admin/merge-gnulib (GNULIB_MODULES):
4773         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
4774         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
4775         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
4776         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
4777         Get latest versions from gnulib.
4778         * lib/get-permissions.c, lib/set-permissions.c: New files.
4779         * lib/gnulib.mk, m4/gnulib-comp.m4:
4780         Regenerate.
4781         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
4783 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
4785         Delete the old process in vc-setup-buffer
4786         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
4787         process here.
4788         (vc-do-command): Rather than here (bug#20608).
4790 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
4792         Avoid gratuitous delete-dups in face-at-point.
4793         * lisp/faces.el (face-at-point): Do not compute the properly
4794         ordered, duplicate-free list if only a single value is
4795         requested anyway.  (Bug#20519)
4797         Show the exact C-x 8 RET invocation in describe-char.
4798         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
4799         invocation instead of a template.  (Bug#20522)
4801 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4803         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
4804         (package-menu--post-refresh): Call `tabulated-list-print' with the
4805         UPDATE argument.  This only affects the refresh action, the revert
4806         action still erases tags.
4807         (package-menu-get-status): Change `assq' to `assoc'.
4808         (package-menu--mark-upgrades-1): New function.
4809         (package-menu--mark-upgrades-pending): New variable.
4810         (package-menu-mark-upgrades): Use them to delay marking until
4811         after refresh is done.
4812         (package-menu--post-refresh): Call mark-upgrades-1 if
4813         mark-upgrades-pending is non-nil.
4815 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4817         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
4819 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4821         * lisp/isearch.el (isearch--current-buffer): New var
4822         (isearch-update): Set cursor-sensor-inhibit here.
4823         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
4825         Change inhibit-point-motion-hooks to t
4826         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
4827         to t and document it as obsolete.
4829 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
4831         Support ZIP files that use Zip64 extensions
4832         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
4833         format of central directory offsets used by Zip64 extensions.
4834         (Bug#20665)
4836 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4838         New test tramp-test30-make-auto-save-file-name
4839         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
4840         (tramp-test31-special-characters)
4841         (tramp-test31-special-characters-with-stat)
4842         (tramp-test31-special-characters-with-perl)
4843         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
4844         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
4845         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
4846         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
4848         Improve tramp-handle-make-auto-save-file-name
4849         * tramp.el (tramp-auto-save-directory): Add :tags.
4850         (tramp-handle-make-auto-save-file-name): Let native
4851         `make-auto-save-file-name' use `auto-save-file-name-transforms',
4852         if `tramp-auto-save-directory' is not set.
4854 2015-05-27  Glenn Morris  <rgm@gnu.org>
4856         No longer set dired-directory in eshell.  (Bug#16477)
4857         * lisp/eshell/esh-mode.el (eshell-mode):
4858         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
4860         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
4862         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
4863         * lisp/progmodes/cc-mode.el (c-mode-help-address):
4864         Change to submit@debbugs.
4865         (c-mode-bug-package): New constant.
4866         (mail-position-on-field): Declare.
4867         (c-submit-bug-report): Insert X-Debbugs-Package header.
4868         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
4869         Mention debbugs.gnu.org.
4871 2015-05-26  Glenn Morris  <rgm@gnu.org>
4873         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
4874         (rmail-summary-by-recipients, rmail-summary-by-topic)
4875         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
4876         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
4878 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4880         Handle curved quotes in info files
4881         * lisp/calc/calc-help.el (calc-describe-thing):
4882         * lisp/info.el (Info-find-index-name)
4883         (Info-try-follow-nearest-node, Info-fontify-node):
4884         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4885         In info files, process quotes ‘like this’ the same way we process
4886         quotes `like this'.  This catches a few places we missed earlier.
4888 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
4890         xref-prompt-for-identifier: Use a list value
4891         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
4892         value, to be interpreted as a list of commands.
4893         (xref--prompt-p): New function.
4894         (xref--read-identifier): Use it.
4896 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
4898         Teach MS-Windows font back-end return per-glyph ascent/descent
4899         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
4900         values.
4901         * src/w32font.c (w32font_text_extents): Compute, cache, and
4902         accumulate per-glyph ascent and descent values, instead of copying
4903         global values from the font.  If the values are not available from
4904         the font data, i.e., non-TTF fonts, fall back on font-global values.
4905         (compute_metrics): Compute and return per-glyph ascent and descent
4906         values, if returned by GetGlyphOutlineW, falling back on
4907         font-global values.  (Bug#20628)
4908         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
4909         height of rectangle to be drawn, to be compatible with
4910         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
4911         box, when per-glyph ascent/descent values are used.
4913 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
4915         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
4916         (tabulated-list-print): Don't sort if sorter is nil
4918 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
4920         Fix Bug#20621
4921         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
4922         are major modes which set `auto-save-mode' on their own rules;
4923         Tramp shall not overwrite such settings.
4924         (Bug#20621)
4926 2015-05-26  Glenn Morris  <rgm@gnu.org>
4928         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
4929         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
4930         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
4931         Doc updates.
4932         (vc-dir-mode): Remove unnecessary autoload.
4934 2015-05-25  Philipp Stephani  <phst@google.com>
4936         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
4937         (xterm--extra-capabilities-type): Add `getSelection'.
4938         (xterm--query): Add `no-async' argument.
4939         (xterm--init-activate-get-selection): New function.
4940         (terminal-init-xterm): Use it.
4941         (xterm--init-modify-other-keys): Rename from
4942         terminal-init-xterm-modify-other-keys.
4943         (xterm--init-bracketed-paste-mode): Rename from
4944         terminal-init-xterm-bracketed-paste-mode.
4945         (xterm--init-activate-set-selection): Rename from
4946         terminal-init-xterm-activate-set-selection.
4947         (xterm--selection-char): New function.
4948         (gui-backend-set-selection): Use it.  Use the &context to only apply
4949         this method in terminals where we enabled the feature.
4950         (gui-backend-get-selection): New method.
4952 2015-05-25  Daniel Colascione  <dancol@dancol.org>
4954         Add C-language keyword constants to C++
4955         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
4956         keyword constants to C++.
4958 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4960         Make TAGS files more portable to MS-Windows
4961         * etc/NEWS: Document this.
4962         * lib-src/etags.c (readline_internal) [DOS_NT]:
4963         Don't treat CRs differently from GNUish hosts.
4964         * lisp/progmodes/etags.el (etags-goto-tag-location):
4965         Adjust STARTPOS to account for the skipped CRs in dos-style files.
4967 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4969         Improve fix of debbugs:20634 in tramp-sh.el
4971 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4973         Fix a typo in last commit
4974         * lib-src/etags.c (C_entries): Fix a typo.
4975         * test/etags/ETAGS.good_1:
4976         * test/etags/ETAGS.good_2:
4977         * test/etags/ETAGS.good_3:
4978         * test/etags/ETAGS.good_4:
4979         * test/etags/ETAGS.good_5:
4980         * test/etags/CTAGS.good: Update due to the change in etags.c.
4982         Fix tagging of class members in C-like OO languages
4983         * lib-src/etags.c (longopts): Add new option --class-qualify and
4984         its shorthand -Q.
4985         (print_help): Add help text for --class-qualify.
4986         (main): Add handling of -Q.
4987         (consider_token, C_entries) <omethodparm>: Append argument types
4988         to Objective C methods only if --class-qualify was specified.
4989         Qualify C++, Objective C, and Java class members with their class
4990         names only if --class-qualify was specified.
4991         (C_entries): If --class-qualify was not specified, remove the
4992         namespace and class qualifiers from tag names of C++ methods.
4993         This allows to use etags.el as xref back-end without the
4994         tag-symbol-match-p method, which greatly increases the number of
4995         potentially false positives.  (Bug#20629)
4996         * doc/man/etags.1: Update to document the new --class-qualify
4997         option.
4998         * test/etags/ETAGS.good_1:
4999         * test/etags/ETAGS.good_2:
5000         * test/etags/ETAGS.good_3:
5001         * test/etags/ETAGS.good_4:
5002         * test/etags/ETAGS.good_5:
5003         * test/etags/CTAGS.good: Update due to changes in etags.c.
5005 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
5007         (cl-generic-define-method): Side effects are evil (bug#20644)
5008         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
5009         cons-cells that might be used as keys in an `equal' hash-table.
5011 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
5013         Make erc timestamps visible again
5014         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
5015         timestamps visible again (if requested).
5017 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
5019         Fix last change in etags.c that broke tagging compresed files
5020         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
5021         quoting of decompression shell command for MS-Windows/MS-DOS.
5023 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
5025         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
5026         (Bug#20639)
5028 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
5030         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
5032 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
5034         Fix IPv6 addresses in Tramp
5035         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
5036         Add sqare brackets around host name.
5038 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
5040         Inhibit `epa-file-handler' in Tramp
5041         (Bug#20634)
5042         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
5043         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
5044         `epa-file-handler'.
5046 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5048         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
5049         (pcase-let): Document the behavior in case the pattern doesn't match.
5051 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
5053         * lisp/emacs-lisp/tabulated-list.el: New optional print method
5054         (tabulated-list-print): New optional argument, UPDATE.  If
5055         non-nil, the list is printed by only adding and deleting the
5056         changed entries, instead of erasing the whole buffer.  This method
5057         is much faster when few or no entries have changed.
5058         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
5059         * etc/NEWS: Document it.
5061         * lisp/emacs-lisp/tabulated-list.el: Improve printing
5062         (tabulated-list--get-sorter): New function.
5063         (tabulated-list-print): Restore window-line when remember-pos is
5064         passed and optimize away the `nreverse'.
5066 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
5068         Simpilify etags TEX mode scanning
5069         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
5070         Remove static vars.
5071         (TeX_commands): Deduce escapes here instead.
5072         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
5073         This removes the need for a reset_input call.
5075         Improve etags I/O error reporting
5076         * lib-src/etags.c:
5077         Don't include sys/types.h and sys/stat.h; no longer needed.
5078         (infilename): New static var.
5079         (process_file_name): Don't call 'stat'.  Instead, just open the
5080         file for reading and report any errors.  Don't bother making
5081         a copy of the file argument; it's not needed.  Be more careful to
5082         use the failing errno when reporting an error.
5083         Quote the real name better (though no perfectly)
5084         when passing it to the shell.
5085         (reset_input): New function, which reports I/O errors.
5086         All uses of 'rewind' changed to use this function.
5087         (perhaps_more_input): New function, which also checks for
5088         I/O errors.  All uses of 'feof' changed to use this function.
5089         (analyze_regex): Report an error if fclose fails.
5090         (readline_internal): Report an error if getc fails.
5091         (etags_mktmp): Return an error if close fails.
5093         etags.c: avoid side effects in 'if'
5094         * lib-src/etags.c (process_file_name, Perl_functions)
5095         (TEX_decode_env): Hoist side effects into previous statement.
5097         .gitignore tweaks
5098         * .gitignore: Ignore all *.stamp files.  Sort.
5099         Ignore [0-9]*.txt (commonly used name for git patches)
5100         and /vc-dwim-log-* (vc-dwim temporary).
5102 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
5104         Fix last change in etags.c, which failed the test suite
5105         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
5106         before the last change.
5108 2015-05-23  Glenn Morris  <rgm@gnu.org>
5110         Remove charset map files from repository, generate in first bootstrap
5111         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
5112         (all): Create the stamp file.
5113         (extraclean): Delete the stamp file.
5114         * src/Makefile.in (lispintdir, charsets): New variables.
5115         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
5116         New rules.
5117         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
5118         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
5119         * etc/charsets/*.map: Remove from repository.
5121 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5123         Cleanup etags.c to use locale-independent code
5124         Although this doesn't alter behavior (as etags doesn't use
5125         setlocale), the new version is more clearly locale-independent and
5126         the executable is a bit smaller on my platform.
5127         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
5128         Include <c-ctype.h> instead of <ctype.h>.
5129         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
5130         (begtk, midtk):
5131         Remove; no longer needed.
5132         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
5133         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
5134         c_islower, c_tolower, respectively.
5135         (notinname, begtoken, intoken, endtoken): Rewrite as functions
5136         instead of macros, and initialize the tables at compile-time
5137         rather than at run-time.
5139         Put default action first in src/Makefile
5140         * src/Makefile.in (all): Put this rule before lisp.mk.
5141         That way, plain 'make' works in the src directory again.
5143 2015-05-23  Glenn Morris  <rgm@gnu.org>
5145         * Makefile.in: Fix extraclean rule.
5146         (extraclean_dirs): New.
5147         (extraclean): Use it.
5149 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5151         Avoid compiler warning in image.c on MS-Windows
5152         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
5153         warning in image.c.
5155 2015-05-23  Glenn Morris  <rgm@gnu.org>
5157         Fix --without-toolkit-scroll-bars builds.
5158         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
5159         Add new argument to x_clear_area1.
5160         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
5161         Update x_clear_area arguments.
5163         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
5164         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
5165         Change to included version.
5166         (LOCAL, local, totalclean): Remove.
5167         (extraclean): Delete all generated files.
5169 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
5171         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
5173         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
5175         tags-completion-at-point-function: Don't trust the find-tag function
5176         * lisp/progmodes/etags.el (tags-completion-at-point-function):
5177         Don't trust the find-tag function.
5179 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5181         Pacify --enable-gcc-warnings
5182         * src/frame.h (x_query_color): Remove redundant extern decl.
5183         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
5184         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
5185         (ftcrfont_text_extents, ftcrfont_draw):
5186         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
5187         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
5188         (x_ins_del_lines, frame_highlight, frame_unhighlight)
5189         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
5190         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
5191         (x_update_window_begin, x_connection_closed)
5192         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5193         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5194         (*x_gc_get_ext_data, x_extension_initialize)
5195         (x_cr_accumulate_data):
5196         Remove redundant static decl.  Many of these GCC doesn't complain
5197         about, but we might as well clean out the duplication while we're
5198         in the neighborhood.
5199         * src/xterm.c (x_fill_trapezoid_for_relief):
5200         Remove decl of nonexistent function.
5202 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
5204         Replace gui-method macros with cl-generic with &context
5205         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
5206         (gui-method-declare, gui-call): Remove.
5207         (frame-creation-function): Use cl-defgeneric.
5208         (make-frame): Adjust callers.
5209         * lisp/menu-bar.el (menu-bar-edit-menu):
5210         Use gui-backend-selection-exists-p.
5211         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
5212         (gui-backend-get-selection): New cl-generic to replace
5213         gui-get-selection method.
5214         (gui-backend-set-selection): New cl-generic to replace
5215         gui-set-selection method.
5216         (gui-selection-owner-p): New cl-generic to replace
5217         gui-selection-owner-p method.
5218         (gui-backend-selection-exists-p): New cl-generic to replace
5219         gui-selection-exists-p method.  Adjust all callers.
5220         * lisp/server.el (server-create-window-system-frame): Don't ignore
5221         window-system spec even when unsupported.
5222         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
5223         * lisp/startup.el (handle-args-function, window-system-initialization):
5224         Use cl-defgeneric.
5225         (command-line): Adjust calls accordingly.
5226         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
5227         a window-system-initialization method.
5228         (handle-args-function, frame-creation-function): Use cl-defmethod.
5229         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5230         (gui-get-selection): Use cl-defmethod on the new functions instead.
5231         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
5232         a gui-backend-get-selection method.
5233         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
5234         Use cl-defmethod on the new functions instead.
5235         (msdos-window-system-initialization): Turn into
5236         a window-system-initialization method.
5237         (frame-creation-function, handle-args-function): Use cl-defmethod.
5238         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
5239         a window-system-initialization method.
5240         (handle-args-function, frame-creation-function): Use cl-defmethod.
5241         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5242         (gui-get-selection): Use cl-defmethod on the new functions instead.
5243         * lisp/term/x-win.el (x-window-system-initialization): Turn into
5244         a window-system-initialization method.
5245         (handle-args-function, frame-creation-function): Use cl-defmethod.
5246         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5247         (gui-get-selection): Use cl-defmethod on the new functions instead.
5248         * lisp/term/xterm.el (xterm--set-selection): Turn into
5249         a gui-backend-set-selection method.
5250         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
5251         (Fns_selection_owner_p): Remove unused arg `terminal'.
5252         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
5254 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5256         Revert "Fix etags Bug#20629 that broke C++ support."
5257         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
5259 2015-05-23  Jan D  <jan.h.d@swipnet.se>
5261         Fix etags Bug#20629 that broke C++ support.
5262         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
5263         from Sun May 10 (Bug#20629).
5265         Merge branch 'cairo'.
5266         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
5267         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
5269         Merge branch 'master' into cairo
5271         Fixes to compile cairo branch without cairo.
5272         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
5273         first argument.
5274         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
5275         USE_CAIRO.
5277 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
5279         * lisp/emacs-lisp/package.el: Always update selected-packages
5280         (package--update-selected-packages): New function.
5281         (package-menu-execute): Use it before starting the transaction,
5282         this way the list of selected packages is updated even when the
5283         transaction fails.
5284         (package-menu--perform-transaction): Don't edit selected-packages.
5286 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5288         Fix etags reading of compressed files
5289         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
5290         Include fcntl.h, for O_CLOEXEC.
5291         (process_file_name): Don't use 'popen', whose streams cannot be
5292         rewound.  Instead, uncompress the file to a temporary file,
5293         created by 'etags_mktmp', and read from that as usual.
5294         (etags_mktmp): New function.
5295         * test/etags/ETAGS.good_1:
5296         * test/etags/ETAGS.good_2:
5297         * test/etags/ETAGS.good_3:
5298         * test/etags/ETAGS.good_4:
5299         * test/etags/ETAGS.good_5: Update to be consistent with latest
5300         changes in etags.c regarding reading compressed files.
5302         Improve documentation of 'set-fontset-font'
5303         * doc/lispref/display.texi (Fontsets): Document the value of nil
5304         for the 3rd argument of 'set-fontset-font'.
5306         Fix documentation of forward-line
5307         * src/cmds.c (Fforward_line): Clarify the return value if the line
5308         at end of accessible portion of the buffer has no newline.
5309         * doc/lispref/positions.texi (Text Lines): Document what happens
5310         if the line at end of accessible portion of buffer has no newline.
5311         (Bug#20587)
5313 2015-05-22  Glenn Morris  <rgm@gnu.org>
5315         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
5317         * admin/charsets/mapconv (LC_ALL): Set to C.
5319         * Makefile.in: Add admin/charsets into top-level clean rules.
5320         (clean): Add admin/charsets.
5321         (maybeclean_dirs): New variable.
5322         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
5324         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
5326 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
5328         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
5330 2015-05-22  Glenn Morris  <rgm@gnu.org>
5332         Generate admin/charsets Makefile via configure, and make more portable.
5333         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
5334         (admin/charsets/Makefile): Generate it.
5335         * admin/charsets/Makefile.in: Rename from Makefile.
5336         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
5337         New variables, set by configure.
5338         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
5339         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
5340         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
5341         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
5342         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
5343         (all): Declare PHONY.
5344         (local): New PHONY target.
5345         (map_template): New template.  Use to define short PHONY aliases.
5346         (*.map): Add directory prefixes to targets and prerequisites.
5347         Respect make verbosity.
5348         (JISC6226.map): Replace non-portable sed append without newline.
5349         (install): Remove rule.
5350         (clean): Only delete temporary sedscript.
5351         (bootstrap-clean, distclean, maintainer-clean, extraclean)
5352         (totalclean): New PHONY rules.
5353         * admin/charsets/mapconv (BASE): Replace basename with expr.
5354         (FILE): Add "mapfiles" subdirectory.
5355         (AWK): New variable.  Use throughout in place of "awk".
5356         (main): Use "gunzip -c" in place of "zcat".
5357         Don't leave whitespace before "p", for older sed.
5358         * admin/charsets/mapfiles/PTCP154: Add final newline,
5359         to make older sed versions happy.
5361 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
5363         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
5364         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
5365         (auto-revert-notify-watch-descriptor): Use defvar-local.
5366         (find-file-hook, auto-revert-tail-mode, )
5367         (auto-revert-notify-add-watch): Use setq-local.
5368         (auto-revert-notify-add-watch): Don't call make-local-variable on
5369         kill-buffer-hook (bug#20601).
5371 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
5373         Change defgeneric so it doesn't completely redefine the function
5374         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
5375         previously defined methods.
5376         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
5377         (cl--generic-prefill-dispatchers): Only define during compilation.
5378         (cl-method-qualifiers): Remove redundant alias.
5379         (help-fns-short-filename): Silence byte-compiler.
5380         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
5382 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
5384         (package-menu-execute): Remove reference to remove-dups
5386 2015-05-21  kwhite  <kwhite@gnu.org>
5388         * lisp/erc/erc.el: Hide network/channel messages
5389         (erc-network-hide-list, etc-channel-hide-list): New lists to define
5390         message types per network/channel.
5391         (erc-add-targets): New function to parse list of targets
5392         (erc-hide-current-message-p): Modified to check for new targets
5394 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5396         Don't quote nil and t in doc strings
5397         This is as per "Tips for Documentation Strings" in the elisp manual.
5398         For consistency, do the same in diagnostics and comments.
5400 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
5402         Fix a minor problem with mouse-face on mode line
5403         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
5404         mouse face also if the mouse pointer hovers above mode-line glyphs
5405         that don't come from any Lisp string.  (Bug#20620)
5407 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
5409         * lisp/emacs-lisp/package.el: Fix selected-package logic
5410         (package-menu-execute): Mark as selected all non-upgrade packages
5411         being installed.
5412         (package-menu--perform-transaction): Don't mark anything.
5414         * lisp/emacs-lisp/package.el: Mode-line progress report
5415         (package-menu--transaction-status): New variable.
5416         (package-menu-mode, package-menu--perform-transaction): Use it.
5418         * lisp/emacs-lisp/package.el: Better transaction messages
5419         (package-menu--partition-transaction): New function.
5420         (package-menu--prompt-transaction-p, package-menu-execute): Use
5421         it.
5422         (package-menu--perform-transaction): Don't do any messaging.
5424         * lisp/emacs-lisp/package.el: Revert async package transactions
5425         (package-menu-async): Update doc.
5426         (package-install-from-archive, package-download-transaction)
5427         (package-install, package-menu--perform-transaction)
5428         (package-menu-execute): Remove asynchronous functionality.
5430 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5432         Revert doc string changes to f90.el
5433         Problem reported by Glenn Morris in:
5434         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
5435         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
5436         Revert recent changes to doc strings, as it's intended that they
5437         use grave accent, not quote.
5439 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
5441         Improve parameter name
5443         Add new inline function `hash-table-empty-p'
5445 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
5447         Don't require help-fns when not needed
5448         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
5449         * lisp/emacs-lisp/elint.el:
5450         Don't require help-fns at the top level.
5451         * lisp/emacs-lisp/advice.el (ad-arglist):
5452         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
5453         Don't require help-fns.  (Bug#17001)
5455 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
5457         Fix slash collapsing in etags on MS-Windows
5458         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
5459         MS-Windows code from the Posix code, and support collapsing both
5460         forward- and back-slashes on MS-Windows.  Fixes a regression found
5461         by the test suite.
5463         Improve documentation of glyphless-char-display
5464         * doc/lispref/display.texi (Glyphless Chars): Improve
5465         documentation of glyphless character display.
5467         Fix "acronym" display of glyphless characters on w32
5468         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
5469         ignore "acronym" substitutes of 1 character for glyphless characters.
5471 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
5473         Add an automated test for let-when-compile
5474         * test/automated/subr-tests.el (let-when-compile): New test.
5476         Add let-when-compile macro instead of using pcase-let
5477         * lisp/subr.el (let-when-compile): New let-like macro that makes its
5478         bindings known to macros like `eval-when-compile' in the body.
5479         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
5480           `let-when-compile'. Also comment out the unused lexical var
5481           `el-kws-re'.
5482         The change greatly improves readability, while providing almost the
5483         same (even shorter) byte code: instead of pre-evaluating 10 variables,
5484         tossing them into a list, and destructuring that list a full screen
5485         page later, the variables are simply bound as they are evaluated,
5486         wrapped individually in `eval-when-compile'.
5488 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
5490         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
5491         (package-delete-button-action): New function.
5492         (describe-package-1): Add Delete button.
5494         * lisp/emacs-lisp/package.el: Better dependency description
5495         (package--used-elsewhere-p): New optional arg, ALL, and return
5496         package-desc objects instead of names.
5497         (package-delete): Update accordingly.
5498         (describe-package-1): Describe which packages require the package.
5500 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
5502         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
5503         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
5504         Fix doc-string (Bug#20533).
5506         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
5507         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
5508         (switch-to-buffer): If the selected window is strongly dedicated
5509         to its buffer, signal error before prompting for buffer name.  Handle
5510         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
5511         * doc/lispref/windows.texi (Switching Buffers): Document
5512         `switch-to-buffer-in-dedicated-window'.
5514 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5516         Prefer "this" to “this” in doc strings
5517         This mostly just straightens quotes introduced in my previous patch.
5518         Suggested by Dmitry Gutov in:
5519         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
5520         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
5521         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
5522         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
5523         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
5524         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
5525         Prefer straight double quotes to curved double quotes in doc strings.
5527         Fix minor quoting problems in doc strings
5528         These were glitches regardless of how or whether we tackle the
5529         problem of grave accent in doc strings.
5530         * lisp/calc/calc-aent.el (math-restore-placeholders):
5531         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
5532         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
5533         * lisp/leim/quail/hebrew.el ("hebrew-new")
5534         ("hebrew-biblical-sil"):
5535         * lisp/leim/quail/thai.el ("thai-kesmanee"):
5536         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
5537         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
5538         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
5539         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
5540         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
5541         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
5542         (semantic-tag-components):
5543         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
5544         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
5545         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
5546         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
5547         * lisp/emacs-lisp/generator.el (iter-next):
5548         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
5549         (gnus-article-mode-syntax-table):
5550         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
5551         * lisp/net/soap-client.el (soap-wsdl-get):
5552         * lisp/net/telnet.el (telnet-mode):
5553         * lisp/org/org-compat.el (org-number-sequence):
5554         * lisp/org/org.el (org-remove-highlights-with-change)
5555         (org-structure-template-alist):
5556         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
5557         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
5558         (handwrite-12pt, handwrite-13pt):
5559         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
5560         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
5561         * lisp/progmodes/verilog-mode.el (verilog-tool)
5562         (verilog-string-replace-matches, verilog-preprocess)
5563         (verilog-auto-insert-lisp, verilog-auto-insert-last):
5564         * lisp/textmodes/makeinfo.el (makeinfo-options):
5565         * src/font.c (Ffont_spec):
5566         Fix minor quoting problems in doc strings, e.g., missing quote,
5567         ``x'' where `x' was meant, etc.
5568         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
5569         Fix minor quoting problem in other string.
5570         * lisp/leim/quail/ethiopic.el ("ethiopic"):
5571         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
5572         Omit unnecessary quotes.
5573         * lisp/faces.el (set-face-attribute, set-face-underline)
5574         (set-face-inverse-video, x-create-frame-with-faces):
5575         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
5576         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
5577         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
5578         * lisp/net/tramp.el (tramp-methods):
5579         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
5580         * lisp/textmodes/artist.el (artist-ellipse-right-char)
5581         (artist-ellipse-left-char, artist-vaporize-fuzziness)
5582         (artist-spray-chars, artist-mode, artist-replace-string)
5583         (artist-put-pixel, artist-text-see-thru):
5584         * lisp/vc/ediff-util.el (ediff-submit-report):
5585         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
5586         Use double-quotes rather than TeX markup in doc strings.
5587         * lisp/skeleton.el (skeleton-pair-insert-maybe):
5588         Reword to avoid the need for grave accent and apostrophe.
5589         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
5590         Don't use grave and acute accents to quote.
5592 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
5594         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
5596 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5598         Try to port new etags tests to MS-Windows
5599         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5600         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5601         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5602         Adjust to test-case changes below.
5603         * test/etags/Makefile (CSRC): Remove dostorture.c.
5604         Whatever it was trying to test, wasn't working portably.
5605         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
5606         just a line-ending problem.
5607         * test/etags/c-src/dostorture.c: Remove.
5608         * test/etags/cp-src/c.C: Remove stray CR.
5609         * test/etags/html-src/algrthms.html: Remove trailing CRs.
5610         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
5611         but if someone edits it later it should stay UTF-8-compatible.
5613 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
5615         Fix display of overlapping window-specific overlays
5616         * src/keyboard.c (adjust_point_for_property): When adjusting point
5617         due to display strings, ignore overlays that are specific to
5618         windows other than the currently selected one.
5619         * src/xdisp.c (handle_single_display_spec): If the display
5620         property comes from an overlay, arrange for buffer iteration to
5621         resume only after the end of that overlay.  (Bug#20607)
5623 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
5625         New command icomplete-force-complete-and-exit
5626         * lisp/icomplete.el (icomplete-force-complete-and-exit):
5627         New command
5628         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
5629         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
5630         (icomplete-minibuffer-map): Bind C-j to it.
5631         (icomplete-forward-completions, icomplete-backward-completions):
5632         Mention the new command in the docstring.
5633         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
5634         the previous fix for bug#17545.
5636 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
5638         Fix last commit
5640         In Elisp manual explain how to override window manager positioning (Bug#20552)
5641         * doc/lispref/frames.texi (Position Parameters): Give example of
5642         how to override a window manager positioning decision.
5644         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
5645         * src/frame.c (Fdelete_frame): In doc-string mention that frame
5646         can't be deleted if it has a surrogate minibuffer.
5647         * doc/lispref/frames.texi (Minibuffers and Frames)
5648         (Deleting Frames): Explain "surrogate minibuffer frames".
5650         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
5651         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
5653 2015-05-18  Glenn Morris  <rgm@gnu.org>
5655         Add option to ignore commit lines matching a pattern in ChangeLog.
5656         * build-aux/gitlog-to-changelog: Add --ignore-line option.
5657         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
5659 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
5661         Don't skip new etags tests on non-UTF-8 hosts
5662         Problem reported by Eli Zaretskii for MS-Windows.
5663         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
5664         (LC_ALL): Set to C if the current locale isn't UTF-8.
5665         (.PHONY): Remove ediff_1 thru ediff_5.
5666         (check): Always run.
5668 2015-05-18  Glenn Morris  <rgm@gnu.org>
5670         * lisp/calculator.el (calculator-funcall):
5671         * lisp/textmodes/artist.el (artist-spray-random-points):
5672         Use standard degree/radian conversion utilities.
5674         Further lisp-complete-symbol related cleanup.
5675         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
5676         Unadvertise non-functional argument.  Replace obsolete alias.
5678 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5680         Add a test case for Maven warning ouput
5681         * test/automated/compile-tests.el
5682         (compile-tests--test-regexps-data): Add a case for Maven warning
5683         ouput.
5684         (compile--test-error-line): Check the compilation message type, if
5685         it's specified in the test data.
5687 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
5689         Update Maven compilation-mode entry to distinguish warnings
5690         * lisp/progmodes/compile.el
5691         (compilation-error-regexp-alist-alist): Update Maven entry to
5692         distinguish warnings (bug#20556).
5694 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
5696         * test/automated/sgml-mode-tests.el: New file.
5698 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5700         Improve handling of the first Git revision
5701         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
5702         there's no next entry, delete until the end of the buffer.
5703         (log-view-end-of-defun-1): Stop at eob.
5704         * lisp/vc/vc-annotate.el
5705         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
5706         when previous-revision is nil.
5707         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
5708         with `--' to avoid ambiguity.
5709         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
5710         returned revision string.
5711         (vc-git-annotate-time): Expect `^' before the first revision.
5712         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
5713         REV1 is nil, and REV2 is not.
5714         * lisp/vc/vc.el: Update the description of the `diff' function.
5716 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
5718         Allow checkdoc to be called in batch
5719         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
5720           is non-nil, echo the error with `warn'.
5721         How it can be used in -batch:
5722         (with-current-buffer (find-file "checkdoc.el")
5723           (checkdoc-current-buffer t))
5725 2015-05-18  Glenn Morris  <rgm@gnu.org>
5727         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
5729 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5731         * admin/notes/unicode: New section "binary files".
5733         Change new etags test to use UTF-8 encoding
5734         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5735         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5736         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5737         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
5738         * test/etags/html-src/softwarelibero.html:
5739         Switch to UTF-8 encoding.
5740         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
5741         Remove Makefile, as it's too incestuous to have the test input
5742         include the build procedure.
5743         (UTF8_LOCALE, UTF_ENCODING): New macros.
5744         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
5745         (check): Skip if not UTF-8.
5746         (.PHONY): New rule.
5747         (FRC): Remove, as superseded by .PHONY.  All uses removed.
5748         (regexfile): Prefer printf to echo when outputting oddball chars.
5749         (.PRECIOUS): Remove, as these files are not built.
5751         Rename 'foo-gzipped' to 'foo.gz'
5752         * test/automated/data/decompress/foo.gz:
5753         Rename from test/automated/data/decompress/foo-gzipped,
5754         to make it easier for other tools to tell that it's compressed.
5755         * test/automated/zlib-tests.el (zlib--decompress):
5756         Adjust to renamed file.
5758 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
5760         Set up default-directory
5761         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
5762         binding for `v'.
5763         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
5764         appropriate value for default-directory.
5766 2015-05-17  Samer Masterson  <samer@samertm.com>
5768         * lisp/eshell/em-term.el (eshell-term-sentinel):
5769         No-op by default, only kills term buffer if
5770         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
5771         (eshell-destroy-buffer-when-process-dies): New custom to preserve
5772         previous behavior.
5774         eshell: Introduce new buffer syntax
5775         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
5776         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
5777         needed (Bug#19319).
5778         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
5779         (eshell-get-target): Remove shorthand-specific code.
5780         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
5781         '#<buffer-name>'.
5783 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5785         Merge branch 'master' into cairo
5787 2015-04-26  Jan D  <jan.h.d@swipnet.se>
5789         Merge branch 'master' into cairo
5791         Add PBM support for cairo.
5792         * src/image.c (xcolor_to_argb32): New function.
5793         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
5794         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
5795         XImagePtr if ! USE_CAIRO.
5796         (pbm_load): Add cairo support.
5798 2015-04-12  Jan D  <jan.h.d@swipnet.se>
5800         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
5801         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
5802         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
5803         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
5804         x_free_cr_resources.
5806         Handle specified bg in images.  Use generic libpng code for PNG:s.
5807         * src/image.c (get_spec_bg_or_alpha_as_argb)
5808         (create_cairo_image_surface): New functions when USE_CAIRO.
5809         (xpm_load): Call the above functions.  Handle XPM without mask
5810         when USE_CAIRO.
5811         (png_load_body): Handle USE_CAIRO case.
5812         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
5813         instead.
5814         (jpeg_load_body): Call create_cairo_image_surface.
5815         (gif_load, svg_load_image): Handle specified background, call
5816         create_cairo_image_surface.
5817         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
5819 2015-04-11  Jan D  <jan.h.d@swipnet.se>
5821         Support GIF and Tiff with cairo.
5822         * configure.ac: Allow jpeg with cairo.
5823         Allow tiff and gif with cairo.
5824         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5825         (tiff_load): Create cairo image surface if USE_CAIRO.
5826         (gif_load): Ditto.
5828         Support JPEG with USE_CAIRO.
5829         * configure.ac: Allow jpeg with cairo.
5830         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5832 2015-04-05  Jan D  <jan.h.d@swipnet.se>
5834         Support RSVG and cairo.
5835         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
5836         * src/dispextern.h (struct image): add cr_data2 if cairo.
5837         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
5838         (x_clear_image): Free cr_data and cr_data2 if set.
5839         (xpm_load): Assign data to cr_data2.
5840         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
5842 2015-04-03  Jan D  <jan.h.d@swipnet.se>
5844         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
5845         * configure.ac (HAVE_RSVG): Move after cairo.
5846         (USE_CAIRO): Disable rsvg, don't disable Xpm.
5847         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
5848         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
5849         don't return early.
5850         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
5851         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
5852         and create a surface.
5854         Tool tips for menus did not show any text.
5855         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
5856         tip frames, the geometry may be wrong.
5858         Merge branch 'master' into cairo, fixes tooltips not shown.
5860         Merge branch 'master' into cairo
5862         Add CAIRO_CFLAGS to lwlib/Makefile.in
5863         * Makefile.in (CAIRO_CFLAGS): Add.
5865 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5867         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
5869 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5871         Draw outermost line using black relief and erase corners also for cairo.
5872         * xterm.c [USE_CAIRO]: Include math.h.
5873         (enum corners) [USE_CAIRO]: New enum.
5874         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
5875         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
5876         than 1, draw the outermost line using the black relief.
5878         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
5880 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5882         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
5884         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
5886         Use int instead of unsigned int for width and height args.
5887         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
5888         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
5889         width and height args.
5891         Modernize k&r cairo-related function declarations.
5892         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5893         (xg_print_frames_dialog): Modernize k&r declarations.
5894         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
5895         (Fx_print_frames_dialog): Modernize k&r declarations.
5896         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
5897         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
5898         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5899         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
5900         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
5901         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5902         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
5903         (x_clear_area): Modernize k&r declarations.
5905         Implement wave-style variant of underlining for cairo.
5906         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
5907         (x_draw_underwave) [USE_CAIRO]: Use it.
5909         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
5911 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5913         Fix fringe bitmap initialization for cairo.
5914         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
5915         cairo image surface.
5916         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
5918 2015-02-11  Jan D  <jan.h.d@swipnet.se>
5920         Add cairo drawing.
5921         * configure.ac (with-cairo): New option.
5922         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
5923         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
5924         Output "Does Emacs use cairo?".
5925         * lisp/version.el (emacs-version): Add cairo version.
5926         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
5927         (FONT_OBJ): Add comment about ftcrfont.
5928         (ALL_CFLAGS): Add CAIRO_CFLAGS.
5929         (LIBES): Add CAIRO_LIBS.
5930         * src/dispextern.h (struct image): Add cr_data for cairo.
5931         (x_cr_init_fringe): Declare.
5932         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
5933         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
5934         * src/fringe.c (x_cr_init_fringe): New function name that shares code
5935         with w32_init_fringe.
5936         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
5937         * src/ftfont.c (ftfont_info_size); New global variable.
5938         (ftfont_open2): New extern function almost the same as old ftfont_open,
5939         but takes the font_object as argument.
5940         (ftfont_open): Build font object and call ftfont_open2.
5941         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
5942         * src/gtkutil.c (xg_clear_under_internal_border)
5943         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
5944         queue_draw if not cairo.  Change args to x_clear_area.
5945         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
5946         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5947         (xg_print_frames_dialog): New functions for printing.
5948         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
5949         (xg_print_frames_dialog): Declare.
5950         * src/image.c: Add defined (USE_CAIRO) for PNG.
5951         Add !defined USE_CAIRO for W32 PNG code.
5952         (x_clear_image): If cairo, destroy the surface in cr_data.
5953         (png_load): Add new cairo compatible implementation.
5954         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
5955         * src/xfns.c: New section Printing.
5956         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
5957         (x-print-frames-dialog): New printing functions.
5958         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
5959         cairo.
5960         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
5961         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
5962         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
5963         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
5964         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
5965         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5966         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5967         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
5968         Declare.
5969         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
5970         (max_fringe_bmp, fringe_bmp): New variables.
5971         (x_gc_get_ext_data, x_extension_initialize)
5972         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
5973         (x_set_cr_source_with_gc_foreground)
5974         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5975         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
5976         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
5977         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
5978         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
5979         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
5980         (x_update_begin): Create cairo surface if needed.
5981         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
5982         (x_update_end): Paint cairo drawing surface to xlib surface.
5983         (x_clear_under_internal_border, x_after_update_window_line): Adjust
5984         arguments to x_clear_area.
5985         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
5986         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
5987         of XSetClipMask.
5988         (x_set_glyph_string_clipping)
5989         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
5990         instead of XSetClipRectangles.
5991         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
5992         x_fill_rectangle instead of XFillRectangle.
5993         (x_draw_glyph_string_foreground)
5994         (x_draw_composite_glyph_string_foreground)
5995         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
5996         of XDrawRectangle.
5997         (x_draw_relief_rect): Add code for USE_CAIRO.
5998         Call x_reset_clip_rectangles instead of XSetClipMask.
5999         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
6000         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
6001         instead of XSetClipMask.
6002         (x_draw_image_foreground, x_draw_image_foreground_1):
6003         x_draw_rectangle instead of XDrawRectangle.
6004         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
6005         XFillRectangle.
6006         (x_draw_image_glyph_string): If img has cr_data, use it as
6007         a cairo surface.
6008         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
6009         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
6010         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
6011         x_reset_clip_rectangles instead of XSetClipMask.
6012         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
6013         (x_clear_area1): New function that calls XClearArea.
6014         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
6015         non-cairo.
6016         (x_clear_frame): x_clear_window instead of XClearWindow.
6017         (x_scroll_run): Set frame garbaged if cairo.
6018         (XTmouse_position): Initialize *part to 0.
6019         (x_scroll_bar_create): Adjust arguments to x_clear_area.
6020         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
6021         x_fill_rectangle instead of XFillRectangle.
6022         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
6023         arguments to x_clear_area.
6024         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
6025         (handle_one_xevent): Adjust arguments to x_clear_area.
6026         Destroy cairo surface for frame if ConfigureNotify.
6027         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
6028         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
6029         x_reset_clip_rectangles instead of XSetClipMask.
6030         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
6031         x_reset_clip_rectangles instead of XSetClipMask.
6032         (x_clear_frame_area): Adjust arguments to x_clear_area.
6033         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
6034         (x_term_init): Call x_extension_initialize if cairo.
6035         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
6036         x_cr_destroy_fringe_bitmap for cairo.
6037         (x_initialize): Call x_cr_init_fringe for cairo.
6038         * src/xterm.h: Add include of cairo header files.
6039         (x_bitmap_record): Add img if cairo.
6040         (x_gc_ext_data): New struct for cairo.
6041         (x_display_info): Add ext_codes for cairo.
6042         (x_output): Add cr_context and cr_surface for cairo.
6043         (x_clear_area): Change arguments from Display*/Window to frame pointer.
6044         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
6045         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
6046         (x_cr_draw_frame, x_cr_export_frames): Declare.
6048 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
6050         Fix integer-valued `mouse-highlight' (Bug#20590)
6051         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
6053 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
6055         MS-Windows followup for ASCIIfication of curved quotes
6056         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
6057         test for curved quotes being displayable, after switching the
6058         terminal encoding.  (Bug#20545)
6060 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
6062         Spelling fixes
6064 2015-05-17  Jan D  <jan.h.d@swipnet.se>
6066         Add comment that x_shift_glyphs_for_insert is never called.
6067         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
6068         comment that this function is never called.
6070 2015-05-16  Glenn Morris  <rgm@gnu.org>
6072         * src/lisp.mk: Remove from repository and generate at build-time.
6073         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
6074         (shortlisp_filter): New variable.
6075         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
6076         (distclean): Remove lisp.mk.
6077         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
6078         * lisp/loadup.el: Tweak layout to make it easier to parse.
6079         * make-dist: Do not distribute src/lisp.mk.
6081 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
6083         Display shorter dates in Git annotate output
6084         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
6085         format (when not overridden with vc-git-annotate-switches).
6086         (vc-git-annotate-time): Support the short format, as well as ISO
6087         8601 that has been used until now (bug#5428).
6089 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6091         ASCIIfy curved quotes on displays lacking them
6092         * lisp/international/mule-cmds.el (set-locale-environment):
6093         If curved quotes don't work, display straight ASCII approximations
6094         (Bug#20545).
6096 2015-05-16  Glenn Morris  <rgm@gnu.org>
6098         Small src/Makefile simplification.
6099         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
6100         * src/Makefile.in (lisp): Derive from shortlisp.
6101         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
6103 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
6105         * lisp/help-mode.el (help-go-forward): Doc fix.
6106         (Bug#20577)
6108         * doc/lispref/debugging.texi (Profiling): Improve indexing.
6109         (Bug#20576)
6111 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
6113         Use `unless' to have one fewer `not'
6114         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
6115         have one fewer `not'.
6117         Remove redundant :group declarations from vc-git.el
6118         * lisp/vc/vc-git.el (vc-git-diff-switches)
6119         (vc-git-annotate-switches, vc-git-resolve-conflicts)
6120         (vc-git-program, vc-git-root-log-format): Remove the redundant
6121         :group declarations.
6123 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
6125         Removes the predicate from lisp-complete-symbol (Bug#20456)
6126         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
6127         and remove it from the docstring.
6129 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
6131         Add new option vc-git-resolve-conflicts
6132         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
6133         (vc-git-find-file-hook): Add to after-save-hook only when the
6134         above is non-nil.
6135         (vc-git-resolve-when-done): Update to honor the new variable.
6136         (Bug#20292)
6138 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
6140         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
6141         (tabulated-list-init-header): Document new behavior.
6142         (tabulated-list-print-fake-header): No nothing if
6143         `tabulated-list--header-string' is nil.
6144         (tabulated-list--header-string): Add a docstring.
6145         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
6146         * etc/NEWS: Document it.
6148 2015-05-15  Leo Liu  <sdl.web@gmail.com>
6150         Revert "Fix cps--gensym"
6151         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
6152           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
6154 2015-05-15  Glenn Morris  <rgm@gnu.org>
6156         Replace AC_SUBST_FILE in configure with include in Makefiles.
6157         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
6158         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
6159         (AUTO_DEPEND): New output variable.
6160         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
6161         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
6162         (lwlib_deps_frag): Replace by conditional include.
6163         * lwlib/autodeps.mk: Remove file.
6164         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
6165         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
6166         (oldxmenu_deps_frag): Replace by conditional include.
6167         * oldXMenu/autodeps.mk: Remove file.
6168         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
6169         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
6170         (lisp_frag): Replace by an include.
6171         (deps_frag): Replace by conditional include.
6172         * src/autodeps.mk: Remove file.
6174         Tweak japanese.el's loading of dependencies.
6175         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
6176         * lisp/language/japanese.el: Use require rather than load.
6177         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
6178         Provide a feature.
6179         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
6180         Provide a feature in the generated file.
6182 2015-05-15  Jan D  <jan.h.d@swipnet.se>
6184         Fix NS warnings.
6185         * nsmenu.m (ns_popup_dialog)
6186         * nsimage.m (initFromXBM:width:height:fg:bg:)
6187         * nsfns.m (Fx_create_frame): Remove unused variables.
6188         (Fns_read_file_name): Initialize fname, remove ret.
6189         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
6190         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
6191         variable.
6192         (init): Add parantesis in if.
6193         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
6195 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6197         Fix a enum conversion warning in macfont.m
6198         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
6199         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
6201 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
6203         Support de-alt dictionary with Aspell.
6204         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
6205         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
6207 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6209         cus-start.el: Add ns-confirm-quit.
6210         * cus-start.el: Add ns-confirm-quit.
6212         Fix warnings on OSX 10.10.
6213         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
6214         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
6215         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
6216         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
6217         * nsimage.m (allocInitFromFile, setPixmapData): Only call
6218         setScalesWhenResized for OSX < 10.6.
6219         * nsterm.h (EmacsScroller): Declare scrollerWidth.
6220         * nsterm.m (ns_copy_bits): New function that does not use deprecated
6221         NSCopyBits.
6222         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
6223         (runAlertPanel): New function.
6224         (applicationShouldTerminate:): Call runAlertPanel.
6225         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
6226         for OSX < 10.10.
6227         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
6228         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
6229         (draggingEntered:): Returns NSDragOperation.
6230         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
6232 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6234         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
6235         (package--init-file-ensured): New variable.
6236         (package-initialize, package--ensure-init-file): Use it.
6238 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6240         Honor :fore/background for XBM on NS (Bug#14969).
6241         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
6242         initFromXBM takes bg, fg args, remove flip arg.
6243         (ns_image_from_XBM): Add bg, fg args.
6244         * image.c (x_create_bitmap_from_data)
6245         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
6246         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
6247         Remove flip arg.
6248         (initFromSkipXBM): Move code to initFromXBM.
6249         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
6250         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
6251         false.
6252         Remove bit flipping (bitPat, swt), generated incorrect images when
6253         width/height wasn't a multiple of 8.
6254         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
6255         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
6256         flip arg.
6258 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6260         * lisp/emacs-lisp/package.el: Be more careful with the init file
6261         (package--ensure-init-file): Check that user-init-file is set,
6262         exists, is readable, and is writable.  (Bug#20584)
6263         Also expand the docstring.
6265 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
6267         Sync with upstream verilog-mode revision 6232468
6268         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
6269         (verilog-highlight-grouping-keywords): Fix use of face when
6270         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
6271         Pompa.
6272         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
6273         parent is reset, bug906. Reported by Ken Schmidt.
6274         (verilog-auto-inout-module): Add fourth regexp argument to
6275         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
6276         bug856. Reported by John Tillema.
6277         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
6278         modport if signal attachment is itself a modport.  Reported by
6279         Matthew Lovell.
6280         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
6281         always_comb and always_latch, bug844.  Reported by Greg Hilton.
6282         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
6283         with many curly-bracket pairs, bug663.
6284         (verilog-set-auto-endcomments): Fix end comments for functions of
6285         type void, etc.  Reported by Alex Reed.
6286         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
6287         caused by indent-line-to deleting tabls pre 24.5.
6288         (verilog-nameable-item-re): Fix nameable items that can have an
6289         end-identifier to include endchecker, endgroup, endprogram,
6290         endproperty, and endsequence.  Reported by Alex Reed.
6291         (verilog-label-be): When auto-commenting a buffer, consider
6292         auto-comments on all known keywords (not just a subset thereof).
6293         Reported by Alex Reed.
6294         (verilog-auto-end-comment-lines-re)
6295         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
6296         Automatically comment property/endproperty blocks to match other
6297         similar blocks like sequence/endsequence, function/endfunction,
6298         etc. Reported by Alex Reed.
6299         (verilog-set-auto-endcomments): Detect the function- or task-name
6300         when auto-commenting blocks that lack an explicit
6301         portlist. Reported by Alex Reed.
6302         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
6303         allow post-AUTO user fixups, bug826. Reported by Dennis
6304         Muhlestein.
6305         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
6306         is nil, fix indenting initial/final to match always statements,
6307         bug825. Reported by Tim Clapp.
6308         (verilog-extended-complete-re): Fix indentation of DPI-C imports
6309         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
6310         Mao and Jason Forkey.
6311         (verilog-read-decls): Fix parsing typed interfaces.  Fix
6312         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
6313         Fix localparam not being ignored in AUTOINSTPARAM,
6314         bug889. Reported by Shannon Hill.
6315         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
6316         bug793.  Reported by Pierre-David Pfister.
6317         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
6318         verilog-auto-arg-format to support newlines in AUTOARG. Reported
6319         by Jie Xiao.
6320         (verilog-batch-execute-func): Do not batch re-auto files loaded by
6321         Local Variables. Fix printing "no changes to be saved" with
6322         verilog-batch. Reported by Dan Dever.
6323         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
6324         interface-only modules, bug721.  Reported by Dean Hoyt.
6325         Author: Alex Reed <acreed4@gmail.com>
6326         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
6327         treat '<keyword>:<identifier>' as the start of a labeled
6328         statement, bug905.  Reported by Enzo Chi.
6329         (verilog-directive-re, verilog-compiler-directives)
6330         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
6331         directives (plus some extras) when determining indentation, bug
6332         901.  Reported by Bernd Beuster.
6333         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
6334         iff expression doesn't start with word-character, bug900.
6335         (verilog-optional-signed-range-re, verilog-optional-signed-re):
6336         Fix incorrect indentation/alignment of unsigned declarations,
6337         bug897.
6338         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
6339         always constructs, bug895.
6340         (verilog-calc-1): Fix verilog-mode constraint indentation,
6341         bug324. Reported by Eric Mastromarchi.
6342         (verilog-beg-of-statement): Fix indenting for some forms of
6343         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
6344         continued assignment incorrect if first line ends with ']',
6345         bug437. Reported by Dan Dever.  Fix indention of cover inside an
6346         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
6347         blocks, bug842.
6348         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
6349         bug859. Reported by Kaushal Modi.
6350         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
6351         (verilog-backward-token): Fix indenting sensitivity lists with
6352         named events, bug840.  Reed.
6353         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
6354         nil not honoring 'forever', 'foreach', and 'do' keywords.
6356 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6358         Check for invalid GTK+ monitor scales
6359         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
6360         INT_MAX for too-large scales.  All callers changed to assume the
6361         result is valid (Bug#20432).
6362         (xg_frame_set_char_size, xg_update_scrollbar_pos):
6363         Calculate scale only if needed.
6364         show ASCII approximations instead.
6366 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
6368         Fix daemon crashes when linum-mode is turned on early on
6369         * src/window.c (Fwindow_end): Don't try calling display engine
6370         functions on initial-frame frame.  (Bug#20565)
6372         Fix selective diff browsing in Ediff
6373         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
6374         beginning of the region before searching for the
6375         ediff-regexp-focus-* regexps.  (Bug#20568)
6377 2015-05-14  Jan D  <jan.h.d@swipnet.se>
6379         Fixes Bug#20142.
6380         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
6381         in the main loop, even for Gtk 3 (Bug#20142).
6383         Don't access display after i/o error (Bug#19147).
6384         * xterm.c (x_connection_closed): Add third arg ioerror.
6385         If ioerror, set display to 0 (Bug#19147).
6386         (x_error_quitter): Call x_connection_closed with third arg false.
6387         (x_io_error_quitter): Call x_connection_closed with third arg true.
6389         Handle GTK_SCALE, fixes Bug#20432.
6390         * gtkutil.c (xg_get_gdk_scale): New function.
6391         (xg_frame_set_char_size)
6392         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
6393         (xg_get_default_scrollbar_height)
6394         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
6395         when setting sizes (Bug#20432).
6397 2015-05-13  Leo Liu  <sdl.web@gmail.com>
6399         Fix cps--gensym
6400         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
6402 2015-05-13  Glenn Morris  <rgm@gnu.org>
6404         Fix bootstrap (void function cl-member).
6405         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
6406         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
6408 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6410         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
6411         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
6412         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
6413         Avoid defalias for closures which are not immutable.
6414         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
6415         dispatchers table with various entries.
6416         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
6417         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
6419 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
6421         Improve tagging of C bindings in DEFVAR_*
6422         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
6423         from DEFVAR_*.
6425 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
6427         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
6429 2015-05-12  Glenn Morris  <rgm@gnu.org>
6431         * lisp/progmodes/tcl.el (tcl-filter):
6432         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
6434         Add basic VC push support.
6435         * lisp/vc/vc.el (vc-push): New autoloaded command.
6436         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
6437         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
6438         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
6439         (vc-bzr-push): New.
6440         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
6441         (vc-git-pull): Reimplement using vc-git--pushpull.
6442         (vc-git-push): New.
6443         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
6444         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
6445         * doc/emacs/maintaining.texi (Pulling / Pushing):
6446         Rename from "VC Pull".  Mention pushing.
6447         (VC With A Merging VCS, VC Change Log): Update xrefs.
6448         (Branches): Update menu.
6449         * doc/emacs/emacs.texi: Update menu.
6450         * etc/NEWS: Mention this.
6452 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
6454         Improve the seq pcase pattern and the `seq-let' macro
6455         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
6456         object is a sequence, and binds each element of ARGS to the
6457         corresponding element of the sequence.
6459 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
6461         Fix tags created from DEFVAR_* declarations in C
6462         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
6463         to make tags extracted from DEFVAR_* declarations more accurate.
6465         Add a test suite for etags
6466         * test/etags/: New test suite, adapted from
6467         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
6468         whose original author is Francesco Potortì <pot@gnu.org>.
6470         Fix tagging of symbols in C enumerations
6471         * lib-src/etags.c (consider_token): Don't tag symbols in
6472         expressions that assign values to enum constants.  See
6473         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
6474         for details.
6475         (C_entries): Reset fvdef to fvnone after processing a preprocessor
6476         conditional and after a comma outside of parentheses.
6478 2015-05-12  Glenn Morris  <rgm@gnu.org>
6480         * lisp/url/url-handlers.el (url-file-name-completion)
6481         (url-file-name-all-completions): Silence compiler.
6483         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
6485         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
6487 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
6489         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
6490         (cl--generic-mandatory-args): Remove.
6491         (cl--generic-split-args): New function.
6492         (cl-generic-define, cl--generic-lambda): Use it.
6493         (cl-generic-define-method): Use it as well, and add support for
6494         context args.
6495         (cl--generic-get-dispatcher): Handle &context dispatch.
6496         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
6497         (cl--generic-dispatchers): Pre-fill.
6498         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
6500 2015-05-11  Glenn Morris  <rgm@gnu.org>
6502         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
6504 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6506         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
6507         * lisp/term/rxvt.el: Require term/xterm.
6508         (rxvt-function-map): Use xterm-rxvt-function-map.
6509         (rxvt-standard-colors): Move before first use.
6510         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
6511         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
6512         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
6513         Move shared bindings between rxvt and xterm to it.
6514         (xterm-function-map): Use it.  Move the xterm-paste binding to
6515         xterm-rxvt-function-map (bug#20444).
6516         (xterm-standard-colors): Move before first use.
6517         (xterm--push-map): New function.
6518         (xterm-register-default-colors): Take standard colors as argument.
6519         (terminal-init-xterm): Use it.  Adjust call to
6520         xterm-register-default-colors.
6522 2015-05-11  Glenn Morris  <rgm@gnu.org>
6524         * lisp/term/x-win.el: Quieten --without-x compilation.
6525         (x-own-selection-internal, x-disown-selection-internal)
6526         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
6527         Declare.
6529         * Makefile.in (emacslog): Remove srcdir.
6530         (ChangeLog): Update for the above.
6532 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6534         Spelling fix
6536 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6538         python.el: better limit for looking-back calls
6539         * lisp/progmodes/python.el (python-shell-accept-process-output):
6540         Use last comint prompt start as limit for looking-back.
6542 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
6544         CEDET (srecode-insert-fcn): Fix use of oref on a class
6545         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
6546         a class.  Reported by Pierre Lorenzon.
6547         (srecode-template-inserter-point): Remove declaration.
6549         CEDET (srecode-create-dictionary): Avoid obsolete object name
6550         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
6551         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
6553 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6555         C-x 8 shorthands for curved quotes, Euro, etc.
6556         Although C-x 8 lets you insert arbitrary Unicode characters,
6557         it's awkward to use this to insert commonly used symbols such as curved
6558         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
6559         characters commonly found in English text and in basic math.
6560         For example, assuming the Alt key works on your keyboard and iso-transl
6561         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
6562         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
6563         (Bug#20499)
6564         * doc/emacs/mule.texi (Unibyte Mode):
6565         A few other printing characters now work too.
6566         * etc/NEWS: Document this.
6567         * lisp/international/iso-transl.el (iso-transl-char-map):
6568         Also support the following characters:
6569         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
6571 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6573         Add xref-find-regexp
6574         * lisp/progmodes/xref.el (xref-find-function): Describe the
6575         `matches' action.
6576         (xref-find-regexp): New command, using it.
6577         (xref-collect-references): Rename to xref-collect-matches.
6578         (xref--collect-reference): Rename to xref--collect-match.
6579         (xref-collect-matches, xref--collect-match): Accept new argument,
6580         KIND.  Update accordingly.
6581         (xref--regexp-to-extended): New function.
6582         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
6583         `matches' action.
6584         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
6585         * lisp/progmodes/etags.el (etags-xref-find):
6586         Support the `matches' action.
6587         (etags--xref-find-matches): New function.
6589 2015-05-10  Glenn Morris  <rgm@gnu.org>
6591         * Makefile.in: Fixes for recent change-history changes.
6592         (change-history-nocommit): Update footer regexp.
6593         Ensure output script stays executable.
6595 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
6597         New version of `seq-let' based on a pcase pattern
6598         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
6599         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
6601 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
6603         Add basic HTML5 tags and a template
6604         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
6605         (html-tag-alist): Add HTML5 tags.
6606         (html-tag-help): Add new tags descriptions.
6607         (html-navigational-links): Template for nav links.
6608         (html-html5-template): Template for a HTML5 page.
6610 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6612         semantic/symref/grep: Don't use word boundaries
6613         * lisp/cedet/semantic/symref/grep.el
6614         (semantic-symref-perform-search): Instead of wrapping input in
6615         word boundaries, check that the characters before and after are
6616         not word constituents.
6618         semantic/symref/grep: Support regexp search
6619         * lisp/cedet/semantic/symref.el
6620         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
6621         the search type is regexp.
6622         * lisp/cedet/semantic/symref/grep.el
6623         (semantic-symref-perform-search): Support the regexp search type.
6624         Pass -E to Grep when it's used.
6626         semantic-symref-regexp: Allow to input an arbitrary string
6627         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
6628         Allow to input an arbitrary string interactively.
6630         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
6631         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6632         Remove tag-symbol-match-p from the default value
6633         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
6635         Declare find-tag obsolete
6636         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
6637         xref-find-definitions.
6639 2015-05-10  Jan D  <jan.h.d@swipnet.se>
6641         Draw composite string correctly (Bug#20537).
6642         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
6643         (ns_draw_glyph_string): Call it (Bug#20537).
6645 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
6647         Avoid infloop in ERC
6648         * lisp/simple.el (line-move-to-column): Ignore field boundaries
6649         while computing line beginning position.  (Bug#20498)
6651 2015-05-08  Glenn Morris  <rgm@gnu.org>
6653         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
6654         * build-aux/gitlog-to-emacslog: Check called from right directory.
6655         (srcprefix): Remove.
6657         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
6658         * Makefile.in (ChangeLog): No longer pass "distprefix".
6659         * make-dist: Update "make ChangeLog" syntax for the above change.
6661         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
6662         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
6664         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
6666         Add command-line option-parsing to gitlog-to-emacslog.
6667         * build-aux/gitlog-to-emacslog: Add command-line options.
6668         By default, refuse to remove an existing output file.
6669         * Makefile.in (CHANGELOG): Update default.
6670         (ChangeLog): Do not test for existing file.
6671         (change-history-nocommit): Ensure temp file does not exist.
6673         Quieten --without-x compilation.
6674         * lisp/term/common-win.el: Provide a feature.
6675         * lisp/term/x-win.el (term/common-win): Require it.
6677         * lisp/dired-aux.el (dired-do-print): Require lpr.
6679         Quieten compilation, eg in --without-x builds.
6680         * lisp/dired-aux.el (lpr-printer-switch):
6681         * lisp/frame.el (tool-bar-height):
6682         * lisp/linum.el (font-info):
6683         * lisp/window.el (font-info, overflow-newline-into-fringe)
6684         (tool-bar-height):
6685         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
6686         * lisp/gnus/gnus-util.el (iswitchb-mode):
6687         * lisp/mail/rmailmm.el (libxml-parse-html-region):
6688         * lisp/net/nsm.el (gnutls-peer-status)
6689         (gnutls-peer-status-warning-describe):
6690         * lisp/net/shr.el (libxml-parse-xml-region):
6691         * lisp/url/url-http.el (gnutls-peer-status): Declare.
6693 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
6695         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
6696         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
6697         `subclass' since they're never called with a class.
6698         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
6699         srecode-dictionary-child-p.
6701 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
6703         help--binding-locus: Document argument POSITION.
6704         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
6706 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6708         Merge from gnulib.
6709         * doc/misc/texinfo.tex: Get latest version.
6711 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
6713         ffap.el (ffap-read-file-or-url): Fix completing-read call
6714         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
6715           `completing-read' should be a symbol.
6717 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
6719         Verify file modifications by other programs
6720         * src/filelock.c (lock_file): Check whether the file was modified
6721         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
6723         Fix keyboard macros that include function keys
6724         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
6725         keys in the macro before returning.  (Bug#20454)
6727 2015-05-08  Glenn Morris  <rgm@gnu.org>
6729         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
6730         "Copyright-paperwork-exempt".  (Bug#20324)
6732         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
6733         (log-edit-rewrite-tiny-change): New variable.
6734         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
6735         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
6736         * etc/NEWS: Mention this.
6738         * lisp/calc/calc.el (math-zerop): Declare.
6740         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
6742 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6744         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
6745         Support the case when BINDINGS is a single tuple.  (Bug#20525)
6747         * etc/NEWS: Fix typo in commit 14bb519
6749 2015-05-07  Jan D  <jan.h.d@swipnet.se>
6751         Warn for multiple display crash for all Gtk+ versions.
6752         * configure.ac: Warn for multiple display crash for all Gtk+
6753         versions.  Output URL to Gtk+ bug (Bug#20452).
6755         ns-win.el (ns-paste-secondary): Use gui-get-selection.
6756         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
6758 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6760         * lisp/emacs-lisp/package.el: New "external" package status
6761         An external package is any installed package that's not built-in
6762         and not from `package-user-dir', which usually means it's from an
6763         entry in `package-directory-list'.  They are treated much like
6764         built-in packages, in that they cannot be through the Package Menu
6765         deleted and are not considered for upgrades.
6766         (package-desc-status): Identify if a package is installed outside
6767         `package-user-dir'.
6768         (package-menu--print-info-simple)
6769         (package-menu--status-predicate): Add support for it.
6770         * etc/NEWS: Document it.
6772 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6774         * lisp/mail/rmail.el: Use lexical-binding
6775         (rmail-bury): Remove unused var `buffer-to-bury'.
6776         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
6777         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
6778         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
6779         (rmail-insert-inbox-text): Remove unused var `movemail'.
6780         (rmail-add-mbox-headers): Remove unused var `limit'.
6781         (rmail-undelete-previous-message): Remove unused var `value'.
6782         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
6783         `resent-reply-to'.
6784         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
6785         (rmail-restore-desktop-buffer): Rename arguments.
6787 2015-05-06  Glenn Morris  <rgm@gnu.org>
6789         * Makefile.in (change-history-commit): Add missing piece of previous.
6791         Avoid unnecessary bumping of Makefile.in's timestamp.
6792         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
6793         (emacslog): New variable.
6794         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
6795         (unchanged-history-files): Use $emacslog rather than Makefile.in.
6796         (change-history-nocommit): Store hash in $emacslog.
6797         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
6798         * admin/update_autogen (changelog_files): Update for the above.
6800         * Makefile.in: Don't always insist on removing existing "ChangeLog".
6801         (CHANGELOG): New variable.
6802         (no-ChangeLog): Remove.
6803         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
6804         (change-history-nocommit): Use a temp file rather than insisting
6805         on deletion of any existing "ChangeLog".
6807         * build-aux/gitlog-to-emacslog: Allow specification of output.
6809         * admin/update_autogen: Add option to update ChangeLog.
6810         (usage): Mention -H.
6811         (changelog_flag, changelog_n, changelog_files): New variables.
6812         (main): Check for -H, and maybe run change-history-nocommit.
6814 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6816         * lisp/subr.el (delete-dups): Pre-size the hashtable.
6818         (define-modify-macro): Make sure cl--arglist-args is defined
6819         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
6820         cl--arglist-args is defined (bug#20517).
6822 2015-05-06  Glenn Morris  <rgm@gnu.org>
6824         * Makefile.in (change-history-nocommit): New.
6826 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6828         Only cancel timer when it is non-nil
6829         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
6830         timer when it is non-nil
6831         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
6833 2015-05-06  Glenn Morris  <rgm@gnu.org>
6835         Quieten cedet compilation
6836         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
6837         Invert fboundp test to quieten on current Emacs.
6838         * lisp/cedet/ede/config.el (ede-shell-run-something)
6839         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
6840         (semanticdb-refresh-table): Declare.
6841         (ede-preprocessor-map): Require semantic/db.
6843         Quieten cc-mode compilation
6844         * lisp/progmodes/cc-awk.el (c-forward-sws):
6845         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
6846         Declare.
6848 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6850         lisp/subr.el (delete-dups): Avoid nreverse.
6852 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
6854         * lisp/subr.el (delete-dups): Make it destructive again.
6856 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
6858         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
6860 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6862         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
6863         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
6864         (testcover--read): Rename from testcover-read.  Change calling convention.
6865         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
6866         (testcover-start): Use add-function.  Move edebug-all-defs binding to
6867         testcover--read.
6868         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
6869         (testcover-mark): Remove unused var `item'.
6870         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
6872 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6874         lisp/subr.el (delete-dups): Use a hash table
6875         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
6876           use a hash table. This can result in ~500 times speed-up for typical
6877           collections of size 5000, like that of `load-library'.
6879 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6881         CEDET: Avoid `oref' on classes in a few more cases
6882         * lisp/cedet/ede/generic.el (ede-find-target):
6883         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
6884         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
6885         var `prefix'.
6887         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
6888         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
6889         (semantic-symref-perform-search): Remove unused var `pat'.
6891         CEDET (srecode-compile-inserter): Avoid `oref' on classes
6892         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
6893         Avoid `oref' on classes (bug#20491).
6894         (srecode-compile-split-code): Remove unused var `key'.
6896 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6898         Clean up pulse.el a little
6899         * lisp/cedet/pulse.el (pulse): Remove.
6900         (pulse-momentary-timer): Save instead of the stop time.
6901         (pulse-momentary-highlight-overlay): Call
6902         pulse-momentary-unhighlight first thing. Treat
6903         pulse-momentary-overlay as a single value, not a list. Save the
6904         created timer. Only pass the stop time to the timer.
6905         (pulse-tick): Update accordingly.
6906         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
6907         single value. Cancel the timer.
6909 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
6911         Support the biblatex journaltitle field
6912         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
6913         Support the biblatex journaltitle field.
6915 2015-05-05  Glenn Morris  <rgm@gnu.org>
6917         Minor declare-function improvement
6918         * lisp/emacs-lisp/bytecomp.el
6919         (byte-compile-macroexpand-declare-function):
6920         Handle declarations after calls.  (Bug#20509)
6922         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
6924         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
6926 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6928         Pulse using a timer
6929         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
6930         (pulse-momentary-highlight-overlay): Set up the timer instead of
6931         calling `pulse'
6932         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
6933         (pulse-tick): New function.
6934         (pulse-momentary-unhighlight): Cut off the stop time.
6935         (pulse-delay): Update the docstring WRT to not using sit-for.
6937         Add semantic/symref/grep file patterns for ruby-mode
6938         * lisp/cedet/semantic/symref/grep.el
6939         (semantic-symref-filepattern-alist): Add patterns for
6940         ruby-mode. Clarify the docstring.
6942         Don't require match
6943         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
6944         match. That doesn't work for every command, and some identifier
6945         completion tables are bound to be imperfect anyway.
6947 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
6949         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
6950         (semantic-grammar--template-expand): New function.
6951         (semantic-grammar-header, semantic-grammar-footer): Use it.
6952         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
6953         (semantic-grammar-file-regexp): Refine regexp.
6954         (semantic-grammar-eldoc-get-macro-docstring):
6955         Use elisp-get-fnsym-args-string when available.
6956         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
6957         instead of the old eldoc-* names.
6958         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
6959         from elisp-mode.el.  Tweak calling convention.
6960         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
6961         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
6962         elisp--get-fnsym-args-string.
6963         (elisp--highlight-function-argument): Add `prefix' arg.
6964         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
6965         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
6967 2015-05-05  Glenn Morris  <rgm@gnu.org>
6969         * lisp/help-fns.el (describe-function-1):
6970         Handle builtins with advertised calling conventions.  (Bug#20479)
6972 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6974         Merge branch 'seq-let'
6976         Update `seq-let' documentation
6977         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
6978         with the support of  `&rest'.
6980         Add support for &rest in `seq-let'
6981         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
6982         in the argument list.
6983         * test/automated/seq-tests.el: Add a test for parsing and binding
6984         `&rest' in `seq-let'.
6986 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6988         Spelling fixes
6990 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
6992         * eieio-custom.el (eieio-object-value-get): Add missing increment
6993         (Bug#20467)
6995         (eieio-object-value-create): Adjust to new slots representation
6996         (Bug#20467)
6997         * eieio-custom.el (eieio-object-value-create):
6998         Fix missed adjustment to new representation of slots metadata.
7000 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
7002         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
7004 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
7006         Work around "Attempt to modify read-only object"
7007         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
7008         elisp--xref-find-definitions, to work around "Attempt to modify
7009         read-only object" error.
7011         Only skip some variables that have function counterparts
7012         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7013         Only skip minor-mode-named variable if it's defined in a Lisp
7014         file, and it's in minor-mode-list (bug#20506).
7015         * test/automated/elisp-mode-tests.el
7016         (elisp-xref-finds-both-function-and-variable)
7017         (elisp-xref-finds-only-function-for-minor-mode): New tests.
7019 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7021         Buttonize the whole line, including the number at the beginning
7022         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
7023         previous change.
7024         (xref--insert-xrefs): Buttonize the whole line, including the
7025         number at the beginning.
7027         Make sure we're inside the let bindings
7028         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
7029         Make sure we're inside the let bindings.
7030         * test/automated/elisp-mode-tests.el
7031         (elisp-completes-functions-after-let-bindings): New test.
7033 2015-05-04  Glenn Morris  <rgm@gnu.org>
7035         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
7036         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
7037         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
7038         Remove outdated declarations.
7040         Replace instances of "(eval-when-compile (autoload ...))"
7041         * lisp/gnus/gnus-art.el (nneething-get-file-name):
7042         Declare rather than autoload.
7043         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
7044         Remove pointless autoload.
7045         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
7046         (gnus-topic-create-topic, gnus-topic-enter-dribble):
7047         Declare rather than autoload.
7048         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
7049         (mailcap-extension-to-mime): Autoload at run-time.
7050         * lisp/gnus/mm-util.el (latin-unity-massage-name)
7051         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
7052         (latin-unity-representations-present-region):
7053         Declare rather than autoload.
7054         * lisp/gnus/mml-smime.el (epg-make-context)
7055         (epg-passphrase-callback-function): Autoload at run-time.
7056         (epg-context-set-signers, epg-context-result-for)
7057         (epg-new-signature-digest-algorithm)
7058         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
7059         (epg-sign-string, epg-encrypt-string)
7060         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
7061         (epg-configuration, epg-expand-group, epa-select-keys):
7062         Declare rather than autoload.
7063         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
7064         Autoload at run-time.
7065         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
7066         (gnus-registry-get-id-key, gnus-registry-action):
7067         Declare rather than autoload.
7068         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
7069         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
7070         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
7071         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
7072         (spam-stat-split-fancy): Remove pointless autoloads.
7073         * lisp/net/mairix.el: Load gnus-util when compiling.
7074         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
7075         (message-field-value): Declare rather than autoload.
7076         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
7077         Check gnus-alive-p is fbound.
7078         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
7079         (vm-check-for-killed-summary, vm-error-if-folder-empty)
7080         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
7081         Declare rather than autoload.
7083         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
7085         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
7086         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
7088         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
7090         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
7092         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
7093         * lisp/emacs-lisp/package.el (epg-signature-status):
7094         Fix declarations.
7096         * lisp/play/gametree.el (gametree-show-children-and-entry)
7097         (gametree-apply-layout, gametree-mouse-show-subtree)
7098         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
7100         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
7101         Handle cl-defgeneric, cl-defmethod.
7103 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7105         Highlight both type and symbol name
7106         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
7107         Highlight both type and symbol name.
7109         Insert, highlight and align line numbers in xref output
7110         * lisp/progmodes/etags.el (xref-location-line): Specialize for
7111         xref-etags-location.
7112         * lisp/progmodes/xref.el (xref-location-line): New generic method.
7113         (xref-file-location): Add reader for the line slot.
7114         (xref--location-at-point): Skip to the `xref-location' property.
7115         (xref--collect-reference): Drop the line number from description.
7116         (xref--insert-xrefs): Insert, highlight and align line numbers.
7118 2015-05-04  Daniel Colascione  <dancol@dancol.org>
7120         Fix previous commit
7122 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7124         Don't pulse the indentation, or the newline
7125         * lisp/cedet/pulse.el (pulse-lighten-highlight)
7126         (pulse-reset-face): Fall back to the inherited background
7127         attribute in FACE.
7128         (pulse-momentary-highlight-region): Add autoload cookie.
7129         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
7130         indentation, or the newline, if the line's non-empty
7131         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
7133 2015-05-04  Daniel Colascione  <dancol@dancol.org>
7135         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
7136         * doc/lispref/positions.texi (Excursions): Document
7137         `save-mark-and-excursion'.
7138         * lisp/font-lock.el (font-lock-fontify-block): Use
7139         `save-mark-and-excursion' instead of `save-excursion', restoring
7140         Emacs 24 behavior.
7141         * lisp/simple.el (save-mark-and-excursion--save)
7142         (save-mark-and-excursion--restore): New functions.
7143         (save-mark-and-excursion): New user macro.
7144         * src/editfns.c (Fsave_excursion): Mention
7145         `save-mark-and-excursion' in `save-excursion' documentation.
7147 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7149         Classify lone symbol inside let varlist as variable
7150         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
7151         Classify lone symbol inside let varlist as variable.
7152         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
7153         New test.
7155         Add xref-pulse-on-jump
7156         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
7157         Add autoload cookie.
7158         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
7159         (xref--maybe-pulse): New function.
7160         (xref-pop-marker-stack, xref--pop-to-location)
7161         (xref--display-position): Use it.
7162         (xref--location-at-point): Use back-to-indentation.
7164 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
7166         * lisp/org/org-{macs,list}.el: Fix lexical warnings
7167         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
7168         (org-list-get-next-item, org-list-get-prev-item)
7169         (org-list-get-children): Mark unused arg `struct'.
7170         (org-list-use-alpha-bul-p): Remove unused var `bul'.
7171         (org-toggle-checkbox): Mark unused var.
7172         (org-update-checkbox-count): Remove unused var `box-num'.
7173         (org-adapt-indentation): Declare.
7174         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
7175         (org-list-send-list): Remove unused var `txt'.
7176         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
7177         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
7178         * lisp/org/org-macs.el: Use `declare'.
7179         (org-with-limited-levels): Declare dyn-bound vars.
7181 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
7183         Fix minor issues with CEDET on MS-Windows
7184         * lisp/cedet/semantic/symref/idutils.el
7185         (semantic-symref-parse-tool-output-one-line): Fix the search
7186         regexp to match MS-Windows file names with drive letters.
7187         (Bug#19468)
7188         * lisp/cedet/semantic/symref/grep.el
7189         (semantic-symref-grep-use-template): Remove "--color=always" from
7190         Grep switches on MS-Windows.
7191         (semantic-symref-grep-shell): Use shell-file-name as the default
7192         value, so this works not only on Posix platforms.
7193         (semantic-symref-perform-search): Use shell-quote-argument instead
7194         of literal '..' for portable quoting of Grep command-line
7195         argument.  Use shell-command-switch instead of a literal "-c".
7196         * lisp/cedet/semantic/bovine/gcc.el
7197         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
7198         for an absolute file name in a portable way.
7200 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7202         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
7203         (package-import-keyring, package-refresh-contents)
7204         (package-compute-transaction, package--save-selected-packages)
7205         (package-install-from-archive, package-delete)
7206         (package-menu--perform-transaction): Use `inhibit-message'
7207         instead.
7208         (package--compile): Set `warning-minimum-level' to :error.
7210 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
7212         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
7213         (terminal-init-screen): Use it (bug#20356).
7214         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
7215         (xterm--extra-capabilities-type): New const.
7216         (xterm-extra-capabilities): Use it.
7217         (xterm--version-handler): Lower the pseudo-version for `screen'.
7219 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
7221         xref--insert-xrefs: Tweak the faces
7222         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
7223         Always insert a newline at the end (to avoid mouse-face background
7224         tail at the last line).
7226         elisp-completion-at-point: Prioritize being quoted over funpos
7227         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
7228         Only consider function position when not inside quoted form
7229         (bug#20425).
7230         * test/automated/elisp-mode-tests.el: New file.
7232         Stop vc-print-log from jumping to the top
7233         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
7234         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
7235         is not specified.
7236         (vc-incoming-outgoing-internal): Always pass nil.
7237         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
7238         call it, and don't set vc-sentinel-movepoint (bug#15322).
7239         (vc-print-root-log): Don't fetch the root working revision, nor
7240         pass it to vc-print-log-internal.
7242 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
7244         Fix display of keyboard layouts for right-to-left scripts
7245         * lisp/international/quail.el (quail-insert-kbd-layout): Force
7246         left-to-right paragraph direction.
7248 2015-05-02  K. Handa  <handa@gnu.org>
7250         * cmds.c (internal_self_insert): When we insert spaces for
7251         padding, set point before the padding spaces, not after them.
7253 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
7255         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
7257 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
7259         Fix etags-xref-find for references
7260         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
7261         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
7262         directory if no tags tables are loaded (bug#19468).
7264 2015-05-02  Philipp Stephani  <phst@google.com>
7266         Update the options in whitespace-style defcustom
7267         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
7268         `repeat' because the option is really set-like.  Add missing
7269         options.  Reorder options to match the order in the
7270         documentation.  (Bug#20346)
7272 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
7274         Fix error diagnostics of c-macro-expand
7275         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
7276         too early if no start-marker string was found -- that generally
7277         means cpp exited abnormally, and we still want to show its error
7278         messages to the user.
7280         Don't require Texinfo 5.0 for Emacs documentation
7281         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
7282         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
7283         "@codequoteundirected on", respectively, to avoid requiring
7284         Texinfo 5.x for Emacs documentation.
7286 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
7288         * lisp/files.el (pwd):
7289         When called with a prefix argument, insert the current default
7290         directory at point.
7292 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
7294         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
7295         * lisp/isearch.el (isearch-mode-map): Don't inhibit
7296         function-key-map remapping for backspace (bug#20466).
7298 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
7300         Implement xref-find-references in etags and elisp-mode
7301         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
7302         (elisp-xref-find): Use it.
7303         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
7304         * lisp/progmodes/xref.el (xref-collect-references):
7305         (xref--collect-reference): New functions.
7307 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
7309         Prefer plain characters to Texinfo circumlocutions
7310         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
7311         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
7313         Fix single-quoting style in PDF manuals
7314         The PDF versions of the GNU manuals used curved single quotes to
7315         represent grave accent and apostrophe, which made it a pain to cut
7316         and paste code examples from them.  Fix the PDF versions to use
7317         grave accent and apostrophe for Lisp source code, keystrokes, etc.
7318         This change does not affect the info files, nor does it affect
7319         ordinary uses of curved single quotes in PDF.
7320         * doc/emacs/docstyle.texi: New file, which specifies treatment for
7321         grave accent and apostrophe, as well as the document encoding.
7322         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
7323         * doc/lispintro/emacs-lisp-intro.texi:
7324         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
7325         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
7326         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
7327         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
7328         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
7329         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
7330         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
7331         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
7332         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
7333         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
7334         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
7335         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
7336         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
7337         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
7338         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
7339         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
7340         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
7341         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
7342         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
7343         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
7344         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
7345         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
7346         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
7347         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
7348         * doc/misc/woman.texi:
7349         Use it instead of '@documentencoding UTF-8', to lessen the need for
7350         global changes like this in the future.
7351         * doc/emacs/Makefile.in (EMACS_XTRA):
7352         * doc/lispintro/Makefile.in (srcs):
7353         * doc/lispref/Makefile.in (srcs):
7354         Add dependency on docstyle.texi.
7355         * doc/misc/Makefile.in (style): New macro.
7356         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
7357         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
7358         Use it.
7360 2015-05-01  Glenn Morris  <rgm@gnu.org>
7362         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
7364         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
7365         (help-fns--signature): Declare.
7367         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
7369 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
7371         New macro seq-let, providing destructuring support to seq.el
7372         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
7373         to `cl-destructuring-bind' but works on all sequence types supported
7374         by `seq.el'.  Bump version number to 1.6.
7375         * test/automated/seq-tests.el: Add tests for seq-let.
7376         * doc/lispref/sequences.texi: Add documentation for seq-let.
7378 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
7380         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
7382 2015-05-01  Glenn Morris  <rgm@gnu.org>
7384         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
7386 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
7388         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
7389         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
7390         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
7391         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
7392         (Bug#20445).
7394 2015-05-01  K. Handa  <handa@gnu.org>
7396         * mule-cmds.el (input-method-use-echo-area): Change :type to
7397         'boolean.
7399 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7401         Start using proportional fonts in eww by default
7402         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
7403         it seems to work well.
7405         Fix links in tables in shr
7406         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
7407         makes (some) links in tables not work.
7409 2015-05-01  Jan D  <jan.h.d@swipnet.se>
7411         (ns-get-cut-buffer-internal): Remove this alias.
7412         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
7414 2015-04-30  Glenn Morris  <rgm@gnu.org>
7416         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
7417         Update for 2015-02-08 change to indirect-function.
7419         * lisp/term/ns-win.el (ns-get-selection-internal):
7420         Remove declaration for function deleted 2014-10-21.
7422         * lisp/dom.el: Load subr-x when compiling, for when-let.
7424         Silence some compilation warnings
7425         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
7426         * lisp/emulation/cua-base.el (delete-active-region):
7427         * lisp/net/net-utils.el (w32-get-console-output-codepage):
7428         * lisp/term/ns-win.el (ns-own-selection-internal)
7429         (ns-disown-selection-internal, ns-selection-owner-p)
7430         (ns-selection-exists-p, ns-get-selection):
7431         Declare for compiler..
7433         Function declaration updates prompted by 'make check-declare'
7434         * lisp/emacs-lisp/package.el (lm-homepage):
7435         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
7436         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
7437         * lisp/gnus/mml.el (libxml-parse-html-region):
7438         * lisp/gnus/nnrss.el (libxml-parse-html-region):
7439         * lisp/net/eww.el (libxml-parse-html-region):
7440         * lisp/net/shr.el (libxml-parse-html-region):
7441         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
7442         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
7443         * lisp/vc/vc-git.el (vc-annotate-convert-time):
7444         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
7445         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
7446         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
7447         Update declaration.
7449         Remove compatibility code for 20-year old function renaming
7450         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
7451         Make it an obsolete alias.
7452         (idlwave-shell-filter): Change all uses to comint-output-filter.
7454 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
7456         Add ace-window face config
7457         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
7458         configuration.
7460 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
7462         Unclutter 'make doc' output a bit
7463         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
7464         Use make subst rather than sh IFS to split target string apart.
7465         This makes 'make' output easier to follow.
7467         Merge from gnulib
7468         * doc/misc/texinfo.tex: Update from gnulib.
7470 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7472         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
7473         (package-menu--print-info): Obsolete.
7474         (package-menu--print-info-simple): New function.
7475         (package-menu--refresh): Use it, simplify code, and improve
7476         performance.
7477         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
7478         Tiny performance improvement.
7480         * lisp/emacs-lisp/package.el (package--message): inhibit-message
7482 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
7484         Omit -Wstrict-overflow workaround in GCC 5
7485         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
7486         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
7488         Merge from gnulib
7489         This incorporates:
7490         2015-04-29 extern-inline: no need for workaround in GCC 5.1
7491         2015-04-26 file-has-acl: port to CentOS 6
7492         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
7494 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
7496         Set next-error-* in xref--xref-buffer-mode
7497         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
7498         `next-error-last-buffer'.
7499         (xref--next-error-function): New function.
7500         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
7502 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7504         python.el: Fix warnings on looking-back calls missing LIMIT
7505         * lisp/progmodes/python.el (python-shell-accept-process-output):
7506         Pass LIMIT arg to looking-back.
7508 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7510         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
7511         (package--download-and-read-archives): Use pushnew instead of
7512         append.  If something terrible happened during a previous
7513         download, simply refreshing should now make things work again.
7515 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
7517         Introduce etags-xref-find-definitions-tag-order
7518         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
7519         New variable.
7520         (etags--xref-find-definitions): Use it (bug#19468).
7522 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
7524         PATH- and completion-related fixes in Eshell on MS-Windows
7525         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
7526         MS-Windows, prepend "." to list of directories produced from PATH,
7527         as Windows always implicitly searches the current directory first.
7528         (eshell-force-execution): Make it have a non-nil default value on
7529         MS-Windows and MS-DOS.
7530         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
7531         eshell-force-execution is non-nil, complete on readable files and
7532         directories, not only executables.  When running on MS-Windows,
7533         prepend "." to list of directories produced from PATH, as Windows
7534         always implicitly searches the current directory first.
7536 2015-04-29  Sam Steingold  <sds@gnu.org>
7538         bury RCIRC buffers when there is no activity
7539         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
7540         (rcirc-bury-buffers): new function
7541         (rcirc-next-active-buffer): when there is no new activity, use
7542         `rcirc-bury-buffers' to hide all RCIRC buffers
7544 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
7546         Fix DBUS query result parsing for secrets-search-items
7547         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
7548         parsing.  The function assumed that return value of the
7549         SearchItems method called on a collection is a list of two lists,
7550         however this is true only when no collection is specified.  GNOME
7551         had used to incorrectly return a list of two lists in both cases,
7552         but this was already fixed:
7553         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
7554         incorrect information in the secrets-search-items’ docstring.
7555         (Bug#20449)
7557 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7559         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
7560         (byte-compile--message): Use `inhibit-message' instead of hiding
7561         the previous message with (message nil).
7563 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
7565         Remove the deprecated INTERNAL_FIELD macro by expanding it
7566         * src/lisp.h (INTERNAL_FIELD): Remove.
7567         (DEFVAR_KBOARD): Modify accordingly.
7568         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
7569         * syntax.c: Adjust users.
7570         * src/buffer.c (compact_buffer): Use BVAR.
7572 2015-04-29  Glenn Morris  <rgm@gnu.org>
7574         Replace an obsolete function alias
7575         * lisp/isearch.el (isearch-yank-x-selection):
7576         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
7577         (mouse-drag-secondary-moving):
7578         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
7579         Replace obsolete alias x-get-selection with gui-get-selection.
7581 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7583         * lisp/mail/rmailsum.el: Use lexical-binding.
7585 2015-04-29  Glenn Morris  <rgm@gnu.org>
7587         * test/automated/package-test.el (package-test-update-archives-async):
7588         Skip test on hydra.nixos.org.
7590 2015-04-28  Glenn Morris  <rgm@gnu.org>
7592         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
7593         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
7594         (foldout-mouse-hide-or-exit): Use new names for outline functions.
7596         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
7597         Update for 2014-06-26 hideif.el change.
7599         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
7600         (rmail--decode-and-apply): New function.
7601         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
7603         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
7605 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7607         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
7608         (package-menu--refresh): Delegate obsolete-hiding to
7609         `package--remove-hidden'.
7610         (package--remove-hidden): Disregard high-priority package if it is
7611         older than the installed one.
7613 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
7615         Update source file encoding list
7616         Update admin/notes/unicode, along with coding system cookies in
7617         other files, so that the two match each other better.
7618         * admin/notes/unicode: lisp/language/ethio-util.el and
7619         lisp/language/ethiopic.el also use utf-8-emacs.
7620         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
7621         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
7622         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
7623         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
7624         * etc/refcards/sk-survival.tex:
7625         Add "coding: utf-8" so that this file is not mishandled in a
7626         Latin-1 or Big-5 locale.
7627         * lisp/international/robin.el, lisp/org/ox-ascii.el:
7628         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
7629         * lisp/language/ethio-util.el: Fix trailer.
7631 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
7633         Fix synchronous invocation of Ispell
7634         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
7635         value to ispell-process-directory before calling ispell-init-process.
7636         Don't call set-process-coding-system if ispell-async-processp is nil.
7637         (Bug#20448)
7639 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7641         * lisp/emacs-lisp/package.el: Skip space and comments in init file
7642         (package--ensure-init-file): Insert snippet at first
7643         non-whitespace non-comments line.  Respects local-vars at the top
7644         of the file.
7646 2015-04-28  Glenn Morris  <rgm@gnu.org>
7648         * lisp/mail/rmail.el (rmail-copy-headers):
7649         Handle rmail-nonignored-headers being nil.  (Bug#18878)
7651         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
7653         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
7654         Don't get confused by a bzrlib version mismatch warning.
7656 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7658         Change default location of EUDC options file
7659         * NEWS: Document change to EUDC options file's default location.
7660         * lisp/net/eudc-vars.el (eudc-options-file): Use
7661         `locate-user-emacs-file' to change default options file location.
7663 2015-04-27  Glenn Morris  <rgm@gnu.org>
7665         * test/automated/package-test.el (package-test-update-archives-async):
7666         Try to handle the test server script dying.
7668 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7670         * lisp/saveplace.el (save-place-mode): New minor mode.
7671         (save-place): Redefine as an obsolete alias.
7673         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
7674         * lisp/midnight.el: Use lexical-binding.
7675         (midnight-mode): Make it a proper minor mode.
7676         (midnight-buffer-display-time): Make arg non-optional.
7677         (midnight-find): Remove.
7678         (clean-buffer-list-kill-never-regexps)
7679         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
7680         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
7681         contain functions.
7682         (clean-buffer-list): Use cl-find.
7683         Allow clean-buffer-list-kill-never-regexps to contain functions.
7685 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
7687         Bump version of seq.el to 1.5
7688         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
7689           from seq-doseq.  Bump version number of seq.el.
7691 2015-04-27  Glenn Morris  <rgm@gnu.org>
7693         * lisp/mail/rmail.el (rmail-reply):
7694         Decode subject before matching "Re:" prefix.  (Bug#20396)
7696 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7698         * lisp/emacs-lisp/package.el: Small improvements
7699         (package--with-work-buffer-async): More informative error.
7700         (package-install-user-selected-packages): Rename to
7701         `package-install-selected-packages'.
7703 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7705         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
7706         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
7707         (eieio--class-make): Remove leftover `tag'.
7709 2015-04-27  Glenn Morris  <rgm@gnu.org>
7711         * lisp/gnus/message.el (gnus-extract-address-components):
7712         Remove bogus declaration that was masking previous problem.
7714 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
7716         * lisp/gnus/message.el (message-insert-formatted-citation-line):
7717         Fix typo.  (Bug#20318)
7719 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7721         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
7723         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
7724         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
7725         the buffer in yet another frame.
7726         (reftex-toc-visit-location): Make sure toc-window has focus at the end
7727         when `final' is nil.
7728         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
7729         silence warnings.  Use `--' to clarify that it's internal.
7730         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
7731         (reftex-toc-promote): Clarify unused argument.
7732         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
7733         Add `reftex--' prefix.  Fix all users.
7734         (reftex-toc-promote-prepare): Use _ for dummy variable.
7735         (reftex-toc-restore-region): Rename `m
7737 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
7739         Fix a typo in bibtex.el
7740         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
7741         last change.  (Bug#20429)
7743         Fix redisplay of frame after loading new fonts
7744         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
7745         frame because new fonts were loaded, disable all redisplay
7746         optimizations on that frame by calling SET_FRAME_GARBAGED.
7747         (Bug#20410)
7749 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7751         * lisp/info.el (Info-menu): Properly provide the `default'
7752         (Bug#20391)
7754         * elisp-mode.el: Catch errors from `documentation'
7755         (Bug#20418)
7756         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
7757         Catch errors from documentation.
7758         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
7760 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
7762         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
7763         Remove redundant ":group 'package".
7765 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
7767         Fix a typo in rmail.el
7768         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
7769         last commit.  (Bug#20429)
7771 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
7773         Introduce xref-prompt-for-identifier
7774         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
7775         (xref--read-identifier): Use it
7776         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
7778 2015-04-26  João Távora  <joaotavora@gmail.com>
7780         `tex-insert-quote' after single `'' opens quotes instead of closing
7781         Without this, it's very hard to precede double quotes with the
7782         apostrophe character, i.e. insert the sequence '``
7783         (quote-backquote-backquote), commonly useful in portuguese, for
7784         instance.
7785         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
7786         chars making `tex-insert-quote' be in the "opening" context.
7788 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
7790         Pass `id' to `completing-read' as def instead of initial input
7791         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
7792         as the default value instead of initial input
7793         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
7795 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7797         Don't freeze with unreadable processes
7798         Don't freeze if an exiting process can't be read from. (Bug#19860).
7799         This fixes a bug I introduced in
7800         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
7801         "* process.c: Add sanity checks for file descriptors."
7802         Dmitry Gutov did most of the legwork in finding the problem.
7803         * src/process.c (wait_reading_process_output):
7804         Treat non-running processes that can't be read from
7805         the same as other non-running processes.
7807 2015-04-25  Alan Mackenzie  <acm@muc.de>
7809         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
7810         * lisp/subr.el (remove-yank-excluded-properties): put
7811         `with-silent-modifications' around only the last three lines of code.
7813 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7815         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
7816         (package--all-keywords): Deleted variable.
7818         * etc/NEWS: Document package-hiding functionality
7820 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
7822         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
7824         Clarify the doc string of 'replace-regexp-in-string'
7825         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
7827         Improve doc string of 'insert-buffer-substring'
7828         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
7830         MS-Windows followup for the recent gnulib update
7831         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
7832         acl-internal.c.
7834 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7836         Spelling fixes
7838         Merge from gnulib
7839         This incorporates:
7840         2015-04-24 file-has-acl: new module, split from acl
7841         2015-04-24 manywarnings: add GCC 5.1 warnings
7842         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
7843         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
7844         2015-04-15 acl: On Linux, check for acls without libacl
7845         2015-04-14 tempname: avoid unused parameter warnings (trivial)
7846         * lib/acl-internal.c: New file, from gnulib.
7847         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
7848         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
7849         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
7850         Update from gnulib.
7852         Port --enable-gcc-warnings to GCC 5.1 x86-64
7853         * lib-src/ebrowse.c (dump_sym):
7854         * lib-src/hexl.c (main):
7855         * src/ccl.c (ccl_driver):
7856         * src/character.c (string_escape_byte8):
7857         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
7858         * src/gnutls.c (Fgnutls_boot):
7859         * src/gtkutil.c (xg_check_special_colors):
7860         * src/image.c (x_build_heuristic_mask):
7861         * src/print.c (safe_debug_print, print_object):
7862         * src/term.c (produce_glyphless_glyph):
7863         * src/xdisp.c (get_next_display_element)
7864         (produce_glyphless_glyph):
7865         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
7866         Don't use a signed format to print an unsigned integer, or vice
7867         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
7868         * src/image.c (png_load_body, jpeg_load_body):
7869         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
7871 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
7873         Add new faces to tsdh-light-theme
7874         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
7875         definitions for Info-quoted, ace-jump-face-foreground,
7876         hl-paren-face, show-paren-match, and show-paren-mismatch.
7878 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
7880         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
7882 2015-04-24  Glenn Morris  <rgm@gnu.org>
7884         * build-aux/gitlog-to-emacslog:
7885         Use raw log format rather than wrapped one.
7887 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7889         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
7890         (seq-doseq): Fix out-of-scope binding.
7891         Don't call `seq-length at every iteration.
7892         Reduce `if's from 3 to 2 per iteration.
7893         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
7895 2015-04-24  Glenn Morris  <rgm@gnu.org>
7897         * lisp/textmodes/text-mode.el (text-mode-hook):
7898         Move text-mode-hook-identify to default.
7900         * lisp/mouse.el (minor-mode-menu-from-indicator):
7901         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
7903         * lisp/help-fns.el (describe-function): More type checking.
7904         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
7906         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
7907         (Bug#20325)
7909 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
7911         shr: strip leading whitespace when expanding URLs
7912         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
7914 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
7916         Clarify "co-authored" some more
7918         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
7920         Clarify doc strings of functions that search for properties
7921         * src/textprop.c (Fnext_char_property_change)
7922         (Fprevious_char_property_change)
7923         (Fnext_single_char_property_change)
7924         (Fprevious_single_char_property_change, Fnext_property_change)
7925         (Fnext_single_property_change, Fprevious_property_change)
7926         (Fprevious_single_property_change): Clarify doc strings wrt return
7927         value and the optional LIMIT argument.  (Bug#20411)
7929 2015-04-24  Glenn Morris  <rgm@gnu.org>
7931         * test/automated/message-mode-tests.el (message-mode-propertize):
7932         Handle non-writable HOME; eg on hydra.nixos.org.
7934 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
7936         Avoid starting threads by w32-shell-execute
7937         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
7938         local file names, before invoking ShellExecute.  (Bug#20220)
7940 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
7942         Fix following doc-links in `widget-documentation-link-action'
7943         * lisp/wid-edit.el (widget-documentation-link-action): Make
7944         following doc-links less simplistic (Bug#20398).
7946 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7948         Improve EUDC manual
7949         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
7951 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7953         Omit needless "\ " after multibyte then newline
7954         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
7955         (print_object): When print-escape-multibyte is non-nil and a
7956         multibyte character is followed by a newline or formfeed, followed
7957         by a hex digit, don't output a needless "\ " before the hex digit.
7958         * test/automated/print-tests.el (print-hex-backslash): New test.
7960 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
7962         Add a new `inhibit-message' variable
7963         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
7964         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
7965         `inhibit_message' is non-zero.
7966         * etc/NEWS: Add an entry.
7967         * doc/lispref/display.texi: Add an entry for `inhibit-message',
7968           mention it in `message'.
7970 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7972         Fix last fix in `display-buffer-record-window'.
7973         * lisp/window.el (display-buffer-record-window): Fix last fix.
7975 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
7977         Minor edits in CONTRIBUTE
7978         * CONTRIBUTE: Rearrange instructions about log messages.
7979         Use "Git" capitalized all over.
7980         Use 2 spaces between sentences.
7982 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7984         * lisp/files.el (basic-save-buffer): Fix argument
7986         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
7987         In case `(and (null custom-file) init-file-had-error)' do the same
7988         thing we'd do if `(null user-init-file)', which is to either error out
7989         or return nil.  This is in line with `custom-save-all' which would
7990         throw an error in that situation. (bug#20355)
7992         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
7993         (package-menu-hide-low-priority): New variable, see its doc.
7994         (package-archive-priorities): Update doc.
7995         (package-desc-priority): New function.
7996         (package-desc-priority-version): Use it.
7997         (package--remove-hidden): New function.
7998         (package-menu--refresh): Use it.
8000         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
8001         (package-menu--hide-obsolete): New variable.
8002         (package--remove-hidden): Use it.
8003         (package-menu-hide-obsolete): New interactive function to toggle
8004         the variable.
8005         (package--quick-help-keys): Document it.
8006         (package-menu-async): Add :version tag.
8007         (package-menu-mode-map): Bind package-menu-hide-obsolete.
8008         (package-desc-status): Indicate non-installed obsolete packages as
8009         avail-obso.
8010         (package-menu-mark-install): Allow installation of avail-obso.
8011         (package-menu--status-predicate): Sort avail-obso with available.
8013 2015-04-22  Alan Mackenzie  <acm@muc.de>
8015         On C-y, stop some text property entries being written into buffer-undo-list
8016         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
8017         `with-silent-modifications'.
8019 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
8021         In display-buffer-record-window record selected window if necessary.
8022         * lisp/window.el (display-buffer-record-window): Store selected window
8023         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
8025 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
8027         Fix reftex-citation bug
8028         * reftex-cite.el (reftex-extract-bib-entries): Fix
8029         `wrong-type-argument stringp nil' error that occurs when AUCTeX
8030         integration is enabled and there are no citations in the document
8031         so far.
8033 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
8035         Add or reset based on the presence of MERGE_HEAD
8036         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
8037         `vc-git-resolve-when-done' to `after-save-hook' in either case.
8038         (vc-git-conflicted-files): Add a TODO.
8039         (vc-git-resolve-when-done): Depending on the presence of
8040         MERGE_HEAD, either update the resolved file in the index, or
8041         remove it from there.  (Bug#20292)
8043 2015-04-21  Glenn Morris  <rgm@gnu.org>
8045         * lisp/custom.el (custom-declare-group): No need to purecopy
8046         custom-current-group-alist members following recent change to set
8047         it to nil before dumping.
8049         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
8050         (Bug#20399)
8052 2015-04-21  Daniel Colascione  <dancol@dancol.org>
8054         Unbreak no-op buffer save message
8055         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
8056         (basic-save-buffer): Accept called-interactively as an argument instead of
8057         directly invoking called-interactively-p, which will always yield nil
8058         in that context.
8060 2015-04-21  Alan Mackenzie  <acm@muc.de>
8062         CC Mode: Do nothing in before/after-change-functions for text property changes
8063         Fixes bug#20266.
8064         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
8065         yank-handled-properties buffer local, and remove 'category from it.
8066         (c-called-from-text-property-change-p): New function.
8067         (c-before-change): Don't do anything if a call of the new function
8068         returns non-nil.
8069         (c-after-change): Don't do much if a call of the new function returns
8070         non-nil.
8071         (c-extend-after-change-region): Put changes to text property 'fontified
8072         inside c-save-buffer-state.
8074 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
8076         Fix byte-compiler warnings about looking-back.
8077         * lisp/vc/log-view.el (log-view-end-of-defun-1):
8078         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
8079         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
8080         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
8081         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
8082         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
8083         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
8084         * lisp/org/org.el (org-insert-heading, org-sort-entries):
8085         * lisp/org/org-mouse.el (org-mouse-end-headline)
8086         (org-mouse-context-menu):
8087         * lisp/org/org-clock.el (org-clock-cancel):
8088         * lisp/man.el (Man-default-man-entry):
8089         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
8090         (rmail-ensure-blank-line):
8091         * lisp/mail/footnote.el (Footnote-delete-footnote):
8092         * lisp/mail/emacsbug.el (report-emacs-bug):
8093         * lisp/info.el (Info-follow-reference, Info-fontify-node):
8094         * lisp/info-look.el (info-lookup-guess-custom-symbol):
8095         * lisp/help-fns.el (help-fns--key-bindings):
8096         * lisp/files.el (hack-local-variables):
8097         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
8098         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
8099         (viper-complete-filename-or-exit):
8100         * lisp/emulation/viper-cmd.el (viper-backward-indent):
8101         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
8102         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
8103         * lisp/cus-edit.el (custom-face-edit-value-create):
8104         * lisp/calendar/todo-mode.el (todo-set-item-priority)
8105         (todo-filter-items-1, todo-convert-legacy-files)
8106         (todo-prefix-overlays): Add explicit second arg to looking-back.
8108 2015-04-20  Glenn Morris  <rgm@gnu.org>
8110         Avoid non-nil current-load-list at startup
8111         * src/process.c (init_process_emacs): Move Fprovide statement...
8112         (syms_of_process): ... to here.
8114         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
8116         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
8118 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
8120         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
8121         (Bug#20330)
8123 2015-04-20  Glenn Morris  <rgm@gnu.org>
8125         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
8127         Tweak exec-path in uninstalled case
8128         * src/callproc.c (init_callproc): If running uninstalled, do not
8129         include eventual installation libexec directory in exec-path.
8131 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
8133         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
8134         (package-menu-filter): Accept a list of keywords.
8135         (package--all-keywords): New variable to cache known keywords.
8136         (package-all-keywords): Populate it if necessary.
8137         (package-refresh-contents): Reset it.
8139         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
8140         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
8141         as special keywords which match agains package archive and status
8142         respectively.
8143         * etc/NEWS: Document it.
8145 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
8147         Describe and index "empty overlays".
8148         * doc/lispref/display.texi (Overlays): Improve indexing.
8149         (Managing Overlays): Describe "empty" overlays.
8150         (Overlay Properties, Finding Overlays): Add cross-reference to
8151         where empty overlays are described.
8153 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8155         Spelling fixes
8157         Quote 'like this' in top-level files
8158         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
8159         Prefer to single-quote 'like this' (instead of the older style
8160         `like this').
8161         * configure.ac: Fix some space-before-tab problems that 'git commit'
8162         complained about.
8164         Use bool for boolean in textprop.c, undo.c
8165         * src/textprop.c (soft, hard): Now constants instead of macros.
8166         (validate_plist): Rewrite to avoid need for boolean local.
8167         (interval_has_all_properties, interval_has_some_properties)
8168         (interval_has_some_properties_list, add_properties)
8169         (remove_properties, get_char_property_and_overlay)
8170         (Fnext_single_char_property_change)
8171         (Fprevious_single_char_property_change, add_text_properties_1)
8172         (Fremove_text_properties, Fremove_list_of_text_properties)
8173         (copy_text_properties):
8174         * src/tparam.c (tparam1):
8175         * src/undo.c (record_change, record_property_change)
8176         (syms_of_undo):
8177         Use 'true' and 'false' for booleans.
8179 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
8181         Call `smerge-start-session' even when dealing with a stash conflict
8182         * lisp/vc/vc-git.el (vc-git-find-file-hook):
8183         Call `smerge-start-session' even when dealing with a stash
8184         conflict (bug#20292).
8186 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
8188         Add option to eshell/clear to clear scrollback.
8189         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
8190         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
8191         scrollback contents are cleared.
8192         * etc/NEWS: Describe change.
8193         * doc/misc/eshell.texi: Add entry for `clear'.
8195 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8197         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
8198         where either will do.
8200 2015-04-19  Steve Purcell  <steve@sanityinc.com>
8202         Assume package archive-contents are UTF8-encoded
8203         * lisp/emacs-lisp/package.el (package--read-archive-file):
8204         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
8205         downloaded and cached archive-contents files, so that non-ASCII
8206         characters in package descriptions are displayed correctly in the
8207         `list-packages' menu. (Bug#20231)
8209 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
8211         Abort when looking at stashed changes
8212         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
8213         stashed changes (bug#20292).
8215 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8217         Refactor low-level printing for simplicity
8218         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
8219         PRINTPREPARE; doable now that we assume C99.  All callers changed.
8220         (PRINTCHAR): Remove, as it adds more mystery than clarity.
8221         All callers changed.
8222         (strout): Assume that caller computes length.  All callers changed.
8223         (print_c_string): New function.
8224         (write_string, write_string_1): Compute length instead of asking
8225         the caller to compute it.  All callers changed.
8226         (write_string): Simplify by using write_string_1.
8227         (write_string_1): Simplify by using print_c_string.
8228         (Fterpri): Compute default val more clearly.
8229         (Fprin1_to_string, print_object):
8230         Assume C99 to avoid unnecessary nesting.
8231         (print_object): Prefer print_c_string to multiple printchar, or
8232         to calling strout with -1 length.  Coalesce into sprintf when
8233         this is easy.
8235 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
8237         Prefer "Bug#1234" in commit messages (Bug#20325)
8238         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
8239         as this isn't useful for Git.
8240         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
8242 2015-04-18  Glenn Morris  <rgm@gnu.org>
8244         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
8245         (Bug#19506)
8247 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
8249         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
8250         (Bug#19505)
8252 2015-04-18  Glenn Morris  <rgm@gnu.org>
8254         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
8256         * doc/emacs/misc.texi (Sorting): Small edit.
8257         (Bug#19896)
8259         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
8261 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
8263         css-mode.el: Support multi-line comment filling
8264         (Bug#20256)
8265         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
8266         comment filling.
8267         (css-adaptive-fill): New function.
8268         (css-mode): Set `adaptive-fill-function'.
8269         (scss-mode): Set `comment-continue'.
8271 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
8273         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
8275 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
8277         Minor improvements in Bulgarian input methods
8278         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
8279         Replace U+042C with U+045D, as the former character is not used in
8280         the modern Bulgarian language.
8281         (Bug#20350)
8283 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8285         Improve EUDC manual
8286         * eudc.texi (LDAP Configuration): Mention simple and SASL
8287         authentication schemes.  Add index items.  Shorten example server
8288         name.
8290 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
8292         Don't show both feature and function with the same name
8293         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8294         Don't show both feature and function with the same name.
8296         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
8297         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8298         Avoid returning both the variable and the function for the same
8299         minor mode.
8301 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
8303         Fix fontification of keywords clobbered by the prompt.
8304         * lisp/comint.el (comint-output-filter): Remove the uses of
8305         with-silent-modifications I introduced as part of the last change.
8306         This fixes, e.g., erratically missing highlighting when running
8307         ./configure --help; ./configure in a shell-mode buffer with
8308         compilation-shell-minor-mode turned on.
8310 2015-04-17  Glenn Morris  <rgm@gnu.org>
8312         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
8314 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
8316         * lisp/indent.el (indent-region): Don't deactivate the mark
8317         (Bug#20357)
8319 2015-04-17  Sam Steingold  <sds@gnu.org>
8321         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
8323 2015-04-16  Leo Liu  <sdl.web@gmail.com>
8325         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
8327 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
8329         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
8331 2015-04-16  Glenn Morris  <rgm@gnu.org>
8333         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
8335 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
8337         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
8338         * configure.ac (LIBJPEG): Leave it empty for MinGW.
8340 2015-04-16  Glenn Morris  <rgm@gnu.org>
8342         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
8343         to avoid rogue setting after startup.
8345 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
8347         Pre-4.6 GCC succeeds with unknown option
8348         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
8349         (Bug#20338)
8351 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8353         '[:graph:]' now excludes whitespace, not just ' '
8354         * doc/lispref/searching.texi (Char Classes):
8355         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
8356         sans whitespace (not sans space).
8357         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
8358         not just space.
8359         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
8361 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8363         (looking-back): Make the second arg non-optional.
8364         * lisp/subr.el (substitute-key-definition-key, special-form-p)
8365         (macrop): Drop deprecated second arg to indirect-function.
8366         (looking-back): Make the second arg non-optional.
8368         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
8369         command is actually sent to the shell.
8371 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8373         Port jpeg configuration to Solaris 10 with Sun C
8374         * configure.ac: Check for jpeglib 6b by trying to link it, instead
8375         of relying on cpp magic that has problems in practice.  Check for
8376         both jpeglib.h and jerror.h features.  Remove special case for
8377         mingw32, which should no longer be needed (and if it were needed,
8378         should now be addressable by hotwiring emacs_cv_jpeglib).
8379         (Bug#20332)
8381 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8383         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
8384         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
8385         Move to elisp-mode.el.
8386         (lisp-mode-variables): (Re)move elisp-specific settings.
8387         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
8388         from lisp-mode-variables.
8389         (elisp--font-lock-flush-elisp-buffers): New function, moved from
8390         lisp-mode.el.
8392         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
8393         Avoid pathological slowdown at top-level in large file.
8395 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8397         Standardize names of ChangeLog history files
8398         Suggested by Glenn Morris in:
8399         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
8400         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
8401         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
8402         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
8403         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
8404         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
8405         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
8406         Remove.
8408         Split top-level entries into pre- and post-April 7
8409         This more clearly distingiushes pre-April-7 ChangeLog entries (which
8410         are for top-level files only) from post-April-7 entries (which are
8411         about files at all levels.  Problem reported by Glenn Morris in:
8412         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
8413         * ChangeLog.1: Move post-April-7 entries from here ...
8414         * ChangeLog.2: ... to this new file.
8415         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
8417 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8419         Fix recent cus-start changes that added customize-rogues
8420         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
8421         vars early.
8422         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
8424 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
8426         Define cl-concatenate as an alias to seq-concatenate
8427         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
8428           code by making cl-concatenate an alias to seq-concatenate.
8430 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8432         * src/lread.c (intern_1): Make sure we'd find the symbol we add
8433         (Bug#20334)
8434         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
8436 2015-04-15  Glenn Morris  <rgm@gnu.org>
8438         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
8440 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
8442         Clean up gnus-uu saving code slightly
8443         * gnus-uu.el (gnus-uu-save-article): Make the
8444         save-restriction/widen calls make more sense.
8446 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8448         Make [:graph:] act like [:print:] sans space
8449         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
8450         [:graph:] so that it matches everything that [:print:] does,
8451         except for space.
8452         * doc/lispref/searching.texi (Char Classes):
8453         * etc/NEWS:
8454         * lisp/emacs-lisp/rx.el (rx):
8455         Document [:graph:] to be [:print:] sans ' '.
8456         * src/character.c, src/character.h (graphicp): New function.
8457         * src/regex.c (ISGRAPH) [emacs]: Use it.
8458         (BIT_GRAPH): New macro.
8459         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
8460         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
8461         Return BIT_GRAPH for RECC_GRAPH.
8462         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
8463         and ISPRINT if BIT_PRINT.
8465 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8467         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
8468         Don't use call-next-method in a cl-defmethod.
8470         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
8471         (eieio--class-p): Remove, provided by cl-defstruct.
8473 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
8475         Add seq-intersection and seq-difference to the seq library
8476         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
8477         functions.
8478         * test/automated/seq-tests.el: Add tests for seq-intersection and
8479         seq-difference.
8480         * doc/lispref/sequences.texi: Add documentation for seq-intersection
8481         and seq-difference.
8483 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8485         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
8487 2015-04-14  Sam Steingold  <sds@gnu.org>
8489         package--ensure-init-file: widen requires save-restriction
8491 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
8493         Improve the commit-msg Git hook for unibyte environments
8494         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
8495         in unibyte environments.  (Suggested by Paul Eggert
8496         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
8497         [:print:], based on UTF-8 sequences of the unprintable characters.
8499         Describe problems with cursor caused by Windows Magnifier
8500         * etc/PROBLEMS: Describe the problem with cursor shape on
8501         MS-Windows due to Windows Magnifier.
8502         (Bug#20271)
8504         Make [:print:] support non-ASCII characters correctly
8505         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
8506         (BIT_PRINT): New bit mask.
8507         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
8508         * src/character.c (printablep): New function.
8509         * src/character.h (printablep): Add prototype.
8510         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
8511         of 'print', 'alnum', and 'alphabetic'.
8512         * doc/lispref/searching.texi (Char Classes): Document the new
8513         behavior of [:print:].
8514         * etc/NEWS: Mention the new behavior of [:print:].
8516         Assign correct general-category and names to surrogates
8517         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
8518         surrogates.  This avoids assigning them the default
8519         general-category of 'Cn', i.e. unassigned codepoints.
8520         (unidata-get-name): Give surrogates synthetic names.
8522 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
8524         Assume C89 offsetof in xterm.c, xlwmenu.c
8525         * lwlib/xlwmenu.c (offset):
8526         * src/xterm.c (cvt_string_to_pixel_args):
8527         Use offsetof, not XtOffset.
8529 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
8531         Assume C89 offsetof in widget.c
8532         * src/widget.c (XtOffset): Remove; no longer needed.
8533         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
8535         Fix think-o in previous patch
8536         * src/window.c (count_windows, get_leaf_windows):
8537         Don't optimize count_windows incorrectly.
8539 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8541         Avoid some int overflows in window.c
8542         * src/print.c (print_object):
8543         * src/window.c (sequence_number):
8544         * src/window.h (struct window.sequence_number):
8545         Don't assume window sequence number fits in int.
8546         * src/window.c (window_select_count):
8547         * src/window.h (struct window.use_time, window_select_count):
8548         Don't assume window use time fits in int.
8549         * src/window.c (Fsplit_window_internal):
8550         Don't assume user-supplied integer, or sum, fits in int.
8551         (Fset_window_configuration, count_windows, get_leaf_windows)
8552         (save_window_save, Fcurrent_window_configuration):
8553         Use ptrdiff_t for object counts.
8554         (Fset_window_configuration): Omit unused local 'n'.
8555         (count_windows): Simplify by writing in terms of get_leaf_windows.
8556         (get_leaf_windows): Don't store through FLAT if it's null.
8557         (extract_dimension): New static function.
8558         (set_window_margins, set_window_fringes, set_window_scroll_bars):
8559         Use it to avoid undefined behavior when converting user-supplied
8560         integer to 'int'.
8562 2015-04-13  Glenn Morris  <rgm@gnu.org>
8564         Minor doc copyedits
8565         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
8566         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
8568 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8570         [Gnus] Catch the invalid-operation that idna.el will issue
8571         * lisp/gnus/gnus-art.el (gnus-use-idna):
8572         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
8573         * lisp/gnus/message.el (message-use-idna):
8574         Catch the invalid-operation that idna.el will issue.
8576 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8578         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
8580 2015-04-13  Sam Steingold  <sds@gnu.org>
8582         package--ensure-init-file: widen before looking for "(package-initialize)"
8584 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
8586         Change diff-switches default to `-u'
8587         (Bug#20290)
8588         * doc/emacs/files.texi (Comparing Files): Document the new default
8589         value of `diff-switches'.
8590         * doc/emacs/trouble.texi (Sending Patches): Document the preference
8591         for unified diff format.  Escape the plus in the suggested `-F' regexp
8592         value.
8593         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
8595 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8597         (gnus-group--setup-tool-bar-update): Fix last change
8598         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
8599         cursor-sensor-functions should be a list of functions.
8601 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8603         Use gmm-called-interactively-p in Gnus
8604         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
8606 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8608         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
8609         (Bug#20321)
8610         * lisp/cus-start.el (read-buffer-function): Don't advertize
8611         iswitchb-read-buffer any more.
8612         (iswitchb): Don't tweak this obsolete group any more.
8614 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
8616         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
8618         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
8619         Adding a string after a constructor's argument list will use
8620         that string as the constructor function docstring.  If this string
8621         is absent but the struct itself was given a docstring, use that as
8622         the constructor's docstring.
8623         Fixes (bug#17284).
8625 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8627         Deprecate `intangible' and `point-entered' properties
8628         * lisp/emacs-lisp/cursor-sensor.el: New file.
8629         * lisp/simple.el (pre-redisplay-functions): New hook.
8630         (redisplay--pre-redisplay-functions): New function.
8631         (pre-redisplay-function): Use it.
8632         (minibuffer-avoid-prompt): Mark obsolete.
8633         (redisplay--update-region-highlight): Adapt it to work as a function on
8634         pre-redisplay-functions.
8635         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
8636         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
8637         than point-entered to make the prompt intangible.
8638         * lisp/forms.el: Move `provide' calls to the end.
8639         (forms-mode): Don't use `run-hooks' on a local var.
8640         (forms--make-format, forms--make-format-elt-using-text-properties):
8641         Use cursor-intangible rather than `intangible'.
8642         (forms-mode): Enable cursor-intangible-mode.
8643         * lisp/isearch.el (isearch-mode): Use defvar-local.
8644         (cursor-sensor-inhibit): Declare.
8645         (isearch-mode): Set cursor-sensor-inhibit.
8646         (isearch-done): Set it back.
8647         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
8648         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
8649         any more.
8650         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
8651         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
8652         Add Edebug spec.
8653         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
8654         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
8655         inhibit-point-motion-hooks any more.
8656         (ses--cell-at-pos, ses--curcell): New functions, extracted from
8657         ses-set-curcell.
8658         (ses-set-curcell): Use them.
8659         (ses-print-cell, ses-setup): Use cursor-intangible instead of
8660         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
8661         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
8662         Use ses--cell-at-pos.
8663         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
8664         extracted from ses-command-hook.  Make them work with multiple windows
8665         displaying the same buffer.
8666         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
8667         Enable cursor-intangible-mode.
8668         (ses-command-hook): Remove cell highlight and mode-line update code.
8669         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
8670         Update for new name of text-property holding the cell name.
8671         (ses-rename-cell): Don't mess with mode-line-process.
8672         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
8673         cursor-sensor-functions property instead of point-entered.
8674         (erc-insert-timestamp-right, erc-format-timestamp):
8675         Use cursor-intangible rather than `intangible'.
8676         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
8677         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
8678         cursor-sensor-mode if needed.
8679         (erc-echo-timestamp): Adapt to calling convention of
8680         cursor-sensor-functions.
8681         (erc-insert-timestamp-right): Remove unused vars `current-window' and
8682         `indent'.
8683         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
8684         (gnus-update-group-mark-positions): Remove unused `topic' var.
8685         (gnus-group-insert-group-line): Remove unused var `header'.
8686         (gnus-group--setup-tool-bar-update): New function.
8687         (gnus-group-insert-group-line): Use it.
8688         (gnus-group-update-eval-form): Declare local
8689         dynamically-bound variables.
8690         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
8691         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
8692         (gnus-group-prepare-topics, gnus-topic-update-topic)
8693         (gnus-topic-change-level, gnus-topic-catchup-articles)
8694         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
8695         Use inhibit-read-only.
8696         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
8697         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
8698         * lisp/textmodes/reftex-index.el (reftex-display-index):
8699         Use cursor-intangible-mode if available.
8700         (reftex-index-post-command-hook): Check cursor-intangible.
8701         * lisp/textmodes/reftex-toc.el (reftex-toc):
8702         Use cursor-intangible-mode if available.
8703         (reftex-toc-recenter, reftex-toc-post-command-hook):
8704         Check cursor-intangible.
8705         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
8706         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
8707         (sgml-tags-invisible): Use with-silent-modifications and
8708         inhibit-read-only.  Enable cursor-sensor-mode.
8709         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
8710         calling convention of cursor-sensor-functions.
8711         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
8712         (table-point-entered-cell-hook, table-point-left-cell-hook):
8713         Don't autoload.
8714         (table-cell-entered-state): Remove var.
8715         (table--put-cell-point-entered/left-property)
8716         (table--remove-cell-properties):
8717         Use cursor-sensor-functions rather than point-entered/left.
8718         (table--point-entered/left-cell-function): Merge
8719         table--point-entered-cell-function and table--point-left-cell-function
8720         and adjust to calling convention of cursor-sensor-functions.
8722         Update ldef-boots.el
8724         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
8726         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
8728         Collapse successive char deletions in the undo log
8729         * src/cmds.c (remove_excessive_undo_boundaries): New function,
8730         extracted from Fself_insert_command.
8731         (Fdelete_char, Fself_insert_command): Use it.
8732         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
8733         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
8735         xterm and OSC 52: Add NEWS entry, and tweak the code
8736         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
8737         top-level.
8738         (terminal-init-xterm-activate-set-selection): Set a terminal property.
8739         (xterm--set-selection): Use it instead of checking the value of
8740         `terminal-initted'.  Don't use string-bytes.
8742 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
8744         xterm.el: Implement OSC-52 functionality for setting the X selection
8745         * lisp/term/xterm.el (xterm-max-cut-length): New var.
8746         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
8747         (terminal-init-xterm, xterm--version-handler): Use them.
8749 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8751         Remove left over code from when we used an obsolete/loaddefs.el file
8752         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
8753         we used an obsolete/loaddefs.el file.
8755         * cedet/semantic/fw.el: Use declare.
8756         * cedet/semantic/fw.el (semantic-exit-on-input)
8757         (semanticdb-without-unloaded-file-searches): Use declare.
8758         (semantic-fw-add-edebug-spec): Remove.
8760         (completion-lisp-mode-hook): Use completion-separator-chars
8761         * lisp/completion.el (completion-lisp-mode-hook):
8762         Use completion-separator-chars rather than local key binding.
8764         * src/*.c: Set deactivate_mark buffer-locally
8765         (Bug#20260)
8766         * src/insdel.c (prepare_to_modify_buffer_1):
8767         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
8768         buffer-locally.
8770 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8772         python.el: Keep symmetry on sexp navigation with parens
8773         (Bug#19954)
8774         * lisp/progmodes/python.el
8775         (python-nav--forward-sexp): Add argument skip-parens-p.
8776         (python-nav-forward-sexp, python-nav-backward-sexp)
8777         (python-nav-forward-sexp-safe)
8778         (python-nav-backward-sexp-safe): Use it.
8779         * test/automated/python-tests.el
8780         (python-nav-forward-sexp-1): Fix test.
8782 2015-04-12  João Távora  <joaotavora@gmail.com>
8784         Don't use `setq-local' in Gnus code
8785         This might break upstream builds with older Emacsen
8786         * lisp/gnus/message.el (message-mode): Use `set' and
8787         `make-local-variable' instead of `setq-local'.
8789 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8791         Update Makefile.in's .PHONY dependencies
8792         * Makefile.in (change-history-commit, master-branch-is-current)
8793         (no-ChangeLog): Now phony.
8795         Remove configure's --with-mmdf option
8796         * configure.ac (MAIL_USE_MMDF): Remove.
8797         * etc/NEWS: Document this.
8798         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
8799         (Bug#20308)
8801         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
8802         That way, 'make install' won't think it's a man page.
8803         Reported by Ashish SHUKLA in:
8804         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
8806         Improve 'make change-history' prereq tests
8807         * Makefile.in (gen_origin): Fix to match what's in the master branch.
8808         (no-ChangeLog, master-branch-is-current): New rules.
8809         (change-history): Depend on them, to avoid similar future problems.
8810         Escape the local-variables string to pacify Emacs when editing
8811         Makefile.in.
8813 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8815         * test/automated/package-test.el (with-package-test): Kill Packages buffer
8817         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
8818         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
8819         "Upgrade" last, and use capitalized instead of all-caps.
8821         * lisp/emacs-lisp/package.el: Completely silence async operations
8822         (package--make-autoloads-and-stuff): Silence autoloads.
8823         (package--save-selected-packages): New function, silences
8824         `customize-save-variable'.
8825         (package--user-selected-p, package-install-from-buffer)
8826         (package-delete, package-install): Use it.
8827         (package-install-from-archive)
8828         (package-menu--perform-transaction): Silence.
8829         (package-menu-execute): Feedback when operation starts.
8831         Use delay-mode-hooks when visiting the init-file
8832         * lisp/emacs-lisp/package.el (package--ensure-init-file):
8833         delay-mode-hooks
8834         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
8836         * lisp/files.el: Only message when saving if save-silently is nil
8837         (save-silently): New variable.
8838         (files--message): New function.
8839         (find-file-noselect, save-buffer, basic-save-buffer)
8840         (basic-save-buffer-2, save-some-buffers, not-modified)
8841         (append-to-file): Use them.
8843 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
8845         Support debug declarations in pcase macros
8846         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
8847         (pcase-UPAT): Use it.  Remove "`".
8848         (pcase--edebug-match-macro): New function.
8849         (pcase-defmacro): Support debug declarations.
8850         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
8851         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
8852         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
8854         pcase.el: Edebug support for `app' and vector patterns
8855         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
8856         (pcase-UPAT): Use it. Support `app' patterns.
8857         (pcase-QPAT): Support vector patterns.
8859         edebug.el: Disambiguate vector specifications
8860         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
8861         `(vector ...)' as a vector specification, not as a sublist.
8863         (gnus-summary-refer-thread): Don't clobber unread articles
8864         This fixes a bug where `A T' causes "random" articles to become marked
8865         as read.
8866         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
8867         gnus-newsgroup-unreads remains sorted.
8869         mouse-sel.el: Fix mouse-sel-get-selection-function
8870         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
8871         Use gui--last-selected-text-primary instead of no longer existing
8872         gui-last-selected-text.
8874         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
8876         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
8878 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8880         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
8882         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
8884         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
8885         (byte-compile--interactive): New var.
8886         (byte-compile--message): New function.
8887         (byte-compile-log-1, byte-force-recompile)
8888         (byte-recompile-directory, byte-recompile-file)
8889         (byte-compile-file, compile-defun)
8890         (byte-compile-file-form-defmumble, byte-compile)
8891         (byte-compile-file-form-defalias, display-call-tree): Use it.
8893         * lisp/files.el: Don't message when nothing happened
8894         (save-some-buffers, basic-save-buffer): Before messaging to say
8895         "nothing was saved" check if (called-interactively-p 'any).
8897 2015-04-12  João Távora  <joaotavora@gmail.com>
8899         Summary: Improve sexp-based movement in message-mode
8900         Works by giving citations and smileys a different syntax.  This helps
8901         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
8902         sexp-based movement.
8903         * lisp/gnus/message.el (message--syntax-propertize): New function.
8904         (message-mode): Set syntax-related vars.
8905         (message-smileys): New variable.
8906         * test/automated/message-mode-tests.el: New file
8908 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8910         Use bool for boolean in window.c
8911         * src/window.c: Omit unnecessary static function decls.
8912         (adjust_window_count, select_window, Fselect_window)
8913         (window_body_width, Fwindow_body_height, Fwindow_body_width)
8914         (set_window_hscroll, check_window_containing, Fwindow_at)
8915         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
8916         (unshow_buffer, replace_window, recombine_windows)
8917         (add_window_to_list, candidate_window_p, next_window)
8918         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
8919         (Fget_buffer_window, Fdelete_other_windows_internal)
8920         (replace_buffer_in_windows_safely, set_window_buffer)
8921         (Fset_window_buffer, Fforce_window_update)
8922         (temp_output_buffer_show, make_parent_window)
8923         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
8924         (resize_frame_windows, Fsplit_window_internal)
8925         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
8926         (Fresize_mini_window_internal, mark_window_cursors_off)
8927         (window_scroll, window_scroll_pixel_based)
8928         (window_scroll_line_based, scroll_command, Fscroll_other_window)
8929         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
8930         (Fmove_to_window_line, Fset_window_configuration)
8931         (delete_all_child_windows, apply_window_adjustment)
8932         (set_window_fringes, set_window_scroll_bars)
8933         (Fset_window_vscroll, foreach_window, foreach_window_1)
8934         (compare_window_configurations, Fcompare_window_configurations):
8935         Prefer 'bool', 'true', and 'false' for booleans.
8936         * src/window.h (WINDOW_MODE_LINE_LINES)
8937         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
8939 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8941         Speed up byte-compilation and autoload generation by avoiding mode-hooks
8942         This prevents emacs-lisp-mode-hook from being run everytime an
8943         autoload file is generated, which can account for a fraction of
8944         package installation time depending on the hooks the user has
8945         configured.
8946         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
8947         * lisp/emacs-lisp/autoload.el (autoload-find-file)
8948         (autoload-find-generated-file): Use delay-mode-hooks.
8950         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
8951         (package-menu-refresh): Respect async and do new package checking.
8952         (list-packages): Use `package-menu-refresh' instead of repeating code.
8954         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
8955         (package--quick-help-keys): New variable.
8956         (package--prettify-quick-help-key): New function.
8957         (package-menu-quick-help): Use it.
8959         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
8960         (package--build-compatibility-table): require finder
8962         * test/automated/package-test.el: Fix new test
8964         * lisp/emacs-lisp/package.el: Silence async operations
8965         (package--silence): New variable.
8966         (package--message): New function.
8967         (package-import-keyring, package-refresh-contents)
8968         (package-compute-transaction, package-install, package-delete)
8969         (package-menu--perform-transaction, package-menu-execute): Use it.
8971         * test/automated/package-test.el: Test async functionality
8972         (package-test-update-archives-async): New test
8974 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8976         Utilize `make-process' in epg.el
8977         * lisp/epg.el (epg-error-output): Abolish.
8978         (epg-context): New slot `error-buffer'.
8979         (epg--start): Use `make-process' and `make-pipe-process'.
8980         (epg--process-filter): Remove code separating stderr from stdout.
8981         (epg-wait-for-completion): Simplify `error-output' handling.
8982         (epg-reset): Dispose error buffer.
8984 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8986         * .gitignore: Ignore doc temps and outputs.
8988         Port commit-msg to MSYS Bash+Gawk
8989         See Eli Zaretskii in:
8990         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
8991         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
8992         (cent_sign, print_at_sign, at_sign): Revert previous change.
8993         (print_at_sign): Prepend "BEGIN".
8994         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
8996         Port commit-msg to broken MS-Windows shell
8997         * build-aux/git-hooks/commit-msg (cent_sign):
8998         Just use UTF-8 here rather than ASCII + printf, as the latter fails
8999         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
9000         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
9002 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
9004         Support GnuTLS v3.4 and later on MS-Windows
9005         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
9006         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
9007         GnuTLS DLL to load according to value of libgnutls-version.
9008         (Bug#20294)
9010 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
9012         Minor quoting etc. fixes to misc manuals
9013         Fix some minor quoting and spacing issues.  Distinguish more
9014         clearly among grave accent and apostrophe (which are ASCII) and
9015         single quote (which is not).  Prefer the standard terms
9016         "apostrophe" and "grave accent" to alternative names that can be
9017         confusing.  Use apostrophes to single-quote ASCII text.
9018         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
9019         rather than approximating it in ASCII with grave accent.
9021 2015-04-11  Daiki Ueno  <ueno@gnu.org>
9023         Respect more keyword args in `make-process'
9024         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
9025         keywords as documented.
9027 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
9029         Extract ChangeLog entries when committing a directory
9030         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
9031         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
9032         Add a FIXME comment.
9033         (log-edit-changelog-entries): Extract from
9034         `log-edit-changelog-entries', handle FILE being a directory
9035         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
9037 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
9039         Fix problems found by --enable-gcc-warnings
9040         * src/process.c (create_process, Fmake_pipe_process)
9041         (Fmake_network_process): Omit unused locals.
9043         Fix commit-msg to handle scissors lines
9044         * build-aux/git-hooks/commit-msg:
9045         Ignore every line after a scissors line, such as a line generated
9046         by 'git commit -v'.  Problem reported by Johan Bockgård in:
9047         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
9049         port commit-msg to Gawk 3.0.4 (1999)
9050         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
9051         (print_at_sign, at_sign): New vars.  Use them to avoid problems
9052         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
9053         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
9055         Have commit-msg report commit failure
9056         * build-aux/git-hooks/commit-msg: If the commit is aborted,
9057         say so.  Simplify by doing this at the end.  Problem reported
9058         by Eli Zaretskii in:
9059         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
9061 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9063         Clean up LDAP Configuration section of EUDC manual
9064         * doc/misc/eudc.texi: Combine indices.
9065         (LDAP Configuration): Use command markup.  Add index entries.
9066         Change formatting.  Wrap long lines.  Add noindent markup.
9068 2015-04-10  Daiki Ueno  <ueno@gnu.org>
9070         Add facility to collect stderr of async subprocess
9071         * src/w32.h (register_aux_fd): New function declaration.
9072         * src/w32.c (register_aux_fd): New function.
9073         * src/process.h (struct Lisp_Process): New member stderrproc.
9074         * src/process.c (PIPECONN_P): New macro.
9075         (PIPECONN1_P): New macro.
9076         (Fdelete_process, Fprocess_status, Fset_process_buffer)
9077         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
9078         (Fcontinue_process): Handle pipe process specially.
9079         (create_process): Respect p->stderrproc.
9080         (Fmake_pipe_process): New function.
9081         (Fmake_process): Add new keyword argument :stderr.
9082         (wait_reading_process_output): Specially handle a pipe process when
9083         it gets an EOF.
9084         (syms_of_process): Register Qpipe and Smake_pipe_process.
9085         * doc/lispref/processes.texi (Asynchronous Processes): Document
9086         `make-pipe-process' and `:stderr' keyword of `make-process'.
9087         * lisp/subr.el (start-process): Suggest to use `make-process' handle
9088         standard error separately.
9089         * test/automated/process-tests.el (process-test-stderr-buffer)
9090         (process-test-stderr-filter): New tests.
9091         * etc/NEWS: Mention new process type `pipe' and its usage with the
9092         `:stderr' keyword of `make-process'.
9094 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
9096         Minor quoting etc. fixes to lispref manual
9097         * doc/lispref/tips.texi (Documentation Tips):
9098         Distinguish more clearly among grave accent, apostrophe,
9099         and single quote.
9100         * doc/lispref/README, doc/lispref/buffers.texi:
9101         * doc/lispref/commands.texi, doc/lispref/control.texi:
9102         * doc/lispref/customize.texi, doc/lispref/display.texi:
9103         * doc/lispref/elisp.texi, doc/lispref/files.texi:
9104         * doc/lispref/frames.texi, doc/lispref/hash.texi:
9105         * doc/lispref/help.texi, doc/lispref/internals.texi:
9106         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
9107         * doc/lispref/markers.texi, doc/lispref/modes.texi:
9108         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
9109         * doc/lispref/os.texi, doc/lispref/positions.texi:
9110         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
9111         * doc/lispref/text.texi, doc/lispref/tips.texi:
9112         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
9113         Use American-style double quoting in ordinary text,
9114         and quote 'like this' when single-quoting in ASCII text.
9115         Also, fix some minor spacing issues.
9117 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
9119         Handle symlinked test directory in tramp-tests.el
9120         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
9121         (tramp--test-check-files): Use `file-truename' for directories.
9123 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
9125         Fix 'recenter' when visual-line-mode is turned on
9126         * src/window.c (Frecenter): Use the same code for GUI and TTY
9127         frames alike; use vmotion only for "initial" frames.  This is
9128         because vmotion doesn't support visual-line-mode.  Rewrite the
9129         'iarg >= 0' case to use move_it_* functions instead of using
9130         vmotion, for the same reason.  Fix the clipping of the argument
9131         value to support scroll-margin in all cases and avoid unwarranted
9132         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
9133         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
9134         which see.
9136 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9138         * abbrev.el (define-abbrev-table): Refine last change.
9140         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
9141         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
9142         use of c[ad]+r", so as to keep the "cl-" prefix on all
9143         cl-lib definitions.
9145         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
9147         * lisp/cedet/semantic: Remove some dead code
9148         * lisp/cedet/semantic/util-modes.el
9149         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
9150         any more.
9151         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
9152         not supported any more.
9153         (semantic-safe): Use `declare'.
9154         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
9155         (semantic-tag-intangible-p): Remove unused functions.
9156         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
9157         Remove unused function.
9159         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
9160         (gnus-article-hide-text, gnus-article-unhide-text)
9161         (gnus-article-unhide-text-type): Remove special handling of
9162         `intangible' since that property is not used any more.
9163         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
9165 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
9167         Use the VC root in `log-edit-listfun'
9168         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
9169         `log-edit-listfun'.
9171 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
9173         Fix description of Unix time, mention new function.
9174         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
9175         Unix time.
9176         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
9177         (Basic Operations on Units): Mention `calc-convert-exact-units'.
9179 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
9181         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
9183 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
9185         (log-edit-insert-changelog-entries): Don't add newline after the last entry
9186         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
9187         Don't add newline after the last entry.
9189 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
9191         css-mode.el: Add "not" pseudo-class
9192         (Bug#20267)
9193         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
9194         list of CSS pseudo-classes.
9196 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9198         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
9200 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
9202         Stop messing with the EMACS env var
9203         * misc.texi (Interactive Shell): Remove description of EMACS env var.
9205 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9207         Adapt 'make change-history' to coding cookie
9208         * Makefile.in (change-history): Adjust to change of format of
9209         ChangeLog file, which now has a coding cookie before an indented
9210         copyright notice.
9212 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9214         Adapt 'make change-history' to coding cookie
9215         * Makefile.in (change-history): Adjust to change of format of
9216         ChangeLog file, which now has a coding cookie before an indented
9217         copyright notice.
9219         gitlog-to-changelog coding cookie and mv -i
9220         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
9221         for copyright notice prototype, so that we get a proper "coding:"
9222         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
9223         existing ChangeLog.  Problems reported by Eli Zaretskii in:
9224         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
9226         Merge from gnulib
9227         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
9228         2015-04-09 gitlog-to-changelog: port to MS-Windows
9230 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
9232         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
9233         (Bug#20212)
9235 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9237         Stop messing with the EMACS env var
9238         (Bug#20202)
9239         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
9240         * lisp/comint.el (comint-exec-1):
9241         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
9242         * lisp/progmodes/compile.el (compilation-start): Same and bring
9243         INSIDE_EMACS's format in line with other users.
9245         css-mode.el (css-smie-rules): Fix indentation after complex selectors
9246         (Bug#20282)
9247         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
9248         inner structure of selectors.
9250 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
9252         python.el: Indent docstring lines to base-indent
9253         (Bug#19595)
9254         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
9255         an initial patch.
9256         * lisp/progmodes/python.el
9257         (python-indent-context): Add :inside-docstring context.
9258         (python-indent--calculate-indentation): Handle :inside-docstring.
9259         (python-indent-region): Re-indent docstrings.
9260         * test/automated/python-tests.el (python-indent-region-5)
9261         (python-indent-inside-string-2): Fix tests.
9263         python.el: Increase native completion robustness
9264         (Bug#19755)
9265         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
9266         this and providing useful ideas.
9267         * lisp/progmodes/python.el
9268         (python-shell-completion-native-output-timeout): Increase value.
9269         (python-shell-completion-native-try-output-timeout): New var.
9270         (python-shell-completion-native-try): Use it.
9271         (python-shell-completion-native-setup): New readline setup avoids
9272         polluting current context, ensures output when no-completions are
9273         available and includes output end marker.
9274         (python-shell-completion-native-get-completions): Trigger with one
9275         tab only.  Call accept-process-output until output end is found or
9276         python-shell-completion-native-output-timeout is exceeded.
9278 2015-04-08  Samer Masterson  <samer@samertm.com>
9280         * lisp/eshell: Make backslash a no-op in front of normal chars
9281         (Bug#8531)
9282         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
9283         (eshell-parse-backslash): Return escaped character after backslash
9284         if it is special.  Otherwise, if the backslash is not in a quoted
9285         string, ignore the backslash and return the character after; if
9286         the backslash is in a quoted string, return the backslash and the
9287         character after.
9288         * test/automated/eshell.el (eshell-test/escape-nonspecial)
9289         (eshell-test/escape-nonspecial-unicode)
9290         (eshell-test/escape-nonspecial-quoted)
9291         (eshell-test/escape-special-quoted): Add tests for new
9292         `eshell-parse-backslash' behavior.
9294 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
9296         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
9297         after the file name.
9298         (Bug#20276)
9300 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
9302         Minor quoting etc. fixes to Emacs manual
9303         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
9304         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
9305         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
9306         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
9307         * doc/emacs/indent.texi, doc/emacs/macos.texi:
9308         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
9309         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
9310         * doc/emacs/search.texi, doc/emacs/trouble.texi:
9311         * doc/emacs/vc1-xtra.texi:
9312         Use American-style double quoting in ordinary text,
9313         and quote 'like this' when single-quoting in ASCII text.
9314         Also, fix some minor spacing issues.
9316         Minor quoting etc. fixes to elisp intro
9317         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
9318         American-style double quoting in ordinary text.  In ASCII text,
9319         consistently quote 'like this' instead of `like this', unless
9320         Emacs requires the latter.
9322 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
9324         * CONTRIBUTE: Mention log-edit-insert-changelog.
9326         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
9328 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
9330         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
9332 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
9334         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
9335         (Bug#20270)
9336         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
9337         Fix inheritance of initargs.
9339 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
9341         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
9342         while dowloading information.
9344         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
9345         (package--ensure-init-file): Check file contents before visiting.
9346         (package-initialize): Call it.
9347         (package-install-from-buffer, package-install): Don't call it.
9349 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
9351         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
9352         (Bug#17517)
9354 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
9356         Fix nasty scoping bug in tramp-cache.el
9357         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
9359 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
9361         Add notice to visual commands section
9362         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
9363         such as git call less with its -F option which omits pagination if
9364         the contents is less than one page long.  This interferes with
9365         eshell's visual (sub-)commands.
9367 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
9369         ffap: Support environment variable expansion in file names
9370         (Bug#19839)
9371         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
9372         environment variable expansion in file names.
9374 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9376         Prefer double-quote to accent-grave in man pages
9378 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
9380         (Bug#20257)
9381         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
9383 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
9385         Update etc/PROBLEMS.
9386         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
9387         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
9388         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
9389         respectively); other minor updates and tweaks.  (Bug#20011)
9391 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9393         Add doc strings for some Isearch state vars
9394         * lisp/misearch.el (multi-isearch-buffer-list)
9395         (multi-isearch-file-list): Add doc strings.
9396         (Bug#20232)
9398 2015-04-07  Alan Mackenzie  <acm@muc.de>
9400         Always mark "<" and ">" in #include directives with text properties.
9401         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
9402         matcher" with an invocation of c-make-font-lock-search-function to allow
9403         fontification when there's no trailing space on an "#include <..>" line.
9405 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9407         Generate a ChangeLog file from commit logs
9408         * .gitignore: Add 'ChangeLog'.
9409         * build-aux/gitlog-to-changelog: New file, from Gnulib.
9410         * build-aux/gitlog-to-emacslog: New file.
9411         * CONTRIBUTE: Document the revised workflow.
9412         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
9413         instead of just special cases.
9414         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
9415         (ChangeLog, unchanged-history-files, change-history)
9416         (change-history-commit): New rules.
9417         * admin/admin.el (make-manuals-dist--1):
9418         Don't worry about doc/ChangeLog.
9419         * admin/authors.el: Add a FIXME.
9420         * admin/make-tarball.txt:
9421         * lisp/calendar/icalendar.el:
9422         * lisp/gnus/deuglify.el:
9423         * lisp/obsolete/gulp.el:
9424         * lwlib/README:
9425         Adjust to renamed ChangeLog history files.
9426         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
9427         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
9428         Remove obsolete discussion of merging ChangeLog files.
9429         New section "Maintaining ChangeLog history".
9430         * build-aux/git-hooks/pre-commit:
9431         Reject attempts to commit files named 'ChangeLog'.
9432         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
9433         * make-dist: Make and distribute top-level ChangeLog if there's a
9434         .git directory.  Distribute the new ChangeLog history files
9435         instead of scattered ChangeLog files.  Distribute the new files
9436         gitlog-to-changelog and gitlog-to-emacslog.
9437         (Bug#19113)
9439         Rename ChangeLogs for gitlog-to-changelog
9440         This patch was implemented via the following shell commands:
9441         find * -name ChangeLog |
9442         sed 's,.*,git mv & &.1,
9443         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
9444         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
9445         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
9446         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
9447         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
9448         sh
9449         git commit -am"[this commit message]"
9451 This file records repository revisions from
9452 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
9453 commit f7ee23e587b01f179284b5554c67d579a2def676 (inclusive).
9454 See ChangeLog.1 for earlier changes.
9456 ;; Local Variables:
9457 ;; coding: utf-8
9458 ;; End:
9460   Copyright (C) 2015 Free Software Foundation, Inc.
9462   This file is part of GNU Emacs.
9464   GNU Emacs is free software: you can redistribute it and/or modify
9465   it under the terms of the GNU General Public License as published by
9466   the Free Software Foundation, either version 3 of the License, or
9467   (at your option) any later version.
9469   GNU Emacs is distributed in the hope that it will be useful,
9470   but WITHOUT ANY WARRANTY; without even the implied warranty of
9471   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9472   GNU General Public License for more details.
9474   You should have received a copy of the GNU General Public License
9475   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.