Fix documentation of 'menu-set-font' and 'set-frame-font'
[emacs.git] / ChangeLog.2
blob4803ff98c0cc0acfe089401801ddad69c618a6b3
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         2015-07-22  Martin Rudalics  <rudalics@gmx.at>
1357         Optionally even widths of `display-buffer' windows.  (Bug#21100)
1358         * lisp/window.el (quit-restore-window): Restore width if
1359         requested.
1360         (display-buffer-record-window): Record width when window is
1361         reused and horizontally combined.
1362         (even-window-sizes): New option to allow evening window widths.
1363         (even-window-heights): Defalias to `even-window-sizes'.
1364         (window--even-window-heights): Rename to
1365         `window--even-window-sizes'.  Handle side-by-side windows.
1366         (display-buffer-use-some-window): Call `window--even-window-sizes'
1367         instead of `window--even-window-heights'.
1368         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
1369         * doc/lispref/windows.texi (Choosing Window Options): Describe
1370         `even-window-sizes'.
1371         (Coordinates and Windows): Fix typo.
1373 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
1375         add file name to autoload error messages.
1376         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
1377           to add file name to error message.
1379 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
1381         Use 0.0.0.1 as test host in Tramp
1382         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
1383         Use 0.0.0.1 as test host.
1385 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1387         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
1388         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
1389         Fix inf-loop (bug#21083).
1391 2015-07-21  Glenn Morris  <rgm@gnu.org>
1393         * test/automated/package-test.el (package-test-signed):
1394         Update for recent changes.
1396         * test/automated/elisp-mode-tests.el
1397         (elisp-xref-finds-both-function-and-variable)
1398         (elisp-xref-finds-only-function-for-minor-mode):
1399         Update for recent xref name changes.
1401 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
1403         Make eldoc timer non-repeatable
1404         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
1405         non-repeatable.  Since it's on post-command hook, that just wasted
1406         CPU cycles.
1408 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
1410         Mention `tramp-connection-properties' in NEWS
1412         Sync with Tramp repository
1413         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
1414         required prior changing its configuration.
1415         (Connection caching, Predefined connection information)
1416         (Remote shell setup): Fix typos.
1417         (Predefined connection information): Describe, how to overwrite
1418         parameters of `tramp-methods'.
1419         (Remote programs, Remote processes, Traces and Profiles):
1420         Simplify example.
1421         (Remote programs): Remove superfluous comment.
1422         * doc/misc/trampver.texi: Update release number.
1423         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
1424         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
1425         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
1426         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
1427         "gvfs-mkdir -p ..." does not work robust.
1428         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
1429         * lisp/net/tramp-sh.el (tramp-methods):
1430         Add `tramp-remote-shell-login' parameter where it fits.
1431         (tramp-get-remote-path): Use it.
1432         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
1433         (all): Adapt `tramp-get-method-parameter' calls.
1434         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
1435         (tramp-get-method-parameter): Replace argument METHOD by VEC.
1436         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
1437         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
1438         (all): Adapt `tramp-get-method-parameter' calls.
1439         * lisp/net/trampver.el Update release number.
1440         * test/automated/tramp-tests.el (tramp--instrument-test-case):
1441         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
1442         (tramp-test13-make-directory, tramp--test-adb-p)
1443         (tramp--test-smb-or-windows-nt-p): Simplify.
1444         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
1445         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
1446         (tramp--test-utf8): Fix docstring.
1448 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
1450         Add new xref-query-replace command
1451         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
1452         function, extracted from xref-pulse-momentarily.
1453         (xref-query-replace): New command.
1454         (xref--query-replace-1): New helper function.
1455         (xref--xref-buffer-mode-map): Add `r' binding.
1457 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
1459         Simplify icalendar decoding of Z dates
1460         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
1461         Simplify calculation of time strings with trailing "Z".
1463 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
1465         Do not corrupt grep-find-ignored-files
1466         * lisp/progmodes/project.el (project-ignores): Change the order of
1467         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
1469         Add xref-match-item, and use it
1470         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
1471         (xref-file-location): Add reader for the column slot.
1472         (xref-match-item): New class.
1473         (xref-match-bounds): A method implementation for it.
1474         (xref-make-match): New constructor function.
1475         (xref--current-item): New private variable.
1476         (xref-pulse-momentarily): Use it.
1477         (xref--pop-to-location): Change the first argument to an xref
1478         item, instead of location, bind xref--current-item.
1479         Update all callers.
1480         (xref-next-line, xref-prev-line, xref--next-error-function)
1481         (xref--mouse-2): Look for the property `xref-item',
1482         instead of `xref-location'.
1483         (xref--item-at-point): Likewise.  This function replaces
1484         `xref-location-at-point'.  Update all callers.
1485         (xref--insert-xrefs): Add the `xref-item' text property, instead
1486         of `xref-location'.
1487         (xref--collect-match): Use xref-make-match.
1489         Rename xref--xref to xref-item
1490         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
1491         Update all references.
1493         Rename xref description slot to summary
1494         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
1495         slot to `summary'.
1497         vc-hg: Perform the print-log call asynchronously
1498         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
1499         asynchronously (bug#21067).
1501         Add xref-after-jump-hook and xref-after-return-hook
1502         * lisp/progmodes/xref.el (xref-after-jump-hook)
1503         (xref-after-return-hook): New hooks.
1504         (xref-pulse-on-jump): Remove, in favor of the above.
1505         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
1506         (xref--pop-to-location, xref--display-position)
1507         (xref-pop-marker-stack): Use the new hooks, as requested in
1508         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
1510 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
1512         Correct js-mode's lighter
1513         * lisp/progmodes/js.el (js-mode): Correct the lighter.
1515 2015-07-19  Leo Liu  <sdl.web@gmail.com>
1517         Fix a bug in cfengine3-mode
1518         * progmodes/cfengine.el (cfengine3-mode): Handle nil
1519           eldoc-documentation-function.
1521 2015-07-18  Julien Danjou  <julien@danjou.info>
1523         sieve-mode: support "body" test command
1524         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
1525         Add missing "body" test command.
1527 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
1529         Fix info-apropos when the default encoding is Latin-N
1530         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
1531         'undecided', so that it is set to the encoding of the Info file we
1532         are about to insert.  Otherwise, 'info-apropos' will fail to find
1533         some index nodes in some UTF-8 encoded files, if the buffer's
1534         previous encoding is Latin-N or some such.
1536 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
1538         * epg.el (epg--start): Check that gpgconf can be found before calling it.
1540         Expose more file types to OS X that Emacs understands.
1541         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
1542         json, and org files.  Export UTIs for el, elc, and org files.
1544 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
1546         Fix visual-order cursor movement when lines are truncated
1547         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
1548         simulate display in a window of infinite width, to allow move_it_*
1549         functions reach positions outside of normal window dimensions.
1550         Remove code that tried to handle a subset of these situations by
1551         manual iteration of buffer text.  (Bug#17777)
1553         Fix following Info cross-references to anchors
1554         * lisp/info.el (Info-read-subfile): Add to the returned value the
1555         length of subfile preamble, after converting it to file's byte
1556         offset, as expected by the caller.  Use bufferpos-to-filepos.
1557         (Info-find-node-2): If searching for a node with a
1558         1000-character slop fails, try again with a 10000-character slop,
1559         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
1560         * lisp/international/mule-util.el (bufferpos-to-filepos): New
1561         function.
1562         * etc/NEWS: Mention bufferpos-to-filepos.
1564         Fix scrolling backwards on TTY frames under scroll-conservatively
1565         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
1566         in moving backwards on TTY frames.  (Bug#21080)
1568 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
1570         Consider a jsdoc tag to be a beginning of a paragraph as well
1571         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
1572         consider a jsdoc tag to be a beginning of a paragraph as well.
1574 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1576         * lisp/emacs-lisp/package.el: Fix warnings
1578         * lisp/emacs-lisp/package.el (package-buffer-info):
1579         Add author and maintainers to `package-buffer-info'.
1581         * lisp/emacs-lisp/package.el: Many small changes
1582         Replace all instances of 'face with 'font-lock-face.
1583         (describe-package-1): Improve some strings and move the summary up the
1584         list.
1585         (package-install-file): Update docstring.
1586         (package-menu-hide-package): Bind to `H'.
1588         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1589         Fix error handling.
1591 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1593         Fix hang with large yanks This should fix the bug fixed by Mike
1594         Crowe's patch in:
1595         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
1596         A problem in this area has been reported by several users; see
1597         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
1598         This fix differs from Mike Crowe's patch in that it should avoid a
1599         race condition that could lose SIGIO signals.  ignore_sigio dates
1600         back to the 1980s when some platforms couldn't block signals, and
1601         could only ignore them, which led to races when signals arrived
1602         while being ignored.  We shouldn't have to worry about those old
1603         platforms now.
1604         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
1605         * src/emacs.c (shut_down_emacs):
1606         Don't call ignore_sigio; unrequest_sigio should suffice.
1607         * src/keyboard.c (kbd_buffer_store_buffered_event):
1608         Use unrequest_sigio, not ignore_sigio.
1609         (kbd_buffer_get_event):
1610         Call request_sigio when getting the ball rolling again.
1612 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1614         * lisp/obsolete/longlines.el (longlines-search-function):
1615         Fallback on `isearch-search-fun-default'.
1617 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
1619         Support @-mentions
1620         * rcirc.el (rcirc-completion-at-point): Support completion of
1621         mentions/messages with @nick instead of just nick.
1623 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
1625         Fix Bug#20943.
1626         * lisp/autorevert.el (auto-revert-handler): Do not check for
1627         `buffer-modified-p'.
1628         * lisp/files.el (buffer-stale--default-function): Check for
1629         `buffer-modified-p'.
1630         * test/automated/auto-revert-tests.el
1631         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
1633 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
1635         Fix delete-dups bug on long lists
1636         * lisp/subr.el (delete-dups):
1637         Don't mistakenly keep some dups when applied to long lists.
1639 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
1641         Better heuristic for C stack overflow
1642         Improve the heuristic for distinguishing stack overflows from
1643         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
1644         the getrlimit method wasn't portable to Cygwin; see:
1645         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
1646         Corinna suggested pthread_getattr_np but this also has problems.
1647         Instead, replace the low-level system stuff with a simple
1648         heuristic based on known good stack addresses.
1649         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
1650         * src/sysdep.c: Don't include <sys/resource.h>.
1651         (stack_direction): Remove.  All uses removed.
1652         (stack_overflow): New function.
1653         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
1654         Make SEGV fatal in non-main threads.
1656 2015-07-16  Daiki Ueno  <ueno@gnu.org>
1658         epg: Automatically start pinentry server
1659         * epg-config.el (epg-gpgconf-program): New variable.
1660         * epg.el (epg--start): Call `pinentry-start' if
1661         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
1663 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
1665         * lisp/gnus/nnimap.el: Fix my last bogus change
1666         Reinstall Stefan Monnier's change that was made in
1667         <83d824bc4041332f338ad7e5e830f443535aa300>.
1669 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1671         Merge from gnulib
1672         This incorporates:
1673         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
1674         2015-07-05 acl-permissions: Fix on FreeBSD
1675         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
1676         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
1677         * lib/set-permissions.c: Copy from gnulib.
1679         Port to stricter C99
1680         * src/keyboard.h (kbd_buffer_store_event_hold):
1681         Don't return a void expression.
1683 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
1685         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
1687 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
1689         New autorevert tests.
1690         * test/automated/auto-revert-tests.el: New file.
1692 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
1694         Clear gcprolist etc. after stack overflow
1695         After stack overflow, command_loop calls init_eval, and this needs to
1696         clear gcprolist and byte_stack_list (Bug#20996).
1697         * src/alloc.c (init_alloc):
1698         Move gcprolist and byte_stack_list initialization from here ...
1699         * src/eval.c (init_eval): ... to here.
1701 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
1703         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
1705 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1707         Avoid deprecated enums in mac-ct font backend driver
1708         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
1709         (mac_ctfont_get_advance_width_for_glyph)
1710         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
1712         Cache font family in mac-ct font backend driver
1713         * src/macfont.m (macfont_family_cache): New variable.
1714         (syms_of_macfont): Initialize it.
1715         (macfont_available_families_cache): New variable.
1716         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
1717         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
1718         (macfont_handle_font_change_notification)
1719         (macfont_init_font_change_handler)
1720         (macfont_copy_available_families_cache): New functions.
1721         (macfont_create_family_with_symbol): Use font family caches.
1722         (macfont_list, macfont_list_family): Use
1723         macfont_copy_available_families_cache instead of
1724         mac_font_create_available_families.
1726 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
1728         Show the default value in the prompt
1729         * lisp/progmodes/xref.el: Add `M-?' binding for
1730         xref-find-references.  Declare functions `grep-read-files' and
1731         `grep-expand-template'.
1732         (xref--read-identifier): Show the default value in the prompt.
1734         When called with prefix argument, ask for file patterns to search as well
1735         * lisp/progmodes/xref.el (xref-find-regexp): When called with
1736         prefix argument, ask for file patterns to search as well.  When
1737         prompting for the directory, require an existing one.
1738         (xref-collect-matches): Add a new argument, FILES.  Use it in the
1739         above function.
1741         Add `project-ignores'
1742         * lisp/progmodes/project.el (project-ignores): New generic
1743         function, and an implementation for the VC project type.
1744         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
1745         variant of rgrep-default-command that handles a generic list of
1746         ignores.
1747         (xref-collect-matches): Use it, and pass through to it the value
1748         of the newly added argument.
1749         (xref-find-regexp): Handle ignored paths within the project.
1750         Remove outdated comment.
1751         * lisp/vc/vc.el (vc-default-ignore-completion-table):
1752         Skip the comments and the empty lines.
1754 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
1756         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
1758 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
1760         gnus-registry.el: Correct function argument order
1761         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
1762         Reverse the order of function arguments.
1764 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
1766         Bind grep-highlight-matches to nil
1767         * lisp/progmodes/xref.el (xref-collect-matches):
1768         Bind grep-highlight-matches to nil (bug#20728).
1770 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
1772         nnimap.el: Fix IMAP message size parsing
1773         * lisp/gnus/nnimap.el (nnimap-transform-headers):
1774         Don't assume that UID comes before RFC822.SIZE.
1776 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1778         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
1779         (auth-source-creation-prompts): Declare.
1780         (nnimap-retrieve-headers, nnimap-status-message)
1781         (nnimap-request-create-group, nnimap-request-delete-group)
1782         (nnimap-close-group, nnimap-request-move-article)
1783         (nnimap-request-accept-article, nnimap-request-newgroups)
1784         (nnimap-request-post, nnimap-dummy-active-number)
1785         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
1786         (nnimap-parse-flags): Remove unused var `p'.
1787         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
1788         (nnimap-flags-to-marks): Remove unused var `totalp'.
1790 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
1792         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
1794 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1796         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
1798 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1800         Don't check the exit status, it can be misleading
1801         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
1802         exit status, it can be misleading.
1804         Introduce a Project API
1805         * lisp/progmodes/project.el: New file.
1806         * lisp/cedet/ede.el: (project-try-ede): New function.
1807         (project-root): New implementation.
1808         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1809         Set project-search-path-function.
1810         (elisp--xref-find-references): Delegate some logic to
1811         project-search-path.
1812         (elisp-search-path): New function.
1813         (elisp-xref-find): Don't implement `matches' anymore.
1814         * lisp/progmodes/etags.el: Don't implement `matches'.
1815         Delegate some logic to project-search-path.
1816         (etags-search-path): New function.
1817         * lisp/progmodes/xref.el (xref-find-function):
1818         Remove `matches' from the API.
1819         (xref-find-regexp): Move whatever common logic was in elisp and
1820         etags implementations, and search the directories returned by
1821         project-directories and project-search-path.
1823 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
1825         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
1827         Add support for gv.el in map.el
1828         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
1829         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
1830         * test/automated/map-tests.el: Update tests to work with the new
1831         implementations of map-elt and map-put.
1833 2015-07-09  Glenn Morris  <rgm@gnu.org>
1835         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
1837 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1839         Syntax-propertize until the end of the line first
1840         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
1841         until the end of the line first.
1843 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
1845         * doc/emacs/files.texi (File Archives): Add a cross reference.
1847 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
1849         nnimap.el: Handle plain value for nnimap-stream
1850         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
1851         capabilities, so that a 'plain value for the `nnimap-stream' server
1852         variable is handled correctly.
1853         * doc/misc/gnus.texi (Customizing the IMAP Connection):
1854         Document the 'plain option.
1856 2015-07-08  Leo Liu  <sdl.web@gmail.com>
1858         Fix bug in thing-at-point--bounds-of-well-formed-url
1859         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
1860           sure boundary contains current point.
1862 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
1864         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
1866         Declare whitespace-line-column a safe file-local
1867         * lisp/whitespace.el (whitespace-line-column): Declare to be a
1868         safe file-local when the value is an integer.
1870 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
1872         gnus-group.el: Check if group names are already strings
1873         * lisp/gnus/gnus-group.el (gnus-group-group-name):
1874         The group name may already be a string.
1875         Specifically, in the group list reached from the *Server* buffer,
1876         the 'gnus-group text property returns a string.  Everywhere else
1877         it returns a symbol.
1879         nnimap.el: Remove unused let variables
1880         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
1882 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
1884         Support "maximized" property of runemacs's shortcut
1885         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
1886         the '--maximized' switch to Emacs.
1888         Support "minimized" property of runemacs's shortcut
1889         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
1890         pass the '--iconic' switch to Emacs.  (Bug#20991)
1892 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
1894         Doc fixes
1895         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
1896         C-w' in Diff mode.
1897         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
1898         Add a cross reference.
1900 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
1902         * lisp/obsolete/landmark.el: Add Obsolete-since header
1904 2015-07-07  Glenn Morris  <rgm@gnu.org>
1906         * test/automated/ert-tests.el (ert-test-deftest):
1907         Update for recent changes.
1909 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1911         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
1912         * lisp/emacs-lisp/gv.el (gv-setter): New function.
1913         (gv-invalid-place): New error.
1914         (gv-get): Use them.
1915         (gv-synthetic-place, gv-delay-error): New places.
1916         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
1917         (cl-defgeneric, cl-defmethod): Use gv-setter.
1919 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
1921         Make vc-tests work with MSYS svn program
1922         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
1923         svn is an MSYS program.
1925 2015-07-07  Ken Brown  <kbrown@cornell.edu>
1927         Improve recent change to emacsclient on Cygwin
1928         * lisp/server.el (server-process-filter): Remove redundant check
1929         that 'cygwin-convert-file-name-from-windows' is defined as a
1930         function on Cygwin.  Don't call that function unless its argument
1931         starts with a drive letter.
1933 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1935         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
1936         Fix void variable due to `found-something' being in the wrong `let'.
1938 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1940         * lisp/play/landmark.el: Move to lisp/obsolete/
1942 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
1944         Have `x-show-tip' handle `right' and `bottom' frame parameters.
1945         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
1946         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
1947         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
1948         tooltips also via `right' and `bottom' frame parameters.
1950 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1952         Add online-help support to describe types
1953         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
1954         (describe-symbol): Improve the selection of default.
1955         * lisp/help-mode.el: Require cl-lib.
1956         (describe-symbol-backends): Move from help-fns.el.
1957         (help-make-xrefs): Use it.
1958         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
1959         for types.
1960         (cl--typedef-regexp): New const.
1961         (find-function-regexp-alist): Add entry for types.
1962         (cl-help-type, cl-type-definition): New buttons.
1963         (cl-find-class): New function.
1964         (cl-describe-type): New command.
1965         (cl--describe-class, cl--describe-class-slot)
1966         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
1967         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
1968         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
1969         New functions.  Moved from eieio-opt.el.
1970         (cl--generic-class-parents): New function, extracted from
1971         cl--generic-struct-specializers.
1972         (cl--generic-struct-specializers): Use it.
1973         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
1974         Improve constructor's docstrings.
1975         (cl-struct-unknown-slot): New error.
1976         (cl-struct-slot-offset): Use it.
1977         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
1978         definition in current-load-list.
1979         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
1980         (eieio--add-new-slot): Set it.
1981         (eieio-defclass-internal): Use new name for current-load-list.
1982         (eieio-oref): Add compiler-macro to warn about unknown slots.
1983         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
1984         as compile-time as well.  Improve constructor docstrings.
1985         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1986         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
1987         (eieio-class-def): Remove button.
1988         (eieio-help-constructor): Use new name for load-history element.
1989         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
1990         (eieio-method-documentation): Move to cl-generic.el.
1991         (eieio-display-method-list): Use new names.
1992         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
1993         Add "define-linline".
1994         (lisp-fdefs): Remove "defsubst".
1995         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
1996         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
1997         (macroexp--warn-and-return): Use it to avoid inf-loops.
1998         Add `compile-only' argument.
2000 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2002         python.el: Fix local/remote shell environment setup
2003         * lisp/progmodes/python.el (python-shell-with-environment): Fix
2004         remote/local environment setup.
2005         * test/automated/python-tests.el (python-shell-with-environment-1)
2006         (python-shell-with-environment-2): New tests.
2008 2015-07-06  Glenn Morris  <rgm@gnu.org>
2010         * lisp/simple.el (set-variable): Tweak recent doc fix.
2012 2015-07-06  Ken Brown  <kbrown@cornell.edu>
2014         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
2016 2015-07-06  Glenn Morris  <rgm@gnu.org>
2018         * lisp/simple.el (set-variable): Use user-error for type mismatch.
2020 2015-07-06  Ken Brown  <kbrown@cornell.edu>
2022         * src/emacs.c (main): Don't increase the stack size on Cygwin
2024 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2026         (describe-symbol): Rewrite describe-function-or-variable
2027         * lisp/help-fns.el (describe-symbol-backends): New var.
2028         (help-xref-stack-item): Declare.
2029         (describe-symbol): Rename from describe-function-or-variable.
2030         Rewrite using describe-symbol-backends instead of help-xref-interned.
2031         * lisp/help.el (help-map): Use it.
2032         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
2033         (help-xref-interned): Make it into an obsolete alias.
2035         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
2036         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
2037         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
2039 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
2041         Fix parsing glitches in dired-mark-sexp (bug#13575)
2042         * lisp/dired-x.el (dired-x--string-to-number): New function.
2043         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
2044         of directory-listing-before-filename-regexp.  Consider
2045         forward-word harmful and replace it.  Add more verbiage in
2046         comments and doc string.
2048 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2050         python.el: Respect process environment for remote shells
2051         * lisp/progmodes/python.el
2052         (python-shell-calculate-process-environment): Calculate
2053         process-environment or tramp-remote-process-environment depending
2054         whether current file is remote.
2055         (python-shell-calculate-exec-path): Calculate exec-path or
2056         tramp-remote-path depending whether current file is remote.
2057         (python-shell-with-environment): New macro.
2058         (python-shell-prompt-detect, python-shell-calculate-command)
2059         (python-shell-make-comint, python-check): Use it.
2061         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
2062         * lisp/progmodes/python.el (python-shell--interpreter)
2063         (python-shell--interpreter-args): New vars.
2064         (inferior-python-mode, python-shell-make-comint): Use them.
2066         python.el: Fixes for IPython 3.x  (Bug#20580)
2067         * lisp/progmodes/python.el:
2068         (python-shell-completion-native-setup): Fix IPython 3.x setup.
2069         (python-shell-completion-native-get-completions): Fix timeout
2070         logic.
2072         python.el: Fix mark-defun behavior  (Bug#19665)
2073         * lisp/progmodes/python.el: (python-mark-defun): New function.
2074         * test/automated/python-tests.el (python-mark-defun-1)
2075         (python-mark-defun-2, python-mark-defun-3): New tests.
2077 2015-07-05  Glenn Morris  <rgm@gnu.org>
2079         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
2080         such as "extends(parent), private".  (Bug#20969)
2081         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
2082         New tests.
2084 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2086         Avoid duplicate calls to current_timespec
2087         * src/process.c (wait_reading_process_output):
2088         Cache current_timespec results as long as we're not waiting.
2090 2015-07-05  Ian Kelling  <ian@iankelling.org>
2092         Avoid returning early reading process output due to SIGIO
2093         * src/process.c (wait_reading_process_output): Extend the behavior of
2094         not breaking due to not finding output when a timer has lowered the
2095         timeout to include when SIGIO lowers the timeout.
2097         Don't return as fast reading any process output
2098         * src/process.c (wait_reading_process_output):
2099         The patch for Bug#17647 returns too fast sometimes when reading
2100         from any processes. Revert part of it, and limit the timeout more
2101         sensibly (Bug#20978).
2103         Refactor timeouts in wait_reading_process_output
2104         * src/process.c (wait_reading_process_output):
2105         Simplify timeouts with an enum.  Remove a redundant condition.
2106         (Bug#20978)
2108         Remove ADAPTIVE_READ_BUFFERING ifdef
2109         * src/process.c (make-process, make-pipe-process, deactivate_process)
2110         (wait_reading_process_output, read_process_output, send_process)
2111         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
2112         added in case there was an operating system in which it was not
2113         useful.  That was 11 years ago and it hasn't happened.  Make
2114         development easier by not considering the effect of changes on a
2115         theoretical OS where this is disabled (Bug#20978).
2117 2015-07-05  Glenn Morris  <rgm@gnu.org>
2119         * lisp/simple.el (set-variable): Doc fix.
2121         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
2123 2015-07-05  Ian Kelling  <ian@iankelling.org>
2125         accept-process-output fix
2126         This is a followon to the fix for Bug#17647 (Bug#20976).
2127         * src/process.c (status_notify): Fix too high return in some cases.
2129 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
2131         * lisp/character-fold.el (character-fold-table):
2132         Only fold decompositions if at least one character is non-spacing.
2133         (Bug#20975)
2135 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2137         Merge from gnulib
2138         This incorporates:
2139         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
2140         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
2141         2015-07-02 update-copyright: fix test failure with perl >= 5.22
2142         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
2143         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
2144         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
2145         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
2147 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
2149         Respect `prog-indentation-context' in python.el
2150         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
2151         (python-indent-context, python-indent--calculate-indentation)
2152         (python-info-current-defun)
2153         (python-info-dedenter-opening-block-message)
2154         (python-info-line-ends-backslash-p)
2155         (python-info-beginning-of-backslash)
2156         (python-info-continuation-line-p): Use `prog-widen'.
2157         (python-indent--calculate-indentation)
2158         (python-indent--calculate-levels)
2159         (python-indent-calculate-indentation): Use `prog-first-column'.
2160         (python-indent--calculate-levels): Simplify.
2161         Ignore also initial empty lines for syntax calculation.
2162         * lisp/progmodes/python.el (python-indent-context): Return
2163         :no-indent for first non-empty line, not just in line 1.
2164         * test/automated/python-tests.el (python-indent-base-case)
2165         (python-indent-inside-paren-1, python-indent-inside-paren-2)
2166         (python-indent-inside-paren-3, python-indent-inside-paren-4)
2167         (python-indent-inside-paren-5, python-indent-inside-paren-6)
2168         (python-indent-after-backslash-1)
2169         (python-indent-after-backslash-2)
2170         (python-indent-after-backslash-3)
2171         (python-indent-after-backslash-4, python-indent-inside-string-1):
2172         Expect :no-indent for first non-empty line.
2174 2015-07-04  Daniel Colascione  <dancol@dancol.org>
2176         Factor isearch word description into new function
2177         * lisp/isearch.el (isearch--describe-word-mode): New function.
2178         (isearch-message-prefix, isearch-query-replace): Use it.
2180 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
2182         Fix mouse pointer on w32 when a menu is active
2183         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
2184         shape while a menu is in use.  This started happening since we now
2185         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
2187 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
2189         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
2190         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
2191         parameter.  (Bug#17344)
2193         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
2194         * lisp/progmodes/compile.el (compilation-set-window): Take
2195         `window-fringes' from argument window.  (Bug#20829)
2197 2015-07-03  Glenn Morris  <rgm@gnu.org>
2199         Update eieio tests for recent eieio-core change.
2200         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
2201         * test/automated/eieio-tests.el
2202         (eieio-test-32-slot-attribute-override-2):
2203         Replace the deleted eieio--class-v with cl--find-class.
2205 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
2207         Fix some issues with `window-divider-mode'
2208         * lisp/frame.el (window-divider-default-places): New option.
2209         (window-divider-mode): Remove option.
2210         (window-divider-mode): Make it a "regular" minor mode.
2211         (window-divider-width-valid-p): Drop frame- prefix.
2212         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
2213         prefix.  Handle `window-divider-default-places'.
2214         (frame--window-divider-mode-set-and-apply): Remove.
2215         (window-divider-default-bottom-width)
2216         (window-divider-default-right-width): Drop :group entries.
2217         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
2218         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
2219         (menu-bar-no-window-divider): Set `window-divider-default-places'
2220         and call `window-divider-mode'.
2221         * doc/emacs/frames.texi (Window Dividers): Document
2222         `window-divider-default-places'.
2224 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
2226         Add cross references in documentation
2227         * doc/emacs/display.texi (Displaying Boundaries):
2228         * doc/emacs/search.texi (Word Search): Add cross references.
2230 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2232         -batch should not affect ‘’ -> `' display
2233         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
2234         -batch (Bug#20926).
2236 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
2238         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
2239         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
2240           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
2241         Use cl--find-class instead.
2243         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
2245 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
2247         Some further fixes in Change Window node.  (Bug#20183)
2248         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
2249         by "resizing" in section title.  Add some concept indices.
2250         Suggested by N. Jackson (Bug#20183).
2252         Reference window dividers in Change Window section.
2253         * doc/emacs/windows.texi (Change Window): Reference window
2254         dividers.
2256         Document new `window-divider-mode'.
2257         * lisp/frame.el (window-divider-mode): Fix doc-string.
2258         * doc/emacs/frames.texi (Window Dividers): New section.
2260         Improve accessibility of window dividers.  (Bug#20183)
2261         * lisp/faces.el (window-divider)
2262         (window-divider-first-pixel, window-divider-last-pixel): Change
2263         membership from `frames' to `window-divider' customization group.
2264         * lisp/frame.el (window-divider): New customization group.
2265         (window-divider-mode): New minor mode.
2266         (window-divider-default-bottom-width)
2267         (window-divider-default-right-width): New options.
2268         (frame--window-divider-previous-mode): New variable.
2269         (frame-window-divider-width-valid-p)
2270         (frame--window-divider-mode-apply)
2271         (frame--window-divider-mode-set-and-apply): New functions.
2272         * lisp/menu-bar.el (menu-bar-options-save): Save
2273         window-divider-mode settings.
2274         (menu-bar-window-divider-customize)
2275         (menu-bar-bottom-and-right-window-divider)
2276         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
2277         (menu-bar-no-window-divider): New functions.
2278         (menu-bar-showhide-window-divider-menu): New variable.
2279         (menu-bar-showhide-menu): Show/hide window divider menu.
2280         * lisp/mouse.el (mouse-split-window-vertically)
2281         (mouse-split-window-horizontally): Replace `error' by
2282         `user-error'.  Bind `window-combination-resize' to nil.
2283         (top-level): Add/reorder mouse key bindings on mode- and
2284         vertical-line.
2286 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2288         Don't display ‘’ as `' under X in en_GB
2289         The curved quote setup code invokes (char-displayable-p ?‘),
2290         but this isn’t reliable until after the X frame replaces the
2291         terminal frame (Bug#20926).
2292         * lisp/international/mule-cmds.el (set-locale-environment):
2293         Move curved quote setup code from here ...
2294         * lisp/startup.el (command-line): ... to here, after creating
2295         the X frame.
2297 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
2299         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
2301         Add argument to reverse the meaning of ido-restrict-to-matches
2302         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
2303         to reverse the meaning (Bug#15631).
2305 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
2307         Be more tolerant to fonts named "Foobar-12"
2308         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
2309         don't barf; instead, request a new fontset to be generated.  This
2310         avoids unnecessarily rejecting fonts named against XLFD rules.  See
2311         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
2312         for the description of the original problem.
2313         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
2314         by a hyphen in a font's name.
2316         Fix value of posn-at-pont in R2L lines
2317         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
2318         coordinate of -1, for a newline in a right-to-left line that
2319         overflowed into the left fringe.
2321 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2323         (cl--copy-slot-descriptor): Copy the `props' alist as well
2324         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
2325         Rename from cl--copy-slot-descriptor.
2326         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
2328 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
2330         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
2331         (xterm-query-timeout): New var.
2332         (xterm--query): Use it.  Fallback on async method if we timeout before
2333         getting the first byte of the reply (bug#12354).
2335 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2337         Spelling fixes
2339 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
2341         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
2343 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2345         In strings, prefer plain ` and ' to \` and \'
2346         * lisp/allout.el (allout-insert-listified):
2347         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
2348         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
2349         (ls-lisp-string-lessp):
2350         * lisp/menu-bar.el (menu-bar-open):
2351         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
2352         * lisp/progmodes/compile.el (compile):
2353         * lisp/progmodes/etags.el (tags-loop-scan):
2354         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
2355         * lisp/subr.el (posn-actual-col-row):
2356         * lisp/term/pc-win.el (x-list-fonts):
2357         * lisp/textmodes/texinfmt.el (texinfmt-version):
2358         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
2359         * lisp/time.el (display-time-world-list):
2360         * lisp/tmm.el (tmm-menubar):
2361         * src/buffer.c (syms_of_buffer):
2362         * src/fileio.c (syms_of_fileio):
2363         Omit unnecessary and confusing backslash before quote.
2364         * lisp/erc/erc.el (erc-cmd-LASTLOG):
2365         * lisp/progmodes/flymake.el (flymake-fix-file-name):
2366         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
2367         Fix string that was intended to escape a backslash and not a quote.
2369 2015-06-30  Glenn Morris  <rgm@gnu.org>
2371         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
2373         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
2374         Replace hard-coded lists with wildcard + filter-out.
2376         * configure.ac (system-configuration-features): Add X11, NS.
2378         Improve reproducibility of generated loaddefs file.
2379         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
2380         Make the return value the modtime of the input file (if no autoloads).
2381         (update-directory-autoloads): In the "no autoloads" section,
2382         use "most recent modtime" rather than "current time".
2384 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2386         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
2387         (Bug#20930)
2389 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
2391         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
2393         Add seq-min and seq-max
2394         Bump version number.
2395         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
2396         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
2398 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
2400         Make sure sleep-for always delays for as long as it's told
2401         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
2402         a loop, to ensure we always wait exactly the required amount of
2403         time.  (Bug#15990)
2405 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2407         Fix pointer signedness glitch
2408         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
2410 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
2412         Don't block changes in mouse pointer inside 'track-mouse'
2413         * etc/NEWS:
2414         * doc/lispref/frames.texi (Mouse Tracking): Document the special
2415         effect of setting 'track-mouse' to 'dragging'.
2416         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
2417         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
2418         * lisp/mouse-drag.el (mouse-drag-throw):
2419         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
2420         to avoid changes in the shape of the mouse pointer.
2421         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
2422         pointer shape when do_mouse_tracking has the value of 'dragging',
2423         not just any non-nil value.  (Bug#20934)
2424         (syms_of_xdisp): DEFSYM 'dragging'.
2426 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2428         * lisp/isearch.el (isearch-toggle-word): Fix toggle
2430         * lisp/emacs-lisp/package.el (package-compute-transaction):
2431         Don't assume version sorting.
2433         * lisp/emacs-lisp/package.el (package--save-selected-packages):
2434         Don't save before init time, to avoid overwriting configurations.
2435         (Bug#20855)
2437 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
2439         Add cross references.
2440         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
2441         references.
2443 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
2445         cfengine.el: update for the upcoming CFEngine 3.7 release
2446         Update for the upcoming CFEngine 3.7 release: support macros and
2447         quoted context strings; reformat JSON; indent promise attributes 2
2448         units by default; give function parameter descriptions in the eldoc
2449         glue.
2450         * cfengine.el: Update version and docs and fix name.  Autoload
2451         `json-pretty-print'.  Support new features in 3.7.
2452         (cfengine-parameters-indent): Set default promise attribute indent to
2453         2 more than the promise itself.
2454         (cfengine3-macro-regex): New variable to match the new macro syntax.
2455         (cfengine3-font-lock-keywords): Use it to highlight macros.
2456         (cfengine3-indent-line): Use it to indent macros to column 0.
2457         (cfengine3-class-selector-regex): Update for the new quoted strings
2458         format.
2459         (cfengine3-reformat-json-string): New function to reformat a JSON
2460         string using `json-pretty-print'.
2461         (cfengine3-format-function-docstring): Use function parameter
2462         description if it's provided by the cf-promises syntax dump.
2464 2015-06-29  Michael R. Mauger  <michael@mauger.com>
2466         Cygwin emacsclient handles w32 file names
2468 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
2470         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
2472 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
2474         * doc/lispref/text.texi (Sticky Properties): Improve wording.
2475         (Bug#20924)
2477         Allow font names that end in "-NN", where NN is a number
2478         * src/font.c (font_load_for_lface): If the font-spec didn't match
2479         any available fonts, try again without interpreting trailing "-NN"
2480         as the font size.  For the description of the original problem, see
2481         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
2483         .gdbinit followup to changes in !USE_LSB_TAG
2484         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
2485         !USE_LSB_TAG, as Emacs no longer does.
2487 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
2489         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
2490         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
2492 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2494         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2495         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
2497 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2499         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
2501         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
2503 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
2505         apropos-library quoting fix
2506         * lisp/apropos.el (apropos-library): Quote library consistently
2507         with the rest of the quoting used by apropos.
2509         Clarify interpreter-mode-alist doc
2510         * lisp/files.el (interpreter-mode-alist):
2511         Reword to avoid confusing quoting that wasn't working anyway.
2513 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
2515         Sync with Tramp 2.2.12
2516         * doc/misc/trampver.texi:
2517         * lisp/net/trampver.el: Update release number.
2518         * test/automated/tramp-tests.el (tramp-test13-make-directory):
2519         Fix cleanup.
2521 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2523         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
2524         (bug#20913)
2526 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
2528         Bind grep-highlight-matches around the rgrep call
2529         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
2530         around the rgrep call (bug#20728).
2532         Put "--color" before the other options in grep-command
2533         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
2534         before the other options in grep-command (bug#20912).
2536         Add --color Grep option to the command dynamically
2537         * lisp/progmodes/grep.el (grep-template, grep-find-template):
2538         Update the description for <C>.  (Bug#20728)
2539         (grep-compute-defaults): Don't add the --color option to
2540         grep-options.  Only add it to grep-command.
2541         (grep-expand-keywords): Expand the env value opts into <C>.
2542         (grep-expand-template): Replace cf in the env with the opts list,
2543         that can include -i and --color.
2544         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
2545         "--color=always" from the template, because we don't have to.
2547 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
2549         cl-extra fixes for most-negative-fixnum
2550         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
2551         Don't mishandle an argument equal to most-negative-fixnum,
2552         whose absolute value equals itself.
2553         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
2555         Initialize cl--gensym-counter to 0
2556         Previously it was initialized to a random value, which made it
2557         harder to reproduce earlier Emacs runs.  The need for a random
2558         value went away when Emacs introduced and used the #: syntax for
2559         uninterned symbols (Bug#20862).
2560         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
2561         Document that cl--gensym-counter now starts with 0.
2562         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
2563         (cl--random-time): Move to near only remaining use.
2564         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
2566         Improve docstring for macroexp-let2
2567         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
2568         Improve as per suggestion by RMS in:
2569         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
2570         Also, rename args to match new doc string.
2572 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
2574         Fix VC test suite on MS-Windows
2575         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
2576         always starts with 3 slashes after the colon.
2577         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
2578         'w32-application-type' to invoke CVS on MS-Windows with properly
2579         formatted CVSROOT directory name.
2581         Add a new function w32-application-type
2582         * src/w32proc.c (Fw32_application_type): New function.
2584         Avoid error in TLS connections due to incorrect format
2585         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
2586         the call to 'error', instead of the unsupported %u.  Reported by
2587         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
2589 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2591         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
2593 2015-06-26  Leo Liu  <sdl.web@gmail.com>
2595         Fix indentation for with-output-to-string
2596         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
2597           `with-output-to-string' in elisp.
2598           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
2599           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
2601 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
2603         Minor corrections in ELisp manual
2604         * doc/lispref/nonascii.texi (Character Properties): Correct
2605         inaccuracies in description of values of the Unicode properties.
2607         Fix invisible mouse pointers on Windows.
2608         * src/w32fns.c: Include windowsx.h.
2609         (w32_wnd_proc): If the mouse moved and the mouse pointer is
2610         invisible, make it visible again even when the main (Lisp)
2611         thread is busy.
2612         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
2613         garbaging the frame have the input thread call SetCursor.
2615 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
2617         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
2618         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
2619         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
2620         * src/w32term.c (w32_hide_hourglass): Handle
2621         f->pointer_invisible.
2622         (w32_toggle_invisible_pointer): New function.
2623         (w32_create_terminal): Add w32_toggle_invisible_pointer as
2624         toggle_invisible_pointer_hook for this terminal.
2626 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
2628         Doc fix for deletion commands
2629         'delete-char' does not respect the value of 'delete-active-region'.
2630         * doc/emacs/killing.texi (Deletion):
2631         Fix documentation for some single-char deletion commands.
2633         * doc/emacs/help.texi (Apropos):
2634         Improve documentation of 'apropos-do-all'.
2636         * doc/emacs/help.texi (Help Summary):
2637         Improve documentation of 'describe-mode'.
2639 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2641         Fix submake dependency bug with .h files
2642         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
2643         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
2644         before the submake in $(libsrc) would spin off a subsubmake
2645         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
2647 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2649         * lisp/character-fold.el (character-fold-table): Reuse `table'
2651 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2653         Translate undisplayable ‘ to `
2654         * doc/lispref/help.texi (Keys in Documentation):
2655         * lisp/international/mule-cmds.el (set-locale-environment):
2656         * lisp/term/w32console.el (terminal-init-w32console):
2657         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
2658         If ‘ is not displayable, transliterate it to `, not to '.  See:
2659         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
2661         Fix C99 incompatibilities in Cairo code
2662         * src/image.c (xpm_load) [USE_CAIRO]:
2663         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
2664         Fix pointer signedness problem.
2666 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
2668         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
2669         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
2670           `with-output-to-string' should have the same indent as `progn'.
2671           This is in line with the declaration of `with-output-to-string'.
2673 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2675         Get ‘./configure; make -C src emacs’ to work
2676         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
2677         * lib-src/Makefile.in (../lib/libgnu.a):
2678         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
2680 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2682         Fix GC bugs --with-wide-int and Qnil == 0
2683         Use the same alignment for the !USE_LSB_TAG case as for the
2684         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
2685         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
2686         once we changed the representation of symbols so that Qnil == 0.
2687         Problem reported by Eli Zaretskii (Bug#20862).
2688         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
2689         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
2690         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
2691         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
2692         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
2693         This optimization in the !USE_LSB_TAG case is no longer valid when
2694         symbols are represented via offsets.  Change the only use to
2695         assume that pointers might hide in objects.
2696         * src/lisp.h (alignas) [!USE_LSB_TAG]:
2697         Require support in this case, too.
2698         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
2699         This is OK, because the !USE_LSB_TAG case now applies only when
2700         Lisp_Object is wider than void *, so there's no longer any need
2701         to shift the offset.  Not shifting the offset means that
2702         symbol representations have the same alignment as pointers,
2703         which the GC assumes.
2705 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
2707         * doc/lispintro/emacs-lisp-intro.texi (Data types):
2708         Improve documentation of 'substring'.
2710 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2712         * lisp/character-fold.el (character-fold-table): Fix table generation
2714 2015-06-24  Glenn Morris  <rgm@gnu.org>
2716         * nextstep/Makefile.in (all): Make it the first target.
2717         (../src/emacs${EXEEXT}): Add rule for making it.
2719 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2721         * etc/NEWS: Fix mention to old function name
2723         * lisp/character-fold.el: New file (Bug#20887)
2724         (character-fold-to-regexp): New function.
2725         * lisp/replace.el (replace-search): Check value of
2726         `character-fold-search'.
2727         * lisp/isearch.el: Move character-folding code to
2728         character-fold.el
2729         (isearch-toggle-character-fold): New command.
2730         (isearch-mode-map): Bind it to "\M-sf".
2731         (isearch-mode): Check value of `character-fold-search'.
2733 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2735         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
2736         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
2737         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
2739         * lisp/progmodes/xref.el: Avoid init-args in oref.
2740         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
2741         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
2743 2015-06-24  Glenn Morris  <rgm@gnu.org>
2745         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
2747 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2749         * lisp/gnus/nnmaildir.el: Silence lexical warnings
2750         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
2751         functional style.
2752         (nnmaildir--update-nov): Remove unused var `numdir'.
2753         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
2754         (nnmaildir-request-group, nnmaildir-request-create-group)
2755         (nnmaildir-request-post, nnmaildir-request-move-article)
2756         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
2757         (nnmaildir-get-new-mail, nnmaildir-group-alist)
2758         (nnmaildir-active-file): Declare.
2759         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
2760         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
2761         `mark', `end', `new-mark', and `mark-sym'.
2762         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
2763         `nlist2'.
2764         (nnmaildir-request-expire-articles):
2765         Remove unused vars `article', `stop' and `nlist2'.
2766         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
2767         `end'.  Use nnmaildir--article when dyn-binding is needed.
2768         Give the value directly in the `let' for `del-mark', `del-action',
2769         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
2770         (nnmaildir-close-server): Declare those local vars that need to be
2771         dyn-bound.
2773 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2775         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
2777         Port selection info fix to clang
2778         * src/keyboard.h (kbd_buffer_store_event_hold):
2779         Don't assume C11 semantics for alignof (Bug#20756).
2781         Fix bug that munged selection info
2782         On some optimizing C compilers, copying a structure did not
2783         copy the padding bytes between elements, and the type punning
2784         between struct input_data and struct selection_input_data did
2785         not work.  Change the C code to use a proper union type instead.
2786         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
2787         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
2788         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
2789         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
2790         (mark_kboards):
2791         Use union buffered_input_event, not struct input_event.
2792         (clear_event, deliver_input_available_signal, process_special_events):
2793         Remove unnecessary forward decls.
2794         (kbd_buffer_store_buffered_event): New function, mostly just the
2795         old kbd_buffer_store_event_hold, except its argument is of type
2796         union buffered_input_event, not struct input_event.
2797         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
2798         not needed otherwise.  Argument is now of type
2799         struct selection_input_event *, not struct input_event *.
2800         All callers changed.
2801         (clear_event): Arg is now of type union buffered_input_event *,
2802         not struct input_event *.  All callers changed.
2803         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
2804         (union buffered_input_event): New type.
2805         (kbd_buffer_store_event_hold): Now an inline function,
2806         defined here.
2807         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
2808         (struct input_event): Use it.
2809         * src/xselect.c (struct selection_event_queue):
2810         Make elements be of type struct selection_input_event,
2811         not struct input_event.
2812         (selection_input_event_equal): New static function.
2813         (x_queue_event): Use it.
2814         (x_queue_event, x_decline_selection_request)
2815         (x_selection_current_request, x_reply_selection_request)
2816         (x_handle_selection_request, x_handle_selection_clear)
2817         (x_handle_selection_event): Use struct selection_input_event,
2818         not struct input_event.  All callers changed.
2819         (x_convert_selection): Omit unused first arg.  All callers changed.
2820         (Fx_disown_selection_internal): Omit unnecessary union.
2821         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
2822         rather than rolling our own equivalent.  Prefer sie.kind when
2823         setting up that kind of structure.
2824         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
2825         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
2826         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
2827         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
2828         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
2829         (SELECTION_EVENT_TIME, x_handle_selection_event):
2830         Arg is now of type struct selection_input_event *)
2831         not struct input_event *.  All callers changed.
2833 2015-06-23  Glenn Morris  <rgm@gnu.org>
2835         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
2837 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2839         * lisp/isearch.el: Fold many unicode characters to ASCII
2840         (isearch-character-fold-search, isearch--character-fold-extras)
2841         (isearch--character-fold-table): New variable.
2842         (isearch--character-folded-regexp): New function.
2843         (isearch-search-fun-default): Use them.
2844         * lisp/replace.el (replace-character-fold): New variable.
2845         (replace-search): Use it.
2846         * etc/NEWS: Document it.
2848 2015-06-23  Glenn Morris  <rgm@gnu.org>
2850         Check for an input event before showing a dialog box.  (Bug#20813)
2851         * lisp/subr.el (y-or-n-p):
2852         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
2853         as last-nonmenu-event.
2855 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
2857         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
2858         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
2859         (switch-to-prev-buffer, switch-to-next-buffer): Respect
2860         switch-to-visible-buffer independent of the windows history.
2862 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2864         * src/keyboard.c (last_timer_event): Remove unused var.
2866 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2868         * test/automated/package-test.el (package-test-update-listing):
2869         Fix test.
2871 2015-06-23  Glenn Morris  <rgm@gnu.org>
2873         Revert 2014-06-25 nextstep/Makefile change.
2874         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
2875         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
2876         not as an order-only prerequisite.
2878         * configure.ac (--with-ns): Enable by default on OS X.
2880 2015-06-23  Leo Liu  <sdl.web@gmail.com>
2882         Fix shell-for/backward-command to exclude spaces
2883         * lisp/shell.el (shell-forward-command, shell-backward-command):
2884           Handle the 'move case from re-search-forward/backward.
2885           fixes debbugs:20873
2887 2015-06-22  Juri Linkov  <juri@linkov.net>
2889         * lisp/replace.el (query-replace-read-from): Add separator to
2890         the local binding of text-property-default-nonsticky.  (Bug#20690)
2892         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
2893         (Bug#20785)
2895 2015-06-22  Ken Brown  <kbrown@cornell.edu>
2897         Enable CPU profiling on Cygwin
2898         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
2899         change that undefined this.
2900         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
2901         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
2902           Cygwin.
2904         Improve diagnostics of profiler-cpu-start
2905         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
2906         return -1 if the sampling interval is invalid.
2907         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
2908         fails.  (Bug#20843)
2910 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2912         * lisp/emacs-lisp/package.el: Exclude packages by name
2913         (package-hidden-regexps): New variable.
2914         (package-menu--refresh): Use it.
2915         (package-menu-hide-package): New command.
2917         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
2919 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
2921         Fix debug-timer-check on systems without HAVE_TIMERFD
2922         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
2923         the expired timers, since wait_reading_process_output doesn't.
2924         (debug_timer_callback): Enlarge the tolerance to 20 msec.
2926         Fix RCS crashes in vc-test
2927         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
2928         ports of 'ci' on MS-Windows by always passing the -t- switch.
2930 2015-06-22  Glenn Morris  <rgm@gnu.org>
2932         * doc/emacs/package.texi (Packages):
2933         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
2935         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
2937 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2939         Port tests to help-quote-translation
2940         * test/automated/ert-x-tests.el (ert-test-describe-test):
2941         * test/automated/package-test.el (package-test-describe-package)
2942         (package-test-signed): Allow straight quotes, too.
2944 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
2946         Make find-function-on-key use the current window
2947         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
2948         Extract from `find-function-on-key', add a second argument.
2949         (find-function-on-key): Use it (bug#19679).
2950         (find-function-on-key-other-window)
2951         (find-function-on-key-other-frame): New commands.
2953 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2955         Revert "Define `map-elt' as a generalized variable"
2956         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
2958 2015-06-21  Ken Brown  <kbrown@cornell.edu>
2960         Drop support for CPU profiling on Cygwin
2961         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
2962         (Bug#20843)
2964 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2966         Fix some “nested” quoting confusion in doc strings
2967         * lisp/emacs-lisp/advice.el (ad-map-arglists):
2968         * lisp/kermit.el (kermit-clean-on):
2969         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
2970         * src/keyboard.c (Frecursive_edit):
2971         Use curved quotes when quoting text containing apostrophe,
2972         so that the apostrophe isn't curved in the output.
2974 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2976         Define `map-elt' as a generalized variable
2977         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
2978         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
2979         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
2980         `setf' with `map-elt'.
2981         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
2983 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
2985         Improve error handling in tramp-adb.el
2986         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
2987         Improve error handling.
2989 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2991         Reuse `alist-get' in map.el
2992         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
2993         elements.
2995 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
2997         Fix bytecomp-tests--warnings when $TMPDIR has a long name
2998         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
2999         Allow the warning to begin on the 3rd, not only 2nd line, which
3000         happens if temporary-file-directory has a very long name.
3002         Expect 2 icalendar tests to fail on MS-Windows
3003         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
3004         (icalendar-real-world): Make them expected failures on MS-Windows.
3006 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3008         Improve port of settings UI to older displays
3009         * lisp/cus-start.el (standard): Don't assume curved quotes are
3010         easily distinguishable when users are tinkering with a setting
3011         that affects how curved quotes are generated.
3013         Fix quoting in electric-quote-mode doc string
3014         * lisp/electric.el (electric-quote-mode): Fix quoting.
3015         This is a fallout from the recent change introducing
3016         ‘help-quote-translation’.
3018         Spelling fix
3020         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
3022         * src/doc.c (syms_of_doc): Remove unused symbols.
3024 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
3026         In ‘window-state-put’ undedicate target window.  (Bug#20848)
3027         * lisp/window.el (window-state-put): Undedicate target window
3028         before putting STATE into it.  (Bug#20848)
3030 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
3032         Merge from origin/emacs-24
3033         a5e6f33 Fixes: debbugs:20832
3034         b9f02cf Fixes: debbugs:20832
3036 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
3038         Fix file-in-directory-p when the directory is UNC
3039         * lisp/files.el (file-in-directory-p): Support files and
3040         directories that begin with "//".  (Bug#20844)
3042 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
3044         (Bug#20832)
3045         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
3046         in the minibuffer.
3048 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
3050         (Bug#20832)
3051         * lisp/calendar/todo-mode.el (todo-show): Signal an error
3052         if buffer for adding new todo file is empty but modified.
3054 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
3056         (filepos-to-bufferpos): Further tweaks to the utf-16 code
3057         * lisp/international/mule-util.el (filepos-to-bufferpos):
3058         Fix typo.  Move non-exact check to the utf-16 branch (the only one
3059         affected).  Don't use byte-to-position for the utf-16 case.
3061 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
3063         Minor fixes in filepos-to-bufferpos
3064         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
3065         test for utf-8-emacs.  Exempt single-byte encodings from the
3066         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
3067         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
3068         UTF-16 encoded files for CR-LF EOLs.
3070 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
3072         Improve the optional translation of quotes
3073         Fix several problems with the recently-added custom variable
3074         help-quote-translation where the code would quote inconsistently
3075         in help buffers.  Add support for quoting 'like this', which
3076         is common in other GNU programs in ASCII environments.  Change
3077         help-quote-translation to use more mnemonic values: values are now the
3078         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
3079         traditional Emacs help-buffer quoting style `like this'.  Change the
3080         default behavior of substitute-command-keys to match what's done in
3081         set-locale-environment, i.e., quote ‘like this’ if displayable,
3082         'like this' otherwise.
3083         * doc/lispref/help.texi (Keys in Documentation): Document
3084         new behavior of substitute-command-keys, and document
3085         help-quote-translation.
3086         * doc/lispref/tips.texi (Documentation Tips):
3087         Mention the effect of help-quote-translation.
3088         * etc/NEWS: Mention new behavior of substitute-command-keys,
3089         and merge help-quote-translation news into it.
3090         When talking about doc strings, mention new ways to type quotes.
3091         * lisp/cedet/mode-local.el (overload-docstring-extension):
3092         Revert my recent change to this function, which shouldn't be
3093         needed as the result is a doc string.
3094         * lisp/cedet/mode-local.el (mode-local-print-binding)
3095         (mode-local-describe-bindings-2):
3096         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
3097         * lisp/cus-theme.el (describe-theme-1):
3098         * lisp/descr-text.el (describe-text-properties-1, describe-char):
3099         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
3100         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
3101         (eieio-help-constructor):
3102         * lisp/emacs-lisp/package.el (describe-package-1):
3103         * lisp/faces.el (describe-face):
3104         * lisp/help-fns.el (help-fns--key-bindings)
3105         (help-fns--compiler-macro, help-fns--parent-mode)
3106         (help-fns--obsolete, help-fns--interactive-only)
3107         (describe-function-1, describe-variable):
3108         * lisp/help.el (describe-mode):
3109         Use substitute-command-keys to ensure a more-consistent quoting
3110         style in help buffers.
3111         * lisp/cus-start.el (standard):
3112         Document new help-quote-translation behavior.
3113         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
3114         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
3115         (help-xref-url-regexp):
3116         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
3117         * lisp/wid-edit.el (widget-documentation-link-regexp):
3118         Also match 'foo', in case we're in a help buffer generated when
3119         help-quote-translation is ?'.
3120         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
3121         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
3122         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
3123         (Fsubstitute_command_keys): Document and implement new behavior.
3124         (Vhelp_quote_translation): Document new behavior.
3126 2015-06-18  Glenn Morris  <rgm@gnu.org>
3128         * lisp/cus-start.el (help-quote-translation): Add :version.
3130         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
3132 2015-06-18  Alan Mackenzie  <acm@muc.de>
3134         Make translation of quotes to curly in doc strings optional.
3135         src/doc.c (traditional, prefer-unicode): new symbols.
3136         (help-quote-translation): new variable.
3137         (Fsubstitute_command_keys): make translation of quotes dependent on
3138         `help-quote-translation'; also translate curly quotes back to ASCII
3139         ones.
3140         lisp/cus-start.el (top-level): Add a customization entry for
3141         `help-quote-translation'.
3143 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
3145         * lisp/emacs-lisp/package.el: Don't always propagate async errors
3146         (package--with-work-buffer-async): Only propagate the error if the
3147         callback returns non-nil.
3148         (package--download-one-archive): Return nil on the signature
3149         checking callback if we accept unsigned.
3150         (package--download-and-read-archives): Return non-nil on the
3151         archive download callback.
3153 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
3155         Fix last fix"
3157         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
3158         * src/nsfns.m (Fx_create_frame):
3159         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
3160         image_cache_refcount before first x_default_parameter call.
3162 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
3164         Improve and extend filepos-to-bufferpos
3165         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
3166         Don't barf if F returns nil for some argument.
3167         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
3168         that every encoding of type 'charset' is single-byte.
3170 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
3172         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
3173         Properly delete packages.  (Bug#20836)
3175 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
3177         Update data files from just-released Unicode 8.0
3178         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
3179         status.
3180         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
3181         * admin/unidata/BidiMirroring.txt:
3182         * admin/unidata/BidiBrackets.txt:
3183         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
3185 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
3187         Document curved quotes a bit better
3188         * doc/emacs/basic.texi (Inserting Text):
3189         Mention C-x 8.  Change example to use curved quote rather
3190         than infinity, as this lets us give more ways to do it.
3191         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
3192         and quotation marks.
3193         * doc/emacs/text.texi (Quotation Marks):
3194         * doc/lispref/tips.texi (Documentation Tips):
3195         Add "curly quotes" and "curved quotes" to the index.
3196         * doc/emacs/text.texi (Quotation Marks):
3197         Give the C-x 8 shorthands for curved quotes.
3198         Cross-reference to "Quotation Marks".
3200 2015-06-17  Daiki Ueno  <ueno@gnu.org>
3202         Add pinentry.el for better GnuPG integration
3203         * lisp/pinentry.el: New file.
3204         * etc/NEWS: Add entry about pinentry.el.
3205         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
3206         (Bug#20550)
3208 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
3210         * lisp/emacs-lisp/package.el: Slightly better error reporting.
3212 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
3214         (define-minor-mode): Use setq-default for :global minor modes
3215         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
3216         Use setq-default for :global minor modes (bug#20712).
3218 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
3220         Avoid infloop in redisplay with tall images
3221         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
3222         down near ZV.  (Bug#20808)
3223         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
3224         instead of CHARPOS.
3226 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
3228         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
3229         Fix error reporting.
3231         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
3233         * lisp/emacs-lisp/package.el: Revert buffer after any operation
3234         Call `package-menu--post-refresh' after any operation that changes
3235         the package database (`package-install' and `package-delete').  To
3236         avoid performance issues in large transactions, these functions
3237         add `post-refresh' to `post-command-hook' instead of calling it
3238         immediately.
3239         (package-menu--mark-or-notify-upgrades): New function.
3240         (list-packages): Add it to `package--post-download-archives-hook'.
3241         (package-menu--post-refresh): Lose the upgrade-checking code, add
3242         code to remove itself from `post-command-hook'.
3243         (package-install, package-delete): Add it to `post-command-hook'.
3244         (package-menu-execute): Don't call `package-menu--post-refresh'.
3246 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
3248         Add missing function xref-location-group for elisp-mode.
3249         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
3251 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
3253         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
3254         The behavior now matches the description in the manual.  (Bug#20783)
3256 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
3258         Update tutorials/TUTORIAL.cn
3259         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
3261 2015-06-17  Glenn Morris  <rgm@gnu.org>
3263         Generate char-script-table from Unicode source.  (Bug#20789)
3264         * admin/unidata/Makefile.in (AWK): New, set by configure.
3265         (all): Add charscript.el.
3266         (blocks): New variable.
3267         (charscript.el, ${unidir}/charscript.el): New targets.
3268         (extraclean): Also remove generated charscript.el.
3269         * admin/unidata/blocks.awk: New script.
3270         * admin/unidata/Blocks.txt: New data file, from unicode.org.
3271         * lisp/international/characters.el: Load charscript.
3272         * src/Makefile.in (charscript): New variable.
3273         (${charscript}): New target.
3274         (${lispintdir}/characters.elc): Depend on charscript.elc.
3275         (temacs$(EXEEXT)): Depend on charscript.
3277         * lisp/international/characters.el (char-script-table): Tweak
3278         some ranges to better match the source.  (Bug#20789#17)
3280         Remove "no-byte-compile: t" from a few files.
3281         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
3282         * lisp/obsolete/patcomp.el: No reason not to compile these.
3284 2015-06-16  Glenn Morris  <rgm@gnu.org>
3286         Fix some typos in copied Unicode data.  (Bug#20789)
3287         * lisp/international/characters.el (char-script-table):
3288         * lisp/international/fontset.el (script-representative-chars)
3289         (setup-default-fontset): Fix typos.
3291         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
3292         Don't print filename twice (it's in the prefix now).
3294         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
3295         No longer needed.
3297         Address a compilation warning.
3298         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
3299         Replace 't' with '_' in pcase.
3301         Address some check-declare warnings.
3302         * lisp/simple.el (tabulated-list-print):
3303         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
3304         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
3305         (ns-get-selection): Update declarations.
3307         Address some compilation warnings.
3308         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
3309         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
3310         Replace 't' with '_' in pcase.
3312         Address some compilation warnings.
3313         * lisp/face-remap.el (text-scale-adjust):
3314         * lisp/menu-bar.el (popup-menu-normalize-position):
3315         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
3316         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
3317         * lisp/emacs-lisp/generator.el (cps--transform-1):
3318         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
3319         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
3320         * lisp/progmodes/octave.el (octave-goto-function-definition)
3321         (octave-find-definition-default-filename):
3322         Replace 't' with '_' in pcase.
3324         * lisp/emacs-lisp/pcase.el (pcase--u1):
3325         Paper-over today's bootstrap failure.
3327 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
3329         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
3331         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
3333         Better confirmation message in `find-alternate-file' (Bug#20830)
3334         * lisp/files.el (find-alternate-file'): Improve the confirmation
3335         message to show the buffer name.
3337         Better docstring for null. (Bug#20815)
3338         * src/data.c (null): Improves the docstring, saying what null returns
3339         when OBJECT is non-nil.
3341 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3343         * lisp/net/newst-treeview.el: Use lexical-binding.
3345         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
3346         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
3347         New auxiliary function, extracted from filepos-to-bufferpos.
3348         Make sure it terminates.
3349         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
3350         Add support for the `exact' quality.
3352 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
3354         Identify feeds in newsticker treeview with :nt-feed property
3355         * lisp/net/newst-treeview.el:
3356         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
3358 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3360         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
3361         (pcase--self-quoting-p): Floats aren't self-quoting.
3362         (pcase): Tweak docstring.
3363         (pcase--u1): Deprecate the t pattern.  Improve error detection for
3364         the nil pattern.
3365         (\`): Tweak docstring.  Signal an error for unrecognized cases.
3366         (bug#20784)
3368 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
3370         Fix infloop in filepos-to-bufferpos
3371         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
3372         offset calculation, and make it conditional on the eol-type of the
3373         file's encoding.  (Bug#20825)
3375 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
3377         Fix handling of image cache refcounts.  (Bug#20802)
3378         This backports Eli Zaretskii's solution of this problem for W32
3379         to X and NS.
3380         * src/nsfns.m (image_cache_refcount): Define unconditionally.
3381         (unwind_create_frame): If the image cache's reference count
3382         hasn't been updated yet, do that now.
3383         (Fx_create_frame): Set image_cache_refcount unconditionally.
3384         * src/xfns.c (image_cache_refcount): Define unconditionally.
3385         (unwind_create_frame): If the image cache's reference count
3386         hasn't been updated yet, do that now.
3387         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
3388         unconditionally.
3389         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
3390         X and NS.
3392 2015-06-16  Nils Ackermann  <nils@ackermath.info>
3394         Improve reftex-label-regexps default value
3395         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
3396         keyvals label regexp more strict to better cope with unbalanced
3397         brackets common in math documents.
3399 2015-06-16  Glenn Morris  <rgm@gnu.org>
3401         * doc/emacs/calendar.texi (Format of Diary File):
3402         Move "nonmarking" from here...
3403         (Displaying the Diary): ... to here.
3405         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
3406         Swap the order of these nodes.
3407         * doc/emacs/emacs.texi: Update detailed menu for the above change.
3409         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
3410         Update date of examples.
3411         (Diary, Format of Diary File): Move example from former to latter.
3412         Reduce duplication.
3414         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
3415         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
3416         Don't set no-byte-compile in the outputs.
3417         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
3419 2015-06-15  Glenn Morris  <rgm@gnu.org>
3421         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
3422         * doc/emacs/calendar.texi (Diary, Format of Diary File):
3423         Update for above diary-file change.
3424         : * etc/NEWS: Mention this.
3426         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
3427         (apply-macro-to-region-lines): Use user-error.
3429         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
3430         (pages-directory-for-addresses): Doc fixes.
3432 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
3434         * lisp/info.el: Cleanup bytepos/charpos issues
3435         * lisp/international/mule-util.el: Use lexical-binding.
3436         (filepos-to-bufferpos): New function.
3437         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
3438         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
3439         (Info-read-subfile, Info-search): Use 0-based file positions.
3441         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
3442         (perl--syntax-exp-intro-keywords): New var.
3443         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
3444         (bug#20800).
3446 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3448         Fix quoting when making derived mode docstring
3449         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
3450         Nest regexp-quote inside format, not the reverse.
3451         Problem reported by Artur Malabarba in:
3452         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
3454 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
3456         Fix current-iso639-language on MS-Windows
3457         * lisp/international/mule-cmds.el (set-locale-environment):
3458         Downcase the locale name before interning it.  This is so the
3459         'current-iso639-language' on MS-Windows matches the ':lang'
3460         property of font-spec objects.
3462         Limit Symbola usage some more
3463         * lisp/international/fontset.el (setup-default-fontset): Limit
3464         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
3465         (Bug#20727)
3467 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
3469         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3471 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3473         Spelling fixes
3475 2015-06-14  Glenn Morris  <rgm@gnu.org>
3477         * lisp/version.el (emacs-repository-version-git): Demote errors.
3478         Check result is a hash.
3480 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
3482         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
3483         Catch errors that happen before going async.  (Bug#20809)
3485 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
3487         Another improvement of documentation of set-fontset-font
3488         * doc/lispref/display.texi (Fontsets): Say explicitly that
3489         CHARACTER can be a single codepoint.
3490         * src/fontset.c (Fset_fontset_font): Doc fix.
3492         Another improvement for symbol and punctuation characters
3493         * lisp/international/fontset.el (setup-default-fontset): Exclude
3494         from Symbola character ranges for symbols and punctuation covered
3495         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
3496         installed and where its coverage of symbols and punctuation is
3497         known to be good.  (Bug#20727)
3499 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
3501         Some generic support for multi-mode indentation.
3502                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
3503                 variable.
3504                 (prog-first-column, prog-widen): New convenience functions.
3506 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
3508         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
3509         Don't assume that `tabulated-list-printer' will leave point at the
3510         end of the buffer.  (Bug#20810)
3512 2015-06-13  Glenn Morris  <rgm@gnu.org>
3514         Tweaks for getting repository version; a bit more like it was for bzr.
3515         * lisp/version.el (emacs-repository-version-git)
3516         (emacs-repository--version-git-1): New functions,
3517         split from emacs-repository-get-version.
3518         (emacs-repository-get-version): Make the second argument meaningful.
3520         * lisp/startup.el (command-line-1): Inform if skipping relative
3521         file names due to deleted PWD.
3523         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
3524         when starup directory is missing.  (Bug#18851)
3525         (errno.h): Include it.
3527 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
3529         Better fix for documenting `X as "`X"
3530         Fix suggested by Stefan Monnier.
3531         * lisp/help-fns.el (help-fns--signature):
3532         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
3533         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3534         Don't treat `X specially, as help-fns--signature now handles this.
3536 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
3538         Improve the default fontset when Symbola is not installed
3539         * lisp/international/fontset.el (setup-default-fontset): Only
3540         prepend Symbola and FreeMono font specs for symbols and
3541         punctuation; do not replace the default spec for them.  This
3542         should have better results when Symbola/FreeMono are not
3543         installed.  (Bug#20727)
3545         Improve documentation of ':lang' in font specs
3546         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
3547         use of the ':lang' property of the font spec.
3548         * doc/emacs/frames.texi (Fonts): Document the language names that
3549         can be in the STYLE part of XLFD.
3550         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
3551         property.
3553         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
3555         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
3557         Revert last change in fontset.el
3558         * lisp/international/fontset.el (setup-default-fontset): Revert
3559         the change "Configure Symbola font only if installed", since font
3560         search is evidently not yet set up when this function is called.
3561         (Bug#20727)
3563 2015-06-12  Glenn Morris  <rgm@gnu.org>
3565         Ensure early startup warnings are visible at the end.  (Bug#20792)
3566         * lisp/emacs-lisp/warnings.el (display-warning):
3567         If startup isn't complete, delay the warning.
3568         * lisp/startup.el (normal-top-level, command-line):
3569         Let display-warning automatically handle the needed delays.
3570         Run delayed-warnings-hook.
3572         * lisp/version.el (emacs-repository-get-version):
3573         Avoid calling external executable if possible.  (Bug#20799)
3575 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3577         Document `X as "`X", not as "(` X)"
3578         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3579         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
3581         * src/print.c (print_object): Minor simplification.
3583 2015-06-12  Glenn Morris  <rgm@gnu.org>
3585         * src/buffer.c (init_buffer): Add final newline to message.
3587 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3589         Configure Symbola font only if installed
3590         * lisp/international/fontset.el (setup-default-fontset):
3591         Don't specify the Symbola font if it's not installed.
3592         Likewise for FreeMono.  (Bug#20727)
3594 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
3596         Configure Symbola font only for symbols and punctuation
3597         * lisp/international/fontset.el (setup-default-fontset): Leave
3598         only symbols and punctuation in the fontset setup for Symbola
3599         font; remove "Greek and Coptic" and "Cyrillic Supplement".
3600         (Bug#20798)
3602 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
3604         Fix crash in fontset-info
3605         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
3606         non-nil.
3608 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3610         Port to Solaris 10 sparc + Sun C 5.13
3611         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
3612         Adjust to process.c change.
3613         * src/process.c (create_process): Declare volatile variables at
3614         top level of this function, so that they're less likely to be
3615         reused later in the function in the code executed by the vforked
3616         child.  Do not declare locals used only in the vforked child, as
3617         they might share memory with locals still live in the parent.
3618         Instead, use the same variables in the child as in the parent.
3619         This works around a subtle bug that causes a garbage collector
3620         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
3622 2015-06-12  Glenn Morris  <rgm@gnu.org>
3624         * lisp/startup.el (normal-top-level): Don't let *Messages* get
3625         a nil default-directory.
3627 2015-06-11  Glenn Morris  <rgm@gnu.org>
3629         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
3631         Some progress towards starting with PWD deleted.  (Bug#18851)
3632         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
3633         * lisp/startup.el (normal-top-level, command-line-1):
3634         * lisp/minibuffer.el (read-file-name-default):
3635         Handle default-directory being nil.
3637 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3639         Fix "not a tty" bug on Solaris 10
3640         * configure.ac (PTY_OPEN): Define to plain 'open'
3641         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
3642         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
3643         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
3644         hosts that call grantpt which does its work via a setuid subcommand
3645         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
3646         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
3647         seems relevant in that case too.
3649 2015-06-11  Juri Linkov  <juri@linkov.net>
3651         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
3652         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
3653         (Bug#20785)
3655 2015-06-11  Glenn Morris  <rgm@gnu.org>
3657         * lisp/international/characters.el (char-script-table): Fix typo.
3659 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3661         Fix quoting of help for functions with odd names
3662         While investigating Bug#20759, I discovered other quoting problems:
3663         C-h f mishandled characters like backslash and quote in function names.
3664         This fix changes the behavior so that 'C-h f pcase RET' now
3665         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
3666         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
3667         in src/lread.c's read1 function says that the backslash will be
3668         needed starting in Emacs 25, which implies that 'format' is
3669         correct and the old pcase documention was wrong to omit the backslash.
3670         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
3671         * lisp/help-fns.el (help-fns--signature):
3672         * lisp/help.el (help-add-fundoc-usage):
3673         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
3674         Use help--make-usage-docstring rather than formatting
3675         help-make-usage.
3676         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
3677         Return raw docstring.
3678         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
3679         raw docstring.  Take more care to distinguish raw from cooked dstrings.
3680         (describe-function-1): Let help-fns--signature substitute
3681         command keys.
3682         * lisp/help.el (help--docstring-quote): New function.
3683         (help-split-fundoc): Use it, to quote funny characters more
3684         systematically.
3685         (help--make-usage): Rename from help-make-usage, since this
3686         should be private.  Leave an obsolete alias for the old name.
3687         (help--make-usage-docstring): New function.
3688         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
3690 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3692         * lisp/thingatpt.el (in-string-p): Revert last change,
3693         since in-string-p is not used in thingatpt.el but only from outside.
3694         Also, use lexical binding.
3696 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
3698         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
3699         * test/automated/let-alist.el (let-alist-cons): Test it.
3701 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3703         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
3705 2015-06-10  Glenn Morris  <rgm@gnu.org>
3707         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
3709         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
3710         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
3711         * admin/gitmerge.el (gitmerge-commit-message):
3712         Exclude "skipped" messages from ChangeLog once again.
3714         Slight namespace cleanup for thingatpt.el.
3715         * lisp/thingatpt.el (thing-at-point--in-string-p)
3716         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
3717         (thing-at-point--read-from-whole-string): Rename from
3718         old versions without "thing-at-point--" prefix.
3719         Keep old versions as obsolete aliases.  Update all uses.
3721         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
3722         Move requiring of finder from here...
3723         (checkdoc-package-keywords): ... to here.
3725         Use 'user-error' in a few calendar files.
3726         * lisp/calendar/appt.el (appt-add):
3727         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
3728         (calendar-generate):
3729         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
3730         Replace 'error' with 'user-error'.
3732         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
3734         * lisp/files-x.el (add-file-local-variable):
3735         Special-case 'lexical-binding'.  (Bug#20641)
3737         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
3738         No longer autoload.
3739         * doc/misc/autotype.texi (Executables):
3740         Undocument executable-self-display.
3742         * lisp/progmodes/executable.el (executable-self-display):
3743         Use non-obsolete tail syntax.  (Bug#20779)
3744         (executable-self-display): Doc update.
3746 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3748         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
3749         (finder-known-keywords): Silence byte-compiler.
3751 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
3753         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
3755         * lisp/progmodes/sh-script.el: Better handle nested quotes
3756         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
3757         (sh-font-lock-quoted-subshell): Make sure double quotes within single
3758         quotes don't mistakenly end prematurely the surrounding string.
3760         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
3762 2015-06-09  Glenn Morris  <rgm@gnu.org>
3764         * test/automated/Makefile.in (ELFILES): Sort.
3766         * Makefile.in (SUBDIR_MAKEFILES):
3767         * lwlib/Makefile.in (WARN_CFLAGS):
3768         Use built-in Make functions rather than echo+sed.
3770 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
3772         Update char-script-table
3773         * lisp/international/characters.el (char-script-table): Update
3774         from Unicode 8.0 Draft.
3776         Improve font selection for punctuation and other symbols
3777         * src/fontset.c (face_for_char): If the character's script is
3778         'symbol', and the font used for ASCII face has a glyph for it, use
3779         the font for the ASCII face instead of searching the fontsets.
3780         This comes instead of NS-specific code that used the current
3781         face's font instead, which is now disabled due to undesirable
3782         consequences.  (Bug#20727)
3784 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
3786         Skip past `#' to find BEG
3787         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
3788         past `#' to find BEG (bug#20771).
3789         * test/automated/elisp-mode-tests.el
3790         (elisp-completes-functions-after-hash-quote): New test.
3792 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3794         Fix compilation warning/error in --without-x builds
3795         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
3796         code on HAVE_WINDOW_SYSTEM.
3798         Improve the default fontset wrt symbols
3799         * lisp/international/fontset.el (setup-default-fontset): Better
3800         setup of fontset-default for symbols: use Symbola and FreeMono.
3801         (Bug#20727)
3803 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3805         Add new command checkdoc-package-keywords
3806         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
3807           defcustom.
3808         (checkdoc-list-of-strings-p): Add doc.
3809         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
3810         non-nil, call `checkdoc-package-keywords'.
3811         (checkdoc-get-keywords): New defun.
3812         (checkdoc-package-keywords): New command. Warns if the current file
3813         has package.el-style keywords that aren't in `finder-known-keywords'.
3814         * etc/NEWS: Add entry.
3816 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3818         Avoid crashes when key-binding is called from a timer
3819         * src/keymap.c (Fkey_binding): Don't segfault if called with an
3820         empty vector as KEY.  (Bug#20705)
3822         Fix a thinko in arc-mode.el
3823         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
3824         non-Zip64 case.  (Bug#20769)
3826 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
3828         * lisp/emacs-lisp/package.el (package-delete): Make interactive
3830 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3832         checkdoc.el (checkdoc-file): New function
3833         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
3834           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
3835           to the standard output.
3836         (bug#20754)
3838 2015-06-07  Glenn Morris  <rgm@gnu.org>
3840         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
3842         * src/font.c (syms_of_font) <font-log>: Doc fix.
3844         Remove the obsolete leading "*" from some C doc strings.
3845         * src/coding.c (syms_of_coding):
3846         * src/font.c (syms_of_font): Remove leading "*" from docs.
3847         * lisp/cus-start.el (enable-character-translation): Add it.
3849 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
3851         Move gen_origin from program to data
3852         That way, 'make change-history' needs to change only ChangeLog.2,
3853         instead of having to change two files.
3854         * ChangeLog.2: Add commit info for range that this file covers.
3855         * Makefile.in (new_commit_regexp): New macro.
3856         (change-history-nocommit): Simplify, by putting what used to be
3857         the gen_origin value into the data (ChangeLog.2) rather than
3858         into the program (gitlog-to-emacslog).
3859         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
3860         the input file (e.g., ChangeLog.2) rather than by having a
3861         constant in the program.  Substitute it into the output.
3863 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
3865         Escape any quotes in the function name
3866         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
3867         function name (bug#20759).
3869 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
3871         Adapt 'struct timespec' to next release of MinGW runtime
3872         * nt/inc/ms-w32.h (struct timespec): Don't declare if
3873         __struct_timespec_defined is defined.
3875 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3877         Merge from gnulib
3878         This incorporates:
3879         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
3880         2015-06-05 stdio: Don't redefine gets when using C++
3881         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
3882         2015-06-02 file-has-acl: fix build on Mac OS X 10
3883         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
3884         2015-06-01 pthread_sigmask: discount system version if a simple macro
3885         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
3886         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
3887         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
3888         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
3889         * lib/gnulib.mk: Regenerate.
3891 2015-06-06  Juri Linkov  <juri@linkov.net>
3893         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
3894         before calling grep-compute-defaults because now it affects the
3895         command lines computed in grep-compute-defaults. (Bug#20728)
3897 2015-06-06  Glenn Morris  <rgm@gnu.org>
3899         Address some compilation warnings.
3900         * lisp/international/mule-cmds.el (w32-get-console-codepage)
3901         (w32-get-console-output-codepage):
3902         * lisp/progmodes/elisp-mode.el (xref-collect-references):
3903         * lisp/version.el (cairo-version-string): Declare.
3904         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
3906 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3908         Fix display when a font claims large values of ascent and descent
3909         This fixes bug#20628.
3910         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
3911         coordinate of a hollow cursor glyph when the original glyph's
3912         ascent is too small.
3913         (get_font_ascent_descent, normal_char_ascent_descent)
3914         (normal_char_height): New functions.
3915         (handle_single_display_spec, append_space_for_newline)
3916         (calc_pixel_width_or_height, produce_stretch_glyph)
3917         (calc_line_height_property): Use normal_char_ascent_descent and
3918         normal_char_height.
3919         (x_produce_glyphs): When font-global values of ascent and descent
3920         are too large, use per-character glyph metrics instead, if
3921         possible.  But don't allow the glyph row's ascent and descent
3922         values become smaller than the values from the metrics of the
3923         font's "normal" character.
3924         * src/xftfont.c (xftfont_draw):
3925         * src/w32font.c (w32font_draw): Correct the values of ascent and
3926         descent used to draw glyphless characters' hex code in a box.
3927         * src/xterm.c (x_draw_glyph_string_background):
3928         * src/xdisp.c (x_produce_glyphs):
3929         * src/w32term.c (x_draw_glyph_string_background):
3930         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
3931         to detect fonts whose global ascent and descent values are too
3932         large to be used in layout decision, and redraw the background
3933         when that happens.
3934         * src/dispextern.h (FONT_TOO_HIGH): New macro.
3935         (get_font_ascent_descent): Add prototype.
3936         * src/xterm.c (x_new_font):
3937         * src/w32term.c (x_new_font):
3938         * src/nsterm.m (x_new_font):
3939         * src/font.c (font_open_entity):
3940         * src/composite.c (composition_gstring_width): Use
3941         get_font_ascent_descent to obtain reasonable values for ascent and
3942         descent of a font.
3944 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3946         Add assertion in adjust_point_for_property
3947         * src/keyboard.c (adjust_point_for_property): Add eassert for
3948         current buffer being shown in selected window.
3950 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
3952         Replace uses of in-string-p; make it obsolete
3953         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
3954         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
3956 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3958         Fix Dired display of an explicit list of files by ls-lisp.el
3959         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
3960         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
3961         correct for when displaying individual files separately, not as
3962         part of listing a directory, in which case these values are not
3963         recomputed by 'ls-lisp-insert-directory', but used verbatim.
3965         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
3967 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3969         Do not adjust point in a non-selected window
3970         * src/keyboard.c (command_loop_1): Do not adjust point when
3971         current buffer is not shown in selected window (Bug#20590).
3973         * etc/DEBUG: Mention 'maybe_call_debugger'
3975 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
3977         Fix a unit test for map.el
3978         * test/automated/map-tests.el (test-map-let): Fix the test to work
3979         with the new syntax of `map-let'.
3981         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3983         Better syntax for the map pcase pattern
3984         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
3985         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
3987         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
3989         Fix a byte-compiler error in map-put and map-delete
3990         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
3991         called with a symbol.
3993 2015-06-05  Glenn Morris  <rgm@gnu.org>
3995         * admin/gitmerge.el (gitmerge-commit-message):
3996         Revert to including "skipped" messages in ChangeLog once again.
3998 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
4000         Use string> instead of equiv lambda with string<
4001         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
4002         lambda with string<.
4004 2015-06-05  Glenn Morris  <rgm@gnu.org>
4006         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
4007         (map--delete-array): Fix typo.
4009         * test/automated/map-tests.el: Replace "assert" with "should".
4011         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
4012         (SUBDIRS_REL): Derive from SUBDIRS.
4014         Tweak some build messages.
4015         * lisp/Makefile.in ($(lisp)/loaddefs.el):
4016         * lisp/cus-dep.el (custom-make-dependencies):
4017         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
4018         * lisp/international/titdic-cnv.el (batch-titdic-convert):
4019         Don't say how to compile.
4021 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
4023         Omit U+0332 COMBINING LOW LINE in previous change
4024         It turns out that it does not work on Ubuntu 15.04.
4026         Fix transliteration of Bahá'í months
4027         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
4028         Improve quality of Latin transliteration of Bahá'í month names.
4030         Fix curved quotes in a few places
4031         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
4032         The strings in question are not doc strings, so this partially
4033         undoes the recent change that assumed they were doc strings.
4034         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
4035         * lisp/info.el (Info-finder-find-node):
4036         Use curved quotes.
4037         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
4038         Also allow curved quotes in doc strings.
4040 2015-06-04  Glenn Morris  <rgm@gnu.org>
4042         * lisp/Makefile.in (AM_V_at): Add missing definition.
4044         * lisp/Makefile.in: Quieten output a bit.
4045         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
4046         Don't echo directories, since the commands we invoke print them.
4048         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
4049         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
4050         (SUBDIRS_SUBDIRS): New variables.
4051         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
4052         Remove.
4053         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
4054         (update-subdirs, compile-main, compile-clean):
4055         Replace "setwins" usage with new "SUBDIRS" variables.
4057         * lisp/vc/compare-w.el (compare-windows-get-window-function):
4058         Fix :version tag.
4060 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4062         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
4064         Undo removal of x_clear_area call on expose for GTK3 or cairo.
4065         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
4066         exposed area.  (Bug#20677)
4068 2015-06-04  Glenn Morris  <rgm@gnu.org>
4070         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
4072         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
4074         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
4075         Rename from quail-lao-update-translation, since lao.el defines that.
4077 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
4079         Handle new-style advice in find-funct
4080         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
4081         Handle new-style advice.  Return the symbol's function definition.
4082         (Bug#20718)
4083         (find-function-library): Update accordingly.
4085 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
4087         Merge branch 'map'
4089         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
4091         Add new function string-greaterp
4092         * lisp/subr.el (string-greaterp): New function.  Also aliased to
4093         `string>'.
4094         * test/automated/subr-tests.el (string-comparison-test): Add unit
4095         tests for `string>'and `string<'.
4096         * src/fns.c (string-lessp): Better docstring.
4098 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
4100         Fix timezone-related functions on MS-Windows
4101         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
4102         'xputenv', even if no reallocation of tzvalbuf was necessary.
4103         This fixes a bug in timezone-related functions on MS-Windows.
4104         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
4106 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
4108         Don't pass raw directory name to 'error'
4109         * lisp/files.el (basic-save-buffer-2): Avoid format error if
4110         a directory name contains a string like "%s".
4112 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
4114         Override 'grep --color=always'
4115         * lisp/progmodes/xref.el (xref-collect-matches):
4116         Override --color=always in grep-find-template.
4118 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
4120         Fix error introduced recently in file-notify-tests.el
4121         * test/automated/file-notify-tests.el
4122         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
4123         (file-notify--deftest-remote): Revert previous patch, not
4124         necessary anymore.
4126 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
4128         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
4129         Starting from a display string after a newline, point went to the
4130         previous line.  Also, fix an inadvertent use of a buffer position
4131         with FETCH_BYTE.  (Bug#20701)
4133 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
4135         Instrument file-notify-test.el in order to catch hydra error.
4136         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
4137         Wrap body by `ignore-case', in order to trap non-local errors.
4139 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4141         Undo previous changes in non-toolkit scroll bar drawing.
4142         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
4143         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
4145 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
4147         * .gitignore: Also ignore doc/*/*/*.html and .ps.
4149         Support quotes 'like this' in info files
4150         This is possible when 'makeinfo --disable-encoding' is used
4151         in Texinfo 5.
4152         * lisp/calc/calc-help.el (calc-describe-thing):
4153         * lisp/gnus/gnus-art.el (gnus-button-alist):
4154         * lisp/info.el (Info-find-index-name):
4155         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4156         Also support quotes 'like this'.
4157         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
4158         * lisp/finder.el (finder-font-lock-keywords): Remove var that
4159         hasn't been used in years, instead of bothering to fix its quoting.
4161 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
4163         * .gitignore: Remove !test/etags/html-src/*.html.
4164         It's no longer needed, since *.html was removed.  Sort.
4166 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
4168         Restore <D> instead of '.' in grep-find-template
4169         * lisp/cedet/semantic/symref/grep.el
4170         (semantic-symref-grep-use-template): Update a comment.
4171         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
4172         instead of '.' in grep-find-template (bug#20719).
4173         (rgrep): Pass nil as the directory to rgrep-default-command.
4174         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
4175         default value for DIR.
4176         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
4177         workaround.
4179 2015-06-02  Glenn Morris  <rgm@gnu.org>
4181         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
4183         * configure.ac (emacs_config_features): Add Cairo.
4185         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
4187 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
4189         Ensure, that autorevert works for remote files in file-notify-tests.el
4190         * test/automated/file-notify-tests.el (file-notify--test-desc):
4191         New defvar.
4192         (file-notify--test-remote-enabled)
4193         (file-notify-test00-availability, file-notify-test01-add-watch)
4194         (file-notify-test02-events): Use it.
4195         (file-notify--test-event-test): Check proper descriptor.
4196         (file-notify-test03-autorevert): Ensure, that
4197         `visited-file-modtime' has changed.
4198         (Bug#20392)
4200 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
4202         Add a pcase pattern for maps and `map-let' based on it
4203         * lisp/emacs-lisp/map.el (map-let): New macro.
4204         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
4205         * test/automated/map-tests.el: New test for `map-let'.
4207 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
4209         Reuse rgrep mechanics in xref-find-regexp
4210         * lisp/progmodes/grep.el (rgrep-default-command):
4211         Extract from `rgrep'.
4212         * lisp/progmodes/xref.el (xref-collect-references): Split from
4213         `xref-collect-matches'.  Only handle the case of symbol search.
4214         (xref-collect-matches): Instead of Semantic Symref, use
4215         `rgrep-default-command', to take advantage of its directory and
4216         file ignore settings.
4217         (xref--collect-match): Remove the last argument, leaving the
4218         regexp construction up to the caller.
4219         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
4220         Change to take the xref-collect- function to use as an argument.
4221         (elisp-xref-find): Update accordingly.
4222         * lisp/progmodes/etags.el (etags--xref-find-matches)
4223         (etags-xref-find): Same.
4225         Move xref-elisp-location to elisp-mode.el
4226         * lisp/progmodes/xref.el (xref-elisp-location)
4227         (xref-make-elisp-location, xref-location-marker): Remove here.
4228         (xref--xref): Don't limit the type of the location slot.
4229         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
4230         Define as a cl-struct here.
4231         (xref-location-marker): Move here.
4233 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
4235         Minor tweaks for .gitignore
4236         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
4237         ignore admin/notes/tags that might be ignored as TAGS on
4238         case-insensitive filesystems.  (Bug#20710)
4240 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
4242         Generate curved quotes in ert doc
4243         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
4244         (ert-results-mode-menu)
4245         (ert-results-pop-to-backtrace-for-test-at-point)
4246         (ert-results-pop-to-messages-for-test-at-point)
4247         (ert-results-pop-to-should-forms-for-test-at-point)
4248         (ert-describe-test):
4249         Quote ‘like this’, not `like this', when generating doc strings
4250         and the like.
4251         * test/automated/ert-x-tests.el (ert-test-describe-test):
4252         Allow quoting ‘like this’.
4254 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
4256         Add test for previous commit
4257         * test/automated/replace-tests.el: New file.
4258         (query-replace--split-string-tests): Add test for previous commit.
4260         Avoid confusion in query-replace history when replacing NUL chars
4261         * lisp/replace.el (query-replace--split-string): New function.
4262         (query-replace-read-from): Rely on the 'separator' property
4263         instead of searching for the NUL character (Bug#20690).
4265 2015-06-02  Glenn Morris  <rgm@gnu.org>
4267         Merge from origin/emacs-24
4268         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
4270         * admin/gitmerge.el (gitmerge-commit-message):
4271         Exclude "skipped" messages from ChangeLog.
4273 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
4275         Sync with Tramp repository
4276         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
4277         messages.
4278         (tramp-handle-make-auto-save-file-name): When calling
4279         `make-auto-save-file-name' internally, make sure it uses Unix-like
4280         behavior, not Windows-like behavior.
4281         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
4282         the local case, because "chown" might fail on w32.
4283         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
4284         for XEmacs.
4286 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
4288         MS-Windows followup for batch stdout/stderr output changes
4289         * lisp/international/mule-cmds.el (set-locale-environment): In
4290         batch mode, use console codepages for keyboard and terminal
4291         encoding.  (Bug#20545)
4293         Update .gitattributes for DOS EOL files
4294         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
4295         CRLF end-of-line format.
4297         NS equivalents of xterm.c and w32term.c changes
4298         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
4299         glyph string background also when the font in use claims
4300         preposterously large global height value.  Helps to remove
4301         artifacts left from previous displays when glyphless characters
4302         are displayed as hex code in a box.
4303         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
4304         value for FRAME_LINE_HEIGHT, even when a font claims very large
4305         value for its height.
4307 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
4309         Avoid grave accent quoting in stderr diagnostics
4310         A few Emacs diagnostics go directly to stderr, and so can't easily
4311         contain curved quotes (as non-UTF-8 locales might mishandle them).
4312         Instead of bothering to add support for this rarity, reword the
4313         diagnostics so that they don't use grave accent to quote.
4314         * src/alloc.c (mark_memory): Fix comment.
4315         * src/buffer.c (init_buffer):
4316         * src/dispnew.c (init_display):
4317         * src/emacs.c (main, sort_args):
4318         * src/lread.c (dir_warning):
4319         * src/term.c (init_tty):
4320         * src/unexmacosx.c (unexec):
4321         * src/xfns.c (select_visual):
4322         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
4323         Reword stderr diagnostics to avoid quoting `like this'.
4324         * src/unexmacosx.c: Include errno.h.
4325         * src/xfns.c (select_visual): Encode value for locale.
4327 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
4329         Treat batch stdout/stderr like standard display
4330         Calls like (print FOO) could generate improperly encoded or
4331         hard-to-read output if FOO contains characters outside the system
4332         locale.  Fix this by treating batch stdout and stderr like
4333         interactive standard display, when it comes to transliterating and
4334         encoding characters (Bug#20545).
4335         * doc/emacs/mule.texi (Communication Coding):
4336         * doc/lispref/display.texi (Active Display Table):
4337         * doc/lispref/nonascii.texi (Locales):
4338         * etc/NEWS:
4339         * src/coding.c (syms_of_coding):
4340         * src/dispnew.c (syms_of_display):
4341         Document this.
4342         * src/print.c: Include disptab.h.
4343         (printchar_to_stream): New function, with much of the guts of the
4344         old Fexternal_debugging_output, except this one also uses the
4345         standard display table.
4346         (printchar, strout, Fexternal_debugging_output): Use it.
4348 2015-05-31  Glenn Morris  <rgm@gnu.org>
4350         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
4352 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
4354         Remove unused DEFSYMs
4355         Remove DEFSYMs that aren't used at the C level.  Also:
4356         * src/decompress.c (Qzlib_dll):
4357         * src/font.c (Qunicode_sip):
4358         * src/frame.c (Qtip_frame):
4359         * src/ftfont.c (Qserif):
4360         * src/gnutls.c (Qgnutls_dll):
4361         * src/xml.c (Qlibxml2_dll):
4362         Move from here ...
4363         * src/w32fns.c (syms_of_w32fns): ... to here,
4364         as these are used only on MS-Windows.
4366 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
4368         Use another default value for tramp-histfile-override
4369         * lisp/net/tramp-sh.el (tramp-histfile-override):
4370         Use ".tramp_history" as default.
4371         Fixes: debbugs:#20446
4373 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
4375         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
4377 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
4379         * etc/NEWS: Add an entry about map.el
4381         Improve the docstring of functions in map.el
4382         Since a map is not a data structure but a concept, adding information
4383         about the possible types of maps can be useful information.
4384         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
4385         each public function.
4387 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
4389         Faster implementation of map-empty-p
4390         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
4391         specific tests depending on the type of the map.
4393         * lisp/emacs-lisp/map.el: Better docstrings.
4395 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
4397         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
4399 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
4401         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
4403         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
4405         Fix a false negative in `map-elt' with alists and values being nil
4406         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
4407         found but its associated value is nil, do not return the default
4408         value.
4409         * test/automated/map-tests.el: Add a regression test.
4411 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
4413         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
4415         Do not signal an error when trying to delete a key from an array
4416         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
4417         the key is present to avoid signaling an error.
4418         * test/automated/map-tests.el: Add a test for deleting non-existing
4419         keys from maps.
4421         * lisp/emacs-lisp/map.el: Better docstring.
4423         Minor improvement in map-elt.
4424         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
4425         doing a lookup in arrays, but check the boundaries of the array
4426         instead.
4427         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
4428         and a negative integer as key.
4430 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
4432         * test/automated/map-tests.el: Refactoring of test methods.
4434         * test/automated/map-tests.el: Renamed from map-test.el.
4436 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
4438         * lisp/emacs-lisp/map.el (map-into): Better error message.
4440         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
4442         Throw an error when converting a map into an unknown map type
4443         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
4444         * test/automated/map-test.el: Add a regression test.
4446         New library map.el similar to seq.el but for mapping data structures.
4447         * test/automated/map-test.el: New file.
4448         * lisp/emacs-lisp/map.el: New file.
4450 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
4452         Make sure there's no explicit tag name
4453         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
4454         there's no explicit tag name (bug#20629).
4456 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
4458         Remove format2
4459         * src/editfns.c, src/lisp.h (format2): Remove.
4460         It is more trouble than it's worth, now that we have CALLN.
4461         This is just a minor refactoring.
4462         * src/buffer.c (Fkill_buffer):
4463         * src/dbusbind.c (XD_OBJECT_TO_STRING):
4464         * src/fileio.c (barf_or_query_if_file_exists):
4465         Adjust to format2 going away.
4467         Don't misencode C-generated messages
4468         Also, be more consistent about calls to 'Fmessage' vs 'message'.
4469         * src/alloc.c (Fgc_status):
4470         Prefer AUTO_STRING to build_string for Fmessage call.
4471         * src/data.c (Fmake_variable_buffer_local)
4472         (Fmake_local_variable, Fmake_variable_frame_local):
4473         * src/doc.c (store_function_docstring):
4474         Use Fmessage, not message, since the argument can contain
4475         non-ASCII characters, and this can cause the resulting message
4476         to be incorrectly encoded for the current environment.
4477         * src/fns.c (maybe_resize_hash_table):
4478         * src/xselect.c (x_clipboard_manager_save_all):
4479         Use message, not Fmessage, since Fmessage's power isn't needed here.
4480         * src/process.c (Fmake_network_process): Reword message to avoid %s.
4481         * src/xdisp.c (vmessage): Document restrictions on message contents.
4482         (message_nolog) [false]: Remove unused code.
4484         Use \r rather than ^M in string literals
4485         This is less likely to cause problems on platforms that
4486         use CRLF (or CR!) termination for lines.
4488         Update .gitattributes to match current sources
4489         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
4490         * .gitattributes: Accommodate tests that insist on DOS format.
4491         Remove test/automated/data/decompress/foo-gzipped.
4492         Add etc/e/eterm-color.
4494 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
4496         Document 'face-ignored-fonts'
4497         * doc/emacs/mule.texi (Modifying Fontsets): Document
4498         face-ignored-fonts.  (Bug#20628)
4500         Add etags test for the new -Q option
4501         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
4502         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
4503         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
4504         test-case changes below.
4505         * test/etags/ETAGS.good_6: New file.
4506         * test/etags/cp-src/x.cc: New file.
4507         * test/etags/Makefile (CPSRC): Add x.cc.
4508         (check): Add one more test, for -Q.
4510 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
4512         Use list for the tags completion table, not obarray
4513         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
4514         list instead of an obarray
4515         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
4516         (tags-completion-table): Combine those lists.
4517         (tags-completion-table): Update the docstring.
4519 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
4521         Restore EOL format testing in etags
4522         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
4523         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
4524         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
4525         test-case changes below.
4526         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
4527         * test/etags/cp-src/c.C (B): Add back stray CR character.
4528         * test/etags/c-src/dostorture.c: Add back.
4529         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
4531 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
4533         Declare Emacs on MS-Windows to be DPI-aware
4534         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
4535         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
4536         This avoids Windows entering compatibility mode for Emacs,
4537         which causes fonts to look less nice.
4539 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
4541         Improve Tramp traces.
4542         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
4543         * lisp/net/tramp.el (tramp-debug-message): Use it.
4545 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
4547         backup-buffer minor reworking of internals
4548         * lisp/files.el (backup-buffer): Rework to avoid a couple of
4549         unused locals inadvertently introduced in the previous change.
4551         backup-buffer now reports .emacs.d/%backup% ills
4552         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
4553         fails due to disk space exhaustion or whatever, do not pretend
4554         that it succeeded.  More generally, do a better job of checking
4555         for I/O failures, and limit the scope of the condition-case to
4556         just the operations where file errors should be caught and ignored
4557         (Bug#20595).  Also, don't bother trying to delete later backups if
4558         an earlier deletion fails, as this is a sign of trouble and it's
4559         better to stop when there's trouble.
4561         copy-file now truncates output after writing
4562         * src/fileio.c (Fcopy_file): Truncate output after writing rather
4563         than before.  This is more likely to work than truncation before
4564         writing, if the file system is out of space or the user is over
4565         disk quota (Bug#20595).  Also, check for read errors.
4567 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4569         * lisp/emacs-lisp/package.el: Don't load from parent dir
4570         (package-load-all-descriptors): Don't load descriptors from
4571         directories above the package directories.
4573 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4575         Merge from gnulib
4576         This incorporates the following (Bug#20681):
4577         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
4578         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
4579         * lib/set-permissions.c: Copy from gnulib.
4581 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
4583         Improve Tramp traces.
4584         * lisp/net/tramp.el (tramp-call-process-region): New defun.
4585         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
4587 2015-05-29  Glenn Morris  <rgm@gnu.org>
4589         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
4591 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
4593         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
4594         The signature was changed in the cairo branch, merged on 2015-05-23.
4595         This oversight broke compiling only the non-toolkit X version.
4597 2015-05-29  Samer Masterson  <samer@samertm.com>
4599         * doc/lispref/os.texi: Update initial-buffer-choice docs.
4601 2015-05-29  Glenn Morris  <rgm@gnu.org>
4603         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
4604         Mark as an expected failure.
4606 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4608         Change package test to look for curved quotes
4609         * test/automated/package-test.el (package-test-describe-package)
4610         (package-test-signed): Search for curved single quotes as well as
4611         for grave accent and apostrophe.
4613 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
4615         gnus-art.el: Re-revert last change
4616         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
4617         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
4619 2015-05-28  Samer Masterson  <samer@samertm.com>
4621         Show files when `initial-buffer-choice' is non-nil
4622         * startup.el (command-line-1): When Emacs is given a file as an
4623         argument and `initial-buffer-choice' is non-nil, display both the file
4624         and `initial-buffer-choice'.  For more than one file, show
4625         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
4626         commands out of the command line arg parser.
4627         (initial-buffer-choice): Clarify docstring.
4629 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
4631         Fix last commit
4632         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
4633         (gnulib module qcopy-acl): Add back, as it is harmless.  This
4634         minimizes differences wrt lib/gnulib.mk.
4636         Fix the MS-Windows build as followup to gnulib update
4637         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
4638         set-permissions.c, as they don't compile on MinGW.
4639         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
4641 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
4643         Revert my change to gnus-art.el
4644         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
4645         It wasn't that important, and it caused a Gnus build to fail.  See:
4646         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
4648         New minor mode Electric Quote
4649         This lets you easily insert quotes ‘like this’ by typing
4650         quotes `like this', and similarly you can easily insert
4651         quotes “like this” by typing quotes ``like this'' (Bug#20545).
4652         * doc/emacs/basic.texi (Inserting Text):
4653         * doc/emacs/modes.texi (Minor Modes):
4654         * etc/NEWS: Document it.
4655         * doc/emacs/text.texi (Quotation Marks): New section.
4656         * lisp/electric.el (electric-quote-comment)
4657         (electric-quote-string, electric-quote-paragraph):
4658         New custom vars.
4659         (electric--insertable-p)
4660         (electric-quote-post-self-insert-function): New functions.
4661         (electric-quote-mode, electric-quote-local-mode): New minor modes.
4662         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4663         Add curved single quotes to electric-pair-text-pairs.
4664         Set electric-quote-string in this buffer.
4666         A few more doc string fixes (Bug#20385)
4668         Accept curved quotes in doc strings
4669         * lisp/info-look.el (info-lookup-guess-custom-symbol):
4670         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
4672         Generate curved quotes in pseudo-info nodes
4673         * lisp/info.el (Info-virtual-index-find-node)
4674         (Info-virtual-index, Info-apropos-find-node, info-apropos):
4675         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
4677         Fix minor quoting problems in doc strings
4678         Most of these fixes involve escaping grave accents that are
4679         actually intended to be grave accents, not left quotes.
4680         (Bug#20385)
4682         Support curved quotes in doc strings
4683         Emacs's traditional doc string style has been to quote symbols
4684         `like this'.  This worked well on now-obsolete terminals where
4685         ` and ' were symmetric quotes, but nowadays curved quotes
4686         ‘like this’ look better.  Support quoting the new way too.
4687         (Bug#20385)
4688         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
4689         ‘like-this’ as well as `like-this'.
4690         * etc/NEWS: Mention this.
4691         * lisp/cedet/mode-local.el (overload-docstring-extension)
4692         (mode-local-print-binding, mode-local-describe-bindings-2):
4693         * lisp/cus-theme.el (describe-theme-1):
4694         * lisp/descr-text.el (describe-text-properties-1, describe-char):
4695         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
4696         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
4697         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
4698         (eieio-help-constructor):
4699         * lisp/emacs-lisp/package.el (describe-package-1):
4700         * lisp/faces.el (describe-face):
4701         * lisp/help-fns.el (help-fns--key-bindings)
4702         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
4703         (help-fns--interactive-only, describe-function-1):
4704         (describe-variable):
4705         * lisp/help.el (describe-mode):
4706         * lisp/international/mule-cmds.el (describe-input-method)
4707         (describe-language-environment):
4708         * lisp/international/mule-diag.el (describe-character-set)
4709         (print-coding-system-briefly, list-input-methods)
4710         (list-input-methods-1):
4711         Insert curved quotes rather than grave accent and apostrophe.
4712         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4713         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
4714         (checkdoc-proper-noun-region-engine):
4715         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
4716         (lisp-cl-font-lock-keywords-2):
4717         * lisp/finder.el (finder-font-lock-keywords):
4718         * lisp/gnus/gnus-art.el (gnus-button-alist):
4719         * lisp/help-fns.el (help-do-arg-highlight)
4720         (describe-function-1, describe-variable):
4721         * lisp/help-mode.el (help-xref-symbol-regexp)
4722         (help-xref-info-regexp, help-xref-url-regexp):
4723         * lisp/help.el (describe-mode):
4724         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
4725         * lisp/wid-edit.el (widget-documentation-link-regexp):
4726         Parse symbols quoted ‘like-this’ as well as `like-this'.
4727         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4728         Add "‘" and "’" to electric-pair-text-pairs.
4729         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
4730         (elisp-completion-at-point, elisp--preceding-sexp):
4731         Also treat "‘" and "’" as quoting chars.
4733         substitute-command-keys now curves quotes
4734         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
4735         * doc/lispref/help.texi (Keys in Documentation):
4736         * etc/NEWS: Document this.
4737         * src/doc.c (Fsubstitute_command_keys): Implement it.
4739 2015-05-28  Glenn Morris  <rgm@gnu.org>
4741         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
4742         (rmail-summary-by-topic, rmail-summary-by-senders):
4743         No longer strip leading/trailing whitespace.
4745         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
4746         (f90-no-block-limit): Add "enum".  (Bug#20680)
4747         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
4748         New tests.
4750 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4752         * lisp/isearch.el (isearch--current-buffer): Give a default value.
4754         Un-revert changes mistakenly dropped by f9fabb2b
4756 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4758         Merge from gnulib
4759         This incorporates:
4760         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
4761         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
4762         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
4763         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
4764         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
4765         2015-05-26 stdio: fix probe on mingw under gcc 5.1
4766         * admin/merge-gnulib (GNULIB_MODULES):
4767         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
4768         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
4769         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
4770         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
4771         Get latest versions from gnulib.
4772         * lib/get-permissions.c, lib/set-permissions.c: New files.
4773         * lib/gnulib.mk, m4/gnulib-comp.m4:
4774         Regenerate.
4775         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
4777 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
4779         Delete the old process in vc-setup-buffer
4780         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
4781         process here.
4782         (vc-do-command): Rather than here (bug#20608).
4784 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
4786         Avoid gratuitous delete-dups in face-at-point.
4787         * lisp/faces.el (face-at-point): Do not compute the properly
4788         ordered, duplicate-free list if only a single value is
4789         requested anyway.  (Bug#20519)
4791         Show the exact C-x 8 RET invocation in describe-char.
4792         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
4793         invocation instead of a template.  (Bug#20522)
4795 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4797         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
4798         (package-menu--post-refresh): Call `tabulated-list-print' with the
4799         UPDATE argument.  This only affects the refresh action, the revert
4800         action still erases tags.
4801         (package-menu-get-status): Change `assq' to `assoc'.
4802         (package-menu--mark-upgrades-1): New function.
4803         (package-menu--mark-upgrades-pending): New variable.
4804         (package-menu-mark-upgrades): Use them to delay marking until
4805         after refresh is done.
4806         (package-menu--post-refresh): Call mark-upgrades-1 if
4807         mark-upgrades-pending is non-nil.
4809 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4811         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
4813 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4815         * lisp/isearch.el (isearch--current-buffer): New var
4816         (isearch-update): Set cursor-sensor-inhibit here.
4817         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
4819         Change inhibit-point-motion-hooks to t
4820         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
4821         to t and document it as obsolete.
4823 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
4825         Support ZIP files that use Zip64 extensions
4826         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
4827         format of central directory offsets used by Zip64 extensions.
4828         (Bug#20665)
4830 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4832         New test tramp-test30-make-auto-save-file-name
4833         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
4834         (tramp-test31-special-characters)
4835         (tramp-test31-special-characters-with-stat)
4836         (tramp-test31-special-characters-with-perl)
4837         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
4838         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
4839         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
4840         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
4842         Improve tramp-handle-make-auto-save-file-name
4843         * tramp.el (tramp-auto-save-directory): Add :tags.
4844         (tramp-handle-make-auto-save-file-name): Let native
4845         `make-auto-save-file-name' use `auto-save-file-name-transforms',
4846         if `tramp-auto-save-directory' is not set.
4848 2015-05-27  Glenn Morris  <rgm@gnu.org>
4850         No longer set dired-directory in eshell.  (Bug#16477)
4851         * lisp/eshell/esh-mode.el (eshell-mode):
4852         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
4854         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
4856         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
4857         * lisp/progmodes/cc-mode.el (c-mode-help-address):
4858         Change to submit@debbugs.
4859         (c-mode-bug-package): New constant.
4860         (mail-position-on-field): Declare.
4861         (c-submit-bug-report): Insert X-Debbugs-Package header.
4862         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
4863         Mention debbugs.gnu.org.
4865 2015-05-26  Glenn Morris  <rgm@gnu.org>
4867         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
4868         (rmail-summary-by-recipients, rmail-summary-by-topic)
4869         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
4870         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
4872 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4874         Handle curved quotes in info files
4875         * lisp/calc/calc-help.el (calc-describe-thing):
4876         * lisp/info.el (Info-find-index-name)
4877         (Info-try-follow-nearest-node, Info-fontify-node):
4878         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4879         In info files, process quotes ‘like this’ the same way we process
4880         quotes `like this'.  This catches a few places we missed earlier.
4882 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
4884         xref-prompt-for-identifier: Use a list value
4885         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
4886         value, to be interpreted as a list of commands.
4887         (xref--prompt-p): New function.
4888         (xref--read-identifier): Use it.
4890 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
4892         Teach MS-Windows font back-end return per-glyph ascent/descent
4893         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
4894         values.
4895         * src/w32font.c (w32font_text_extents): Compute, cache, and
4896         accumulate per-glyph ascent and descent values, instead of copying
4897         global values from the font.  If the values are not available from
4898         the font data, i.e., non-TTF fonts, fall back on font-global values.
4899         (compute_metrics): Compute and return per-glyph ascent and descent
4900         values, if returned by GetGlyphOutlineW, falling back on
4901         font-global values.  (Bug#20628)
4902         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
4903         height of rectangle to be drawn, to be compatible with
4904         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
4905         box, when per-glyph ascent/descent values are used.
4907 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
4909         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
4910         (tabulated-list-print): Don't sort if sorter is nil
4912 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
4914         Fix Bug#20621
4915         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
4916         are major modes which set `auto-save-mode' on their own rules;
4917         Tramp shall not overwrite such settings.
4918         (Bug#20621)
4920 2015-05-26  Glenn Morris  <rgm@gnu.org>
4922         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
4923         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
4924         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
4925         Doc updates.
4926         (vc-dir-mode): Remove unnecessary autoload.
4928 2015-05-25  Philipp Stephani  <phst@google.com>
4930         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
4931         (xterm--extra-capabilities-type): Add `getSelection'.
4932         (xterm--query): Add `no-async' argument.
4933         (xterm--init-activate-get-selection): New function.
4934         (terminal-init-xterm): Use it.
4935         (xterm--init-modify-other-keys): Rename from
4936         terminal-init-xterm-modify-other-keys.
4937         (xterm--init-bracketed-paste-mode): Rename from
4938         terminal-init-xterm-bracketed-paste-mode.
4939         (xterm--init-activate-set-selection): Rename from
4940         terminal-init-xterm-activate-set-selection.
4941         (xterm--selection-char): New function.
4942         (gui-backend-set-selection): Use it.  Use the &context to only apply
4943         this method in terminals where we enabled the feature.
4944         (gui-backend-get-selection): New method.
4946 2015-05-25  Daniel Colascione  <dancol@dancol.org>
4948         Add C-language keyword constants to C++
4949         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
4950         keyword constants to C++.
4952 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4954         Make TAGS files more portable to MS-Windows
4955         * etc/NEWS: Document this.
4956         * lib-src/etags.c (readline_internal) [DOS_NT]:
4957         Don't treat CRs differently from GNUish hosts.
4958         * lisp/progmodes/etags.el (etags-goto-tag-location):
4959         Adjust STARTPOS to account for the skipped CRs in dos-style files.
4961 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4963         Improve fix of debbugs:20634 in tramp-sh.el
4965 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4967         Fix a typo in last commit
4968         * lib-src/etags.c (C_entries): Fix a typo.
4969         * test/etags/ETAGS.good_1:
4970         * test/etags/ETAGS.good_2:
4971         * test/etags/ETAGS.good_3:
4972         * test/etags/ETAGS.good_4:
4973         * test/etags/ETAGS.good_5:
4974         * test/etags/CTAGS.good: Update due to the change in etags.c.
4976         Fix tagging of class members in C-like OO languages
4977         * lib-src/etags.c (longopts): Add new option --class-qualify and
4978         its shorthand -Q.
4979         (print_help): Add help text for --class-qualify.
4980         (main): Add handling of -Q.
4981         (consider_token, C_entries) <omethodparm>: Append argument types
4982         to Objective C methods only if --class-qualify was specified.
4983         Qualify C++, Objective C, and Java class members with their class
4984         names only if --class-qualify was specified.
4985         (C_entries): If --class-qualify was not specified, remove the
4986         namespace and class qualifiers from tag names of C++ methods.
4987         This allows to use etags.el as xref back-end without the
4988         tag-symbol-match-p method, which greatly increases the number of
4989         potentially false positives.  (Bug#20629)
4990         * doc/man/etags.1: Update to document the new --class-qualify
4991         option.
4992         * test/etags/ETAGS.good_1:
4993         * test/etags/ETAGS.good_2:
4994         * test/etags/ETAGS.good_3:
4995         * test/etags/ETAGS.good_4:
4996         * test/etags/ETAGS.good_5:
4997         * test/etags/CTAGS.good: Update due to changes in etags.c.
4999 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
5001         (cl-generic-define-method): Side effects are evil (bug#20644)
5002         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
5003         cons-cells that might be used as keys in an `equal' hash-table.
5005 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
5007         Make erc timestamps visible again
5008         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
5009         timestamps visible again (if requested).
5011 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
5013         Fix last change in etags.c that broke tagging compresed files
5014         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
5015         quoting of decompression shell command for MS-Windows/MS-DOS.
5017 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
5019         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
5020         (Bug#20639)
5022 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
5024         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
5026 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
5028         Fix IPv6 addresses in Tramp
5029         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
5030         Add sqare brackets around host name.
5032 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
5034         Inhibit `epa-file-handler' in Tramp
5035         (Bug#20634)
5036         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
5037         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
5038         `epa-file-handler'.
5040 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5042         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
5043         (pcase-let): Document the behavior in case the pattern doesn't match.
5045 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
5047         * lisp/emacs-lisp/tabulated-list.el: New optional print method
5048         (tabulated-list-print): New optional argument, UPDATE.  If
5049         non-nil, the list is printed by only adding and deleting the
5050         changed entries, instead of erasing the whole buffer.  This method
5051         is much faster when few or no entries have changed.
5052         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
5053         * etc/NEWS: Document it.
5055         * lisp/emacs-lisp/tabulated-list.el: Improve printing
5056         (tabulated-list--get-sorter): New function.
5057         (tabulated-list-print): Restore window-line when remember-pos is
5058         passed and optimize away the `nreverse'.
5060 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
5062         Simpilify etags TEX mode scanning
5063         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
5064         Remove static vars.
5065         (TeX_commands): Deduce escapes here instead.
5066         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
5067         This removes the need for a reset_input call.
5069         Improve etags I/O error reporting
5070         * lib-src/etags.c:
5071         Don't include sys/types.h and sys/stat.h; no longer needed.
5072         (infilename): New static var.
5073         (process_file_name): Don't call 'stat'.  Instead, just open the
5074         file for reading and report any errors.  Don't bother making
5075         a copy of the file argument; it's not needed.  Be more careful to
5076         use the failing errno when reporting an error.
5077         Quote the real name better (though no perfectly)
5078         when passing it to the shell.
5079         (reset_input): New function, which reports I/O errors.
5080         All uses of 'rewind' changed to use this function.
5081         (perhaps_more_input): New function, which also checks for
5082         I/O errors.  All uses of 'feof' changed to use this function.
5083         (analyze_regex): Report an error if fclose fails.
5084         (readline_internal): Report an error if getc fails.
5085         (etags_mktmp): Return an error if close fails.
5087         etags.c: avoid side effects in 'if'
5088         * lib-src/etags.c (process_file_name, Perl_functions)
5089         (TEX_decode_env): Hoist side effects into previous statement.
5091         .gitignore tweaks
5092         * .gitignore: Ignore all *.stamp files.  Sort.
5093         Ignore [0-9]*.txt (commonly used name for git patches)
5094         and /vc-dwim-log-* (vc-dwim temporary).
5096 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
5098         Fix last change in etags.c, which failed the test suite
5099         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
5100         before the last change.
5102 2015-05-23  Glenn Morris  <rgm@gnu.org>
5104         Remove charset map files from repository, generate in first bootstrap
5105         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
5106         (all): Create the stamp file.
5107         (extraclean): Delete the stamp file.
5108         * src/Makefile.in (lispintdir, charsets): New variables.
5109         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
5110         New rules.
5111         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
5112         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
5113         * etc/charsets/*.map: Remove from repository.
5115 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5117         Cleanup etags.c to use locale-independent code
5118         Although this doesn't alter behavior (as etags doesn't use
5119         setlocale), the new version is more clearly locale-independent and
5120         the executable is a bit smaller on my platform.
5121         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
5122         Include <c-ctype.h> instead of <ctype.h>.
5123         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
5124         (begtk, midtk):
5125         Remove; no longer needed.
5126         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
5127         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
5128         c_islower, c_tolower, respectively.
5129         (notinname, begtoken, intoken, endtoken): Rewrite as functions
5130         instead of macros, and initialize the tables at compile-time
5131         rather than at run-time.
5133         Put default action first in src/Makefile
5134         * src/Makefile.in (all): Put this rule before lisp.mk.
5135         That way, plain 'make' works in the src directory again.
5137 2015-05-23  Glenn Morris  <rgm@gnu.org>
5139         * Makefile.in: Fix extraclean rule.
5140         (extraclean_dirs): New.
5141         (extraclean): Use it.
5143 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5145         Avoid compiler warning in image.c on MS-Windows
5146         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
5147         warning in image.c.
5149 2015-05-23  Glenn Morris  <rgm@gnu.org>
5151         Fix --without-toolkit-scroll-bars builds.
5152         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
5153         Add new argument to x_clear_area1.
5154         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
5155         Update x_clear_area arguments.
5157         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
5158         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
5159         Change to included version.
5160         (LOCAL, local, totalclean): Remove.
5161         (extraclean): Delete all generated files.
5163 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
5165         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
5167         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
5169         tags-completion-at-point-function: Don't trust the find-tag function
5170         * lisp/progmodes/etags.el (tags-completion-at-point-function):
5171         Don't trust the find-tag function.
5173 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5175         Pacify --enable-gcc-warnings
5176         * src/frame.h (x_query_color): Remove redundant extern decl.
5177         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
5178         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
5179         (ftcrfont_text_extents, ftcrfont_draw):
5180         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
5181         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
5182         (x_ins_del_lines, frame_highlight, frame_unhighlight)
5183         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
5184         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
5185         (x_update_window_begin, x_connection_closed)
5186         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5187         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5188         (*x_gc_get_ext_data, x_extension_initialize)
5189         (x_cr_accumulate_data):
5190         Remove redundant static decl.  Many of these GCC doesn't complain
5191         about, but we might as well clean out the duplication while we're
5192         in the neighborhood.
5193         * src/xterm.c (x_fill_trapezoid_for_relief):
5194         Remove decl of nonexistent function.
5196 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
5198         Replace gui-method macros with cl-generic with &context
5199         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
5200         (gui-method-declare, gui-call): Remove.
5201         (frame-creation-function): Use cl-defgeneric.
5202         (make-frame): Adjust callers.
5203         * lisp/menu-bar.el (menu-bar-edit-menu):
5204         Use gui-backend-selection-exists-p.
5205         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
5206         (gui-backend-get-selection): New cl-generic to replace
5207         gui-get-selection method.
5208         (gui-backend-set-selection): New cl-generic to replace
5209         gui-set-selection method.
5210         (gui-selection-owner-p): New cl-generic to replace
5211         gui-selection-owner-p method.
5212         (gui-backend-selection-exists-p): New cl-generic to replace
5213         gui-selection-exists-p method.  Adjust all callers.
5214         * lisp/server.el (server-create-window-system-frame): Don't ignore
5215         window-system spec even when unsupported.
5216         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
5217         * lisp/startup.el (handle-args-function, window-system-initialization):
5218         Use cl-defgeneric.
5219         (command-line): Adjust calls accordingly.
5220         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
5221         a window-system-initialization method.
5222         (handle-args-function, frame-creation-function): Use cl-defmethod.
5223         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5224         (gui-get-selection): Use cl-defmethod on the new functions instead.
5225         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
5226         a gui-backend-get-selection method.
5227         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
5228         Use cl-defmethod on the new functions instead.
5229         (msdos-window-system-initialization): Turn into
5230         a window-system-initialization method.
5231         (frame-creation-function, handle-args-function): Use cl-defmethod.
5232         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
5233         a window-system-initialization method.
5234         (handle-args-function, frame-creation-function): Use cl-defmethod.
5235         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5236         (gui-get-selection): Use cl-defmethod on the new functions instead.
5237         * lisp/term/x-win.el (x-window-system-initialization): Turn into
5238         a window-system-initialization method.
5239         (handle-args-function, frame-creation-function): Use cl-defmethod.
5240         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5241         (gui-get-selection): Use cl-defmethod on the new functions instead.
5242         * lisp/term/xterm.el (xterm--set-selection): Turn into
5243         a gui-backend-set-selection method.
5244         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
5245         (Fns_selection_owner_p): Remove unused arg `terminal'.
5246         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
5248 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5250         Revert "Fix etags Bug#20629 that broke C++ support."
5251         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
5253 2015-05-23  Jan D  <jan.h.d@swipnet.se>
5255         Fix etags Bug#20629 that broke C++ support.
5256         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
5257         from Sun May 10 (Bug#20629).
5259         Merge branch 'cairo'.
5260         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
5261         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
5263         Merge branch 'master' into cairo
5265         Fixes to compile cairo branch without cairo.
5266         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
5267         first argument.
5268         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
5269         USE_CAIRO.
5271 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
5273         * lisp/emacs-lisp/package.el: Always update selected-packages
5274         (package--update-selected-packages): New function.
5275         (package-menu-execute): Use it before starting the transaction,
5276         this way the list of selected packages is updated even when the
5277         transaction fails.
5278         (package-menu--perform-transaction): Don't edit selected-packages.
5280 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5282         Fix etags reading of compressed files
5283         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
5284         Include fcntl.h, for O_CLOEXEC.
5285         (process_file_name): Don't use 'popen', whose streams cannot be
5286         rewound.  Instead, uncompress the file to a temporary file,
5287         created by 'etags_mktmp', and read from that as usual.
5288         (etags_mktmp): New function.
5289         * test/etags/ETAGS.good_1:
5290         * test/etags/ETAGS.good_2:
5291         * test/etags/ETAGS.good_3:
5292         * test/etags/ETAGS.good_4:
5293         * test/etags/ETAGS.good_5: Update to be consistent with latest
5294         changes in etags.c regarding reading compressed files.
5296         Improve documentation of 'set-fontset-font'
5297         * doc/lispref/display.texi (Fontsets): Document the value of nil
5298         for the 3rd argument of 'set-fontset-font'.
5300         Fix documentation of forward-line
5301         * src/cmds.c (Fforward_line): Clarify the return value if the line
5302         at end of accessible portion of the buffer has no newline.
5303         * doc/lispref/positions.texi (Text Lines): Document what happens
5304         if the line at end of accessible portion of buffer has no newline.
5305         (Bug#20587)
5307 2015-05-22  Glenn Morris  <rgm@gnu.org>
5309         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
5311         * admin/charsets/mapconv (LC_ALL): Set to C.
5313         * Makefile.in: Add admin/charsets into top-level clean rules.
5314         (clean): Add admin/charsets.
5315         (maybeclean_dirs): New variable.
5316         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
5318         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
5320 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
5322         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
5324 2015-05-22  Glenn Morris  <rgm@gnu.org>
5326         Generate admin/charsets Makefile via configure, and make more portable.
5327         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
5328         (admin/charsets/Makefile): Generate it.
5329         * admin/charsets/Makefile.in: Rename from Makefile.
5330         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
5331         New variables, set by configure.
5332         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
5333         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
5334         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
5335         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
5336         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
5337         (all): Declare PHONY.
5338         (local): New PHONY target.
5339         (map_template): New template.  Use to define short PHONY aliases.
5340         (*.map): Add directory prefixes to targets and prerequisites.
5341         Respect make verbosity.
5342         (JISC6226.map): Replace non-portable sed append without newline.
5343         (install): Remove rule.
5344         (clean): Only delete temporary sedscript.
5345         (bootstrap-clean, distclean, maintainer-clean, extraclean)
5346         (totalclean): New PHONY rules.
5347         * admin/charsets/mapconv (BASE): Replace basename with expr.
5348         (FILE): Add "mapfiles" subdirectory.
5349         (AWK): New variable.  Use throughout in place of "awk".
5350         (main): Use "gunzip -c" in place of "zcat".
5351         Don't leave whitespace before "p", for older sed.
5352         * admin/charsets/mapfiles/PTCP154: Add final newline,
5353         to make older sed versions happy.
5355 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
5357         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
5358         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
5359         (auto-revert-notify-watch-descriptor): Use defvar-local.
5360         (find-file-hook, auto-revert-tail-mode, )
5361         (auto-revert-notify-add-watch): Use setq-local.
5362         (auto-revert-notify-add-watch): Don't call make-local-variable on
5363         kill-buffer-hook (bug#20601).
5365 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
5367         Change defgeneric so it doesn't completely redefine the function
5368         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
5369         previously defined methods.
5370         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
5371         (cl--generic-prefill-dispatchers): Only define during compilation.
5372         (cl-method-qualifiers): Remove redundant alias.
5373         (help-fns-short-filename): Silence byte-compiler.
5374         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
5376 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
5378         (package-menu-execute): Remove reference to remove-dups
5380 2015-05-21  kwhite  <kwhite@gnu.org>
5382         * lisp/erc/erc.el: Hide network/channel messages
5383         (erc-network-hide-list, etc-channel-hide-list): New lists to define
5384         message types per network/channel.
5385         (erc-add-targets): New function to parse list of targets
5386         (erc-hide-current-message-p): Modified to check for new targets
5388 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5390         Don't quote nil and t in doc strings
5391         This is as per "Tips for Documentation Strings" in the elisp manual.
5392         For consistency, do the same in diagnostics and comments.
5394 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
5396         Fix a minor problem with mouse-face on mode line
5397         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
5398         mouse face also if the mouse pointer hovers above mode-line glyphs
5399         that don't come from any Lisp string.  (Bug#20620)
5401 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
5403         * lisp/emacs-lisp/package.el: Fix selected-package logic
5404         (package-menu-execute): Mark as selected all non-upgrade packages
5405         being installed.
5406         (package-menu--perform-transaction): Don't mark anything.
5408         * lisp/emacs-lisp/package.el: Mode-line progress report
5409         (package-menu--transaction-status): New variable.
5410         (package-menu-mode, package-menu--perform-transaction): Use it.
5412         * lisp/emacs-lisp/package.el: Better transaction messages
5413         (package-menu--partition-transaction): New function.
5414         (package-menu--prompt-transaction-p, package-menu-execute): Use
5415         it.
5416         (package-menu--perform-transaction): Don't do any messaging.
5418         * lisp/emacs-lisp/package.el: Revert async package transactions
5419         (package-menu-async): Update doc.
5420         (package-install-from-archive, package-download-transaction)
5421         (package-install, package-menu--perform-transaction)
5422         (package-menu-execute): Remove asynchronous functionality.
5424 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5426         Revert doc string changes to f90.el
5427         Problem reported by Glenn Morris in:
5428         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
5429         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
5430         Revert recent changes to doc strings, as it's intended that they
5431         use grave accent, not quote.
5433 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
5435         Improve parameter name
5437         Add new inline function `hash-table-empty-p'
5439 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
5441         Don't require help-fns when not needed
5442         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
5443         * lisp/emacs-lisp/elint.el:
5444         Don't require help-fns at the top level.
5445         * lisp/emacs-lisp/advice.el (ad-arglist):
5446         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
5447         Don't require help-fns.  (Bug#17001)
5449 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
5451         Fix slash collapsing in etags on MS-Windows
5452         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
5453         MS-Windows code from the Posix code, and support collapsing both
5454         forward- and back-slashes on MS-Windows.  Fixes a regression found
5455         by the test suite.
5457         Improve documentation of glyphless-char-display
5458         * doc/lispref/display.texi (Glyphless Chars): Improve
5459         documentation of glyphless character display.
5461         Fix "acronym" display of glyphless characters on w32
5462         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
5463         ignore "acronym" substitutes of 1 character for glyphless characters.
5465 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
5467         Add an automated test for let-when-compile
5468         * test/automated/subr-tests.el (let-when-compile): New test.
5470         Add let-when-compile macro instead of using pcase-let
5471         * lisp/subr.el (let-when-compile): New let-like macro that makes its
5472         bindings known to macros like `eval-when-compile' in the body.
5473         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
5474           `let-when-compile'. Also comment out the unused lexical var
5475           `el-kws-re'.
5476         The change greatly improves readability, while providing almost the
5477         same (even shorter) byte code: instead of pre-evaluating 10 variables,
5478         tossing them into a list, and destructuring that list a full screen
5479         page later, the variables are simply bound as they are evaluated,
5480         wrapped individually in `eval-when-compile'.
5482 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
5484         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
5485         (package-delete-button-action): New function.
5486         (describe-package-1): Add Delete button.
5488         * lisp/emacs-lisp/package.el: Better dependency description
5489         (package--used-elsewhere-p): New optional arg, ALL, and return
5490         package-desc objects instead of names.
5491         (package-delete): Update accordingly.
5492         (describe-package-1): Describe which packages require the package.
5494 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
5496         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
5497         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
5498         Fix doc-string (Bug#20533).
5500         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
5501         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
5502         (switch-to-buffer): If the selected window is strongly dedicated
5503         to its buffer, signal error before prompting for buffer name.  Handle
5504         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
5505         * doc/lispref/windows.texi (Switching Buffers): Document
5506         `switch-to-buffer-in-dedicated-window'.
5508 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5510         Prefer "this" to “this” in doc strings
5511         This mostly just straightens quotes introduced in my previous patch.
5512         Suggested by Dmitry Gutov in:
5513         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
5514         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
5515         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
5516         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
5517         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
5518         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
5519         Prefer straight double quotes to curved double quotes in doc strings.
5521         Fix minor quoting problems in doc strings
5522         These were glitches regardless of how or whether we tackle the
5523         problem of grave accent in doc strings.
5524         * lisp/calc/calc-aent.el (math-restore-placeholders):
5525         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
5526         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
5527         * lisp/leim/quail/hebrew.el ("hebrew-new")
5528         ("hebrew-biblical-sil"):
5529         * lisp/leim/quail/thai.el ("thai-kesmanee"):
5530         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
5531         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
5532         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
5533         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
5534         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
5535         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
5536         (semantic-tag-components):
5537         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
5538         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
5539         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
5540         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
5541         * lisp/emacs-lisp/generator.el (iter-next):
5542         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
5543         (gnus-article-mode-syntax-table):
5544         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
5545         * lisp/net/soap-client.el (soap-wsdl-get):
5546         * lisp/net/telnet.el (telnet-mode):
5547         * lisp/org/org-compat.el (org-number-sequence):
5548         * lisp/org/org.el (org-remove-highlights-with-change)
5549         (org-structure-template-alist):
5550         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
5551         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
5552         (handwrite-12pt, handwrite-13pt):
5553         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
5554         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
5555         * lisp/progmodes/verilog-mode.el (verilog-tool)
5556         (verilog-string-replace-matches, verilog-preprocess)
5557         (verilog-auto-insert-lisp, verilog-auto-insert-last):
5558         * lisp/textmodes/makeinfo.el (makeinfo-options):
5559         * src/font.c (Ffont_spec):
5560         Fix minor quoting problems in doc strings, e.g., missing quote,
5561         ``x'' where `x' was meant, etc.
5562         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
5563         Fix minor quoting problem in other string.
5564         * lisp/leim/quail/ethiopic.el ("ethiopic"):
5565         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
5566         Omit unnecessary quotes.
5567         * lisp/faces.el (set-face-attribute, set-face-underline)
5568         (set-face-inverse-video, x-create-frame-with-faces):
5569         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
5570         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
5571         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
5572         * lisp/net/tramp.el (tramp-methods):
5573         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
5574         * lisp/textmodes/artist.el (artist-ellipse-right-char)
5575         (artist-ellipse-left-char, artist-vaporize-fuzziness)
5576         (artist-spray-chars, artist-mode, artist-replace-string)
5577         (artist-put-pixel, artist-text-see-thru):
5578         * lisp/vc/ediff-util.el (ediff-submit-report):
5579         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
5580         Use double-quotes rather than TeX markup in doc strings.
5581         * lisp/skeleton.el (skeleton-pair-insert-maybe):
5582         Reword to avoid the need for grave accent and apostrophe.
5583         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
5584         Don't use grave and acute accents to quote.
5586 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
5588         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
5590 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5592         Try to port new etags tests to MS-Windows
5593         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5594         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5595         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5596         Adjust to test-case changes below.
5597         * test/etags/Makefile (CSRC): Remove dostorture.c.
5598         Whatever it was trying to test, wasn't working portably.
5599         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
5600         just a line-ending problem.
5601         * test/etags/c-src/dostorture.c: Remove.
5602         * test/etags/cp-src/c.C: Remove stray CR.
5603         * test/etags/html-src/algrthms.html: Remove trailing CRs.
5604         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
5605         but if someone edits it later it should stay UTF-8-compatible.
5607 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
5609         Fix display of overlapping window-specific overlays
5610         * src/keyboard.c (adjust_point_for_property): When adjusting point
5611         due to display strings, ignore overlays that are specific to
5612         windows other than the currently selected one.
5613         * src/xdisp.c (handle_single_display_spec): If the display
5614         property comes from an overlay, arrange for buffer iteration to
5615         resume only after the end of that overlay.  (Bug#20607)
5617 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
5619         New command icomplete-force-complete-and-exit
5620         * lisp/icomplete.el (icomplete-force-complete-and-exit):
5621         New command
5622         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
5623         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
5624         (icomplete-minibuffer-map): Bind C-j to it.
5625         (icomplete-forward-completions, icomplete-backward-completions):
5626         Mention the new command in the docstring.
5627         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
5628         the previous fix for bug#17545.
5630 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
5632         Fix last commit
5634         In Elisp manual explain how to override window manager positioning (Bug#20552)
5635         * doc/lispref/frames.texi (Position Parameters): Give example of
5636         how to override a window manager positioning decision.
5638         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
5639         * src/frame.c (Fdelete_frame): In doc-string mention that frame
5640         can't be deleted if it has a surrogate minibuffer.
5641         * doc/lispref/frames.texi (Minibuffers and Frames)
5642         (Deleting Frames): Explain "surrogate minibuffer frames".
5644         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
5645         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
5647 2015-05-18  Glenn Morris  <rgm@gnu.org>
5649         Add option to ignore commit lines matching a pattern in ChangeLog.
5650         * build-aux/gitlog-to-changelog: Add --ignore-line option.
5651         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
5653 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
5655         Don't skip new etags tests on non-UTF-8 hosts
5656         Problem reported by Eli Zaretskii for MS-Windows.
5657         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
5658         (LC_ALL): Set to C if the current locale isn't UTF-8.
5659         (.PHONY): Remove ediff_1 thru ediff_5.
5660         (check): Always run.
5662 2015-05-18  Glenn Morris  <rgm@gnu.org>
5664         * lisp/calculator.el (calculator-funcall):
5665         * lisp/textmodes/artist.el (artist-spray-random-points):
5666         Use standard degree/radian conversion utilities.
5668         Further lisp-complete-symbol related cleanup.
5669         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
5670         Unadvertise non-functional argument.  Replace obsolete alias.
5672 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5674         Add a test case for Maven warning ouput
5675         * test/automated/compile-tests.el
5676         (compile-tests--test-regexps-data): Add a case for Maven warning
5677         ouput.
5678         (compile--test-error-line): Check the compilation message type, if
5679         it's specified in the test data.
5681 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
5683         Update Maven compilation-mode entry to distinguish warnings
5684         * lisp/progmodes/compile.el
5685         (compilation-error-regexp-alist-alist): Update Maven entry to
5686         distinguish warnings (bug#20556).
5688 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
5690         * test/automated/sgml-mode-tests.el: New file.
5692 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5694         Improve handling of the first Git revision
5695         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
5696         there's no next entry, delete until the end of the buffer.
5697         (log-view-end-of-defun-1): Stop at eob.
5698         * lisp/vc/vc-annotate.el
5699         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
5700         when previous-revision is nil.
5701         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
5702         with `--' to avoid ambiguity.
5703         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
5704         returned revision string.
5705         (vc-git-annotate-time): Expect `^' before the first revision.
5706         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
5707         REV1 is nil, and REV2 is not.
5708         * lisp/vc/vc.el: Update the description of the `diff' function.
5710 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
5712         Allow checkdoc to be called in batch
5713         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
5714           is non-nil, echo the error with `warn'.
5715         How it can be used in -batch:
5716         (with-current-buffer (find-file "checkdoc.el")
5717           (checkdoc-current-buffer t))
5719 2015-05-18  Glenn Morris  <rgm@gnu.org>
5721         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
5723 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5725         * admin/notes/unicode: New section "binary files".
5727         Change new etags test to use UTF-8 encoding
5728         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5729         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5730         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5731         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
5732         * test/etags/html-src/softwarelibero.html:
5733         Switch to UTF-8 encoding.
5734         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
5735         Remove Makefile, as it's too incestuous to have the test input
5736         include the build procedure.
5737         (UTF8_LOCALE, UTF_ENCODING): New macros.
5738         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
5739         (check): Skip if not UTF-8.
5740         (.PHONY): New rule.
5741         (FRC): Remove, as superseded by .PHONY.  All uses removed.
5742         (regexfile): Prefer printf to echo when outputting oddball chars.
5743         (.PRECIOUS): Remove, as these files are not built.
5745         Rename 'foo-gzipped' to 'foo.gz'
5746         * test/automated/data/decompress/foo.gz:
5747         Rename from test/automated/data/decompress/foo-gzipped,
5748         to make it easier for other tools to tell that it's compressed.
5749         * test/automated/zlib-tests.el (zlib--decompress):
5750         Adjust to renamed file.
5752 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
5754         Set up default-directory
5755         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
5756         binding for `v'.
5757         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
5758         appropriate value for default-directory.
5760 2015-05-17  Samer Masterson  <samer@samertm.com>
5762         * lisp/eshell/em-term.el (eshell-term-sentinel):
5763         No-op by default, only kills term buffer if
5764         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
5765         (eshell-destroy-buffer-when-process-dies): New custom to preserve
5766         previous behavior.
5768         eshell: Introduce new buffer syntax
5769         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
5770         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
5771         needed (Bug#19319).
5772         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
5773         (eshell-get-target): Remove shorthand-specific code.
5774         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
5775         '#<buffer-name>'.
5777 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5779         Merge branch 'master' into cairo
5781 2015-04-26  Jan D  <jan.h.d@swipnet.se>
5783         Merge branch 'master' into cairo
5785         Add PBM support for cairo.
5786         * src/image.c (xcolor_to_argb32): New function.
5787         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
5788         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
5789         XImagePtr if ! USE_CAIRO.
5790         (pbm_load): Add cairo support.
5792 2015-04-12  Jan D  <jan.h.d@swipnet.se>
5794         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
5795         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
5796         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
5797         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
5798         x_free_cr_resources.
5800         Handle specified bg in images.  Use generic libpng code for PNG:s.
5801         * src/image.c (get_spec_bg_or_alpha_as_argb)
5802         (create_cairo_image_surface): New functions when USE_CAIRO.
5803         (xpm_load): Call the above functions.  Handle XPM without mask
5804         when USE_CAIRO.
5805         (png_load_body): Handle USE_CAIRO case.
5806         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
5807         instead.
5808         (jpeg_load_body): Call create_cairo_image_surface.
5809         (gif_load, svg_load_image): Handle specified background, call
5810         create_cairo_image_surface.
5811         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
5813 2015-04-11  Jan D  <jan.h.d@swipnet.se>
5815         Support GIF and Tiff with cairo.
5816         * configure.ac: Allow jpeg with cairo.
5817         Allow tiff and gif with cairo.
5818         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5819         (tiff_load): Create cairo image surface if USE_CAIRO.
5820         (gif_load): Ditto.
5822         Support JPEG with USE_CAIRO.
5823         * configure.ac: Allow jpeg with cairo.
5824         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5826 2015-04-05  Jan D  <jan.h.d@swipnet.se>
5828         Support RSVG and cairo.
5829         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
5830         * src/dispextern.h (struct image): add cr_data2 if cairo.
5831         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
5832         (x_clear_image): Free cr_data and cr_data2 if set.
5833         (xpm_load): Assign data to cr_data2.
5834         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
5836 2015-04-03  Jan D  <jan.h.d@swipnet.se>
5838         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
5839         * configure.ac (HAVE_RSVG): Move after cairo.
5840         (USE_CAIRO): Disable rsvg, don't disable Xpm.
5841         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
5842         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
5843         don't return early.
5844         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
5845         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
5846         and create a surface.
5848         Tool tips for menus did not show any text.
5849         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
5850         tip frames, the geometry may be wrong.
5852         Merge branch 'master' into cairo, fixes tooltips not shown.
5854         Merge branch 'master' into cairo
5856         Add CAIRO_CFLAGS to lwlib/Makefile.in
5857         * Makefile.in (CAIRO_CFLAGS): Add.
5859 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5861         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
5863 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5865         Draw outermost line using black relief and erase corners also for cairo.
5866         * xterm.c [USE_CAIRO]: Include math.h.
5867         (enum corners) [USE_CAIRO]: New enum.
5868         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
5869         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
5870         than 1, draw the outermost line using the black relief.
5872         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
5874 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5876         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
5878         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
5880         Use int instead of unsigned int for width and height args.
5881         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
5882         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
5883         width and height args.
5885         Modernize k&r cairo-related function declarations.
5886         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5887         (xg_print_frames_dialog): Modernize k&r declarations.
5888         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
5889         (Fx_print_frames_dialog): Modernize k&r declarations.
5890         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
5891         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
5892         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5893         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
5894         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
5895         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5896         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
5897         (x_clear_area): Modernize k&r declarations.
5899         Implement wave-style variant of underlining for cairo.
5900         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
5901         (x_draw_underwave) [USE_CAIRO]: Use it.
5903         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
5905 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5907         Fix fringe bitmap initialization for cairo.
5908         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
5909         cairo image surface.
5910         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
5912 2015-02-11  Jan D  <jan.h.d@swipnet.se>
5914         Add cairo drawing.
5915         * configure.ac (with-cairo): New option.
5916         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
5917         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
5918         Output "Does Emacs use cairo?".
5919         * lisp/version.el (emacs-version): Add cairo version.
5920         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
5921         (FONT_OBJ): Add comment about ftcrfont.
5922         (ALL_CFLAGS): Add CAIRO_CFLAGS.
5923         (LIBES): Add CAIRO_LIBS.
5924         * src/dispextern.h (struct image): Add cr_data for cairo.
5925         (x_cr_init_fringe): Declare.
5926         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
5927         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
5928         * src/fringe.c (x_cr_init_fringe): New function name that shares code
5929         with w32_init_fringe.
5930         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
5931         * src/ftfont.c (ftfont_info_size); New global variable.
5932         (ftfont_open2): New extern function almost the same as old ftfont_open,
5933         but takes the font_object as argument.
5934         (ftfont_open): Build font object and call ftfont_open2.
5935         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
5936         * src/gtkutil.c (xg_clear_under_internal_border)
5937         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
5938         queue_draw if not cairo.  Change args to x_clear_area.
5939         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
5940         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5941         (xg_print_frames_dialog): New functions for printing.
5942         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
5943         (xg_print_frames_dialog): Declare.
5944         * src/image.c: Add defined (USE_CAIRO) for PNG.
5945         Add !defined USE_CAIRO for W32 PNG code.
5946         (x_clear_image): If cairo, destroy the surface in cr_data.
5947         (png_load): Add new cairo compatible implementation.
5948         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
5949         * src/xfns.c: New section Printing.
5950         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
5951         (x-print-frames-dialog): New printing functions.
5952         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
5953         cairo.
5954         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
5955         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
5956         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
5957         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
5958         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
5959         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5960         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5961         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
5962         Declare.
5963         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
5964         (max_fringe_bmp, fringe_bmp): New variables.
5965         (x_gc_get_ext_data, x_extension_initialize)
5966         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
5967         (x_set_cr_source_with_gc_foreground)
5968         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5969         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
5970         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
5971         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
5972         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
5973         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
5974         (x_update_begin): Create cairo surface if needed.
5975         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
5976         (x_update_end): Paint cairo drawing surface to xlib surface.
5977         (x_clear_under_internal_border, x_after_update_window_line): Adjust
5978         arguments to x_clear_area.
5979         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
5980         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
5981         of XSetClipMask.
5982         (x_set_glyph_string_clipping)
5983         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
5984         instead of XSetClipRectangles.
5985         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
5986         x_fill_rectangle instead of XFillRectangle.
5987         (x_draw_glyph_string_foreground)
5988         (x_draw_composite_glyph_string_foreground)
5989         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
5990         of XDrawRectangle.
5991         (x_draw_relief_rect): Add code for USE_CAIRO.
5992         Call x_reset_clip_rectangles instead of XSetClipMask.
5993         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
5994         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
5995         instead of XSetClipMask.
5996         (x_draw_image_foreground, x_draw_image_foreground_1):
5997         x_draw_rectangle instead of XDrawRectangle.
5998         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
5999         XFillRectangle.
6000         (x_draw_image_glyph_string): If img has cr_data, use it as
6001         a cairo surface.
6002         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
6003         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
6004         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
6005         x_reset_clip_rectangles instead of XSetClipMask.
6006         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
6007         (x_clear_area1): New function that calls XClearArea.
6008         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
6009         non-cairo.
6010         (x_clear_frame): x_clear_window instead of XClearWindow.
6011         (x_scroll_run): Set frame garbaged if cairo.
6012         (XTmouse_position): Initialize *part to 0.
6013         (x_scroll_bar_create): Adjust arguments to x_clear_area.
6014         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
6015         x_fill_rectangle instead of XFillRectangle.
6016         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
6017         arguments to x_clear_area.
6018         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
6019         (handle_one_xevent): Adjust arguments to x_clear_area.
6020         Destroy cairo surface for frame if ConfigureNotify.
6021         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
6022         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
6023         x_reset_clip_rectangles instead of XSetClipMask.
6024         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
6025         x_reset_clip_rectangles instead of XSetClipMask.
6026         (x_clear_frame_area): Adjust arguments to x_clear_area.
6027         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
6028         (x_term_init): Call x_extension_initialize if cairo.
6029         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
6030         x_cr_destroy_fringe_bitmap for cairo.
6031         (x_initialize): Call x_cr_init_fringe for cairo.
6032         * src/xterm.h: Add include of cairo header files.
6033         (x_bitmap_record): Add img if cairo.
6034         (x_gc_ext_data): New struct for cairo.
6035         (x_display_info): Add ext_codes for cairo.
6036         (x_output): Add cr_context and cr_surface for cairo.
6037         (x_clear_area): Change arguments from Display*/Window to frame pointer.
6038         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
6039         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
6040         (x_cr_draw_frame, x_cr_export_frames): Declare.
6042 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
6044         Fix integer-valued `mouse-highlight' (Bug#20590)
6045         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
6047 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
6049         MS-Windows followup for ASCIIfication of curved quotes
6050         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
6051         test for curved quotes being displayable, after switching the
6052         terminal encoding.  (Bug#20545)
6054 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
6056         Spelling fixes
6058 2015-05-17  Jan D  <jan.h.d@swipnet.se>
6060         Add comment that x_shift_glyphs_for_insert is never called.
6061         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
6062         comment that this function is never called.
6064 2015-05-16  Glenn Morris  <rgm@gnu.org>
6066         * src/lisp.mk: Remove from repository and generate at build-time.
6067         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
6068         (shortlisp_filter): New variable.
6069         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
6070         (distclean): Remove lisp.mk.
6071         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
6072         * lisp/loadup.el: Tweak layout to make it easier to parse.
6073         * make-dist: Do not distribute src/lisp.mk.
6075 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
6077         Display shorter dates in Git annotate output
6078         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
6079         format (when not overridden with vc-git-annotate-switches).
6080         (vc-git-annotate-time): Support the short format, as well as ISO
6081         8601 that has been used until now (bug#5428).
6083 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6085         ASCIIfy curved quotes on displays lacking them
6086         * lisp/international/mule-cmds.el (set-locale-environment):
6087         If curved quotes don't work, display straight ASCII approximations
6088         (Bug#20545).
6090 2015-05-16  Glenn Morris  <rgm@gnu.org>
6092         Small src/Makefile simplification.
6093         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
6094         * src/Makefile.in (lisp): Derive from shortlisp.
6095         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
6097 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
6099         * lisp/help-mode.el (help-go-forward): Doc fix.
6100         (Bug#20577)
6102         * doc/lispref/debugging.texi (Profiling): Improve indexing.
6103         (Bug#20576)
6105 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
6107         Use `unless' to have one fewer `not'
6108         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
6109         have one fewer `not'.
6111         Remove redundant :group declarations from vc-git.el
6112         * lisp/vc/vc-git.el (vc-git-diff-switches)
6113         (vc-git-annotate-switches, vc-git-resolve-conflicts)
6114         (vc-git-program, vc-git-root-log-format): Remove the redundant
6115         :group declarations.
6117 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
6119         Removes the predicate from lisp-complete-symbol (Bug#20456)
6120         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
6121         and remove it from the docstring.
6123 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
6125         Add new option vc-git-resolve-conflicts
6126         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
6127         (vc-git-find-file-hook): Add to after-save-hook only when the
6128         above is non-nil.
6129         (vc-git-resolve-when-done): Update to honor the new variable.
6130         (Bug#20292)
6132 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
6134         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
6135         (tabulated-list-init-header): Document new behavior.
6136         (tabulated-list-print-fake-header): No nothing if
6137         `tabulated-list--header-string' is nil.
6138         (tabulated-list--header-string): Add a docstring.
6139         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
6140         * etc/NEWS: Document it.
6142 2015-05-15  Leo Liu  <sdl.web@gmail.com>
6144         Revert "Fix cps--gensym"
6145         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
6146           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
6148 2015-05-15  Glenn Morris  <rgm@gnu.org>
6150         Replace AC_SUBST_FILE in configure with include in Makefiles.
6151         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
6152         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
6153         (AUTO_DEPEND): New output variable.
6154         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
6155         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
6156         (lwlib_deps_frag): Replace by conditional include.
6157         * lwlib/autodeps.mk: Remove file.
6158         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
6159         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
6160         (oldxmenu_deps_frag): Replace by conditional include.
6161         * oldXMenu/autodeps.mk: Remove file.
6162         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
6163         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
6164         (lisp_frag): Replace by an include.
6165         (deps_frag): Replace by conditional include.
6166         * src/autodeps.mk: Remove file.
6168         Tweak japanese.el's loading of dependencies.
6169         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
6170         * lisp/language/japanese.el: Use require rather than load.
6171         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
6172         Provide a feature.
6173         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
6174         Provide a feature in the generated file.
6176 2015-05-15  Jan D  <jan.h.d@swipnet.se>
6178         Fix NS warnings.
6179         * nsmenu.m (ns_popup_dialog)
6180         * nsimage.m (initFromXBM:width:height:fg:bg:)
6181         * nsfns.m (Fx_create_frame): Remove unused variables.
6182         (Fns_read_file_name): Initialize fname, remove ret.
6183         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
6184         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
6185         variable.
6186         (init): Add parantesis in if.
6187         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
6189 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6191         Fix a enum conversion warning in macfont.m
6192         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
6193         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
6195 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
6197         Support de-alt dictionary with Aspell.
6198         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
6199         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
6201 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6203         cus-start.el: Add ns-confirm-quit.
6204         * cus-start.el: Add ns-confirm-quit.
6206         Fix warnings on OSX 10.10.
6207         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
6208         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
6209         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
6210         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
6211         * nsimage.m (allocInitFromFile, setPixmapData): Only call
6212         setScalesWhenResized for OSX < 10.6.
6213         * nsterm.h (EmacsScroller): Declare scrollerWidth.
6214         * nsterm.m (ns_copy_bits): New function that does not use deprecated
6215         NSCopyBits.
6216         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
6217         (runAlertPanel): New function.
6218         (applicationShouldTerminate:): Call runAlertPanel.
6219         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
6220         for OSX < 10.10.
6221         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
6222         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
6223         (draggingEntered:): Returns NSDragOperation.
6224         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
6226 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6228         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
6229         (package--init-file-ensured): New variable.
6230         (package-initialize, package--ensure-init-file): Use it.
6232 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6234         Honor :fore/background for XBM on NS (Bug#14969).
6235         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
6236         initFromXBM takes bg, fg args, remove flip arg.
6237         (ns_image_from_XBM): Add bg, fg args.
6238         * image.c (x_create_bitmap_from_data)
6239         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
6240         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
6241         Remove flip arg.
6242         (initFromSkipXBM): Move code to initFromXBM.
6243         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
6244         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
6245         false.
6246         Remove bit flipping (bitPat, swt), generated incorrect images when
6247         width/height wasn't a multiple of 8.
6248         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
6249         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
6250         flip arg.
6252 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6254         * lisp/emacs-lisp/package.el: Be more careful with the init file
6255         (package--ensure-init-file): Check that user-init-file is set,
6256         exists, is readable, and is writable.  (Bug#20584)
6257         Also expand the docstring.
6259 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
6261         Sync with upstream verilog-mode revision 6232468
6262         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
6263         (verilog-highlight-grouping-keywords): Fix use of face when
6264         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
6265         Pompa.
6266         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
6267         parent is reset, bug906. Reported by Ken Schmidt.
6268         (verilog-auto-inout-module): Add fourth regexp argument to
6269         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
6270         bug856. Reported by John Tillema.
6271         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
6272         modport if signal attachment is itself a modport.  Reported by
6273         Matthew Lovell.
6274         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
6275         always_comb and always_latch, bug844.  Reported by Greg Hilton.
6276         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
6277         with many curly-bracket pairs, bug663.
6278         (verilog-set-auto-endcomments): Fix end comments for functions of
6279         type void, etc.  Reported by Alex Reed.
6280         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
6281         caused by indent-line-to deleting tabls pre 24.5.
6282         (verilog-nameable-item-re): Fix nameable items that can have an
6283         end-identifier to include endchecker, endgroup, endprogram,
6284         endproperty, and endsequence.  Reported by Alex Reed.
6285         (verilog-label-be): When auto-commenting a buffer, consider
6286         auto-comments on all known keywords (not just a subset thereof).
6287         Reported by Alex Reed.
6288         (verilog-auto-end-comment-lines-re)
6289         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
6290         Automatically comment property/endproperty blocks to match other
6291         similar blocks like sequence/endsequence, function/endfunction,
6292         etc. Reported by Alex Reed.
6293         (verilog-set-auto-endcomments): Detect the function- or task-name
6294         when auto-commenting blocks that lack an explicit
6295         portlist. Reported by Alex Reed.
6296         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
6297         allow post-AUTO user fixups, bug826. Reported by Dennis
6298         Muhlestein.
6299         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
6300         is nil, fix indenting initial/final to match always statements,
6301         bug825. Reported by Tim Clapp.
6302         (verilog-extended-complete-re): Fix indentation of DPI-C imports
6303         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
6304         Mao and Jason Forkey.
6305         (verilog-read-decls): Fix parsing typed interfaces.  Fix
6306         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
6307         Fix localparam not being ignored in AUTOINSTPARAM,
6308         bug889. Reported by Shannon Hill.
6309         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
6310         bug793.  Reported by Pierre-David Pfister.
6311         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
6312         verilog-auto-arg-format to support newlines in AUTOARG. Reported
6313         by Jie Xiao.
6314         (verilog-batch-execute-func): Do not batch re-auto files loaded by
6315         Local Variables. Fix printing "no changes to be saved" with
6316         verilog-batch. Reported by Dan Dever.
6317         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
6318         interface-only modules, bug721.  Reported by Dean Hoyt.
6319         Author: Alex Reed <acreed4@gmail.com>
6320         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
6321         treat '<keyword>:<identifier>' as the start of a labeled
6322         statement, bug905.  Reported by Enzo Chi.
6323         (verilog-directive-re, verilog-compiler-directives)
6324         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
6325         directives (plus some extras) when determining indentation, bug
6326         901.  Reported by Bernd Beuster.
6327         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
6328         iff expression doesn't start with word-character, bug900.
6329         (verilog-optional-signed-range-re, verilog-optional-signed-re):
6330         Fix incorrect indentation/alignment of unsigned declarations,
6331         bug897.
6332         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
6333         always constructs, bug895.
6334         (verilog-calc-1): Fix verilog-mode constraint indentation,
6335         bug324. Reported by Eric Mastromarchi.
6336         (verilog-beg-of-statement): Fix indenting for some forms of
6337         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
6338         continued assignment incorrect if first line ends with ']',
6339         bug437. Reported by Dan Dever.  Fix indention of cover inside an
6340         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
6341         blocks, bug842.
6342         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
6343         bug859. Reported by Kaushal Modi.
6344         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
6345         (verilog-backward-token): Fix indenting sensitivity lists with
6346         named events, bug840.  Reed.
6347         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
6348         nil not honoring 'forever', 'foreach', and 'do' keywords.
6350 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6352         Check for invalid GTK+ monitor scales
6353         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
6354         INT_MAX for too-large scales.  All callers changed to assume the
6355         result is valid (Bug#20432).
6356         (xg_frame_set_char_size, xg_update_scrollbar_pos):
6357         Calculate scale only if needed.
6358         show ASCII approximations instead.
6360 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
6362         Fix daemon crashes when linum-mode is turned on early on
6363         * src/window.c (Fwindow_end): Don't try calling display engine
6364         functions on initial-frame frame.  (Bug#20565)
6366         Fix selective diff browsing in Ediff
6367         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
6368         beginning of the region before searching for the
6369         ediff-regexp-focus-* regexps.  (Bug#20568)
6371 2015-05-14  Jan D  <jan.h.d@swipnet.se>
6373         Fixes Bug#20142.
6374         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
6375         in the main loop, even for Gtk 3 (Bug#20142).
6377         Don't access display after i/o error (Bug#19147).
6378         * xterm.c (x_connection_closed): Add third arg ioerror.
6379         If ioerror, set display to 0 (Bug#19147).
6380         (x_error_quitter): Call x_connection_closed with third arg false.
6381         (x_io_error_quitter): Call x_connection_closed with third arg true.
6383         Handle GTK_SCALE, fixes Bug#20432.
6384         * gtkutil.c (xg_get_gdk_scale): New function.
6385         (xg_frame_set_char_size)
6386         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
6387         (xg_get_default_scrollbar_height)
6388         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
6389         when setting sizes (Bug#20432).
6391 2015-05-13  Leo Liu  <sdl.web@gmail.com>
6393         Fix cps--gensym
6394         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
6396 2015-05-13  Glenn Morris  <rgm@gnu.org>
6398         Fix bootstrap (void function cl-member).
6399         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
6400         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
6402 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6404         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
6405         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
6406         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
6407         Avoid defalias for closures which are not immutable.
6408         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
6409         dispatchers table with various entries.
6410         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
6411         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
6413 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
6415         Improve tagging of C bindings in DEFVAR_*
6416         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
6417         from DEFVAR_*.
6419 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
6421         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
6423 2015-05-12  Glenn Morris  <rgm@gnu.org>
6425         * lisp/progmodes/tcl.el (tcl-filter):
6426         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
6428         Add basic VC push support.
6429         * lisp/vc/vc.el (vc-push): New autoloaded command.
6430         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
6431         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
6432         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
6433         (vc-bzr-push): New.
6434         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
6435         (vc-git-pull): Reimplement using vc-git--pushpull.
6436         (vc-git-push): New.
6437         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
6438         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
6439         * doc/emacs/maintaining.texi (Pulling / Pushing):
6440         Rename from "VC Pull".  Mention pushing.
6441         (VC With A Merging VCS, VC Change Log): Update xrefs.
6442         (Branches): Update menu.
6443         * doc/emacs/emacs.texi: Update menu.
6444         * etc/NEWS: Mention this.
6446 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
6448         Improve the seq pcase pattern and the `seq-let' macro
6449         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
6450         object is a sequence, and binds each element of ARGS to the
6451         corresponding element of the sequence.
6453 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
6455         Fix tags created from DEFVAR_* declarations in C
6456         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
6457         to make tags extracted from DEFVAR_* declarations more accurate.
6459         Add a test suite for etags
6460         * test/etags/: New test suite, adapted from
6461         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
6462         whose original author is Francesco Potortì <pot@gnu.org>.
6464         Fix tagging of symbols in C enumerations
6465         * lib-src/etags.c (consider_token): Don't tag symbols in
6466         expressions that assign values to enum constants.  See
6467         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
6468         for details.
6469         (C_entries): Reset fvdef to fvnone after processing a preprocessor
6470         conditional and after a comma outside of parentheses.
6472 2015-05-12  Glenn Morris  <rgm@gnu.org>
6474         * lisp/url/url-handlers.el (url-file-name-completion)
6475         (url-file-name-all-completions): Silence compiler.
6477         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
6479         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
6481 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
6483         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
6484         (cl--generic-mandatory-args): Remove.
6485         (cl--generic-split-args): New function.
6486         (cl-generic-define, cl--generic-lambda): Use it.
6487         (cl-generic-define-method): Use it as well, and add support for
6488         context args.
6489         (cl--generic-get-dispatcher): Handle &context dispatch.
6490         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
6491         (cl--generic-dispatchers): Pre-fill.
6492         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
6494 2015-05-11  Glenn Morris  <rgm@gnu.org>
6496         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
6498 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6500         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
6501         * lisp/term/rxvt.el: Require term/xterm.
6502         (rxvt-function-map): Use xterm-rxvt-function-map.
6503         (rxvt-standard-colors): Move before first use.
6504         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
6505         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
6506         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
6507         Move shared bindings between rxvt and xterm to it.
6508         (xterm-function-map): Use it.  Move the xterm-paste binding to
6509         xterm-rxvt-function-map (bug#20444).
6510         (xterm-standard-colors): Move before first use.
6511         (xterm--push-map): New function.
6512         (xterm-register-default-colors): Take standard colors as argument.
6513         (terminal-init-xterm): Use it.  Adjust call to
6514         xterm-register-default-colors.
6516 2015-05-11  Glenn Morris  <rgm@gnu.org>
6518         * lisp/term/x-win.el: Quieten --without-x compilation.
6519         (x-own-selection-internal, x-disown-selection-internal)
6520         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
6521         Declare.
6523         * Makefile.in (emacslog): Remove srcdir.
6524         (ChangeLog): Update for the above.
6526 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6528         Spelling fix
6530 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6532         python.el: better limit for looking-back calls
6533         * lisp/progmodes/python.el (python-shell-accept-process-output):
6534         Use last comint prompt start as limit for looking-back.
6536 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
6538         CEDET (srecode-insert-fcn): Fix use of oref on a class
6539         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
6540         a class.  Reported by Pierre Lorenzon.
6541         (srecode-template-inserter-point): Remove declaration.
6543         CEDET (srecode-create-dictionary): Avoid obsolete object name
6544         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
6545         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
6547 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6549         C-x 8 shorthands for curved quotes, Euro, etc.
6550         Although C-x 8 lets you insert arbitrary Unicode characters,
6551         it's awkward to use this to insert commonly used symbols such as curved
6552         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
6553         characters commonly found in English text and in basic math.
6554         For example, assuming the Alt key works on your keyboard and iso-transl
6555         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
6556         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
6557         (Bug#20499)
6558         * doc/emacs/mule.texi (Unibyte Mode):
6559         A few other printing characters now work too.
6560         * etc/NEWS: Document this.
6561         * lisp/international/iso-transl.el (iso-transl-char-map):
6562         Also support the following characters:
6563         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
6565 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6567         Add xref-find-regexp
6568         * lisp/progmodes/xref.el (xref-find-function): Describe the
6569         `matches' action.
6570         (xref-find-regexp): New command, using it.
6571         (xref-collect-references): Rename to xref-collect-matches.
6572         (xref--collect-reference): Rename to xref--collect-match.
6573         (xref-collect-matches, xref--collect-match): Accept new argument,
6574         KIND.  Update accordingly.
6575         (xref--regexp-to-extended): New function.
6576         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
6577         `matches' action.
6578         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
6579         * lisp/progmodes/etags.el (etags-xref-find):
6580         Support the `matches' action.
6581         (etags--xref-find-matches): New function.
6583 2015-05-10  Glenn Morris  <rgm@gnu.org>
6585         * Makefile.in: Fixes for recent change-history changes.
6586         (change-history-nocommit): Update footer regexp.
6587         Ensure output script stays executable.
6589 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
6591         New version of `seq-let' based on a pcase pattern
6592         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
6593         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
6595 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
6597         Add basic HTML5 tags and a template
6598         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
6599         (html-tag-alist): Add HTML5 tags.
6600         (html-tag-help): Add new tags descriptions.
6601         (html-navigational-links): Template for nav links.
6602         (html-html5-template): Template for a HTML5 page.
6604 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6606         semantic/symref/grep: Don't use word boundaries
6607         * lisp/cedet/semantic/symref/grep.el
6608         (semantic-symref-perform-search): Instead of wrapping input in
6609         word boundaries, check that the characters before and after are
6610         not word constituents.
6612         semantic/symref/grep: Support regexp search
6613         * lisp/cedet/semantic/symref.el
6614         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
6615         the search type is regexp.
6616         * lisp/cedet/semantic/symref/grep.el
6617         (semantic-symref-perform-search): Support the regexp search type.
6618         Pass -E to Grep when it's used.
6620         semantic-symref-regexp: Allow to input an arbitrary string
6621         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
6622         Allow to input an arbitrary string interactively.
6624         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
6625         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6626         Remove tag-symbol-match-p from the default value
6627         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
6629         Declare find-tag obsolete
6630         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
6631         xref-find-definitions.
6633 2015-05-10  Jan D  <jan.h.d@swipnet.se>
6635         Draw composite string correctly (Bug#20537).
6636         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
6637         (ns_draw_glyph_string): Call it (Bug#20537).
6639 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
6641         Avoid infloop in ERC
6642         * lisp/simple.el (line-move-to-column): Ignore field boundaries
6643         while computing line beginning position.  (Bug#20498)
6645 2015-05-08  Glenn Morris  <rgm@gnu.org>
6647         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
6648         * build-aux/gitlog-to-emacslog: Check called from right directory.
6649         (srcprefix): Remove.
6651         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
6652         * Makefile.in (ChangeLog): No longer pass "distprefix".
6653         * make-dist: Update "make ChangeLog" syntax for the above change.
6655         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
6656         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
6658         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
6660         Add command-line option-parsing to gitlog-to-emacslog.
6661         * build-aux/gitlog-to-emacslog: Add command-line options.
6662         By default, refuse to remove an existing output file.
6663         * Makefile.in (CHANGELOG): Update default.
6664         (ChangeLog): Do not test for existing file.
6665         (change-history-nocommit): Ensure temp file does not exist.
6667         Quieten --without-x compilation.
6668         * lisp/term/common-win.el: Provide a feature.
6669         * lisp/term/x-win.el (term/common-win): Require it.
6671         * lisp/dired-aux.el (dired-do-print): Require lpr.
6673         Quieten compilation, eg in --without-x builds.
6674         * lisp/dired-aux.el (lpr-printer-switch):
6675         * lisp/frame.el (tool-bar-height):
6676         * lisp/linum.el (font-info):
6677         * lisp/window.el (font-info, overflow-newline-into-fringe)
6678         (tool-bar-height):
6679         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
6680         * lisp/gnus/gnus-util.el (iswitchb-mode):
6681         * lisp/mail/rmailmm.el (libxml-parse-html-region):
6682         * lisp/net/nsm.el (gnutls-peer-status)
6683         (gnutls-peer-status-warning-describe):
6684         * lisp/net/shr.el (libxml-parse-xml-region):
6685         * lisp/url/url-http.el (gnutls-peer-status): Declare.
6687 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
6689         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
6690         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
6691         `subclass' since they're never called with a class.
6692         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
6693         srecode-dictionary-child-p.
6695 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
6697         help--binding-locus: Document argument POSITION.
6698         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
6700 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6702         Merge from gnulib.
6703         * doc/misc/texinfo.tex: Get latest version.
6705 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
6707         ffap.el (ffap-read-file-or-url): Fix completing-read call
6708         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
6709           `completing-read' should be a symbol.
6711 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
6713         Verify file modifications by other programs
6714         * src/filelock.c (lock_file): Check whether the file was modified
6715         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
6717         Fix keyboard macros that include function keys
6718         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
6719         keys in the macro before returning.  (Bug#20454)
6721 2015-05-08  Glenn Morris  <rgm@gnu.org>
6723         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
6724         "Copyright-paperwork-exempt".  (Bug#20324)
6726         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
6727         (log-edit-rewrite-tiny-change): New variable.
6728         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
6729         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
6730         * etc/NEWS: Mention this.
6732         * lisp/calc/calc.el (math-zerop): Declare.
6734         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
6736 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6738         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
6739         Support the case when BINDINGS is a single tuple.  (Bug#20525)
6741         * etc/NEWS: Fix typo in commit 14bb519
6743 2015-05-07  Jan D  <jan.h.d@swipnet.se>
6745         Warn for multiple display crash for all Gtk+ versions.
6746         * configure.ac: Warn for multiple display crash for all Gtk+
6747         versions.  Output URL to Gtk+ bug (Bug#20452).
6749         ns-win.el (ns-paste-secondary): Use gui-get-selection.
6750         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
6752 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6754         * lisp/emacs-lisp/package.el: New "external" package status
6755         An external package is any installed package that's not built-in
6756         and not from `package-user-dir', which usually means it's from an
6757         entry in `package-directory-list'.  They are treated much like
6758         built-in packages, in that they cannot be through the Package Menu
6759         deleted and are not considered for upgrades.
6760         (package-desc-status): Identify if a package is installed outside
6761         `package-user-dir'.
6762         (package-menu--print-info-simple)
6763         (package-menu--status-predicate): Add support for it.
6764         * etc/NEWS: Document it.
6766 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6768         * lisp/mail/rmail.el: Use lexical-binding
6769         (rmail-bury): Remove unused var `buffer-to-bury'.
6770         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
6771         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
6772         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
6773         (rmail-insert-inbox-text): Remove unused var `movemail'.
6774         (rmail-add-mbox-headers): Remove unused var `limit'.
6775         (rmail-undelete-previous-message): Remove unused var `value'.
6776         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
6777         `resent-reply-to'.
6778         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
6779         (rmail-restore-desktop-buffer): Rename arguments.
6781 2015-05-06  Glenn Morris  <rgm@gnu.org>
6783         * Makefile.in (change-history-commit): Add missing piece of previous.
6785         Avoid unnecessary bumping of Makefile.in's timestamp.
6786         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
6787         (emacslog): New variable.
6788         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
6789         (unchanged-history-files): Use $emacslog rather than Makefile.in.
6790         (change-history-nocommit): Store hash in $emacslog.
6791         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
6792         * admin/update_autogen (changelog_files): Update for the above.
6794         * Makefile.in: Don't always insist on removing existing "ChangeLog".
6795         (CHANGELOG): New variable.
6796         (no-ChangeLog): Remove.
6797         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
6798         (change-history-nocommit): Use a temp file rather than insisting
6799         on deletion of any existing "ChangeLog".
6801         * build-aux/gitlog-to-emacslog: Allow specification of output.
6803         * admin/update_autogen: Add option to update ChangeLog.
6804         (usage): Mention -H.
6805         (changelog_flag, changelog_n, changelog_files): New variables.
6806         (main): Check for -H, and maybe run change-history-nocommit.
6808 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6810         * lisp/subr.el (delete-dups): Pre-size the hashtable.
6812         (define-modify-macro): Make sure cl--arglist-args is defined
6813         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
6814         cl--arglist-args is defined (bug#20517).
6816 2015-05-06  Glenn Morris  <rgm@gnu.org>
6818         * Makefile.in (change-history-nocommit): New.
6820 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6822         Only cancel timer when it is non-nil
6823         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
6824         timer when it is non-nil
6825         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
6827 2015-05-06  Glenn Morris  <rgm@gnu.org>
6829         Quieten cedet compilation
6830         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
6831         Invert fboundp test to quieten on current Emacs.
6832         * lisp/cedet/ede/config.el (ede-shell-run-something)
6833         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
6834         (semanticdb-refresh-table): Declare.
6835         (ede-preprocessor-map): Require semantic/db.
6837         Quieten cc-mode compilation
6838         * lisp/progmodes/cc-awk.el (c-forward-sws):
6839         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
6840         Declare.
6842 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6844         lisp/subr.el (delete-dups): Avoid nreverse.
6846 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
6848         * lisp/subr.el (delete-dups): Make it destructive again.
6850 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
6852         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
6854 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6856         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
6857         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
6858         (testcover--read): Rename from testcover-read.  Change calling convention.
6859         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
6860         (testcover-start): Use add-function.  Move edebug-all-defs binding to
6861         testcover--read.
6862         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
6863         (testcover-mark): Remove unused var `item'.
6864         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
6866 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6868         lisp/subr.el (delete-dups): Use a hash table
6869         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
6870           use a hash table. This can result in ~500 times speed-up for typical
6871           collections of size 5000, like that of `load-library'.
6873 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6875         CEDET: Avoid `oref' on classes in a few more cases
6876         * lisp/cedet/ede/generic.el (ede-find-target):
6877         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
6878         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
6879         var `prefix'.
6881         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
6882         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
6883         (semantic-symref-perform-search): Remove unused var `pat'.
6885         CEDET (srecode-compile-inserter): Avoid `oref' on classes
6886         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
6887         Avoid `oref' on classes (bug#20491).
6888         (srecode-compile-split-code): Remove unused var `key'.
6890 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6892         Clean up pulse.el a little
6893         * lisp/cedet/pulse.el (pulse): Remove.
6894         (pulse-momentary-timer): Save instead of the stop time.
6895         (pulse-momentary-highlight-overlay): Call
6896         pulse-momentary-unhighlight first thing. Treat
6897         pulse-momentary-overlay as a single value, not a list. Save the
6898         created timer. Only pass the stop time to the timer.
6899         (pulse-tick): Update accordingly.
6900         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
6901         single value. Cancel the timer.
6903 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
6905         Support the biblatex journaltitle field
6906         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
6907         Support the biblatex journaltitle field.
6909 2015-05-05  Glenn Morris  <rgm@gnu.org>
6911         Minor declare-function improvement
6912         * lisp/emacs-lisp/bytecomp.el
6913         (byte-compile-macroexpand-declare-function):
6914         Handle declarations after calls.  (Bug#20509)
6916         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
6918         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
6920 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6922         Pulse using a timer
6923         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
6924         (pulse-momentary-highlight-overlay): Set up the timer instead of
6925         calling `pulse'
6926         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
6927         (pulse-tick): New function.
6928         (pulse-momentary-unhighlight): Cut off the stop time.
6929         (pulse-delay): Update the docstring WRT to not using sit-for.
6931         Add semantic/symref/grep file patterns for ruby-mode
6932         * lisp/cedet/semantic/symref/grep.el
6933         (semantic-symref-filepattern-alist): Add patterns for
6934         ruby-mode. Clarify the docstring.
6936         Don't require match
6937         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
6938         match. That doesn't work for every command, and some identifier
6939         completion tables are bound to be imperfect anyway.
6941 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
6943         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
6944         (semantic-grammar--template-expand): New function.
6945         (semantic-grammar-header, semantic-grammar-footer): Use it.
6946         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
6947         (semantic-grammar-file-regexp): Refine regexp.
6948         (semantic-grammar-eldoc-get-macro-docstring):
6949         Use elisp-get-fnsym-args-string when available.
6950         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
6951         instead of the old eldoc-* names.
6952         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
6953         from elisp-mode.el.  Tweak calling convention.
6954         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
6955         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
6956         elisp--get-fnsym-args-string.
6957         (elisp--highlight-function-argument): Add `prefix' arg.
6958         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
6959         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
6961 2015-05-05  Glenn Morris  <rgm@gnu.org>
6963         * lisp/help-fns.el (describe-function-1):
6964         Handle builtins with advertised calling conventions.  (Bug#20479)
6966 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6968         Merge branch 'seq-let'
6970         Update `seq-let' documentation
6971         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
6972         with the support of  `&rest'.
6974         Add support for &rest in `seq-let'
6975         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
6976         in the argument list.
6977         * test/automated/seq-tests.el: Add a test for parsing and binding
6978         `&rest' in `seq-let'.
6980 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6982         Spelling fixes
6984 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
6986         * eieio-custom.el (eieio-object-value-get): Add missing increment
6987         (Bug#20467)
6989         (eieio-object-value-create): Adjust to new slots representation
6990         (Bug#20467)
6991         * eieio-custom.el (eieio-object-value-create):
6992         Fix missed adjustment to new representation of slots metadata.
6994 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6996         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
6998 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
7000         Work around "Attempt to modify read-only object"
7001         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
7002         elisp--xref-find-definitions, to work around "Attempt to modify
7003         read-only object" error.
7005         Only skip some variables that have function counterparts
7006         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7007         Only skip minor-mode-named variable if it's defined in a Lisp
7008         file, and it's in minor-mode-list (bug#20506).
7009         * test/automated/elisp-mode-tests.el
7010         (elisp-xref-finds-both-function-and-variable)
7011         (elisp-xref-finds-only-function-for-minor-mode): New tests.
7013 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7015         Buttonize the whole line, including the number at the beginning
7016         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
7017         previous change.
7018         (xref--insert-xrefs): Buttonize the whole line, including the
7019         number at the beginning.
7021         Make sure we're inside the let bindings
7022         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
7023         Make sure we're inside the let bindings.
7024         * test/automated/elisp-mode-tests.el
7025         (elisp-completes-functions-after-let-bindings): New test.
7027 2015-05-04  Glenn Morris  <rgm@gnu.org>
7029         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
7030         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
7031         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
7032         Remove outdated declarations.
7034         Replace instances of "(eval-when-compile (autoload ...))"
7035         * lisp/gnus/gnus-art.el (nneething-get-file-name):
7036         Declare rather than autoload.
7037         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
7038         Remove pointless autoload.
7039         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
7040         (gnus-topic-create-topic, gnus-topic-enter-dribble):
7041         Declare rather than autoload.
7042         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
7043         (mailcap-extension-to-mime): Autoload at run-time.
7044         * lisp/gnus/mm-util.el (latin-unity-massage-name)
7045         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
7046         (latin-unity-representations-present-region):
7047         Declare rather than autoload.
7048         * lisp/gnus/mml-smime.el (epg-make-context)
7049         (epg-passphrase-callback-function): Autoload at run-time.
7050         (epg-context-set-signers, epg-context-result-for)
7051         (epg-new-signature-digest-algorithm)
7052         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
7053         (epg-sign-string, epg-encrypt-string)
7054         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
7055         (epg-configuration, epg-expand-group, epa-select-keys):
7056         Declare rather than autoload.
7057         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
7058         Autoload at run-time.
7059         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
7060         (gnus-registry-get-id-key, gnus-registry-action):
7061         Declare rather than autoload.
7062         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
7063         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
7064         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
7065         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
7066         (spam-stat-split-fancy): Remove pointless autoloads.
7067         * lisp/net/mairix.el: Load gnus-util when compiling.
7068         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
7069         (message-field-value): Declare rather than autoload.
7070         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
7071         Check gnus-alive-p is fbound.
7072         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
7073         (vm-check-for-killed-summary, vm-error-if-folder-empty)
7074         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
7075         Declare rather than autoload.
7077         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
7079         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
7080         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
7082         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
7084         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
7086         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
7087         * lisp/emacs-lisp/package.el (epg-signature-status):
7088         Fix declarations.
7090         * lisp/play/gametree.el (gametree-show-children-and-entry)
7091         (gametree-apply-layout, gametree-mouse-show-subtree)
7092         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
7094         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
7095         Handle cl-defgeneric, cl-defmethod.
7097 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7099         Highlight both type and symbol name
7100         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
7101         Highlight both type and symbol name.
7103         Insert, highlight and align line numbers in xref output
7104         * lisp/progmodes/etags.el (xref-location-line): Specialize for
7105         xref-etags-location.
7106         * lisp/progmodes/xref.el (xref-location-line): New generic method.
7107         (xref-file-location): Add reader for the line slot.
7108         (xref--location-at-point): Skip to the `xref-location' property.
7109         (xref--collect-reference): Drop the line number from description.
7110         (xref--insert-xrefs): Insert, highlight and align line numbers.
7112 2015-05-04  Daniel Colascione  <dancol@dancol.org>
7114         Fix previous commit
7116 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7118         Don't pulse the indentation, or the newline
7119         * lisp/cedet/pulse.el (pulse-lighten-highlight)
7120         (pulse-reset-face): Fall back to the inherited background
7121         attribute in FACE.
7122         (pulse-momentary-highlight-region): Add autoload cookie.
7123         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
7124         indentation, or the newline, if the line's non-empty
7125         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
7127 2015-05-04  Daniel Colascione  <dancol@dancol.org>
7129         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
7130         * doc/lispref/positions.texi (Excursions): Document
7131         `save-mark-and-excursion'.
7132         * lisp/font-lock.el (font-lock-fontify-block): Use
7133         `save-mark-and-excursion' instead of `save-excursion', restoring
7134         Emacs 24 behavior.
7135         * lisp/simple.el (save-mark-and-excursion--save)
7136         (save-mark-and-excursion--restore): New functions.
7137         (save-mark-and-excursion): New user macro.
7138         * src/editfns.c (Fsave_excursion): Mention
7139         `save-mark-and-excursion' in `save-excursion' documentation.
7141 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
7143         Classify lone symbol inside let varlist as variable
7144         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
7145         Classify lone symbol inside let varlist as variable.
7146         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
7147         New test.
7149         Add xref-pulse-on-jump
7150         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
7151         Add autoload cookie.
7152         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
7153         (xref--maybe-pulse): New function.
7154         (xref-pop-marker-stack, xref--pop-to-location)
7155         (xref--display-position): Use it.
7156         (xref--location-at-point): Use back-to-indentation.
7158 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
7160         * lisp/org/org-{macs,list}.el: Fix lexical warnings
7161         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
7162         (org-list-get-next-item, org-list-get-prev-item)
7163         (org-list-get-children): Mark unused arg `struct'.
7164         (org-list-use-alpha-bul-p): Remove unused var `bul'.
7165         (org-toggle-checkbox): Mark unused var.
7166         (org-update-checkbox-count): Remove unused var `box-num'.
7167         (org-adapt-indentation): Declare.
7168         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
7169         (org-list-send-list): Remove unused var `txt'.
7170         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
7171         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
7172         * lisp/org/org-macs.el: Use `declare'.
7173         (org-with-limited-levels): Declare dyn-bound vars.
7175 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
7177         Fix minor issues with CEDET on MS-Windows
7178         * lisp/cedet/semantic/symref/idutils.el
7179         (semantic-symref-parse-tool-output-one-line): Fix the search
7180         regexp to match MS-Windows file names with drive letters.
7181         (Bug#19468)
7182         * lisp/cedet/semantic/symref/grep.el
7183         (semantic-symref-grep-use-template): Remove "--color=always" from
7184         Grep switches on MS-Windows.
7185         (semantic-symref-grep-shell): Use shell-file-name as the default
7186         value, so this works not only on Posix platforms.
7187         (semantic-symref-perform-search): Use shell-quote-argument instead
7188         of literal '..' for portable quoting of Grep command-line
7189         argument.  Use shell-command-switch instead of a literal "-c".
7190         * lisp/cedet/semantic/bovine/gcc.el
7191         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
7192         for an absolute file name in a portable way.
7194 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7196         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
7197         (package-import-keyring, package-refresh-contents)
7198         (package-compute-transaction, package--save-selected-packages)
7199         (package-install-from-archive, package-delete)
7200         (package-menu--perform-transaction): Use `inhibit-message'
7201         instead.
7202         (package--compile): Set `warning-minimum-level' to :error.
7204 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
7206         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
7207         (terminal-init-screen): Use it (bug#20356).
7208         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
7209         (xterm--extra-capabilities-type): New const.
7210         (xterm-extra-capabilities): Use it.
7211         (xterm--version-handler): Lower the pseudo-version for `screen'.
7213 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
7215         xref--insert-xrefs: Tweak the faces
7216         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
7217         Always insert a newline at the end (to avoid mouse-face background
7218         tail at the last line).
7220         elisp-completion-at-point: Prioritize being quoted over funpos
7221         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
7222         Only consider function position when not inside quoted form
7223         (bug#20425).
7224         * test/automated/elisp-mode-tests.el: New file.
7226         Stop vc-print-log from jumping to the top
7227         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
7228         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
7229         is not specified.
7230         (vc-incoming-outgoing-internal): Always pass nil.
7231         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
7232         call it, and don't set vc-sentinel-movepoint (bug#15322).
7233         (vc-print-root-log): Don't fetch the root working revision, nor
7234         pass it to vc-print-log-internal.
7236 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
7238         Fix display of keyboard layouts for right-to-left scripts
7239         * lisp/international/quail.el (quail-insert-kbd-layout): Force
7240         left-to-right paragraph direction.
7242 2015-05-02  K. Handa  <handa@gnu.org>
7244         * cmds.c (internal_self_insert): When we insert spaces for
7245         padding, set point before the padding spaces, not after them.
7247 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
7249         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
7251 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
7253         Fix etags-xref-find for references
7254         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
7255         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
7256         directory if no tags tables are loaded (bug#19468).
7258 2015-05-02  Philipp Stephani  <phst@google.com>
7260         Update the options in whitespace-style defcustom
7261         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
7262         `repeat' because the option is really set-like.  Add missing
7263         options.  Reorder options to match the order in the
7264         documentation.  (Bug#20346)
7266 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
7268         Fix error diagnostics of c-macro-expand
7269         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
7270         too early if no start-marker string was found -- that generally
7271         means cpp exited abnormally, and we still want to show its error
7272         messages to the user.
7274         Don't require Texinfo 5.0 for Emacs documentation
7275         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
7276         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
7277         "@codequoteundirected on", respectively, to avoid requiring
7278         Texinfo 5.x for Emacs documentation.
7280 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
7282         * lisp/files.el (pwd):
7283         When called with a prefix argument, insert the current default
7284         directory at point.
7286 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
7288         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
7289         * lisp/isearch.el (isearch-mode-map): Don't inhibit
7290         function-key-map remapping for backspace (bug#20466).
7292 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
7294         Implement xref-find-references in etags and elisp-mode
7295         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
7296         (elisp-xref-find): Use it.
7297         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
7298         * lisp/progmodes/xref.el (xref-collect-references):
7299         (xref--collect-reference): New functions.
7301 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
7303         Prefer plain characters to Texinfo circumlocutions
7304         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
7305         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
7307         Fix single-quoting style in PDF manuals
7308         The PDF versions of the GNU manuals used curved single quotes to
7309         represent grave accent and apostrophe, which made it a pain to cut
7310         and paste code examples from them.  Fix the PDF versions to use
7311         grave accent and apostrophe for Lisp source code, keystrokes, etc.
7312         This change does not affect the info files, nor does it affect
7313         ordinary uses of curved single quotes in PDF.
7314         * doc/emacs/docstyle.texi: New file, which specifies treatment for
7315         grave accent and apostrophe, as well as the document encoding.
7316         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
7317         * doc/lispintro/emacs-lisp-intro.texi:
7318         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
7319         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
7320         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
7321         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
7322         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
7323         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
7324         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
7325         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
7326         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
7327         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
7328         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
7329         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
7330         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
7331         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
7332         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
7333         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
7334         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
7335         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
7336         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
7337         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
7338         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
7339         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
7340         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
7341         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
7342         * doc/misc/woman.texi:
7343         Use it instead of '@documentencoding UTF-8', to lessen the need for
7344         global changes like this in the future.
7345         * doc/emacs/Makefile.in (EMACS_XTRA):
7346         * doc/lispintro/Makefile.in (srcs):
7347         * doc/lispref/Makefile.in (srcs):
7348         Add dependency on docstyle.texi.
7349         * doc/misc/Makefile.in (style): New macro.
7350         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
7351         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
7352         Use it.
7354 2015-05-01  Glenn Morris  <rgm@gnu.org>
7356         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
7358         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
7359         (help-fns--signature): Declare.
7361         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
7363 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
7365         New macro seq-let, providing destructuring support to seq.el
7366         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
7367         to `cl-destructuring-bind' but works on all sequence types supported
7368         by `seq.el'.  Bump version number to 1.6.
7369         * test/automated/seq-tests.el: Add tests for seq-let.
7370         * doc/lispref/sequences.texi: Add documentation for seq-let.
7372 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
7374         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
7376 2015-05-01  Glenn Morris  <rgm@gnu.org>
7378         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
7380 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
7382         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
7383         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
7384         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
7385         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
7386         (Bug#20445).
7388 2015-05-01  K. Handa  <handa@gnu.org>
7390         * mule-cmds.el (input-method-use-echo-area): Change :type to
7391         'boolean.
7393 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7395         Start using proportional fonts in eww by default
7396         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
7397         it seems to work well.
7399         Fix links in tables in shr
7400         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
7401         makes (some) links in tables not work.
7403 2015-05-01  Jan D  <jan.h.d@swipnet.se>
7405         (ns-get-cut-buffer-internal): Remove this alias.
7406         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
7408 2015-04-30  Glenn Morris  <rgm@gnu.org>
7410         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
7411         Update for 2015-02-08 change to indirect-function.
7413         * lisp/term/ns-win.el (ns-get-selection-internal):
7414         Remove declaration for function deleted 2014-10-21.
7416         * lisp/dom.el: Load subr-x when compiling, for when-let.
7418         Silence some compilation warnings
7419         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
7420         * lisp/emulation/cua-base.el (delete-active-region):
7421         * lisp/net/net-utils.el (w32-get-console-output-codepage):
7422         * lisp/term/ns-win.el (ns-own-selection-internal)
7423         (ns-disown-selection-internal, ns-selection-owner-p)
7424         (ns-selection-exists-p, ns-get-selection):
7425         Declare for compiler..
7427         Function declaration updates prompted by 'make check-declare'
7428         * lisp/emacs-lisp/package.el (lm-homepage):
7429         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
7430         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
7431         * lisp/gnus/mml.el (libxml-parse-html-region):
7432         * lisp/gnus/nnrss.el (libxml-parse-html-region):
7433         * lisp/net/eww.el (libxml-parse-html-region):
7434         * lisp/net/shr.el (libxml-parse-html-region):
7435         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
7436         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
7437         * lisp/vc/vc-git.el (vc-annotate-convert-time):
7438         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
7439         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
7440         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
7441         Update declaration.
7443         Remove compatibility code for 20-year old function renaming
7444         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
7445         Make it an obsolete alias.
7446         (idlwave-shell-filter): Change all uses to comint-output-filter.
7448 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
7450         Add ace-window face config
7451         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
7452         configuration.
7454 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
7456         Unclutter 'make doc' output a bit
7457         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
7458         Use make subst rather than sh IFS to split target string apart.
7459         This makes 'make' output easier to follow.
7461         Merge from gnulib
7462         * doc/misc/texinfo.tex: Update from gnulib.
7464 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7466         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
7467         (package-menu--print-info): Obsolete.
7468         (package-menu--print-info-simple): New function.
7469         (package-menu--refresh): Use it, simplify code, and improve
7470         performance.
7471         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
7472         Tiny performance improvement.
7474         * lisp/emacs-lisp/package.el (package--message): inhibit-message
7476 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
7478         Omit -Wstrict-overflow workaround in GCC 5
7479         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
7480         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
7482         Merge from gnulib
7483         This incorporates:
7484         2015-04-29 extern-inline: no need for workaround in GCC 5.1
7485         2015-04-26 file-has-acl: port to CentOS 6
7486         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
7488 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
7490         Set next-error-* in xref--xref-buffer-mode
7491         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
7492         `next-error-last-buffer'.
7493         (xref--next-error-function): New function.
7494         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
7496 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7498         python.el: Fix warnings on looking-back calls missing LIMIT
7499         * lisp/progmodes/python.el (python-shell-accept-process-output):
7500         Pass LIMIT arg to looking-back.
7502 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7504         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
7505         (package--download-and-read-archives): Use pushnew instead of
7506         append.  If something terrible happened during a previous
7507         download, simply refreshing should now make things work again.
7509 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
7511         Introduce etags-xref-find-definitions-tag-order
7512         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
7513         New variable.
7514         (etags--xref-find-definitions): Use it (bug#19468).
7516 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
7518         PATH- and completion-related fixes in Eshell on MS-Windows
7519         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
7520         MS-Windows, prepend "." to list of directories produced from PATH,
7521         as Windows always implicitly searches the current directory first.
7522         (eshell-force-execution): Make it have a non-nil default value on
7523         MS-Windows and MS-DOS.
7524         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
7525         eshell-force-execution is non-nil, complete on readable files and
7526         directories, not only executables.  When running on MS-Windows,
7527         prepend "." to list of directories produced from PATH, as Windows
7528         always implicitly searches the current directory first.
7530 2015-04-29  Sam Steingold  <sds@gnu.org>
7532         bury RCIRC buffers when there is no activity
7533         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
7534         (rcirc-bury-buffers): new function
7535         (rcirc-next-active-buffer): when there is no new activity, use
7536         `rcirc-bury-buffers' to hide all RCIRC buffers
7538 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
7540         Fix DBUS query result parsing for secrets-search-items
7541         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
7542         parsing.  The function assumed that return value of the
7543         SearchItems method called on a collection is a list of two lists,
7544         however this is true only when no collection is specified.  GNOME
7545         had used to incorrectly return a list of two lists in both cases,
7546         but this was already fixed:
7547         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
7548         incorrect information in the secrets-search-items’ docstring.
7549         (Bug#20449)
7551 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7553         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
7554         (byte-compile--message): Use `inhibit-message' instead of hiding
7555         the previous message with (message nil).
7557 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
7559         Remove the deprecated INTERNAL_FIELD macro by expanding it
7560         * src/lisp.h (INTERNAL_FIELD): Remove.
7561         (DEFVAR_KBOARD): Modify accordingly.
7562         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
7563         * syntax.c: Adjust users.
7564         * src/buffer.c (compact_buffer): Use BVAR.
7566 2015-04-29  Glenn Morris  <rgm@gnu.org>
7568         Replace an obsolete function alias
7569         * lisp/isearch.el (isearch-yank-x-selection):
7570         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
7571         (mouse-drag-secondary-moving):
7572         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
7573         Replace obsolete alias x-get-selection with gui-get-selection.
7575 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7577         * lisp/mail/rmailsum.el: Use lexical-binding.
7579 2015-04-29  Glenn Morris  <rgm@gnu.org>
7581         * test/automated/package-test.el (package-test-update-archives-async):
7582         Skip test on hydra.nixos.org.
7584 2015-04-28  Glenn Morris  <rgm@gnu.org>
7586         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
7587         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
7588         (foldout-mouse-hide-or-exit): Use new names for outline functions.
7590         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
7591         Update for 2014-06-26 hideif.el change.
7593         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
7594         (rmail--decode-and-apply): New function.
7595         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
7597         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
7599 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7601         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
7602         (package-menu--refresh): Delegate obsolete-hiding to
7603         `package--remove-hidden'.
7604         (package--remove-hidden): Disregard high-priority package if it is
7605         older than the installed one.
7607 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
7609         Update source file encoding list
7610         Update admin/notes/unicode, along with coding system cookies in
7611         other files, so that the two match each other better.
7612         * admin/notes/unicode: lisp/language/ethio-util.el and
7613         lisp/language/ethiopic.el also use utf-8-emacs.
7614         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
7615         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
7616         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
7617         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
7618         * etc/refcards/sk-survival.tex:
7619         Add "coding: utf-8" so that this file is not mishandled in a
7620         Latin-1 or Big-5 locale.
7621         * lisp/international/robin.el, lisp/org/ox-ascii.el:
7622         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
7623         * lisp/language/ethio-util.el: Fix trailer.
7625 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
7627         Fix synchronous invocation of Ispell
7628         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
7629         value to ispell-process-directory before calling ispell-init-process.
7630         Don't call set-process-coding-system if ispell-async-processp is nil.
7631         (Bug#20448)
7633 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7635         * lisp/emacs-lisp/package.el: Skip space and comments in init file
7636         (package--ensure-init-file): Insert snippet at first
7637         non-whitespace non-comments line.  Respects local-vars at the top
7638         of the file.
7640 2015-04-28  Glenn Morris  <rgm@gnu.org>
7642         * lisp/mail/rmail.el (rmail-copy-headers):
7643         Handle rmail-nonignored-headers being nil.  (Bug#18878)
7645         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
7647         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
7648         Don't get confused by a bzrlib version mismatch warning.
7650 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7652         Change default location of EUDC options file
7653         * NEWS: Document change to EUDC options file's default location.
7654         * lisp/net/eudc-vars.el (eudc-options-file): Use
7655         `locate-user-emacs-file' to change default options file location.
7657 2015-04-27  Glenn Morris  <rgm@gnu.org>
7659         * test/automated/package-test.el (package-test-update-archives-async):
7660         Try to handle the test server script dying.
7662 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7664         * lisp/saveplace.el (save-place-mode): New minor mode.
7665         (save-place): Redefine as an obsolete alias.
7667         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
7668         * lisp/midnight.el: Use lexical-binding.
7669         (midnight-mode): Make it a proper minor mode.
7670         (midnight-buffer-display-time): Make arg non-optional.
7671         (midnight-find): Remove.
7672         (clean-buffer-list-kill-never-regexps)
7673         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
7674         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
7675         contain functions.
7676         (clean-buffer-list): Use cl-find.
7677         Allow clean-buffer-list-kill-never-regexps to contain functions.
7679 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
7681         Bump version of seq.el to 1.5
7682         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
7683           from seq-doseq.  Bump version number of seq.el.
7685 2015-04-27  Glenn Morris  <rgm@gnu.org>
7687         * lisp/mail/rmail.el (rmail-reply):
7688         Decode subject before matching "Re:" prefix.  (Bug#20396)
7690 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7692         * lisp/emacs-lisp/package.el: Small improvements
7693         (package--with-work-buffer-async): More informative error.
7694         (package-install-user-selected-packages): Rename to
7695         `package-install-selected-packages'.
7697 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7699         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
7700         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
7701         (eieio--class-make): Remove leftover `tag'.
7703 2015-04-27  Glenn Morris  <rgm@gnu.org>
7705         * lisp/gnus/message.el (gnus-extract-address-components):
7706         Remove bogus declaration that was masking previous problem.
7708 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
7710         * lisp/gnus/message.el (message-insert-formatted-citation-line):
7711         Fix typo.  (Bug#20318)
7713 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7715         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
7717         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
7718         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
7719         the buffer in yet another frame.
7720         (reftex-toc-visit-location): Make sure toc-window has focus at the end
7721         when `final' is nil.
7722         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
7723         silence warnings.  Use `--' to clarify that it's internal.
7724         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
7725         (reftex-toc-promote): Clarify unused argument.
7726         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
7727         Add `reftex--' prefix.  Fix all users.
7728         (reftex-toc-promote-prepare): Use _ for dummy variable.
7729         (reftex-toc-restore-region): Rename `m
7731 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
7733         Fix a typo in bibtex.el
7734         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
7735         last change.  (Bug#20429)
7737         Fix redisplay of frame after loading new fonts
7738         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
7739         frame because new fonts were loaded, disable all redisplay
7740         optimizations on that frame by calling SET_FRAME_GARBAGED.
7741         (Bug#20410)
7743 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7745         * lisp/info.el (Info-menu): Properly provide the `default'
7746         (Bug#20391)
7748         * elisp-mode.el: Catch errors from `documentation'
7749         (Bug#20418)
7750         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
7751         Catch errors from documentation.
7752         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
7754 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
7756         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
7757         Remove redundant ":group 'package".
7759 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
7761         Fix a typo in rmail.el
7762         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
7763         last commit.  (Bug#20429)
7765 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
7767         Introduce xref-prompt-for-identifier
7768         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
7769         (xref--read-identifier): Use it
7770         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
7772 2015-04-26  João Távora  <joaotavora@gmail.com>
7774         `tex-insert-quote' after single `'' opens quotes instead of closing
7775         Without this, it's very hard to precede double quotes with the
7776         apostrophe character, i.e. insert the sequence '``
7777         (quote-backquote-backquote), commonly useful in portuguese, for
7778         instance.
7779         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
7780         chars making `tex-insert-quote' be in the "opening" context.
7782 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
7784         Pass `id' to `completing-read' as def instead of initial input
7785         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
7786         as the default value instead of initial input
7787         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
7789 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7791         Don't freeze with unreadable processes
7792         Don't freeze if an exiting process can't be read from. (Bug#19860).
7793         This fixes a bug I introduced in
7794         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
7795         "* process.c: Add sanity checks for file descriptors."
7796         Dmitry Gutov did most of the legwork in finding the problem.
7797         * src/process.c (wait_reading_process_output):
7798         Treat non-running processes that can't be read from
7799         the same as other non-running processes.
7801 2015-04-25  Alan Mackenzie  <acm@muc.de>
7803         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
7804         * lisp/subr.el (remove-yank-excluded-properties): put
7805         `with-silent-modifications' around only the last three lines of code.
7807 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7809         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
7810         (package--all-keywords): Deleted variable.
7812         * etc/NEWS: Document package-hiding functionality
7814 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
7816         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
7818         Clarify the doc string of 'replace-regexp-in-string'
7819         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
7821         Improve doc string of 'insert-buffer-substring'
7822         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
7824         MS-Windows followup for the recent gnulib update
7825         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
7826         acl-internal.c.
7828 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7830         Spelling fixes
7832         Merge from gnulib
7833         This incorporates:
7834         2015-04-24 file-has-acl: new module, split from acl
7835         2015-04-24 manywarnings: add GCC 5.1 warnings
7836         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
7837         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
7838         2015-04-15 acl: On Linux, check for acls without libacl
7839         2015-04-14 tempname: avoid unused parameter warnings (trivial)
7840         * lib/acl-internal.c: New file, from gnulib.
7841         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
7842         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
7843         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
7844         Update from gnulib.
7846         Port --enable-gcc-warnings to GCC 5.1 x86-64
7847         * lib-src/ebrowse.c (dump_sym):
7848         * lib-src/hexl.c (main):
7849         * src/ccl.c (ccl_driver):
7850         * src/character.c (string_escape_byte8):
7851         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
7852         * src/gnutls.c (Fgnutls_boot):
7853         * src/gtkutil.c (xg_check_special_colors):
7854         * src/image.c (x_build_heuristic_mask):
7855         * src/print.c (safe_debug_print, print_object):
7856         * src/term.c (produce_glyphless_glyph):
7857         * src/xdisp.c (get_next_display_element)
7858         (produce_glyphless_glyph):
7859         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
7860         Don't use a signed format to print an unsigned integer, or vice
7861         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
7862         * src/image.c (png_load_body, jpeg_load_body):
7863         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
7865 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
7867         Add new faces to tsdh-light-theme
7868         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
7869         definitions for Info-quoted, ace-jump-face-foreground,
7870         hl-paren-face, show-paren-match, and show-paren-mismatch.
7872 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
7874         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
7876 2015-04-24  Glenn Morris  <rgm@gnu.org>
7878         * build-aux/gitlog-to-emacslog:
7879         Use raw log format rather than wrapped one.
7881 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7883         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
7884         (seq-doseq): Fix out-of-scope binding.
7885         Don't call `seq-length at every iteration.
7886         Reduce `if's from 3 to 2 per iteration.
7887         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
7889 2015-04-24  Glenn Morris  <rgm@gnu.org>
7891         * lisp/textmodes/text-mode.el (text-mode-hook):
7892         Move text-mode-hook-identify to default.
7894         * lisp/mouse.el (minor-mode-menu-from-indicator):
7895         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
7897         * lisp/help-fns.el (describe-function): More type checking.
7898         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
7900         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
7901         (Bug#20325)
7903 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
7905         shr: strip leading whitespace when expanding URLs
7906         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
7908 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
7910         Clarify "co-authored" some more
7912         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
7914         Clarify doc strings of functions that search for properties
7915         * src/textprop.c (Fnext_char_property_change)
7916         (Fprevious_char_property_change)
7917         (Fnext_single_char_property_change)
7918         (Fprevious_single_char_property_change, Fnext_property_change)
7919         (Fnext_single_property_change, Fprevious_property_change)
7920         (Fprevious_single_property_change): Clarify doc strings wrt return
7921         value and the optional LIMIT argument.  (Bug#20411)
7923 2015-04-24  Glenn Morris  <rgm@gnu.org>
7925         * test/automated/message-mode-tests.el (message-mode-propertize):
7926         Handle non-writable HOME; eg on hydra.nixos.org.
7928 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
7930         Avoid starting threads by w32-shell-execute
7931         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
7932         local file names, before invoking ShellExecute.  (Bug#20220)
7934 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
7936         Fix following doc-links in `widget-documentation-link-action'
7937         * lisp/wid-edit.el (widget-documentation-link-action): Make
7938         following doc-links less simplistic (Bug#20398).
7940 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7942         Improve EUDC manual
7943         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
7945 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7947         Omit needless "\ " after multibyte then newline
7948         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
7949         (print_object): When print-escape-multibyte is non-nil and a
7950         multibyte character is followed by a newline or formfeed, followed
7951         by a hex digit, don't output a needless "\ " before the hex digit.
7952         * test/automated/print-tests.el (print-hex-backslash): New test.
7954 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
7956         Add a new `inhibit-message' variable
7957         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
7958         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
7959         `inhibit_message' is non-zero.
7960         * etc/NEWS: Add an entry.
7961         * doc/lispref/display.texi: Add an entry for `inhibit-message',
7962           mention it in `message'.
7964 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7966         Fix last fix in `display-buffer-record-window'.
7967         * lisp/window.el (display-buffer-record-window): Fix last fix.
7969 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
7971         Minor edits in CONTRIBUTE
7972         * CONTRIBUTE: Rearrange instructions about log messages.
7973         Use "Git" capitalized all over.
7974         Use 2 spaces between sentences.
7976 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7978         * lisp/files.el (basic-save-buffer): Fix argument
7980         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
7981         In case `(and (null custom-file) init-file-had-error)' do the same
7982         thing we'd do if `(null user-init-file)', which is to either error out
7983         or return nil.  This is in line with `custom-save-all' which would
7984         throw an error in that situation. (bug#20355)
7986         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
7987         (package-menu-hide-low-priority): New variable, see its doc.
7988         (package-archive-priorities): Update doc.
7989         (package-desc-priority): New function.
7990         (package-desc-priority-version): Use it.
7991         (package--remove-hidden): New function.
7992         (package-menu--refresh): Use it.
7994         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
7995         (package-menu--hide-obsolete): New variable.
7996         (package--remove-hidden): Use it.
7997         (package-menu-hide-obsolete): New interactive function to toggle
7998         the variable.
7999         (package--quick-help-keys): Document it.
8000         (package-menu-async): Add :version tag.
8001         (package-menu-mode-map): Bind package-menu-hide-obsolete.
8002         (package-desc-status): Indicate non-installed obsolete packages as
8003         avail-obso.
8004         (package-menu-mark-install): Allow installation of avail-obso.
8005         (package-menu--status-predicate): Sort avail-obso with available.
8007 2015-04-22  Alan Mackenzie  <acm@muc.de>
8009         On C-y, stop some text property entries being written into buffer-undo-list
8010         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
8011         `with-silent-modifications'.
8013 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
8015         In display-buffer-record-window record selected window if necessary.
8016         * lisp/window.el (display-buffer-record-window): Store selected window
8017         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
8019 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
8021         Fix reftex-citation bug
8022         * reftex-cite.el (reftex-extract-bib-entries): Fix
8023         `wrong-type-argument stringp nil' error that occurs when AUCTeX
8024         integration is enabled and there are no citations in the document
8025         so far.
8027 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
8029         Add or reset based on the presence of MERGE_HEAD
8030         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
8031         `vc-git-resolve-when-done' to `after-save-hook' in either case.
8032         (vc-git-conflicted-files): Add a TODO.
8033         (vc-git-resolve-when-done): Depending on the presence of
8034         MERGE_HEAD, either update the resolved file in the index, or
8035         remove it from there.  (Bug#20292)
8037 2015-04-21  Glenn Morris  <rgm@gnu.org>
8039         * lisp/custom.el (custom-declare-group): No need to purecopy
8040         custom-current-group-alist members following recent change to set
8041         it to nil before dumping.
8043         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
8044         (Bug#20399)
8046 2015-04-21  Daniel Colascione  <dancol@dancol.org>
8048         Unbreak no-op buffer save message
8049         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
8050         (basic-save-buffer): Accept called-interactively as an argument instead of
8051         directly invoking called-interactively-p, which will always yield nil
8052         in that context.
8054 2015-04-21  Alan Mackenzie  <acm@muc.de>
8056         CC Mode: Do nothing in before/after-change-functions for text property changes
8057         Fixes bug#20266.
8058         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
8059         yank-handled-properties buffer local, and remove 'category from it.
8060         (c-called-from-text-property-change-p): New function.
8061         (c-before-change): Don't do anything if a call of the new function
8062         returns non-nil.
8063         (c-after-change): Don't do much if a call of the new function returns
8064         non-nil.
8065         (c-extend-after-change-region): Put changes to text property 'fontified
8066         inside c-save-buffer-state.
8068 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
8070         Fix byte-compiler warnings about looking-back.
8071         * lisp/vc/log-view.el (log-view-end-of-defun-1):
8072         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
8073         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
8074         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
8075         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
8076         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
8077         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
8078         * lisp/org/org.el (org-insert-heading, org-sort-entries):
8079         * lisp/org/org-mouse.el (org-mouse-end-headline)
8080         (org-mouse-context-menu):
8081         * lisp/org/org-clock.el (org-clock-cancel):
8082         * lisp/man.el (Man-default-man-entry):
8083         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
8084         (rmail-ensure-blank-line):
8085         * lisp/mail/footnote.el (Footnote-delete-footnote):
8086         * lisp/mail/emacsbug.el (report-emacs-bug):
8087         * lisp/info.el (Info-follow-reference, Info-fontify-node):
8088         * lisp/info-look.el (info-lookup-guess-custom-symbol):
8089         * lisp/help-fns.el (help-fns--key-bindings):
8090         * lisp/files.el (hack-local-variables):
8091         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
8092         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
8093         (viper-complete-filename-or-exit):
8094         * lisp/emulation/viper-cmd.el (viper-backward-indent):
8095         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
8096         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
8097         * lisp/cus-edit.el (custom-face-edit-value-create):
8098         * lisp/calendar/todo-mode.el (todo-set-item-priority)
8099         (todo-filter-items-1, todo-convert-legacy-files)
8100         (todo-prefix-overlays): Add explicit second arg to looking-back.
8102 2015-04-20  Glenn Morris  <rgm@gnu.org>
8104         Avoid non-nil current-load-list at startup
8105         * src/process.c (init_process_emacs): Move Fprovide statement...
8106         (syms_of_process): ... to here.
8108         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
8110         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
8112 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
8114         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
8115         (Bug#20330)
8117 2015-04-20  Glenn Morris  <rgm@gnu.org>
8119         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
8121         Tweak exec-path in uninstalled case
8122         * src/callproc.c (init_callproc): If running uninstalled, do not
8123         include eventual installation libexec directory in exec-path.
8125 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
8127         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
8128         (package-menu-filter): Accept a list of keywords.
8129         (package--all-keywords): New variable to cache known keywords.
8130         (package-all-keywords): Populate it if necessary.
8131         (package-refresh-contents): Reset it.
8133         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
8134         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
8135         as special keywords which match agains package archive and status
8136         respectively.
8137         * etc/NEWS: Document it.
8139 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
8141         Describe and index "empty overlays".
8142         * doc/lispref/display.texi (Overlays): Improve indexing.
8143         (Managing Overlays): Describe "empty" overlays.
8144         (Overlay Properties, Finding Overlays): Add cross-reference to
8145         where empty overlays are described.
8147 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8149         Spelling fixes
8151         Quote 'like this' in top-level files
8152         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
8153         Prefer to single-quote 'like this' (instead of the older style
8154         `like this').
8155         * configure.ac: Fix some space-before-tab problems that 'git commit'
8156         complained about.
8158         Use bool for boolean in textprop.c, undo.c
8159         * src/textprop.c (soft, hard): Now constants instead of macros.
8160         (validate_plist): Rewrite to avoid need for boolean local.
8161         (interval_has_all_properties, interval_has_some_properties)
8162         (interval_has_some_properties_list, add_properties)
8163         (remove_properties, get_char_property_and_overlay)
8164         (Fnext_single_char_property_change)
8165         (Fprevious_single_char_property_change, add_text_properties_1)
8166         (Fremove_text_properties, Fremove_list_of_text_properties)
8167         (copy_text_properties):
8168         * src/tparam.c (tparam1):
8169         * src/undo.c (record_change, record_property_change)
8170         (syms_of_undo):
8171         Use 'true' and 'false' for booleans.
8173 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
8175         Call `smerge-start-session' even when dealing with a stash conflict
8176         * lisp/vc/vc-git.el (vc-git-find-file-hook):
8177         Call `smerge-start-session' even when dealing with a stash
8178         conflict (bug#20292).
8180 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
8182         Add option to eshell/clear to clear scrollback.
8183         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
8184         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
8185         scrollback contents are cleared.
8186         * etc/NEWS: Describe change.
8187         * doc/misc/eshell.texi: Add entry for `clear'.
8189 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8191         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
8192         where either will do.
8194 2015-04-19  Steve Purcell  <steve@sanityinc.com>
8196         Assume package archive-contents are UTF8-encoded
8197         * lisp/emacs-lisp/package.el (package--read-archive-file):
8198         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
8199         downloaded and cached archive-contents files, so that non-ASCII
8200         characters in package descriptions are displayed correctly in the
8201         `list-packages' menu. (Bug#20231)
8203 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
8205         Abort when looking at stashed changes
8206         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
8207         stashed changes (bug#20292).
8209 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8211         Refactor low-level printing for simplicity
8212         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
8213         PRINTPREPARE; doable now that we assume C99.  All callers changed.
8214         (PRINTCHAR): Remove, as it adds more mystery than clarity.
8215         All callers changed.
8216         (strout): Assume that caller computes length.  All callers changed.
8217         (print_c_string): New function.
8218         (write_string, write_string_1): Compute length instead of asking
8219         the caller to compute it.  All callers changed.
8220         (write_string): Simplify by using write_string_1.
8221         (write_string_1): Simplify by using print_c_string.
8222         (Fterpri): Compute default val more clearly.
8223         (Fprin1_to_string, print_object):
8224         Assume C99 to avoid unnecessary nesting.
8225         (print_object): Prefer print_c_string to multiple printchar, or
8226         to calling strout with -1 length.  Coalesce into sprintf when
8227         this is easy.
8229 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
8231         Prefer "Bug#1234" in commit messages (Bug#20325)
8232         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
8233         as this isn't useful for Git.
8234         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
8236 2015-04-18  Glenn Morris  <rgm@gnu.org>
8238         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
8239         (Bug#19506)
8241 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
8243         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
8244         (Bug#19505)
8246 2015-04-18  Glenn Morris  <rgm@gnu.org>
8248         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
8250         * doc/emacs/misc.texi (Sorting): Small edit.
8251         (Bug#19896)
8253         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
8255 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
8257         css-mode.el: Support multi-line comment filling
8258         (Bug#20256)
8259         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
8260         comment filling.
8261         (css-adaptive-fill): New function.
8262         (css-mode): Set `adaptive-fill-function'.
8263         (scss-mode): Set `comment-continue'.
8265 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
8267         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
8269 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
8271         Minor improvements in Bulgarian input methods
8272         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
8273         Replace U+042C with U+045D, as the former character is not used in
8274         the modern Bulgarian language.
8275         (Bug#20350)
8277 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8279         Improve EUDC manual
8280         * eudc.texi (LDAP Configuration): Mention simple and SASL
8281         authentication schemes.  Add index items.  Shorten example server
8282         name.
8284 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
8286         Don't show both feature and function with the same name
8287         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8288         Don't show both feature and function with the same name.
8290         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
8291         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8292         Avoid returning both the variable and the function for the same
8293         minor mode.
8295 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
8297         Fix fontification of keywords clobbered by the prompt.
8298         * lisp/comint.el (comint-output-filter): Remove the uses of
8299         with-silent-modifications I introduced as part of the last change.
8300         This fixes, e.g., erratically missing highlighting when running
8301         ./configure --help; ./configure in a shell-mode buffer with
8302         compilation-shell-minor-mode turned on.
8304 2015-04-17  Glenn Morris  <rgm@gnu.org>
8306         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
8308 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
8310         * lisp/indent.el (indent-region): Don't deactivate the mark
8311         (Bug#20357)
8313 2015-04-17  Sam Steingold  <sds@gnu.org>
8315         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
8317 2015-04-16  Leo Liu  <sdl.web@gmail.com>
8319         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
8321 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
8323         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
8325 2015-04-16  Glenn Morris  <rgm@gnu.org>
8327         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
8329 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
8331         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
8332         * configure.ac (LIBJPEG): Leave it empty for MinGW.
8334 2015-04-16  Glenn Morris  <rgm@gnu.org>
8336         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
8337         to avoid rogue setting after startup.
8339 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
8341         Pre-4.6 GCC succeeds with unknown option
8342         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
8343         (Bug#20338)
8345 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8347         '[:graph:]' now excludes whitespace, not just ' '
8348         * doc/lispref/searching.texi (Char Classes):
8349         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
8350         sans whitespace (not sans space).
8351         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
8352         not just space.
8353         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
8355 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8357         (looking-back): Make the second arg non-optional.
8358         * lisp/subr.el (substitute-key-definition-key, special-form-p)
8359         (macrop): Drop deprecated second arg to indirect-function.
8360         (looking-back): Make the second arg non-optional.
8362         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
8363         command is actually sent to the shell.
8365 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8367         Port jpeg configuration to Solaris 10 with Sun C
8368         * configure.ac: Check for jpeglib 6b by trying to link it, instead
8369         of relying on cpp magic that has problems in practice.  Check for
8370         both jpeglib.h and jerror.h features.  Remove special case for
8371         mingw32, which should no longer be needed (and if it were needed,
8372         should now be addressable by hotwiring emacs_cv_jpeglib).
8373         (Bug#20332)
8375 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8377         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
8378         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
8379         Move to elisp-mode.el.
8380         (lisp-mode-variables): (Re)move elisp-specific settings.
8381         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
8382         from lisp-mode-variables.
8383         (elisp--font-lock-flush-elisp-buffers): New function, moved from
8384         lisp-mode.el.
8386         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
8387         Avoid pathological slowdown at top-level in large file.
8389 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8391         Standardize names of ChangeLog history files
8392         Suggested by Glenn Morris in:
8393         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
8394         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
8395         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
8396         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
8397         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
8398         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
8399         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
8400         Remove.
8402         Split top-level entries into pre- and post-April 7
8403         This more clearly distingiushes pre-April-7 ChangeLog entries (which
8404         are for top-level files only) from post-April-7 entries (which are
8405         about files at all levels.  Problem reported by Glenn Morris in:
8406         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
8407         * ChangeLog.1: Move post-April-7 entries from here ...
8408         * ChangeLog.2: ... to this new file.
8409         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
8411 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8413         Fix recent cus-start changes that added customize-rogues
8414         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
8415         vars early.
8416         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
8418 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
8420         Define cl-concatenate as an alias to seq-concatenate
8421         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
8422           code by making cl-concatenate an alias to seq-concatenate.
8424 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8426         * src/lread.c (intern_1): Make sure we'd find the symbol we add
8427         (Bug#20334)
8428         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
8430 2015-04-15  Glenn Morris  <rgm@gnu.org>
8432         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
8434 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
8436         Clean up gnus-uu saving code slightly
8437         * gnus-uu.el (gnus-uu-save-article): Make the
8438         save-restriction/widen calls make more sense.
8440 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8442         Make [:graph:] act like [:print:] sans space
8443         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
8444         [:graph:] so that it matches everything that [:print:] does,
8445         except for space.
8446         * doc/lispref/searching.texi (Char Classes):
8447         * etc/NEWS:
8448         * lisp/emacs-lisp/rx.el (rx):
8449         Document [:graph:] to be [:print:] sans ' '.
8450         * src/character.c, src/character.h (graphicp): New function.
8451         * src/regex.c (ISGRAPH) [emacs]: Use it.
8452         (BIT_GRAPH): New macro.
8453         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
8454         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
8455         Return BIT_GRAPH for RECC_GRAPH.
8456         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
8457         and ISPRINT if BIT_PRINT.
8459 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8461         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
8462         Don't use call-next-method in a cl-defmethod.
8464         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
8465         (eieio--class-p): Remove, provided by cl-defstruct.
8467 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
8469         Add seq-intersection and seq-difference to the seq library
8470         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
8471         functions.
8472         * test/automated/seq-tests.el: Add tests for seq-intersection and
8473         seq-difference.
8474         * doc/lispref/sequences.texi: Add documentation for seq-intersection
8475         and seq-difference.
8477 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8479         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
8481 2015-04-14  Sam Steingold  <sds@gnu.org>
8483         package--ensure-init-file: widen requires save-restriction
8485 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
8487         Improve the commit-msg Git hook for unibyte environments
8488         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
8489         in unibyte environments.  (Suggested by Paul Eggert
8490         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
8491         [:print:], based on UTF-8 sequences of the unprintable characters.
8493         Describe problems with cursor caused by Windows Magnifier
8494         * etc/PROBLEMS: Describe the problem with cursor shape on
8495         MS-Windows due to Windows Magnifier.
8496         (Bug#20271)
8498         Make [:print:] support non-ASCII characters correctly
8499         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
8500         (BIT_PRINT): New bit mask.
8501         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
8502         * src/character.c (printablep): New function.
8503         * src/character.h (printablep): Add prototype.
8504         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
8505         of 'print', 'alnum', and 'alphabetic'.
8506         * doc/lispref/searching.texi (Char Classes): Document the new
8507         behavior of [:print:].
8508         * etc/NEWS: Mention the new behavior of [:print:].
8510         Assign correct general-category and names to surrogates
8511         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
8512         surrogates.  This avoids assigning them the default
8513         general-category of 'Cn', i.e. unassigned codepoints.
8514         (unidata-get-name): Give surrogates synthetic names.
8516 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
8518         Assume C89 offsetof in xterm.c, xlwmenu.c
8519         * lwlib/xlwmenu.c (offset):
8520         * src/xterm.c (cvt_string_to_pixel_args):
8521         Use offsetof, not XtOffset.
8523 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
8525         Assume C89 offsetof in widget.c
8526         * src/widget.c (XtOffset): Remove; no longer needed.
8527         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
8529         Fix think-o in previous patch
8530         * src/window.c (count_windows, get_leaf_windows):
8531         Don't optimize count_windows incorrectly.
8533 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8535         Avoid some int overflows in window.c
8536         * src/print.c (print_object):
8537         * src/window.c (sequence_number):
8538         * src/window.h (struct window.sequence_number):
8539         Don't assume window sequence number fits in int.
8540         * src/window.c (window_select_count):
8541         * src/window.h (struct window.use_time, window_select_count):
8542         Don't assume window use time fits in int.
8543         * src/window.c (Fsplit_window_internal):
8544         Don't assume user-supplied integer, or sum, fits in int.
8545         (Fset_window_configuration, count_windows, get_leaf_windows)
8546         (save_window_save, Fcurrent_window_configuration):
8547         Use ptrdiff_t for object counts.
8548         (Fset_window_configuration): Omit unused local 'n'.
8549         (count_windows): Simplify by writing in terms of get_leaf_windows.
8550         (get_leaf_windows): Don't store through FLAT if it's null.
8551         (extract_dimension): New static function.
8552         (set_window_margins, set_window_fringes, set_window_scroll_bars):
8553         Use it to avoid undefined behavior when converting user-supplied
8554         integer to 'int'.
8556 2015-04-13  Glenn Morris  <rgm@gnu.org>
8558         Minor doc copyedits
8559         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
8560         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
8562 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8564         [Gnus] Catch the invalid-operation that idna.el will issue
8565         * lisp/gnus/gnus-art.el (gnus-use-idna):
8566         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
8567         * lisp/gnus/message.el (message-use-idna):
8568         Catch the invalid-operation that idna.el will issue.
8570 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8572         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
8574 2015-04-13  Sam Steingold  <sds@gnu.org>
8576         package--ensure-init-file: widen before looking for "(package-initialize)"
8578 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
8580         Change diff-switches default to `-u'
8581         (Bug#20290)
8582         * doc/emacs/files.texi (Comparing Files): Document the new default
8583         value of `diff-switches'.
8584         * doc/emacs/trouble.texi (Sending Patches): Document the preference
8585         for unified diff format.  Escape the plus in the suggested `-F' regexp
8586         value.
8587         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
8589 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8591         (gnus-group--setup-tool-bar-update): Fix last change
8592         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
8593         cursor-sensor-functions should be a list of functions.
8595 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8597         Use gmm-called-interactively-p in Gnus
8598         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
8600 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8602         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
8603         (Bug#20321)
8604         * lisp/cus-start.el (read-buffer-function): Don't advertize
8605         iswitchb-read-buffer any more.
8606         (iswitchb): Don't tweak this obsolete group any more.
8608 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
8610         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
8612         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
8613         Adding a string after a constructor's argument list will use
8614         that string as the constructor function docstring.  If this string
8615         is absent but the struct itself was given a docstring, use that as
8616         the constructor's docstring.
8617         Fixes (bug#17284).
8619 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8621         Deprecate `intangible' and `point-entered' properties
8622         * lisp/emacs-lisp/cursor-sensor.el: New file.
8623         * lisp/simple.el (pre-redisplay-functions): New hook.
8624         (redisplay--pre-redisplay-functions): New function.
8625         (pre-redisplay-function): Use it.
8626         (minibuffer-avoid-prompt): Mark obsolete.
8627         (redisplay--update-region-highlight): Adapt it to work as a function on
8628         pre-redisplay-functions.
8629         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
8630         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
8631         than point-entered to make the prompt intangible.
8632         * lisp/forms.el: Move `provide' calls to the end.
8633         (forms-mode): Don't use `run-hooks' on a local var.
8634         (forms--make-format, forms--make-format-elt-using-text-properties):
8635         Use cursor-intangible rather than `intangible'.
8636         (forms-mode): Enable cursor-intangible-mode.
8637         * lisp/isearch.el (isearch-mode): Use defvar-local.
8638         (cursor-sensor-inhibit): Declare.
8639         (isearch-mode): Set cursor-sensor-inhibit.
8640         (isearch-done): Set it back.
8641         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
8642         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
8643         any more.
8644         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
8645         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
8646         Add Edebug spec.
8647         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
8648         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
8649         inhibit-point-motion-hooks any more.
8650         (ses--cell-at-pos, ses--curcell): New functions, extracted from
8651         ses-set-curcell.
8652         (ses-set-curcell): Use them.
8653         (ses-print-cell, ses-setup): Use cursor-intangible instead of
8654         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
8655         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
8656         Use ses--cell-at-pos.
8657         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
8658         extracted from ses-command-hook.  Make them work with multiple windows
8659         displaying the same buffer.
8660         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
8661         Enable cursor-intangible-mode.
8662         (ses-command-hook): Remove cell highlight and mode-line update code.
8663         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
8664         Update for new name of text-property holding the cell name.
8665         (ses-rename-cell): Don't mess with mode-line-process.
8666         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
8667         cursor-sensor-functions property instead of point-entered.
8668         (erc-insert-timestamp-right, erc-format-timestamp):
8669         Use cursor-intangible rather than `intangible'.
8670         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
8671         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
8672         cursor-sensor-mode if needed.
8673         (erc-echo-timestamp): Adapt to calling convention of
8674         cursor-sensor-functions.
8675         (erc-insert-timestamp-right): Remove unused vars `current-window' and
8676         `indent'.
8677         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
8678         (gnus-update-group-mark-positions): Remove unused `topic' var.
8679         (gnus-group-insert-group-line): Remove unused var `header'.
8680         (gnus-group--setup-tool-bar-update): New function.
8681         (gnus-group-insert-group-line): Use it.
8682         (gnus-group-update-eval-form): Declare local
8683         dynamically-bound variables.
8684         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
8685         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
8686         (gnus-group-prepare-topics, gnus-topic-update-topic)
8687         (gnus-topic-change-level, gnus-topic-catchup-articles)
8688         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
8689         Use inhibit-read-only.
8690         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
8691         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
8692         * lisp/textmodes/reftex-index.el (reftex-display-index):
8693         Use cursor-intangible-mode if available.
8694         (reftex-index-post-command-hook): Check cursor-intangible.
8695         * lisp/textmodes/reftex-toc.el (reftex-toc):
8696         Use cursor-intangible-mode if available.
8697         (reftex-toc-recenter, reftex-toc-post-command-hook):
8698         Check cursor-intangible.
8699         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
8700         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
8701         (sgml-tags-invisible): Use with-silent-modifications and
8702         inhibit-read-only.  Enable cursor-sensor-mode.
8703         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
8704         calling convention of cursor-sensor-functions.
8705         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
8706         (table-point-entered-cell-hook, table-point-left-cell-hook):
8707         Don't autoload.
8708         (table-cell-entered-state): Remove var.
8709         (table--put-cell-point-entered/left-property)
8710         (table--remove-cell-properties):
8711         Use cursor-sensor-functions rather than point-entered/left.
8712         (table--point-entered/left-cell-function): Merge
8713         table--point-entered-cell-function and table--point-left-cell-function
8714         and adjust to calling convention of cursor-sensor-functions.
8716         Update ldef-boots.el
8718         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
8720         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
8722         Collapse successive char deletions in the undo log
8723         * src/cmds.c (remove_excessive_undo_boundaries): New function,
8724         extracted from Fself_insert_command.
8725         (Fdelete_char, Fself_insert_command): Use it.
8726         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
8727         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
8729         xterm and OSC 52: Add NEWS entry, and tweak the code
8730         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
8731         top-level.
8732         (terminal-init-xterm-activate-set-selection): Set a terminal property.
8733         (xterm--set-selection): Use it instead of checking the value of
8734         `terminal-initted'.  Don't use string-bytes.
8736 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
8738         xterm.el: Implement OSC-52 functionality for setting the X selection
8739         * lisp/term/xterm.el (xterm-max-cut-length): New var.
8740         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
8741         (terminal-init-xterm, xterm--version-handler): Use them.
8743 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8745         Remove left over code from when we used an obsolete/loaddefs.el file
8746         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
8747         we used an obsolete/loaddefs.el file.
8749         * cedet/semantic/fw.el: Use declare.
8750         * cedet/semantic/fw.el (semantic-exit-on-input)
8751         (semanticdb-without-unloaded-file-searches): Use declare.
8752         (semantic-fw-add-edebug-spec): Remove.
8754         (completion-lisp-mode-hook): Use completion-separator-chars
8755         * lisp/completion.el (completion-lisp-mode-hook):
8756         Use completion-separator-chars rather than local key binding.
8758         * src/*.c: Set deactivate_mark buffer-locally
8759         (Bug#20260)
8760         * src/insdel.c (prepare_to_modify_buffer_1):
8761         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
8762         buffer-locally.
8764 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8766         python.el: Keep symmetry on sexp navigation with parens
8767         (Bug#19954)
8768         * lisp/progmodes/python.el
8769         (python-nav--forward-sexp): Add argument skip-parens-p.
8770         (python-nav-forward-sexp, python-nav-backward-sexp)
8771         (python-nav-forward-sexp-safe)
8772         (python-nav-backward-sexp-safe): Use it.
8773         * test/automated/python-tests.el
8774         (python-nav-forward-sexp-1): Fix test.
8776 2015-04-12  João Távora  <joaotavora@gmail.com>
8778         Don't use `setq-local' in Gnus code
8779         This might break upstream builds with older Emacsen
8780         * lisp/gnus/message.el (message-mode): Use `set' and
8781         `make-local-variable' instead of `setq-local'.
8783 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8785         Update Makefile.in's .PHONY dependencies
8786         * Makefile.in (change-history-commit, master-branch-is-current)
8787         (no-ChangeLog): Now phony.
8789         Remove configure's --with-mmdf option
8790         * configure.ac (MAIL_USE_MMDF): Remove.
8791         * etc/NEWS: Document this.
8792         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
8793         (Bug#20308)
8795         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
8796         That way, 'make install' won't think it's a man page.
8797         Reported by Ashish SHUKLA in:
8798         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
8800         Improve 'make change-history' prereq tests
8801         * Makefile.in (gen_origin): Fix to match what's in the master branch.
8802         (no-ChangeLog, master-branch-is-current): New rules.
8803         (change-history): Depend on them, to avoid similar future problems.
8804         Escape the local-variables string to pacify Emacs when editing
8805         Makefile.in.
8807 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8809         * test/automated/package-test.el (with-package-test): Kill Packages buffer
8811         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
8812         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
8813         "Upgrade" last, and use capitalized instead of all-caps.
8815         * lisp/emacs-lisp/package.el: Completely silence async operations
8816         (package--make-autoloads-and-stuff): Silence autoloads.
8817         (package--save-selected-packages): New function, silences
8818         `customize-save-variable'.
8819         (package--user-selected-p, package-install-from-buffer)
8820         (package-delete, package-install): Use it.
8821         (package-install-from-archive)
8822         (package-menu--perform-transaction): Silence.
8823         (package-menu-execute): Feedback when operation starts.
8825         Use delay-mode-hooks when visiting the init-file
8826         * lisp/emacs-lisp/package.el (package--ensure-init-file):
8827         delay-mode-hooks
8828         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
8830         * lisp/files.el: Only message when saving if save-silently is nil
8831         (save-silently): New variable.
8832         (files--message): New function.
8833         (find-file-noselect, save-buffer, basic-save-buffer)
8834         (basic-save-buffer-2, save-some-buffers, not-modified)
8835         (append-to-file): Use them.
8837 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
8839         Support debug declarations in pcase macros
8840         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
8841         (pcase-UPAT): Use it.  Remove "`".
8842         (pcase--edebug-match-macro): New function.
8843         (pcase-defmacro): Support debug declarations.
8844         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
8845         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
8846         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
8848         pcase.el: Edebug support for `app' and vector patterns
8849         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
8850         (pcase-UPAT): Use it. Support `app' patterns.
8851         (pcase-QPAT): Support vector patterns.
8853         edebug.el: Disambiguate vector specifications
8854         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
8855         `(vector ...)' as a vector specification, not as a sublist.
8857         (gnus-summary-refer-thread): Don't clobber unread articles
8858         This fixes a bug where `A T' causes "random" articles to become marked
8859         as read.
8860         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
8861         gnus-newsgroup-unreads remains sorted.
8863         mouse-sel.el: Fix mouse-sel-get-selection-function
8864         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
8865         Use gui--last-selected-text-primary instead of no longer existing
8866         gui-last-selected-text.
8868         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
8870         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
8872 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8874         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
8876         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
8878         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
8879         (byte-compile--interactive): New var.
8880         (byte-compile--message): New function.
8881         (byte-compile-log-1, byte-force-recompile)
8882         (byte-recompile-directory, byte-recompile-file)
8883         (byte-compile-file, compile-defun)
8884         (byte-compile-file-form-defmumble, byte-compile)
8885         (byte-compile-file-form-defalias, display-call-tree): Use it.
8887         * lisp/files.el: Don't message when nothing happened
8888         (save-some-buffers, basic-save-buffer): Before messaging to say
8889         "nothing was saved" check if (called-interactively-p 'any).
8891 2015-04-12  João Távora  <joaotavora@gmail.com>
8893         Summary: Improve sexp-based movement in message-mode
8894         Works by giving citations and smileys a different syntax.  This helps
8895         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
8896         sexp-based movement.
8897         * lisp/gnus/message.el (message--syntax-propertize): New function.
8898         (message-mode): Set syntax-related vars.
8899         (message-smileys): New variable.
8900         * test/automated/message-mode-tests.el: New file
8902 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8904         Use bool for boolean in window.c
8905         * src/window.c: Omit unnecessary static function decls.
8906         (adjust_window_count, select_window, Fselect_window)
8907         (window_body_width, Fwindow_body_height, Fwindow_body_width)
8908         (set_window_hscroll, check_window_containing, Fwindow_at)
8909         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
8910         (unshow_buffer, replace_window, recombine_windows)
8911         (add_window_to_list, candidate_window_p, next_window)
8912         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
8913         (Fget_buffer_window, Fdelete_other_windows_internal)
8914         (replace_buffer_in_windows_safely, set_window_buffer)
8915         (Fset_window_buffer, Fforce_window_update)
8916         (temp_output_buffer_show, make_parent_window)
8917         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
8918         (resize_frame_windows, Fsplit_window_internal)
8919         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
8920         (Fresize_mini_window_internal, mark_window_cursors_off)
8921         (window_scroll, window_scroll_pixel_based)
8922         (window_scroll_line_based, scroll_command, Fscroll_other_window)
8923         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
8924         (Fmove_to_window_line, Fset_window_configuration)
8925         (delete_all_child_windows, apply_window_adjustment)
8926         (set_window_fringes, set_window_scroll_bars)
8927         (Fset_window_vscroll, foreach_window, foreach_window_1)
8928         (compare_window_configurations, Fcompare_window_configurations):
8929         Prefer 'bool', 'true', and 'false' for booleans.
8930         * src/window.h (WINDOW_MODE_LINE_LINES)
8931         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
8933 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8935         Speed up byte-compilation and autoload generation by avoiding mode-hooks
8936         This prevents emacs-lisp-mode-hook from being run everytime an
8937         autoload file is generated, which can account for a fraction of
8938         package installation time depending on the hooks the user has
8939         configured.
8940         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
8941         * lisp/emacs-lisp/autoload.el (autoload-find-file)
8942         (autoload-find-generated-file): Use delay-mode-hooks.
8944         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
8945         (package-menu-refresh): Respect async and do new package checking.
8946         (list-packages): Use `package-menu-refresh' instead of repeating code.
8948         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
8949         (package--quick-help-keys): New variable.
8950         (package--prettify-quick-help-key): New function.
8951         (package-menu-quick-help): Use it.
8953         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
8954         (package--build-compatibility-table): require finder
8956         * test/automated/package-test.el: Fix new test
8958         * lisp/emacs-lisp/package.el: Silence async operations
8959         (package--silence): New variable.
8960         (package--message): New function.
8961         (package-import-keyring, package-refresh-contents)
8962         (package-compute-transaction, package-install, package-delete)
8963         (package-menu--perform-transaction, package-menu-execute): Use it.
8965         * test/automated/package-test.el: Test async functionality
8966         (package-test-update-archives-async): New test
8968 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8970         Utilize `make-process' in epg.el
8971         * lisp/epg.el (epg-error-output): Abolish.
8972         (epg-context): New slot `error-buffer'.
8973         (epg--start): Use `make-process' and `make-pipe-process'.
8974         (epg--process-filter): Remove code separating stderr from stdout.
8975         (epg-wait-for-completion): Simplify `error-output' handling.
8976         (epg-reset): Dispose error buffer.
8978 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8980         * .gitignore: Ignore doc temps and outputs.
8982         Port commit-msg to MSYS Bash+Gawk
8983         See Eli Zaretskii in:
8984         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
8985         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
8986         (cent_sign, print_at_sign, at_sign): Revert previous change.
8987         (print_at_sign): Prepend "BEGIN".
8988         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
8990         Port commit-msg to broken MS-Windows shell
8991         * build-aux/git-hooks/commit-msg (cent_sign):
8992         Just use UTF-8 here rather than ASCII + printf, as the latter fails
8993         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
8994         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
8996 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
8998         Support GnuTLS v3.4 and later on MS-Windows
8999         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
9000         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
9001         GnuTLS DLL to load according to value of libgnutls-version.
9002         (Bug#20294)
9004 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
9006         Minor quoting etc. fixes to misc manuals
9007         Fix some minor quoting and spacing issues.  Distinguish more
9008         clearly among grave accent and apostrophe (which are ASCII) and
9009         single quote (which is not).  Prefer the standard terms
9010         "apostrophe" and "grave accent" to alternative names that can be
9011         confusing.  Use apostrophes to single-quote ASCII text.
9012         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
9013         rather than approximating it in ASCII with grave accent.
9015 2015-04-11  Daiki Ueno  <ueno@gnu.org>
9017         Respect more keyword args in `make-process'
9018         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
9019         keywords as documented.
9021 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
9023         Extract ChangeLog entries when committing a directory
9024         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
9025         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
9026         Add a FIXME comment.
9027         (log-edit-changelog-entries): Extract from
9028         `log-edit-changelog-entries', handle FILE being a directory
9029         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
9031 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
9033         Fix problems found by --enable-gcc-warnings
9034         * src/process.c (create_process, Fmake_pipe_process)
9035         (Fmake_network_process): Omit unused locals.
9037         Fix commit-msg to handle scissors lines
9038         * build-aux/git-hooks/commit-msg:
9039         Ignore every line after a scissors line, such as a line generated
9040         by 'git commit -v'.  Problem reported by Johan Bockgård in:
9041         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
9043         port commit-msg to Gawk 3.0.4 (1999)
9044         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
9045         (print_at_sign, at_sign): New vars.  Use them to avoid problems
9046         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
9047         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
9049         Have commit-msg report commit failure
9050         * build-aux/git-hooks/commit-msg: If the commit is aborted,
9051         say so.  Simplify by doing this at the end.  Problem reported
9052         by Eli Zaretskii in:
9053         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
9055 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9057         Clean up LDAP Configuration section of EUDC manual
9058         * doc/misc/eudc.texi: Combine indices.
9059         (LDAP Configuration): Use command markup.  Add index entries.
9060         Change formatting.  Wrap long lines.  Add noindent markup.
9062 2015-04-10  Daiki Ueno  <ueno@gnu.org>
9064         Add facility to collect stderr of async subprocess
9065         * src/w32.h (register_aux_fd): New function declaration.
9066         * src/w32.c (register_aux_fd): New function.
9067         * src/process.h (struct Lisp_Process): New member stderrproc.
9068         * src/process.c (PIPECONN_P): New macro.
9069         (PIPECONN1_P): New macro.
9070         (Fdelete_process, Fprocess_status, Fset_process_buffer)
9071         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
9072         (Fcontinue_process): Handle pipe process specially.
9073         (create_process): Respect p->stderrproc.
9074         (Fmake_pipe_process): New function.
9075         (Fmake_process): Add new keyword argument :stderr.
9076         (wait_reading_process_output): Specially handle a pipe process when
9077         it gets an EOF.
9078         (syms_of_process): Register Qpipe and Smake_pipe_process.
9079         * doc/lispref/processes.texi (Asynchronous Processes): Document
9080         `make-pipe-process' and `:stderr' keyword of `make-process'.
9081         * lisp/subr.el (start-process): Suggest to use `make-process' handle
9082         standard error separately.
9083         * test/automated/process-tests.el (process-test-stderr-buffer)
9084         (process-test-stderr-filter): New tests.
9085         * etc/NEWS: Mention new process type `pipe' and its usage with the
9086         `:stderr' keyword of `make-process'.
9088 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
9090         Minor quoting etc. fixes to lispref manual
9091         * doc/lispref/tips.texi (Documentation Tips):
9092         Distinguish more clearly among grave accent, apostrophe,
9093         and single quote.
9094         * doc/lispref/README, doc/lispref/buffers.texi:
9095         * doc/lispref/commands.texi, doc/lispref/control.texi:
9096         * doc/lispref/customize.texi, doc/lispref/display.texi:
9097         * doc/lispref/elisp.texi, doc/lispref/files.texi:
9098         * doc/lispref/frames.texi, doc/lispref/hash.texi:
9099         * doc/lispref/help.texi, doc/lispref/internals.texi:
9100         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
9101         * doc/lispref/markers.texi, doc/lispref/modes.texi:
9102         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
9103         * doc/lispref/os.texi, doc/lispref/positions.texi:
9104         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
9105         * doc/lispref/text.texi, doc/lispref/tips.texi:
9106         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
9107         Use American-style double quoting in ordinary text,
9108         and quote 'like this' when single-quoting in ASCII text.
9109         Also, fix some minor spacing issues.
9111 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
9113         Handle symlinked test directory in tramp-tests.el
9114         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
9115         (tramp--test-check-files): Use `file-truename' for directories.
9117 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
9119         Fix 'recenter' when visual-line-mode is turned on
9120         * src/window.c (Frecenter): Use the same code for GUI and TTY
9121         frames alike; use vmotion only for "initial" frames.  This is
9122         because vmotion doesn't support visual-line-mode.  Rewrite the
9123         'iarg >= 0' case to use move_it_* functions instead of using
9124         vmotion, for the same reason.  Fix the clipping of the argument
9125         value to support scroll-margin in all cases and avoid unwarranted
9126         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
9127         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
9128         which see.
9130 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9132         * abbrev.el (define-abbrev-table): Refine last change.
9134         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
9135         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
9136         use of c[ad]+r", so as to keep the "cl-" prefix on all
9137         cl-lib definitions.
9139         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
9141         * lisp/cedet/semantic: Remove some dead code
9142         * lisp/cedet/semantic/util-modes.el
9143         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
9144         any more.
9145         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
9146         not supported any more.
9147         (semantic-safe): Use `declare'.
9148         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
9149         (semantic-tag-intangible-p): Remove unused functions.
9150         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
9151         Remove unused function.
9153         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
9154         (gnus-article-hide-text, gnus-article-unhide-text)
9155         (gnus-article-unhide-text-type): Remove special handling of
9156         `intangible' since that property is not used any more.
9157         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
9159 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
9161         Use the VC root in `log-edit-listfun'
9162         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
9163         `log-edit-listfun'.
9165 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
9167         Fix description of Unix time, mention new function.
9168         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
9169         Unix time.
9170         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
9171         (Basic Operations on Units): Mention `calc-convert-exact-units'.
9173 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
9175         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
9177 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
9179         (log-edit-insert-changelog-entries): Don't add newline after the last entry
9180         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
9181         Don't add newline after the last entry.
9183 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
9185         css-mode.el: Add "not" pseudo-class
9186         (Bug#20267)
9187         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
9188         list of CSS pseudo-classes.
9190 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9192         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
9194 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
9196         Stop messing with the EMACS env var
9197         * misc.texi (Interactive Shell): Remove description of EMACS env var.
9199 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9201         Adapt 'make change-history' to coding cookie
9202         * Makefile.in (change-history): Adjust to change of format of
9203         ChangeLog file, which now has a coding cookie before an indented
9204         copyright notice.
9206 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9208         Adapt 'make change-history' to coding cookie
9209         * Makefile.in (change-history): Adjust to change of format of
9210         ChangeLog file, which now has a coding cookie before an indented
9211         copyright notice.
9213         gitlog-to-changelog coding cookie and mv -i
9214         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
9215         for copyright notice prototype, so that we get a proper "coding:"
9216         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
9217         existing ChangeLog.  Problems reported by Eli Zaretskii in:
9218         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
9220         Merge from gnulib
9221         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
9222         2015-04-09 gitlog-to-changelog: port to MS-Windows
9224 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
9226         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
9227         (Bug#20212)
9229 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9231         Stop messing with the EMACS env var
9232         (Bug#20202)
9233         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
9234         * lisp/comint.el (comint-exec-1):
9235         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
9236         * lisp/progmodes/compile.el (compilation-start): Same and bring
9237         INSIDE_EMACS's format in line with other users.
9239         css-mode.el (css-smie-rules): Fix indentation after complex selectors
9240         (Bug#20282)
9241         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
9242         inner structure of selectors.
9244 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
9246         python.el: Indent docstring lines to base-indent
9247         (Bug#19595)
9248         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
9249         an initial patch.
9250         * lisp/progmodes/python.el
9251         (python-indent-context): Add :inside-docstring context.
9252         (python-indent--calculate-indentation): Handle :inside-docstring.
9253         (python-indent-region): Re-indent docstrings.
9254         * test/automated/python-tests.el (python-indent-region-5)
9255         (python-indent-inside-string-2): Fix tests.
9257         python.el: Increase native completion robustness
9258         (Bug#19755)
9259         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
9260         this and providing useful ideas.
9261         * lisp/progmodes/python.el
9262         (python-shell-completion-native-output-timeout): Increase value.
9263         (python-shell-completion-native-try-output-timeout): New var.
9264         (python-shell-completion-native-try): Use it.
9265         (python-shell-completion-native-setup): New readline setup avoids
9266         polluting current context, ensures output when no-completions are
9267         available and includes output end marker.
9268         (python-shell-completion-native-get-completions): Trigger with one
9269         tab only.  Call accept-process-output until output end is found or
9270         python-shell-completion-native-output-timeout is exceeded.
9272 2015-04-08  Samer Masterson  <samer@samertm.com>
9274         * lisp/eshell: Make backslash a no-op in front of normal chars
9275         (Bug#8531)
9276         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
9277         (eshell-parse-backslash): Return escaped character after backslash
9278         if it is special.  Otherwise, if the backslash is not in a quoted
9279         string, ignore the backslash and return the character after; if
9280         the backslash is in a quoted string, return the backslash and the
9281         character after.
9282         * test/automated/eshell.el (eshell-test/escape-nonspecial)
9283         (eshell-test/escape-nonspecial-unicode)
9284         (eshell-test/escape-nonspecial-quoted)
9285         (eshell-test/escape-special-quoted): Add tests for new
9286         `eshell-parse-backslash' behavior.
9288 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
9290         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
9291         after the file name.
9292         (Bug#20276)
9294 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
9296         Minor quoting etc. fixes to Emacs manual
9297         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
9298         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
9299         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
9300         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
9301         * doc/emacs/indent.texi, doc/emacs/macos.texi:
9302         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
9303         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
9304         * doc/emacs/search.texi, doc/emacs/trouble.texi:
9305         * doc/emacs/vc1-xtra.texi:
9306         Use American-style double quoting in ordinary text,
9307         and quote 'like this' when single-quoting in ASCII text.
9308         Also, fix some minor spacing issues.
9310         Minor quoting etc. fixes to elisp intro
9311         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
9312         American-style double quoting in ordinary text.  In ASCII text,
9313         consistently quote 'like this' instead of `like this', unless
9314         Emacs requires the latter.
9316 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
9318         * CONTRIBUTE: Mention log-edit-insert-changelog.
9320         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
9322 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
9324         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
9326 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
9328         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
9329         (Bug#20270)
9330         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
9331         Fix inheritance of initargs.
9333 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
9335         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
9336         while dowloading information.
9338         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
9339         (package--ensure-init-file): Check file contents before visiting.
9340         (package-initialize): Call it.
9341         (package-install-from-buffer, package-install): Don't call it.
9343 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
9345         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
9346         (Bug#17517)
9348 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
9350         Fix nasty scoping bug in tramp-cache.el
9351         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
9353 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
9355         Add notice to visual commands section
9356         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
9357         such as git call less with its -F option which omits pagination if
9358         the contents is less than one page long.  This interferes with
9359         eshell's visual (sub-)commands.
9361 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
9363         ffap: Support environment variable expansion in file names
9364         (Bug#19839)
9365         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
9366         environment variable expansion in file names.
9368 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9370         Prefer double-quote to accent-grave in man pages
9372 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
9374         (Bug#20257)
9375         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
9377 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
9379         Update etc/PROBLEMS.
9380         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
9381         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
9382         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
9383         respectively); other minor updates and tweaks.  (Bug#20011)
9385 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9387         Add doc strings for some Isearch state vars
9388         * lisp/misearch.el (multi-isearch-buffer-list)
9389         (multi-isearch-file-list): Add doc strings.
9390         (Bug#20232)
9392 2015-04-07  Alan Mackenzie  <acm@muc.de>
9394         Always mark "<" and ">" in #include directives with text properties.
9395         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
9396         matcher" with an invocation of c-make-font-lock-search-function to allow
9397         fontification when there's no trailing space on an "#include <..>" line.
9399 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9401         Generate a ChangeLog file from commit logs
9402         * .gitignore: Add 'ChangeLog'.
9403         * build-aux/gitlog-to-changelog: New file, from Gnulib.
9404         * build-aux/gitlog-to-emacslog: New file.
9405         * CONTRIBUTE: Document the revised workflow.
9406         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
9407         instead of just special cases.
9408         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
9409         (ChangeLog, unchanged-history-files, change-history)
9410         (change-history-commit): New rules.
9411         * admin/admin.el (make-manuals-dist--1):
9412         Don't worry about doc/ChangeLog.
9413         * admin/authors.el: Add a FIXME.
9414         * admin/make-tarball.txt:
9415         * lisp/calendar/icalendar.el:
9416         * lisp/gnus/deuglify.el:
9417         * lisp/obsolete/gulp.el:
9418         * lwlib/README:
9419         Adjust to renamed ChangeLog history files.
9420         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
9421         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
9422         Remove obsolete discussion of merging ChangeLog files.
9423         New section "Maintaining ChangeLog history".
9424         * build-aux/git-hooks/pre-commit:
9425         Reject attempts to commit files named 'ChangeLog'.
9426         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
9427         * make-dist: Make and distribute top-level ChangeLog if there's a
9428         .git directory.  Distribute the new ChangeLog history files
9429         instead of scattered ChangeLog files.  Distribute the new files
9430         gitlog-to-changelog and gitlog-to-emacslog.
9431         (Bug#19113)
9433         Rename ChangeLogs for gitlog-to-changelog
9434         This patch was implemented via the following shell commands:
9435         find * -name ChangeLog |
9436         sed 's,.*,git mv & &.1,
9437         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
9438         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
9439         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
9440         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
9441         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
9442         sh
9443         git commit -am"[this commit message]"
9445 This file records repository revisions from
9446 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
9447 commit f7ee23e587b01f179284b5554c67d579a2def676 (inclusive).
9448 See ChangeLog.1 for earlier changes.
9450 ;; Local Variables:
9451 ;; coding: utf-8
9452 ;; End:
9454   Copyright (C) 2015 Free Software Foundation, Inc.
9456   This file is part of GNU Emacs.
9458   GNU Emacs is free software: you can redistribute it and/or modify
9459   it under the terms of the GNU General Public License as published by
9460   the Free Software Foundation, either version 3 of the License, or
9461   (at your option) any later version.
9463   GNU Emacs is distributed in the hope that it will be useful,
9464   but WITHOUT ANY WARRANTY; without even the implied warranty of
9465   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9466   GNU General Public License for more details.
9468   You should have received a copy of the GNU General Public License
9469   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.