python.el: Increase native completion robustness.
[emacs.git] / ChangeLog.2
blob242cf6b59a0c2b5ed649e8a40d9d3eeb484312ba
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  Eli Zaretskii  <eliz@gnu.org>
437         Fix recording of events pushed onto unread-command-events
438         * src/keyboard.c (read_char): Make sure events read from
439         unread-command-events and unread-post-input-method-events are
440         always recorded by record_char.  Reported by David Kastrup
441         <dak@gnu.org>, see
442         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
444 2015-08-10  Samer Masterson  <samer@samertm.com>
446         Set file buffer as current for "--file"
447         * lisp/startup.el (command-line-1): Set file buffer as current before
448         it is displayed so it can be used with options like
449         "--eval".  (Bug#21095)
451 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
453         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
454         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
455         after setting LC_ALL to the desired locale, to avoid affecting how
456         numbers are read and printed.  (Bug#21223)
458 2015-08-10  Alan Mackenzie  <acm@muc.de>
460         Fix "Invalid search bound (wrong side of point)" in fontification.
461         progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an
462         initialization expression, check point is not beyond the fontification
463         limit.
465 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
467         Fix DPI calculation when Xft/DPI is default
468         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
469         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
470         Remove unnecessary cast while we're in the neighborhood.
472 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
474         Add project-vc-search-path and project-vc-ignores
475         * lisp/progmodes/project.el (project-vc): New group.
476         (project-vc-search-path, project-vc-ignores): New variables.
477         (project--value-in-dir): Utility function.
478         (project-search-path, project-ignores): Use them.
479         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
480         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
482 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
484         Fix some minor quoting issues with grave accent
485         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
486         Remove redundant quotes.
487         * src/doc.c (uLSQM, uRSQM): New macros.
488         * src/doc.c (Fsubstitute_command_keys):
489         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
490         preference for quotes rather than hardcoding the ‘grave’ style.
491         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
492         (re_match_2_internal) [DEBUG]: In debugging output, quote C
493         strings with "...", not `...'.
495         ChangeLog.2 ignores remote-tracking merges
496         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
497         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
498         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
500 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
502         Use kpsewhich in ffap-latex-mode, if available
503         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
504         (ffap-latex-mode): Use kpsewhich if available.
506         ffap: disallow braces in filenames for tex modes
507         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
508         braces in tex-related modes.
510         Remove useless backslashes from ffap-string-at-point-mode-alist
511         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
512         misleading backslashes from default value.
514         Augment docstring of ffap-string-at-point-mode-alist
515         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
516         and END are handled.
518 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
520         Remove no-op calls to substitute-command-keys
521         * lisp/org/org-src.el (org-edit-src-code)
522         (org-edit-fixed-width-region):
523         * lisp/simple.el (completion-setup-function):
524         Remove calls to substitute-command-keys that always just return
525         their argument.
527 2015-08-09  Daiki Ueno  <ueno@gnu.org>
529         Utilize `quit-window' in epa.el
530         * epa.el (epa-exit-buffer-function): Set to `quit-window'.
531         (Bug#21210)
533 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
535         fix link to source code in help window
536         * lisp/help-fns.el (find-lisp-object-file-name): remove code that
537         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
538         'No longer include timestamp in header of .elc files'. Add code
539         that will return .el source file in load-path.
541 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
543         * isearch.el (isearch-search-fun-default): (Bug#21164)
544         Respect `isearch-lax-whitespace' when searching through
545         `isearch-word'.
547 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
549         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
551         * org.el: Fix up some lexical scoping warnings, and use dolist
552         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
553         (org-set-regexps-and-options, org-assign-fast-keys)
554         (org-contextualize-keys, org-contextualize-validate-key)
555         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
556         (org-find-olp, org-find-exact-heading-in-directory)
557         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
558         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
559         (org-replace-escapes): Use dolist.
560         (org-mode): Optimize away XEmacs-only code.
561         (org-refile-get-targets): Remove unused var `f'.
562         (org-fast-todo-selection): Remove unused var `e'.
563         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
564         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
565         (org-format-latex): Use dolist.  Remove unused var `e'.
566         (org-toggle-heading): Access vars lexically rather than dynamically.
567         (org-backward-sentence, org-forward-sentence, org-meta-return)
568         (org-kill-line): Mark arg as unused.
569         (org-submit-bug-report): Silence compiler warning.
570         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
571         (org-get-cursor-date): Remove unused var `tm'.
572         (org-comment-or-uncomment-region): Use standard name `_'.
573         (reftex-docstruct-symbol, reftex-cite-format): Declare to
574         silence byte-compiler.
575         (org-reftex-citation): Add `org--' prefix to dynamically scoped
576         `rds' var.
578 2015-08-08  Nicolas Petton  <nicolas@petton.fr>
580         Merge remote-tracking branch 'origin/fix/subsequence-error-with-negative-sequences'
582 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
584         Electric quote if coding is undecided or no conv
585         * lisp/electric.el (electric--insertable-p): Also say that a
586         string is insertable if the buffer file coding system is undecided
587         or uses no conversion, as curved quotes will work in either case.
589         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
591 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
593         Fix overlay string display regressions introduced in Emacs 24.5
594         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
595         buffer position, if we move the iterator to a new position as
596         result of jumping over text covered by a "replacing" display
597         property.
598         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
600         Support recovery from C stack overflow on MS-Windows
601         * src/w32fns.c (w32_reset_stack_overflow_guard)
602         (stack_overflow_handler): New functions for handling C stack
603         overflow exceptions.
604         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
605         specially, and zero out except_addr if we do.
606         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
607         mode.
608         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
609         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
610         the MinGW build, but the code guarded by that is for Posix hosts.
611         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
612         w32_reset_stack_overflow_guard.
613         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
614         (sigsetjmp): New macro.
615         (w32_reset_stack_overflow_guard): Declare the prototype.
616         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
618 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
620         Improve error signalling for seq-subseq.
622         * lisp/seq.el (seq-subseq): The existing behaviour is to error
623         when indexes are too large, but to silently ignore numbers which
624         are too negative for lists.  String and vector handling errors in
625         both cases. This has been regularlised. Error signalling behaviour
626         has been explicitly added to the docstring.
628         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
629         therefore also impacted by this change. The docstring has been
630         updated to reflect this.
632         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
633         added for these exceptional cases, as well as one non exceptional
634         base case.
636 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
638         Improve error checking in tramp-adb.el
639         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
640         Improve error checking.  "ls -l" on Android in Enforcing mode can
641         print "lstat './FILENAME failed: Permission denied".
643 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
645         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
646         non-struct vectors.
648 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
650         lisp/window.el: fix typo, more `display-buffer-use-some-frame'
651         * lisp/window.el: fix typo that broke build
652         (display-buffer--action-function-custom-type): add
653         `display-buffer-use-some-frame'
654         (display-buffer): add `display-buffer-use-some-frame' to doc string
656         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
657         * lisp/window.el (display-buffer-use-some-frame): Add support for
658         'inhibit-same-window in alist.
659         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
660         'inhibit-same-window in alist.
662 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
664         Avoid infinite loop in display of invisible text in strings
665         * src/xdisp.c (handle_invisible_prop): If the next change of
666         invisibility spec does not mean the beginning of a visible text,
667         update the string position from which to start the search for the
668         next invisibility change.  This avoids an infinite loop when we
669         have more than one invisibility spec that are made inactive by
670         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
671         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
672         for the situation that caused bug #21200.
674 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
676         * lisp/emacs-lisp/package.el: Simplify describe-package-1
677         (package-help-section-name-face): New face.
678         (package--print-help-section): New function.
679         (describe-package-1): Refactor section printing.
680         (package-make-button): Use face instead of font-lock-face, which
681         doesn't work on buttons.
683         * lisp/emacs-lisp/package.el: Define custom faces
684         (package-name-face, package-description-face)
685         (package-status-built-in-face, package-status-external-face)
686         (package-status-available-face, package-status-new-face)
687         (package-status-held-face, package-status-disabled-face)
688         (package-status-installed-face, package-status-dependency-face)
689         (package-status-unsigned-face, package-status-incompat-face)
690         (package-status-avail-obso-face): New faces.
691         (package-menu--print-info-simple): Use them.
693 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
695         Fix some confusion with ‘format’
696         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
697         (allout-graphics-modification-handler):
698         Protect arbitrary string in a format context with "%s" format.
699         * lisp/avoid.el:
700         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
701         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
702         * lisp/erc/erc-button.el (erc-button-beats-to-time):
703         * lisp/gnus/message.el (message-send-form-letter):
704         * lisp/org/ob-core.el (org-babel-check-evaluate)
705         (org-babel-confirm-evaluate):
706         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
707         * lisp/org/ox-latex.el (org-latex-compile):
708         * lisp/org/ox-man.el (org-man-compile):
709         * lisp/org/ox-odt.el (org-odt-template):
710         * lisp/org/ox-texinfo.el (org-texinfo-compile):
711         * lisp/progmodes/prolog.el (prolog-help-info)
712         (prolog-view-predspec):
713         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
714         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
715         * lisp/textmodes/rst.el (rst-replace-lines):
716         Change (message (format ...)) to (message ...), and likewise
717         for ‘error’.  This lessens the probability of confusion when the
718         output of ‘format’ contains ‘%’.
720 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
722         * lisp/replace.el (replace-character-fold): Default to nil
724         * lisp/character-fold.el: Fix lax whitespace
725         (character-fold-table): Don't make space match other whitespace chars.
726         (character-fold-to-regexp): Simplify lax behaviour.
728 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
730         Preserve window point in xref-find-definitions-other-window
731         Fix the problem reported by Ingo Logmar in
732         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
733         * lisp/progmodes/xref.el (xref--goto-char): Extract from
734         xref--goto-location.
735         (xref--pop-to-location): Use it. Replace xref--goto-location with
736         a direct xref-location-marker call.
737         (xref--show-location): Likewise.
738         (xref--display-position): Use xref--goto-char.
740         * lisp/progmodes/project.el: Add a paragraph to the front matter.
742 2015-08-04  David Kastrup  <dak@gnu.org>
744         Do not overwrite preexisting contents of unread-command-events
745         * lisp/vc/emerge.el (emerge-show-file-name):
746         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
747         (vhdl-comment-insert, vhdl-hooked-abbrev):
748         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
749         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
750         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
751         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
752         * lisp/obsolete/vip.el (vip-escape-to-emacs)
753         (vip-prefix-arg-value, vip-prefix-arg-com):
754         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
755         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
756         (quail-tibkey-update-translation):
757         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
758         * lisp/leim/quail/lao.el (quail-lao-update-translation):
759         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
760         (quail-japanese-self-insert-and-switch-to-alpha):
761         * lisp/leim/quail/hangul.el (hangul2-input-method)
762         (hangul3-input-method, hangul390-input-method):
763         * lisp/language/hanja-util.el (hangul-to-hanja-char):
764         * lisp/international/robin.el (robin-input-method):
765         * lisp/international/quail.el (quail-start-translation)
766         (quail-start-conversion):
767         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
768         (gnus-article-describe-key-briefly):
769         * lisp/eshell/em-hist.el (eshell-list-history):
770         * lisp/term.el (term-dynamic-list-input-ring)
771         (term-dynamic-list-completions):
772         * lisp/subr.el (momentary-string-display):
773         * lisp/simple.el (read-quoted-char):
774         * lisp/pcomplete.el (pcomplete-show-completions):
775         * lisp/kmacro.el (kmacro-repeat-on-last-key):
776         * lisp/info.el (Info-summary):
777         * lisp/ehelp.el (electric-help-command-loop):
778         * lisp/ebuff-menu.el (electric-buffer-list)
779         (Electric-buffer-menu-exit):
780         * lisp/double.el (double-translate-key):
781         * lisp/comint.el (comint-dynamic-list-input-ring)
782         (comint-dynamic-list-completions): Do not overwrite preexisting
783         contents of `unread-command-events' when putting new events into
784         it.
786 2015-08-04  Daniel Colascione  <dancol@dancol.org>
788         Improve ansi-color filtering of unrecognized escape sequences
789         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
790         escape sequences.
791         (ansi-color-filter-apply): Filter out unrecognized escape sequences
792         (ansi-color-apply): Filter out unrecognized escape sequences
794 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
796         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
797         definitions to `easy-menu-define', improve a couple to account for
798         async, and add a couple of new commands.
800 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
802         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
804 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
806         Add new 'calendar-weekend-days' option
807         Make the days receiving the 'calendar-weekend-header' face freely
808         customizable, as they differ by region/culture.
809         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
810         new variable.
811         * lisp/calendar/calendar.el (calendar-generate-month): New variable
812         calendar-weekend-days to customize day header fontification.
814 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
816         Redo text-quoting-style variable
817         Rename help-quote-translation to text-quoting-style,
818         and use symbols rather than characters as values.
819         This follows suggestions along these lines by Alan Mackenzie in:
820         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
821         and by Drew Adams in:
822         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
823         * doc/lispref/help.texi (Keys in Documentation)
824         * etc/NEWS:
825         * lisp/cus-start.el (standard):
826         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
827         Document and/or implement the new behavior instead of the old.
828         (syms_of_doc): New symbols 'grave' and 'straight'.
830 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
832         nnimap.el: Use IMAP MOVE extension if available
833         * lisp/gnus/nnimap.el (nnimap-request-move-article)
834         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
835         Use MOVE extension if available.
837         nnimap.el: Explicitly ask for server capabilities
838         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
839         capabilities will be returned in the login-result.
841 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
843         Treat help strings like other doc strings
844         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
845         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
846         substitute-command-keys.
847         * src/keyboard.c (show_help_echo, parse_menu_item): Call
848         substitute-command-keys on the help string before displaying it.
850         Also mention "curly quotes"
851         See Drew Adams's email in:
852         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
853         * doc/lispref/help.texi (Keys in Documentation):
854         Add index entry "curly quotes".
855         * etc/NEWS: Use the phrase "curly quotes" too.
857         ede-proj-target-makefile docstring tweaks
858         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
859         Consistently use "all:" to describe the all: target,
860         replacing three different and confusingly-quoted usages.
862 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
864         Whitespace fixes
866 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
868         Don't abort emacsclientw when -a was specified
869         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
870         out if we are in emacsclientw and -a was specified.
872 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
874         Fix handling of 1st keystroke on MS-Windows
875         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
876         This is needed to correctly handle the session's first keystroke,
877         if it has any modifiers.  (Bug#19994)
879 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
881         Substitute some customization etc. doc strings
882         These changes apply substitute-command-keys to some
883         doc strings that were going through untranslated
884         when creating customization or other widgets.
885         * lisp/cus-edit.el (custom-group-value-create):
886         * lisp/wid-edit.el (widget-default-create):
887         (widget-push-button-value-create):
888         Treat the widget tag as a doc string.
889         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
890         Treat the :documentation value as a doc string.
891         * lisp/wid-edit.el (widget-choose):
892         Treat the choice names as doc strings.
893         (widget-default-create): Treat the :doc value as a doc string.
894         (widget-toggle-value-create): Treat the :on and :off values
895         as doc strings.
896         (widget-documentation-string-value-create):
897         Substitute the doc string.
899 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
901         Add a second argument to project-ignores
902         * lisp/progmodes/project.el (project-ignores): Add a second
903         argument DIR.
904         * lisp/progmodes/project.el (project-ignores): Only include the VC
905         ignores if DIR is the VC root.
906         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
908 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
910         Prevent incorrect display when 'line-spacing' variable is set
911         * src/xdisp.c (try_window_id): Give up this optimization if the
912         buffer has its 'line-spacing' variable set non-nil.
914 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
916         Don't pass NOVISIT to find-file
917         * lisp/progmodes/etags.el (next-file):
918         Don't pass NOVISIT to find-file (bug#21175).
920         Ignore buffer restriction for tags-loop-eval
921         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
922         restriction (bug#21167).
924 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
926         Fix a thinko in 'ffap-gopher-at-point'
927         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
929         Honor 'line-spacing' for empty lines
930         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
931         property and 'line-spacing' frame parameter or variable or
932         property for empty lines, by doing the same processing as in
933         x_produce_glyph for newline characters.  (Bug#21165)
935 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
937         Simplify by assuming C99 integer division
938         * src/floatfns.c (ceiling2, floor2, truncate2):
939         Assume C99 (i.e., Fortran) semantics for integer division.
940         This simplifies the code.
942 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
944         Don't overflow if computing approximate percentage
945         * lisp/align.el (align-region):
946         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
947         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
948         * lisp/cus-edit.el (custom-buffer-create-internal):
949         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
950         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
951         (checkdoc-next-message-error):
952         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
953         * lisp/epa.el (epa-progress-callback-function):
954         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
955         * lisp/ffap.el (ffap-menu-rescan):
956         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
957         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
958         * lisp/gnus/nneething.el (nneething-retrieve-headers):
959         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
960         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
961         * lisp/gnus/nnml.el (nnml-retrieve-headers):
962         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
963         * lisp/gnus/nntp.el (nntp-retrieve-headers)
964         (nntp-retrieve-articles):
965         * lisp/imenu.el (imenu--relative-position):
966         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
967         (skkdic-convert-okuri-nasi):
968         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
969         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
970         * lisp/org/org-list.el (org-update-checkbox-count):
971         * lisp/org/org.el (org-table-map-tables)
972         (org-update-parent-todo-statistics):
973         * lisp/play/decipher.el (decipher-insert-frequency-counts)
974         (decipher-analyze-buffer):
975         * lisp/profiler.el (profiler-format-percent):
976         * lisp/progmodes/cc-cmds.el (c-progress-update):
977         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
978         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
979         (idlwave-list-load-path-shadows):
980         * lisp/progmodes/opascal.el (opascal-step-progress):
981         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
982         (vhdl-scan-directory-contents):
983         * lisp/textmodes/bibtex.el (bibtex-progress-message):
984         * lisp/textmodes/flyspell.el (flyspell-small-region)
985         (flyspell-external-point-words):
986         * lisp/textmodes/table.el (table-recognize):
987         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
988         progress-report percentages and the like.  This avoids problems
989         if (* 100 NUMERATOR) would overflow.
990         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
991         * lisp/gnus/registry.el (registry-reindex):
992         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
993         * lisp/descr-text.el (describe-char):
994         * lisp/org/org-colview.el (org-nofm-to-completion):
995         * lisp/ps-print.el (ps-plot):
996         * lisp/simple.el (what-cursor-position):
997         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
998         more-complicated and less-accurate approximation.
1000         Fix some int overflows in profiler.c
1001         * src/profiler.c (make_log): Make args EMACS_INT, not int,
1002         to avoid unwanted behavior on 'int' overflow.
1003         (make_log, evict_lower_half, record_backtrace):
1004         Use ptrdiff_t, not int, for object indexes.
1006         Port to pedantic memcpy
1007         * src/keyboard.c (menu_bar_items, tool_bar_items):
1008         * src/xrdb.c (magic_db):
1009         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
1011         Merge from gnulib
1012         This incorporates:
1013         2015-07-29 time_rz: port to pedantic memcpy
1014         * lib/time_rz.c: Copy from gnulib.
1016 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
1018         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
1019         When updating the very last entry, tabulated-list-print would
1020         erase it and then try to look at the next one (which obviously
1021         isn't there).
1023 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
1025         Allow to use the old key processing code on MS-Windows
1026         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
1027         New variable.
1028         (w32_wnd_proc): Use it to invoke the old code that processed
1029         character keys, as fallback, when this variable is non-nil.  Fix
1030         typos in comments.  (Bug#19994)
1032 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
1034         Improve handling of Unicode keyboard input on MS-Windows
1035         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
1036         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
1037         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
1038         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
1039         successful, don't call TranslateMessage.  (Bug#19994)
1041 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
1043         Fix default-directory in changeset diffs after vc-print-log
1044         * lisp/vc/log-view.el (log-view-diff-common): Move the
1045         revision-granularity check back into log-view-diff-changeset.
1046         (log-view-diff-changeset): Bind default-directory to the current
1047         VC root.
1049         Rename project-directories to project-roots
1050         * lisp/progmodes/project.el (project-search-path-function)
1051         (project-search-path): Update the docstring.
1052         (project-directories): Rename to `project-roots', update all
1053         callers and implementations accordingly.
1054         (project-root): Remove.
1055         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
1056         as the default file mask.
1058 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
1060         Support long URLs in w32-shell-execute
1061         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
1062         and filename_to_ansi to convert the DOCUMENT argument, as it could
1063         be a URL that is not limited to MAX_PATH characters.  Instead, use
1064         MultiByteToWideChar directly, and allocate heap storage as
1065         required to accommodate the converted string.  Likewise with
1066         non-Unicode operation.  Ensure OPERATION is null-terminated, even
1067         if it is longer than 32K bytes.  (Bug#21158)
1069 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
1071         vc-mtn-find-revision handle null rev.
1072         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
1074 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
1076         Add docs for display-buffer action display-buffer-use-some-frame
1077         * lisp/window.el (display-buffer-use-some-frame): improve doc string
1078         * doc/lispref/windows.texi (Display Action Functions): add
1079           display-buffer-use-some-frame
1080         * etc/NEWS: mention display-buffer-use-some-frame
1082         Add display-buffer action display-buffer-use-some-frame
1083         * lisp/window.el (display-buffer-use-some-frame): new
1085         Handle vc-mtn error more gently
1086         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
1088 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
1090         Fix Tramp problems with multihops, and nc.
1091         * lisp/net/tramp-cache.el (tramp-get-file-property)
1092         (tramp-set-file-property, tramp-flush-file-property)
1093         (tramp-get-connection-property, tramp-set-connection-property)
1094         (tramp-flush-connection-property): Remove hop from vector.
1095         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
1096         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
1097         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
1098         netstat to 60".
1099         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
1100         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
1101         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
1102         Keep hop in result.
1103         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
1104         Add hop tests.
1106 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
1108         Resurrect highlighting of repeated words by Flyspell Mode
1109         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
1110         characters between point and the doublon candidate, so that
1111         flyspell-word-search-backward finds it.  (Bug#21157)
1113         Fix redisplay of large images on expose events
1114         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
1115         between signed negative values and unsigned values.  This
1116         prevented redisplay on expose events when the window showed a very
1117         large image.
1119 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
1121         Remove unnecessary stack overflow dependency
1122         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
1123         Don't worry about $ac_cv_header_sys_resource_h and
1124         $ac_cv_func_getrlimit, as they're no longer needed for this.
1125         Problem reported by Eli Zaretskii in:
1126         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
1128 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
1130         Pacify compilation -Wincompatible-pointer-types warnings
1131         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
1132         warning.
1133         (CompareStringW_Proc): New typedef.
1134         (w32_compare_strings): Use it, to pacify compiler warnings under
1135         "-Wincompatible-pointer-types".
1136         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
1137         (GetDiskFreeSpaceExA_Proc): New typedefs.
1138         (Ffile_system_info): Use them, to pacify compiler warnings under
1139         "-Wincompatible-pointer-types".
1141 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
1143         Fix subscript error in calculate_direct_scrolling
1144         Use slightly-longer cost vectors.  Without this change,
1145         calculate_direct_scrolling can have a subscript violation when
1146         FRAME_LINES (frame) <= delta.
1147         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
1148         (line_ins_del, do_line_insertion_deletion_costs):
1149         Allocate and use slightly-larger cost vectors, ones based on
1150         FRAME_TOTAL_LINES instead of FRAME_LINES.
1152         Fix uninitalized value in encode_coding_object
1153         * src/coding.c (encode_coding_object): Also initialize
1154         coding->src_pos and coding->src_pos_byte when NILP (src_object).
1155         This avoids later use of uninitialized storage.
1157 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
1159         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
1161 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
1163         Merge from gnulib
1164         This incorporates:
1165         2015-07-27 time_rz: port better to MinGW
1166         2015-07-27 time: port __need_time_t to MinGW
1167         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
1168         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
1169         * lib/time-internal.h: New file, from gnulib.
1171 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
1173         Handle NULL pointers in w32heap.c allocation routines
1174         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
1175         freeable".
1176         (realloc_after_dump, realloc_before_dump, free_before_dump):
1177         Handle NULL pointers gracefully, as Emacs now seems to expect
1178         that.
1180         Fix Cairo build without PNG
1181         * src/image.c: Define PNG function when USE_CAIRO is defined, even
1182         if HAVE_PNG is not.  (Bug#21133)
1184         MS-Windows follow-up for recent TZ-related changes
1185         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
1186         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
1187         picking up 'struct timespec' from pthread.h, if it is installed on
1188         the user's system.  We want either the definitions from MinGW
1189         system headers, if available, or the Gnulib replacements if not.
1190         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
1191         lib/time.h.
1192         * lib/time.in.h: Don't let __need_* symbols affect what happens on
1193         MinGW.  These symbols are defined by MinGW system headers, but we
1194         don't want that to affect whether Gnulib portions of the header
1195         are or aren't used.
1197 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
1199         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
1201         New optional ZONE arg for format-time-string etc.
1202         This simplifies time conversions in other time zones.
1203         It also prevents display-time-world tampering with TZ (Bug#21020).
1204         * admin/admin.el (add-release-logs):
1205         Use improved add-log-time-format API.
1206         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
1207         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
1208         * configure.ac (tzalloc): Remove test for this, since
1209         Emacs no longer uses HAVE_TZALLOC directly.
1210         * doc/lispref/os.texi (Time of Day, Time Conversion)
1211         (Time Parsing):
1212         * etc/NEWS: Document the new behavior.
1213         Merge from gnulib, incorporating:
1214         2015-07-25 strftime: fix newly-introduced bug on Solaris
1215         2015-07-23 fprintftime, strftime: use timezone_t args
1216         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
1217         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
1218         * m4/time_h.m4:
1219         Update from gnulib.
1220         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
1221         New files from gnulib.
1222         * lisp/time-stamp.el (time-stamp-string):
1223         * lisp/time.el (display-time-world-list)
1224         (display-time-world-display):
1225         Use new API, with time zone arg.
1226         * lisp/time.el (display-time-world-display):
1227         Fix race when current-time advances while we're running.
1228         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
1229         (add-log-iso8601-time-string): Accept optional time zone arg.
1230         * lisp/vc/add-log.el (add-change-log-entry):
1231         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
1232         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
1233         Add rules for the time module, since they're now needed
1234         for tzalloc etc.
1235         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
1236         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
1237         * src/editfns.c: Include errno.h.
1238         (set_time_zone_rule): Omit unnecessary forward decl.
1239         (initial_tz): Remove, replacing with ...
1240         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
1241         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
1242         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
1243         (tzlookup): New static functions.
1244         (init_editfns): New arg DUMPING.  All uses changed.
1245         (init_editfns): Omit most initialization if dumping, not if
1246         !initialized.  Initialize wall_clock_tz and local_tz.
1247         (emacs_nmemftime, format_time_string): Time zone argument can now
1248         be any time zone, not just a boolean for UTC or local time.  All
1249         callers changed.
1250         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
1251         (Fcurrent_time_zone): New optional arg ZONE.
1252         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
1253         the same form as with the other new additions.
1254         (decode_time_zone): Remove; no longer needed.
1255         (tzvalbuf): Now file-scope.
1256         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
1257         (syms_of_editfns): Define Qwall.
1258         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
1259         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
1260         [!HAVE_TZALLOC]:
1261         Remove; now supplied by gnulib.
1262         * src/emacs.c (main):
1263         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
1265 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
1267         Fix infinite loop in delete-consecutive-dups
1268         * lisp/subr.el (delete-consecutive-dups): Work even if the last
1269         element is nil (Bug#20588).  Avoid rescan of a circular list in
1270         deletion of last element.
1272 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
1274         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
1275         * src/nsfns.m (Fx_frame_geometry):
1276         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
1277         terminal frames.
1278         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
1279         (Fx_frame_geometry): Return nil for terminal frames
1281 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
1283         * etc/tutorials/TUTORIAL.ja: Improve translation.
1285 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
1287         Avoid crashes when w32 GUI functions are called in -batch
1288         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
1289         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
1290         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
1292         Fix flyspell-check-previous-highlighted-word
1293         * lisp/textmodes/flyspell.el
1294         (flyspell-check-previous-highlighted-word): Really accept a
1295         numeric argument, as the doc string describes.  Fix an off-by-one
1296         error in looking up overlays, so invocation with point immediately
1297         after a word would check that word.  Clarify the doc string as
1298         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
1300 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
1302         Minor cleanup in tramp-tests.el
1303         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
1304         Implement using the documented interface
1305         `tramp-connection-properties', rather than with internal functions.
1307 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
1309         Pass lambdas to `skeleton-read'
1310         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
1311         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
1312         lambdas to `skeleton-read' (bug#20386).
1314 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
1316         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
1318         Don't require GUI frames and mouse for Flyspell menus
1319         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
1320         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
1321         support, since pop-up menus work with text terminals and can be
1322         controlled via the keyboard.
1324         Improve documentation of Flyspell commands
1325         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
1326         can be invoked via the keyboard.  Mention those commands by name
1327         and add them to the fn index.  (Bug#21125)
1329 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
1331         Fix some Tramp problems with HP-UX
1332         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1333         Add "tab0" to stty call.
1334         * test/automated/tramp-tests.el (tramp-persistency-file-name):
1335         Set to nil.
1336         (tramp--test-hpux-p): New defun.
1337         (tramp--test-utf8): Use it.
1339 2015-07-22  Glenn Morris  <rgm@gnu.org>
1341         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
1343 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
1345         Fix point positioning in ffap-next-guess
1346         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
1347         as our callers expect.  This was clobbered as part of fixing
1348         bug#5673.  (Bug#21107)
1349         (ffap-gopher-at-point): Set ffap-string-at-point-region.
1351 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
1353         Fix customization type of `even-window-sizes'.
1354         * lisp/window.el (even-window-sizes): Fix customization type.
1356         Optionally even widths of `display-buffer' windows.  (Bug#21100)
1357         * lisp/window.el (quit-restore-window): Restore width if
1358         requested.
1359         (display-buffer-record-window): Record width when window is
1360         reused and horizontally combined.
1361         (even-window-sizes): New option to allow evening window widths.
1362         (even-window-heights): Defalias to `even-window-sizes'.
1363         (window--even-window-heights): Rename to
1364         `window--even-window-sizes'.  Handle side-by-side windows.
1365         (display-buffer-use-some-window): Call `window--even-window-sizes'
1366         instead of `window--even-window-heights'.
1367         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
1368         * doc/lispref/windows.texi (Choosing Window Options): Describe
1369         `even-window-sizes'.
1370         (Coordinates and Windows): Fix typo.
1372 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
1374         add file name to autoload error messages.
1375         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
1376           to add file name to error message.
1378 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
1380         Use 0.0.0.1 as test host in Tramp
1381         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
1382         Use 0.0.0.1 as test host.
1384 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1386         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
1387         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
1388         Fix inf-loop (bug#21083).
1390 2015-07-21  Glenn Morris  <rgm@gnu.org>
1392         * test/automated/package-test.el (package-test-signed):
1393         Update for recent changes.
1395         * test/automated/elisp-mode-tests.el
1396         (elisp-xref-finds-both-function-and-variable)
1397         (elisp-xref-finds-only-function-for-minor-mode):
1398         Update for recent xref name changes.
1400 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
1402         Make eldoc timer non-repeatable
1403         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
1404         non-repeatable.  Since it's on post-command hook, that just wasted
1405         CPU cycles.
1407 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
1409         Mention `tramp-connection-properties' in NEWS
1411         Sync with Tramp repository
1412         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
1413         required prior changing its configuration.
1414         (Connection caching, Predefined connection information)
1415         (Remote shell setup): Fix typos.
1416         (Predefined connection information): Describe, how to overwrite
1417         parameters of `tramp-methods'.
1418         (Remote programs, Remote processes, Traces and Profiles):
1419         Simplify example.
1420         (Remote programs): Remove superfluous comment.
1421         * doc/misc/trampver.texi: Update release number.
1422         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
1423         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
1424         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
1425         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
1426         "gvfs-mkdir -p ..." does not work robust.
1427         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
1428         * lisp/net/tramp-sh.el (tramp-methods):
1429         Add `tramp-remote-shell-login' parameter where it fits.
1430         (tramp-get-remote-path): Use it.
1431         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
1432         (all): Adapt `tramp-get-method-parameter' calls.
1433         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
1434         (tramp-get-method-parameter): Replace argument METHOD by VEC.
1435         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
1436         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
1437         (all): Adapt `tramp-get-method-parameter' calls.
1438         * lisp/net/trampver.el Update release number.
1439         * test/automated/tramp-tests.el (tramp--instrument-test-case):
1440         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
1441         (tramp-test13-make-directory, tramp--test-adb-p)
1442         (tramp--test-smb-or-windows-nt-p): Simplify.
1443         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
1444         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
1445         (tramp--test-utf8): Fix docstring.
1447 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
1449         Add new xref-query-replace command
1450         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
1451         function, extracted from xref-pulse-momentarily.
1452         (xref-query-replace): New command.
1453         (xref--query-replace-1): New helper function.
1454         (xref--xref-buffer-mode-map): Add `r' binding.
1456 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
1458         Simplify icalendar decoding of Z dates
1459         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
1460         Simplify calculation of time strings with trailing "Z".
1462 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
1464         Do not corrupt grep-find-ignored-files
1465         * lisp/progmodes/project.el (project-ignores): Change the order of
1466         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
1468         Add xref-match-item, and use it
1469         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
1470         (xref-file-location): Add reader for the column slot.
1471         (xref-match-item): New class.
1472         (xref-match-bounds): A method implementation for it.
1473         (xref-make-match): New constructor function.
1474         (xref--current-item): New private variable.
1475         (xref-pulse-momentarily): Use it.
1476         (xref--pop-to-location): Change the first argument to an xref
1477         item, instead of location, bind xref--current-item.
1478         Update all callers.
1479         (xref-next-line, xref-prev-line, xref--next-error-function)
1480         (xref--mouse-2): Look for the property `xref-item',
1481         instead of `xref-location'.
1482         (xref--item-at-point): Likewise.  This function replaces
1483         `xref-location-at-point'.  Update all callers.
1484         (xref--insert-xrefs): Add the `xref-item' text property, instead
1485         of `xref-location'.
1486         (xref--collect-match): Use xref-make-match.
1488         Rename xref--xref to xref-item
1489         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
1490         Update all references.
1492         Rename xref description slot to summary
1493         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
1494         slot to `summary'.
1496         vc-hg: Perform the print-log call asynchronously
1497         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
1498         asynchronously (bug#21067).
1500         Add xref-after-jump-hook and xref-after-return-hook
1501         * lisp/progmodes/xref.el (xref-after-jump-hook)
1502         (xref-after-return-hook): New hooks.
1503         (xref-pulse-on-jump): Remove, in favor of the above.
1504         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
1505         (xref--pop-to-location, xref--display-position)
1506         (xref-pop-marker-stack): Use the new hooks, as requested in
1507         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
1509 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
1511         Correct js-mode's lighter
1512         * lisp/progmodes/js.el (js-mode): Correct the lighter.
1514 2015-07-19  Leo Liu  <sdl.web@gmail.com>
1516         Fix a bug in cfengine3-mode
1517         * progmodes/cfengine.el (cfengine3-mode): Handle nil
1518           eldoc-documentation-function.
1520 2015-07-18  Julien Danjou  <julien@danjou.info>
1522         sieve-mode: support "body" test command
1523         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
1524         Add missing "body" test command.
1526 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
1528         Fix info-apropos when the default encoding is Latin-N
1529         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
1530         'undecided', so that it is set to the encoding of the Info file we
1531         are about to insert.  Otherwise, 'info-apropos' will fail to find
1532         some index nodes in some UTF-8 encoded files, if the buffer's
1533         previous encoding is Latin-N or some such.
1535 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
1537         * epg.el (epg--start): Check that gpgconf can be found before calling it.
1539         Expose more file types to OS X that Emacs understands.
1540         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
1541         json, and org files.  Export UTIs for el, elc, and org files.
1543 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
1545         Fix visual-order cursor movement when lines are truncated
1546         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
1547         simulate display in a window of infinite width, to allow move_it_*
1548         functions reach positions outside of normal window dimensions.
1549         Remove code that tried to handle a subset of these situations by
1550         manual iteration of buffer text.  (Bug#17777)
1552         Fix following Info cross-references to anchors
1553         * lisp/info.el (Info-read-subfile): Add to the returned value the
1554         length of subfile preamble, after converting it to file's byte
1555         offset, as expected by the caller.  Use bufferpos-to-filepos.
1556         (Info-find-node-2): If searching for a node with a
1557         1000-character slop fails, try again with a 10000-character slop,
1558         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
1559         * lisp/international/mule-util.el (bufferpos-to-filepos): New
1560         function.
1561         * etc/NEWS: Mention bufferpos-to-filepos.
1563         Fix scrolling backwards on TTY frames under scroll-conservatively
1564         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
1565         in moving backwards on TTY frames.  (Bug#21080)
1567 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
1569         Consider a jsdoc tag to be a beginning of a paragraph as well
1570         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
1571         consider a jsdoc tag to be a beginning of a paragraph as well.
1573 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1575         * lisp/emacs-lisp/package.el: Fix warnings
1577         * lisp/emacs-lisp/package.el (package-buffer-info):
1578         Add author and maintainers to `package-buffer-info'.
1580         * lisp/emacs-lisp/package.el: Many small changes
1581         Replace all instances of 'face with 'font-lock-face.
1582         (describe-package-1): Improve some strings and move the summary up the
1583         list.
1584         (package-install-file): Update docstring.
1585         (package-menu-hide-package): Bind to `H'.
1587         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1588         Fix error handling.
1590 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1592         Fix hang with large yanks This should fix the bug fixed by Mike
1593         Crowe's patch in:
1594         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
1595         A problem in this area has been reported by several users; see
1596         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
1597         This fix differs from Mike Crowe's patch in that it should avoid a
1598         race condition that could lose SIGIO signals.  ignore_sigio dates
1599         back to the 1980s when some platforms couldn't block signals, and
1600         could only ignore them, which led to races when signals arrived
1601         while being ignored.  We shouldn't have to worry about those old
1602         platforms now.
1603         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
1604         * src/emacs.c (shut_down_emacs):
1605         Don't call ignore_sigio; unrequest_sigio should suffice.
1606         * src/keyboard.c (kbd_buffer_store_buffered_event):
1607         Use unrequest_sigio, not ignore_sigio.
1608         (kbd_buffer_get_event):
1609         Call request_sigio when getting the ball rolling again.
1611 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1613         * lisp/obsolete/longlines.el (longlines-search-function):
1614         Fallback on `isearch-search-fun-default'.
1616 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
1618         Support @-mentions
1619         * rcirc.el (rcirc-completion-at-point): Support completion of
1620         mentions/messages with @nick instead of just nick.
1622 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
1624         Fix Bug#20943.
1625         * lisp/autorevert.el (auto-revert-handler): Do not check for
1626         `buffer-modified-p'.
1627         * lisp/files.el (buffer-stale--default-function): Check for
1628         `buffer-modified-p'.
1629         * test/automated/auto-revert-tests.el
1630         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
1632 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
1634         Fix delete-dups bug on long lists
1635         * lisp/subr.el (delete-dups):
1636         Don't mistakenly keep some dups when applied to long lists.
1638 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
1640         Better heuristic for C stack overflow
1641         Improve the heuristic for distinguishing stack overflows from
1642         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
1643         the getrlimit method wasn't portable to Cygwin; see:
1644         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
1645         Corinna suggested pthread_getattr_np but this also has problems.
1646         Instead, replace the low-level system stuff with a simple
1647         heuristic based on known good stack addresses.
1648         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
1649         * src/sysdep.c: Don't include <sys/resource.h>.
1650         (stack_direction): Remove.  All uses removed.
1651         (stack_overflow): New function.
1652         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
1653         Make SEGV fatal in non-main threads.
1655 2015-07-16  Daiki Ueno  <ueno@gnu.org>
1657         epg: Automatically start pinentry server
1658         * epg-config.el (epg-gpgconf-program): New variable.
1659         * epg.el (epg--start): Call `pinentry-start' if
1660         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
1662 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
1664         * lisp/gnus/nnimap.el: Fix my last bogus change
1665         Reinstall Stefan Monnier's change that was made in
1666         <83d824bc4041332f338ad7e5e830f443535aa300>.
1668 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1670         Merge from gnulib
1671         This incorporates:
1672         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
1673         2015-07-05 acl-permissions: Fix on FreeBSD
1674         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
1675         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
1676         * lib/set-permissions.c: Copy from gnulib.
1678         Port to stricter C99
1679         * src/keyboard.h (kbd_buffer_store_event_hold):
1680         Don't return a void expression.
1682 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
1684         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
1686 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
1688         New autorevert tests.
1689         * test/automated/auto-revert-tests.el: New file.
1691 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
1693         Clear gcprolist etc. after stack overflow
1694         After stack overflow, command_loop calls init_eval, and this needs to
1695         clear gcprolist and byte_stack_list (Bug#20996).
1696         * src/alloc.c (init_alloc):
1697         Move gcprolist and byte_stack_list initialization from here ...
1698         * src/eval.c (init_eval): ... to here.
1700 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
1702         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
1704 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1706         Avoid deprecated enums in mac-ct font backend driver
1707         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
1708         (mac_ctfont_get_advance_width_for_glyph)
1709         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
1711         Cache font family in mac-ct font backend driver
1712         * src/macfont.m (macfont_family_cache): New variable.
1713         (syms_of_macfont): Initialize it.
1714         (macfont_available_families_cache): New variable.
1715         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
1716         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
1717         (macfont_handle_font_change_notification)
1718         (macfont_init_font_change_handler)
1719         (macfont_copy_available_families_cache): New functions.
1720         (macfont_create_family_with_symbol): Use font family caches.
1721         (macfont_list, macfont_list_family): Use
1722         macfont_copy_available_families_cache instead of
1723         mac_font_create_available_families.
1725 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
1727         Show the default value in the prompt
1728         * lisp/progmodes/xref.el: Add `M-?' binding for
1729         xref-find-references.  Declare functions `grep-read-files' and
1730         `grep-expand-template'.
1731         (xref--read-identifier): Show the default value in the prompt.
1733         When called with prefix argument, ask for file patterns to search as well
1734         * lisp/progmodes/xref.el (xref-find-regexp): When called with
1735         prefix argument, ask for file patterns to search as well.  When
1736         prompting for the directory, require an existing one.
1737         (xref-collect-matches): Add a new argument, FILES.  Use it in the
1738         above function.
1740         Add `project-ignores'
1741         * lisp/progmodes/project.el (project-ignores): New generic
1742         function, and an implementation for the VC project type.
1743         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
1744         variant of rgrep-default-command that handles a generic list of
1745         ignores.
1746         (xref-collect-matches): Use it, and pass through to it the value
1747         of the newly added argument.
1748         (xref-find-regexp): Handle ignored paths within the project.
1749         Remove outdated comment.
1750         * lisp/vc/vc.el (vc-default-ignore-completion-table):
1751         Skip the comments and the empty lines.
1753 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
1755         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
1757 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
1759         gnus-registry.el: Correct function argument order
1760         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
1761         Reverse the order of function arguments.
1763 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
1765         Bind grep-highlight-matches to nil
1766         * lisp/progmodes/xref.el (xref-collect-matches):
1767         Bind grep-highlight-matches to nil (bug#20728).
1769 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
1771         nnimap.el: Fix IMAP message size parsing
1772         * lisp/gnus/nnimap.el (nnimap-transform-headers):
1773         Don't assume that UID comes before RFC822.SIZE.
1775 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1777         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
1778         (auth-source-creation-prompts): Declare.
1779         (nnimap-retrieve-headers, nnimap-status-message)
1780         (nnimap-request-create-group, nnimap-request-delete-group)
1781         (nnimap-close-group, nnimap-request-move-article)
1782         (nnimap-request-accept-article, nnimap-request-newgroups)
1783         (nnimap-request-post, nnimap-dummy-active-number)
1784         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
1785         (nnimap-parse-flags): Remove unused var `p'.
1786         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
1787         (nnimap-flags-to-marks): Remove unused var `totalp'.
1789 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
1791         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
1793 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1795         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
1797 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1799         Don't check the exit status, it can be misleading
1800         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
1801         exit status, it can be misleading.
1803         Introduce a Project API
1804         * lisp/progmodes/project.el: New file.
1805         * lisp/cedet/ede.el: (project-try-ede): New function.
1806         (project-root): New implementation.
1807         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1808         Set project-search-path-function.
1809         (elisp--xref-find-references): Delegate some logic to
1810         project-search-path.
1811         (elisp-search-path): New function.
1812         (elisp-xref-find): Don't implement `matches' anymore.
1813         * lisp/progmodes/etags.el: Don't implement `matches'.
1814         Delegate some logic to project-search-path.
1815         (etags-search-path): New function.
1816         * lisp/progmodes/xref.el (xref-find-function):
1817         Remove `matches' from the API.
1818         (xref-find-regexp): Move whatever common logic was in elisp and
1819         etags implementations, and search the directories returned by
1820         project-directories and project-search-path.
1822 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
1824         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
1826         Add support for gv.el in map.el
1827         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
1828         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
1829         * test/automated/map-tests.el: Update tests to work with the new
1830         implementations of map-elt and map-put.
1832 2015-07-09  Glenn Morris  <rgm@gnu.org>
1834         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
1836 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1838         Syntax-propertize until the end of the line first
1839         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
1840         until the end of the line first.
1842 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
1844         * doc/emacs/files.texi (File Archives): Add a cross reference.
1846 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
1848         nnimap.el: Handle plain value for nnimap-stream
1849         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
1850         capabilities, so that a 'plain value for the `nnimap-stream' server
1851         variable is handled correctly.
1852         * doc/misc/gnus.texi (Customizing the IMAP Connection):
1853         Document the 'plain option.
1855 2015-07-08  Leo Liu  <sdl.web@gmail.com>
1857         Fix bug in thing-at-point--bounds-of-well-formed-url
1858         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
1859           sure boundary contains current point.
1861 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
1863         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
1865         Declare whitespace-line-column a safe file-local
1866         * lisp/whitespace.el (whitespace-line-column): Declare to be a
1867         safe file-local when the value is an integer.
1869 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
1871         gnus-group.el: Check if group names are already strings
1872         * lisp/gnus/gnus-group.el (gnus-group-group-name):
1873         The group name may already be a string.
1874         Specifically, in the group list reached from the *Server* buffer,
1875         the 'gnus-group text property returns a string.  Everywhere else
1876         it returns a symbol.
1878         nnimap.el: Remove unused let variables
1879         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
1881 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
1883         Support "maximized" property of runemacs's shortcut
1884         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
1885         the '--maximized' switch to Emacs.
1887         Support "minimized" property of runemacs's shortcut
1888         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
1889         pass the '--iconic' switch to Emacs.  (Bug#20991)
1891 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
1893         Doc fixes
1894         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
1895         C-w' in Diff mode.
1896         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
1897         Add a cross reference.
1899 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
1901         * lisp/obsolete/landmark.el: Add Obsolete-since header
1903 2015-07-07  Glenn Morris  <rgm@gnu.org>
1905         * test/automated/ert-tests.el (ert-test-deftest):
1906         Update for recent changes.
1908 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1910         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
1911         * lisp/emacs-lisp/gv.el (gv-setter): New function.
1912         (gv-invalid-place): New error.
1913         (gv-get): Use them.
1914         (gv-synthetic-place, gv-delay-error): New places.
1915         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
1916         (cl-defgeneric, cl-defmethod): Use gv-setter.
1918 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
1920         Make vc-tests work with MSYS svn program
1921         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
1922         svn is an MSYS program.
1924 2015-07-07  Ken Brown  <kbrown@cornell.edu>
1926         Improve recent change to emacsclient on Cygwin
1927         * lisp/server.el (server-process-filter): Remove redundant check
1928         that 'cygwin-convert-file-name-from-windows' is defined as a
1929         function on Cygwin.  Don't call that function unless its argument
1930         starts with a drive letter.
1932 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1934         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
1935         Fix void variable due to `found-something' being in the wrong `let'.
1937 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1939         * lisp/play/landmark.el: Move to lisp/obsolete/
1941 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
1943         Have `x-show-tip' handle `right' and `bottom' frame parameters.
1944         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
1945         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
1946         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
1947         tooltips also via `right' and `bottom' frame parameters.
1949 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1951         Add online-help support to describe types
1952         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
1953         (describe-symbol): Improve the selection of default.
1954         * lisp/help-mode.el: Require cl-lib.
1955         (describe-symbol-backends): Move from help-fns.el.
1956         (help-make-xrefs): Use it.
1957         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
1958         for types.
1959         (cl--typedef-regexp): New const.
1960         (find-function-regexp-alist): Add entry for types.
1961         (cl-help-type, cl-type-definition): New buttons.
1962         (cl-find-class): New function.
1963         (cl-describe-type): New command.
1964         (cl--describe-class, cl--describe-class-slot)
1965         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
1966         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
1967         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
1968         New functions.  Moved from eieio-opt.el.
1969         (cl--generic-class-parents): New function, extracted from
1970         cl--generic-struct-specializers.
1971         (cl--generic-struct-specializers): Use it.
1972         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
1973         Improve constructor's docstrings.
1974         (cl-struct-unknown-slot): New error.
1975         (cl-struct-slot-offset): Use it.
1976         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
1977         definition in current-load-list.
1978         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
1979         (eieio--add-new-slot): Set it.
1980         (eieio-defclass-internal): Use new name for current-load-list.
1981         (eieio-oref): Add compiler-macro to warn about unknown slots.
1982         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
1983         as compile-time as well.  Improve constructor docstrings.
1984         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1985         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
1986         (eieio-class-def): Remove button.
1987         (eieio-help-constructor): Use new name for load-history element.
1988         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
1989         (eieio-method-documentation): Move to cl-generic.el.
1990         (eieio-display-method-list): Use new names.
1991         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
1992         Add "define-linline".
1993         (lisp-fdefs): Remove "defsubst".
1994         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
1995         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
1996         (macroexp--warn-and-return): Use it to avoid inf-loops.
1997         Add `compile-only' argument.
1999 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2001         python.el: Fix local/remote shell environment setup
2002         * lisp/progmodes/python.el (python-shell-with-environment): Fix
2003         remote/local environment setup.
2004         * test/automated/python-tests.el (python-shell-with-environment-1)
2005         (python-shell-with-environment-2): New tests.
2007 2015-07-06  Glenn Morris  <rgm@gnu.org>
2009         * lisp/simple.el (set-variable): Tweak recent doc fix.
2011 2015-07-06  Ken Brown  <kbrown@cornell.edu>
2013         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
2015 2015-07-06  Glenn Morris  <rgm@gnu.org>
2017         * lisp/simple.el (set-variable): Use user-error for type mismatch.
2019 2015-07-06  Ken Brown  <kbrown@cornell.edu>
2021         * src/emacs.c (main): Don't increase the stack size on Cygwin
2023 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2025         (describe-symbol): Rewrite describe-function-or-variable
2026         * lisp/help-fns.el (describe-symbol-backends): New var.
2027         (help-xref-stack-item): Declare.
2028         (describe-symbol): Rename from describe-function-or-variable.
2029         Rewrite using describe-symbol-backends instead of help-xref-interned.
2030         * lisp/help.el (help-map): Use it.
2031         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
2032         (help-xref-interned): Make it into an obsolete alias.
2034         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
2035         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
2036         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
2038 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
2040         Fix parsing glitches in dired-mark-sexp (bug#13575)
2041         * lisp/dired-x.el (dired-x--string-to-number): New function.
2042         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
2043         of directory-listing-before-filename-regexp.  Consider
2044         forward-word harmful and replace it.  Add more verbiage in
2045         comments and doc string.
2047 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2049         python.el: Respect process environment for remote shells
2050         * lisp/progmodes/python.el
2051         (python-shell-calculate-process-environment): Calculate
2052         process-environment or tramp-remote-process-environment depending
2053         whether current file is remote.
2054         (python-shell-calculate-exec-path): Calculate exec-path or
2055         tramp-remote-path depending whether current file is remote.
2056         (python-shell-with-environment): New macro.
2057         (python-shell-prompt-detect, python-shell-calculate-command)
2058         (python-shell-make-comint, python-check): Use it.
2060         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
2061         * lisp/progmodes/python.el (python-shell--interpreter)
2062         (python-shell--interpreter-args): New vars.
2063         (inferior-python-mode, python-shell-make-comint): Use them.
2065         python.el: Fixes for IPython 3.x  (Bug#20580)
2066         * lisp/progmodes/python.el:
2067         (python-shell-completion-native-setup): Fix IPython 3.x setup.
2068         (python-shell-completion-native-get-completions): Fix timeout
2069         logic.
2071         python.el: Fix mark-defun behavior  (Bug#19665)
2072         * lisp/progmodes/python.el: (python-mark-defun): New function.
2073         * test/automated/python-tests.el (python-mark-defun-1)
2074         (python-mark-defun-2, python-mark-defun-3): New tests.
2076 2015-07-05  Glenn Morris  <rgm@gnu.org>
2078         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
2079         such as "extends(parent), private".  (Bug#20969)
2080         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
2081         New tests.
2083 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2085         Avoid duplicate calls to current_timespec
2086         * src/process.c (wait_reading_process_output):
2087         Cache current_timespec results as long as we're not waiting.
2089 2015-07-05  Ian Kelling  <ian@iankelling.org>
2091         Avoid returning early reading process output due to SIGIO
2092         * src/process.c (wait_reading_process_output): Extend the behavior of
2093         not breaking due to not finding output when a timer has lowered the
2094         timeout to include when SIGIO lowers the timeout.
2096         Don't return as fast reading any process output
2097         * src/process.c (wait_reading_process_output):
2098         The patch for Bug#17647 returns too fast sometimes when reading
2099         from any processes. Revert part of it, and limit the timeout more
2100         sensibly (Bug#20978).
2102         Refactor timeouts in wait_reading_process_output
2103         * src/process.c (wait_reading_process_output):
2104         Simplify timeouts with an enum.  Remove a redundant condition.
2105         (Bug#20978)
2107         Remove ADAPTIVE_READ_BUFFERING ifdef
2108         * src/process.c (make-process, make-pipe-process, deactivate_process)
2109         (wait_reading_process_output, read_process_output, send_process)
2110         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
2111         added in case there was an operating system in which it was not
2112         useful.  That was 11 years ago and it hasn't happened.  Make
2113         development easier by not considering the effect of changes on a
2114         theoretical OS where this is disabled (Bug#20978).
2116 2015-07-05  Glenn Morris  <rgm@gnu.org>
2118         * lisp/simple.el (set-variable): Doc fix.
2120         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
2122 2015-07-05  Ian Kelling  <ian@iankelling.org>
2124         accept-process-output fix
2125         This is a followon to the fix for Bug#17647 (Bug#20976).
2126         * src/process.c (status_notify): Fix too high return in some cases.
2128 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
2130         * lisp/character-fold.el (character-fold-table):
2131         Only fold decompositions if at least one character is non-spacing.
2132         (Bug#20975)
2134 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2136         Merge from gnulib
2137         This incorporates:
2138         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
2139         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
2140         2015-07-02 update-copyright: fix test failure with perl >= 5.22
2141         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
2142         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
2143         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
2144         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
2146 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
2148         Respect `prog-indentation-context' in python.el
2149         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
2150         (python-indent-context, python-indent--calculate-indentation)
2151         (python-info-current-defun)
2152         (python-info-dedenter-opening-block-message)
2153         (python-info-line-ends-backslash-p)
2154         (python-info-beginning-of-backslash)
2155         (python-info-continuation-line-p): Use `prog-widen'.
2156         (python-indent--calculate-indentation)
2157         (python-indent--calculate-levels)
2158         (python-indent-calculate-indentation): Use `prog-first-column'.
2159         (python-indent--calculate-levels): Simplify.
2160         Ignore also initial empty lines for syntax calculation.
2161         * lisp/progmodes/python.el (python-indent-context): Return
2162         :no-indent for first non-empty line, not just in line 1.
2163         * test/automated/python-tests.el (python-indent-base-case)
2164         (python-indent-inside-paren-1, python-indent-inside-paren-2)
2165         (python-indent-inside-paren-3, python-indent-inside-paren-4)
2166         (python-indent-inside-paren-5, python-indent-inside-paren-6)
2167         (python-indent-after-backslash-1)
2168         (python-indent-after-backslash-2)
2169         (python-indent-after-backslash-3)
2170         (python-indent-after-backslash-4, python-indent-inside-string-1):
2171         Expect :no-indent for first non-empty line.
2173 2015-07-04  Daniel Colascione  <dancol@dancol.org>
2175         Factor isearch word description into new function
2176         * lisp/isearch.el (isearch--describe-word-mode): New function.
2177         (isearch-message-prefix, isearch-query-replace): Use it.
2179 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
2181         Fix mouse pointer on w32 when a menu is active
2182         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
2183         shape while a menu is in use.  This started happening since we now
2184         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
2186 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
2188         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
2189         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
2190         parameter.  (Bug#17344)
2192         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
2193         * lisp/progmodes/compile.el (compilation-set-window): Take
2194         `window-fringes' from argument window.  (Bug#20829)
2196 2015-07-03  Glenn Morris  <rgm@gnu.org>
2198         Update eieio tests for recent eieio-core change.
2199         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
2200         * test/automated/eieio-tests.el
2201         (eieio-test-32-slot-attribute-override-2):
2202         Replace the deleted eieio--class-v with cl--find-class.
2204 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
2206         Fix some issues with `window-divider-mode'
2207         * lisp/frame.el (window-divider-default-places): New option.
2208         (window-divider-mode): Remove option.
2209         (window-divider-mode): Make it a "regular" minor mode.
2210         (window-divider-width-valid-p): Drop frame- prefix.
2211         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
2212         prefix.  Handle `window-divider-default-places'.
2213         (frame--window-divider-mode-set-and-apply): Remove.
2214         (window-divider-default-bottom-width)
2215         (window-divider-default-right-width): Drop :group entries.
2216         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
2217         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
2218         (menu-bar-no-window-divider): Set `window-divider-default-places'
2219         and call `window-divider-mode'.
2220         * doc/emacs/frames.texi (Window Dividers): Document
2221         `window-divider-default-places'.
2223 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
2225         Add cross references in documentation
2226         * doc/emacs/display.texi (Displaying Boundaries):
2227         * doc/emacs/search.texi (Word Search): Add cross references.
2229 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2231         -batch should not affect ‘’ -> `' display
2232         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
2233         -batch (Bug#20926).
2235 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
2237         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
2238         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
2239           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
2240         Use cl--find-class instead.
2242         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
2244 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
2246         Some further fixes in Change Window node.  (Bug#20183)
2247         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
2248         by "resizing" in section title.  Add some concept indices.
2249         Suggested by N. Jackson (Bug#20183).
2251         Reference window dividers in Change Window section.
2252         * doc/emacs/windows.texi (Change Window): Reference window
2253         dividers.
2255         Document new `window-divider-mode'.
2256         * lisp/frame.el (window-divider-mode): Fix doc-string.
2257         * doc/emacs/frames.texi (Window Dividers): New section.
2259         Improve accessibility of window dividers.  (Bug#20183)
2260         * lisp/faces.el (window-divider)
2261         (window-divider-first-pixel, window-divider-last-pixel): Change
2262         membership from `frames' to `window-divider' customization group.
2263         * lisp/frame.el (window-divider): New customization group.
2264         (window-divider-mode): New minor mode.
2265         (window-divider-default-bottom-width)
2266         (window-divider-default-right-width): New options.
2267         (frame--window-divider-previous-mode): New variable.
2268         (frame-window-divider-width-valid-p)
2269         (frame--window-divider-mode-apply)
2270         (frame--window-divider-mode-set-and-apply): New functions.
2271         * lisp/menu-bar.el (menu-bar-options-save): Save
2272         window-divider-mode settings.
2273         (menu-bar-window-divider-customize)
2274         (menu-bar-bottom-and-right-window-divider)
2275         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
2276         (menu-bar-no-window-divider): New functions.
2277         (menu-bar-showhide-window-divider-menu): New variable.
2278         (menu-bar-showhide-menu): Show/hide window divider menu.
2279         * lisp/mouse.el (mouse-split-window-vertically)
2280         (mouse-split-window-horizontally): Replace `error' by
2281         `user-error'.  Bind `window-combination-resize' to nil.
2282         (top-level): Add/reorder mouse key bindings on mode- and
2283         vertical-line.
2285 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2287         Don't display ‘’ as `' under X in en_GB
2288         The curved quote setup code invokes (char-displayable-p ?‘),
2289         but this isn’t reliable until after the X frame replaces the
2290         terminal frame (Bug#20926).
2291         * lisp/international/mule-cmds.el (set-locale-environment):
2292         Move curved quote setup code from here ...
2293         * lisp/startup.el (command-line): ... to here, after creating
2294         the X frame.
2296 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
2298         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
2300         Add argument to reverse the meaning of ido-restrict-to-matches
2301         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
2302         to reverse the meaning (Bug#15631).
2304 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
2306         Be more tolerant to fonts named "Foobar-12"
2307         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
2308         don't barf; instead, request a new fontset to be generated.  This
2309         avoids unnecessarily rejecting fonts named against XLFD rules.  See
2310         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
2311         for the description of the original problem.
2312         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
2313         by a hyphen in a font's name.
2315         Fix value of posn-at-pont in R2L lines
2316         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
2317         coordinate of -1, for a newline in a right-to-left line that
2318         overflowed into the left fringe.
2320 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2322         (cl--copy-slot-descriptor): Copy the `props' alist as well
2323         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
2324         Rename from cl--copy-slot-descriptor.
2325         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
2327 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
2329         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
2330         (xterm-query-timeout): New var.
2331         (xterm--query): Use it.  Fallback on async method if we timeout before
2332         getting the first byte of the reply (bug#12354).
2334 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2336         Spelling fixes
2338 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
2340         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
2342 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2344         In strings, prefer plain ` and ' to \` and \'
2345         * lisp/allout.el (allout-insert-listified):
2346         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
2347         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
2348         (ls-lisp-string-lessp):
2349         * lisp/menu-bar.el (menu-bar-open):
2350         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
2351         * lisp/progmodes/compile.el (compile):
2352         * lisp/progmodes/etags.el (tags-loop-scan):
2353         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
2354         * lisp/subr.el (posn-actual-col-row):
2355         * lisp/term/pc-win.el (x-list-fonts):
2356         * lisp/textmodes/texinfmt.el (texinfmt-version):
2357         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
2358         * lisp/time.el (display-time-world-list):
2359         * lisp/tmm.el (tmm-menubar):
2360         * src/buffer.c (syms_of_buffer):
2361         * src/fileio.c (syms_of_fileio):
2362         Omit unnecessary and confusing backslash before quote.
2363         * lisp/erc/erc.el (erc-cmd-LASTLOG):
2364         * lisp/progmodes/flymake.el (flymake-fix-file-name):
2365         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
2366         Fix string that was intended to escape a backslash and not a quote.
2368 2015-06-30  Glenn Morris  <rgm@gnu.org>
2370         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
2372         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
2373         Replace hard-coded lists with wildcard + filter-out.
2375         * configure.ac (system-configuration-features): Add X11, NS.
2377         Improve reproducibility of generated loaddefs file.
2378         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
2379         Make the return value the modtime of the input file (if no autoloads).
2380         (update-directory-autoloads): In the "no autoloads" section,
2381         use "most recent modtime" rather than "current time".
2383 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2385         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
2386         (Bug#20930)
2388 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
2390         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
2392         Add seq-min and seq-max
2393         Bump version number.
2394         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
2395         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
2397 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
2399         Make sure sleep-for always delays for as long as it's told
2400         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
2401         a loop, to ensure we always wait exactly the required amount of
2402         time.  (Bug#15990)
2404 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2406         Fix pointer signedness glitch
2407         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
2409 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
2411         Don't block changes in mouse pointer inside 'track-mouse'
2412         * etc/NEWS:
2413         * doc/lispref/frames.texi (Mouse Tracking): Document the special
2414         effect of setting 'track-mouse' to 'dragging'.
2415         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
2416         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
2417         * lisp/mouse-drag.el (mouse-drag-throw):
2418         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
2419         to avoid changes in the shape of the mouse pointer.
2420         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
2421         pointer shape when do_mouse_tracking has the value of 'dragging',
2422         not just any non-nil value.  (Bug#20934)
2423         (syms_of_xdisp): DEFSYM 'dragging'.
2425 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2427         * lisp/isearch.el (isearch-toggle-word): Fix toggle
2429         * lisp/emacs-lisp/package.el (package-compute-transaction):
2430         Don't assume version sorting.
2432         * lisp/emacs-lisp/package.el (package--save-selected-packages):
2433         Don't save before init time, to avoid overwriting configurations.
2434         (Bug#20855)
2436 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
2438         Add cross references.
2439         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
2440         references.
2442 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
2444         cfengine.el: update for the upcoming CFEngine 3.7 release
2445         Update for the upcoming CFEngine 3.7 release: support macros and
2446         quoted context strings; reformat JSON; indent promise attributes 2
2447         units by default; give function parameter descriptions in the eldoc
2448         glue.
2449         * cfengine.el: Update version and docs and fix name.  Autoload
2450         `json-pretty-print'.  Support new features in 3.7.
2451         (cfengine-parameters-indent): Set default promise attribute indent to
2452         2 more than the promise itself.
2453         (cfengine3-macro-regex): New variable to match the new macro syntax.
2454         (cfengine3-font-lock-keywords): Use it to highlight macros.
2455         (cfengine3-indent-line): Use it to indent macros to column 0.
2456         (cfengine3-class-selector-regex): Update for the new quoted strings
2457         format.
2458         (cfengine3-reformat-json-string): New function to reformat a JSON
2459         string using `json-pretty-print'.
2460         (cfengine3-format-function-docstring): Use function parameter
2461         description if it's provided by the cf-promises syntax dump.
2463 2015-06-29  Michael R. Mauger  <michael@mauger.com>
2465         Cygwin emacsclient handles w32 file names
2467 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
2469         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
2471 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
2473         * doc/lispref/text.texi (Sticky Properties): Improve wording.
2474         (Bug#20924)
2476         Allow font names that end in "-NN", where NN is a number
2477         * src/font.c (font_load_for_lface): If the font-spec didn't match
2478         any available fonts, try again without interpreting trailing "-NN"
2479         as the font size.  For the description of the original problem, see
2480         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
2482         .gdbinit followup to changes in !USE_LSB_TAG
2483         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
2484         !USE_LSB_TAG, as Emacs no longer does.
2486 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
2488         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
2489         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
2491 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2493         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2494         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
2496 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2498         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
2500         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
2502 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
2504         apropos-library quoting fix
2505         * lisp/apropos.el (apropos-library): Quote library consistently
2506         with the rest of the quoting used by apropos.
2508         Clarify interpreter-mode-alist doc
2509         * lisp/files.el (interpreter-mode-alist):
2510         Reword to avoid confusing quoting that wasn't working anyway.
2512 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
2514         Sync with Tramp 2.2.12
2515         * doc/misc/trampver.texi:
2516         * lisp/net/trampver.el: Update release number.
2517         * test/automated/tramp-tests.el (tramp-test13-make-directory):
2518         Fix cleanup.
2520 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2522         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
2523         (bug#20913)
2525 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
2527         Bind grep-highlight-matches around the rgrep call
2528         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
2529         around the rgrep call (bug#20728).
2531         Put "--color" before the other options in grep-command
2532         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
2533         before the other options in grep-command (bug#20912).
2535         Add --color Grep option to the command dynamically
2536         * lisp/progmodes/grep.el (grep-template, grep-find-template):
2537         Update the description for <C>.  (Bug#20728)
2538         (grep-compute-defaults): Don't add the --color option to
2539         grep-options.  Only add it to grep-command.
2540         (grep-expand-keywords): Expand the env value opts into <C>.
2541         (grep-expand-template): Replace cf in the env with the opts list,
2542         that can include -i and --color.
2543         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
2544         "--color=always" from the template, because we don't have to.
2546 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
2548         cl-extra fixes for most-negative-fixnum
2549         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
2550         Don't mishandle an argument equal to most-negative-fixnum,
2551         whose absolute value equals itself.
2552         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
2554         Initialize cl--gensym-counter to 0
2555         Previously it was initialized to a random value, which made it
2556         harder to reproduce earlier Emacs runs.  The need for a random
2557         value went away when Emacs introduced and used the #: syntax for
2558         uninterned symbols (Bug#20862).
2559         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
2560         Document that cl--gensym-counter now starts with 0.
2561         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
2562         (cl--random-time): Move to near only remaining use.
2563         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
2565         Improve docstring for macroexp-let2
2566         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
2567         Improve as per suggestion by RMS in:
2568         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
2569         Also, rename args to match new doc string.
2571 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
2573         Fix VC test suite on MS-Windows
2574         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
2575         always starts with 3 slashes after the colon.
2576         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
2577         'w32-application-type' to invoke CVS on MS-Windows with properly
2578         formatted CVSROOT directory name.
2580         Add a new function w32-application-type
2581         * src/w32proc.c (Fw32_application_type): New function.
2583         Avoid error in TLS connections due to incorrect format
2584         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
2585         the call to 'error', instead of the unsupported %u.  Reported by
2586         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
2588 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2590         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
2592 2015-06-26  Leo Liu  <sdl.web@gmail.com>
2594         Fix indentation for with-output-to-string
2595         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
2596           `with-output-to-string' in elisp.
2597           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
2598           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
2600 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
2602         Minor corrections in ELisp manual
2603         * doc/lispref/nonascii.texi (Character Properties): Correct
2604         inaccuracies in description of values of the Unicode properties.
2606         Fix invisible mouse pointers on Windows.
2607         * src/w32fns.c: Include windowsx.h.
2608         (w32_wnd_proc): If the mouse moved and the mouse pointer is
2609         invisible, make it visible again even when the main (Lisp)
2610         thread is busy.
2611         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
2612         garbaging the frame have the input thread call SetCursor.
2614 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
2616         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
2617         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
2618         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
2619         * src/w32term.c (w32_hide_hourglass): Handle
2620         f->pointer_invisible.
2621         (w32_toggle_invisible_pointer): New function.
2622         (w32_create_terminal): Add w32_toggle_invisible_pointer as
2623         toggle_invisible_pointer_hook for this terminal.
2625 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
2627         Doc fix for deletion commands
2628         'delete-char' does not respect the value of 'delete-active-region'.
2629         * doc/emacs/killing.texi (Deletion):
2630         Fix documentation for some single-char deletion commands.
2632         * doc/emacs/help.texi (Apropos):
2633         Improve documentation of 'apropos-do-all'.
2635         * doc/emacs/help.texi (Help Summary):
2636         Improve documentation of 'describe-mode'.
2638 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2640         Fix submake dependency bug with .h files
2641         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
2642         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
2643         before the submake in $(libsrc) would spin off a subsubmake
2644         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
2646 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2648         * lisp/character-fold.el (character-fold-table): Reuse `table'
2650 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2652         Translate undisplayable ‘ to `
2653         * doc/lispref/help.texi (Keys in Documentation):
2654         * lisp/international/mule-cmds.el (set-locale-environment):
2655         * lisp/term/w32console.el (terminal-init-w32console):
2656         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
2657         If ‘ is not displayable, transliterate it to `, not to '.  See:
2658         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
2660         Fix C99 incompatibilities in Cairo code
2661         * src/image.c (xpm_load) [USE_CAIRO]:
2662         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
2663         Fix pointer signedness problem.
2665 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
2667         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
2668         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
2669           `with-output-to-string' should have the same indent as `progn'.
2670           This is in line with the declaration of `with-output-to-string'.
2672 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2674         Get ‘./configure; make -C src emacs’ to work
2675         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
2676         * lib-src/Makefile.in (../lib/libgnu.a):
2677         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
2679 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2681         Fix GC bugs --with-wide-int and Qnil == 0
2682         Use the same alignment for the !USE_LSB_TAG case as for the
2683         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
2684         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
2685         once we changed the representation of symbols so that Qnil == 0.
2686         Problem reported by Eli Zaretskii (Bug#20862).
2687         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
2688         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
2689         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
2690         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
2691         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
2692         This optimization in the !USE_LSB_TAG case is no longer valid when
2693         symbols are represented via offsets.  Change the only use to
2694         assume that pointers might hide in objects.
2695         * src/lisp.h (alignas) [!USE_LSB_TAG]:
2696         Require support in this case, too.
2697         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
2698         This is OK, because the !USE_LSB_TAG case now applies only when
2699         Lisp_Object is wider than void *, so there's no longer any need
2700         to shift the offset.  Not shifting the offset means that
2701         symbol representations have the same alignment as pointers,
2702         which the GC assumes.
2704 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
2706         * doc/lispintro/emacs-lisp-intro.texi (Data types):
2707         Improve documentation of 'substring'.
2709 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2711         * lisp/character-fold.el (character-fold-table): Fix table generation
2713 2015-06-24  Glenn Morris  <rgm@gnu.org>
2715         * nextstep/Makefile.in (all): Make it the first target.
2716         (../src/emacs${EXEEXT}): Add rule for making it.
2718 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2720         * etc/NEWS: Fix mention to old function name
2722         * lisp/character-fold.el: New file (Bug#20887)
2723         (character-fold-to-regexp): New function.
2724         * lisp/replace.el (replace-search): Check value of
2725         `character-fold-search'.
2726         * lisp/isearch.el: Move character-folding code to
2727         character-fold.el
2728         (isearch-toggle-character-fold): New command.
2729         (isearch-mode-map): Bind it to "\M-sf".
2730         (isearch-mode): Check value of `character-fold-search'.
2732 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2734         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
2735         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
2736         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
2738         * lisp/progmodes/xref.el: Avoid init-args in oref.
2739         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
2740         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
2742 2015-06-24  Glenn Morris  <rgm@gnu.org>
2744         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
2746 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2748         * lisp/gnus/nnmaildir.el: Silence lexical warnings
2749         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
2750         functional style.
2751         (nnmaildir--update-nov): Remove unused var `numdir'.
2752         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
2753         (nnmaildir-request-group, nnmaildir-request-create-group)
2754         (nnmaildir-request-post, nnmaildir-request-move-article)
2755         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
2756         (nnmaildir-get-new-mail, nnmaildir-group-alist)
2757         (nnmaildir-active-file): Declare.
2758         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
2759         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
2760         `mark', `end', `new-mark', and `mark-sym'.
2761         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
2762         `nlist2'.
2763         (nnmaildir-request-expire-articles):
2764         Remove unused vars `article', `stop' and `nlist2'.
2765         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
2766         `end'.  Use nnmaildir--article when dyn-binding is needed.
2767         Give the value directly in the `let' for `del-mark', `del-action',
2768         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
2769         (nnmaildir-close-server): Declare those local vars that need to be
2770         dyn-bound.
2772 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2774         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
2776         Port selection info fix to clang
2777         * src/keyboard.h (kbd_buffer_store_event_hold):
2778         Don't assume C11 semantics for alignof (Bug#20756).
2780         Fix bug that munged selection info
2781         On some optimizing C compilers, copying a structure did not
2782         copy the padding bytes between elements, and the type punning
2783         between struct input_data and struct selection_input_data did
2784         not work.  Change the C code to use a proper union type instead.
2785         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
2786         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
2787         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
2788         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
2789         (mark_kboards):
2790         Use union buffered_input_event, not struct input_event.
2791         (clear_event, deliver_input_available_signal, process_special_events):
2792         Remove unnecessary forward decls.
2793         (kbd_buffer_store_buffered_event): New function, mostly just the
2794         old kbd_buffer_store_event_hold, except its argument is of type
2795         union buffered_input_event, not struct input_event.
2796         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
2797         not needed otherwise.  Argument is now of type
2798         struct selection_input_event *, not struct input_event *.
2799         All callers changed.
2800         (clear_event): Arg is now of type union buffered_input_event *,
2801         not struct input_event *.  All callers changed.
2802         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
2803         (union buffered_input_event): New type.
2804         (kbd_buffer_store_event_hold): Now an inline function,
2805         defined here.
2806         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
2807         (struct input_event): Use it.
2808         * src/xselect.c (struct selection_event_queue):
2809         Make elements be of type struct selection_input_event,
2810         not struct input_event.
2811         (selection_input_event_equal): New static function.
2812         (x_queue_event): Use it.
2813         (x_queue_event, x_decline_selection_request)
2814         (x_selection_current_request, x_reply_selection_request)
2815         (x_handle_selection_request, x_handle_selection_clear)
2816         (x_handle_selection_event): Use struct selection_input_event,
2817         not struct input_event.  All callers changed.
2818         (x_convert_selection): Omit unused first arg.  All callers changed.
2819         (Fx_disown_selection_internal): Omit unnecessary union.
2820         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
2821         rather than rolling our own equivalent.  Prefer sie.kind when
2822         setting up that kind of structure.
2823         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
2824         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
2825         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
2826         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
2827         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
2828         (SELECTION_EVENT_TIME, x_handle_selection_event):
2829         Arg is now of type struct selection_input_event *)
2830         not struct input_event *.  All callers changed.
2832 2015-06-23  Glenn Morris  <rgm@gnu.org>
2834         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
2836 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2838         * lisp/isearch.el: Fold many unicode characters to ASCII
2839         (isearch-character-fold-search, isearch--character-fold-extras)
2840         (isearch--character-fold-table): New variable.
2841         (isearch--character-folded-regexp): New function.
2842         (isearch-search-fun-default): Use them.
2843         * lisp/replace.el (replace-character-fold): New variable.
2844         (replace-search): Use it.
2845         * etc/NEWS: Document it.
2847 2015-06-23  Glenn Morris  <rgm@gnu.org>
2849         Check for an input event before showing a dialog box.  (Bug#20813)
2850         * lisp/subr.el (y-or-n-p):
2851         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
2852         as last-nonmenu-event.
2854 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
2856         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
2857         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
2858         (switch-to-prev-buffer, switch-to-next-buffer): Respect
2859         switch-to-visible-buffer independent of the windows history.
2861 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2863         * src/keyboard.c (last_timer_event): Remove unused var.
2865 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2867         * test/automated/package-test.el (package-test-update-listing):
2868         Fix test.
2870 2015-06-23  Glenn Morris  <rgm@gnu.org>
2872         Revert 2014-06-25 nextstep/Makefile change.
2873         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
2874         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
2875         not as an order-only prerequisite.
2877         * configure.ac (--with-ns): Enable by default on OS X.
2879 2015-06-23  Leo Liu  <sdl.web@gmail.com>
2881         Fix shell-for/backward-command to exclude spaces
2882         * lisp/shell.el (shell-forward-command, shell-backward-command):
2883           Handle the 'move case from re-search-forward/backward.
2884           fixes debbugs:20873
2886 2015-06-22  Juri Linkov  <juri@linkov.net>
2888         * lisp/replace.el (query-replace-read-from): Add separator to
2889         the local binding of text-property-default-nonsticky.  (Bug#20690)
2891         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
2892         (Bug#20785)
2894 2015-06-22  Ken Brown  <kbrown@cornell.edu>
2896         Enable CPU profiling on Cygwin
2897         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
2898         change that undefined this.
2899         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
2900         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
2901           Cygwin.
2903         Improve diagnostics of profiler-cpu-start
2904         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
2905         return -1 if the sampling interval is invalid.
2906         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
2907         fails.  (Bug#20843)
2909 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2911         * lisp/emacs-lisp/package.el: Exclude packages by name
2912         (package-hidden-regexps): New variable.
2913         (package-menu--refresh): Use it.
2914         (package-menu-hide-package): New command.
2916         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
2918 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
2920         Fix debug-timer-check on systems without HAVE_TIMERFD
2921         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
2922         the expired timers, since wait_reading_process_output doesn't.
2923         (debug_timer_callback): Enlarge the tolerance to 20 msec.
2925         Fix RCS crashes in vc-test
2926         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
2927         ports of 'ci' on MS-Windows by always passing the -t- switch.
2929 2015-06-22  Glenn Morris  <rgm@gnu.org>
2931         * doc/emacs/package.texi (Packages):
2932         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
2934         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
2936 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2938         Port tests to help-quote-translation
2939         * test/automated/ert-x-tests.el (ert-test-describe-test):
2940         * test/automated/package-test.el (package-test-describe-package)
2941         (package-test-signed): Allow straight quotes, too.
2943 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
2945         Make find-function-on-key use the current window
2946         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
2947         Extract from `find-function-on-key', add a second argument.
2948         (find-function-on-key): Use it (bug#19679).
2949         (find-function-on-key-other-window)
2950         (find-function-on-key-other-frame): New commands.
2952 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2954         Revert "Define `map-elt' as a generalized variable"
2955         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
2957 2015-06-21  Ken Brown  <kbrown@cornell.edu>
2959         Drop support for CPU profiling on Cygwin
2960         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
2961         (Bug#20843)
2963 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2965         Fix some “nested” quoting confusion in doc strings
2966         * lisp/emacs-lisp/advice.el (ad-map-arglists):
2967         * lisp/kermit.el (kermit-clean-on):
2968         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
2969         * src/keyboard.c (Frecursive_edit):
2970         Use curved quotes when quoting text containing apostrophe,
2971         so that the apostrophe isn't curved in the output.
2973 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2975         Define `map-elt' as a generalized variable
2976         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
2977         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
2978         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
2979         `setf' with `map-elt'.
2980         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
2982 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
2984         Improve error handling in tramp-adb.el
2985         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
2986         Improve error handling.
2988 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2990         Reuse `alist-get' in map.el
2991         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
2992         elements.
2994 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
2996         Fix bytecomp-tests--warnings when $TMPDIR has a long name
2997         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
2998         Allow the warning to begin on the 3rd, not only 2nd line, which
2999         happens if temporary-file-directory has a very long name.
3001         Expect 2 icalendar tests to fail on MS-Windows
3002         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
3003         (icalendar-real-world): Make them expected failures on MS-Windows.
3005 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3007         Improve port of settings UI to older displays
3008         * lisp/cus-start.el (standard): Don't assume curved quotes are
3009         easily distinguishable when users are tinkering with a setting
3010         that affects how curved quotes are generated.
3012         Fix quoting in electric-quote-mode doc string
3013         * lisp/electric.el (electric-quote-mode): Fix quoting.
3014         This is a fallout from the recent change introducing
3015         ‘help-quote-translation’.
3017         Spelling fix
3019         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
3021         * src/doc.c (syms_of_doc): Remove unused symbols.
3023 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
3025         In ‘window-state-put’ undedicate target window.  (Bug#20848)
3026         * lisp/window.el (window-state-put): Undedicate target window
3027         before putting STATE into it.  (Bug#20848)
3029 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
3031         Merge from origin/emacs-24
3032         a5e6f33 Fixes: debbugs:20832
3033         b9f02cf Fixes: debbugs:20832
3035 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
3037         Fix file-in-directory-p when the directory is UNC
3038         * lisp/files.el (file-in-directory-p): Support files and
3039         directories that begin with "//".  (Bug#20844)
3041 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
3043         (Bug#20832)
3044         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
3045         in the minibuffer.
3047 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
3049         (Bug#20832)
3050         * lisp/calendar/todo-mode.el (todo-show): Signal an error
3051         if buffer for adding new todo file is empty but modified.
3053 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
3055         (filepos-to-bufferpos): Further tweaks to the utf-16 code
3056         * lisp/international/mule-util.el (filepos-to-bufferpos):
3057         Fix typo.  Move non-exact check to the utf-16 branch (the only one
3058         affected).  Don't use byte-to-position for the utf-16 case.
3060 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
3062         Minor fixes in filepos-to-bufferpos
3063         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
3064         test for utf-8-emacs.  Exempt single-byte encodings from the
3065         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
3066         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
3067         UTF-16 encoded files for CR-LF EOLs.
3069 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
3071         Improve the optional translation of quotes
3072         Fix several problems with the recently-added custom variable
3073         help-quote-translation where the code would quote inconsistently
3074         in help buffers.  Add support for quoting 'like this', which
3075         is common in other GNU programs in ASCII environments.  Change
3076         help-quote-translation to use more mnemonic values: values are now the
3077         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
3078         traditional Emacs help-buffer quoting style `like this'.  Change the
3079         default behavior of substitute-command-keys to match what's done in
3080         set-locale-environment, i.e., quote ‘like this’ if displayable,
3081         'like this' otherwise.
3082         * doc/lispref/help.texi (Keys in Documentation): Document
3083         new behavior of substitute-command-keys, and document
3084         help-quote-translation.
3085         * doc/lispref/tips.texi (Documentation Tips):
3086         Mention the effect of help-quote-translation.
3087         * etc/NEWS: Mention new behavior of substitute-command-keys,
3088         and merge help-quote-translation news into it.
3089         When talking about doc strings, mention new ways to type quotes.
3090         * lisp/cedet/mode-local.el (overload-docstring-extension):
3091         Revert my recent change to this function, which shouldn't be
3092         needed as the result is a doc string.
3093         * lisp/cedet/mode-local.el (mode-local-print-binding)
3094         (mode-local-describe-bindings-2):
3095         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
3096         * lisp/cus-theme.el (describe-theme-1):
3097         * lisp/descr-text.el (describe-text-properties-1, describe-char):
3098         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
3099         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
3100         (eieio-help-constructor):
3101         * lisp/emacs-lisp/package.el (describe-package-1):
3102         * lisp/faces.el (describe-face):
3103         * lisp/help-fns.el (help-fns--key-bindings)
3104         (help-fns--compiler-macro, help-fns--parent-mode)
3105         (help-fns--obsolete, help-fns--interactive-only)
3106         (describe-function-1, describe-variable):
3107         * lisp/help.el (describe-mode):
3108         Use substitute-command-keys to ensure a more-consistent quoting
3109         style in help buffers.
3110         * lisp/cus-start.el (standard):
3111         Document new help-quote-translation behavior.
3112         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
3113         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
3114         (help-xref-url-regexp):
3115         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
3116         * lisp/wid-edit.el (widget-documentation-link-regexp):
3117         Also match 'foo', in case we're in a help buffer generated when
3118         help-quote-translation is ?'.
3119         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
3120         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
3121         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
3122         (Fsubstitute_command_keys): Document and implement new behavior.
3123         (Vhelp_quote_translation): Document new behavior.
3125 2015-06-18  Glenn Morris  <rgm@gnu.org>
3127         * lisp/cus-start.el (help-quote-translation): Add :version.
3129         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
3131 2015-06-18  Alan Mackenzie  <acm@muc.de>
3133         Make translation of quotes to curly in doc strings optional.
3134         src/doc.c (traditional, prefer-unicode): new symbols.
3135         (help-quote-translation): new variable.
3136         (Fsubstitute_command_keys): make translation of quotes dependent on
3137         `help-quote-translation'; also translate curly quotes back to ASCII
3138         ones.
3139         lisp/cus-start.el (top-level): Add a customization entry for
3140         `help-quote-translation'.
3142 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
3144         * lisp/emacs-lisp/package.el: Don't always propagate async errors
3145         (package--with-work-buffer-async): Only propagate the error if the
3146         callback returns non-nil.
3147         (package--download-one-archive): Return nil on the signature
3148         checking callback if we accept unsigned.
3149         (package--download-and-read-archives): Return non-nil on the
3150         archive download callback.
3152 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
3154         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
3155         * src/nsfns.m (Fx_create_frame):
3156         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
3157         image_cache_refcount before first x_default_parameter call.
3159 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
3161         Improve and extend filepos-to-bufferpos
3162         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
3163         Don't barf if F returns nil for some argument.
3164         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
3165         that every encoding of type 'charset' is single-byte.
3167 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
3169         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
3170         Properly delete packages.  (Bug#20836)
3172 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
3174         Update data files from just-released Unicode 8.0
3175         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
3176         status.
3177         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
3178         * admin/unidata/BidiMirroring.txt:
3179         * admin/unidata/BidiBrackets.txt:
3180         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
3182 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
3184         Document curved quotes a bit better
3185         * doc/emacs/basic.texi (Inserting Text):
3186         Mention C-x 8.  Change example to use curved quote rather
3187         than infinity, as this lets us give more ways to do it.
3188         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
3189         and quotation marks.
3190         * doc/emacs/text.texi (Quotation Marks):
3191         * doc/lispref/tips.texi (Documentation Tips):
3192         Add "curly quotes" and "curved quotes" to the index.
3193         * doc/emacs/text.texi (Quotation Marks):
3194         Give the C-x 8 shorthands for curved quotes.
3195         Cross-reference to "Quotation Marks".
3197 2015-06-17  Daiki Ueno  <ueno@gnu.org>
3199         Add pinentry.el for better GnuPG integration
3200         * lisp/pinentry.el: New file.
3201         * etc/NEWS: Add entry about pinentry.el.
3202         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
3203         (Bug#20550)
3205 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
3207         * lisp/emacs-lisp/package.el: Slightly better error reporting.
3209 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
3211         (define-minor-mode): Use setq-default for :global minor modes
3212         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
3213         Use setq-default for :global minor modes (bug#20712).
3215 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
3217         Avoid infloop in redisplay with tall images
3218         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
3219         down near ZV.  (Bug#20808)
3220         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
3221         instead of CHARPOS.
3223 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
3225         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
3226         Fix error reporting.
3228         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
3230         * lisp/emacs-lisp/package.el: Revert buffer after any operation
3231         Call `package-menu--post-refresh' after any operation that changes
3232         the package database (`package-install' and `package-delete').  To
3233         avoid performance issues in large transactions, these functions
3234         add `post-refresh' to `post-command-hook' instead of calling it
3235         immediately.
3236         (package-menu--mark-or-notify-upgrades): New function.
3237         (list-packages): Add it to `package--post-download-archives-hook'.
3238         (package-menu--post-refresh): Lose the upgrade-checking code, add
3239         code to remove itself from `post-command-hook'.
3240         (package-install, package-delete): Add it to `post-command-hook'.
3241         (package-menu-execute): Don't call `package-menu--post-refresh'.
3243 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
3245         Add missing function xref-location-group for elisp-mode.
3246         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
3248 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
3250         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
3251         The behavior now matches the description in the manual.  (Bug#20783)
3253 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
3255         Update tutorials/TUTORIAL.cn
3256         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
3258 2015-06-17  Glenn Morris  <rgm@gnu.org>
3260         Generate char-script-table from Unicode source.  (Bug#20789)
3261         * admin/unidata/Makefile.in (AWK): New, set by configure.
3262         (all): Add charscript.el.
3263         (blocks): New variable.
3264         (charscript.el, ${unidir}/charscript.el): New targets.
3265         (extraclean): Also remove generated charscript.el.
3266         * admin/unidata/blocks.awk: New script.
3267         * admin/unidata/Blocks.txt: New data file, from unicode.org.
3268         * lisp/international/characters.el: Load charscript.
3269         * src/Makefile.in (charscript): New variable.
3270         (${charscript}): New target.
3271         (${lispintdir}/characters.elc): Depend on charscript.elc.
3272         (temacs$(EXEEXT)): Depend on charscript.
3274         * lisp/international/characters.el (char-script-table): Tweak
3275         some ranges to better match the source.  (Bug#20789#17)
3277         Remove "no-byte-compile: t" from a few files.
3278         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
3279         * lisp/obsolete/patcomp.el: No reason not to compile these.
3281 2015-06-16  Glenn Morris  <rgm@gnu.org>
3283         Fix some typos in copied Unicode data.  (Bug#20789)
3284         * lisp/international/characters.el (char-script-table):
3285         * lisp/international/fontset.el (script-representative-chars)
3286         (setup-default-fontset): Fix typos.
3288         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
3289         Don't print filename twice (it's in the prefix now).
3291         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
3292         No longer needed.
3294         Address a compilation warning.
3295         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
3296         Replace 't' with '_' in pcase.
3298         Address some check-declare warnings.
3299         * lisp/simple.el (tabulated-list-print):
3300         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
3301         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
3302         (ns-get-selection): Update declarations.
3304         Address some compilation warnings.
3305         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
3306         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
3307         Replace 't' with '_' in pcase.
3309         Address some compilation warnings.
3310         * lisp/face-remap.el (text-scale-adjust):
3311         * lisp/menu-bar.el (popup-menu-normalize-position):
3312         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
3313         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
3314         * lisp/emacs-lisp/generator.el (cps--transform-1):
3315         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
3316         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
3317         * lisp/progmodes/octave.el (octave-goto-function-definition)
3318         (octave-find-definition-default-filename):
3319         Replace 't' with '_' in pcase.
3321         * lisp/emacs-lisp/pcase.el (pcase--u1):
3322         Paper-over today's bootstrap failure.
3324 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
3326         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
3328         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
3330         Better confirmation message in `find-alternate-file' (Bug#20830)
3331         * lisp/files.el (find-alternate-file'): Improve the confirmation
3332         message to show the buffer name.
3334         Better docstring for null. (Bug#20815)
3335         * src/data.c (null): Improves the docstring, saying what null returns
3336         when OBJECT is non-nil.
3338 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3340         * lisp/net/newst-treeview.el: Use lexical-binding.
3342         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
3343         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
3344         New auxiliary function, extracted from filepos-to-bufferpos.
3345         Make sure it terminates.
3346         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
3347         Add support for the `exact' quality.
3349 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
3351         Identify feeds in newsticker treeview with :nt-feed property
3352         * lisp/net/newst-treeview.el:
3353         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
3355 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3357         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
3358         (pcase--self-quoting-p): Floats aren't self-quoting.
3359         (pcase): Tweak docstring.
3360         (pcase--u1): Deprecate the t pattern.  Improve error detection for
3361         the nil pattern.
3362         (\`): Tweak docstring.  Signal an error for unrecognized cases.
3363         (bug#20784)
3365 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
3367         Fix infloop in filepos-to-bufferpos
3368         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
3369         offset calculation, and make it conditional on the eol-type of the
3370         file's encoding.  (Bug#20825)
3372 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
3374         Fix handling of image cache refcounts.  (Bug#20802)
3375         This backports Eli Zaretskii's solution of this problem for W32
3376         to X and NS.
3377         * src/nsfns.m (image_cache_refcount): Define unconditionally.
3378         (unwind_create_frame): If the image cache's reference count
3379         hasn't been updated yet, do that now.
3380         (Fx_create_frame): Set image_cache_refcount unconditionally.
3381         * src/xfns.c (image_cache_refcount): Define unconditionally.
3382         (unwind_create_frame): If the image cache's reference count
3383         hasn't been updated yet, do that now.
3384         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
3385         unconditionally.
3386         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
3387         X and NS.
3389 2015-06-16  Nils Ackermann  <nils@ackermath.info>
3391         Improve reftex-label-regexps default value
3392         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
3393         keyvals label regexp more strict to better cope with unbalanced
3394         brackets common in math documents.
3396 2015-06-16  Glenn Morris  <rgm@gnu.org>
3398         * doc/emacs/calendar.texi (Format of Diary File):
3399         Move "nonmarking" from here...
3400         (Displaying the Diary): ... to here.
3402         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
3403         Swap the order of these nodes.
3404         * doc/emacs/emacs.texi: Update detailed menu for the above change.
3406         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
3407         Update date of examples.
3408         (Diary, Format of Diary File): Move example from former to latter.
3409         Reduce duplication.
3411         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
3412         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
3413         Don't set no-byte-compile in the outputs.
3414         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
3416 2015-06-15  Glenn Morris  <rgm@gnu.org>
3418         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
3419         * doc/emacs/calendar.texi (Diary, Format of Diary File):
3420         Update for above diary-file change.
3421         : * etc/NEWS: Mention this.
3423         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
3424         (apply-macro-to-region-lines): Use user-error.
3426         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
3427         (pages-directory-for-addresses): Doc fixes.
3429 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
3431         * lisp/info.el: Cleanup bytepos/charpos issues
3432         * lisp/international/mule-util.el: Use lexical-binding.
3433         (filepos-to-bufferpos): New function.
3434         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
3435         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
3436         (Info-read-subfile, Info-search): Use 0-based file positions.
3438         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
3439         (perl--syntax-exp-intro-keywords): New var.
3440         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
3441         (bug#20800).
3443 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3445         Fix quoting when making derived mode docstring
3446         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
3447         Nest regexp-quote inside format, not the reverse.
3448         Problem reported by Artur Malabarba in:
3449         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
3451 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
3453         Fix current-iso639-language on MS-Windows
3454         * lisp/international/mule-cmds.el (set-locale-environment):
3455         Downcase the locale name before interning it.  This is so the
3456         'current-iso639-language' on MS-Windows matches the ':lang'
3457         property of font-spec objects.
3459         Limit Symbola usage some more
3460         * lisp/international/fontset.el (setup-default-fontset): Limit
3461         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
3462         (Bug#20727)
3464 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
3466         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3468 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3470         Spelling fixes
3472 2015-06-14  Glenn Morris  <rgm@gnu.org>
3474         * lisp/version.el (emacs-repository-version-git): Demote errors.
3475         Check result is a hash.
3477 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
3479         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
3480         Catch errors that happen before going async.  (Bug#20809)
3482 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
3484         Another improvement of documentation of set-fontset-font
3485         * doc/lispref/display.texi (Fontsets): Say explicitly that
3486         CHARACTER can be a single codepoint.
3487         * src/fontset.c (Fset_fontset_font): Doc fix.
3489         Another improvement for symbol and punctuation characters
3490         * lisp/international/fontset.el (setup-default-fontset): Exclude
3491         from Symbola character ranges for symbols and punctuation covered
3492         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
3493         installed and where its coverage of symbols and punctuation is
3494         known to be good.  (Bug#20727)
3496 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
3498         Some generic support for multi-mode indentation.
3499                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
3500                 variable.
3501                 (prog-first-column, prog-widen): New convenience functions.
3503 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
3505         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
3506         Don't assume that `tabulated-list-printer' will leave point at the
3507         end of the buffer.  (Bug#20810)
3509 2015-06-13  Glenn Morris  <rgm@gnu.org>
3511         Tweaks for getting repository version; a bit more like it was for bzr.
3512         * lisp/version.el (emacs-repository-version-git)
3513         (emacs-repository--version-git-1): New functions,
3514         split from emacs-repository-get-version.
3515         (emacs-repository-get-version): Make the second argument meaningful.
3517         * lisp/startup.el (command-line-1): Inform if skipping relative
3518         file names due to deleted PWD.
3520         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
3521         when starup directory is missing.  (Bug#18851)
3522         (errno.h): Include it.
3524 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
3526         Better fix for documenting `X as "`X"
3527         Fix suggested by Stefan Monnier.
3528         * lisp/help-fns.el (help-fns--signature):
3529         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
3530         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3531         Don't treat `X specially, as help-fns--signature now handles this.
3533 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
3535         Improve the default fontset when Symbola is not installed
3536         * lisp/international/fontset.el (setup-default-fontset): Only
3537         prepend Symbola and FreeMono font specs for symbols and
3538         punctuation; do not replace the default spec for them.  This
3539         should have better results when Symbola/FreeMono are not
3540         installed.  (Bug#20727)
3542         Improve documentation of ':lang' in font specs
3543         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
3544         use of the ':lang' property of the font spec.
3545         * doc/emacs/frames.texi (Fonts): Document the language names that
3546         can be in the STYLE part of XLFD.
3547         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
3548         property.
3550         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
3552         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
3554         Revert last change in fontset.el
3555         * lisp/international/fontset.el (setup-default-fontset): Revert
3556         the change "Configure Symbola font only if installed", since font
3557         search is evidently not yet set up when this function is called.
3558         (Bug#20727)
3560 2015-06-12  Glenn Morris  <rgm@gnu.org>
3562         Ensure early startup warnings are visible at the end.  (Bug#20792)
3563         * lisp/emacs-lisp/warnings.el (display-warning):
3564         If startup isn't complete, delay the warning.
3565         * lisp/startup.el (normal-top-level, command-line):
3566         Let display-warning automatically handle the needed delays.
3567         Run delayed-warnings-hook.
3569         * lisp/version.el (emacs-repository-get-version):
3570         Avoid calling external executable if possible.  (Bug#20799)
3572 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3574         Document `X as "`X", not as "(` X)"
3575         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3576         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
3578         * src/print.c (print_object): Minor simplification.
3580 2015-06-12  Glenn Morris  <rgm@gnu.org>
3582         * src/buffer.c (init_buffer): Add final newline to message.
3584 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3586         Configure Symbola font only if installed
3587         * lisp/international/fontset.el (setup-default-fontset):
3588         Don't specify the Symbola font if it's not installed.
3589         Likewise for FreeMono.  (Bug#20727)
3591 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
3593         Configure Symbola font only for symbols and punctuation
3594         * lisp/international/fontset.el (setup-default-fontset): Leave
3595         only symbols and punctuation in the fontset setup for Symbola
3596         font; remove "Greek and Coptic" and "Cyrillic Supplement".
3597         (Bug#20798)
3599 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
3601         Fix crash in fontset-info
3602         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
3603         non-nil.
3605 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3607         Port to Solaris 10 sparc + Sun C 5.13
3608         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
3609         Adjust to process.c change.
3610         * src/process.c (create_process): Declare volatile variables at
3611         top level of this function, so that they're less likely to be
3612         reused later in the function in the code executed by the vforked
3613         child.  Do not declare locals used only in the vforked child, as
3614         they might share memory with locals still live in the parent.
3615         Instead, use the same variables in the child as in the parent.
3616         This works around a subtle bug that causes a garbage collector
3617         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
3619 2015-06-12  Glenn Morris  <rgm@gnu.org>
3621         * lisp/startup.el (normal-top-level): Don't let *Messages* get
3622         a nil default-directory.
3624 2015-06-11  Glenn Morris  <rgm@gnu.org>
3626         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
3628         Some progress towards starting with PWD deleted.  (Bug#18851)
3629         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
3630         * lisp/startup.el (normal-top-level, command-line-1):
3631         * lisp/minibuffer.el (read-file-name-default):
3632         Handle default-directory being nil.
3634 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3636         Fix "not a tty" bug on Solaris 10
3637         * configure.ac (PTY_OPEN): Define to plain 'open'
3638         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
3639         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
3640         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
3641         hosts that call grantpt which does its work via a setuid subcommand
3642         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
3643         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
3644         seems relevant in that case too.
3646 2015-06-11  Juri Linkov  <juri@linkov.net>
3648         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
3649         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
3650         (Bug#20785)
3652 2015-06-11  Glenn Morris  <rgm@gnu.org>
3654         * lisp/international/characters.el (char-script-table): Fix typo.
3656 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3658         Fix quoting of help for functions with odd names
3659         While investigating Bug#20759, I discovered other quoting problems:
3660         C-h f mishandled characters like backslash and quote in function names.
3661         This fix changes the behavior so that 'C-h f pcase RET' now
3662         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
3663         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
3664         in src/lread.c's read1 function says that the backslash will be
3665         needed starting in Emacs 25, which implies that 'format' is
3666         correct and the old pcase documention was wrong to omit the backslash.
3667         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
3668         * lisp/help-fns.el (help-fns--signature):
3669         * lisp/help.el (help-add-fundoc-usage):
3670         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
3671         Use help--make-usage-docstring rather than formatting
3672         help-make-usage.
3673         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
3674         Return raw docstring.
3675         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
3676         raw docstring.  Take more care to distinguish raw from cooked dstrings.
3677         (describe-function-1): Let help-fns--signature substitute
3678         command keys.
3679         * lisp/help.el (help--docstring-quote): New function.
3680         (help-split-fundoc): Use it, to quote funny characters more
3681         systematically.
3682         (help--make-usage): Rename from help-make-usage, since this
3683         should be private.  Leave an obsolete alias for the old name.
3684         (help--make-usage-docstring): New function.
3685         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
3687 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3689         * lisp/thingatpt.el (in-string-p): Revert last change,
3690         since in-string-p is not used in thingatpt.el but only from outside.
3691         Also, use lexical binding.
3693 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
3695         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
3696         * test/automated/let-alist.el (let-alist-cons): Test it.
3698 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3700         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
3702 2015-06-10  Glenn Morris  <rgm@gnu.org>
3704         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
3706         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
3707         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
3708         * admin/gitmerge.el (gitmerge-commit-message):
3709         Exclude "skipped" messages from ChangeLog once again.
3711         Slight namespace cleanup for thingatpt.el.
3712         * lisp/thingatpt.el (thing-at-point--in-string-p)
3713         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
3714         (thing-at-point--read-from-whole-string): Rename from
3715         old versions without "thing-at-point--" prefix.
3716         Keep old versions as obsolete aliases.  Update all uses.
3718         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
3719         Move requiring of finder from here...
3720         (checkdoc-package-keywords): ... to here.
3722         Use 'user-error' in a few calendar files.
3723         * lisp/calendar/appt.el (appt-add):
3724         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
3725         (calendar-generate):
3726         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
3727         Replace 'error' with 'user-error'.
3729         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
3731         * lisp/files-x.el (add-file-local-variable):
3732         Special-case 'lexical-binding'.  (Bug#20641)
3734         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
3735         No longer autoload.
3736         * doc/misc/autotype.texi (Executables):
3737         Undocument executable-self-display.
3739         * lisp/progmodes/executable.el (executable-self-display):
3740         Use non-obsolete tail syntax.  (Bug#20779)
3741         (executable-self-display): Doc update.
3743 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3745         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
3746         (finder-known-keywords): Silence byte-compiler.
3748 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
3750         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
3752         * lisp/progmodes/sh-script.el: Better handle nested quotes
3753         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
3754         (sh-font-lock-quoted-subshell): Make sure double quotes within single
3755         quotes don't mistakenly end prematurely the surrounding string.
3757         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
3759 2015-06-09  Glenn Morris  <rgm@gnu.org>
3761         * test/automated/Makefile.in (ELFILES): Sort.
3763         * Makefile.in (SUBDIR_MAKEFILES):
3764         * lwlib/Makefile.in (WARN_CFLAGS):
3765         Use built-in Make functions rather than echo+sed.
3767 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
3769         Update char-script-table
3770         * lisp/international/characters.el (char-script-table): Update
3771         from Unicode 8.0 Draft.
3773         Improve font selection for punctuation and other symbols
3774         * src/fontset.c (face_for_char): If the character's script is
3775         'symbol', and the font used for ASCII face has a glyph for it, use
3776         the font for the ASCII face instead of searching the fontsets.
3777         This comes instead of NS-specific code that used the current
3778         face's font instead, which is now disabled due to undesirable
3779         consequences.  (Bug#20727)
3781 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
3783         Skip past `#' to find BEG
3784         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
3785         past `#' to find BEG (bug#20771).
3786         * test/automated/elisp-mode-tests.el
3787         (elisp-completes-functions-after-hash-quote): New test.
3789 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3791         Fix compilation warning/error in --without-x builds
3792         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
3793         code on HAVE_WINDOW_SYSTEM.
3795         Improve the default fontset wrt symbols
3796         * lisp/international/fontset.el (setup-default-fontset): Better
3797         setup of fontset-default for symbols: use Symbola and FreeMono.
3798         (Bug#20727)
3800 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3802         Add new command checkdoc-package-keywords
3803         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
3804           defcustom.
3805         (checkdoc-list-of-strings-p): Add doc.
3806         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
3807         non-nil, call `checkdoc-package-keywords'.
3808         (checkdoc-get-keywords): New defun.
3809         (checkdoc-package-keywords): New command. Warns if the current file
3810         has package.el-style keywords that aren't in `finder-known-keywords'.
3811         * etc/NEWS: Add entry.
3813 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3815         Avoid crashes when key-binding is called from a timer
3816         * src/keymap.c (Fkey_binding): Don't segfault if called with an
3817         empty vector as KEY.  (Bug#20705)
3819         Fix a thinko in arc-mode.el
3820         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
3821         non-Zip64 case.  (Bug#20769)
3823 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
3825         * lisp/emacs-lisp/package.el (package-delete): Make interactive
3827 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3829         checkdoc.el (checkdoc-file): New function
3830         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
3831           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
3832           to the standard output.
3833         (bug#20754)
3835 2015-06-07  Glenn Morris  <rgm@gnu.org>
3837         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
3839         * src/font.c (syms_of_font) <font-log>: Doc fix.
3841         Remove the obsolete leading "*" from some C doc strings.
3842         * src/coding.c (syms_of_coding):
3843         * src/font.c (syms_of_font): Remove leading "*" from docs.
3844         * lisp/cus-start.el (enable-character-translation): Add it.
3846 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
3848         Move gen_origin from program to data
3849         That way, 'make change-history' needs to change only ChangeLog.2,
3850         instead of having to change two files.
3851         * ChangeLog.2: Add commit info for range that this file covers.
3852         * Makefile.in (new_commit_regexp): New macro.
3853         (change-history-nocommit): Simplify, by putting what used to be
3854         the gen_origin value into the data (ChangeLog.2) rather than
3855         into the program (gitlog-to-emacslog).
3856         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
3857         the input file (e.g., ChangeLog.2) rather than by having a
3858         constant in the program.  Substitute it into the output.
3860 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
3862         Escape any quotes in the function name
3863         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
3864         function name (bug#20759).
3866 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
3868         Adapt 'struct timespec' to next release of MinGW runtime
3869         * nt/inc/ms-w32.h (struct timespec): Don't declare if
3870         __struct_timespec_defined is defined.
3872 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3874         Merge from gnulib
3875         This incorporates:
3876         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
3877         2015-06-05 stdio: Don't redefine gets when using C++
3878         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
3879         2015-06-02 file-has-acl: fix build on Mac OS X 10
3880         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
3881         2015-06-01 pthread_sigmask: discount system version if a simple macro
3882         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
3883         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
3884         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
3885         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
3886         * lib/gnulib.mk: Regenerate.
3888 2015-06-06  Juri Linkov  <juri@linkov.net>
3890         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
3891         before calling grep-compute-defaults because now it affects the
3892         command lines computed in grep-compute-defaults. (Bug#20728)
3894 2015-06-06  Glenn Morris  <rgm@gnu.org>
3896         Address some compilation warnings.
3897         * lisp/international/mule-cmds.el (w32-get-console-codepage)
3898         (w32-get-console-output-codepage):
3899         * lisp/progmodes/elisp-mode.el (xref-collect-references):
3900         * lisp/version.el (cairo-version-string): Declare.
3901         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
3903 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3905         Fix display when a font claims large values of ascent and descent
3906         This fixes bug#20628.
3907         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
3908         coordinate of a hollow cursor glyph when the original glyph's
3909         ascent is too small.
3910         (get_font_ascent_descent, normal_char_ascent_descent)
3911         (normal_char_height): New functions.
3912         (handle_single_display_spec, append_space_for_newline)
3913         (calc_pixel_width_or_height, produce_stretch_glyph)
3914         (calc_line_height_property): Use normal_char_ascent_descent and
3915         normal_char_height.
3916         (x_produce_glyphs): When font-global values of ascent and descent
3917         are too large, use per-character glyph metrics instead, if
3918         possible.  But don't allow the glyph row's ascent and descent
3919         values become smaller than the values from the metrics of the
3920         font's "normal" character.
3921         * src/xftfont.c (xftfont_draw):
3922         * src/w32font.c (w32font_draw): Correct the values of ascent and
3923         descent used to draw glyphless characters' hex code in a box.
3924         * src/xterm.c (x_draw_glyph_string_background):
3925         * src/xdisp.c (x_produce_glyphs):
3926         * src/w32term.c (x_draw_glyph_string_background):
3927         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
3928         to detect fonts whose global ascent and descent values are too
3929         large to be used in layout decision, and redraw the background
3930         when that happens.
3931         * src/dispextern.h (FONT_TOO_HIGH): New macro.
3932         (get_font_ascent_descent): Add prototype.
3933         * src/xterm.c (x_new_font):
3934         * src/w32term.c (x_new_font):
3935         * src/nsterm.m (x_new_font):
3936         * src/font.c (font_open_entity):
3937         * src/composite.c (composition_gstring_width): Use
3938         get_font_ascent_descent to obtain reasonable values for ascent and
3939         descent of a font.
3941 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3943         Add assertion in adjust_point_for_property
3944         * src/keyboard.c (adjust_point_for_property): Add eassert for
3945         current buffer being shown in selected window.
3947 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
3949         Replace uses of in-string-p; make it obsolete
3950         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
3951         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
3953 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3955         Fix Dired display of an explicit list of files by ls-lisp.el
3956         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
3957         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
3958         correct for when displaying individual files separately, not as
3959         part of listing a directory, in which case these values are not
3960         recomputed by 'ls-lisp-insert-directory', but used verbatim.
3962         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
3964 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3966         Do not adjust point in a non-selected window
3967         * src/keyboard.c (command_loop_1): Do not adjust point when
3968         current buffer is not shown in selected window (Bug#20590).
3970         * etc/DEBUG: Mention 'maybe_call_debugger'
3972 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
3974         Fix a unit test for map.el
3975         * test/automated/map-tests.el (test-map-let): Fix the test to work
3976         with the new syntax of `map-let'.
3978         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3980         Better syntax for the map pcase pattern
3981         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
3982         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
3984         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
3986         Fix a byte-compiler error in map-put and map-delete
3987         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
3988         called with a symbol.
3990 2015-06-05  Glenn Morris  <rgm@gnu.org>
3992         * admin/gitmerge.el (gitmerge-commit-message):
3993         Revert to including "skipped" messages in ChangeLog once again.
3995 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
3997         Use string> instead of equiv lambda with string<
3998         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
3999         lambda with string<.
4001 2015-06-05  Glenn Morris  <rgm@gnu.org>
4003         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
4004         (map--delete-array): Fix typo.
4006         * test/automated/map-tests.el: Replace "assert" with "should".
4008         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
4009         (SUBDIRS_REL): Derive from SUBDIRS.
4011         Tweak some build messages.
4012         * lisp/Makefile.in ($(lisp)/loaddefs.el):
4013         * lisp/cus-dep.el (custom-make-dependencies):
4014         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
4015         * lisp/international/titdic-cnv.el (batch-titdic-convert):
4016         Don't say how to compile.
4018 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
4020         Omit U+0332 COMBINING LOW LINE in previous change
4021         It turns out that it does not work on Ubuntu 15.04.
4023         Fix transliteration of Bahá'í months
4024         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
4025         Improve quality of Latin transliteration of Bahá'í month names.
4027         Fix curved quotes in a few places
4028         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
4029         The strings in question are not doc strings, so this partially
4030         undoes the recent change that assumed they were doc strings.
4031         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
4032         * lisp/info.el (Info-finder-find-node):
4033         Use curved quotes.
4034         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
4035         Also allow curved quotes in doc strings.
4037 2015-06-04  Glenn Morris  <rgm@gnu.org>
4039         * lisp/Makefile.in (AM_V_at): Add missing definition.
4041         * lisp/Makefile.in: Quieten output a bit.
4042         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
4043         Don't echo directories, since the commands we invoke print them.
4045         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
4046         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
4047         (SUBDIRS_SUBDIRS): New variables.
4048         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
4049         Remove.
4050         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
4051         (update-subdirs, compile-main, compile-clean):
4052         Replace "setwins" usage with new "SUBDIRS" variables.
4054         * lisp/vc/compare-w.el (compare-windows-get-window-function):
4055         Fix :version tag.
4057 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4059         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
4061         Undo removal of x_clear_area call on expose for GTK3 or cairo.
4062         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
4063         exposed area.  (Bug#20677)
4065 2015-06-04  Glenn Morris  <rgm@gnu.org>
4067         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
4069         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
4071         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
4072         Rename from quail-lao-update-translation, since lao.el defines that.
4074 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
4076         Handle new-style advice in find-funct
4077         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
4078         Handle new-style advice.  Return the symbol's function definition.
4079         (Bug#20718)
4080         (find-function-library): Update accordingly.
4082 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
4084         Merge branch 'map'
4086         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
4088         Add new function string-greaterp
4089         * lisp/subr.el (string-greaterp): New function.  Also aliased to
4090         `string>'.
4091         * test/automated/subr-tests.el (string-comparison-test): Add unit
4092         tests for `string>'and `string<'.
4093         * src/fns.c (string-lessp): Better docstring.
4095 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
4097         Fix timezone-related functions on MS-Windows
4098         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
4099         'xputenv', even if no reallocation of tzvalbuf was necessary.
4100         This fixes a bug in timezone-related functions on MS-Windows.
4101         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
4103 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
4105         Don't pass raw directory name to 'error'
4106         * lisp/files.el (basic-save-buffer-2): Avoid format error if
4107         a directory name contains a string like "%s".
4109 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
4111         Override 'grep --color=always'
4112         * lisp/progmodes/xref.el (xref-collect-matches):
4113         Override --color=always in grep-find-template.
4115 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
4117         Fix error introduced recently in file-notify-tests.el
4118         * test/automated/file-notify-tests.el
4119         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
4120         (file-notify--deftest-remote): Revert previous patch, not
4121         necessary anymore.
4123 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
4125         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
4126         Starting from a display string after a newline, point went to the
4127         previous line.  Also, fix an inadvertent use of a buffer position
4128         with FETCH_BYTE.  (Bug#20701)
4130 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
4132         Instrument file-notify-test.el in order to catch hydra error.
4133         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
4134         Wrap body by `ignore-case', in order to trap non-local errors.
4136 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4138         Undo previous changes in non-toolkit scroll bar drawing.
4139         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
4140         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
4142 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
4144         * .gitignore: Also ignore doc/*/*/*.html and .ps.
4146         Support quotes 'like this' in info files
4147         This is possible when 'makeinfo --disable-encoding' is used
4148         in Texinfo 5.
4149         * lisp/calc/calc-help.el (calc-describe-thing):
4150         * lisp/gnus/gnus-art.el (gnus-button-alist):
4151         * lisp/info.el (Info-find-index-name):
4152         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4153         Also support quotes 'like this'.
4154         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
4155         * lisp/finder.el (finder-font-lock-keywords): Remove var that
4156         hasn't been used in years, instead of bothering to fix its quoting.
4158 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
4160         * .gitignore: Remove !test/etags/html-src/*.html.
4161         It's no longer needed, since *.html was removed.  Sort.
4163 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
4165         Restore <D> instead of '.' in grep-find-template
4166         * lisp/cedet/semantic/symref/grep.el
4167         (semantic-symref-grep-use-template): Update a comment.
4168         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
4169         instead of '.' in grep-find-template (bug#20719).
4170         (rgrep): Pass nil as the directory to rgrep-default-command.
4171         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
4172         default value for DIR.
4173         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
4174         workaround.
4176 2015-06-02  Glenn Morris  <rgm@gnu.org>
4178         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
4180         * configure.ac (emacs_config_features): Add Cairo.
4182         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
4184 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
4186         Ensure, that autorevert works for remote files in file-notify-tests.el
4187         * test/automated/file-notify-tests.el (file-notify--test-desc):
4188         New defvar.
4189         (file-notify--test-remote-enabled)
4190         (file-notify-test00-availability, file-notify-test01-add-watch)
4191         (file-notify-test02-events): Use it.
4192         (file-notify--test-event-test): Check proper descriptor.
4193         (file-notify-test03-autorevert): Ensure, that
4194         `visited-file-modtime' has changed.
4195         (Bug#20392)
4197 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
4199         Add a pcase pattern for maps and `map-let' based on it
4200         * lisp/emacs-lisp/map.el (map-let): New macro.
4201         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
4202         * test/automated/map-tests.el: New test for `map-let'.
4204 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
4206         Reuse rgrep mechanics in xref-find-regexp
4207         * lisp/progmodes/grep.el (rgrep-default-command):
4208         Extract from `rgrep'.
4209         * lisp/progmodes/xref.el (xref-collect-references): Split from
4210         `xref-collect-matches'.  Only handle the case of symbol search.
4211         (xref-collect-matches): Instead of Semantic Symref, use
4212         `rgrep-default-command', to take advantage of its directory and
4213         file ignore settings.
4214         (xref--collect-match): Remove the last argument, leaving the
4215         regexp construction up to the caller.
4216         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
4217         Change to take the xref-collect- function to use as an argument.
4218         (elisp-xref-find): Update accordingly.
4219         * lisp/progmodes/etags.el (etags--xref-find-matches)
4220         (etags-xref-find): Same.
4222         Move xref-elisp-location to elisp-mode.el
4223         * lisp/progmodes/xref.el (xref-elisp-location)
4224         (xref-make-elisp-location, xref-location-marker): Remove here.
4225         (xref--xref): Don't limit the type of the location slot.
4226         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
4227         Define as a cl-struct here.
4228         (xref-location-marker): Move here.
4230 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
4232         Minor tweaks for .gitignore
4233         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
4234         ignore admin/notes/tags that might be ignored as TAGS on
4235         case-insensitive filesystems.  (Bug#20710)
4237 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
4239         Generate curved quotes in ert doc
4240         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
4241         (ert-results-mode-menu)
4242         (ert-results-pop-to-backtrace-for-test-at-point)
4243         (ert-results-pop-to-messages-for-test-at-point)
4244         (ert-results-pop-to-should-forms-for-test-at-point)
4245         (ert-describe-test):
4246         Quote ‘like this’, not `like this', when generating doc strings
4247         and the like.
4248         * test/automated/ert-x-tests.el (ert-test-describe-test):
4249         Allow quoting ‘like this’.
4251 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
4253         Add test for previous commit
4254         * test/automated/replace-tests.el: New file.
4255         (query-replace--split-string-tests): Add test for previous commit.
4257         Avoid confusion in query-replace history when replacing NUL chars
4258         * lisp/replace.el (query-replace--split-string): New function.
4259         (query-replace-read-from): Rely on the 'separator' property
4260         instead of searching for the NUL character (Bug#20690).
4262 2015-06-02  Glenn Morris  <rgm@gnu.org>
4264         Merge from origin/emacs-24
4265         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
4267         * admin/gitmerge.el (gitmerge-commit-message):
4268         Exclude "skipped" messages from ChangeLog.
4270 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
4272         Sync with Tramp repository
4273         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
4274         messages.
4275         (tramp-handle-make-auto-save-file-name): When calling
4276         `make-auto-save-file-name' internally, make sure it uses Unix-like
4277         behavior, not Windows-like behavior.
4278         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
4279         the local case, because "chown" might fail on w32.
4280         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
4281         for XEmacs.
4283 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
4285         MS-Windows followup for batch stdout/stderr output changes
4286         * lisp/international/mule-cmds.el (set-locale-environment): In
4287         batch mode, use console codepages for keyboard and terminal
4288         encoding.  (Bug#20545)
4290         Update .gitattributes for DOS EOL files
4291         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
4292         CRLF end-of-line format.
4294         NS equivalents of xterm.c and w32term.c changes
4295         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
4296         glyph string background also when the font in use claims
4297         preposterously large global height value.  Helps to remove
4298         artifacts left from previous displays when glyphless characters
4299         are displayed as hex code in a box.
4300         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
4301         value for FRAME_LINE_HEIGHT, even when a font claims very large
4302         value for its height.
4304 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
4306         Avoid grave accent quoting in stderr diagnostics
4307         A few Emacs diagnostics go directly to stderr, and so can't easily
4308         contain curved quotes (as non-UTF-8 locales might mishandle them).
4309         Instead of bothering to add support for this rarity, reword the
4310         diagnostics so that they don't use grave accent to quote.
4311         * src/alloc.c (mark_memory): Fix comment.
4312         * src/buffer.c (init_buffer):
4313         * src/dispnew.c (init_display):
4314         * src/emacs.c (main, sort_args):
4315         * src/lread.c (dir_warning):
4316         * src/term.c (init_tty):
4317         * src/unexmacosx.c (unexec):
4318         * src/xfns.c (select_visual):
4319         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
4320         Reword stderr diagnostics to avoid quoting `like this'.
4321         * src/unexmacosx.c: Include errno.h.
4322         * src/xfns.c (select_visual): Encode value for locale.
4324 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
4326         Treat batch stdout/stderr like standard display
4327         Calls like (print FOO) could generate improperly encoded or
4328         hard-to-read output if FOO contains characters outside the system
4329         locale.  Fix this by treating batch stdout and stderr like
4330         interactive standard display, when it comes to transliterating and
4331         encoding characters (Bug#20545).
4332         * doc/emacs/mule.texi (Communication Coding):
4333         * doc/lispref/display.texi (Active Display Table):
4334         * doc/lispref/nonascii.texi (Locales):
4335         * etc/NEWS:
4336         * src/coding.c (syms_of_coding):
4337         * src/dispnew.c (syms_of_display):
4338         Document this.
4339         * src/print.c: Include disptab.h.
4340         (printchar_to_stream): New function, with much of the guts of the
4341         old Fexternal_debugging_output, except this one also uses the
4342         standard display table.
4343         (printchar, strout, Fexternal_debugging_output): Use it.
4345 2015-05-31  Glenn Morris  <rgm@gnu.org>
4347         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
4349 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
4351         Remove unused DEFSYMs
4352         Remove DEFSYMs that aren't used at the C level.  Also:
4353         * src/decompress.c (Qzlib_dll):
4354         * src/font.c (Qunicode_sip):
4355         * src/frame.c (Qtip_frame):
4356         * src/ftfont.c (Qserif):
4357         * src/gnutls.c (Qgnutls_dll):
4358         * src/xml.c (Qlibxml2_dll):
4359         Move from here ...
4360         * src/w32fns.c (syms_of_w32fns): ... to here,
4361         as these are used only on MS-Windows.
4363 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
4365         Use another default value for tramp-histfile-override
4366         * lisp/net/tramp-sh.el (tramp-histfile-override):
4367         Use ".tramp_history" as default.
4368         Fixes: debbugs:#20446
4370 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
4372         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
4374 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
4376         * etc/NEWS: Add an entry about map.el
4378         Improve the docstring of functions in map.el
4379         Since a map is not a data structure but a concept, adding information
4380         about the possible types of maps can be useful information.
4381         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
4382         each public function.
4384 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
4386         Faster implementation of map-empty-p
4387         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
4388         specific tests depending on the type of the map.
4390         * lisp/emacs-lisp/map.el: Better docstrings.
4392 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
4394         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
4396 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
4398         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
4400         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
4402         Fix a false negative in `map-elt' with alists and values being nil
4403         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
4404         found but its associated value is nil, do not return the default
4405         value.
4406         * test/automated/map-tests.el: Add a regression test.
4408 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
4410         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
4412         Do not signal an error when trying to delete a key from an array
4413         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
4414         the key is present to avoid signaling an error.
4415         * test/automated/map-tests.el: Add a test for deleting non-existing
4416         keys from maps.
4418         * lisp/emacs-lisp/map.el: Better docstring.
4420         Minor improvement in map-elt.
4421         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
4422         doing a lookup in arrays, but check the boundaries of the array
4423         instead.
4424         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
4425         and a negative integer as key.
4427 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
4429         * test/automated/map-tests.el: Refactoring of test methods.
4431         * test/automated/map-tests.el: Renamed from map-test.el.
4433 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
4435         * lisp/emacs-lisp/map.el (map-into): Better error message.
4437         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
4439         Throw an error when converting a map into an unknown map type
4440         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
4441         * test/automated/map-test.el: Add a regression test.
4443         New library map.el similar to seq.el but for mapping data structures.
4444         * test/automated/map-test.el: New file.
4445         * lisp/emacs-lisp/map.el: New file.
4447 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
4449         Make sure there's no explicit tag name
4450         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
4451         there's no explicit tag name (bug#20629).
4453 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
4455         Remove format2
4456         * src/editfns.c, src/lisp.h (format2): Remove.
4457         It is more trouble than it's worth, now that we have CALLN.
4458         This is just a minor refactoring.
4459         * src/buffer.c (Fkill_buffer):
4460         * src/dbusbind.c (XD_OBJECT_TO_STRING):
4461         * src/fileio.c (barf_or_query_if_file_exists):
4462         Adjust to format2 going away.
4464         Don't misencode C-generated messages
4465         Also, be more consistent about calls to 'Fmessage' vs 'message'.
4466         * src/alloc.c (Fgc_status):
4467         Prefer AUTO_STRING to build_string for Fmessage call.
4468         * src/data.c (Fmake_variable_buffer_local)
4469         (Fmake_local_variable, Fmake_variable_frame_local):
4470         * src/doc.c (store_function_docstring):
4471         Use Fmessage, not message, since the argument can contain
4472         non-ASCII characters, and this can cause the resulting message
4473         to be incorrectly encoded for the current environment.
4474         * src/fns.c (maybe_resize_hash_table):
4475         * src/xselect.c (x_clipboard_manager_save_all):
4476         Use message, not Fmessage, since Fmessage's power isn't needed here.
4477         * src/process.c (Fmake_network_process): Reword message to avoid %s.
4478         * src/xdisp.c (vmessage): Document restrictions on message contents.
4479         (message_nolog) [false]: Remove unused code.
4481         Use \r rather than ^M in string literals
4482         This is less likely to cause problems on platforms that
4483         use CRLF (or CR!) termination for lines.
4485         Update .gitattributes to match current sources
4486         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
4487         * .gitattributes: Accommodate tests that insist on DOS format.
4488         Remove test/automated/data/decompress/foo-gzipped.
4489         Add etc/e/eterm-color.
4491 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
4493         Document 'face-ignored-fonts'
4494         * doc/emacs/mule.texi (Modifying Fontsets): Document
4495         face-ignored-fonts.  (Bug#20628)
4497         Add etags test for the new -Q option
4498         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
4499         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
4500         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
4501         test-case changes below.
4502         * test/etags/ETAGS.good_6: New file.
4503         * test/etags/cp-src/x.cc: New file.
4504         * test/etags/Makefile (CPSRC): Add x.cc.
4505         (check): Add one more test, for -Q.
4507 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
4509         Use list for the tags completion table, not obarray
4510         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
4511         list instead of an obarray
4512         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
4513         (tags-completion-table): Combine those lists.
4514         (tags-completion-table): Update the docstring.
4516 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
4518         Restore EOL format testing in etags
4519         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
4520         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
4521         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
4522         test-case changes below.
4523         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
4524         * test/etags/cp-src/c.C (B): Add back stray CR character.
4525         * test/etags/c-src/dostorture.c: Add back.
4526         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
4528 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
4530         Declare Emacs on MS-Windows to be DPI-aware
4531         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
4532         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
4533         This avoids Windows entering compatibility mode for Emacs,
4534         which causes fonts to look less nice.
4536 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
4538         Improve Tramp traces.
4539         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
4540         * lisp/net/tramp.el (tramp-debug-message): Use it.
4542 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
4544         backup-buffer minor reworking of internals
4545         * lisp/files.el (backup-buffer): Rework to avoid a couple of
4546         unused locals inadvertently introduced in the previous change.
4548         backup-buffer now reports .emacs.d/%backup% ills
4549         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
4550         fails due to disk space exhaustion or whatever, do not pretend
4551         that it succeeded.  More generally, do a better job of checking
4552         for I/O failures, and limit the scope of the condition-case to
4553         just the operations where file errors should be caught and ignored
4554         (Bug#20595).  Also, don't bother trying to delete later backups if
4555         an earlier deletion fails, as this is a sign of trouble and it's
4556         better to stop when there's trouble.
4558         copy-file now truncates output after writing
4559         * src/fileio.c (Fcopy_file): Truncate output after writing rather
4560         than before.  This is more likely to work than truncation before
4561         writing, if the file system is out of space or the user is over
4562         disk quota (Bug#20595).  Also, check for read errors.
4564 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4566         * lisp/emacs-lisp/package.el: Don't load from parent dir
4567         (package-load-all-descriptors): Don't load descriptors from
4568         directories above the package directories.
4570 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4572         Merge from gnulib
4573         This incorporates the following (Bug#20681):
4574         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
4575         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
4576         * lib/set-permissions.c: Copy from gnulib.
4578 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
4580         Improve Tramp traces.
4581         * lisp/net/tramp.el (tramp-call-process-region): New defun.
4582         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
4584 2015-05-29  Glenn Morris  <rgm@gnu.org>
4586         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
4588 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
4590         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
4591         The signature was changed in the cairo branch, merged on 2015-05-23.
4592         This oversight broke compiling only the non-toolkit X version.
4594 2015-05-29  Samer Masterson  <samer@samertm.com>
4596         * doc/lispref/os.texi: Update initial-buffer-choice docs.
4598 2015-05-29  Glenn Morris  <rgm@gnu.org>
4600         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
4601         Mark as an expected failure.
4603 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4605         Change package test to look for curved quotes
4606         * test/automated/package-test.el (package-test-describe-package)
4607         (package-test-signed): Search for curved single quotes as well as
4608         for grave accent and apostrophe.
4610 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
4612         gnus-art.el: Re-revert last change
4613         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
4614         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
4616 2015-05-28  Samer Masterson  <samer@samertm.com>
4618         Show files when `initial-buffer-choice' is non-nil
4619         * startup.el (command-line-1): When Emacs is given a file as an
4620         argument and `initial-buffer-choice' is non-nil, display both the file
4621         and `initial-buffer-choice'.  For more than one file, show
4622         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
4623         commands out of the command line arg parser.
4624         (initial-buffer-choice): Clarify docstring.
4626 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
4628         Fix last commit
4629         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
4630         (gnulib module qcopy-acl): Add back, as it is harmless.  This
4631         minimizes differences wrt lib/gnulib.mk.
4633         Fix the MS-Windows build as followup to gnulib update
4634         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
4635         set-permissions.c, as they don't compile on MinGW.
4636         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
4638 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
4640         Revert my change to gnus-art.el
4641         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
4642         It wasn't that important, and it caused a Gnus build to fail.  See:
4643         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
4645         New minor mode Electric Quote
4646         This lets you easily insert quotes ‘like this’ by typing
4647         quotes `like this', and similarly you can easily insert
4648         quotes “like this” by typing quotes ``like this'' (Bug#20545).
4649         * doc/emacs/basic.texi (Inserting Text):
4650         * doc/emacs/modes.texi (Minor Modes):
4651         * etc/NEWS: Document it.
4652         * doc/emacs/text.texi (Quotation Marks): New section.
4653         * lisp/electric.el (electric-quote-comment)
4654         (electric-quote-string, electric-quote-paragraph):
4655         New custom vars.
4656         (electric--insertable-p)
4657         (electric-quote-post-self-insert-function): New functions.
4658         (electric-quote-mode, electric-quote-local-mode): New minor modes.
4659         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4660         Add curved single quotes to electric-pair-text-pairs.
4661         Set electric-quote-string in this buffer.
4663         A few more doc string fixes (Bug#20385)
4665         Accept curved quotes in doc strings
4666         * lisp/info-look.el (info-lookup-guess-custom-symbol):
4667         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
4669         Generate curved quotes in pseudo-info nodes
4670         * lisp/info.el (Info-virtual-index-find-node)
4671         (Info-virtual-index, Info-apropos-find-node, info-apropos):
4672         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
4674         Fix minor quoting problems in doc strings
4675         Most of these fixes involve escaping grave accents that are
4676         actually intended to be grave accents, not left quotes.
4677         (Bug#20385)
4679         Support curved quotes in doc strings
4680         Emacs's traditional doc string style has been to quote symbols
4681         `like this'.  This worked well on now-obsolete terminals where
4682         ` and ' were symmetric quotes, but nowadays curved quotes
4683         ‘like this’ look better.  Support quoting the new way too.
4684         (Bug#20385)
4685         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
4686         ‘like-this’ as well as `like-this'.
4687         * etc/NEWS: Mention this.
4688         * lisp/cedet/mode-local.el (overload-docstring-extension)
4689         (mode-local-print-binding, mode-local-describe-bindings-2):
4690         * lisp/cus-theme.el (describe-theme-1):
4691         * lisp/descr-text.el (describe-text-properties-1, describe-char):
4692         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
4693         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
4694         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
4695         (eieio-help-constructor):
4696         * lisp/emacs-lisp/package.el (describe-package-1):
4697         * lisp/faces.el (describe-face):
4698         * lisp/help-fns.el (help-fns--key-bindings)
4699         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
4700         (help-fns--interactive-only, describe-function-1):
4701         (describe-variable):
4702         * lisp/help.el (describe-mode):
4703         * lisp/international/mule-cmds.el (describe-input-method)
4704         (describe-language-environment):
4705         * lisp/international/mule-diag.el (describe-character-set)
4706         (print-coding-system-briefly, list-input-methods)
4707         (list-input-methods-1):
4708         Insert curved quotes rather than grave accent and apostrophe.
4709         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4710         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
4711         (checkdoc-proper-noun-region-engine):
4712         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
4713         (lisp-cl-font-lock-keywords-2):
4714         * lisp/finder.el (finder-font-lock-keywords):
4715         * lisp/gnus/gnus-art.el (gnus-button-alist):
4716         * lisp/help-fns.el (help-do-arg-highlight)
4717         (describe-function-1, describe-variable):
4718         * lisp/help-mode.el (help-xref-symbol-regexp)
4719         (help-xref-info-regexp, help-xref-url-regexp):
4720         * lisp/help.el (describe-mode):
4721         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
4722         * lisp/wid-edit.el (widget-documentation-link-regexp):
4723         Parse symbols quoted ‘like-this’ as well as `like-this'.
4724         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4725         Add "‘" and "’" to electric-pair-text-pairs.
4726         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
4727         (elisp-completion-at-point, elisp--preceding-sexp):
4728         Also treat "‘" and "’" as quoting chars.
4730         substitute-command-keys now curves quotes
4731         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
4732         * doc/lispref/help.texi (Keys in Documentation):
4733         * etc/NEWS: Document this.
4734         * src/doc.c (Fsubstitute_command_keys): Implement it.
4736 2015-05-28  Glenn Morris  <rgm@gnu.org>
4738         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
4739         (rmail-summary-by-topic, rmail-summary-by-senders):
4740         No longer strip leading/trailing whitespace.
4742         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
4743         (f90-no-block-limit): Add "enum".  (Bug#20680)
4744         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
4745         New tests.
4747 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4749         * lisp/isearch.el (isearch--current-buffer): Give a default value.
4751         Un-revert changes mistakenly dropped by f9fabb2b
4753 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4755         Merge from gnulib
4756         This incorporates:
4757         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
4758         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
4759         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
4760         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
4761         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
4762         2015-05-26 stdio: fix probe on mingw under gcc 5.1
4763         * admin/merge-gnulib (GNULIB_MODULES):
4764         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
4765         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
4766         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
4767         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
4768         Get latest versions from gnulib.
4769         * lib/get-permissions.c, lib/set-permissions.c: New files.
4770         * lib/gnulib.mk, m4/gnulib-comp.m4:
4771         Regenerate.
4772         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
4774 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
4776         Delete the old process in vc-setup-buffer
4777         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
4778         process here.
4779         (vc-do-command): Rather than here (bug#20608).
4781 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
4783         Avoid gratuitous delete-dups in face-at-point.
4784         * lisp/faces.el (face-at-point): Do not compute the properly
4785         ordered, duplicate-free list if only a single value is
4786         requested anyway.  (Bug#20519)
4788         Show the exact C-x 8 RET invocation in describe-char.
4789         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
4790         invocation instead of a template.  (Bug#20522)
4792 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4794         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
4795         (package-menu--post-refresh): Call `tabulated-list-print' with the
4796         UPDATE argument.  This only affects the refresh action, the revert
4797         action still erases tags.
4798         (package-menu-get-status): Change `assq' to `assoc'.
4799         (package-menu--mark-upgrades-1): New function.
4800         (package-menu--mark-upgrades-pending): New variable.
4801         (package-menu-mark-upgrades): Use them to delay marking until
4802         after refresh is done.
4803         (package-menu--post-refresh): Call mark-upgrades-1 if
4804         mark-upgrades-pending is non-nil.
4806 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4808         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
4810 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4812         * lisp/isearch.el (isearch--current-buffer): New var
4813         (isearch-update): Set cursor-sensor-inhibit here.
4814         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
4816         Change inhibit-point-motion-hooks to t
4817         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
4818         to t and document it as obsolete.
4820 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
4822         Support ZIP files that use Zip64 extensions
4823         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
4824         format of central directory offsets used by Zip64 extensions.
4825         (Bug#20665)
4827 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4829         New test tramp-test30-make-auto-save-file-name
4830         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
4831         (tramp-test31-special-characters)
4832         (tramp-test31-special-characters-with-stat)
4833         (tramp-test31-special-characters-with-perl)
4834         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
4835         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
4836         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
4837         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
4839         Improve tramp-handle-make-auto-save-file-name
4840         * tramp.el (tramp-auto-save-directory): Add :tags.
4841         (tramp-handle-make-auto-save-file-name): Let native
4842         `make-auto-save-file-name' use `auto-save-file-name-transforms',
4843         if `tramp-auto-save-directory' is not set.
4845 2015-05-27  Glenn Morris  <rgm@gnu.org>
4847         No longer set dired-directory in eshell.  (Bug#16477)
4848         * lisp/eshell/esh-mode.el (eshell-mode):
4849         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
4851         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
4853         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
4854         * lisp/progmodes/cc-mode.el (c-mode-help-address):
4855         Change to submit@debbugs.
4856         (c-mode-bug-package): New constant.
4857         (mail-position-on-field): Declare.
4858         (c-submit-bug-report): Insert X-Debbugs-Package header.
4859         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
4860         Mention debbugs.gnu.org.
4862 2015-05-26  Glenn Morris  <rgm@gnu.org>
4864         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
4865         (rmail-summary-by-recipients, rmail-summary-by-topic)
4866         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
4867         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
4869 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4871         Handle curved quotes in info files
4872         * lisp/calc/calc-help.el (calc-describe-thing):
4873         * lisp/info.el (Info-find-index-name)
4874         (Info-try-follow-nearest-node, Info-fontify-node):
4875         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4876         In info files, process quotes ‘like this’ the same way we process
4877         quotes `like this'.  This catches a few places we missed earlier.
4879 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
4881         xref-prompt-for-identifier: Use a list value
4882         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
4883         value, to be interpreted as a list of commands.
4884         (xref--prompt-p): New function.
4885         (xref--read-identifier): Use it.
4887 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
4889         Teach MS-Windows font back-end return per-glyph ascent/descent
4890         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
4891         values.
4892         * src/w32font.c (w32font_text_extents): Compute, cache, and
4893         accumulate per-glyph ascent and descent values, instead of copying
4894         global values from the font.  If the values are not available from
4895         the font data, i.e., non-TTF fonts, fall back on font-global values.
4896         (compute_metrics): Compute and return per-glyph ascent and descent
4897         values, if returned by GetGlyphOutlineW, falling back on
4898         font-global values.  (Bug#20628)
4899         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
4900         height of rectangle to be drawn, to be compatible with
4901         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
4902         box, when per-glyph ascent/descent values are used.
4904 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
4906         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
4907         (tabulated-list-print): Don't sort if sorter is nil
4909 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
4911         Fix Bug#20621
4912         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
4913         are major modes which set `auto-save-mode' on their own rules;
4914         Tramp shall not overwrite such settings.
4915         (Bug#20621)
4917 2015-05-26  Glenn Morris  <rgm@gnu.org>
4919         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
4920         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
4921         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
4922         Doc updates.
4923         (vc-dir-mode): Remove unnecessary autoload.
4925 2015-05-25  Philipp Stephani  <phst@google.com>
4927         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
4928         (xterm--extra-capabilities-type): Add `getSelection'.
4929         (xterm--query): Add `no-async' argument.
4930         (xterm--init-activate-get-selection): New function.
4931         (terminal-init-xterm): Use it.
4932         (xterm--init-modify-other-keys): Rename from
4933         terminal-init-xterm-modify-other-keys.
4934         (xterm--init-bracketed-paste-mode): Rename from
4935         terminal-init-xterm-bracketed-paste-mode.
4936         (xterm--init-activate-set-selection): Rename from
4937         terminal-init-xterm-activate-set-selection.
4938         (xterm--selection-char): New function.
4939         (gui-backend-set-selection): Use it.  Use the &context to only apply
4940         this method in terminals where we enabled the feature.
4941         (gui-backend-get-selection): New method.
4943 2015-05-25  Daniel Colascione  <dancol@dancol.org>
4945         Add C-language keyword constants to C++
4946         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
4947         keyword constants to C++.
4949 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4951         Make TAGS files more portable to MS-Windows
4952         * etc/NEWS: Document this.
4953         * lib-src/etags.c (readline_internal) [DOS_NT]:
4954         Don't treat CRs differently from GNUish hosts.
4955         * lisp/progmodes/etags.el (etags-goto-tag-location):
4956         Adjust STARTPOS to account for the skipped CRs in dos-style files.
4958 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4960         Improve fix of debbugs:20634 in tramp-sh.el
4962 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4964         Fix a typo in last commit
4965         * lib-src/etags.c (C_entries): Fix a typo.
4966         * test/etags/ETAGS.good_1:
4967         * test/etags/ETAGS.good_2:
4968         * test/etags/ETAGS.good_3:
4969         * test/etags/ETAGS.good_4:
4970         * test/etags/ETAGS.good_5:
4971         * test/etags/CTAGS.good: Update due to the change in etags.c.
4973         Fix tagging of class members in C-like OO languages
4974         * lib-src/etags.c (longopts): Add new option --class-qualify and
4975         its shorthand -Q.
4976         (print_help): Add help text for --class-qualify.
4977         (main): Add handling of -Q.
4978         (consider_token, C_entries) <omethodparm>: Append argument types
4979         to Objective C methods only if --class-qualify was specified.
4980         Qualify C++, Objective C, and Java class members with their class
4981         names only if --class-qualify was specified.
4982         (C_entries): If --class-qualify was not specified, remove the
4983         namespace and class qualifiers from tag names of C++ methods.
4984         This allows to use etags.el as xref back-end without the
4985         tag-symbol-match-p method, which greatly increases the number of
4986         potentially false positives.  (Bug#20629)
4987         * doc/man/etags.1: Update to document the new --class-qualify
4988         option.
4989         * test/etags/ETAGS.good_1:
4990         * test/etags/ETAGS.good_2:
4991         * test/etags/ETAGS.good_3:
4992         * test/etags/ETAGS.good_4:
4993         * test/etags/ETAGS.good_5:
4994         * test/etags/CTAGS.good: Update due to changes in etags.c.
4996 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4998         (cl-generic-define-method): Side effects are evil (bug#20644)
4999         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
5000         cons-cells that might be used as keys in an `equal' hash-table.
5002 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
5004         Make erc timestamps visible again
5005         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
5006         timestamps visible again (if requested).
5008 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
5010         Fix last change in etags.c that broke tagging compresed files
5011         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
5012         quoting of decompression shell command for MS-Windows/MS-DOS.
5014 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
5016         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
5017         (Bug#20639)
5019 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
5021         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
5023 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
5025         Fix IPv6 addresses in Tramp
5026         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
5027         Add sqare brackets around host name.
5029 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
5031         Inhibit `epa-file-handler' in Tramp
5032         (Bug#20634)
5033         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
5034         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
5035         `epa-file-handler'.
5037 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5039         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
5040         (pcase-let): Document the behavior in case the pattern doesn't match.
5042 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
5044         * lisp/emacs-lisp/tabulated-list.el: New optional print method
5045         (tabulated-list-print): New optional argument, UPDATE.  If
5046         non-nil, the list is printed by only adding and deleting the
5047         changed entries, instead of erasing the whole buffer.  This method
5048         is much faster when few or no entries have changed.
5049         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
5050         * etc/NEWS: Document it.
5052         * lisp/emacs-lisp/tabulated-list.el: Improve printing
5053         (tabulated-list--get-sorter): New function.
5054         (tabulated-list-print): Restore window-line when remember-pos is
5055         passed and optimize away the `nreverse'.
5057 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
5059         Simpilify etags TEX mode scanning
5060         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
5061         Remove static vars.
5062         (TeX_commands): Deduce escapes here instead.
5063         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
5064         This removes the need for a reset_input call.
5066         Improve etags I/O error reporting
5067         * lib-src/etags.c:
5068         Don't include sys/types.h and sys/stat.h; no longer needed.
5069         (infilename): New static var.
5070         (process_file_name): Don't call 'stat'.  Instead, just open the
5071         file for reading and report any errors.  Don't bother making
5072         a copy of the file argument; it's not needed.  Be more careful to
5073         use the failing errno when reporting an error.
5074         Quote the real name better (though no perfectly)
5075         when passing it to the shell.
5076         (reset_input): New function, which reports I/O errors.
5077         All uses of 'rewind' changed to use this function.
5078         (perhaps_more_input): New function, which also checks for
5079         I/O errors.  All uses of 'feof' changed to use this function.
5080         (analyze_regex): Report an error if fclose fails.
5081         (readline_internal): Report an error if getc fails.
5082         (etags_mktmp): Return an error if close fails.
5084         etags.c: avoid side effects in 'if'
5085         * lib-src/etags.c (process_file_name, Perl_functions)
5086         (TEX_decode_env): Hoist side effects into previous statement.
5088         .gitignore tweaks
5089         * .gitignore: Ignore all *.stamp files.  Sort.
5090         Ignore [0-9]*.txt (commonly used name for git patches)
5091         and /vc-dwim-log-* (vc-dwim temporary).
5093 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
5095         Fix last change in etags.c, which failed the test suite
5096         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
5097         before the last change.
5099 2015-05-23  Glenn Morris  <rgm@gnu.org>
5101         Remove charset map files from repository, generate in first bootstrap
5102         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
5103         (all): Create the stamp file.
5104         (extraclean): Delete the stamp file.
5105         * src/Makefile.in (lispintdir, charsets): New variables.
5106         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
5107         New rules.
5108         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
5109         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
5110         * etc/charsets/*.map: Remove from repository.
5112 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5114         Cleanup etags.c to use locale-independent code
5115         Although this doesn't alter behavior (as etags doesn't use
5116         setlocale), the new version is more clearly locale-independent and
5117         the executable is a bit smaller on my platform.
5118         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
5119         Include <c-ctype.h> instead of <ctype.h>.
5120         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
5121         (begtk, midtk):
5122         Remove; no longer needed.
5123         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
5124         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
5125         c_islower, c_tolower, respectively.
5126         (notinname, begtoken, intoken, endtoken): Rewrite as functions
5127         instead of macros, and initialize the tables at compile-time
5128         rather than at run-time.
5130         Put default action first in src/Makefile
5131         * src/Makefile.in (all): Put this rule before lisp.mk.
5132         That way, plain 'make' works in the src directory again.
5134 2015-05-23  Glenn Morris  <rgm@gnu.org>
5136         * Makefile.in: Fix extraclean rule.
5137         (extraclean_dirs): New.
5138         (extraclean): Use it.
5140 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5142         Avoid compiler warning in image.c on MS-Windows
5143         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
5144         warning in image.c.
5146 2015-05-23  Glenn Morris  <rgm@gnu.org>
5148         Fix --without-toolkit-scroll-bars builds.
5149         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
5150         Add new argument to x_clear_area1.
5151         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
5152         Update x_clear_area arguments.
5154         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
5155         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
5156         Change to included version.
5157         (LOCAL, local, totalclean): Remove.
5158         (extraclean): Delete all generated files.
5160 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
5162         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
5164         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
5166         tags-completion-at-point-function: Don't trust the find-tag function
5167         * lisp/progmodes/etags.el (tags-completion-at-point-function):
5168         Don't trust the find-tag function.
5170 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5172         Pacify --enable-gcc-warnings
5173         * src/frame.h (x_query_color): Remove redundant extern decl.
5174         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
5175         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
5176         (ftcrfont_text_extents, ftcrfont_draw):
5177         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
5178         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
5179         (x_ins_del_lines, frame_highlight, frame_unhighlight)
5180         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
5181         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
5182         (x_update_window_begin, x_connection_closed)
5183         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5184         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5185         (*x_gc_get_ext_data, x_extension_initialize)
5186         (x_cr_accumulate_data):
5187         Remove redundant static decl.  Many of these GCC doesn't complain
5188         about, but we might as well clean out the duplication while we're
5189         in the neighborhood.
5190         * src/xterm.c (x_fill_trapezoid_for_relief):
5191         Remove decl of nonexistent function.
5193 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
5195         Replace gui-method macros with cl-generic with &context
5196         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
5197         (gui-method-declare, gui-call): Remove.
5198         (frame-creation-function): Use cl-defgeneric.
5199         (make-frame): Adjust callers.
5200         * lisp/menu-bar.el (menu-bar-edit-menu):
5201         Use gui-backend-selection-exists-p.
5202         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
5203         (gui-backend-get-selection): New cl-generic to replace
5204         gui-get-selection method.
5205         (gui-backend-set-selection): New cl-generic to replace
5206         gui-set-selection method.
5207         (gui-selection-owner-p): New cl-generic to replace
5208         gui-selection-owner-p method.
5209         (gui-backend-selection-exists-p): New cl-generic to replace
5210         gui-selection-exists-p method.  Adjust all callers.
5211         * lisp/server.el (server-create-window-system-frame): Don't ignore
5212         window-system spec even when unsupported.
5213         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
5214         * lisp/startup.el (handle-args-function, window-system-initialization):
5215         Use cl-defgeneric.
5216         (command-line): Adjust calls accordingly.
5217         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
5218         a window-system-initialization method.
5219         (handle-args-function, frame-creation-function): Use cl-defmethod.
5220         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5221         (gui-get-selection): Use cl-defmethod on the new functions instead.
5222         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
5223         a gui-backend-get-selection method.
5224         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
5225         Use cl-defmethod on the new functions instead.
5226         (msdos-window-system-initialization): Turn into
5227         a window-system-initialization method.
5228         (frame-creation-function, handle-args-function): Use cl-defmethod.
5229         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
5230         a window-system-initialization method.
5231         (handle-args-function, frame-creation-function): Use cl-defmethod.
5232         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5233         (gui-get-selection): Use cl-defmethod on the new functions instead.
5234         * lisp/term/x-win.el (x-window-system-initialization): Turn into
5235         a window-system-initialization method.
5236         (handle-args-function, frame-creation-function): Use cl-defmethod.
5237         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5238         (gui-get-selection): Use cl-defmethod on the new functions instead.
5239         * lisp/term/xterm.el (xterm--set-selection): Turn into
5240         a gui-backend-set-selection method.
5241         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
5242         (Fns_selection_owner_p): Remove unused arg `terminal'.
5243         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
5245 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5247         Revert "Fix etags Bug#20629 that broke C++ support."
5248         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
5250 2015-05-23  Jan D  <jan.h.d@swipnet.se>
5252         Fix etags Bug#20629 that broke C++ support.
5253         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
5254         from Sun May 10 (Bug#20629).
5256         Merge branch 'cairo'.
5257         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
5258         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
5260         Merge branch 'master' into cairo
5262         Fixes to compile cairo branch without cairo.
5263         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
5264         first argument.
5265         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
5266         USE_CAIRO.
5268 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
5270         * lisp/emacs-lisp/package.el: Always update selected-packages
5271         (package--update-selected-packages): New function.
5272         (package-menu-execute): Use it before starting the transaction,
5273         this way the list of selected packages is updated even when the
5274         transaction fails.
5275         (package-menu--perform-transaction): Don't edit selected-packages.
5277 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5279         Fix etags reading of compressed files
5280         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
5281         Include fcntl.h, for O_CLOEXEC.
5282         (process_file_name): Don't use 'popen', whose streams cannot be
5283         rewound.  Instead, uncompress the file to a temporary file,
5284         created by 'etags_mktmp', and read from that as usual.
5285         (etags_mktmp): New function.
5286         * test/etags/ETAGS.good_1:
5287         * test/etags/ETAGS.good_2:
5288         * test/etags/ETAGS.good_3:
5289         * test/etags/ETAGS.good_4:
5290         * test/etags/ETAGS.good_5: Update to be consistent with latest
5291         changes in etags.c regarding reading compressed files.
5293         Improve documentation of 'set-fontset-font'
5294         * doc/lispref/display.texi (Fontsets): Document the value of nil
5295         for the 3rd argument of 'set-fontset-font'.
5297         Fix documentation of forward-line
5298         * src/cmds.c (Fforward_line): Clarify the return value if the line
5299         at end of accessible portion of the buffer has no newline.
5300         * doc/lispref/positions.texi (Text Lines): Document what happens
5301         if the line at end of accessible portion of buffer has no newline.
5302         (Bug#20587)
5304 2015-05-22  Glenn Morris  <rgm@gnu.org>
5306         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
5308         * admin/charsets/mapconv (LC_ALL): Set to C.
5310         * Makefile.in: Add admin/charsets into top-level clean rules.
5311         (clean): Add admin/charsets.
5312         (maybeclean_dirs): New variable.
5313         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
5315         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
5317 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
5319         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
5321 2015-05-22  Glenn Morris  <rgm@gnu.org>
5323         Generate admin/charsets Makefile via configure, and make more portable.
5324         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
5325         (admin/charsets/Makefile): Generate it.
5326         * admin/charsets/Makefile.in: Rename from Makefile.
5327         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
5328         New variables, set by configure.
5329         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
5330         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
5331         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
5332         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
5333         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
5334         (all): Declare PHONY.
5335         (local): New PHONY target.
5336         (map_template): New template.  Use to define short PHONY aliases.
5337         (*.map): Add directory prefixes to targets and prerequisites.
5338         Respect make verbosity.
5339         (JISC6226.map): Replace non-portable sed append without newline.
5340         (install): Remove rule.
5341         (clean): Only delete temporary sedscript.
5342         (bootstrap-clean, distclean, maintainer-clean, extraclean)
5343         (totalclean): New PHONY rules.
5344         * admin/charsets/mapconv (BASE): Replace basename with expr.
5345         (FILE): Add "mapfiles" subdirectory.
5346         (AWK): New variable.  Use throughout in place of "awk".
5347         (main): Use "gunzip -c" in place of "zcat".
5348         Don't leave whitespace before "p", for older sed.
5349         * admin/charsets/mapfiles/PTCP154: Add final newline,
5350         to make older sed versions happy.
5352 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
5354         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
5355         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
5356         (auto-revert-notify-watch-descriptor): Use defvar-local.
5357         (find-file-hook, auto-revert-tail-mode, )
5358         (auto-revert-notify-add-watch): Use setq-local.
5359         (auto-revert-notify-add-watch): Don't call make-local-variable on
5360         kill-buffer-hook (bug#20601).
5362 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
5364         Change defgeneric so it doesn't completely redefine the function
5365         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
5366         previously defined methods.
5367         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
5368         (cl--generic-prefill-dispatchers): Only define during compilation.
5369         (cl-method-qualifiers): Remove redundant alias.
5370         (help-fns-short-filename): Silence byte-compiler.
5371         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
5373 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
5375         (package-menu-execute): Remove reference to remove-dups
5377 2015-05-21  kwhite  <kwhite@gnu.org>
5379         * lisp/erc/erc.el: Hide network/channel messages
5380         (erc-network-hide-list, etc-channel-hide-list): New lists to define
5381         message types per network/channel.
5382         (erc-add-targets): New function to parse list of targets
5383         (erc-hide-current-message-p): Modified to check for new targets
5385 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5387         Don't quote nil and t in doc strings
5388         This is as per "Tips for Documentation Strings" in the elisp manual.
5389         For consistency, do the same in diagnostics and comments.
5391 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
5393         Fix a minor problem with mouse-face on mode line
5394         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
5395         mouse face also if the mouse pointer hovers above mode-line glyphs
5396         that don't come from any Lisp string.  (Bug#20620)
5398 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
5400         * lisp/emacs-lisp/package.el: Fix selected-package logic
5401         (package-menu-execute): Mark as selected all non-upgrade packages
5402         being installed.
5403         (package-menu--perform-transaction): Don't mark anything.
5405         * lisp/emacs-lisp/package.el: Mode-line progress report
5406         (package-menu--transaction-status): New variable.
5407         (package-menu-mode, package-menu--perform-transaction): Use it.
5409         * lisp/emacs-lisp/package.el: Better transaction messages
5410         (package-menu--partition-transaction): New function.
5411         (package-menu--prompt-transaction-p, package-menu-execute): Use
5412         it.
5413         (package-menu--perform-transaction): Don't do any messaging.
5415         * lisp/emacs-lisp/package.el: Revert async package transactions
5416         (package-menu-async): Update doc.
5417         (package-install-from-archive, package-download-transaction)
5418         (package-install, package-menu--perform-transaction)
5419         (package-menu-execute): Remove asynchronous functionality.
5421 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5423         Revert doc string changes to f90.el
5424         Problem reported by Glenn Morris in:
5425         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
5426         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
5427         Revert recent changes to doc strings, as it's intended that they
5428         use grave accent, not quote.
5430 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
5432         Improve parameter name
5434         Add new inline function `hash-table-empty-p'
5436 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
5438         Don't require help-fns when not needed
5439         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
5440         * lisp/emacs-lisp/elint.el:
5441         Don't require help-fns at the top level.
5442         * lisp/emacs-lisp/advice.el (ad-arglist):
5443         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
5444         Don't require help-fns.  (Bug#17001)
5446 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
5448         Fix slash collapsing in etags on MS-Windows
5449         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
5450         MS-Windows code from the Posix code, and support collapsing both
5451         forward- and back-slashes on MS-Windows.  Fixes a regression found
5452         by the test suite.
5454         Improve documentation of glyphless-char-display
5455         * doc/lispref/display.texi (Glyphless Chars): Improve
5456         documentation of glyphless character display.
5458         Fix "acronym" display of glyphless characters on w32
5459         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
5460         ignore "acronym" substitutes of 1 character for glyphless characters.
5462 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
5464         Add an automated test for let-when-compile
5465         * test/automated/subr-tests.el (let-when-compile): New test.
5467         Add let-when-compile macro instead of using pcase-let
5468         * lisp/subr.el (let-when-compile): New let-like macro that makes its
5469         bindings known to macros like `eval-when-compile' in the body.
5470         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
5471           `let-when-compile'. Also comment out the unused lexical var
5472           `el-kws-re'.
5473         The change greatly improves readability, while providing almost the
5474         same (even shorter) byte code: instead of pre-evaluating 10 variables,
5475         tossing them into a list, and destructuring that list a full screen
5476         page later, the variables are simply bound as they are evaluated,
5477         wrapped individually in `eval-when-compile'.
5479 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
5481         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
5482         (package-delete-button-action): New function.
5483         (describe-package-1): Add Delete button.
5485         * lisp/emacs-lisp/package.el: Better dependency description
5486         (package--used-elsewhere-p): New optional arg, ALL, and return
5487         package-desc objects instead of names.
5488         (package-delete): Update accordingly.
5489         (describe-package-1): Describe which packages require the package.
5491 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
5493         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
5494         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
5495         Fix doc-string (Bug#20533).
5497         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
5498         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
5499         (switch-to-buffer): If the selected window is strongly dedicated
5500         to its buffer, signal error before prompting for buffer name.  Handle
5501         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
5502         * doc/lispref/windows.texi (Switching Buffers): Document
5503         `switch-to-buffer-in-dedicated-window'.
5505 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5507         Prefer "this" to “this” in doc strings
5508         This mostly just straightens quotes introduced in my previous patch.
5509         Suggested by Dmitry Gutov in:
5510         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
5511         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
5512         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
5513         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
5514         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
5515         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
5516         Prefer straight double quotes to curved double quotes in doc strings.
5518         Fix minor quoting problems in doc strings
5519         These were glitches regardless of how or whether we tackle the
5520         problem of grave accent in doc strings.
5521         * lisp/calc/calc-aent.el (math-restore-placeholders):
5522         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
5523         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
5524         * lisp/leim/quail/hebrew.el ("hebrew-new")
5525         ("hebrew-biblical-sil"):
5526         * lisp/leim/quail/thai.el ("thai-kesmanee"):
5527         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
5528         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
5529         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
5530         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
5531         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
5532         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
5533         (semantic-tag-components):
5534         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
5535         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
5536         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
5537         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
5538         * lisp/emacs-lisp/generator.el (iter-next):
5539         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
5540         (gnus-article-mode-syntax-table):
5541         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
5542         * lisp/net/soap-client.el (soap-wsdl-get):
5543         * lisp/net/telnet.el (telnet-mode):
5544         * lisp/org/org-compat.el (org-number-sequence):
5545         * lisp/org/org.el (org-remove-highlights-with-change)
5546         (org-structure-template-alist):
5547         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
5548         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
5549         (handwrite-12pt, handwrite-13pt):
5550         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
5551         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
5552         * lisp/progmodes/verilog-mode.el (verilog-tool)
5553         (verilog-string-replace-matches, verilog-preprocess)
5554         (verilog-auto-insert-lisp, verilog-auto-insert-last):
5555         * lisp/textmodes/makeinfo.el (makeinfo-options):
5556         * src/font.c (Ffont_spec):
5557         Fix minor quoting problems in doc strings, e.g., missing quote,
5558         ``x'' where `x' was meant, etc.
5559         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
5560         Fix minor quoting problem in other string.
5561         * lisp/leim/quail/ethiopic.el ("ethiopic"):
5562         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
5563         Omit unnecessary quotes.
5564         * lisp/faces.el (set-face-attribute, set-face-underline)
5565         (set-face-inverse-video, x-create-frame-with-faces):
5566         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
5567         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
5568         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
5569         * lisp/net/tramp.el (tramp-methods):
5570         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
5571         * lisp/textmodes/artist.el (artist-ellipse-right-char)
5572         (artist-ellipse-left-char, artist-vaporize-fuzziness)
5573         (artist-spray-chars, artist-mode, artist-replace-string)
5574         (artist-put-pixel, artist-text-see-thru):
5575         * lisp/vc/ediff-util.el (ediff-submit-report):
5576         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
5577         Use double-quotes rather than TeX markup in doc strings.
5578         * lisp/skeleton.el (skeleton-pair-insert-maybe):
5579         Reword to avoid the need for grave accent and apostrophe.
5580         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
5581         Don't use grave and acute accents to quote.
5583 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
5585         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
5587 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5589         Try to port new etags tests to MS-Windows
5590         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5591         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5592         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5593         Adjust to test-case changes below.
5594         * test/etags/Makefile (CSRC): Remove dostorture.c.
5595         Whatever it was trying to test, wasn't working portably.
5596         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
5597         just a line-ending problem.
5598         * test/etags/c-src/dostorture.c: Remove.
5599         * test/etags/cp-src/c.C: Remove stray CR.
5600         * test/etags/html-src/algrthms.html: Remove trailing CRs.
5601         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
5602         but if someone edits it later it should stay UTF-8-compatible.
5604 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
5606         Fix display of overlapping window-specific overlays
5607         * src/keyboard.c (adjust_point_for_property): When adjusting point
5608         due to display strings, ignore overlays that are specific to
5609         windows other than the currently selected one.
5610         * src/xdisp.c (handle_single_display_spec): If the display
5611         property comes from an overlay, arrange for buffer iteration to
5612         resume only after the end of that overlay.  (Bug#20607)
5614 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
5616         New command icomplete-force-complete-and-exit
5617         * lisp/icomplete.el (icomplete-force-complete-and-exit):
5618         New command
5619         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
5620         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
5621         (icomplete-minibuffer-map): Bind C-j to it.
5622         (icomplete-forward-completions, icomplete-backward-completions):
5623         Mention the new command in the docstring.
5624         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
5625         the previous fix for bug#17545.
5627 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
5629         Fix last commit
5631         In Elisp manual explain how to override window manager positioning (Bug#20552)
5632         * doc/lispref/frames.texi (Position Parameters): Give example of
5633         how to override a window manager positioning decision.
5635         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
5636         * src/frame.c (Fdelete_frame): In doc-string mention that frame
5637         can't be deleted if it has a surrogate minibuffer.
5638         * doc/lispref/frames.texi (Minibuffers and Frames)
5639         (Deleting Frames): Explain "surrogate minibuffer frames".
5641         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
5642         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
5644 2015-05-18  Glenn Morris  <rgm@gnu.org>
5646         Add option to ignore commit lines matching a pattern in ChangeLog.
5647         * build-aux/gitlog-to-changelog: Add --ignore-line option.
5648         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
5650 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
5652         Don't skip new etags tests on non-UTF-8 hosts
5653         Problem reported by Eli Zaretskii for MS-Windows.
5654         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
5655         (LC_ALL): Set to C if the current locale isn't UTF-8.
5656         (.PHONY): Remove ediff_1 thru ediff_5.
5657         (check): Always run.
5659 2015-05-18  Glenn Morris  <rgm@gnu.org>
5661         * lisp/calculator.el (calculator-funcall):
5662         * lisp/textmodes/artist.el (artist-spray-random-points):
5663         Use standard degree/radian conversion utilities.
5665         Further lisp-complete-symbol related cleanup.
5666         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
5667         Unadvertise non-functional argument.  Replace obsolete alias.
5669 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5671         Add a test case for Maven warning ouput
5672         * test/automated/compile-tests.el
5673         (compile-tests--test-regexps-data): Add a case for Maven warning
5674         ouput.
5675         (compile--test-error-line): Check the compilation message type, if
5676         it's specified in the test data.
5678 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
5680         Update Maven compilation-mode entry to distinguish warnings
5681         * lisp/progmodes/compile.el
5682         (compilation-error-regexp-alist-alist): Update Maven entry to
5683         distinguish warnings (bug#20556).
5685 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
5687         * test/automated/sgml-mode-tests.el: New file.
5689 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5691         Improve handling of the first Git revision
5692         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
5693         there's no next entry, delete until the end of the buffer.
5694         (log-view-end-of-defun-1): Stop at eob.
5695         * lisp/vc/vc-annotate.el
5696         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
5697         when previous-revision is nil.
5698         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
5699         with `--' to avoid ambiguity.
5700         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
5701         returned revision string.
5702         (vc-git-annotate-time): Expect `^' before the first revision.
5703         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
5704         REV1 is nil, and REV2 is not.
5705         * lisp/vc/vc.el: Update the description of the `diff' function.
5707 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
5709         Allow checkdoc to be called in batch
5710         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
5711           is non-nil, echo the error with `warn'.
5712         How it can be used in -batch:
5713         (with-current-buffer (find-file "checkdoc.el")
5714           (checkdoc-current-buffer t))
5716 2015-05-18  Glenn Morris  <rgm@gnu.org>
5718         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
5720 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5722         * admin/notes/unicode: New section "binary files".
5724         Change new etags test to use UTF-8 encoding
5725         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5726         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5727         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5728         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
5729         * test/etags/html-src/softwarelibero.html:
5730         Switch to UTF-8 encoding.
5731         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
5732         Remove Makefile, as it's too incestuous to have the test input
5733         include the build procedure.
5734         (UTF8_LOCALE, UTF_ENCODING): New macros.
5735         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
5736         (check): Skip if not UTF-8.
5737         (.PHONY): New rule.
5738         (FRC): Remove, as superseded by .PHONY.  All uses removed.
5739         (regexfile): Prefer printf to echo when outputting oddball chars.
5740         (.PRECIOUS): Remove, as these files are not built.
5742         Rename 'foo-gzipped' to 'foo.gz'
5743         * test/automated/data/decompress/foo.gz:
5744         Rename from test/automated/data/decompress/foo-gzipped,
5745         to make it easier for other tools to tell that it's compressed.
5746         * test/automated/zlib-tests.el (zlib--decompress):
5747         Adjust to renamed file.
5749 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
5751         Set up default-directory
5752         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
5753         binding for `v'.
5754         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
5755         appropriate value for default-directory.
5757 2015-05-17  Samer Masterson  <samer@samertm.com>
5759         * lisp/eshell/em-term.el (eshell-term-sentinel):
5760         No-op by default, only kills term buffer if
5761         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
5762         (eshell-destroy-buffer-when-process-dies): New custom to preserve
5763         previous behavior.
5765         eshell: Introduce new buffer syntax
5766         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
5767         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
5768         needed (Bug#19319).
5769         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
5770         (eshell-get-target): Remove shorthand-specific code.
5771         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
5772         '#<buffer-name>'.
5774 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5776         Merge branch 'master' into cairo
5778 2015-04-26  Jan D  <jan.h.d@swipnet.se>
5780         Merge branch 'master' into cairo
5782         Add PBM support for cairo.
5783         * src/image.c (xcolor_to_argb32): New function.
5784         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
5785         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
5786         XImagePtr if ! USE_CAIRO.
5787         (pbm_load): Add cairo support.
5789 2015-04-12  Jan D  <jan.h.d@swipnet.se>
5791         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
5792         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
5793         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
5794         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
5795         x_free_cr_resources.
5797         Handle specified bg in images.  Use generic libpng code for PNG:s.
5798         * src/image.c (get_spec_bg_or_alpha_as_argb)
5799         (create_cairo_image_surface): New functions when USE_CAIRO.
5800         (xpm_load): Call the above functions.  Handle XPM without mask
5801         when USE_CAIRO.
5802         (png_load_body): Handle USE_CAIRO case.
5803         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
5804         instead.
5805         (jpeg_load_body): Call create_cairo_image_surface.
5806         (gif_load, svg_load_image): Handle specified background, call
5807         create_cairo_image_surface.
5808         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
5810 2015-04-11  Jan D  <jan.h.d@swipnet.se>
5812         Support GIF and Tiff with cairo.
5813         * configure.ac: Allow jpeg with cairo.
5814         Allow tiff and gif with cairo.
5815         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5816         (tiff_load): Create cairo image surface if USE_CAIRO.
5817         (gif_load): Ditto.
5819         Support JPEG with USE_CAIRO.
5820         * configure.ac: Allow jpeg with cairo.
5821         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5823 2015-04-05  Jan D  <jan.h.d@swipnet.se>
5825         Support RSVG and cairo.
5826         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
5827         * src/dispextern.h (struct image): add cr_data2 if cairo.
5828         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
5829         (x_clear_image): Free cr_data and cr_data2 if set.
5830         (xpm_load): Assign data to cr_data2.
5831         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
5833 2015-04-03  Jan D  <jan.h.d@swipnet.se>
5835         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
5836         * configure.ac (HAVE_RSVG): Move after cairo.
5837         (USE_CAIRO): Disable rsvg, don't disable Xpm.
5838         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
5839         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
5840         don't return early.
5841         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
5842         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
5843         and create a surface.
5845         Tool tips for menus did not show any text.
5846         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
5847         tip frames, the geometry may be wrong.
5849         Merge branch 'master' into cairo, fixes tooltips not shown.
5851         Merge branch 'master' into cairo
5853         Add CAIRO_CFLAGS to lwlib/Makefile.in
5854         * Makefile.in (CAIRO_CFLAGS): Add.
5856 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5858         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
5860 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5862         Draw outermost line using black relief and erase corners also for cairo.
5863         * xterm.c [USE_CAIRO]: Include math.h.
5864         (enum corners) [USE_CAIRO]: New enum.
5865         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
5866         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
5867         than 1, draw the outermost line using the black relief.
5869         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
5871 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5873         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
5875         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
5877         Use int instead of unsigned int for width and height args.
5878         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
5879         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
5880         width and height args.
5882         Modernize k&r cairo-related function declarations.
5883         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5884         (xg_print_frames_dialog): Modernize k&r declarations.
5885         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
5886         (Fx_print_frames_dialog): Modernize k&r declarations.
5887         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
5888         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
5889         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5890         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
5891         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
5892         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5893         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
5894         (x_clear_area): Modernize k&r declarations.
5896         Implement wave-style variant of underlining for cairo.
5897         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
5898         (x_draw_underwave) [USE_CAIRO]: Use it.
5900         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
5902 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5904         Fix fringe bitmap initialization for cairo.
5905         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
5906         cairo image surface.
5907         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
5909 2015-02-11  Jan D  <jan.h.d@swipnet.se>
5911         Add cairo drawing.
5912         * configure.ac (with-cairo): New option.
5913         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
5914         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
5915         Output "Does Emacs use cairo?".
5916         * lisp/version.el (emacs-version): Add cairo version.
5917         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
5918         (FONT_OBJ): Add comment about ftcrfont.
5919         (ALL_CFLAGS): Add CAIRO_CFLAGS.
5920         (LIBES): Add CAIRO_LIBS.
5921         * src/dispextern.h (struct image): Add cr_data for cairo.
5922         (x_cr_init_fringe): Declare.
5923         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
5924         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
5925         * src/fringe.c (x_cr_init_fringe): New function name that shares code
5926         with w32_init_fringe.
5927         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
5928         * src/ftfont.c (ftfont_info_size); New global variable.
5929         (ftfont_open2): New extern function almost the same as old ftfont_open,
5930         but takes the font_object as argument.
5931         (ftfont_open): Build font object and call ftfont_open2.
5932         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
5933         * src/gtkutil.c (xg_clear_under_internal_border)
5934         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
5935         queue_draw if not cairo.  Change args to x_clear_area.
5936         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
5937         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5938         (xg_print_frames_dialog): New functions for printing.
5939         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
5940         (xg_print_frames_dialog): Declare.
5941         * src/image.c: Add defined (USE_CAIRO) for PNG.
5942         Add !defined USE_CAIRO for W32 PNG code.
5943         (x_clear_image): If cairo, destroy the surface in cr_data.
5944         (png_load): Add new cairo compatible implementation.
5945         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
5946         * src/xfns.c: New section Printing.
5947         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
5948         (x-print-frames-dialog): New printing functions.
5949         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
5950         cairo.
5951         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
5952         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
5953         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
5954         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
5955         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
5956         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5957         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5958         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
5959         Declare.
5960         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
5961         (max_fringe_bmp, fringe_bmp): New variables.
5962         (x_gc_get_ext_data, x_extension_initialize)
5963         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
5964         (x_set_cr_source_with_gc_foreground)
5965         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5966         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
5967         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
5968         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
5969         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
5970         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
5971         (x_update_begin): Create cairo surface if needed.
5972         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
5973         (x_update_end): Paint cairo drawing surface to xlib surface.
5974         (x_clear_under_internal_border, x_after_update_window_line): Adjust
5975         arguments to x_clear_area.
5976         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
5977         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
5978         of XSetClipMask.
5979         (x_set_glyph_string_clipping)
5980         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
5981         instead of XSetClipRectangles.
5982         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
5983         x_fill_rectangle instead of XFillRectangle.
5984         (x_draw_glyph_string_foreground)
5985         (x_draw_composite_glyph_string_foreground)
5986         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
5987         of XDrawRectangle.
5988         (x_draw_relief_rect): Add code for USE_CAIRO.
5989         Call x_reset_clip_rectangles instead of XSetClipMask.
5990         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
5991         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
5992         instead of XSetClipMask.
5993         (x_draw_image_foreground, x_draw_image_foreground_1):
5994         x_draw_rectangle instead of XDrawRectangle.
5995         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
5996         XFillRectangle.
5997         (x_draw_image_glyph_string): If img has cr_data, use it as
5998         a cairo surface.
5999         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
6000         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
6001         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
6002         x_reset_clip_rectangles instead of XSetClipMask.
6003         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
6004         (x_clear_area1): New function that calls XClearArea.
6005         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
6006         non-cairo.
6007         (x_clear_frame): x_clear_window instead of XClearWindow.
6008         (x_scroll_run): Set frame garbaged if cairo.
6009         (XTmouse_position): Initialize *part to 0.
6010         (x_scroll_bar_create): Adjust arguments to x_clear_area.
6011         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
6012         x_fill_rectangle instead of XFillRectangle.
6013         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
6014         arguments to x_clear_area.
6015         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
6016         (handle_one_xevent): Adjust arguments to x_clear_area.
6017         Destroy cairo surface for frame if ConfigureNotify.
6018         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
6019         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
6020         x_reset_clip_rectangles instead of XSetClipMask.
6021         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
6022         x_reset_clip_rectangles instead of XSetClipMask.
6023         (x_clear_frame_area): Adjust arguments to x_clear_area.
6024         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
6025         (x_term_init): Call x_extension_initialize if cairo.
6026         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
6027         x_cr_destroy_fringe_bitmap for cairo.
6028         (x_initialize): Call x_cr_init_fringe for cairo.
6029         * src/xterm.h: Add include of cairo header files.
6030         (x_bitmap_record): Add img if cairo.
6031         (x_gc_ext_data): New struct for cairo.
6032         (x_display_info): Add ext_codes for cairo.
6033         (x_output): Add cr_context and cr_surface for cairo.
6034         (x_clear_area): Change arguments from Display*/Window to frame pointer.
6035         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
6036         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
6037         (x_cr_draw_frame, x_cr_export_frames): Declare.
6039 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
6041         Fix integer-valued `mouse-highlight' (Bug#20590)
6042         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
6044 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
6046         MS-Windows followup for ASCIIfication of curved quotes
6047         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
6048         test for curved quotes being displayable, after switching the
6049         terminal encoding.  (Bug#20545)
6051 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
6053         Spelling fixes
6055 2015-05-17  Jan D  <jan.h.d@swipnet.se>
6057         Add comment that x_shift_glyphs_for_insert is never called.
6058         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
6059         comment that this function is never called.
6061 2015-05-16  Glenn Morris  <rgm@gnu.org>
6063         * src/lisp.mk: Remove from repository and generate at build-time.
6064         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
6065         (shortlisp_filter): New variable.
6066         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
6067         (distclean): Remove lisp.mk.
6068         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
6069         * lisp/loadup.el: Tweak layout to make it easier to parse.
6070         * make-dist: Do not distribute src/lisp.mk.
6072 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
6074         Display shorter dates in Git annotate output
6075         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
6076         format (when not overridden with vc-git-annotate-switches).
6077         (vc-git-annotate-time): Support the short format, as well as ISO
6078         8601 that has been used until now (bug#5428).
6080 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6082         ASCIIfy curved quotes on displays lacking them
6083         * lisp/international/mule-cmds.el (set-locale-environment):
6084         If curved quotes don't work, display straight ASCII approximations
6085         (Bug#20545).
6087 2015-05-16  Glenn Morris  <rgm@gnu.org>
6089         Small src/Makefile simplification.
6090         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
6091         * src/Makefile.in (lisp): Derive from shortlisp.
6092         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
6094 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
6096         * lisp/help-mode.el (help-go-forward): Doc fix.
6097         (Bug#20577)
6099         * doc/lispref/debugging.texi (Profiling): Improve indexing.
6100         (Bug#20576)
6102 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
6104         Use `unless' to have one fewer `not'
6105         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
6106         have one fewer `not'.
6108         Remove redundant :group declarations from vc-git.el
6109         * lisp/vc/vc-git.el (vc-git-diff-switches)
6110         (vc-git-annotate-switches, vc-git-resolve-conflicts)
6111         (vc-git-program, vc-git-root-log-format): Remove the redundant
6112         :group declarations.
6114 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
6116         Removes the predicate from lisp-complete-symbol (Bug#20456)
6117         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
6118         and remove it from the docstring.
6120 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
6122         Add new option vc-git-resolve-conflicts
6123         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
6124         (vc-git-find-file-hook): Add to after-save-hook only when the
6125         above is non-nil.
6126         (vc-git-resolve-when-done): Update to honor the new variable.
6127         (Bug#20292)
6129 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
6131         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
6132         (tabulated-list-init-header): Document new behavior.
6133         (tabulated-list-print-fake-header): No nothing if
6134         `tabulated-list--header-string' is nil.
6135         (tabulated-list--header-string): Add a docstring.
6136         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
6137         * etc/NEWS: Document it.
6139 2015-05-15  Leo Liu  <sdl.web@gmail.com>
6141         Revert "Fix cps--gensym"
6142         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
6143           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
6145 2015-05-15  Glenn Morris  <rgm@gnu.org>
6147         Replace AC_SUBST_FILE in configure with include in Makefiles.
6148         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
6149         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
6150         (AUTO_DEPEND): New output variable.
6151         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
6152         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
6153         (lwlib_deps_frag): Replace by conditional include.
6154         * lwlib/autodeps.mk: Remove file.
6155         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
6156         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
6157         (oldxmenu_deps_frag): Replace by conditional include.
6158         * oldXMenu/autodeps.mk: Remove file.
6159         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
6160         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
6161         (lisp_frag): Replace by an include.
6162         (deps_frag): Replace by conditional include.
6163         * src/autodeps.mk: Remove file.
6165         Tweak japanese.el's loading of dependencies.
6166         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
6167         * lisp/language/japanese.el: Use require rather than load.
6168         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
6169         Provide a feature.
6170         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
6171         Provide a feature in the generated file.
6173 2015-05-15  Jan D  <jan.h.d@swipnet.se>
6175         Fix NS warnings.
6176         * nsmenu.m (ns_popup_dialog)
6177         * nsimage.m (initFromXBM:width:height:fg:bg:)
6178         * nsfns.m (Fx_create_frame): Remove unused variables.
6179         (Fns_read_file_name): Initialize fname, remove ret.
6180         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
6181         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
6182         variable.
6183         (init): Add parantesis in if.
6184         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
6186 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6188         Fix a enum conversion warning in macfont.m
6189         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
6190         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
6192 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
6194         Support de-alt dictionary with Aspell.
6195         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
6196         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
6198 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6200         cus-start.el: Add ns-confirm-quit.
6201         * cus-start.el: Add ns-confirm-quit.
6203         Fix warnings on OSX 10.10.
6204         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
6205         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
6206         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
6207         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
6208         * nsimage.m (allocInitFromFile, setPixmapData): Only call
6209         setScalesWhenResized for OSX < 10.6.
6210         * nsterm.h (EmacsScroller): Declare scrollerWidth.
6211         * nsterm.m (ns_copy_bits): New function that does not use deprecated
6212         NSCopyBits.
6213         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
6214         (runAlertPanel): New function.
6215         (applicationShouldTerminate:): Call runAlertPanel.
6216         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
6217         for OSX < 10.10.
6218         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
6219         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
6220         (draggingEntered:): Returns NSDragOperation.
6221         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
6223 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6225         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
6226         (package--init-file-ensured): New variable.
6227         (package-initialize, package--ensure-init-file): Use it.
6229 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6231         Honor :fore/background for XBM on NS (Bug#14969).
6232         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
6233         initFromXBM takes bg, fg args, remove flip arg.
6234         (ns_image_from_XBM): Add bg, fg args.
6235         * image.c (x_create_bitmap_from_data)
6236         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
6237         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
6238         Remove flip arg.
6239         (initFromSkipXBM): Move code to initFromXBM.
6240         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
6241         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
6242         false.
6243         Remove bit flipping (bitPat, swt), generated incorrect images when
6244         width/height wasn't a multiple of 8.
6245         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
6246         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
6247         flip arg.
6249 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6251         * lisp/emacs-lisp/package.el: Be more careful with the init file
6252         (package--ensure-init-file): Check that user-init-file is set,
6253         exists, is readable, and is writable.  (Bug#20584)
6254         Also expand the docstring.
6256 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
6258         Sync with upstream verilog-mode revision 6232468
6259         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
6260         (verilog-highlight-grouping-keywords): Fix use of face when
6261         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
6262         Pompa.
6263         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
6264         parent is reset, bug906. Reported by Ken Schmidt.
6265         (verilog-auto-inout-module): Add fourth regexp argument to
6266         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
6267         bug856. Reported by John Tillema.
6268         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
6269         modport if signal attachment is itself a modport.  Reported by
6270         Matthew Lovell.
6271         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
6272         always_comb and always_latch, bug844.  Reported by Greg Hilton.
6273         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
6274         with many curly-bracket pairs, bug663.
6275         (verilog-set-auto-endcomments): Fix end comments for functions of
6276         type void, etc.  Reported by Alex Reed.
6277         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
6278         caused by indent-line-to deleting tabls pre 24.5.
6279         (verilog-nameable-item-re): Fix nameable items that can have an
6280         end-identifier to include endchecker, endgroup, endprogram,
6281         endproperty, and endsequence.  Reported by Alex Reed.
6282         (verilog-label-be): When auto-commenting a buffer, consider
6283         auto-comments on all known keywords (not just a subset thereof).
6284         Reported by Alex Reed.
6285         (verilog-auto-end-comment-lines-re)
6286         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
6287         Automatically comment property/endproperty blocks to match other
6288         similar blocks like sequence/endsequence, function/endfunction,
6289         etc. Reported by Alex Reed.
6290         (verilog-set-auto-endcomments): Detect the function- or task-name
6291         when auto-commenting blocks that lack an explicit
6292         portlist. Reported by Alex Reed.
6293         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
6294         allow post-AUTO user fixups, bug826. Reported by Dennis
6295         Muhlestein.
6296         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
6297         is nil, fix indenting initial/final to match always statements,
6298         bug825. Reported by Tim Clapp.
6299         (verilog-extended-complete-re): Fix indentation of DPI-C imports
6300         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
6301         Mao and Jason Forkey.
6302         (verilog-read-decls): Fix parsing typed interfaces.  Fix
6303         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
6304         Fix localparam not being ignored in AUTOINSTPARAM,
6305         bug889. Reported by Shannon Hill.
6306         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
6307         bug793.  Reported by Pierre-David Pfister.
6308         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
6309         verilog-auto-arg-format to support newlines in AUTOARG. Reported
6310         by Jie Xiao.
6311         (verilog-batch-execute-func): Do not batch re-auto files loaded by
6312         Local Variables. Fix printing "no changes to be saved" with
6313         verilog-batch. Reported by Dan Dever.
6314         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
6315         interface-only modules, bug721.  Reported by Dean Hoyt.
6316         Author: Alex Reed <acreed4@gmail.com>
6317         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
6318         treat '<keyword>:<identifier>' as the start of a labeled
6319         statement, bug905.  Reported by Enzo Chi.
6320         (verilog-directive-re, verilog-compiler-directives)
6321         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
6322         directives (plus some extras) when determining indentation, bug
6323         901.  Reported by Bernd Beuster.
6324         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
6325         iff expression doesn't start with word-character, bug900.
6326         (verilog-optional-signed-range-re, verilog-optional-signed-re):
6327         Fix incorrect indentation/alignment of unsigned declarations,
6328         bug897.
6329         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
6330         always constructs, bug895.
6331         (verilog-calc-1): Fix verilog-mode constraint indentation,
6332         bug324. Reported by Eric Mastromarchi.
6333         (verilog-beg-of-statement): Fix indenting for some forms of
6334         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
6335         continued assignment incorrect if first line ends with ']',
6336         bug437. Reported by Dan Dever.  Fix indention of cover inside an
6337         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
6338         blocks, bug842.
6339         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
6340         bug859. Reported by Kaushal Modi.
6341         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
6342         (verilog-backward-token): Fix indenting sensitivity lists with
6343         named events, bug840.  Reed.
6344         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
6345         nil not honoring 'forever', 'foreach', and 'do' keywords.
6347 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6349         Check for invalid GTK+ monitor scales
6350         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
6351         INT_MAX for too-large scales.  All callers changed to assume the
6352         result is valid (Bug#20432).
6353         (xg_frame_set_char_size, xg_update_scrollbar_pos):
6354         Calculate scale only if needed.
6355         show ASCII approximations instead.
6357 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
6359         Fix daemon crashes when linum-mode is turned on early on
6360         * src/window.c (Fwindow_end): Don't try calling display engine
6361         functions on initial-frame frame.  (Bug#20565)
6363         Fix selective diff browsing in Ediff
6364         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
6365         beginning of the region before searching for the
6366         ediff-regexp-focus-* regexps.  (Bug#20568)
6368 2015-05-14  Jan D  <jan.h.d@swipnet.se>
6370         Fixes Bug#20142.
6371         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
6372         in the main loop, even for Gtk 3 (Bug#20142).
6374         Don't access display after i/o error (Bug#19147).
6375         * xterm.c (x_connection_closed): Add third arg ioerror.
6376         If ioerror, set display to 0 (Bug#19147).
6377         (x_error_quitter): Call x_connection_closed with third arg false.
6378         (x_io_error_quitter): Call x_connection_closed with third arg true.
6380         Handle GTK_SCALE, fixes Bug#20432.
6381         * gtkutil.c (xg_get_gdk_scale): New function.
6382         (xg_frame_set_char_size)
6383         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
6384         (xg_get_default_scrollbar_height)
6385         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
6386         when setting sizes (Bug#20432).
6388 2015-05-13  Leo Liu  <sdl.web@gmail.com>
6390         Fix cps--gensym
6391         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
6393 2015-05-13  Glenn Morris  <rgm@gnu.org>
6395         Fix bootstrap (void function cl-member).
6396         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
6397         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
6399 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6401         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
6402         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
6403         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
6404         Avoid defalias for closures which are not immutable.
6405         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
6406         dispatchers table with various entries.
6407         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
6408         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
6410 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
6412         Improve tagging of C bindings in DEFVAR_*
6413         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
6414         from DEFVAR_*.
6416 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
6418         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
6420 2015-05-12  Glenn Morris  <rgm@gnu.org>
6422         * lisp/progmodes/tcl.el (tcl-filter):
6423         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
6425         Add basic VC push support.
6426         * lisp/vc/vc.el (vc-push): New autoloaded command.
6427         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
6428         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
6429         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
6430         (vc-bzr-push): New.
6431         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
6432         (vc-git-pull): Reimplement using vc-git--pushpull.
6433         (vc-git-push): New.
6434         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
6435         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
6436         * doc/emacs/maintaining.texi (Pulling / Pushing):
6437         Rename from "VC Pull".  Mention pushing.
6438         (VC With A Merging VCS, VC Change Log): Update xrefs.
6439         (Branches): Update menu.
6440         * doc/emacs/emacs.texi: Update menu.
6441         * etc/NEWS: Mention this.
6443 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
6445         Improve the seq pcase pattern and the `seq-let' macro
6446         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
6447         object is a sequence, and binds each element of ARGS to the
6448         corresponding element of the sequence.
6450 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
6452         Fix tags created from DEFVAR_* declarations in C
6453         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
6454         to make tags extracted from DEFVAR_* declarations more accurate.
6456         Add a test suite for etags
6457         * test/etags/: New test suite, adapted from
6458         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
6459         whose original author is Francesco Potortì <pot@gnu.org>.
6461         Fix tagging of symbols in C enumerations
6462         * lib-src/etags.c (consider_token): Don't tag symbols in
6463         expressions that assign values to enum constants.  See
6464         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
6465         for details.
6466         (C_entries): Reset fvdef to fvnone after processing a preprocessor
6467         conditional and after a comma outside of parentheses.
6469 2015-05-12  Glenn Morris  <rgm@gnu.org>
6471         * lisp/url/url-handlers.el (url-file-name-completion)
6472         (url-file-name-all-completions): Silence compiler.
6474         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
6476         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
6478 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
6480         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
6481         (cl--generic-mandatory-args): Remove.
6482         (cl--generic-split-args): New function.
6483         (cl-generic-define, cl--generic-lambda): Use it.
6484         (cl-generic-define-method): Use it as well, and add support for
6485         context args.
6486         (cl--generic-get-dispatcher): Handle &context dispatch.
6487         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
6488         (cl--generic-dispatchers): Pre-fill.
6489         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
6491 2015-05-11  Glenn Morris  <rgm@gnu.org>
6493         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
6495 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6497         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
6498         * lisp/term/rxvt.el: Require term/xterm.
6499         (rxvt-function-map): Use xterm-rxvt-function-map.
6500         (rxvt-standard-colors): Move before first use.
6501         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
6502         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
6503         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
6504         Move shared bindings between rxvt and xterm to it.
6505         (xterm-function-map): Use it.  Move the xterm-paste binding to
6506         xterm-rxvt-function-map (bug#20444).
6507         (xterm-standard-colors): Move before first use.
6508         (xterm--push-map): New function.
6509         (xterm-register-default-colors): Take standard colors as argument.
6510         (terminal-init-xterm): Use it.  Adjust call to
6511         xterm-register-default-colors.
6513 2015-05-11  Glenn Morris  <rgm@gnu.org>
6515         * lisp/term/x-win.el: Quieten --without-x compilation.
6516         (x-own-selection-internal, x-disown-selection-internal)
6517         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
6518         Declare.
6520         * Makefile.in (emacslog): Remove srcdir.
6521         (ChangeLog): Update for the above.
6523 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6525         Spelling fix
6527 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6529         python.el: better limit for looking-back calls
6530         * lisp/progmodes/python.el (python-shell-accept-process-output):
6531         Use last comint prompt start as limit for looking-back.
6533 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
6535         CEDET (srecode-insert-fcn): Fix use of oref on a class
6536         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
6537         a class.  Reported by Pierre Lorenzon.
6538         (srecode-template-inserter-point): Remove declaration.
6540         CEDET (srecode-create-dictionary): Avoid obsolete object name
6541         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
6542         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
6544 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6546         C-x 8 shorthands for curved quotes, Euro, etc.
6547         Although C-x 8 lets you insert arbitrary Unicode characters,
6548         it's awkward to use this to insert commonly used symbols such as curved
6549         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
6550         characters commonly found in English text and in basic math.
6551         For example, assuming the Alt key works on your keyboard and iso-transl
6552         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
6553         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
6554         (Bug#20499)
6555         * doc/emacs/mule.texi (Unibyte Mode):
6556         A few other printing characters now work too.
6557         * etc/NEWS: Document this.
6558         * lisp/international/iso-transl.el (iso-transl-char-map):
6559         Also support the following characters:
6560         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
6562 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6564         Add xref-find-regexp
6565         * lisp/progmodes/xref.el (xref-find-function): Describe the
6566         `matches' action.
6567         (xref-find-regexp): New command, using it.
6568         (xref-collect-references): Rename to xref-collect-matches.
6569         (xref--collect-reference): Rename to xref--collect-match.
6570         (xref-collect-matches, xref--collect-match): Accept new argument,
6571         KIND.  Update accordingly.
6572         (xref--regexp-to-extended): New function.
6573         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
6574         `matches' action.
6575         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
6576         * lisp/progmodes/etags.el (etags-xref-find):
6577         Support the `matches' action.
6578         (etags--xref-find-matches): New function.
6580 2015-05-10  Glenn Morris  <rgm@gnu.org>
6582         * Makefile.in: Fixes for recent change-history changes.
6583         (change-history-nocommit): Update footer regexp.
6584         Ensure output script stays executable.
6586 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
6588         New version of `seq-let' based on a pcase pattern
6589         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
6590         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
6592 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
6594         Add basic HTML5 tags and a template
6595         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
6596         (html-tag-alist): Add HTML5 tags.
6597         (html-tag-help): Add new tags descriptions.
6598         (html-navigational-links): Template for nav links.
6599         (html-html5-template): Template for a HTML5 page.
6601 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6603         semantic/symref/grep: Don't use word boundaries
6604         * lisp/cedet/semantic/symref/grep.el
6605         (semantic-symref-perform-search): Instead of wrapping input in
6606         word boundaries, check that the characters before and after are
6607         not word constituents.
6609         semantic/symref/grep: Support regexp search
6610         * lisp/cedet/semantic/symref.el
6611         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
6612         the search type is regexp.
6613         * lisp/cedet/semantic/symref/grep.el
6614         (semantic-symref-perform-search): Support the regexp search type.
6615         Pass -E to Grep when it's used.
6617         semantic-symref-regexp: Allow to input an arbitrary string
6618         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
6619         Allow to input an arbitrary string interactively.
6621         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
6622         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6623         Remove tag-symbol-match-p from the default value
6624         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
6626         Declare find-tag obsolete
6627         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
6628         xref-find-definitions.
6630 2015-05-10  Jan D  <jan.h.d@swipnet.se>
6632         Draw composite string correctly (Bug#20537).
6633         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
6634         (ns_draw_glyph_string): Call it (Bug#20537).
6636 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
6638         Avoid infloop in ERC
6639         * lisp/simple.el (line-move-to-column): Ignore field boundaries
6640         while computing line beginning position.  (Bug#20498)
6642 2015-05-08  Glenn Morris  <rgm@gnu.org>
6644         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
6645         * build-aux/gitlog-to-emacslog: Check called from right directory.
6646         (srcprefix): Remove.
6648         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
6649         * Makefile.in (ChangeLog): No longer pass "distprefix".
6650         * make-dist: Update "make ChangeLog" syntax for the above change.
6652         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
6653         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
6655         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
6657         Add command-line option-parsing to gitlog-to-emacslog.
6658         * build-aux/gitlog-to-emacslog: Add command-line options.
6659         By default, refuse to remove an existing output file.
6660         * Makefile.in (CHANGELOG): Update default.
6661         (ChangeLog): Do not test for existing file.
6662         (change-history-nocommit): Ensure temp file does not exist.
6664         Quieten --without-x compilation.
6665         * lisp/term/common-win.el: Provide a feature.
6666         * lisp/term/x-win.el (term/common-win): Require it.
6668         * lisp/dired-aux.el (dired-do-print): Require lpr.
6670         Quieten compilation, eg in --without-x builds.
6671         * lisp/dired-aux.el (lpr-printer-switch):
6672         * lisp/frame.el (tool-bar-height):
6673         * lisp/linum.el (font-info):
6674         * lisp/window.el (font-info, overflow-newline-into-fringe)
6675         (tool-bar-height):
6676         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
6677         * lisp/gnus/gnus-util.el (iswitchb-mode):
6678         * lisp/mail/rmailmm.el (libxml-parse-html-region):
6679         * lisp/net/nsm.el (gnutls-peer-status)
6680         (gnutls-peer-status-warning-describe):
6681         * lisp/net/shr.el (libxml-parse-xml-region):
6682         * lisp/url/url-http.el (gnutls-peer-status): Declare.
6684 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
6686         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
6687         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
6688         `subclass' since they're never called with a class.
6689         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
6690         srecode-dictionary-child-p.
6692 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
6694         help--binding-locus: Document argument POSITION.
6695         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
6697 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6699         Merge from gnulib.
6700         * doc/misc/texinfo.tex: Get latest version.
6702 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
6704         ffap.el (ffap-read-file-or-url): Fix completing-read call
6705         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
6706           `completing-read' should be a symbol.
6708 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
6710         Verify file modifications by other programs
6711         * src/filelock.c (lock_file): Check whether the file was modified
6712         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
6714         Fix keyboard macros that include function keys
6715         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
6716         keys in the macro before returning.  (Bug#20454)
6718 2015-05-08  Glenn Morris  <rgm@gnu.org>
6720         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
6721         "Copyright-paperwork-exempt".  (Bug#20324)
6723         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
6724         (log-edit-rewrite-tiny-change): New variable.
6725         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
6726         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
6727         * etc/NEWS: Mention this.
6729         * lisp/calc/calc.el (math-zerop): Declare.
6731         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
6733 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6735         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
6736         Support the case when BINDINGS is a single tuple.  (Bug#20525)
6738         * etc/NEWS: Fix typo in commit 14bb519
6740 2015-05-07  Jan D  <jan.h.d@swipnet.se>
6742         Warn for multiple display crash for all Gtk+ versions.
6743         * configure.ac: Warn for multiple display crash for all Gtk+
6744         versions.  Output URL to Gtk+ bug (Bug#20452).
6746         ns-win.el (ns-paste-secondary): Use gui-get-selection.
6747         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
6749 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6751         * lisp/emacs-lisp/package.el: New "external" package status
6752         An external package is any installed package that's not built-in
6753         and not from `package-user-dir', which usually means it's from an
6754         entry in `package-directory-list'.  They are treated much like
6755         built-in packages, in that they cannot be through the Package Menu
6756         deleted and are not considered for upgrades.
6757         (package-desc-status): Identify if a package is installed outside
6758         `package-user-dir'.
6759         (package-menu--print-info-simple)
6760         (package-menu--status-predicate): Add support for it.
6761         * etc/NEWS: Document it.
6763 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6765         * lisp/mail/rmail.el: Use lexical-binding
6766         (rmail-bury): Remove unused var `buffer-to-bury'.
6767         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
6768         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
6769         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
6770         (rmail-insert-inbox-text): Remove unused var `movemail'.
6771         (rmail-add-mbox-headers): Remove unused var `limit'.
6772         (rmail-undelete-previous-message): Remove unused var `value'.
6773         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
6774         `resent-reply-to'.
6775         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
6776         (rmail-restore-desktop-buffer): Rename arguments.
6778 2015-05-06  Glenn Morris  <rgm@gnu.org>
6780         * Makefile.in (change-history-commit): Add missing piece of previous.
6782         Avoid unnecessary bumping of Makefile.in's timestamp.
6783         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
6784         (emacslog): New variable.
6785         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
6786         (unchanged-history-files): Use $emacslog rather than Makefile.in.
6787         (change-history-nocommit): Store hash in $emacslog.
6788         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
6789         * admin/update_autogen (changelog_files): Update for the above.
6791         * Makefile.in: Don't always insist on removing existing "ChangeLog".
6792         (CHANGELOG): New variable.
6793         (no-ChangeLog): Remove.
6794         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
6795         (change-history-nocommit): Use a temp file rather than insisting
6796         on deletion of any existing "ChangeLog".
6798         * build-aux/gitlog-to-emacslog: Allow specification of output.
6800         * admin/update_autogen: Add option to update ChangeLog.
6801         (usage): Mention -H.
6802         (changelog_flag, changelog_n, changelog_files): New variables.
6803         (main): Check for -H, and maybe run change-history-nocommit.
6805 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6807         * lisp/subr.el (delete-dups): Pre-size the hashtable.
6809         (define-modify-macro): Make sure cl--arglist-args is defined
6810         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
6811         cl--arglist-args is defined (bug#20517).
6813 2015-05-06  Glenn Morris  <rgm@gnu.org>
6815         * Makefile.in (change-history-nocommit): New.
6817 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6819         Only cancel timer when it is non-nil
6820         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
6821         timer when it is non-nil
6822         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
6824 2015-05-06  Glenn Morris  <rgm@gnu.org>
6826         Quieten cedet compilation
6827         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
6828         Invert fboundp test to quieten on current Emacs.
6829         * lisp/cedet/ede/config.el (ede-shell-run-something)
6830         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
6831         (semanticdb-refresh-table): Declare.
6832         (ede-preprocessor-map): Require semantic/db.
6834         Quieten cc-mode compilation
6835         * lisp/progmodes/cc-awk.el (c-forward-sws):
6836         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
6837         Declare.
6839 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6841         lisp/subr.el (delete-dups): Avoid nreverse.
6843 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
6845         * lisp/subr.el (delete-dups): Make it destructive again.
6847 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
6849         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
6851 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6853         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
6854         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
6855         (testcover--read): Rename from testcover-read.  Change calling convention.
6856         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
6857         (testcover-start): Use add-function.  Move edebug-all-defs binding to
6858         testcover--read.
6859         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
6860         (testcover-mark): Remove unused var `item'.
6861         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
6863 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6865         lisp/subr.el (delete-dups): Use a hash table
6866         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
6867           use a hash table. This can result in ~500 times speed-up for typical
6868           collections of size 5000, like that of `load-library'.
6870 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6872         CEDET: Avoid `oref' on classes in a few more cases
6873         * lisp/cedet/ede/generic.el (ede-find-target):
6874         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
6875         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
6876         var `prefix'.
6878         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
6879         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
6880         (semantic-symref-perform-search): Remove unused var `pat'.
6882         CEDET (srecode-compile-inserter): Avoid `oref' on classes
6883         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
6884         Avoid `oref' on classes (bug#20491).
6885         (srecode-compile-split-code): Remove unused var `key'.
6887 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6889         Clean up pulse.el a little
6890         * lisp/cedet/pulse.el (pulse): Remove.
6891         (pulse-momentary-timer): Save instead of the stop time.
6892         (pulse-momentary-highlight-overlay): Call
6893         pulse-momentary-unhighlight first thing. Treat
6894         pulse-momentary-overlay as a single value, not a list. Save the
6895         created timer. Only pass the stop time to the timer.
6896         (pulse-tick): Update accordingly.
6897         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
6898         single value. Cancel the timer.
6900 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
6902         Support the biblatex journaltitle field
6903         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
6904         Support the biblatex journaltitle field.
6906 2015-05-05  Glenn Morris  <rgm@gnu.org>
6908         Minor declare-function improvement
6909         * lisp/emacs-lisp/bytecomp.el
6910         (byte-compile-macroexpand-declare-function):
6911         Handle declarations after calls.  (Bug#20509)
6913         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
6915         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
6917 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6919         Pulse using a timer
6920         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
6921         (pulse-momentary-highlight-overlay): Set up the timer instead of
6922         calling `pulse'
6923         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
6924         (pulse-tick): New function.
6925         (pulse-momentary-unhighlight): Cut off the stop time.
6926         (pulse-delay): Update the docstring WRT to not using sit-for.
6928         Add semantic/symref/grep file patterns for ruby-mode
6929         * lisp/cedet/semantic/symref/grep.el
6930         (semantic-symref-filepattern-alist): Add patterns for
6931         ruby-mode. Clarify the docstring.
6933         Don't require match
6934         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
6935         match. That doesn't work for every command, and some identifier
6936         completion tables are bound to be imperfect anyway.
6938 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
6940         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
6941         (semantic-grammar--template-expand): New function.
6942         (semantic-grammar-header, semantic-grammar-footer): Use it.
6943         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
6944         (semantic-grammar-file-regexp): Refine regexp.
6945         (semantic-grammar-eldoc-get-macro-docstring):
6946         Use elisp-get-fnsym-args-string when available.
6947         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
6948         instead of the old eldoc-* names.
6949         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
6950         from elisp-mode.el.  Tweak calling convention.
6951         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
6952         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
6953         elisp--get-fnsym-args-string.
6954         (elisp--highlight-function-argument): Add `prefix' arg.
6955         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
6956         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
6958 2015-05-05  Glenn Morris  <rgm@gnu.org>
6960         * lisp/help-fns.el (describe-function-1):
6961         Handle builtins with advertised calling conventions.  (Bug#20479)
6963 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6965         Merge branch 'seq-let'
6967         Update `seq-let' documentation
6968         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
6969         with the support of  `&rest'.
6971         Add support for &rest in `seq-let'
6972         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
6973         in the argument list.
6974         * test/automated/seq-tests.el: Add a test for parsing and binding
6975         `&rest' in `seq-let'.
6977 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6979         Spelling fixes
6981 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
6983         * eieio-custom.el (eieio-object-value-get): Add missing increment
6984         (Bug#20467)
6986         (eieio-object-value-create): Adjust to new slots representation
6987         (Bug#20467)
6988         * eieio-custom.el (eieio-object-value-create):
6989         Fix missed adjustment to new representation of slots metadata.
6991 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6993         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
6995 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6997         Work around "Attempt to modify read-only object"
6998         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
6999         elisp--xref-find-definitions, to work around "Attempt to modify
7000         read-only object" error.
7002         Only skip some variables that have function counterparts
7003         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7004         Only skip minor-mode-named variable if it's defined in a Lisp
7005         file, and it's in minor-mode-list (bug#20506).
7006         * test/automated/elisp-mode-tests.el
7007         (elisp-xref-finds-both-function-and-variable)
7008         (elisp-xref-finds-only-function-for-minor-mode): New tests.
7010 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7012         Buttonize the whole line, including the number at the beginning
7013         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
7014         previous change.
7015         (xref--insert-xrefs): Buttonize the whole line, including the
7016         number at the beginning.
7018         Make sure we're inside the let bindings
7019         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
7020         Make sure we're inside the let bindings.
7021         * test/automated/elisp-mode-tests.el
7022         (elisp-completes-functions-after-let-bindings): New test.
7024 2015-05-04  Glenn Morris  <rgm@gnu.org>
7026         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
7027         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
7028         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
7029         Remove outdated declarations.
7031         Replace instances of "(eval-when-compile (autoload ...))"
7032         * lisp/gnus/gnus-art.el (nneething-get-file-name):
7033         Declare rather than autoload.
7034         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
7035         Remove pointless autoload.
7036         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
7037         (gnus-topic-create-topic, gnus-topic-enter-dribble):
7038         Declare rather than autoload.
7039         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
7040         (mailcap-extension-to-mime): Autoload at run-time.
7041         * lisp/gnus/mm-util.el (latin-unity-massage-name)
7042         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
7043         (latin-unity-representations-present-region):
7044         Declare rather than autoload.
7045         * lisp/gnus/mml-smime.el (epg-make-context)
7046         (epg-passphrase-callback-function): Autoload at run-time.
7047         (epg-context-set-signers, epg-context-result-for)
7048         (epg-new-signature-digest-algorithm)
7049         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
7050         (epg-sign-string, epg-encrypt-string)
7051         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
7052         (epg-configuration, epg-expand-group, epa-select-keys):
7053         Declare rather than autoload.
7054         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
7055         Autoload at run-time.
7056         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
7057         (gnus-registry-get-id-key, gnus-registry-action):
7058         Declare rather than autoload.
7059         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
7060         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
7061         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
7062         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
7063         (spam-stat-split-fancy): Remove pointless autoloads.
7064         * lisp/net/mairix.el: Load gnus-util when compiling.
7065         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
7066         (message-field-value): Declare rather than autoload.
7067         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
7068         Check gnus-alive-p is fbound.
7069         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
7070         (vm-check-for-killed-summary, vm-error-if-folder-empty)
7071         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
7072         Declare rather than autoload.
7074         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
7076         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
7077         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
7079         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
7081         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
7083         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
7084         * lisp/emacs-lisp/package.el (epg-signature-status):
7085         Fix declarations.
7087         * lisp/play/gametree.el (gametree-show-children-and-entry)
7088         (gametree-apply-layout, gametree-mouse-show-subtree)
7089         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
7091         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
7092         Handle cl-defgeneric, cl-defmethod.
7094 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7096         Highlight both type and symbol name
7097         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
7098         Highlight both type and symbol name.
7100         Insert, highlight and align line numbers in xref output
7101         * lisp/progmodes/etags.el (xref-location-line): Specialize for
7102         xref-etags-location.
7103         * lisp/progmodes/xref.el (xref-location-line): New generic method.
7104         (xref-file-location): Add reader for the line slot.
7105         (xref--location-at-point): Skip to the `xref-location' property.
7106         (xref--collect-reference): Drop the line number from description.
7107         (xref--insert-xrefs): Insert, highlight and align line numbers.
7109 2015-05-04  Daniel Colascione  <dancol@dancol.org>
7111         Fix previous commit
7113 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7115         Don't pulse the indentation, or the newline
7116         * lisp/cedet/pulse.el (pulse-lighten-highlight)
7117         (pulse-reset-face): Fall back to the inherited background
7118         attribute in FACE.
7119         (pulse-momentary-highlight-region): Add autoload cookie.
7120         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
7121         indentation, or the newline, if the line's non-empty
7122         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
7124 2015-05-04  Daniel Colascione  <dancol@dancol.org>
7126         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
7127         * doc/lispref/positions.texi (Excursions): Document
7128         `save-mark-and-excursion'.
7129         * lisp/font-lock.el (font-lock-fontify-block): Use
7130         `save-mark-and-excursion' instead of `save-excursion', restoring
7131         Emacs 24 behavior.
7132         * lisp/simple.el (save-mark-and-excursion--save)
7133         (save-mark-and-excursion--restore): New functions.
7134         (save-mark-and-excursion): New user macro.
7135         * src/editfns.c (Fsave_excursion): Mention
7136         `save-mark-and-excursion' in `save-excursion' documentation.
7138 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7140         Classify lone symbol inside let varlist as variable
7141         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
7142         Classify lone symbol inside let varlist as variable.
7143         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
7144         New test.
7146         Add xref-pulse-on-jump
7147         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
7148         Add autoload cookie.
7149         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
7150         (xref--maybe-pulse): New function.
7151         (xref-pop-marker-stack, xref--pop-to-location)
7152         (xref--display-position): Use it.
7153         (xref--location-at-point): Use back-to-indentation.
7155 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
7157         * lisp/org/org-{macs,list}.el: Fix lexical warnings
7158         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
7159         (org-list-get-next-item, org-list-get-prev-item)
7160         (org-list-get-children): Mark unused arg `struct'.
7161         (org-list-use-alpha-bul-p): Remove unused var `bul'.
7162         (org-toggle-checkbox): Mark unused var.
7163         (org-update-checkbox-count): Remove unused var `box-num'.
7164         (org-adapt-indentation): Declare.
7165         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
7166         (org-list-send-list): Remove unused var `txt'.
7167         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
7168         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
7169         * lisp/org/org-macs.el: Use `declare'.
7170         (org-with-limited-levels): Declare dyn-bound vars.
7172 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
7174         Fix minor issues with CEDET on MS-Windows
7175         * lisp/cedet/semantic/symref/idutils.el
7176         (semantic-symref-parse-tool-output-one-line): Fix the search
7177         regexp to match MS-Windows file names with drive letters.
7178         (Bug#19468)
7179         * lisp/cedet/semantic/symref/grep.el
7180         (semantic-symref-grep-use-template): Remove "--color=always" from
7181         Grep switches on MS-Windows.
7182         (semantic-symref-grep-shell): Use shell-file-name as the default
7183         value, so this works not only on Posix platforms.
7184         (semantic-symref-perform-search): Use shell-quote-argument instead
7185         of literal '..' for portable quoting of Grep command-line
7186         argument.  Use shell-command-switch instead of a literal "-c".
7187         * lisp/cedet/semantic/bovine/gcc.el
7188         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
7189         for an absolute file name in a portable way.
7191 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7193         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
7194         (package-import-keyring, package-refresh-contents)
7195         (package-compute-transaction, package--save-selected-packages)
7196         (package-install-from-archive, package-delete)
7197         (package-menu--perform-transaction): Use `inhibit-message'
7198         instead.
7199         (package--compile): Set `warning-minimum-level' to :error.
7201 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
7203         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
7204         (terminal-init-screen): Use it (bug#20356).
7205         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
7206         (xterm--extra-capabilities-type): New const.
7207         (xterm-extra-capabilities): Use it.
7208         (xterm--version-handler): Lower the pseudo-version for `screen'.
7210 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
7212         xref--insert-xrefs: Tweak the faces
7213         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
7214         Always insert a newline at the end (to avoid mouse-face background
7215         tail at the last line).
7217         elisp-completion-at-point: Prioritize being quoted over funpos
7218         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
7219         Only consider function position when not inside quoted form
7220         (bug#20425).
7221         * test/automated/elisp-mode-tests.el: New file.
7223         Stop vc-print-log from jumping to the top
7224         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
7225         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
7226         is not specified.
7227         (vc-incoming-outgoing-internal): Always pass nil.
7228         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
7229         call it, and don't set vc-sentinel-movepoint (bug#15322).
7230         (vc-print-root-log): Don't fetch the root working revision, nor
7231         pass it to vc-print-log-internal.
7233 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
7235         Fix display of keyboard layouts for right-to-left scripts
7236         * lisp/international/quail.el (quail-insert-kbd-layout): Force
7237         left-to-right paragraph direction.
7239 2015-05-02  K. Handa  <handa@gnu.org>
7241         * cmds.c (internal_self_insert): When we insert spaces for
7242         padding, set point before the padding spaces, not after them.
7244 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
7246         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
7248 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
7250         Fix etags-xref-find for references
7251         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
7252         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
7253         directory if no tags tables are loaded (bug#19468).
7255 2015-05-02  Philipp Stephani  <phst@google.com>
7257         Update the options in whitespace-style defcustom
7258         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
7259         `repeat' because the option is really set-like.  Add missing
7260         options.  Reorder options to match the order in the
7261         documentation.  (Bug#20346)
7263 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
7265         Fix error diagnostics of c-macro-expand
7266         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
7267         too early if no start-marker string was found -- that generally
7268         means cpp exited abnormally, and we still want to show its error
7269         messages to the user.
7271         Don't require Texinfo 5.0 for Emacs documentation
7272         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
7273         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
7274         "@codequoteundirected on", respectively, to avoid requiring
7275         Texinfo 5.x for Emacs documentation.
7277 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
7279         * lisp/files.el (pwd):
7280         When called with a prefix argument, insert the current default
7281         directory at point.
7283 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
7285         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
7286         * lisp/isearch.el (isearch-mode-map): Don't inhibit
7287         function-key-map remapping for backspace (bug#20466).
7289 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
7291         Implement xref-find-references in etags and elisp-mode
7292         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
7293         (elisp-xref-find): Use it.
7294         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
7295         * lisp/progmodes/xref.el (xref-collect-references):
7296         (xref--collect-reference): New functions.
7298 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
7300         Prefer plain characters to Texinfo circumlocutions
7301         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
7302         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
7304         Fix single-quoting style in PDF manuals
7305         The PDF versions of the GNU manuals used curved single quotes to
7306         represent grave accent and apostrophe, which made it a pain to cut
7307         and paste code examples from them.  Fix the PDF versions to use
7308         grave accent and apostrophe for Lisp source code, keystrokes, etc.
7309         This change does not affect the info files, nor does it affect
7310         ordinary uses of curved single quotes in PDF.
7311         * doc/emacs/docstyle.texi: New file, which specifies treatment for
7312         grave accent and apostrophe, as well as the document encoding.
7313         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
7314         * doc/lispintro/emacs-lisp-intro.texi:
7315         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
7316         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
7317         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
7318         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
7319         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
7320         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
7321         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
7322         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
7323         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
7324         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
7325         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
7326         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
7327         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
7328         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
7329         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
7330         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
7331         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
7332         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
7333         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
7334         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
7335         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
7336         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
7337         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
7338         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
7339         * doc/misc/woman.texi:
7340         Use it instead of '@documentencoding UTF-8', to lessen the need for
7341         global changes like this in the future.
7342         * doc/emacs/Makefile.in (EMACS_XTRA):
7343         * doc/lispintro/Makefile.in (srcs):
7344         * doc/lispref/Makefile.in (srcs):
7345         Add dependency on docstyle.texi.
7346         * doc/misc/Makefile.in (style): New macro.
7347         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
7348         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
7349         Use it.
7351 2015-05-01  Glenn Morris  <rgm@gnu.org>
7353         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
7355         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
7356         (help-fns--signature): Declare.
7358         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
7360 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
7362         New macro seq-let, providing destructuring support to seq.el
7363         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
7364         to `cl-destructuring-bind' but works on all sequence types supported
7365         by `seq.el'.  Bump version number to 1.6.
7366         * test/automated/seq-tests.el: Add tests for seq-let.
7367         * doc/lispref/sequences.texi: Add documentation for seq-let.
7369 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
7371         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
7373 2015-05-01  Glenn Morris  <rgm@gnu.org>
7375         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
7377 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
7379         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
7380         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
7381         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
7382         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
7383         (Bug#20445).
7385 2015-05-01  K. Handa  <handa@gnu.org>
7387         * mule-cmds.el (input-method-use-echo-area): Change :type to
7388         'boolean.
7390 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7392         Start using proportional fonts in eww by default
7393         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
7394         it seems to work well.
7396         Fix links in tables in shr
7397         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
7398         makes (some) links in tables not work.
7400 2015-05-01  Jan D  <jan.h.d@swipnet.se>
7402         (ns-get-cut-buffer-internal): Remove this alias.
7403         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
7405 2015-04-30  Glenn Morris  <rgm@gnu.org>
7407         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
7408         Update for 2015-02-08 change to indirect-function.
7410         * lisp/term/ns-win.el (ns-get-selection-internal):
7411         Remove declaration for function deleted 2014-10-21.
7413         * lisp/dom.el: Load subr-x when compiling, for when-let.
7415         Silence some compilation warnings
7416         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
7417         * lisp/emulation/cua-base.el (delete-active-region):
7418         * lisp/net/net-utils.el (w32-get-console-output-codepage):
7419         * lisp/term/ns-win.el (ns-own-selection-internal)
7420         (ns-disown-selection-internal, ns-selection-owner-p)
7421         (ns-selection-exists-p, ns-get-selection):
7422         Declare for compiler..
7424         Function declaration updates prompted by 'make check-declare'
7425         * lisp/emacs-lisp/package.el (lm-homepage):
7426         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
7427         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
7428         * lisp/gnus/mml.el (libxml-parse-html-region):
7429         * lisp/gnus/nnrss.el (libxml-parse-html-region):
7430         * lisp/net/eww.el (libxml-parse-html-region):
7431         * lisp/net/shr.el (libxml-parse-html-region):
7432         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
7433         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
7434         * lisp/vc/vc-git.el (vc-annotate-convert-time):
7435         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
7436         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
7437         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
7438         Update declaration.
7440         Remove compatibility code for 20-year old function renaming
7441         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
7442         Make it an obsolete alias.
7443         (idlwave-shell-filter): Change all uses to comint-output-filter.
7445 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
7447         Add ace-window face config
7448         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
7449         configuration.
7451 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
7453         Unclutter 'make doc' output a bit
7454         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
7455         Use make subst rather than sh IFS to split target string apart.
7456         This makes 'make' output easier to follow.
7458         Merge from gnulib
7459         * doc/misc/texinfo.tex: Update from gnulib.
7461 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7463         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
7464         (package-menu--print-info): Obsolete.
7465         (package-menu--print-info-simple): New function.
7466         (package-menu--refresh): Use it, simplify code, and improve
7467         performance.
7468         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
7469         Tiny performance improvement.
7471         * lisp/emacs-lisp/package.el (package--message): inhibit-message
7473 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
7475         Omit -Wstrict-overflow workaround in GCC 5
7476         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
7477         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
7479         Merge from gnulib
7480         This incorporates:
7481         2015-04-29 extern-inline: no need for workaround in GCC 5.1
7482         2015-04-26 file-has-acl: port to CentOS 6
7483         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
7485 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
7487         Set next-error-* in xref--xref-buffer-mode
7488         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
7489         `next-error-last-buffer'.
7490         (xref--next-error-function): New function.
7491         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
7493 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7495         python.el: Fix warnings on looking-back calls missing LIMIT
7496         * lisp/progmodes/python.el (python-shell-accept-process-output):
7497         Pass LIMIT arg to looking-back.
7499 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7501         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
7502         (package--download-and-read-archives): Use pushnew instead of
7503         append.  If something terrible happened during a previous
7504         download, simply refreshing should now make things work again.
7506 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
7508         Introduce etags-xref-find-definitions-tag-order
7509         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
7510         New variable.
7511         (etags--xref-find-definitions): Use it (bug#19468).
7513 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
7515         PATH- and completion-related fixes in Eshell on MS-Windows
7516         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
7517         MS-Windows, prepend "." to list of directories produced from PATH,
7518         as Windows always implicitly searches the current directory first.
7519         (eshell-force-execution): Make it have a non-nil default value on
7520         MS-Windows and MS-DOS.
7521         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
7522         eshell-force-execution is non-nil, complete on readable files and
7523         directories, not only executables.  When running on MS-Windows,
7524         prepend "." to list of directories produced from PATH, as Windows
7525         always implicitly searches the current directory first.
7527 2015-04-29  Sam Steingold  <sds@gnu.org>
7529         bury RCIRC buffers when there is no activity
7530         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
7531         (rcirc-bury-buffers): new function
7532         (rcirc-next-active-buffer): when there is no new activity, use
7533         `rcirc-bury-buffers' to hide all RCIRC buffers
7535 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
7537         Fix DBUS query result parsing for secrets-search-items
7538         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
7539         parsing.  The function assumed that return value of the
7540         SearchItems method called on a collection is a list of two lists,
7541         however this is true only when no collection is specified.  GNOME
7542         had used to incorrectly return a list of two lists in both cases,
7543         but this was already fixed:
7544         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
7545         incorrect information in the secrets-search-items’ docstring.
7546         (Bug#20449)
7548 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7550         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
7551         (byte-compile--message): Use `inhibit-message' instead of hiding
7552         the previous message with (message nil).
7554 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
7556         Remove the deprecated INTERNAL_FIELD macro by expanding it
7557         * src/lisp.h (INTERNAL_FIELD): Remove.
7558         (DEFVAR_KBOARD): Modify accordingly.
7559         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
7560         * syntax.c: Adjust users.
7561         * src/buffer.c (compact_buffer): Use BVAR.
7563 2015-04-29  Glenn Morris  <rgm@gnu.org>
7565         Replace an obsolete function alias
7566         * lisp/isearch.el (isearch-yank-x-selection):
7567         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
7568         (mouse-drag-secondary-moving):
7569         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
7570         Replace obsolete alias x-get-selection with gui-get-selection.
7572 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7574         * lisp/mail/rmailsum.el: Use lexical-binding.
7576 2015-04-29  Glenn Morris  <rgm@gnu.org>
7578         * test/automated/package-test.el (package-test-update-archives-async):
7579         Skip test on hydra.nixos.org.
7581 2015-04-28  Glenn Morris  <rgm@gnu.org>
7583         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
7584         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
7585         (foldout-mouse-hide-or-exit): Use new names for outline functions.
7587         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
7588         Update for 2014-06-26 hideif.el change.
7590         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
7591         (rmail--decode-and-apply): New function.
7592         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
7594         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
7596 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7598         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
7599         (package-menu--refresh): Delegate obsolete-hiding to
7600         `package--remove-hidden'.
7601         (package--remove-hidden): Disregard high-priority package if it is
7602         older than the installed one.
7604 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
7606         Update source file encoding list
7607         Update admin/notes/unicode, along with coding system cookies in
7608         other files, so that the two match each other better.
7609         * admin/notes/unicode: lisp/language/ethio-util.el and
7610         lisp/language/ethiopic.el also use utf-8-emacs.
7611         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
7612         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
7613         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
7614         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
7615         * etc/refcards/sk-survival.tex:
7616         Add "coding: utf-8" so that this file is not mishandled in a
7617         Latin-1 or Big-5 locale.
7618         * lisp/international/robin.el, lisp/org/ox-ascii.el:
7619         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
7620         * lisp/language/ethio-util.el: Fix trailer.
7622 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
7624         Fix synchronous invocation of Ispell
7625         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
7626         value to ispell-process-directory before calling ispell-init-process.
7627         Don't call set-process-coding-system if ispell-async-processp is nil.
7628         (Bug#20448)
7630 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7632         * lisp/emacs-lisp/package.el: Skip space and comments in init file
7633         (package--ensure-init-file): Insert snippet at first
7634         non-whitespace non-comments line.  Respects local-vars at the top
7635         of the file.
7637 2015-04-28  Glenn Morris  <rgm@gnu.org>
7639         * lisp/mail/rmail.el (rmail-copy-headers):
7640         Handle rmail-nonignored-headers being nil.  (Bug#18878)
7642         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
7644         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
7645         Don't get confused by a bzrlib version mismatch warning.
7647 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7649         Change default location of EUDC options file
7650         * NEWS: Document change to EUDC options file's default location.
7651         * lisp/net/eudc-vars.el (eudc-options-file): Use
7652         `locate-user-emacs-file' to change default options file location.
7654 2015-04-27  Glenn Morris  <rgm@gnu.org>
7656         * test/automated/package-test.el (package-test-update-archives-async):
7657         Try to handle the test server script dying.
7659 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7661         * lisp/saveplace.el (save-place-mode): New minor mode.
7662         (save-place): Redefine as an obsolete alias.
7664         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
7665         * lisp/midnight.el: Use lexical-binding.
7666         (midnight-mode): Make it a proper minor mode.
7667         (midnight-buffer-display-time): Make arg non-optional.
7668         (midnight-find): Remove.
7669         (clean-buffer-list-kill-never-regexps)
7670         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
7671         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
7672         contain functions.
7673         (clean-buffer-list): Use cl-find.
7674         Allow clean-buffer-list-kill-never-regexps to contain functions.
7676 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
7678         Bump version of seq.el to 1.5
7679         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
7680           from seq-doseq.  Bump version number of seq.el.
7682 2015-04-27  Glenn Morris  <rgm@gnu.org>
7684         * lisp/mail/rmail.el (rmail-reply):
7685         Decode subject before matching "Re:" prefix.  (Bug#20396)
7687 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7689         * lisp/emacs-lisp/package.el: Small improvements
7690         (package--with-work-buffer-async): More informative error.
7691         (package-install-user-selected-packages): Rename to
7692         `package-install-selected-packages'.
7694 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7696         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
7697         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
7698         (eieio--class-make): Remove leftover `tag'.
7700 2015-04-27  Glenn Morris  <rgm@gnu.org>
7702         * lisp/gnus/message.el (gnus-extract-address-components):
7703         Remove bogus declaration that was masking previous problem.
7705 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
7707         * lisp/gnus/message.el (message-insert-formatted-citation-line):
7708         Fix typo.  (Bug#20318)
7710 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7712         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
7714         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
7715         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
7716         the buffer in yet another frame.
7717         (reftex-toc-visit-location): Make sure toc-window has focus at the end
7718         when `final' is nil.
7719         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
7720         silence warnings.  Use `--' to clarify that it's internal.
7721         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
7722         (reftex-toc-promote): Clarify unused argument.
7723         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
7724         Add `reftex--' prefix.  Fix all users.
7725         (reftex-toc-promote-prepare): Use _ for dummy variable.
7726         (reftex-toc-restore-region): Rename `m
7728 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
7730         Fix a typo in bibtex.el
7731         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
7732         last change.  (Bug#20429)
7734         Fix redisplay of frame after loading new fonts
7735         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
7736         frame because new fonts were loaded, disable all redisplay
7737         optimizations on that frame by calling SET_FRAME_GARBAGED.
7738         (Bug#20410)
7740 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7742         * lisp/info.el (Info-menu): Properly provide the `default'
7743         (Bug#20391)
7745         * elisp-mode.el: Catch errors from `documentation'
7746         (Bug#20418)
7747         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
7748         Catch errors from documentation.
7749         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
7751 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
7753         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
7754         Remove redundant ":group 'package".
7756 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
7758         Fix a typo in rmail.el
7759         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
7760         last commit.  (Bug#20429)
7762 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
7764         Introduce xref-prompt-for-identifier
7765         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
7766         (xref--read-identifier): Use it
7767         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
7769 2015-04-26  João Távora  <joaotavora@gmail.com>
7771         `tex-insert-quote' after single `'' opens quotes instead of closing
7772         Without this, it's very hard to precede double quotes with the
7773         apostrophe character, i.e. insert the sequence '``
7774         (quote-backquote-backquote), commonly useful in portuguese, for
7775         instance.
7776         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
7777         chars making `tex-insert-quote' be in the "opening" context.
7779 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
7781         Pass `id' to `completing-read' as def instead of initial input
7782         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
7783         as the default value instead of initial input
7784         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
7786 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7788         Don't freeze with unreadable processes
7789         Don't freeze if an exiting process can't be read from. (Bug#19860).
7790         This fixes a bug I introduced in
7791         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
7792         "* process.c: Add sanity checks for file descriptors."
7793         Dmitry Gutov did most of the legwork in finding the problem.
7794         * src/process.c (wait_reading_process_output):
7795         Treat non-running processes that can't be read from
7796         the same as other non-running processes.
7798 2015-04-25  Alan Mackenzie  <acm@muc.de>
7800         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
7801         * lisp/subr.el (remove-yank-excluded-properties): put
7802         `with-silent-modifications' around only the last three lines of code.
7804 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7806         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
7807         (package--all-keywords): Deleted variable.
7809         * etc/NEWS: Document package-hiding functionality
7811 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
7813         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
7815         Clarify the doc string of 'replace-regexp-in-string'
7816         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
7818         Improve doc string of 'insert-buffer-substring'
7819         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
7821         MS-Windows followup for the recent gnulib update
7822         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
7823         acl-internal.c.
7825 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7827         Spelling fixes
7829         Merge from gnulib
7830         This incorporates:
7831         2015-04-24 file-has-acl: new module, split from acl
7832         2015-04-24 manywarnings: add GCC 5.1 warnings
7833         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
7834         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
7835         2015-04-15 acl: On Linux, check for acls without libacl
7836         2015-04-14 tempname: avoid unused parameter warnings (trivial)
7837         * lib/acl-internal.c: New file, from gnulib.
7838         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
7839         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
7840         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
7841         Update from gnulib.
7843         Port --enable-gcc-warnings to GCC 5.1 x86-64
7844         * lib-src/ebrowse.c (dump_sym):
7845         * lib-src/hexl.c (main):
7846         * src/ccl.c (ccl_driver):
7847         * src/character.c (string_escape_byte8):
7848         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
7849         * src/gnutls.c (Fgnutls_boot):
7850         * src/gtkutil.c (xg_check_special_colors):
7851         * src/image.c (x_build_heuristic_mask):
7852         * src/print.c (safe_debug_print, print_object):
7853         * src/term.c (produce_glyphless_glyph):
7854         * src/xdisp.c (get_next_display_element)
7855         (produce_glyphless_glyph):
7856         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
7857         Don't use a signed format to print an unsigned integer, or vice
7858         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
7859         * src/image.c (png_load_body, jpeg_load_body):
7860         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
7862 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
7864         Add new faces to tsdh-light-theme
7865         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
7866         definitions for Info-quoted, ace-jump-face-foreground,
7867         hl-paren-face, show-paren-match, and show-paren-mismatch.
7869 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
7871         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
7873 2015-04-24  Glenn Morris  <rgm@gnu.org>
7875         * build-aux/gitlog-to-emacslog:
7876         Use raw log format rather than wrapped one.
7878 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7880         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
7881         (seq-doseq): Fix out-of-scope binding.
7882         Don't call `seq-length at every iteration.
7883         Reduce `if's from 3 to 2 per iteration.
7884         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
7886 2015-04-24  Glenn Morris  <rgm@gnu.org>
7888         * lisp/textmodes/text-mode.el (text-mode-hook):
7889         Move text-mode-hook-identify to default.
7891         * lisp/mouse.el (minor-mode-menu-from-indicator):
7892         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
7894         * lisp/help-fns.el (describe-function): More type checking.
7895         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
7897         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
7898         (Bug#20325)
7900 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
7902         shr: strip leading whitespace when expanding URLs
7903         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
7905 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
7907         Clarify "co-authored" some more
7909         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
7911         Clarify doc strings of functions that search for properties
7912         * src/textprop.c (Fnext_char_property_change)
7913         (Fprevious_char_property_change)
7914         (Fnext_single_char_property_change)
7915         (Fprevious_single_char_property_change, Fnext_property_change)
7916         (Fnext_single_property_change, Fprevious_property_change)
7917         (Fprevious_single_property_change): Clarify doc strings wrt return
7918         value and the optional LIMIT argument.  (Bug#20411)
7920 2015-04-24  Glenn Morris  <rgm@gnu.org>
7922         * test/automated/message-mode-tests.el (message-mode-propertize):
7923         Handle non-writable HOME; eg on hydra.nixos.org.
7925 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
7927         Avoid starting threads by w32-shell-execute
7928         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
7929         local file names, before invoking ShellExecute.  (Bug#20220)
7931 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
7933         Fix following doc-links in `widget-documentation-link-action'
7934         * lisp/wid-edit.el (widget-documentation-link-action): Make
7935         following doc-links less simplistic (Bug#20398).
7937 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7939         Improve EUDC manual
7940         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
7942 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7944         Omit needless "\ " after multibyte then newline
7945         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
7946         (print_object): When print-escape-multibyte is non-nil and a
7947         multibyte character is followed by a newline or formfeed, followed
7948         by a hex digit, don't output a needless "\ " before the hex digit.
7949         * test/automated/print-tests.el (print-hex-backslash): New test.
7951 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
7953         Add a new `inhibit-message' variable
7954         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
7955         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
7956         `inhibit_message' is non-zero.
7957         * etc/NEWS: Add an entry.
7958         * doc/lispref/display.texi: Add an entry for `inhibit-message',
7959           mention it in `message'.
7961 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7963         Fix last fix in `display-buffer-record-window'.
7964         * lisp/window.el (display-buffer-record-window): Fix last fix.
7966 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
7968         Minor edits in CONTRIBUTE
7969         * CONTRIBUTE: Rearrange instructions about log messages.
7970         Use "Git" capitalized all over.
7971         Use 2 spaces between sentences.
7973 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7975         * lisp/files.el (basic-save-buffer): Fix argument
7977         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
7978         In case `(and (null custom-file) init-file-had-error)' do the same
7979         thing we'd do if `(null user-init-file)', which is to either error out
7980         or return nil.  This is in line with `custom-save-all' which would
7981         throw an error in that situation. (bug#20355)
7983         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
7984         (package-menu-hide-low-priority): New variable, see its doc.
7985         (package-archive-priorities): Update doc.
7986         (package-desc-priority): New function.
7987         (package-desc-priority-version): Use it.
7988         (package--remove-hidden): New function.
7989         (package-menu--refresh): Use it.
7991         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
7992         (package-menu--hide-obsolete): New variable.
7993         (package--remove-hidden): Use it.
7994         (package-menu-hide-obsolete): New interactive function to toggle
7995         the variable.
7996         (package--quick-help-keys): Document it.
7997         (package-menu-async): Add :version tag.
7998         (package-menu-mode-map): Bind package-menu-hide-obsolete.
7999         (package-desc-status): Indicate non-installed obsolete packages as
8000         avail-obso.
8001         (package-menu-mark-install): Allow installation of avail-obso.
8002         (package-menu--status-predicate): Sort avail-obso with available.
8004 2015-04-22  Alan Mackenzie  <acm@muc.de>
8006         On C-y, stop some text property entries being written into buffer-undo-list
8007         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
8008         `with-silent-modifications'.
8010 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
8012         In display-buffer-record-window record selected window if necessary.
8013         * lisp/window.el (display-buffer-record-window): Store selected window
8014         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
8016 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
8018         Fix reftex-citation bug
8019         * reftex-cite.el (reftex-extract-bib-entries): Fix
8020         `wrong-type-argument stringp nil' error that occurs when AUCTeX
8021         integration is enabled and there are no citations in the document
8022         so far.
8024 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
8026         Add or reset based on the presence of MERGE_HEAD
8027         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
8028         `vc-git-resolve-when-done' to `after-save-hook' in either case.
8029         (vc-git-conflicted-files): Add a TODO.
8030         (vc-git-resolve-when-done): Depending on the presence of
8031         MERGE_HEAD, either update the resolved file in the index, or
8032         remove it from there.  (Bug#20292)
8034 2015-04-21  Glenn Morris  <rgm@gnu.org>
8036         * lisp/custom.el (custom-declare-group): No need to purecopy
8037         custom-current-group-alist members following recent change to set
8038         it to nil before dumping.
8040         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
8041         (Bug#20399)
8043 2015-04-21  Daniel Colascione  <dancol@dancol.org>
8045         Unbreak no-op buffer save message
8046         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
8047         (basic-save-buffer): Accept called-interactively as an argument instead of
8048         directly invoking called-interactively-p, which will always yield nil
8049         in that context.
8051 2015-04-21  Alan Mackenzie  <acm@muc.de>
8053         CC Mode: Do nothing in before/after-change-functions for text property changes
8054         Fixes bug#20266.
8055         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
8056         yank-handled-properties buffer local, and remove 'category from it.
8057         (c-called-from-text-property-change-p): New function.
8058         (c-before-change): Don't do anything if a call of the new function
8059         returns non-nil.
8060         (c-after-change): Don't do much if a call of the new function returns
8061         non-nil.
8062         (c-extend-after-change-region): Put changes to text property 'fontified
8063         inside c-save-buffer-state.
8065 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
8067         Fix byte-compiler warnings about looking-back.
8068         * lisp/vc/log-view.el (log-view-end-of-defun-1):
8069         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
8070         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
8071         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
8072         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
8073         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
8074         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
8075         * lisp/org/org.el (org-insert-heading, org-sort-entries):
8076         * lisp/org/org-mouse.el (org-mouse-end-headline)
8077         (org-mouse-context-menu):
8078         * lisp/org/org-clock.el (org-clock-cancel):
8079         * lisp/man.el (Man-default-man-entry):
8080         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
8081         (rmail-ensure-blank-line):
8082         * lisp/mail/footnote.el (Footnote-delete-footnote):
8083         * lisp/mail/emacsbug.el (report-emacs-bug):
8084         * lisp/info.el (Info-follow-reference, Info-fontify-node):
8085         * lisp/info-look.el (info-lookup-guess-custom-symbol):
8086         * lisp/help-fns.el (help-fns--key-bindings):
8087         * lisp/files.el (hack-local-variables):
8088         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
8089         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
8090         (viper-complete-filename-or-exit):
8091         * lisp/emulation/viper-cmd.el (viper-backward-indent):
8092         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
8093         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
8094         * lisp/cus-edit.el (custom-face-edit-value-create):
8095         * lisp/calendar/todo-mode.el (todo-set-item-priority)
8096         (todo-filter-items-1, todo-convert-legacy-files)
8097         (todo-prefix-overlays): Add explicit second arg to looking-back.
8099 2015-04-20  Glenn Morris  <rgm@gnu.org>
8101         Avoid non-nil current-load-list at startup
8102         * src/process.c (init_process_emacs): Move Fprovide statement...
8103         (syms_of_process): ... to here.
8105         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
8107         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
8109 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
8111         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
8112         (Bug#20330)
8114 2015-04-20  Glenn Morris  <rgm@gnu.org>
8116         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
8118         Tweak exec-path in uninstalled case
8119         * src/callproc.c (init_callproc): If running uninstalled, do not
8120         include eventual installation libexec directory in exec-path.
8122 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
8124         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
8125         (package-menu-filter): Accept a list of keywords.
8126         (package--all-keywords): New variable to cache known keywords.
8127         (package-all-keywords): Populate it if necessary.
8128         (package-refresh-contents): Reset it.
8130         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
8131         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
8132         as special keywords which match agains package archive and status
8133         respectively.
8134         * etc/NEWS: Document it.
8136 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
8138         Describe and index "empty overlays".
8139         * doc/lispref/display.texi (Overlays): Improve indexing.
8140         (Managing Overlays): Describe "empty" overlays.
8141         (Overlay Properties, Finding Overlays): Add cross-reference to
8142         where empty overlays are described.
8144 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8146         Spelling fixes
8148         Quote 'like this' in top-level files
8149         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
8150         Prefer to single-quote 'like this' (instead of the older style
8151         `like this').
8152         * configure.ac: Fix some space-before-tab problems that 'git commit'
8153         complained about.
8155         Use bool for boolean in textprop.c, undo.c
8156         * src/textprop.c (soft, hard): Now constants instead of macros.
8157         (validate_plist): Rewrite to avoid need for boolean local.
8158         (interval_has_all_properties, interval_has_some_properties)
8159         (interval_has_some_properties_list, add_properties)
8160         (remove_properties, get_char_property_and_overlay)
8161         (Fnext_single_char_property_change)
8162         (Fprevious_single_char_property_change, add_text_properties_1)
8163         (Fremove_text_properties, Fremove_list_of_text_properties)
8164         (copy_text_properties):
8165         * src/tparam.c (tparam1):
8166         * src/undo.c (record_change, record_property_change)
8167         (syms_of_undo):
8168         Use 'true' and 'false' for booleans.
8170 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
8172         Call `smerge-start-session' even when dealing with a stash conflict
8173         * lisp/vc/vc-git.el (vc-git-find-file-hook):
8174         Call `smerge-start-session' even when dealing with a stash
8175         conflict (bug#20292).
8177 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
8179         Add option to eshell/clear to clear scrollback.
8180         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
8181         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
8182         scrollback contents are cleared.
8183         * etc/NEWS: Describe change.
8184         * doc/misc/eshell.texi: Add entry for `clear'.
8186 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8188         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
8189         where either will do.
8191 2015-04-19  Steve Purcell  <steve@sanityinc.com>
8193         Assume package archive-contents are UTF8-encoded
8194         * lisp/emacs-lisp/package.el (package--read-archive-file):
8195         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
8196         downloaded and cached archive-contents files, so that non-ASCII
8197         characters in package descriptions are displayed correctly in the
8198         `list-packages' menu. (Bug#20231)
8200 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
8202         Abort when looking at stashed changes
8203         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
8204         stashed changes (bug#20292).
8206 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8208         Refactor low-level printing for simplicity
8209         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
8210         PRINTPREPARE; doable now that we assume C99.  All callers changed.
8211         (PRINTCHAR): Remove, as it adds more mystery than clarity.
8212         All callers changed.
8213         (strout): Assume that caller computes length.  All callers changed.
8214         (print_c_string): New function.
8215         (write_string, write_string_1): Compute length instead of asking
8216         the caller to compute it.  All callers changed.
8217         (write_string): Simplify by using write_string_1.
8218         (write_string_1): Simplify by using print_c_string.
8219         (Fterpri): Compute default val more clearly.
8220         (Fprin1_to_string, print_object):
8221         Assume C99 to avoid unnecessary nesting.
8222         (print_object): Prefer print_c_string to multiple printchar, or
8223         to calling strout with -1 length.  Coalesce into sprintf when
8224         this is easy.
8226 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
8228         Prefer "Bug#1234" in commit messages (Bug#20325)
8229         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
8230         as this isn't useful for Git.
8231         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
8233 2015-04-18  Glenn Morris  <rgm@gnu.org>
8235         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
8236         (Bug#19506)
8238 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
8240         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
8241         (Bug#19505)
8243 2015-04-18  Glenn Morris  <rgm@gnu.org>
8245         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
8247         * doc/emacs/misc.texi (Sorting): Small edit.
8248         (Bug#19896)
8250         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
8252 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
8254         css-mode.el: Support multi-line comment filling
8255         (Bug#20256)
8256         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
8257         comment filling.
8258         (css-adaptive-fill): New function.
8259         (css-mode): Set `adaptive-fill-function'.
8260         (scss-mode): Set `comment-continue'.
8262 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
8264         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
8266 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
8268         Minor improvements in Bulgarian input methods
8269         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
8270         Replace U+042C with U+045D, as the former character is not used in
8271         the modern Bulgarian language.
8272         (Bug#20350)
8274 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8276         Improve EUDC manual
8277         * eudc.texi (LDAP Configuration): Mention simple and SASL
8278         authentication schemes.  Add index items.  Shorten example server
8279         name.
8281 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
8283         Don't show both feature and function with the same name
8284         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8285         Don't show both feature and function with the same name.
8287         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
8288         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8289         Avoid returning both the variable and the function for the same
8290         minor mode.
8292 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
8294         Fix fontification of keywords clobbered by the prompt.
8295         * lisp/comint.el (comint-output-filter): Remove the uses of
8296         with-silent-modifications I introduced as part of the last change.
8297         This fixes, e.g., erratically missing highlighting when running
8298         ./configure --help; ./configure in a shell-mode buffer with
8299         compilation-shell-minor-mode turned on.
8301 2015-04-17  Glenn Morris  <rgm@gnu.org>
8303         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
8305 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
8307         * lisp/indent.el (indent-region): Don't deactivate the mark
8308         (Bug#20357)
8310 2015-04-17  Sam Steingold  <sds@gnu.org>
8312         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
8314 2015-04-16  Leo Liu  <sdl.web@gmail.com>
8316         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
8318 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
8320         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
8322 2015-04-16  Glenn Morris  <rgm@gnu.org>
8324         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
8326 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
8328         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
8329         * configure.ac (LIBJPEG): Leave it empty for MinGW.
8331 2015-04-16  Glenn Morris  <rgm@gnu.org>
8333         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
8334         to avoid rogue setting after startup.
8336 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
8338         Pre-4.6 GCC succeeds with unknown option
8339         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
8340         (Bug#20338)
8342 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8344         '[:graph:]' now excludes whitespace, not just ' '
8345         * doc/lispref/searching.texi (Char Classes):
8346         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
8347         sans whitespace (not sans space).
8348         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
8349         not just space.
8350         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
8352 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8354         (looking-back): Make the second arg non-optional.
8355         * lisp/subr.el (substitute-key-definition-key, special-form-p)
8356         (macrop): Drop deprecated second arg to indirect-function.
8357         (looking-back): Make the second arg non-optional.
8359         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
8360         command is actually sent to the shell.
8362 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8364         Port jpeg configuration to Solaris 10 with Sun C
8365         * configure.ac: Check for jpeglib 6b by trying to link it, instead
8366         of relying on cpp magic that has problems in practice.  Check for
8367         both jpeglib.h and jerror.h features.  Remove special case for
8368         mingw32, which should no longer be needed (and if it were needed,
8369         should now be addressable by hotwiring emacs_cv_jpeglib).
8370         (Bug#20332)
8372 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8374         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
8375         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
8376         Move to elisp-mode.el.
8377         (lisp-mode-variables): (Re)move elisp-specific settings.
8378         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
8379         from lisp-mode-variables.
8380         (elisp--font-lock-flush-elisp-buffers): New function, moved from
8381         lisp-mode.el.
8383         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
8384         Avoid pathological slowdown at top-level in large file.
8386 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8388         Standardize names of ChangeLog history files
8389         Suggested by Glenn Morris in:
8390         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
8391         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
8392         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
8393         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
8394         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
8395         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
8396         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
8397         Remove.
8399         Split top-level entries into pre- and post-April 7
8400         This more clearly distingiushes pre-April-7 ChangeLog entries (which
8401         are for top-level files only) from post-April-7 entries (which are
8402         about files at all levels.  Problem reported by Glenn Morris in:
8403         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
8404         * ChangeLog.1: Move post-April-7 entries from here ...
8405         * ChangeLog.2: ... to this new file.
8406         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
8408 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8410         Fix recent cus-start changes that added customize-rogues
8411         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
8412         vars early.
8413         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
8415 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
8417         Define cl-concatenate as an alias to seq-concatenate
8418         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
8419           code by making cl-concatenate an alias to seq-concatenate.
8421 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8423         * src/lread.c (intern_1): Make sure we'd find the symbol we add
8424         (Bug#20334)
8425         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
8427 2015-04-15  Glenn Morris  <rgm@gnu.org>
8429         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
8431 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
8433         Clean up gnus-uu saving code slightly
8434         * gnus-uu.el (gnus-uu-save-article): Make the
8435         save-restriction/widen calls make more sense.
8437 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8439         Make [:graph:] act like [:print:] sans space
8440         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
8441         [:graph:] so that it matches everything that [:print:] does,
8442         except for space.
8443         * doc/lispref/searching.texi (Char Classes):
8444         * etc/NEWS:
8445         * lisp/emacs-lisp/rx.el (rx):
8446         Document [:graph:] to be [:print:] sans ' '.
8447         * src/character.c, src/character.h (graphicp): New function.
8448         * src/regex.c (ISGRAPH) [emacs]: Use it.
8449         (BIT_GRAPH): New macro.
8450         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
8451         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
8452         Return BIT_GRAPH for RECC_GRAPH.
8453         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
8454         and ISPRINT if BIT_PRINT.
8456 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8458         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
8459         Don't use call-next-method in a cl-defmethod.
8461         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
8462         (eieio--class-p): Remove, provided by cl-defstruct.
8464 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
8466         Add seq-intersection and seq-difference to the seq library
8467         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
8468         functions.
8469         * test/automated/seq-tests.el: Add tests for seq-intersection and
8470         seq-difference.
8471         * doc/lispref/sequences.texi: Add documentation for seq-intersection
8472         and seq-difference.
8474 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8476         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
8478 2015-04-14  Sam Steingold  <sds@gnu.org>
8480         package--ensure-init-file: widen requires save-restriction
8482 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
8484         Improve the commit-msg Git hook for unibyte environments
8485         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
8486         in unibyte environments.  (Suggested by Paul Eggert
8487         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
8488         [:print:], based on UTF-8 sequences of the unprintable characters.
8490         Describe problems with cursor caused by Windows Magnifier
8491         * etc/PROBLEMS: Describe the problem with cursor shape on
8492         MS-Windows due to Windows Magnifier.
8493         (Bug#20271)
8495         Make [:print:] support non-ASCII characters correctly
8496         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
8497         (BIT_PRINT): New bit mask.
8498         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
8499         * src/character.c (printablep): New function.
8500         * src/character.h (printablep): Add prototype.
8501         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
8502         of 'print', 'alnum', and 'alphabetic'.
8503         * doc/lispref/searching.texi (Char Classes): Document the new
8504         behavior of [:print:].
8505         * etc/NEWS: Mention the new behavior of [:print:].
8507         Assign correct general-category and names to surrogates
8508         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
8509         surrogates.  This avoids assigning them the default
8510         general-category of 'Cn', i.e. unassigned codepoints.
8511         (unidata-get-name): Give surrogates synthetic names.
8513 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
8515         Assume C89 offsetof in xterm.c, xlwmenu.c
8516         * lwlib/xlwmenu.c (offset):
8517         * src/xterm.c (cvt_string_to_pixel_args):
8518         Use offsetof, not XtOffset.
8520 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
8522         Assume C89 offsetof in widget.c
8523         * src/widget.c (XtOffset): Remove; no longer needed.
8524         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
8526         Fix think-o in previous patch
8527         * src/window.c (count_windows, get_leaf_windows):
8528         Don't optimize count_windows incorrectly.
8530 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8532         Avoid some int overflows in window.c
8533         * src/print.c (print_object):
8534         * src/window.c (sequence_number):
8535         * src/window.h (struct window.sequence_number):
8536         Don't assume window sequence number fits in int.
8537         * src/window.c (window_select_count):
8538         * src/window.h (struct window.use_time, window_select_count):
8539         Don't assume window use time fits in int.
8540         * src/window.c (Fsplit_window_internal):
8541         Don't assume user-supplied integer, or sum, fits in int.
8542         (Fset_window_configuration, count_windows, get_leaf_windows)
8543         (save_window_save, Fcurrent_window_configuration):
8544         Use ptrdiff_t for object counts.
8545         (Fset_window_configuration): Omit unused local 'n'.
8546         (count_windows): Simplify by writing in terms of get_leaf_windows.
8547         (get_leaf_windows): Don't store through FLAT if it's null.
8548         (extract_dimension): New static function.
8549         (set_window_margins, set_window_fringes, set_window_scroll_bars):
8550         Use it to avoid undefined behavior when converting user-supplied
8551         integer to 'int'.
8553 2015-04-13  Glenn Morris  <rgm@gnu.org>
8555         Minor doc copyedits
8556         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
8557         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
8559 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8561         [Gnus] Catch the invalid-operation that idna.el will issue
8562         * lisp/gnus/gnus-art.el (gnus-use-idna):
8563         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
8564         * lisp/gnus/message.el (message-use-idna):
8565         Catch the invalid-operation that idna.el will issue.
8567 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8569         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
8571 2015-04-13  Sam Steingold  <sds@gnu.org>
8573         package--ensure-init-file: widen before looking for "(package-initialize)"
8575 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
8577         Change diff-switches default to `-u'
8578         (Bug#20290)
8579         * doc/emacs/files.texi (Comparing Files): Document the new default
8580         value of `diff-switches'.
8581         * doc/emacs/trouble.texi (Sending Patches): Document the preference
8582         for unified diff format.  Escape the plus in the suggested `-F' regexp
8583         value.
8584         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
8586 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8588         (gnus-group--setup-tool-bar-update): Fix last change
8589         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
8590         cursor-sensor-functions should be a list of functions.
8592 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8594         Use gmm-called-interactively-p in Gnus
8595         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
8597 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8599         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
8600         (Bug#20321)
8601         * lisp/cus-start.el (read-buffer-function): Don't advertize
8602         iswitchb-read-buffer any more.
8603         (iswitchb): Don't tweak this obsolete group any more.
8605 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
8607         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
8609         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
8610         Adding a string after a constructor's argument list will use
8611         that string as the constructor function docstring.  If this string
8612         is absent but the struct itself was given a docstring, use that as
8613         the constructor's docstring.
8614         Fixes (bug#17284).
8616 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8618         Deprecate `intangible' and `point-entered' properties
8619         * lisp/emacs-lisp/cursor-sensor.el: New file.
8620         * lisp/simple.el (pre-redisplay-functions): New hook.
8621         (redisplay--pre-redisplay-functions): New function.
8622         (pre-redisplay-function): Use it.
8623         (minibuffer-avoid-prompt): Mark obsolete.
8624         (redisplay--update-region-highlight): Adapt it to work as a function on
8625         pre-redisplay-functions.
8626         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
8627         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
8628         than point-entered to make the prompt intangible.
8629         * lisp/forms.el: Move `provide' calls to the end.
8630         (forms-mode): Don't use `run-hooks' on a local var.
8631         (forms--make-format, forms--make-format-elt-using-text-properties):
8632         Use cursor-intangible rather than `intangible'.
8633         (forms-mode): Enable cursor-intangible-mode.
8634         * lisp/isearch.el (isearch-mode): Use defvar-local.
8635         (cursor-sensor-inhibit): Declare.
8636         (isearch-mode): Set cursor-sensor-inhibit.
8637         (isearch-done): Set it back.
8638         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
8639         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
8640         any more.
8641         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
8642         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
8643         Add Edebug spec.
8644         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
8645         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
8646         inhibit-point-motion-hooks any more.
8647         (ses--cell-at-pos, ses--curcell): New functions, extracted from
8648         ses-set-curcell.
8649         (ses-set-curcell): Use them.
8650         (ses-print-cell, ses-setup): Use cursor-intangible instead of
8651         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
8652         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
8653         Use ses--cell-at-pos.
8654         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
8655         extracted from ses-command-hook.  Make them work with multiple windows
8656         displaying the same buffer.
8657         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
8658         Enable cursor-intangible-mode.
8659         (ses-command-hook): Remove cell highlight and mode-line update code.
8660         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
8661         Update for new name of text-property holding the cell name.
8662         (ses-rename-cell): Don't mess with mode-line-process.
8663         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
8664         cursor-sensor-functions property instead of point-entered.
8665         (erc-insert-timestamp-right, erc-format-timestamp):
8666         Use cursor-intangible rather than `intangible'.
8667         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
8668         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
8669         cursor-sensor-mode if needed.
8670         (erc-echo-timestamp): Adapt to calling convention of
8671         cursor-sensor-functions.
8672         (erc-insert-timestamp-right): Remove unused vars `current-window' and
8673         `indent'.
8674         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
8675         (gnus-update-group-mark-positions): Remove unused `topic' var.
8676         (gnus-group-insert-group-line): Remove unused var `header'.
8677         (gnus-group--setup-tool-bar-update): New function.
8678         (gnus-group-insert-group-line): Use it.
8679         (gnus-group-update-eval-form): Declare local
8680         dynamically-bound variables.
8681         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
8682         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
8683         (gnus-group-prepare-topics, gnus-topic-update-topic)
8684         (gnus-topic-change-level, gnus-topic-catchup-articles)
8685         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
8686         Use inhibit-read-only.
8687         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
8688         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
8689         * lisp/textmodes/reftex-index.el (reftex-display-index):
8690         Use cursor-intangible-mode if available.
8691         (reftex-index-post-command-hook): Check cursor-intangible.
8692         * lisp/textmodes/reftex-toc.el (reftex-toc):
8693         Use cursor-intangible-mode if available.
8694         (reftex-toc-recenter, reftex-toc-post-command-hook):
8695         Check cursor-intangible.
8696         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
8697         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
8698         (sgml-tags-invisible): Use with-silent-modifications and
8699         inhibit-read-only.  Enable cursor-sensor-mode.
8700         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
8701         calling convention of cursor-sensor-functions.
8702         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
8703         (table-point-entered-cell-hook, table-point-left-cell-hook):
8704         Don't autoload.
8705         (table-cell-entered-state): Remove var.
8706         (table--put-cell-point-entered/left-property)
8707         (table--remove-cell-properties):
8708         Use cursor-sensor-functions rather than point-entered/left.
8709         (table--point-entered/left-cell-function): Merge
8710         table--point-entered-cell-function and table--point-left-cell-function
8711         and adjust to calling convention of cursor-sensor-functions.
8713         Update ldef-boots.el
8715         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
8717         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
8719         Collapse successive char deletions in the undo log
8720         * src/cmds.c (remove_excessive_undo_boundaries): New function,
8721         extracted from Fself_insert_command.
8722         (Fdelete_char, Fself_insert_command): Use it.
8723         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
8724         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
8726         xterm and OSC 52: Add NEWS entry, and tweak the code
8727         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
8728         top-level.
8729         (terminal-init-xterm-activate-set-selection): Set a terminal property.
8730         (xterm--set-selection): Use it instead of checking the value of
8731         `terminal-initted'.  Don't use string-bytes.
8733 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
8735         xterm.el: Implement OSC-52 functionality for setting the X selection
8736         * lisp/term/xterm.el (xterm-max-cut-length): New var.
8737         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
8738         (terminal-init-xterm, xterm--version-handler): Use them.
8740 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8742         Remove left over code from when we used an obsolete/loaddefs.el file
8743         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
8744         we used an obsolete/loaddefs.el file.
8746         * cedet/semantic/fw.el: Use declare.
8747         * cedet/semantic/fw.el (semantic-exit-on-input)
8748         (semanticdb-without-unloaded-file-searches): Use declare.
8749         (semantic-fw-add-edebug-spec): Remove.
8751         (completion-lisp-mode-hook): Use completion-separator-chars
8752         * lisp/completion.el (completion-lisp-mode-hook):
8753         Use completion-separator-chars rather than local key binding.
8755         * src/*.c: Set deactivate_mark buffer-locally
8756         (Bug#20260)
8757         * src/insdel.c (prepare_to_modify_buffer_1):
8758         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
8759         buffer-locally.
8761 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8763         python.el: Keep symmetry on sexp navigation with parens
8764         (Bug#19954)
8765         * lisp/progmodes/python.el
8766         (python-nav--forward-sexp): Add argument skip-parens-p.
8767         (python-nav-forward-sexp, python-nav-backward-sexp)
8768         (python-nav-forward-sexp-safe)
8769         (python-nav-backward-sexp-safe): Use it.
8770         * test/automated/python-tests.el
8771         (python-nav-forward-sexp-1): Fix test.
8773 2015-04-12  João Távora  <joaotavora@gmail.com>
8775         Don't use `setq-local' in Gnus code
8776         This might break upstream builds with older Emacsen
8777         * lisp/gnus/message.el (message-mode): Use `set' and
8778         `make-local-variable' instead of `setq-local'.
8780 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8782         Update Makefile.in's .PHONY dependencies
8783         * Makefile.in (change-history-commit, master-branch-is-current)
8784         (no-ChangeLog): Now phony.
8786         Remove configure's --with-mmdf option
8787         * configure.ac (MAIL_USE_MMDF): Remove.
8788         * etc/NEWS: Document this.
8789         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
8790         (Bug#20308)
8792         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
8793         That way, 'make install' won't think it's a man page.
8794         Reported by Ashish SHUKLA in:
8795         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
8797         Improve 'make change-history' prereq tests
8798         * Makefile.in (gen_origin): Fix to match what's in the master branch.
8799         (no-ChangeLog, master-branch-is-current): New rules.
8800         (change-history): Depend on them, to avoid similar future problems.
8801         Escape the local-variables string to pacify Emacs when editing
8802         Makefile.in.
8804 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8806         * test/automated/package-test.el (with-package-test): Kill Packages buffer
8808         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
8809         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
8810         "Upgrade" last, and use capitalized instead of all-caps.
8812         * lisp/emacs-lisp/package.el: Completely silence async operations
8813         (package--make-autoloads-and-stuff): Silence autoloads.
8814         (package--save-selected-packages): New function, silences
8815         `customize-save-variable'.
8816         (package--user-selected-p, package-install-from-buffer)
8817         (package-delete, package-install): Use it.
8818         (package-install-from-archive)
8819         (package-menu--perform-transaction): Silence.
8820         (package-menu-execute): Feedback when operation starts.
8822         Use delay-mode-hooks when visiting the init-file
8823         * lisp/emacs-lisp/package.el (package--ensure-init-file):
8824         delay-mode-hooks
8825         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
8827         * lisp/files.el: Only message when saving if save-silently is nil
8828         (save-silently): New variable.
8829         (files--message): New function.
8830         (find-file-noselect, save-buffer, basic-save-buffer)
8831         (basic-save-buffer-2, save-some-buffers, not-modified)
8832         (append-to-file): Use them.
8834 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
8836         Support debug declarations in pcase macros
8837         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
8838         (pcase-UPAT): Use it.  Remove "`".
8839         (pcase--edebug-match-macro): New function.
8840         (pcase-defmacro): Support debug declarations.
8841         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
8842         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
8843         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
8845         pcase.el: Edebug support for `app' and vector patterns
8846         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
8847         (pcase-UPAT): Use it. Support `app' patterns.
8848         (pcase-QPAT): Support vector patterns.
8850         edebug.el: Disambiguate vector specifications
8851         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
8852         `(vector ...)' as a vector specification, not as a sublist.
8854         (gnus-summary-refer-thread): Don't clobber unread articles
8855         This fixes a bug where `A T' causes "random" articles to become marked
8856         as read.
8857         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
8858         gnus-newsgroup-unreads remains sorted.
8860         mouse-sel.el: Fix mouse-sel-get-selection-function
8861         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
8862         Use gui--last-selected-text-primary instead of no longer existing
8863         gui-last-selected-text.
8865         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
8867         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
8869 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8871         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
8873         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
8875         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
8876         (byte-compile--interactive): New var.
8877         (byte-compile--message): New function.
8878         (byte-compile-log-1, byte-force-recompile)
8879         (byte-recompile-directory, byte-recompile-file)
8880         (byte-compile-file, compile-defun)
8881         (byte-compile-file-form-defmumble, byte-compile)
8882         (byte-compile-file-form-defalias, display-call-tree): Use it.
8884         * lisp/files.el: Don't message when nothing happened
8885         (save-some-buffers, basic-save-buffer): Before messaging to say
8886         "nothing was saved" check if (called-interactively-p 'any).
8888 2015-04-12  João Távora  <joaotavora@gmail.com>
8890         Summary: Improve sexp-based movement in message-mode
8891         Works by giving citations and smileys a different syntax.  This helps
8892         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
8893         sexp-based movement.
8894         * lisp/gnus/message.el (message--syntax-propertize): New function.
8895         (message-mode): Set syntax-related vars.
8896         (message-smileys): New variable.
8897         * test/automated/message-mode-tests.el: New file
8899 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8901         Use bool for boolean in window.c
8902         * src/window.c: Omit unnecessary static function decls.
8903         (adjust_window_count, select_window, Fselect_window)
8904         (window_body_width, Fwindow_body_height, Fwindow_body_width)
8905         (set_window_hscroll, check_window_containing, Fwindow_at)
8906         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
8907         (unshow_buffer, replace_window, recombine_windows)
8908         (add_window_to_list, candidate_window_p, next_window)
8909         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
8910         (Fget_buffer_window, Fdelete_other_windows_internal)
8911         (replace_buffer_in_windows_safely, set_window_buffer)
8912         (Fset_window_buffer, Fforce_window_update)
8913         (temp_output_buffer_show, make_parent_window)
8914         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
8915         (resize_frame_windows, Fsplit_window_internal)
8916         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
8917         (Fresize_mini_window_internal, mark_window_cursors_off)
8918         (window_scroll, window_scroll_pixel_based)
8919         (window_scroll_line_based, scroll_command, Fscroll_other_window)
8920         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
8921         (Fmove_to_window_line, Fset_window_configuration)
8922         (delete_all_child_windows, apply_window_adjustment)
8923         (set_window_fringes, set_window_scroll_bars)
8924         (Fset_window_vscroll, foreach_window, foreach_window_1)
8925         (compare_window_configurations, Fcompare_window_configurations):
8926         Prefer 'bool', 'true', and 'false' for booleans.
8927         * src/window.h (WINDOW_MODE_LINE_LINES)
8928         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
8930 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8932         Speed up byte-compilation and autoload generation by avoiding mode-hooks
8933         This prevents emacs-lisp-mode-hook from being run everytime an
8934         autoload file is generated, which can account for a fraction of
8935         package installation time depending on the hooks the user has
8936         configured.
8937         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
8938         * lisp/emacs-lisp/autoload.el (autoload-find-file)
8939         (autoload-find-generated-file): Use delay-mode-hooks.
8941         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
8942         (package-menu-refresh): Respect async and do new package checking.
8943         (list-packages): Use `package-menu-refresh' instead of repeating code.
8945         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
8946         (package--quick-help-keys): New variable.
8947         (package--prettify-quick-help-key): New function.
8948         (package-menu-quick-help): Use it.
8950         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
8951         (package--build-compatibility-table): require finder
8953         * test/automated/package-test.el: Fix new test
8955         * lisp/emacs-lisp/package.el: Silence async operations
8956         (package--silence): New variable.
8957         (package--message): New function.
8958         (package-import-keyring, package-refresh-contents)
8959         (package-compute-transaction, package-install, package-delete)
8960         (package-menu--perform-transaction, package-menu-execute): Use it.
8962         * test/automated/package-test.el: Test async functionality
8963         (package-test-update-archives-async): New test
8965 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8967         Utilize `make-process' in epg.el
8968         * lisp/epg.el (epg-error-output): Abolish.
8969         (epg-context): New slot `error-buffer'.
8970         (epg--start): Use `make-process' and `make-pipe-process'.
8971         (epg--process-filter): Remove code separating stderr from stdout.
8972         (epg-wait-for-completion): Simplify `error-output' handling.
8973         (epg-reset): Dispose error buffer.
8975 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8977         * .gitignore: Ignore doc temps and outputs.
8979         Port commit-msg to MSYS Bash+Gawk
8980         See Eli Zaretskii in:
8981         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
8982         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
8983         (cent_sign, print_at_sign, at_sign): Revert previous change.
8984         (print_at_sign): Prepend "BEGIN".
8985         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
8987         Port commit-msg to broken MS-Windows shell
8988         * build-aux/git-hooks/commit-msg (cent_sign):
8989         Just use UTF-8 here rather than ASCII + printf, as the latter fails
8990         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
8991         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
8993 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
8995         Support GnuTLS v3.4 and later on MS-Windows
8996         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
8997         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
8998         GnuTLS DLL to load according to value of libgnutls-version.
8999         (Bug#20294)
9001 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
9003         Minor quoting etc. fixes to misc manuals
9004         Fix some minor quoting and spacing issues.  Distinguish more
9005         clearly among grave accent and apostrophe (which are ASCII) and
9006         single quote (which is not).  Prefer the standard terms
9007         "apostrophe" and "grave accent" to alternative names that can be
9008         confusing.  Use apostrophes to single-quote ASCII text.
9009         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
9010         rather than approximating it in ASCII with grave accent.
9012 2015-04-11  Daiki Ueno  <ueno@gnu.org>
9014         Respect more keyword args in `make-process'
9015         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
9016         keywords as documented.
9018 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
9020         Extract ChangeLog entries when committing a directory
9021         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
9022         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
9023         Add a FIXME comment.
9024         (log-edit-changelog-entries): Extract from
9025         `log-edit-changelog-entries', handle FILE being a directory
9026         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
9028 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
9030         Fix problems found by --enable-gcc-warnings
9031         * src/process.c (create_process, Fmake_pipe_process)
9032         (Fmake_network_process): Omit unused locals.
9034         Fix commit-msg to handle scissors lines
9035         * build-aux/git-hooks/commit-msg:
9036         Ignore every line after a scissors line, such as a line generated
9037         by 'git commit -v'.  Problem reported by Johan Bockgård in:
9038         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
9040         port commit-msg to Gawk 3.0.4 (1999)
9041         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
9042         (print_at_sign, at_sign): New vars.  Use them to avoid problems
9043         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
9044         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
9046         Have commit-msg report commit failure
9047         * build-aux/git-hooks/commit-msg: If the commit is aborted,
9048         say so.  Simplify by doing this at the end.  Problem reported
9049         by Eli Zaretskii in:
9050         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
9052 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9054         Clean up LDAP Configuration section of EUDC manual
9055         * doc/misc/eudc.texi: Combine indices.
9056         (LDAP Configuration): Use command markup.  Add index entries.
9057         Change formatting.  Wrap long lines.  Add noindent markup.
9059 2015-04-10  Daiki Ueno  <ueno@gnu.org>
9061         Add facility to collect stderr of async subprocess
9062         * src/w32.h (register_aux_fd): New function declaration.
9063         * src/w32.c (register_aux_fd): New function.
9064         * src/process.h (struct Lisp_Process): New member stderrproc.
9065         * src/process.c (PIPECONN_P): New macro.
9066         (PIPECONN1_P): New macro.
9067         (Fdelete_process, Fprocess_status, Fset_process_buffer)
9068         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
9069         (Fcontinue_process): Handle pipe process specially.
9070         (create_process): Respect p->stderrproc.
9071         (Fmake_pipe_process): New function.
9072         (Fmake_process): Add new keyword argument :stderr.
9073         (wait_reading_process_output): Specially handle a pipe process when
9074         it gets an EOF.
9075         (syms_of_process): Register Qpipe and Smake_pipe_process.
9076         * doc/lispref/processes.texi (Asynchronous Processes): Document
9077         `make-pipe-process' and `:stderr' keyword of `make-process'.
9078         * lisp/subr.el (start-process): Suggest to use `make-process' handle
9079         standard error separately.
9080         * test/automated/process-tests.el (process-test-stderr-buffer)
9081         (process-test-stderr-filter): New tests.
9082         * etc/NEWS: Mention new process type `pipe' and its usage with the
9083         `:stderr' keyword of `make-process'.
9085 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
9087         Minor quoting etc. fixes to lispref manual
9088         * doc/lispref/tips.texi (Documentation Tips):
9089         Distinguish more clearly among grave accent, apostrophe,
9090         and single quote.
9091         * doc/lispref/README, doc/lispref/buffers.texi:
9092         * doc/lispref/commands.texi, doc/lispref/control.texi:
9093         * doc/lispref/customize.texi, doc/lispref/display.texi:
9094         * doc/lispref/elisp.texi, doc/lispref/files.texi:
9095         * doc/lispref/frames.texi, doc/lispref/hash.texi:
9096         * doc/lispref/help.texi, doc/lispref/internals.texi:
9097         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
9098         * doc/lispref/markers.texi, doc/lispref/modes.texi:
9099         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
9100         * doc/lispref/os.texi, doc/lispref/positions.texi:
9101         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
9102         * doc/lispref/text.texi, doc/lispref/tips.texi:
9103         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
9104         Use American-style double quoting in ordinary text,
9105         and quote 'like this' when single-quoting in ASCII text.
9106         Also, fix some minor spacing issues.
9108 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
9110         Handle symlinked test directory in tramp-tests.el
9111         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
9112         (tramp--test-check-files): Use `file-truename' for directories.
9114 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
9116         Fix 'recenter' when visual-line-mode is turned on
9117         * src/window.c (Frecenter): Use the same code for GUI and TTY
9118         frames alike; use vmotion only for "initial" frames.  This is
9119         because vmotion doesn't support visual-line-mode.  Rewrite the
9120         'iarg >= 0' case to use move_it_* functions instead of using
9121         vmotion, for the same reason.  Fix the clipping of the argument
9122         value to support scroll-margin in all cases and avoid unwarranted
9123         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
9124         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
9125         which see.
9127 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9129         * abbrev.el (define-abbrev-table): Refine last change.
9131         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
9132         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
9133         use of c[ad]+r", so as to keep the "cl-" prefix on all
9134         cl-lib definitions.
9136         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
9138         * lisp/cedet/semantic: Remove some dead code
9139         * lisp/cedet/semantic/util-modes.el
9140         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
9141         any more.
9142         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
9143         not supported any more.
9144         (semantic-safe): Use `declare'.
9145         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
9146         (semantic-tag-intangible-p): Remove unused functions.
9147         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
9148         Remove unused function.
9150         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
9151         (gnus-article-hide-text, gnus-article-unhide-text)
9152         (gnus-article-unhide-text-type): Remove special handling of
9153         `intangible' since that property is not used any more.
9154         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
9156 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
9158         Use the VC root in `log-edit-listfun'
9159         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
9160         `log-edit-listfun'.
9162 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
9164         Fix description of Unix time, mention new function.
9165         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
9166         Unix time.
9167         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
9168         (Basic Operations on Units): Mention `calc-convert-exact-units'.
9170 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
9172         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
9174 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
9176         (log-edit-insert-changelog-entries): Don't add newline after the last entry
9177         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
9178         Don't add newline after the last entry.
9180 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
9182         css-mode.el: Add "not" pseudo-class
9183         (Bug#20267)
9184         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
9185         list of CSS pseudo-classes.
9187 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9189         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
9191 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
9193         Stop messing with the EMACS env var
9194         * misc.texi (Interactive Shell): Remove description of EMACS env var.
9196 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9198         Adapt 'make change-history' to coding cookie
9199         * Makefile.in (change-history): Adjust to change of format of
9200         ChangeLog file, which now has a coding cookie before an indented
9201         copyright notice.
9203 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9205         Adapt 'make change-history' to coding cookie
9206         * Makefile.in (change-history): Adjust to change of format of
9207         ChangeLog file, which now has a coding cookie before an indented
9208         copyright notice.
9210         gitlog-to-changelog coding cookie and mv -i
9211         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
9212         for copyright notice prototype, so that we get a proper "coding:"
9213         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
9214         existing ChangeLog.  Problems reported by Eli Zaretskii in:
9215         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
9217         Merge from gnulib
9218         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
9219         2015-04-09 gitlog-to-changelog: port to MS-Windows
9221 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
9223         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
9224         (Bug#20212)
9226 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9228         Stop messing with the EMACS env var
9229         (Bug#20202)
9230         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
9231         * lisp/comint.el (comint-exec-1):
9232         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
9233         * lisp/progmodes/compile.el (compilation-start): Same and bring
9234         INSIDE_EMACS's format in line with other users.
9236         css-mode.el (css-smie-rules): Fix indentation after complex selectors
9237         (Bug#20282)
9238         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
9239         inner structure of selectors.
9241 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
9243         python.el: Indent docstring lines to base-indent
9244         (Bug#19595)
9245         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
9246         an initial patch.
9247         * lisp/progmodes/python.el
9248         (python-indent-context): Add :inside-docstring context.
9249         (python-indent--calculate-indentation): Handle :inside-docstring.
9250         (python-indent-region): Re-indent docstrings.
9251         * test/automated/python-tests.el (python-indent-region-5)
9252         (python-indent-inside-string-2): Fix tests.
9254         python.el: Increase native completion robustness
9255         (Bug#19755)
9256         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
9257         this and providing useful ideas.
9258         * lisp/progmodes/python.el
9259         (python-shell-completion-native-output-timeout): Increase value.
9260         (python-shell-completion-native-try-output-timeout): New var.
9261         (python-shell-completion-native-try): Use it.
9262         (python-shell-completion-native-setup): New readline setup avoids
9263         polluting current context, ensures output when no-completions are
9264         available and includes output end marker.
9265         (python-shell-completion-native-get-completions): Trigger with one
9266         tab only.  Call accept-process-output until output end is found or
9267         python-shell-completion-native-output-timeout is exceeded.
9269 2015-04-08  Samer Masterson  <samer@samertm.com>
9271         * lisp/eshell: Make backslash a no-op in front of normal chars
9272         (Bug#8531)
9273         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
9274         (eshell-parse-backslash): Return escaped character after backslash
9275         if it is special.  Otherwise, if the backslash is not in a quoted
9276         string, ignore the backslash and return the character after; if
9277         the backslash is in a quoted string, return the backslash and the
9278         character after.
9279         * test/automated/eshell.el (eshell-test/escape-nonspecial)
9280         (eshell-test/escape-nonspecial-unicode)
9281         (eshell-test/escape-nonspecial-quoted)
9282         (eshell-test/escape-special-quoted): Add tests for new
9283         `eshell-parse-backslash' behavior.
9285 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
9287         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
9288         after the file name.
9289         (Bug#20276)
9291 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
9293         Minor quoting etc. fixes to Emacs manual
9294         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
9295         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
9296         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
9297         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
9298         * doc/emacs/indent.texi, doc/emacs/macos.texi:
9299         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
9300         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
9301         * doc/emacs/search.texi, doc/emacs/trouble.texi:
9302         * doc/emacs/vc1-xtra.texi:
9303         Use American-style double quoting in ordinary text,
9304         and quote 'like this' when single-quoting in ASCII text.
9305         Also, fix some minor spacing issues.
9307         Minor quoting etc. fixes to elisp intro
9308         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
9309         American-style double quoting in ordinary text.  In ASCII text,
9310         consistently quote 'like this' instead of `like this', unless
9311         Emacs requires the latter.
9313 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
9315         * CONTRIBUTE: Mention log-edit-insert-changelog.
9317         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
9319 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
9321         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
9323 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
9325         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
9326         (Bug#20270)
9327         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
9328         Fix inheritance of initargs.
9330 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
9332         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
9333         while dowloading information.
9335         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
9336         (package--ensure-init-file): Check file contents before visiting.
9337         (package-initialize): Call it.
9338         (package-install-from-buffer, package-install): Don't call it.
9340 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
9342         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
9343         (Bug#17517)
9345 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
9347         Fix nasty scoping bug in tramp-cache.el
9348         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
9350 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
9352         Add notice to visual commands section
9353         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
9354         such as git call less with its -F option which omits pagination if
9355         the contents is less than one page long.  This interferes with
9356         eshell's visual (sub-)commands.
9358 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
9360         ffap: Support environment variable expansion in file names
9361         (Bug#19839)
9362         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
9363         environment variable expansion in file names.
9365 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9367         Prefer double-quote to accent-grave in man pages
9369 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
9371         (Bug#20257)
9372         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
9374 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
9376         Update etc/PROBLEMS.
9377         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
9378         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
9379         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
9380         respectively); other minor updates and tweaks.  (Bug#20011)
9382 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9384         Add doc strings for some Isearch state vars
9385         * lisp/misearch.el (multi-isearch-buffer-list)
9386         (multi-isearch-file-list): Add doc strings.
9387         (Bug#20232)
9389 2015-04-07  Alan Mackenzie  <acm@muc.de>
9391         Always mark "<" and ">" in #include directives with text properties.
9392         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
9393         matcher" with an invocation of c-make-font-lock-search-function to allow
9394         fontification when there's no trailing space on an "#include <..>" line.
9396 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9398         Generate a ChangeLog file from commit logs
9399         * .gitignore: Add 'ChangeLog'.
9400         * build-aux/gitlog-to-changelog: New file, from Gnulib.
9401         * build-aux/gitlog-to-emacslog: New file.
9402         * CONTRIBUTE: Document the revised workflow.
9403         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
9404         instead of just special cases.
9405         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
9406         (ChangeLog, unchanged-history-files, change-history)
9407         (change-history-commit): New rules.
9408         * admin/admin.el (make-manuals-dist--1):
9409         Don't worry about doc/ChangeLog.
9410         * admin/authors.el: Add a FIXME.
9411         * admin/make-tarball.txt:
9412         * lisp/calendar/icalendar.el:
9413         * lisp/gnus/deuglify.el:
9414         * lisp/obsolete/gulp.el:
9415         * lwlib/README:
9416         Adjust to renamed ChangeLog history files.
9417         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
9418         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
9419         Remove obsolete discussion of merging ChangeLog files.
9420         New section "Maintaining ChangeLog history".
9421         * build-aux/git-hooks/pre-commit:
9422         Reject attempts to commit files named 'ChangeLog'.
9423         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
9424         * make-dist: Make and distribute top-level ChangeLog if there's a
9425         .git directory.  Distribute the new ChangeLog history files
9426         instead of scattered ChangeLog files.  Distribute the new files
9427         gitlog-to-changelog and gitlog-to-emacslog.
9428         (Bug#19113)
9430         Rename ChangeLogs for gitlog-to-changelog
9431         This patch was implemented via the following shell commands:
9432         find * -name ChangeLog |
9433         sed 's,.*,git mv & &.1,
9434         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
9435         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
9436         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
9437         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
9438         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
9439         sh
9440         git commit -am"[this commit message]"
9442 This file records repository revisions from
9443 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
9444 commit f7ee23e587b01f179284b5554c67d579a2def676 (inclusive).
9445 See ChangeLog.1 for earlier changes.
9447 ;; Local Variables:
9448 ;; coding: utf-8
9449 ;; End:
9451   Copyright (C) 2015 Free Software Foundation, Inc.
9453   This file is part of GNU Emacs.
9455   GNU Emacs is free software: you can redistribute it and/or modify
9456   it under the terms of the GNU General Public License as published by
9457   the Free Software Foundation, either version 3 of the License, or
9458   (at your option) any later version.
9460   GNU Emacs is distributed in the hope that it will be useful,
9461   but WITHOUT ANY WARRANTY; without even the implied warranty of
9462   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9463   GNU General Public License for more details.
9465   You should have received a copy of the GNU General Public License
9466   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.