Add doc strings to 2 help-mode.el functions
[emacs.git] / ChangeLog.2
blob3f31807049c287ffdbad14330c25583151b8496a
1 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
3         * src/keyboard.c: Use false/true instead of 0/1 for booleans
4         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
6 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
8         * tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect stderr
9         to /dev/null, this is done in `tramp-send-command-and-check'.
11 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
13         Flush file properties in Tramp.
14         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
15         (tramp-sh-handle-set-file-times):
16         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
17         (tramp-adb-handle-set-file-times): Flush the file properties of
18         the directory.
20 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
22         * doc/emacs/misc.text (Amusements): Fixed typo.
24 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
26         Don't miss warnings about removing string text properties while dumping
27         * src/alloc.c (purecopy): Warn about removing a string's text
28         properties even when the same string was already pure-copied
29         earlier.
30         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
31         (elisp--xref-format-extra): Fix the commentary.
33 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
35         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049)
37 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
39         * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038)
40         * lisp/progmodes/compile.el: Use lexical-binding.
41         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
43 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
45         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
46         * lisp/uniquify.el: Remove redundant `:group's.
48 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
50         Make add_to_log varargs
51         * src/alloc.c (run_finalizer_handler):
52         * src/charset.c (load_charset_map_from_vector):
53         * src/nsimage.m (ns_load_image):
54         * src/xfaces.c (load_pixmap, load_color2):
55         Simplify, now that add_to_log has a variable number of args.
56         * src/image.c (image_error): Take a variable number of args.
57         Callers simplified.
58         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
59         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
60         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
61         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
63         Optional args for holiday-greek-orthodox-easter
64         * etc/NEWS: Document this.
65         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
66         Add optional args N and STRING, mimicking the API and code of
67         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
69 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
71         xref-find-definitions: Exclude more generic function items.
72         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string.
73         (cl--generic-find-defgeneric-regexp): New.
74         (find-function-regexp-alist): Add it.
75         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
76         elisp-mode.el, change to search for ";;; Code:"
77         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
78         (find-function-regexp-alist): Add them.
79         * lisp/progmodes/elisp-mode.el:
80         (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due
81         to bug#21237.
82         (elisp--xref-find-definitions): Exclude co-located default methods for
83         generic functions. Also exclude implicitly declared defgeneric.
84         (elisp--xref-find-definitions): Handle C source properly. Exclude minor
85         mode variables defined by 'define-minor-mode'.
86         * test/automated/elisp-mode-tests.el: Declare generic functions, add
87         tests for them.
88         (xref-elisp-test-run): Fix bug.
89         (emacs-test-dir): Improve initial value.
90         (find-defs-defun-defvar-el): Don't expect defvar.
91         (find-defs-feature-el): Match change to find-feature-regexp.
93 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
95         Improve warning about purecopy of strings with properties
96         * src/alloc.c (purecopy): Show the offending string with the
97         warning about removing its text properties.
99 2015-08-12  Alan Mackenzie  <acm@muc.de>
101         Introduce new macros to cover Emacs's new names in cl-lib.el.
102         This also eliminates `mapcan' warnings in XEmacs.
103         progmodes/cc-defs.el (c--mapcan-status): new variable to characterise
104         [X]Emacs versions.
105         (top-level): Require either 'cl or 'cl-lib, depending on
106         c--mapcan-status.
107         Change this back to cc-external-require from an eval-when-compile
108         require.
109         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
110         (c--delete-duplicates): New macros which expand into either old or new
111         names.
112         (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros
113         rather than the old names.
114         progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather
115         than mapcan.
116         progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
117         progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
118         depending on c--mapcan-status.
119         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
120         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
121         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
122         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
123         (c-decl-block-key, c-keywords, c-keywords-obarray)
124         (c-regular-keywords-regexp, c-primary-expr-regexp,
125         c-primary-expr-regexp)
126         (c-block-prefix-disallowed-chars, c-known-type-key,
127         c-nonlabel-token-key)
128         (c-make-init-lang-vars-fun): Use the new macros rather than the old
129         names.
131 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
133         loadhist.el (read-feature): Conform to completing-read
134         * lisp/loadhist.el (read-feature): According to `completing-read'
135           documentation, if collection is a list, then it must be a list of
136           strings. And not a list of symbols like before.
138 2015-08-12  David Kastrup  <dak@gnu.org>
140         Deal gracefully with up-events (Bug#19746)
141         * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
142         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
143         those may easily be injected by user-level Lisp code.
144         (read_key_sequence): Discard unbound up-events like unbound
145         down-events: they are even more likely only relevant for special
146         purposes.
147         While Emacs will not produce up-events on its own currently (those are
148         converted to drag or click events before being converted to
149         Lisp-readable structures), the input queue can be made to contain them
150         by synthesizing events to `unread-command-events'.  Emacs should deal
151         consistently with such events.
153 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
155         Fix display of thin lines whose newline has line-height property of t
156         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
157         and descent values of non-empty glyph rows, since they could have
158         forced low values deliberately.  (Bug#21243)
160 2015-08-12  Richard Stallman  <rms@gnu.org>
162         Offer to combine multiple To or CC fields.
163         * sendmail.el (mail-combine-fields): New function.
164         (mail-send): Call 'mail-combine-fields'.
166         Don't decrypt encrypted files.
167         * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
169         Handle encrypted mbox files.
170         * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox
171         file if necessary.
173         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
174         * rmail.el (rmail-epa-decrypt-1): New subroutine.
175         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
176         In a mime message, reenable Mime and show the parts that
177         were shown before.
178         Add keyword "decrypt" if anything decrypted.
180         epa-inhibit inhibits auto-recognition of .gpg files
181         * lisp/epa-file.el (epa-inhibit): New variable.
182         (epa-file-handler): Check epa-inhibit.
184 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
186         * emacs-lisp/lisp-mnt.el (lm-header): save-excursion
188 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
190         Respect python.el imenu when semantic-mode is off
191         Fixes debbugs:21220
192         * lisp/cedet/semantic/wisent/python.el: Do not force
193         wisent-python-default-setup on python-mode-hook.
195 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
197         Give names to Unicode code points in C code
198         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
199         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
200         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
201         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
202         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
203         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
204         (OBJECT_REPLACEMENT_CHARACTER):
205         New named constants for Unicode code points.
206         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
207         * src/composite.c (char_composable_p):
208         * src/lread.c (readevalloop, read1):
209         * src/xdisp.c (get_next_display_element):
210         Use them.
211         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
212         Remove; now in character.h.
214 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
216         elisp--xref-find-definitions handle cl-defstuct default constructor
217         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
218         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
219         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
220         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
221         from xref-elisp-test for ease of debugging.
222         (xref-elisp-deftest): Rename from xref-elisp-test.
223         (find-defs-constructor): New test.
224         (find-defs-defgeneric-el): Match batch test config.
225         (compile): Required for find-defs compilation-minor-mode test.
226         (find-defs-defvar-el): Match code change.
227         (find-defs-face-el): Match code change.
228         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
229         Improve doc string.
231 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
233         * lisp/replace.el (perform-replace): Document `replacements'.
234         (perform-replace): Move the description of the format of `replacements' from
235         the body's comment to the docstring.
237 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
239         Rewrite elisp--xref-find-definitions to handle many more cases; add tests.
240         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): deleted
241         (elisp--xref-format-cl-defmethod): new
242         (find-feature-regexp): new
243         (find-alias-regexp): new
244         (elisp--xref-make-xref): new
245         (elisp--xref-find-definitions): Rewrite using the above, handle many more
246         cases. Always output all available definitions.
247         (xref-location-marker): No need for special cases.
248         * test/automated/elisp-mode-tests.el: Add more tests of
249         elisp--xref-find-definitions, improve current tests.
251 2015-08-10  Phillip Lord  <phillip.lord@newcastle.ac.uk>
253         * ChangeLog.2: Formatting update.
254         Formatting for one change entry did not follow standard ChangeLog
255         conventions and has now been updated.
257 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
259         Fix recording of events pushed onto unread-command-events
260         * src/keyboard.c (read_char): Make sure events read from
261         unread-command-events and unread-post-input-method-events are
262         always recorded by record_char.  Reported by David Kastrup
263         <dak@gnu.org>, see
264         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
266 2015-08-10  Samer Masterson  <samer@samertm.com>
268         Set file buffer as current for "--file"
269         * lisp/startup.el (command-line-1): Set file buffer as current before
270         it is displayed so it can be used with options like
271         "--eval".  (Bug#21095)
273 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
275         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
276         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
277         after setting LC_ALL to the desired locale, to avoid affecting how
278         numbers are read and printed.  (Bug#21223)
280 2015-08-10  Alan Mackenzie  <acm@muc.de>
282         Fix "Invalid search bound (wrong side of point)" in fontification.
283         progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an
284         initialization expression, check point is not beyond the fontification
285         limit.
287 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
289         Fix DPI calculation when Xft/DPI is default
290         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
291         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
292         Remove unnecessary cast while we're in the neighborhood.
294 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
296         Add project-vc-search-path and project-vc-ignores
297         * lisp/progmodes/project.el (project-vc): New group.
298         (project-vc-search-path, project-vc-ignores): New variables.
299         (project--value-in-dir): Utility function.
300         (project-search-path, project-ignores): Use them.
301         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
302         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
304 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
306         Fix some minor quoting issues with grave accent
307         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
308         Remove redundant quotes.
309         * src/doc.c (uLSQM, uRSQM): New macros.
310         * src/doc.c (Fsubstitute_command_keys):
311         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
312         preference for quotes rather than hardcoding the ‘grave’ style.
313         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
314         (re_match_2_internal) [DEBUG]: In debugging output, quote C
315         strings with "...", not `...'.
317         ChangeLog.2 ignores remote-tracking merges
318         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
319         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
320         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
322 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
324         Use kpsewhich in ffap-latex-mode, if available
325         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
326         (ffap-latex-mode): Use kpsewhich if available.
328         ffap: disallow braces in filenames for tex modes
329         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
330         braces in tex-related modes.
332         Remove useless backslashes from ffap-string-at-point-mode-alist
333         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
334         misleading backslashes from default value.
336         Augment docstring of ffap-string-at-point-mode-alist
337         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
338         and END are handled.
340 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
342         Remove no-op calls to substitute-command-keys
343         * lisp/org/org-src.el (org-edit-src-code)
344         (org-edit-fixed-width-region):
345         * lisp/simple.el (completion-setup-function):
346         Remove calls to substitute-command-keys that always just return
347         their argument.
349 2015-08-09  Daiki Ueno  <ueno@gnu.org>
351         Utilize `quit-window' in epa.el
352         * epa.el (epa-exit-buffer-function): Set to `quit-window'.
353         (Bug#21210)
355 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
357         fix link to source code in help window
358         * lisp/help-fns.el (find-lisp-object-file-name): remove code that
359         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
360         'No longer include timestamp in header of .elc files'. Add code
361         that will return .el source file in load-path.
363 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
365         * isearch.el (isearch-search-fun-default): (Bug#21164)
366         Respect `isearch-lax-whitespace' when searching through
367         `isearch-word'.
369 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
371         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
373         * org.el: Fix up some lexical scoping warnings, and use dolist
374         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
375         (org-set-regexps-and-options, org-assign-fast-keys)
376         (org-contextualize-keys, org-contextualize-validate-key)
377         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
378         (org-find-olp, org-find-exact-heading-in-directory)
379         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
380         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
381         (org-replace-escapes): Use dolist.
382         (org-mode): Optimize away XEmacs-only code.
383         (org-refile-get-targets): Remove unused var `f'.
384         (org-fast-todo-selection): Remove unused var `e'.
385         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
386         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
387         (org-format-latex): Use dolist.  Remove unused var `e'.
388         (org-toggle-heading): Access vars lexically rather than dynamically.
389         (org-backward-sentence, org-forward-sentence, org-meta-return)
390         (org-kill-line): Mark arg as unused.
391         (org-submit-bug-report): Silence compiler warning.
392         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
393         (org-get-cursor-date): Remove unused var `tm'.
394         (org-comment-or-uncomment-region): Use standard name `_'.
395         (reftex-docstruct-symbol, reftex-cite-format): Declare to
396         silence byte-compiler.
397         (org-reftex-citation): Add `org--' prefix to dynamically scoped
398         `rds' var.
400 2015-08-08  Nicolas Petton  <nicolas@petton.fr>
402         Merge remote-tracking branch 'origin/fix/subsequence-error-with-negative-sequences'
404 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
406         Electric quote if coding is undecided or no conv
407         * lisp/electric.el (electric--insertable-p): Also say that a
408         string is insertable if the buffer file coding system is undecided
409         or uses no conversion, as curved quotes will work in either case.
411         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
413 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
415         Fix overlay string display regressions introduced in Emacs 24.5
416         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
417         buffer position, if we move the iterator to a new position as
418         result of jumping over text covered by a "replacing" display
419         property.
420         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
422         Support recovery from C stack overflow on MS-Windows
423         * src/w32fns.c (w32_reset_stack_overflow_guard)
424         (stack_overflow_handler): New functions for handling C stack
425         overflow exceptions.
426         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
427         specially, and zero out except_addr if we do.
428         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
429         mode.
430         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
431         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
432         the MinGW build, but the code guarded by that is for Posix hosts.
433         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
434         w32_reset_stack_overflow_guard.
435         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
436         (sigsetjmp): New macro.
437         (w32_reset_stack_overflow_guard): Declare the prototype.
438         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
440 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
442         Improve error signalling for seq-subseq.
444         * lisp/seq.el (seq-subseq): The existing behaviour is to error
445         when indexes are too large, but to silently ignore numbers which
446         are too negative for lists.  String and vector handling errors in
447         both cases. This has been regularlised. Error signalling behaviour
448         has been explicitly added to the docstring.
450         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
451         therefore also impacted by this change. The docstring has been
452         updated to reflect this.
454         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
455         added for these exceptional cases, as well as one non exceptional
456         base case.
459 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
461         Improve error checking in tramp-adb.el
462         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
463         Improve error checking.  "ls -l" on Android in Enforcing mode can
464         print "lstat './FILENAME failed: Permission denied".
466 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
468         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
469         non-struct vectors.
471 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
473         lisp/window.el: fix typo, more `display-buffer-use-some-frame'
474         * lisp/window.el: fix typo that broke build
475         (display-buffer--action-function-custom-type): add
476         `display-buffer-use-some-frame'
477         (display-buffer): add `display-buffer-use-some-frame' to doc string
479         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
480         * lisp/window.el (display-buffer-use-some-frame): Add support for
481         'inhibit-same-window in alist.
482         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
483         'inhibit-same-window in alist.
485 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
487         Avoid infinite loop in display of invisible text in strings
488         * src/xdisp.c (handle_invisible_prop): If the next change of
489         invisibility spec does not mean the beginning of a visible text,
490         update the string position from which to start the search for the
491         next invisibility change.  This avoids an infinite loop when we
492         have more than one invisibility spec that are made inactive by
493         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
494         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
495         for the situation that caused bug #21200.
497 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
499         * lisp/emacs-lisp/package.el: Simplify describe-package-1
500         (package-help-section-name-face): New face.
501         (package--print-help-section): New function.
502         (describe-package-1): Refactor section printing.
503         (package-make-button): Use face instead of font-lock-face, which
504         doesn't work on buttons.
506         * lisp/emacs-lisp/package.el: Define custom faces
507         (package-name-face, package-description-face)
508         (package-status-built-in-face, package-status-external-face)
509         (package-status-available-face, package-status-new-face)
510         (package-status-held-face, package-status-disabled-face)
511         (package-status-installed-face, package-status-dependency-face)
512         (package-status-unsigned-face, package-status-incompat-face)
513         (package-status-avail-obso-face): New faces.
514         (package-menu--print-info-simple): Use them.
516 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
518         Fix some confusion with ‘format’
519         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
520         (allout-graphics-modification-handler):
521         Protect arbitrary string in a format context with "%s" format.
522         * lisp/avoid.el:
523         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
524         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
525         * lisp/erc/erc-button.el (erc-button-beats-to-time):
526         * lisp/gnus/message.el (message-send-form-letter):
527         * lisp/org/ob-core.el (org-babel-check-evaluate)
528         (org-babel-confirm-evaluate):
529         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
530         * lisp/org/ox-latex.el (org-latex-compile):
531         * lisp/org/ox-man.el (org-man-compile):
532         * lisp/org/ox-odt.el (org-odt-template):
533         * lisp/org/ox-texinfo.el (org-texinfo-compile):
534         * lisp/progmodes/prolog.el (prolog-help-info)
535         (prolog-view-predspec):
536         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
537         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
538         * lisp/textmodes/rst.el (rst-replace-lines):
539         Change (message (format ...)) to (message ...), and likewise
540         for ‘error’.  This lessens the probability of confusion when the
541         output of ‘format’ contains ‘%’.
543 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
545         * lisp/replace.el (replace-character-fold): Default to nil
547         * lisp/character-fold.el: Fix lax whitespace
548         (character-fold-table): Don't make space match other whitespace chars.
549         (character-fold-to-regexp): Simplify lax behaviour.
551 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
553         Preserve window point in xref-find-definitions-other-window
554         Fix the problem reported by Ingo Logmar in
555         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
556         * lisp/progmodes/xref.el (xref--goto-char): Extract from
557         xref--goto-location.
558         (xref--pop-to-location): Use it. Replace xref--goto-location with
559         a direct xref-location-marker call.
560         (xref--show-location): Likewise.
561         (xref--display-position): Use xref--goto-char.
563         * lisp/progmodes/project.el: Add a paragraph to the front matter.
565 2015-08-04  David Kastrup  <dak@gnu.org>
567         Do not overwrite preexisting contents of unread-command-events
568         * lisp/vc/emerge.el (emerge-show-file-name):
569         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
570         (vhdl-comment-insert, vhdl-hooked-abbrev):
571         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
572         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
573         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
574         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
575         * lisp/obsolete/vip.el (vip-escape-to-emacs)
576         (vip-prefix-arg-value, vip-prefix-arg-com):
577         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
578         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
579         (quail-tibkey-update-translation):
580         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
581         * lisp/leim/quail/lao.el (quail-lao-update-translation):
582         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
583         (quail-japanese-self-insert-and-switch-to-alpha):
584         * lisp/leim/quail/hangul.el (hangul2-input-method)
585         (hangul3-input-method, hangul390-input-method):
586         * lisp/language/hanja-util.el (hangul-to-hanja-char):
587         * lisp/international/robin.el (robin-input-method):
588         * lisp/international/quail.el (quail-start-translation)
589         (quail-start-conversion):
590         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
591         (gnus-article-describe-key-briefly):
592         * lisp/eshell/em-hist.el (eshell-list-history):
593         * lisp/term.el (term-dynamic-list-input-ring)
594         (term-dynamic-list-completions):
595         * lisp/subr.el (momentary-string-display):
596         * lisp/simple.el (read-quoted-char):
597         * lisp/pcomplete.el (pcomplete-show-completions):
598         * lisp/kmacro.el (kmacro-repeat-on-last-key):
599         * lisp/info.el (Info-summary):
600         * lisp/ehelp.el (electric-help-command-loop):
601         * lisp/ebuff-menu.el (electric-buffer-list)
602         (Electric-buffer-menu-exit):
603         * lisp/double.el (double-translate-key):
604         * lisp/comint.el (comint-dynamic-list-input-ring)
605         (comint-dynamic-list-completions): Do not overwrite preexisting
606         contents of `unread-command-events' when putting new events into
607         it.
609 2015-08-04  Daniel Colascione  <dancol@dancol.org>
611         Improve ansi-color filtering of unrecognized escape sequences
612         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
613         escape sequences.
614         (ansi-color-filter-apply): Filter out unrecognized escape sequences
615         (ansi-color-apply): Filter out unrecognized escape sequences
617 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
619         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
620         definitions to `easy-menu-define', improve a couple to account for
621         async, and add a couple of new commands.
623 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
625         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
627 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
629         Add new 'calendar-weekend-days' option
630         Make the days receiving the 'calendar-weekend-header' face freely
631         customizable, as they differ by region/culture.
632         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
633         new variable.
634         * lisp/calendar/calendar.el (calendar-generate-month): New variable
635         calendar-weekend-days to customize day header fontification.
637 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
639         Redo text-quoting-style variable
640         Rename help-quote-translation to text-quoting-style,
641         and use symbols rather than characters as values.
642         This follows suggestions along these lines by Alan Mackenzie in:
643         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
644         and by Drew Adams in:
645         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
646         * doc/lispref/help.texi (Keys in Documentation)
647         * etc/NEWS:
648         * lisp/cus-start.el (standard):
649         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
650         Document and/or implement the new behavior instead of the old.
651         (syms_of_doc): New symbols 'grave' and 'straight'.
653 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
655         nnimap.el: Use IMAP MOVE extension if available
656         * lisp/gnus/nnimap.el (nnimap-request-move-article)
657         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
658         Use MOVE extension if available.
660         nnimap.el: Explicitly ask for server capabilities
661         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
662         capabilities will be returned in the login-result.
664 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
666         Treat help strings like other doc strings
667         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
668         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
669         substitute-command-keys.
670         * src/keyboard.c (show_help_echo, parse_menu_item): Call
671         substitute-command-keys on the help string before displaying it.
673         Also mention "curly quotes"
674         See Drew Adams's email in:
675         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
676         * doc/lispref/help.texi (Keys in Documentation):
677         Add index entry "curly quotes".
678         * etc/NEWS: Use the phrase "curly quotes" too.
680         ede-proj-target-makefile docstring tweaks
681         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
682         Consistently use "all:" to describe the all: target,
683         replacing three different and confusingly-quoted usages.
685 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
687         Whitespace fixes
689 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
691         Don't abort emacsclientw when -a was specified
692         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
693         out if we are in emacsclientw and -a was specified.
695 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
697         Fix handling of 1st keystroke on MS-Windows
698         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
699         This is needed to correctly handle the session's first keystroke,
700         if it has any modifiers.  (Bug#19994)
702 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
704         Substitute some customization etc. doc strings
705         These changes apply substitute-command-keys to some
706         doc strings that were going through untranslated
707         when creating customization or other widgets.
708         * lisp/cus-edit.el (custom-group-value-create):
709         * lisp/wid-edit.el (widget-default-create):
710         (widget-push-button-value-create):
711         Treat the widget tag as a doc string.
712         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
713         Treat the :documentation value as a doc string.
714         * lisp/wid-edit.el (widget-choose):
715         Treat the choice names as doc strings.
716         (widget-default-create): Treat the :doc value as a doc string.
717         (widget-toggle-value-create): Treat the :on and :off values
718         as doc strings.
719         (widget-documentation-string-value-create):
720         Substitute the doc string.
722 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
724         Add a second argument to project-ignores
725         * lisp/progmodes/project.el (project-ignores): Add a second
726         argument DIR.
727         * lisp/progmodes/project.el (project-ignores): Only include the VC
728         ignores if DIR is the VC root.
729         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
731 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
733         Prevent incorrect display when 'line-spacing' variable is set
734         * src/xdisp.c (try_window_id): Give up this optimization if the
735         buffer has its 'line-spacing' variable set non-nil.
737 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
739         Don't pass NOVISIT to find-file
740         * lisp/progmodes/etags.el (next-file):
741         Don't pass NOVISIT to find-file (bug#21175).
743         Ignore buffer restriction for tags-loop-eval
744         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
745         restriction (bug#21167).
747 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
749         Fix a thinko in 'ffap-gopher-at-point'
750         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
752         Honor 'line-spacing' for empty lines
753         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
754         property and 'line-spacing' frame parameter or variable or
755         property for empty lines, by doing the same processing as in
756         x_produce_glyph for newline characters.  (Bug#21165)
758 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
760         Simplify by assuming C99 integer division
761         * src/floatfns.c (ceiling2, floor2, truncate2):
762         Assume C99 (i.e., Fortran) semantics for integer division.
763         This simplifies the code.
765 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
767         Don't overflow if computing approximate percentage
768         * lisp/align.el (align-region):
769         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
770         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
771         * lisp/cus-edit.el (custom-buffer-create-internal):
772         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
773         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
774         (checkdoc-next-message-error):
775         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
776         * lisp/epa.el (epa-progress-callback-function):
777         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
778         * lisp/ffap.el (ffap-menu-rescan):
779         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
780         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
781         * lisp/gnus/nneething.el (nneething-retrieve-headers):
782         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
783         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
784         * lisp/gnus/nnml.el (nnml-retrieve-headers):
785         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
786         * lisp/gnus/nntp.el (nntp-retrieve-headers)
787         (nntp-retrieve-articles):
788         * lisp/imenu.el (imenu--relative-position):
789         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
790         (skkdic-convert-okuri-nasi):
791         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
792         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
793         * lisp/org/org-list.el (org-update-checkbox-count):
794         * lisp/org/org.el (org-table-map-tables)
795         (org-update-parent-todo-statistics):
796         * lisp/play/decipher.el (decipher-insert-frequency-counts)
797         (decipher-analyze-buffer):
798         * lisp/profiler.el (profiler-format-percent):
799         * lisp/progmodes/cc-cmds.el (c-progress-update):
800         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
801         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
802         (idlwave-list-load-path-shadows):
803         * lisp/progmodes/opascal.el (opascal-step-progress):
804         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
805         (vhdl-scan-directory-contents):
806         * lisp/textmodes/bibtex.el (bibtex-progress-message):
807         * lisp/textmodes/flyspell.el (flyspell-small-region)
808         (flyspell-external-point-words):
809         * lisp/textmodes/table.el (table-recognize):
810         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
811         progress-report percentages and the like.  This avoids problems
812         if (* 100 NUMERATOR) would overflow.
813         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
814         * lisp/gnus/registry.el (registry-reindex):
815         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
816         * lisp/descr-text.el (describe-char):
817         * lisp/org/org-colview.el (org-nofm-to-completion):
818         * lisp/ps-print.el (ps-plot):
819         * lisp/simple.el (what-cursor-position):
820         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
821         more-complicated and less-accurate approximation.
823         Fix some int overflows in profiler.c
824         * src/profiler.c (make_log): Make args EMACS_INT, not int,
825         to avoid unwanted behavior on 'int' overflow.
826         (make_log, evict_lower_half, record_backtrace):
827         Use ptrdiff_t, not int, for object indexes.
829         Port to pedantic memcpy
830         * src/keyboard.c (menu_bar_items, tool_bar_items):
831         * src/xrdb.c (magic_db):
832         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
834         Merge from gnulib
835         This incorporates:
836         2015-07-29 time_rz: port to pedantic memcpy
837         * lib/time_rz.c: Copy from gnulib.
839 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
841         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
842         When updating the very last entry, tabulated-list-print would
843         erase it and then try to look at the next one (which obviously
844         isn't there).
846 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
848         Allow to use the old key processing code on MS-Windows
849         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
850         New variable.
851         (w32_wnd_proc): Use it to invoke the old code that processed
852         character keys, as fallback, when this variable is non-nil.  Fix
853         typos in comments.  (Bug#19994)
855 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
857         Improve handling of Unicode keyboard input on MS-Windows
858         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
859         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
860         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
861         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
862         successful, don't call TranslateMessage.  (Bug#19994)
864 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
866         Fix default-directory in changeset diffs after vc-print-log
867         * lisp/vc/log-view.el (log-view-diff-common): Move the
868         revision-granularity check back into log-view-diff-changeset.
869         (log-view-diff-changeset): Bind default-directory to the current
870         VC root.
872         Rename project-directories to project-roots
873         * lisp/progmodes/project.el (project-search-path-function)
874         (project-search-path): Update the docstring.
875         (project-directories): Rename to `project-roots', update all
876         callers and implementations accordingly.
877         (project-root): Remove.
878         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
879         as the default file mask.
881 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
883         Support long URLs in w32-shell-execute
884         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
885         and filename_to_ansi to convert the DOCUMENT argument, as it could
886         be a URL that is not limited to MAX_PATH characters.  Instead, use
887         MultiByteToWideChar directly, and allocate heap storage as
888         required to accommodate the converted string.  Likewise with
889         non-Unicode operation.  Ensure OPERATION is null-terminated, even
890         if it is longer than 32K bytes.  (Bug#21158)
892 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
894         vc-mtn-find-revision handle null rev.
895         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
897 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
899         Add docs for display-buffer action display-buffer-use-some-frame
900         * lisp/window.el (display-buffer-use-some-frame): improve doc string
901         * doc/lispref/windows.texi (Display Action Functions): add
902           display-buffer-use-some-frame
903         * etc/NEWS: mention display-buffer-use-some-frame
905         Add display-buffer action display-buffer-use-some-frame
906         * lisp/window.el (display-buffer-use-some-frame): new
908         Handle vc-mtn error more gently
909         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
911 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
913         Fix Tramp problems with multihops, and nc.
914         * lisp/net/tramp-cache.el (tramp-get-file-property)
915         (tramp-set-file-property, tramp-flush-file-property)
916         (tramp-get-connection-property, tramp-set-connection-property)
917         (tramp-flush-connection-property): Remove hop from vector.
918         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
919         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
920         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
921         netstat to 60".
922         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
923         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
924         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
925         Keep hop in result.
926         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
927         Add hop tests.
929 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
931         Resurrect highlighting of repeated words by Flyspell Mode
932         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
933         characters between point and the doublon candidate, so that
934         flyspell-word-search-backward finds it.  (Bug#21157)
936         Fix redisplay of large images on expose events
937         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
938         between signed negative values and unsigned values.  This
939         prevented redisplay on expose events when the window showed a very
940         large image.
942 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
944         Remove unnecessary stack overflow dependency
945         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
946         Don't worry about $ac_cv_header_sys_resource_h and
947         $ac_cv_func_getrlimit, as they're no longer needed for this.
948         Problem reported by Eli Zaretskii in:
949         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
951 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
953         Pacify compilation -Wincompatible-pointer-types warnings
954         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
955         warning.
956         (CompareStringW_Proc): New typedef.
957         (w32_compare_strings): Use it, to pacify compiler warnings under
958         "-Wincompatible-pointer-types".
959         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
960         (GetDiskFreeSpaceExA_Proc): New typedefs.
961         (Ffile_system_info): Use them, to pacify compiler warnings under
962         "-Wincompatible-pointer-types".
964 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
966         Fix subscript error in calculate_direct_scrolling
967         Use slightly-longer cost vectors.  Without this change,
968         calculate_direct_scrolling can have a subscript violation when
969         FRAME_LINES (frame) <= delta.
970         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
971         (line_ins_del, do_line_insertion_deletion_costs):
972         Allocate and use slightly-larger cost vectors, ones based on
973         FRAME_TOTAL_LINES instead of FRAME_LINES.
975         Fix uninitalized value in encode_coding_object
976         * src/coding.c (encode_coding_object): Also initialize
977         coding->src_pos and coding->src_pos_byte when NILP (src_object).
978         This avoids later use of uninitialized storage.
980 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
982         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
984 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
986         Merge from gnulib
987         This incorporates:
988         2015-07-27 time_rz: port better to MinGW
989         2015-07-27 time: port __need_time_t to MinGW
990         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
991         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
992         * lib/time-internal.h: New file, from gnulib.
994 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
996         Handle NULL pointers in w32heap.c allocation routines
997         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
998         freeable".
999         (realloc_after_dump, realloc_before_dump, free_before_dump):
1000         Handle NULL pointers gracefully, as Emacs now seems to expect
1001         that.
1003         Fix Cairo build without PNG
1004         * src/image.c: Define PNG function when USE_CAIRO is defined, even
1005         if HAVE_PNG is not.  (Bug#21133)
1007         MS-Windows follow-up for recent TZ-related changes
1008         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
1009         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
1010         picking up 'struct timespec' from pthread.h, if it is installed on
1011         the user's system.  We want either the definitions from MinGW
1012         system headers, if available, or the Gnulib replacements if not.
1013         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
1014         lib/time.h.
1015         * lib/time.in.h: Don't let __need_* symbols affect what happens on
1016         MinGW.  These symbols are defined by MinGW system headers, but we
1017         don't want that to affect whether Gnulib portions of the header
1018         are or aren't used.
1020 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
1022         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
1024         New optional ZONE arg for format-time-string etc.
1025         This simplifies time conversions in other time zones.
1026         It also prevents display-time-world tampering with TZ (Bug#21020).
1027         * admin/admin.el (add-release-logs):
1028         Use improved add-log-time-format API.
1029         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
1030         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
1031         * configure.ac (tzalloc): Remove test for this, since
1032         Emacs no longer uses HAVE_TZALLOC directly.
1033         * doc/lispref/os.texi (Time of Day, Time Conversion)
1034         (Time Parsing):
1035         * etc/NEWS: Document the new behavior.
1036         Merge from gnulib, incorporating:
1037         2015-07-25 strftime: fix newly-introduced bug on Solaris
1038         2015-07-23 fprintftime, strftime: use timezone_t args
1039         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
1040         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
1041         * m4/time_h.m4:
1042         Update from gnulib.
1043         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
1044         New files from gnulib.
1045         * lisp/time-stamp.el (time-stamp-string):
1046         * lisp/time.el (display-time-world-list)
1047         (display-time-world-display):
1048         Use new API, with time zone arg.
1049         * lisp/time.el (display-time-world-display):
1050         Fix race when current-time advances while we're running.
1051         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
1052         (add-log-iso8601-time-string): Accept optional time zone arg.
1053         * lisp/vc/add-log.el (add-change-log-entry):
1054         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
1055         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
1056         Add rules for the time module, since they're now needed
1057         for tzalloc etc.
1058         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
1059         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
1060         * src/editfns.c: Include errno.h.
1061         (set_time_zone_rule): Omit unnecessary forward decl.
1062         (initial_tz): Remove, replacing with ...
1063         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
1064         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
1065         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
1066         (tzlookup): New static functions.
1067         (init_editfns): New arg DUMPING.  All uses changed.
1068         (init_editfns): Omit most initialization if dumping, not if
1069         !initialized.  Initialize wall_clock_tz and local_tz.
1070         (emacs_nmemftime, format_time_string): Time zone argument can now
1071         be any time zone, not just a boolean for UTC or local time.  All
1072         callers changed.
1073         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
1074         (Fcurrent_time_zone): New optional arg ZONE.
1075         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
1076         the same form as with the other new additions.
1077         (decode_time_zone): Remove; no longer needed.
1078         (tzvalbuf): Now file-scope.
1079         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
1080         (syms_of_editfns): Define Qwall.
1081         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
1082         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
1083         [!HAVE_TZALLOC]:
1084         Remove; now supplied by gnulib.
1085         * src/emacs.c (main):
1086         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
1088 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
1090         Fix infinite loop in delete-consecutive-dups
1091         * lisp/subr.el (delete-consecutive-dups): Work even if the last
1092         element is nil (Bug#20588).  Avoid rescan of a circular list in
1093         deletion of last element.
1095 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
1097         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
1098         * src/nsfns.m (Fx_frame_geometry):
1099         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
1100         terminal frames.
1101         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
1102         (Fx_frame_geometry): Return nil for terminal frames
1104 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
1106         * etc/tutorials/TUTORIAL.ja: Improve translation.
1108 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
1110         Avoid crashes when w32 GUI functions are called in -batch
1111         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
1112         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
1113         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
1115         Fix flyspell-check-previous-highlighted-word
1116         * lisp/textmodes/flyspell.el
1117         (flyspell-check-previous-highlighted-word): Really accept a
1118         numeric argument, as the doc string describes.  Fix an off-by-one
1119         error in looking up overlays, so invocation with point immediately
1120         after a word would check that word.  Clarify the doc string as
1121         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
1123 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
1125         Minor cleanup in tramp-tests.el
1126         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
1127         Implement using the documented interface
1128         `tramp-connection-properties', rather than with internal functions.
1130 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
1132         Pass lambdas to `skeleton-read'
1133         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
1134         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
1135         lambdas to `skeleton-read' (bug#20386).
1137 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
1139         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
1141         Don't require GUI frames and mouse for Flyspell menus
1142         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
1143         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
1144         support, since pop-up menus work with text terminals and can be
1145         controlled via the keyboard.
1147         Improve documentation of Flyspell commands
1148         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
1149         can be invoked via the keyboard.  Mention those commands by name
1150         and add them to the fn index.  (Bug#21125)
1152 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
1154         Fix some Tramp problems with HP-UX
1155         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1156         Add "tab0" to stty call.
1157         * test/automated/tramp-tests.el (tramp-persistency-file-name):
1158         Set to nil.
1159         (tramp--test-hpux-p): New defun.
1160         (tramp--test-utf8): Use it.
1162 2015-07-22  Glenn Morris  <rgm@gnu.org>
1164         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
1166 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
1168         Fix point positioning in ffap-next-guess
1169         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
1170         as our callers expect.  This was clobbered as part of fixing
1171         bug#5673.  (Bug#21107)
1172         (ffap-gopher-at-point): Set ffap-string-at-point-region.
1174 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
1176         Fix customization type of `even-window-sizes'.
1177         * lisp/window.el (even-window-sizes): Fix customization type.
1179         2015-07-22  Martin Rudalics  <rudalics@gmx.at>
1180         Optionally even widths of `display-buffer' windows.  (Bug#21100)
1181         * lisp/window.el (quit-restore-window): Restore width if
1182         requested.
1183         (display-buffer-record-window): Record width when window is
1184         reused and horizontally combined.
1185         (even-window-sizes): New option to allow evening window widths.
1186         (even-window-heights): Defalias to `even-window-sizes'.
1187         (window--even-window-heights): Rename to
1188         `window--even-window-sizes'.  Handle side-by-side windows.
1189         (display-buffer-use-some-window): Call `window--even-window-sizes'
1190         instead of `window--even-window-heights'.
1191         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
1192         * doc/lispref/windows.texi (Choosing Window Options): Describe
1193         `even-window-sizes'.
1194         (Coordinates and Windows): Fix typo.
1196 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
1198         add file name to autoload error messages.
1199         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
1200           to add file name to error message.
1202 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
1204         Use 0.0.0.1 as test host in Tramp
1205         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
1206         Use 0.0.0.1 as test host.
1208 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1210         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
1211         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
1212         Fix inf-loop (bug#21083).
1214 2015-07-21  Glenn Morris  <rgm@gnu.org>
1216         * test/automated/package-test.el (package-test-signed):
1217         Update for recent changes.
1219         * test/automated/elisp-mode-tests.el
1220         (elisp-xref-finds-both-function-and-variable)
1221         (elisp-xref-finds-only-function-for-minor-mode):
1222         Update for recent xref name changes.
1224 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
1226         Make eldoc timer non-repeatable
1227         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
1228         non-repeatable.  Since it's on post-command hook, that just wasted
1229         CPU cycles.
1231 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
1233         Mention `tramp-connection-properties' in NEWS
1235         Sync with Tramp repository
1236         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
1237         required prior changing its configuration.
1238         (Connection caching, Predefined connection information)
1239         (Remote shell setup): Fix typos.
1240         (Predefined connection information): Describe, how to overwrite
1241         parameters of `tramp-methods'.
1242         (Remote programs, Remote processes, Traces and Profiles):
1243         Simplify example.
1244         (Remote programs): Remove superfluous comment.
1245         * doc/misc/trampver.texi: Update release number.
1246         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
1247         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
1248         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
1249         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
1250         "gvfs-mkdir -p ..." does not work robust.
1251         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
1252         * lisp/net/tramp-sh.el (tramp-methods):
1253         Add `tramp-remote-shell-login' parameter where it fits.
1254         (tramp-get-remote-path): Use it.
1255         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
1256         (all): Adapt `tramp-get-method-parameter' calls.
1257         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
1258         (tramp-get-method-parameter): Replace argument METHOD by VEC.
1259         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
1260         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
1261         (all): Adapt `tramp-get-method-parameter' calls.
1262         * lisp/net/trampver.el Update release number.
1263         * test/automated/tramp-tests.el (tramp--instrument-test-case):
1264         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
1265         (tramp-test13-make-directory, tramp--test-adb-p)
1266         (tramp--test-smb-or-windows-nt-p): Simplify.
1267         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
1268         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
1269         (tramp--test-utf8): Fix docstring.
1271 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
1273         Add new xref-query-replace command
1274         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
1275         function, extracted from xref-pulse-momentarily.
1276         (xref-query-replace): New command.
1277         (xref--query-replace-1): New helper function.
1278         (xref--xref-buffer-mode-map): Add `r' binding.
1280 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
1282         Simplify icalendar decoding of Z dates
1283         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
1284         Simplify calculation of time strings with trailing "Z".
1286 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
1288         Do not corrupt grep-find-ignored-files
1289         * lisp/progmodes/project.el (project-ignores): Change the order of
1290         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
1292         Add xref-match-item, and use it
1293         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
1294         (xref-file-location): Add reader for the column slot.
1295         (xref-match-item): New class.
1296         (xref-match-bounds): A method implementation for it.
1297         (xref-make-match): New constructor function.
1298         (xref--current-item): New private variable.
1299         (xref-pulse-momentarily): Use it.
1300         (xref--pop-to-location): Change the first argument to an xref
1301         item, instead of location, bind xref--current-item.
1302         Update all callers.
1303         (xref-next-line, xref-prev-line, xref--next-error-function)
1304         (xref--mouse-2): Look for the property `xref-item',
1305         instead of `xref-location'.
1306         (xref--item-at-point): Likewise.  This function replaces
1307         `xref-location-at-point'.  Update all callers.
1308         (xref--insert-xrefs): Add the `xref-item' text property, instead
1309         of `xref-location'.
1310         (xref--collect-match): Use xref-make-match.
1312         Rename xref--xref to xref-item
1313         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
1314         Update all references.
1316         Rename xref description slot to summary
1317         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
1318         slot to `summary'.
1320         vc-hg: Perform the print-log call asynchronously
1321         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
1322         asynchronously (bug#21067).
1324         Add xref-after-jump-hook and xref-after-return-hook
1325         * lisp/progmodes/xref.el (xref-after-jump-hook)
1326         (xref-after-return-hook): New hooks.
1327         (xref-pulse-on-jump): Remove, in favor of the above.
1328         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
1329         (xref--pop-to-location, xref--display-position)
1330         (xref-pop-marker-stack): Use the new hooks, as requested in
1331         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
1333 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
1335         Correct js-mode's lighter
1336         * lisp/progmodes/js.el (js-mode): Correct the lighter.
1338 2015-07-19  Leo Liu  <sdl.web@gmail.com>
1340         Fix a bug in cfengine3-mode
1341         * progmodes/cfengine.el (cfengine3-mode): Handle nil
1342           eldoc-documentation-function.
1344 2015-07-18  Julien Danjou  <julien@danjou.info>
1346         sieve-mode: support "body" test command
1347         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
1348         Add missing "body" test command.
1350 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
1352         Fix info-apropos when the default encoding is Latin-N
1353         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
1354         'undecided', so that it is set to the encoding of the Info file we
1355         are about to insert.  Otherwise, 'info-apropos' will fail to find
1356         some index nodes in some UTF-8 encoded files, if the buffer's
1357         previous encoding is Latin-N or some such.
1359 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
1361         * epg.el (epg--start): Check that gpgconf can be found before calling it.
1363         Expose more file types to OS X that Emacs understands.
1364         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
1365         json, and org files.  Export UTIs for el, elc, and org files.
1367 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
1369         Fix visual-order cursor movement when lines are truncated
1370         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
1371         simulate display in a window of infinite width, to allow move_it_*
1372         functions reach positions outside of normal window dimensions.
1373         Remove code that tried to handle a subset of these situations by
1374         manual iteration of buffer text.  (Bug#17777)
1376         Fix following Info cross-references to anchors
1377         * lisp/info.el (Info-read-subfile): Add to the returned value the
1378         length of subfile preamble, after converting it to file's byte
1379         offset, as expected by the caller.  Use bufferpos-to-filepos.
1380         (Info-find-node-2): If searching for a node with a
1381         1000-character slop fails, try again with a 10000-character slop,
1382         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
1383         * lisp/international/mule-util.el (bufferpos-to-filepos): New
1384         function.
1385         * etc/NEWS: Mention bufferpos-to-filepos.
1387         Fix scrolling backwards on TTY frames under scroll-conservatively
1388         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
1389         in moving backwards on TTY frames.  (Bug#21080)
1391 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
1393         Consider a jsdoc tag to be a beginning of a paragraph as well
1394         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
1395         consider a jsdoc tag to be a beginning of a paragraph as well.
1397 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1399         * lisp/emacs-lisp/package.el: Fix warnings
1401         * lisp/emacs-lisp/package.el (package-buffer-info):
1402         Add author and maintainers to `package-buffer-info'.
1404         * lisp/emacs-lisp/package.el: Many small changes
1405         Replace all instances of 'face with 'font-lock-face.
1406         (describe-package-1): Improve some strings and move the summary up the
1407         list.
1408         (package-install-file): Update docstring.
1409         (package-menu-hide-package): Bind to `H'.
1411         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1412         Fix error handling.
1414 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1416         Fix hang with large yanks This should fix the bug fixed by Mike
1417         Crowe's patch in:
1418         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
1419         A problem in this area has been reported by several users; see
1420         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
1421         This fix differs from Mike Crowe's patch in that it should avoid a
1422         race condition that could lose SIGIO signals.  ignore_sigio dates
1423         back to the 1980s when some platforms couldn't block signals, and
1424         could only ignore them, which led to races when signals arrived
1425         while being ignored.  We shouldn't have to worry about those old
1426         platforms now.
1427         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
1428         * src/emacs.c (shut_down_emacs):
1429         Don't call ignore_sigio; unrequest_sigio should suffice.
1430         * src/keyboard.c (kbd_buffer_store_buffered_event):
1431         Use unrequest_sigio, not ignore_sigio.
1432         (kbd_buffer_get_event):
1433         Call request_sigio when getting the ball rolling again.
1435 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1437         * lisp/obsolete/longlines.el (longlines-search-function):
1438         Fallback on `isearch-search-fun-default'.
1440 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
1442         Support @-mentions
1443         * rcirc.el (rcirc-completion-at-point): Support completion of
1444         mentions/messages with @nick instead of just nick.
1446 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
1448         Fix Bug#20943.
1449         * lisp/autorevert.el (auto-revert-handler): Do not check for
1450         `buffer-modified-p'.
1451         * lisp/files.el (buffer-stale--default-function): Check for
1452         `buffer-modified-p'.
1453         * test/automated/auto-revert-tests.el
1454         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
1456 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
1458         Fix delete-dups bug on long lists
1459         * lisp/subr.el (delete-dups):
1460         Don't mistakenly keep some dups when applied to long lists.
1462 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
1464         Better heuristic for C stack overflow
1465         Improve the heuristic for distinguishing stack overflows from
1466         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
1467         the getrlimit method wasn't portable to Cygwin; see:
1468         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
1469         Corinna suggested pthread_getattr_np but this also has problems.
1470         Instead, replace the low-level system stuff with a simple
1471         heuristic based on known good stack addresses.
1472         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
1473         * src/sysdep.c: Don't include <sys/resource.h>.
1474         (stack_direction): Remove.  All uses removed.
1475         (stack_overflow): New function.
1476         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
1477         Make SEGV fatal in non-main threads.
1479 2015-07-16  Daiki Ueno  <ueno@gnu.org>
1481         epg: Automatically start pinentry server
1482         * epg-config.el (epg-gpgconf-program): New variable.
1483         * epg.el (epg--start): Call `pinentry-start' if
1484         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
1486 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
1488         * lisp/gnus/nnimap.el: Fix my last bogus change
1489         Reinstall Stefan Monnier's change that was made in
1490         <83d824bc4041332f338ad7e5e830f443535aa300>.
1492 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1494         Merge from gnulib
1495         This incorporates:
1496         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
1497         2015-07-05 acl-permissions: Fix on FreeBSD
1498         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
1499         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
1500         * lib/set-permissions.c: Copy from gnulib.
1502         Port to stricter C99
1503         * src/keyboard.h (kbd_buffer_store_event_hold):
1504         Don't return a void expression.
1506 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
1508         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
1510 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
1512         New autorevert tests.
1513         * test/automated/auto-revert-tests.el: New file.
1515 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
1517         Clear gcprolist etc. after stack overflow
1518         After stack overflow, command_loop calls init_eval, and this needs to
1519         clear gcprolist and byte_stack_list (Bug#20996).
1520         * src/alloc.c (init_alloc):
1521         Move gcprolist and byte_stack_list initialization from here ...
1522         * src/eval.c (init_eval): ... to here.
1524 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
1526         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
1528 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1530         Avoid deprecated enums in mac-ct font backend driver
1531         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
1532         (mac_ctfont_get_advance_width_for_glyph)
1533         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
1535         Cache font family in mac-ct font backend driver
1536         * src/macfont.m (macfont_family_cache): New variable.
1537         (syms_of_macfont): Initialize it.
1538         (macfont_available_families_cache): New variable.
1539         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
1540         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
1541         (macfont_handle_font_change_notification)
1542         (macfont_init_font_change_handler)
1543         (macfont_copy_available_families_cache): New functions.
1544         (macfont_create_family_with_symbol): Use font family caches.
1545         (macfont_list, macfont_list_family): Use
1546         macfont_copy_available_families_cache instead of
1547         mac_font_create_available_families.
1549 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
1551         Show the default value in the prompt
1552         * lisp/progmodes/xref.el: Add `M-?' binding for
1553         xref-find-references.  Declare functions `grep-read-files' and
1554         `grep-expand-template'.
1555         (xref--read-identifier): Show the default value in the prompt.
1557         When called with prefix argument, ask for file patterns to search as well
1558         * lisp/progmodes/xref.el (xref-find-regexp): When called with
1559         prefix argument, ask for file patterns to search as well.  When
1560         prompting for the directory, require an existing one.
1561         (xref-collect-matches): Add a new argument, FILES.  Use it in the
1562         above function.
1564         Add `project-ignores'
1565         * lisp/progmodes/project.el (project-ignores): New generic
1566         function, and an implementation for the VC project type.
1567         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
1568         variant of rgrep-default-command that handles a generic list of
1569         ignores.
1570         (xref-collect-matches): Use it, and pass through to it the value
1571         of the newly added argument.
1572         (xref-find-regexp): Handle ignored paths within the project.
1573         Remove outdated comment.
1574         * lisp/vc/vc.el (vc-default-ignore-completion-table):
1575         Skip the comments and the empty lines.
1577 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
1579         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
1581 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
1583         gnus-registry.el: Correct function argument order
1584         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
1585         Reverse the order of function arguments.
1587 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
1589         Bind grep-highlight-matches to nil
1590         * lisp/progmodes/xref.el (xref-collect-matches):
1591         Bind grep-highlight-matches to nil (bug#20728).
1593 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
1595         nnimap.el: Fix IMAP message size parsing
1596         * lisp/gnus/nnimap.el (nnimap-transform-headers):
1597         Don't assume that UID comes before RFC822.SIZE.
1599 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1601         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
1602         (auth-source-creation-prompts): Declare.
1603         (nnimap-retrieve-headers, nnimap-status-message)
1604         (nnimap-request-create-group, nnimap-request-delete-group)
1605         (nnimap-close-group, nnimap-request-move-article)
1606         (nnimap-request-accept-article, nnimap-request-newgroups)
1607         (nnimap-request-post, nnimap-dummy-active-number)
1608         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
1609         (nnimap-parse-flags): Remove unused var `p'.
1610         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
1611         (nnimap-flags-to-marks): Remove unused var `totalp'.
1613 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
1615         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
1617 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1619         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
1621 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1623         Don't check the exit status, it can be misleading
1624         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
1625         exit status, it can be misleading.
1627         Introduce a Project API
1628         * lisp/progmodes/project.el: New file.
1629         * lisp/cedet/ede.el: (project-try-ede): New function.
1630         (project-root): New implementation.
1631         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1632         Set project-search-path-function.
1633         (elisp--xref-find-references): Delegate some logic to
1634         project-search-path.
1635         (elisp-search-path): New function.
1636         (elisp-xref-find): Don't implement `matches' anymore.
1637         * lisp/progmodes/etags.el: Don't implement `matches'.
1638         Delegate some logic to project-search-path.
1639         (etags-search-path): New function.
1640         * lisp/progmodes/xref.el (xref-find-function):
1641         Remove `matches' from the API.
1642         (xref-find-regexp): Move whatever common logic was in elisp and
1643         etags implementations, and search the directories returned by
1644         project-directories and project-search-path.
1646 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
1648         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
1650         Add support for gv.el in map.el
1651         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
1652         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
1653         * test/automated/map-tests.el: Update tests to work with the new
1654         implementations of map-elt and map-put.
1656 2015-07-09  Glenn Morris  <rgm@gnu.org>
1658         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
1660 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1662         Syntax-propertize until the end of the line first
1663         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
1664         until the end of the line first.
1666 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
1668         * doc/emacs/files.texi (File Archives): Add a cross reference.
1670 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
1672         nnimap.el: Handle plain value for nnimap-stream
1673         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
1674         capabilities, so that a 'plain value for the `nnimap-stream' server
1675         variable is handled correctly.
1676         * doc/misc/gnus.texi (Customizing the IMAP Connection):
1677         Document the 'plain option.
1679 2015-07-08  Leo Liu  <sdl.web@gmail.com>
1681         Fix bug in thing-at-point--bounds-of-well-formed-url
1682         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
1683           sure boundary contains current point.
1685 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
1687         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
1689         Declare whitespace-line-column a safe file-local
1690         * lisp/whitespace.el (whitespace-line-column): Declare to be a
1691         safe file-local when the value is an integer.
1693 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
1695         gnus-group.el: Check if group names are already strings
1696         * lisp/gnus/gnus-group.el (gnus-group-group-name):
1697         The group name may already be a string.
1698         Specifically, in the group list reached from the *Server* buffer,
1699         the 'gnus-group text property returns a string.  Everywhere else
1700         it returns a symbol.
1702         nnimap.el: Remove unused let variables
1703         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
1705 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
1707         Support "maximized" property of runemacs's shortcut
1708         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
1709         the '--maximized' switch to Emacs.
1711         Support "minimized" property of runemacs's shortcut
1712         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
1713         pass the '--iconic' switch to Emacs.  (Bug#20991)
1715 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
1717         Doc fixes
1718         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
1719         C-w' in Diff mode.
1720         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
1721         Add a cross reference.
1723 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
1725         * lisp/obsolete/landmark.el: Add Obsolete-since header
1727 2015-07-07  Glenn Morris  <rgm@gnu.org>
1729         * test/automated/ert-tests.el (ert-test-deftest):
1730         Update for recent changes.
1732 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1734         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
1735         * lisp/emacs-lisp/gv.el (gv-setter): New function.
1736         (gv-invalid-place): New error.
1737         (gv-get): Use them.
1738         (gv-synthetic-place, gv-delay-error): New places.
1739         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
1740         (cl-defgeneric, cl-defmethod): Use gv-setter.
1742 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
1744         Make vc-tests work with MSYS svn program
1745         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
1746         svn is an MSYS program.
1748 2015-07-07  Ken Brown  <kbrown@cornell.edu>
1750         Improve recent change to emacsclient on Cygwin
1751         * lisp/server.el (server-process-filter): Remove redundant check
1752         that 'cygwin-convert-file-name-from-windows' is defined as a
1753         function on Cygwin.  Don't call that function unless its argument
1754         starts with a drive letter.
1756 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1758         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
1759         Fix void variable due to `found-something' being in the wrong `let'.
1761 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1763         * lisp/play/landmark.el: Move to lisp/obsolete/
1765 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
1767         Have `x-show-tip' handle `right' and `bottom' frame parameters.
1768         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
1769         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
1770         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
1771         tooltips also via `right' and `bottom' frame parameters.
1773 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1775         Add online-help support to describe types
1776         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
1777         (describe-symbol): Improve the selection of default.
1778         * lisp/help-mode.el: Require cl-lib.
1779         (describe-symbol-backends): Move from help-fns.el.
1780         (help-make-xrefs): Use it.
1781         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
1782         for types.
1783         (cl--typedef-regexp): New const.
1784         (find-function-regexp-alist): Add entry for types.
1785         (cl-help-type, cl-type-definition): New buttons.
1786         (cl-find-class): New function.
1787         (cl-describe-type): New command.
1788         (cl--describe-class, cl--describe-class-slot)
1789         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
1790         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
1791         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
1792         New functions.  Moved from eieio-opt.el.
1793         (cl--generic-class-parents): New function, extracted from
1794         cl--generic-struct-specializers.
1795         (cl--generic-struct-specializers): Use it.
1796         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
1797         Improve constructor's docstrings.
1798         (cl-struct-unknown-slot): New error.
1799         (cl-struct-slot-offset): Use it.
1800         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
1801         definition in current-load-list.
1802         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
1803         (eieio--add-new-slot): Set it.
1804         (eieio-defclass-internal): Use new name for current-load-list.
1805         (eieio-oref): Add compiler-macro to warn about unknown slots.
1806         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
1807         as compile-time as well.  Improve constructor docstrings.
1808         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1809         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
1810         (eieio-class-def): Remove button.
1811         (eieio-help-constructor): Use new name for load-history element.
1812         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
1813         (eieio-method-documentation): Move to cl-generic.el.
1814         (eieio-display-method-list): Use new names.
1815         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
1816         Add "define-linline".
1817         (lisp-fdefs): Remove "defsubst".
1818         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
1819         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
1820         (macroexp--warn-and-return): Use it to avoid inf-loops.
1821         Add `compile-only' argument.
1823 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1825         python.el: Fix local/remote shell environment setup
1826         * lisp/progmodes/python.el (python-shell-with-environment): Fix
1827         remote/local environment setup.
1828         * test/automated/python-tests.el (python-shell-with-environment-1)
1829         (python-shell-with-environment-2): New tests.
1831 2015-07-06  Glenn Morris  <rgm@gnu.org>
1833         * lisp/simple.el (set-variable): Tweak recent doc fix.
1835 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1837         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
1839 2015-07-06  Glenn Morris  <rgm@gnu.org>
1841         * lisp/simple.el (set-variable): Use user-error for type mismatch.
1843 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1845         * src/emacs.c (main): Don't increase the stack size on Cygwin
1847 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
1849         (describe-symbol): Rewrite describe-function-or-variable
1850         * lisp/help-fns.el (describe-symbol-backends): New var.
1851         (help-xref-stack-item): Declare.
1852         (describe-symbol): Rename from describe-function-or-variable.
1853         Rewrite using describe-symbol-backends instead of help-xref-interned.
1854         * lisp/help.el (help-map): Use it.
1855         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
1856         (help-xref-interned): Make it into an obsolete alias.
1858         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
1859         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
1860         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
1862 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
1864         Fix parsing glitches in dired-mark-sexp (bug#13575)
1865         * lisp/dired-x.el (dired-x--string-to-number): New function.
1866         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
1867         of directory-listing-before-filename-regexp.  Consider
1868         forward-word harmful and replace it.  Add more verbiage in
1869         comments and doc string.
1871 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1873         python.el: Respect process environment for remote shells
1874         * lisp/progmodes/python.el
1875         (python-shell-calculate-process-environment): Calculate
1876         process-environment or tramp-remote-process-environment depending
1877         whether current file is remote.
1878         (python-shell-calculate-exec-path): Calculate exec-path or
1879         tramp-remote-path depending whether current file is remote.
1880         (python-shell-with-environment): New macro.
1881         (python-shell-prompt-detect, python-shell-calculate-command)
1882         (python-shell-make-comint, python-check): Use it.
1884         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
1885         * lisp/progmodes/python.el (python-shell--interpreter)
1886         (python-shell--interpreter-args): New vars.
1887         (inferior-python-mode, python-shell-make-comint): Use them.
1889         python.el: Fixes for IPython 3.x  (Bug#20580)
1890         * lisp/progmodes/python.el:
1891         (python-shell-completion-native-setup): Fix IPython 3.x setup.
1892         (python-shell-completion-native-get-completions): Fix timeout
1893         logic.
1895         python.el: Fix mark-defun behavior  (Bug#19665)
1896         * lisp/progmodes/python.el: (python-mark-defun): New function.
1897         * test/automated/python-tests.el (python-mark-defun-1)
1898         (python-mark-defun-2, python-mark-defun-3): New tests.
1900 2015-07-05  Glenn Morris  <rgm@gnu.org>
1902         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
1903         such as "extends(parent), private".  (Bug#20969)
1904         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
1905         New tests.
1907 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1909         Avoid duplicate calls to current_timespec
1910         * src/process.c (wait_reading_process_output):
1911         Cache current_timespec results as long as we're not waiting.
1913 2015-07-05  Ian Kelling  <ian@iankelling.org>
1915         Avoid returning early reading process output due to SIGIO
1916         * src/process.c (wait_reading_process_output): Extend the behavior of
1917         not breaking due to not finding output when a timer has lowered the
1918         timeout to include when SIGIO lowers the timeout.
1920         Don't return as fast reading any process output
1921         * src/process.c (wait_reading_process_output):
1922         The patch for Bug#17647 returns too fast sometimes when reading
1923         from any processes. Revert part of it, and limit the timeout more
1924         sensibly (Bug#20978).
1926         Refactor timeouts in wait_reading_process_output
1927         * src/process.c (wait_reading_process_output):
1928         Simplify timeouts with an enum.  Remove a redundant condition.
1929         (Bug#20978)
1931         Remove ADAPTIVE_READ_BUFFERING ifdef
1932         * src/process.c (make-process, make-pipe-process, deactivate_process)
1933         (wait_reading_process_output, read_process_output, send_process)
1934         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
1935         added in case there was an operating system in which it was not
1936         useful.  That was 11 years ago and it hasn't happened.  Make
1937         development easier by not considering the effect of changes on a
1938         theoretical OS where this is disabled (Bug#20978).
1940 2015-07-05  Glenn Morris  <rgm@gnu.org>
1942         * lisp/simple.el (set-variable): Doc fix.
1944         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
1946 2015-07-05  Ian Kelling  <ian@iankelling.org>
1948         accept-process-output fix
1949         This is a followon to the fix for Bug#17647 (Bug#20976).
1950         * src/process.c (status_notify): Fix too high return in some cases.
1952 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
1954         * lisp/character-fold.el (character-fold-table):
1955         Only fold decompositions if at least one character is non-spacing.
1956         (Bug#20975)
1958 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1960         Merge from gnulib
1961         This incorporates:
1962         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
1963         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
1964         2015-07-02 update-copyright: fix test failure with perl >= 5.22
1965         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
1966         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
1967         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
1968         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
1970 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
1972         Respect `prog-indentation-context' in python.el
1973         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
1974         (python-indent-context, python-indent--calculate-indentation)
1975         (python-info-current-defun)
1976         (python-info-dedenter-opening-block-message)
1977         (python-info-line-ends-backslash-p)
1978         (python-info-beginning-of-backslash)
1979         (python-info-continuation-line-p): Use `prog-widen'.
1980         (python-indent--calculate-indentation)
1981         (python-indent--calculate-levels)
1982         (python-indent-calculate-indentation): Use `prog-first-column'.
1983         (python-indent--calculate-levels): Simplify.
1984         Ignore also initial empty lines for syntax calculation.
1985         * lisp/progmodes/python.el (python-indent-context): Return
1986         :no-indent for first non-empty line, not just in line 1.
1987         * test/automated/python-tests.el (python-indent-base-case)
1988         (python-indent-inside-paren-1, python-indent-inside-paren-2)
1989         (python-indent-inside-paren-3, python-indent-inside-paren-4)
1990         (python-indent-inside-paren-5, python-indent-inside-paren-6)
1991         (python-indent-after-backslash-1)
1992         (python-indent-after-backslash-2)
1993         (python-indent-after-backslash-3)
1994         (python-indent-after-backslash-4, python-indent-inside-string-1):
1995         Expect :no-indent for first non-empty line.
1997 2015-07-04  Daniel Colascione  <dancol@dancol.org>
1999         Factor isearch word description into new function
2000         * lisp/isearch.el (isearch--describe-word-mode): New function.
2001         (isearch-message-prefix, isearch-query-replace): Use it.
2003 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
2005         Fix mouse pointer on w32 when a menu is active
2006         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
2007         shape while a menu is in use.  This started happening since we now
2008         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
2010 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
2012         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
2013         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
2014         parameter.  (Bug#17344)
2016         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
2017         * lisp/progmodes/compile.el (compilation-set-window): Take
2018         `window-fringes' from argument window.  (Bug#20829)
2020 2015-07-03  Glenn Morris  <rgm@gnu.org>
2022         Update eieio tests for recent eieio-core change.
2023         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
2024         * test/automated/eieio-tests.el
2025         (eieio-test-32-slot-attribute-override-2):
2026         Replace the deleted eieio--class-v with cl--find-class.
2028 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
2030         Fix some issues with `window-divider-mode'
2031         * lisp/frame.el (window-divider-default-places): New option.
2032         (window-divider-mode): Remove option.
2033         (window-divider-mode): Make it a "regular" minor mode.
2034         (window-divider-width-valid-p): Drop frame- prefix.
2035         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
2036         prefix.  Handle `window-divider-default-places'.
2037         (frame--window-divider-mode-set-and-apply): Remove.
2038         (window-divider-default-bottom-width)
2039         (window-divider-default-right-width): Drop :group entries.
2040         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
2041         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
2042         (menu-bar-no-window-divider): Set `window-divider-default-places'
2043         and call `window-divider-mode'.
2044         * doc/emacs/frames.texi (Window Dividers): Document
2045         `window-divider-default-places'.
2047 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
2049         Add cross references in documentation
2050         * doc/emacs/display.texi (Displaying Boundaries):
2051         * doc/emacs/search.texi (Word Search): Add cross references.
2053 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2055         -batch should not affect ‘’ -> `' display
2056         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
2057         -batch (Bug#20926).
2059 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
2061         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
2062         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
2063           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
2064         Use cl--find-class instead.
2066         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
2068 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
2070         Some further fixes in Change Window node.  (Bug#20183)
2071         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
2072         by "resizing" in section title.  Add some concept indices.
2073         Suggested by N. Jackson (Bug#20183).
2075         Reference window dividers in Change Window section.
2076         * doc/emacs/windows.texi (Change Window): Reference window
2077         dividers.
2079         Document new `window-divider-mode'.
2080         * lisp/frame.el (window-divider-mode): Fix doc-string.
2081         * doc/emacs/frames.texi (Window Dividers): New section.
2083         Improve accessibility of window dividers.  (Bug#20183)
2084         * lisp/faces.el (window-divider)
2085         (window-divider-first-pixel, window-divider-last-pixel): Change
2086         membership from `frames' to `window-divider' customization group.
2087         * lisp/frame.el (window-divider): New customization group.
2088         (window-divider-mode): New minor mode.
2089         (window-divider-default-bottom-width)
2090         (window-divider-default-right-width): New options.
2091         (frame--window-divider-previous-mode): New variable.
2092         (frame-window-divider-width-valid-p)
2093         (frame--window-divider-mode-apply)
2094         (frame--window-divider-mode-set-and-apply): New functions.
2095         * lisp/menu-bar.el (menu-bar-options-save): Save
2096         window-divider-mode settings.
2097         (menu-bar-window-divider-customize)
2098         (menu-bar-bottom-and-right-window-divider)
2099         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
2100         (menu-bar-no-window-divider): New functions.
2101         (menu-bar-showhide-window-divider-menu): New variable.
2102         (menu-bar-showhide-menu): Show/hide window divider menu.
2103         * lisp/mouse.el (mouse-split-window-vertically)
2104         (mouse-split-window-horizontally): Replace `error' by
2105         `user-error'.  Bind `window-combination-resize' to nil.
2106         (top-level): Add/reorder mouse key bindings on mode- and
2107         vertical-line.
2109 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2111         Don't display ‘’ as `' under X in en_GB
2112         The curved quote setup code invokes (char-displayable-p ?‘),
2113         but this isn’t reliable until after the X frame replaces the
2114         terminal frame (Bug#20926).
2115         * lisp/international/mule-cmds.el (set-locale-environment):
2116         Move curved quote setup code from here ...
2117         * lisp/startup.el (command-line): ... to here, after creating
2118         the X frame.
2120 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
2122         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
2124         Add argument to reverse the meaning of ido-restrict-to-matches
2125         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
2126         to reverse the meaning (Bug#15631).
2128 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
2130         Be more tolerant to fonts named "Foobar-12"
2131         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
2132         don't barf; instead, request a new fontset to be generated.  This
2133         avoids unnecessarily rejecting fonts named against XLFD rules.  See
2134         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
2135         for the description of the original problem.
2136         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
2137         by a hyphen in a font's name.
2139         Fix value of posn-at-pont in R2L lines
2140         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
2141         coordinate of -1, for a newline in a right-to-left line that
2142         overflowed into the left fringe.
2144 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2146         (cl--copy-slot-descriptor): Copy the `props' alist as well
2147         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
2148         Rename from cl--copy-slot-descriptor.
2149         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
2151 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
2153         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
2154         (xterm-query-timeout): New var.
2155         (xterm--query): Use it.  Fallback on async method if we timeout before
2156         getting the first byte of the reply (bug#12354).
2158 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2160         Spelling fixes
2162 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
2164         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
2166 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2168         In strings, prefer plain ` and ' to \` and \'
2169         * lisp/allout.el (allout-insert-listified):
2170         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
2171         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
2172         (ls-lisp-string-lessp):
2173         * lisp/menu-bar.el (menu-bar-open):
2174         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
2175         * lisp/progmodes/compile.el (compile):
2176         * lisp/progmodes/etags.el (tags-loop-scan):
2177         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
2178         * lisp/subr.el (posn-actual-col-row):
2179         * lisp/term/pc-win.el (x-list-fonts):
2180         * lisp/textmodes/texinfmt.el (texinfmt-version):
2181         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
2182         * lisp/time.el (display-time-world-list):
2183         * lisp/tmm.el (tmm-menubar):
2184         * src/buffer.c (syms_of_buffer):
2185         * src/fileio.c (syms_of_fileio):
2186         Omit unnecessary and confusing backslash before quote.
2187         * lisp/erc/erc.el (erc-cmd-LASTLOG):
2188         * lisp/progmodes/flymake.el (flymake-fix-file-name):
2189         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
2190         Fix string that was intended to escape a backslash and not a quote.
2192 2015-06-30  Glenn Morris  <rgm@gnu.org>
2194         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
2196         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
2197         Replace hard-coded lists with wildcard + filter-out.
2199         * configure.ac (system-configuration-features): Add X11, NS.
2201         Improve reproducibility of generated loaddefs file.
2202         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
2203         Make the return value the modtime of the input file (if no autoloads).
2204         (update-directory-autoloads): In the "no autoloads" section,
2205         use "most recent modtime" rather than "current time".
2207 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2209         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
2210         (Bug#20930)
2212 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
2214         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
2216         Add seq-min and seq-max
2217         Bump version number.
2218         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
2219         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
2221 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
2223         Make sure sleep-for always delays for as long as it's told
2224         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
2225         a loop, to ensure we always wait exactly the required amount of
2226         time.  (Bug#15990)
2228 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2230         Fix pointer signedness glitch
2231         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
2233 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
2235         Don't block changes in mouse pointer inside 'track-mouse'
2236         * etc/NEWS:
2237         * doc/lispref/frames.texi (Mouse Tracking): Document the special
2238         effect of setting 'track-mouse' to 'dragging'.
2239         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
2240         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
2241         * lisp/mouse-drag.el (mouse-drag-throw):
2242         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
2243         to avoid changes in the shape of the mouse pointer.
2244         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
2245         pointer shape when do_mouse_tracking has the value of 'dragging',
2246         not just any non-nil value.  (Bug#20934)
2247         (syms_of_xdisp): DEFSYM 'dragging'.
2249 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2251         * lisp/isearch.el (isearch-toggle-word): Fix toggle
2253         * lisp/emacs-lisp/package.el (package-compute-transaction):
2254         Don't assume version sorting.
2256         * lisp/emacs-lisp/package.el (package--save-selected-packages):
2257         Don't save before init time, to avoid overwriting configurations.
2258         (Bug#20855)
2260 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
2262         Add cross references.
2263         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
2264         references.
2266 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
2268         cfengine.el: update for the upcoming CFEngine 3.7 release
2269         Update for the upcoming CFEngine 3.7 release: support macros and
2270         quoted context strings; reformat JSON; indent promise attributes 2
2271         units by default; give function parameter descriptions in the eldoc
2272         glue.
2273         * cfengine.el: Update version and docs and fix name.  Autoload
2274         `json-pretty-print'.  Support new features in 3.7.
2275         (cfengine-parameters-indent): Set default promise attribute indent to
2276         2 more than the promise itself.
2277         (cfengine3-macro-regex): New variable to match the new macro syntax.
2278         (cfengine3-font-lock-keywords): Use it to highlight macros.
2279         (cfengine3-indent-line): Use it to indent macros to column 0.
2280         (cfengine3-class-selector-regex): Update for the new quoted strings
2281         format.
2282         (cfengine3-reformat-json-string): New function to reformat a JSON
2283         string using `json-pretty-print'.
2284         (cfengine3-format-function-docstring): Use function parameter
2285         description if it's provided by the cf-promises syntax dump.
2287 2015-06-29  Michael R. Mauger  <michael@mauger.com>
2289         Cygwin emacsclient handles w32 file names
2291 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
2293         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
2295 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
2297         * doc/lispref/text.texi (Sticky Properties): Improve wording.
2298         (Bug#20924)
2300         Allow font names that end in "-NN", where NN is a number
2301         * src/font.c (font_load_for_lface): If the font-spec didn't match
2302         any available fonts, try again without interpreting trailing "-NN"
2303         as the font size.  For the description of the original problem, see
2304         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
2306         .gdbinit followup to changes in !USE_LSB_TAG
2307         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
2308         !USE_LSB_TAG, as Emacs no longer does.
2310 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
2312         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
2313         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
2315 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2317         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2318         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
2320 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2322         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
2324         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
2326 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
2328         apropos-library quoting fix
2329         * lisp/apropos.el (apropos-library): Quote library consistently
2330         with the rest of the quoting used by apropos.
2332         Clarify interpreter-mode-alist doc
2333         * lisp/files.el (interpreter-mode-alist):
2334         Reword to avoid confusing quoting that wasn't working anyway.
2336 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
2338         Sync with Tramp 2.2.12
2339         * doc/misc/trampver.texi:
2340         * lisp/net/trampver.el: Update release number.
2341         * test/automated/tramp-tests.el (tramp-test13-make-directory):
2342         Fix cleanup.
2344 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2346         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
2347         (bug#20913)
2349 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
2351         Bind grep-highlight-matches around the rgrep call
2352         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
2353         around the rgrep call (bug#20728).
2355         Put "--color" before the other options in grep-command
2356         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
2357         before the other options in grep-command (bug#20912).
2359         Add --color Grep option to the command dynamically
2360         * lisp/progmodes/grep.el (grep-template, grep-find-template):
2361         Update the description for <C>.  (Bug#20728)
2362         (grep-compute-defaults): Don't add the --color option to
2363         grep-options.  Only add it to grep-command.
2364         (grep-expand-keywords): Expand the env value opts into <C>.
2365         (grep-expand-template): Replace cf in the env with the opts list,
2366         that can include -i and --color.
2367         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
2368         "--color=always" from the template, because we don't have to.
2370 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
2372         cl-extra fixes for most-negative-fixnum
2373         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
2374         Don't mishandle an argument equal to most-negative-fixnum,
2375         whose absolute value equals itself.
2376         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
2378         Initialize cl--gensym-counter to 0
2379         Previously it was initialized to a random value, which made it
2380         harder to reproduce earlier Emacs runs.  The need for a random
2381         value went away when Emacs introduced and used the #: syntax for
2382         uninterned symbols (Bug#20862).
2383         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
2384         Document that cl--gensym-counter now starts with 0.
2385         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
2386         (cl--random-time): Move to near only remaining use.
2387         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
2389         Improve docstring for macroexp-let2
2390         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
2391         Improve as per suggestion by RMS in:
2392         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
2393         Also, rename args to match new doc string.
2395 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
2397         Fix VC test suite on MS-Windows
2398         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
2399         always starts with 3 slashes after the colon.
2400         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
2401         'w32-application-type' to invoke CVS on MS-Windows with properly
2402         formatted CVSROOT directory name.
2404         Add a new function w32-application-type
2405         * src/w32proc.c (Fw32_application_type): New function.
2407         Avoid error in TLS connections due to incorrect format
2408         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
2409         the call to 'error', instead of the unsupported %u.  Reported by
2410         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
2412 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2414         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
2416 2015-06-26  Leo Liu  <sdl.web@gmail.com>
2418         Fix indentation for with-output-to-string
2419         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
2420           `with-output-to-string' in elisp.
2421           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
2422           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
2424 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
2426         Minor corrections in ELisp manual
2427         * doc/lispref/nonascii.texi (Character Properties): Correct
2428         inaccuracies in description of values of the Unicode properties.
2430         Fix invisible mouse pointers on Windows.
2431         * src/w32fns.c: Include windowsx.h.
2432         (w32_wnd_proc): If the mouse moved and the mouse pointer is
2433         invisible, make it visible again even when the main (Lisp)
2434         thread is busy.
2435         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
2436         garbaging the frame have the input thread call SetCursor.
2438 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
2440         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
2441         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
2442         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
2443         * src/w32term.c (w32_hide_hourglass): Handle
2444         f->pointer_invisible.
2445         (w32_toggle_invisible_pointer): New function.
2446         (w32_create_terminal): Add w32_toggle_invisible_pointer as
2447         toggle_invisible_pointer_hook for this terminal.
2449 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
2451         Doc fix for deletion commands
2452         'delete-char' does not respect the value of 'delete-active-region'.
2453         * doc/emacs/killing.texi (Deletion):
2454         Fix documentation for some single-char deletion commands.
2456         * doc/emacs/help.texi (Apropos):
2457         Improve documentation of 'apropos-do-all'.
2459         * doc/emacs/help.texi (Help Summary):
2460         Improve documentation of 'describe-mode'.
2462 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2464         Fix submake dependency bug with .h files
2465         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
2466         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
2467         before the submake in $(libsrc) would spin off a subsubmake
2468         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
2470 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2472         * lisp/character-fold.el (character-fold-table): Reuse `table'
2474 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2476         Translate undisplayable ‘ to `
2477         * doc/lispref/help.texi (Keys in Documentation):
2478         * lisp/international/mule-cmds.el (set-locale-environment):
2479         * lisp/term/w32console.el (terminal-init-w32console):
2480         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
2481         If ‘ is not displayable, transliterate it to `, not to '.  See:
2482         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
2484         Fix C99 incompatibilities in Cairo code
2485         * src/image.c (xpm_load) [USE_CAIRO]:
2486         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
2487         Fix pointer signedness problem.
2489 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
2491         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
2492         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
2493           `with-output-to-string' should have the same indent as `progn'.
2494           This is in line with the declaration of `with-output-to-string'.
2496 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2498         Get ‘./configure; make -C src emacs’ to work
2499         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
2500         * lib-src/Makefile.in (../lib/libgnu.a):
2501         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
2503 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2505         Fix GC bugs --with-wide-int and Qnil == 0
2506         Use the same alignment for the !USE_LSB_TAG case as for the
2507         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
2508         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
2509         once we changed the representation of symbols so that Qnil == 0.
2510         Problem reported by Eli Zaretskii (Bug#20862).
2511         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
2512         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
2513         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
2514         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
2515         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
2516         This optimization in the !USE_LSB_TAG case is no longer valid when
2517         symbols are represented via offsets.  Change the only use to
2518         assume that pointers might hide in objects.
2519         * src/lisp.h (alignas) [!USE_LSB_TAG]:
2520         Require support in this case, too.
2521         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
2522         This is OK, because the !USE_LSB_TAG case now applies only when
2523         Lisp_Object is wider than void *, so there's no longer any need
2524         to shift the offset.  Not shifting the offset means that
2525         symbol representations have the same alignment as pointers,
2526         which the GC assumes.
2528 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
2530         * doc/lispintro/emacs-lisp-intro.texi (Data types):
2531         Improve documentation of 'substring'.
2533 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2535         * lisp/character-fold.el (character-fold-table): Fix table generation
2537 2015-06-24  Glenn Morris  <rgm@gnu.org>
2539         * nextstep/Makefile.in (all): Make it the first target.
2540         (../src/emacs${EXEEXT}): Add rule for making it.
2542 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2544         * etc/NEWS: Fix mention to old function name
2546         * lisp/character-fold.el: New file (Bug#20887)
2547         (character-fold-to-regexp): New function.
2548         * lisp/replace.el (replace-search): Check value of
2549         `character-fold-search'.
2550         * lisp/isearch.el: Move character-folding code to
2551         character-fold.el
2552         (isearch-toggle-character-fold): New command.
2553         (isearch-mode-map): Bind it to "\M-sf".
2554         (isearch-mode): Check value of `character-fold-search'.
2556 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2558         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
2559         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
2560         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
2562         * lisp/progmodes/xref.el: Avoid init-args in oref.
2563         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
2564         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
2566 2015-06-24  Glenn Morris  <rgm@gnu.org>
2568         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
2570 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2572         * lisp/gnus/nnmaildir.el: Silence lexical warnings
2573         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
2574         functional style.
2575         (nnmaildir--update-nov): Remove unused var `numdir'.
2576         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
2577         (nnmaildir-request-group, nnmaildir-request-create-group)
2578         (nnmaildir-request-post, nnmaildir-request-move-article)
2579         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
2580         (nnmaildir-get-new-mail, nnmaildir-group-alist)
2581         (nnmaildir-active-file): Declare.
2582         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
2583         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
2584         `mark', `end', `new-mark', and `mark-sym'.
2585         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
2586         `nlist2'.
2587         (nnmaildir-request-expire-articles):
2588         Remove unused vars `article', `stop' and `nlist2'.
2589         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
2590         `end'.  Use nnmaildir--article when dyn-binding is needed.
2591         Give the value directly in the `let' for `del-mark', `del-action',
2592         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
2593         (nnmaildir-close-server): Declare those local vars that need to be
2594         dyn-bound.
2596 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2598         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
2600         Port selection info fix to clang
2601         * src/keyboard.h (kbd_buffer_store_event_hold):
2602         Don't assume C11 semantics for alignof (Bug#20756).
2604         Fix bug that munged selection info
2605         On some optimizing C compilers, copying a structure did not
2606         copy the padding bytes between elements, and the type punning
2607         between struct input_data and struct selection_input_data did
2608         not work.  Change the C code to use a proper union type instead.
2609         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
2610         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
2611         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
2612         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
2613         (mark_kboards):
2614         Use union buffered_input_event, not struct input_event.
2615         (clear_event, deliver_input_available_signal, process_special_events):
2616         Remove unnecessary forward decls.
2617         (kbd_buffer_store_buffered_event): New function, mostly just the
2618         old kbd_buffer_store_event_hold, except its argument is of type
2619         union buffered_input_event, not struct input_event.
2620         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
2621         not needed otherwise.  Argument is now of type
2622         struct selection_input_event *, not struct input_event *.
2623         All callers changed.
2624         (clear_event): Arg is now of type union buffered_input_event *,
2625         not struct input_event *.  All callers changed.
2626         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
2627         (union buffered_input_event): New type.
2628         (kbd_buffer_store_event_hold): Now an inline function,
2629         defined here.
2630         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
2631         (struct input_event): Use it.
2632         * src/xselect.c (struct selection_event_queue):
2633         Make elements be of type struct selection_input_event,
2634         not struct input_event.
2635         (selection_input_event_equal): New static function.
2636         (x_queue_event): Use it.
2637         (x_queue_event, x_decline_selection_request)
2638         (x_selection_current_request, x_reply_selection_request)
2639         (x_handle_selection_request, x_handle_selection_clear)
2640         (x_handle_selection_event): Use struct selection_input_event,
2641         not struct input_event.  All callers changed.
2642         (x_convert_selection): Omit unused first arg.  All callers changed.
2643         (Fx_disown_selection_internal): Omit unnecessary union.
2644         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
2645         rather than rolling our own equivalent.  Prefer sie.kind when
2646         setting up that kind of structure.
2647         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
2648         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
2649         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
2650         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
2651         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
2652         (SELECTION_EVENT_TIME, x_handle_selection_event):
2653         Arg is now of type struct selection_input_event *)
2654         not struct input_event *.  All callers changed.
2656 2015-06-23  Glenn Morris  <rgm@gnu.org>
2658         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
2660 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2662         * lisp/isearch.el: Fold many unicode characters to ASCII
2663         (isearch-character-fold-search, isearch--character-fold-extras)
2664         (isearch--character-fold-table): New variable.
2665         (isearch--character-folded-regexp): New function.
2666         (isearch-search-fun-default): Use them.
2667         * lisp/replace.el (replace-character-fold): New variable.
2668         (replace-search): Use it.
2669         * etc/NEWS: Document it.
2671 2015-06-23  Glenn Morris  <rgm@gnu.org>
2673         Check for an input event before showing a dialog box.  (Bug#20813)
2674         * lisp/subr.el (y-or-n-p):
2675         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
2676         as last-nonmenu-event.
2678 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
2680         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
2681         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
2682         (switch-to-prev-buffer, switch-to-next-buffer): Respect
2683         switch-to-visible-buffer independent of the windows history.
2685 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2687         * src/keyboard.c (last_timer_event): Remove unused var.
2689 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2691         * test/automated/package-test.el (package-test-update-listing):
2692         Fix test.
2694 2015-06-23  Glenn Morris  <rgm@gnu.org>
2696         Revert 2014-06-25 nextstep/Makefile change.
2697         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
2698         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
2699         not as an order-only prerequisite.
2701         * configure.ac (--with-ns): Enable by default on OS X.
2703 2015-06-23  Leo Liu  <sdl.web@gmail.com>
2705         Fix shell-for/backward-command to exclude spaces
2706         * lisp/shell.el (shell-forward-command, shell-backward-command):
2707           Handle the 'move case from re-search-forward/backward.
2708           fixes debbugs:20873
2710 2015-06-22  Juri Linkov  <juri@linkov.net>
2712         * lisp/replace.el (query-replace-read-from): Add separator to
2713         the local binding of text-property-default-nonsticky.  (Bug#20690)
2715         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
2716         (Bug#20785)
2718 2015-06-22  Ken Brown  <kbrown@cornell.edu>
2720         Enable CPU profiling on Cygwin
2721         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
2722         change that undefined this.
2723         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
2724         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
2725           Cygwin.
2727         Improve diagnostics of profiler-cpu-start
2728         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
2729         return -1 if the sampling interval is invalid.
2730         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
2731         fails.  (Bug#20843)
2733 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2735         * lisp/emacs-lisp/package.el: Exclude packages by name
2736         (package-hidden-regexps): New variable.
2737         (package-menu--refresh): Use it.
2738         (package-menu-hide-package): New command.
2740         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
2742 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
2744         Fix debug-timer-check on systems without HAVE_TIMERFD
2745         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
2746         the expired timers, since wait_reading_process_output doesn't.
2747         (debug_timer_callback): Enlarge the tolerance to 20 msec.
2749         Fix RCS crashes in vc-test
2750         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
2751         ports of 'ci' on MS-Windows by always passing the -t- switch.
2753 2015-06-22  Glenn Morris  <rgm@gnu.org>
2755         * doc/emacs/package.texi (Packages):
2756         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
2758         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
2760 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2762         Port tests to help-quote-translation
2763         * test/automated/ert-x-tests.el (ert-test-describe-test):
2764         * test/automated/package-test.el (package-test-describe-package)
2765         (package-test-signed): Allow straight quotes, too.
2767 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
2769         Make find-function-on-key use the current window
2770         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
2771         Extract from `find-function-on-key', add a second argument.
2772         (find-function-on-key): Use it (bug#19679).
2773         (find-function-on-key-other-window)
2774         (find-function-on-key-other-frame): New commands.
2776 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2778         Revert "Define `map-elt' as a generalized variable"
2779         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
2781 2015-06-21  Ken Brown  <kbrown@cornell.edu>
2783         Drop support for CPU profiling on Cygwin
2784         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
2785         (Bug#20843)
2787 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2789         Fix some “nested” quoting confusion in doc strings
2790         * lisp/emacs-lisp/advice.el (ad-map-arglists):
2791         * lisp/kermit.el (kermit-clean-on):
2792         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
2793         * src/keyboard.c (Frecursive_edit):
2794         Use curved quotes when quoting text containing apostrophe,
2795         so that the apostrophe isn't curved in the output.
2797 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2799         Define `map-elt' as a generalized variable
2800         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
2801         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
2802         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
2803         `setf' with `map-elt'.
2804         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
2806 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
2808         Improve error handling in tramp-adb.el
2809         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
2810         Improve error handling.
2812 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2814         Reuse `alist-get' in map.el
2815         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
2816         elements.
2818 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
2820         Fix bytecomp-tests--warnings when $TMPDIR has a long name
2821         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
2822         Allow the warning to begin on the 3rd, not only 2nd line, which
2823         happens if temporary-file-directory has a very long name.
2825         Expect 2 icalendar tests to fail on MS-Windows
2826         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
2827         (icalendar-real-world): Make them expected failures on MS-Windows.
2829 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2831         Improve port of settings UI to older displays
2832         * lisp/cus-start.el (standard): Don't assume curved quotes are
2833         easily distinguishable when users are tinkering with a setting
2834         that affects how curved quotes are generated.
2836         Fix quoting in electric-quote-mode doc string
2837         * lisp/electric.el (electric-quote-mode): Fix quoting.
2838         This is a fallout from the recent change introducing
2839         ‘help-quote-translation’.
2841         Spelling fix
2843         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
2845         * src/doc.c (syms_of_doc): Remove unused symbols.
2847 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
2849         In ‘window-state-put’ undedicate target window.  (Bug#20848)
2850         * lisp/window.el (window-state-put): Undedicate target window
2851         before putting STATE into it.  (Bug#20848)
2853 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2855         Merge from origin/emacs-24
2856         a5e6f33 Fixes: debbugs:20832
2857         b9f02cf Fixes: debbugs:20832
2859 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2861         Fix file-in-directory-p when the directory is UNC
2862         * lisp/files.el (file-in-directory-p): Support files and
2863         directories that begin with "//".  (Bug#20844)
2865 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
2867         (Bug#20832)
2868         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
2869         in the minibuffer.
2871 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
2873         (Bug#20832)
2874         * lisp/calendar/todo-mode.el (todo-show): Signal an error
2875         if buffer for adding new todo file is empty but modified.
2877 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2879         (filepos-to-bufferpos): Further tweaks to the utf-16 code
2880         * lisp/international/mule-util.el (filepos-to-bufferpos):
2881         Fix typo.  Move non-exact check to the utf-16 branch (the only one
2882         affected).  Don't use byte-to-position for the utf-16 case.
2884 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2886         Minor fixes in filepos-to-bufferpos
2887         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
2888         test for utf-8-emacs.  Exempt single-byte encodings from the
2889         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
2890         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
2891         UTF-16 encoded files for CR-LF EOLs.
2893 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2895         Improve the optional translation of quotes
2896         Fix several problems with the recently-added custom variable
2897         help-quote-translation where the code would quote inconsistently
2898         in help buffers.  Add support for quoting 'like this', which
2899         is common in other GNU programs in ASCII environments.  Change
2900         help-quote-translation to use more mnemonic values: values are now the
2901         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
2902         traditional Emacs help-buffer quoting style `like this'.  Change the
2903         default behavior of substitute-command-keys to match what's done in
2904         set-locale-environment, i.e., quote ‘like this’ if displayable,
2905         'like this' otherwise.
2906         * doc/lispref/help.texi (Keys in Documentation): Document
2907         new behavior of substitute-command-keys, and document
2908         help-quote-translation.
2909         * doc/lispref/tips.texi (Documentation Tips):
2910         Mention the effect of help-quote-translation.
2911         * etc/NEWS: Mention new behavior of substitute-command-keys,
2912         and merge help-quote-translation news into it.
2913         When talking about doc strings, mention new ways to type quotes.
2914         * lisp/cedet/mode-local.el (overload-docstring-extension):
2915         Revert my recent change to this function, which shouldn't be
2916         needed as the result is a doc string.
2917         * lisp/cedet/mode-local.el (mode-local-print-binding)
2918         (mode-local-describe-bindings-2):
2919         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2920         * lisp/cus-theme.el (describe-theme-1):
2921         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2922         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2923         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
2924         (eieio-help-constructor):
2925         * lisp/emacs-lisp/package.el (describe-package-1):
2926         * lisp/faces.el (describe-face):
2927         * lisp/help-fns.el (help-fns--key-bindings)
2928         (help-fns--compiler-macro, help-fns--parent-mode)
2929         (help-fns--obsolete, help-fns--interactive-only)
2930         (describe-function-1, describe-variable):
2931         * lisp/help.el (describe-mode):
2932         Use substitute-command-keys to ensure a more-consistent quoting
2933         style in help buffers.
2934         * lisp/cus-start.el (standard):
2935         Document new help-quote-translation behavior.
2936         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
2937         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
2938         (help-xref-url-regexp):
2939         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
2940         * lisp/wid-edit.el (widget-documentation-link-regexp):
2941         Also match 'foo', in case we're in a help buffer generated when
2942         help-quote-translation is ?'.
2943         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
2944         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
2945         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
2946         (Fsubstitute_command_keys): Document and implement new behavior.
2947         (Vhelp_quote_translation): Document new behavior.
2949 2015-06-18  Glenn Morris  <rgm@gnu.org>
2951         * lisp/cus-start.el (help-quote-translation): Add :version.
2953         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
2955 2015-06-18  Alan Mackenzie  <acm@muc.de>
2957         Make translation of quotes to curly in doc strings optional.
2958         src/doc.c (traditional, prefer-unicode): new symbols.
2959         (help-quote-translation): new variable.
2960         (Fsubstitute_command_keys): make translation of quotes dependent on
2961         `help-quote-translation'; also translate curly quotes back to ASCII
2962         ones.
2963         lisp/cus-start.el (top-level): Add a customization entry for
2964         `help-quote-translation'.
2966 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2968         * lisp/emacs-lisp/package.el: Don't always propagate async errors
2969         (package--with-work-buffer-async): Only propagate the error if the
2970         callback returns non-nil.
2971         (package--download-one-archive): Return nil on the signature
2972         checking callback if we accept unsigned.
2973         (package--download-and-read-archives): Return non-nil on the
2974         archive download callback.
2976 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
2978         Fix last fix"
2980         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
2981         * src/nsfns.m (Fx_create_frame):
2982         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
2983         image_cache_refcount before first x_default_parameter call.
2985 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2987         Improve and extend filepos-to-bufferpos
2988         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2989         Don't barf if F returns nil for some argument.
2990         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
2991         that every encoding of type 'charset' is single-byte.
2993 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2995         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
2996         Properly delete packages.  (Bug#20836)
2998 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
3000         Update data files from just-released Unicode 8.0
3001         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
3002         status.
3003         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
3004         * admin/unidata/BidiMirroring.txt:
3005         * admin/unidata/BidiBrackets.txt:
3006         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
3008 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
3010         Document curved quotes a bit better
3011         * doc/emacs/basic.texi (Inserting Text):
3012         Mention C-x 8.  Change example to use curved quote rather
3013         than infinity, as this lets us give more ways to do it.
3014         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
3015         and quotation marks.
3016         * doc/emacs/text.texi (Quotation Marks):
3017         * doc/lispref/tips.texi (Documentation Tips):
3018         Add "curly quotes" and "curved quotes" to the index.
3019         * doc/emacs/text.texi (Quotation Marks):
3020         Give the C-x 8 shorthands for curved quotes.
3021         Cross-reference to "Quotation Marks".
3023 2015-06-17  Daiki Ueno  <ueno@gnu.org>
3025         Add pinentry.el for better GnuPG integration
3026         * lisp/pinentry.el: New file.
3027         * etc/NEWS: Add entry about pinentry.el.
3028         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
3029         (Bug#20550)
3031 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
3033         * lisp/emacs-lisp/package.el: Slightly better error reporting.
3035 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
3037         (define-minor-mode): Use setq-default for :global minor modes
3038         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
3039         Use setq-default for :global minor modes (bug#20712).
3041 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
3043         Avoid infloop in redisplay with tall images
3044         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
3045         down near ZV.  (Bug#20808)
3046         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
3047         instead of CHARPOS.
3049 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
3051         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
3052         Fix error reporting.
3054         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
3056         * lisp/emacs-lisp/package.el: Revert buffer after any operation
3057         Call `package-menu--post-refresh' after any operation that changes
3058         the package database (`package-install' and `package-delete').  To
3059         avoid performance issues in large transactions, these functions
3060         add `post-refresh' to `post-command-hook' instead of calling it
3061         immediately.
3062         (package-menu--mark-or-notify-upgrades): New function.
3063         (list-packages): Add it to `package--post-download-archives-hook'.
3064         (package-menu--post-refresh): Lose the upgrade-checking code, add
3065         code to remove itself from `post-command-hook'.
3066         (package-install, package-delete): Add it to `post-command-hook'.
3067         (package-menu-execute): Don't call `package-menu--post-refresh'.
3069 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
3071         Add missing function xref-location-group for elisp-mode.
3072         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
3074 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
3076         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
3077         The behavior now matches the description in the manual.  (Bug#20783)
3079 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
3081         Update tutorials/TUTORIAL.cn
3082         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
3084 2015-06-17  Glenn Morris  <rgm@gnu.org>
3086         Generate char-script-table from Unicode source.  (Bug#20789)
3087         * admin/unidata/Makefile.in (AWK): New, set by configure.
3088         (all): Add charscript.el.
3089         (blocks): New variable.
3090         (charscript.el, ${unidir}/charscript.el): New targets.
3091         (extraclean): Also remove generated charscript.el.
3092         * admin/unidata/blocks.awk: New script.
3093         * admin/unidata/Blocks.txt: New data file, from unicode.org.
3094         * lisp/international/characters.el: Load charscript.
3095         * src/Makefile.in (charscript): New variable.
3096         (${charscript}): New target.
3097         (${lispintdir}/characters.elc): Depend on charscript.elc.
3098         (temacs$(EXEEXT)): Depend on charscript.
3100         * lisp/international/characters.el (char-script-table): Tweak
3101         some ranges to better match the source.  (Bug#20789#17)
3103         Remove "no-byte-compile: t" from a few files.
3104         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
3105         * lisp/obsolete/patcomp.el: No reason not to compile these.
3107 2015-06-16  Glenn Morris  <rgm@gnu.org>
3109         Fix some typos in copied Unicode data.  (Bug#20789)
3110         * lisp/international/characters.el (char-script-table):
3111         * lisp/international/fontset.el (script-representative-chars)
3112         (setup-default-fontset): Fix typos.
3114         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
3115         Don't print filename twice (it's in the prefix now).
3117         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
3118         No longer needed.
3120         Address a compilation warning.
3121         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
3122         Replace 't' with '_' in pcase.
3124         Address some check-declare warnings.
3125         * lisp/simple.el (tabulated-list-print):
3126         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
3127         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
3128         (ns-get-selection): Update declarations.
3130         Address some compilation warnings.
3131         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
3132         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
3133         Replace 't' with '_' in pcase.
3135         Address some compilation warnings.
3136         * lisp/face-remap.el (text-scale-adjust):
3137         * lisp/menu-bar.el (popup-menu-normalize-position):
3138         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
3139         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
3140         * lisp/emacs-lisp/generator.el (cps--transform-1):
3141         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
3142         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
3143         * lisp/progmodes/octave.el (octave-goto-function-definition)
3144         (octave-find-definition-default-filename):
3145         Replace 't' with '_' in pcase.
3147         * lisp/emacs-lisp/pcase.el (pcase--u1):
3148         Paper-over today's bootstrap failure.
3150 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
3152         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
3154         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
3156         Better confirmation message in `find-alternate-file' (Bug#20830)
3157         * lisp/files.el (find-alternate-file'): Improve the confirmation
3158         message to show the buffer name.
3160         Better docstring for null. (Bug#20815)
3161         * src/data.c (null): Improves the docstring, saying what null returns
3162         when OBJECT is non-nil.
3164 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3166         * lisp/net/newst-treeview.el: Use lexical-binding.
3168         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
3169         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
3170         New auxiliary function, extracted from filepos-to-bufferpos.
3171         Make sure it terminates.
3172         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
3173         Add support for the `exact' quality.
3175 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
3177         Identify feeds in newsticker treeview with :nt-feed property
3178         * lisp/net/newst-treeview.el:
3179         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
3181 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3183         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
3184         (pcase--self-quoting-p): Floats aren't self-quoting.
3185         (pcase): Tweak docstring.
3186         (pcase--u1): Deprecate the t pattern.  Improve error detection for
3187         the nil pattern.
3188         (\`): Tweak docstring.  Signal an error for unrecognized cases.
3189         (bug#20784)
3191 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
3193         Fix infloop in filepos-to-bufferpos
3194         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
3195         offset calculation, and make it conditional on the eol-type of the
3196         file's encoding.  (Bug#20825)
3198 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
3200         Fix handling of image cache refcounts.  (Bug#20802)
3201         This backports Eli Zaretskii's solution of this problem for W32
3202         to X and NS.
3203         * src/nsfns.m (image_cache_refcount): Define unconditionally.
3204         (unwind_create_frame): If the image cache's reference count
3205         hasn't been updated yet, do that now.
3206         (Fx_create_frame): Set image_cache_refcount unconditionally.
3207         * src/xfns.c (image_cache_refcount): Define unconditionally.
3208         (unwind_create_frame): If the image cache's reference count
3209         hasn't been updated yet, do that now.
3210         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
3211         unconditionally.
3212         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
3213         X and NS.
3215 2015-06-16  Nils Ackermann  <nils@ackermath.info>
3217         Improve reftex-label-regexps default value
3218         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
3219         keyvals label regexp more strict to better cope with unbalanced
3220         brackets common in math documents.
3222 2015-06-16  Glenn Morris  <rgm@gnu.org>
3224         * doc/emacs/calendar.texi (Format of Diary File):
3225         Move "nonmarking" from here...
3226         (Displaying the Diary): ... to here.
3228         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
3229         Swap the order of these nodes.
3230         * doc/emacs/emacs.texi: Update detailed menu for the above change.
3232         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
3233         Update date of examples.
3234         (Diary, Format of Diary File): Move example from former to latter.
3235         Reduce duplication.
3237         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
3238         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
3239         Don't set no-byte-compile in the outputs.
3240         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
3242 2015-06-15  Glenn Morris  <rgm@gnu.org>
3244         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
3245         * doc/emacs/calendar.texi (Diary, Format of Diary File):
3246         Update for above diary-file change.
3247         : * etc/NEWS: Mention this.
3249         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
3250         (apply-macro-to-region-lines): Use user-error.
3252         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
3253         (pages-directory-for-addresses): Doc fixes.
3255 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
3257         * lisp/info.el: Cleanup bytepos/charpos issues
3258         * lisp/international/mule-util.el: Use lexical-binding.
3259         (filepos-to-bufferpos): New function.
3260         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
3261         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
3262         (Info-read-subfile, Info-search): Use 0-based file positions.
3264         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
3265         (perl--syntax-exp-intro-keywords): New var.
3266         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
3267         (bug#20800).
3269 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3271         Fix quoting when making derived mode docstring
3272         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
3273         Nest regexp-quote inside format, not the reverse.
3274         Problem reported by Artur Malabarba in:
3275         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
3277 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
3279         Fix current-iso639-language on MS-Windows
3280         * lisp/international/mule-cmds.el (set-locale-environment):
3281         Downcase the locale name before interning it.  This is so the
3282         'current-iso639-language' on MS-Windows matches the ':lang'
3283         property of font-spec objects.
3285         Limit Symbola usage some more
3286         * lisp/international/fontset.el (setup-default-fontset): Limit
3287         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
3288         (Bug#20727)
3290 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
3292         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3294 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3296         Spelling fixes
3298 2015-06-14  Glenn Morris  <rgm@gnu.org>
3300         * lisp/version.el (emacs-repository-version-git): Demote errors.
3301         Check result is a hash.
3303 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
3305         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
3306         Catch errors that happen before going async.  (Bug#20809)
3308 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
3310         Another improvement of documentation of set-fontset-font
3311         * doc/lispref/display.texi (Fontsets): Say explicitly that
3312         CHARACTER can be a single codepoint.
3313         * src/fontset.c (Fset_fontset_font): Doc fix.
3315         Another improvement for symbol and punctuation characters
3316         * lisp/international/fontset.el (setup-default-fontset): Exclude
3317         from Symbola character ranges for symbols and punctuation covered
3318         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
3319         installed and where its coverage of symbols and punctuation is
3320         known to be good.  (Bug#20727)
3322 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
3324         Some generic support for multi-mode indentation.
3325                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
3326                 variable.
3327                 (prog-first-column, prog-widen): New convenience functions.
3329 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
3331         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
3332         Don't assume that `tabulated-list-printer' will leave point at the
3333         end of the buffer.  (Bug#20810)
3335 2015-06-13  Glenn Morris  <rgm@gnu.org>
3337         Tweaks for getting repository version; a bit more like it was for bzr.
3338         * lisp/version.el (emacs-repository-version-git)
3339         (emacs-repository--version-git-1): New functions,
3340         split from emacs-repository-get-version.
3341         (emacs-repository-get-version): Make the second argument meaningful.
3343         * lisp/startup.el (command-line-1): Inform if skipping relative
3344         file names due to deleted PWD.
3346         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
3347         when starup directory is missing.  (Bug#18851)
3348         (errno.h): Include it.
3350 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
3352         Better fix for documenting `X as "`X"
3353         Fix suggested by Stefan Monnier.
3354         * lisp/help-fns.el (help-fns--signature):
3355         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
3356         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3357         Don't treat `X specially, as help-fns--signature now handles this.
3359 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
3361         Improve the default fontset when Symbola is not installed
3362         * lisp/international/fontset.el (setup-default-fontset): Only
3363         prepend Symbola and FreeMono font specs for symbols and
3364         punctuation; do not replace the default spec for them.  This
3365         should have better results when Symbola/FreeMono are not
3366         installed.  (Bug#20727)
3368         Improve documentation of ':lang' in font specs
3369         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
3370         use of the ':lang' property of the font spec.
3371         * doc/emacs/frames.texi (Fonts): Document the language names that
3372         can be in the STYLE part of XLFD.
3373         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
3374         property.
3376         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
3378         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
3380         Revert last change in fontset.el
3381         * lisp/international/fontset.el (setup-default-fontset): Revert
3382         the change "Configure Symbola font only if installed", since font
3383         search is evidently not yet set up when this function is called.
3384         (Bug#20727)
3386 2015-06-12  Glenn Morris  <rgm@gnu.org>
3388         Ensure early startup warnings are visible at the end.  (Bug#20792)
3389         * lisp/emacs-lisp/warnings.el (display-warning):
3390         If startup isn't complete, delay the warning.
3391         * lisp/startup.el (normal-top-level, command-line):
3392         Let display-warning automatically handle the needed delays.
3393         Run delayed-warnings-hook.
3395         * lisp/version.el (emacs-repository-get-version):
3396         Avoid calling external executable if possible.  (Bug#20799)
3398 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3400         Document `X as "`X", not as "(` X)"
3401         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3402         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
3404         * src/print.c (print_object): Minor simplification.
3406 2015-06-12  Glenn Morris  <rgm@gnu.org>
3408         * src/buffer.c (init_buffer): Add final newline to message.
3410 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3412         Configure Symbola font only if installed
3413         * lisp/international/fontset.el (setup-default-fontset):
3414         Don't specify the Symbola font if it's not installed.
3415         Likewise for FreeMono.  (Bug#20727)
3417 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
3419         Configure Symbola font only for symbols and punctuation
3420         * lisp/international/fontset.el (setup-default-fontset): Leave
3421         only symbols and punctuation in the fontset setup for Symbola
3422         font; remove "Greek and Coptic" and "Cyrillic Supplement".
3423         (Bug#20798)
3425 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
3427         Fix crash in fontset-info
3428         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
3429         non-nil.
3431 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3433         Port to Solaris 10 sparc + Sun C 5.13
3434         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
3435         Adjust to process.c change.
3436         * src/process.c (create_process): Declare volatile variables at
3437         top level of this function, so that they're less likely to be
3438         reused later in the function in the code executed by the vforked
3439         child.  Do not declare locals used only in the vforked child, as
3440         they might share memory with locals still live in the parent.
3441         Instead, use the same variables in the child as in the parent.
3442         This works around a subtle bug that causes a garbage collector
3443         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
3445 2015-06-12  Glenn Morris  <rgm@gnu.org>
3447         * lisp/startup.el (normal-top-level): Don't let *Messages* get
3448         a nil default-directory.
3450 2015-06-11  Glenn Morris  <rgm@gnu.org>
3452         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
3454         Some progress towards starting with PWD deleted.  (Bug#18851)
3455         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
3456         * lisp/startup.el (normal-top-level, command-line-1):
3457         * lisp/minibuffer.el (read-file-name-default):
3458         Handle default-directory being nil.
3460 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3462         Fix "not a tty" bug on Solaris 10
3463         * configure.ac (PTY_OPEN): Define to plain 'open'
3464         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
3465         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
3466         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
3467         hosts that call grantpt which does its work via a setuid subcommand
3468         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
3469         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
3470         seems relevant in that case too.
3472 2015-06-11  Juri Linkov  <juri@linkov.net>
3474         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
3475         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
3476         (Bug#20785)
3478 2015-06-11  Glenn Morris  <rgm@gnu.org>
3480         * lisp/international/characters.el (char-script-table): Fix typo.
3482 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3484         Fix quoting of help for functions with odd names
3485         While investigating Bug#20759, I discovered other quoting problems:
3486         C-h f mishandled characters like backslash and quote in function names.
3487         This fix changes the behavior so that 'C-h f pcase RET' now
3488         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
3489         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
3490         in src/lread.c's read1 function says that the backslash will be
3491         needed starting in Emacs 25, which implies that 'format' is
3492         correct and the old pcase documention was wrong to omit the backslash.
3493         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
3494         * lisp/help-fns.el (help-fns--signature):
3495         * lisp/help.el (help-add-fundoc-usage):
3496         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
3497         Use help--make-usage-docstring rather than formatting
3498         help-make-usage.
3499         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
3500         Return raw docstring.
3501         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
3502         raw docstring.  Take more care to distinguish raw from cooked dstrings.
3503         (describe-function-1): Let help-fns--signature substitute
3504         command keys.
3505         * lisp/help.el (help--docstring-quote): New function.
3506         (help-split-fundoc): Use it, to quote funny characters more
3507         systematically.
3508         (help--make-usage): Rename from help-make-usage, since this
3509         should be private.  Leave an obsolete alias for the old name.
3510         (help--make-usage-docstring): New function.
3511         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
3513 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3515         * lisp/thingatpt.el (in-string-p): Revert last change,
3516         since in-string-p is not used in thingatpt.el but only from outside.
3517         Also, use lexical binding.
3519 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
3521         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
3522         * test/automated/let-alist.el (let-alist-cons): Test it.
3524 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3526         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
3528 2015-06-10  Glenn Morris  <rgm@gnu.org>
3530         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
3532         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
3533         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
3534         * admin/gitmerge.el (gitmerge-commit-message):
3535         Exclude "skipped" messages from ChangeLog once again.
3537         Slight namespace cleanup for thingatpt.el.
3538         * lisp/thingatpt.el (thing-at-point--in-string-p)
3539         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
3540         (thing-at-point--read-from-whole-string): Rename from
3541         old versions without "thing-at-point--" prefix.
3542         Keep old versions as obsolete aliases.  Update all uses.
3544         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
3545         Move requiring of finder from here...
3546         (checkdoc-package-keywords): ... to here.
3548         Use 'user-error' in a few calendar files.
3549         * lisp/calendar/appt.el (appt-add):
3550         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
3551         (calendar-generate):
3552         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
3553         Replace 'error' with 'user-error'.
3555         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
3557         * lisp/files-x.el (add-file-local-variable):
3558         Special-case 'lexical-binding'.  (Bug#20641)
3560         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
3561         No longer autoload.
3562         * doc/misc/autotype.texi (Executables):
3563         Undocument executable-self-display.
3565         * lisp/progmodes/executable.el (executable-self-display):
3566         Use non-obsolete tail syntax.  (Bug#20779)
3567         (executable-self-display): Doc update.
3569 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3571         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
3572         (finder-known-keywords): Silence byte-compiler.
3574 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
3576         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
3578         * lisp/progmodes/sh-script.el: Better handle nested quotes
3579         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
3580         (sh-font-lock-quoted-subshell): Make sure double quotes within single
3581         quotes don't mistakenly end prematurely the surrounding string.
3583         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
3585 2015-06-09  Glenn Morris  <rgm@gnu.org>
3587         * test/automated/Makefile.in (ELFILES): Sort.
3589         * Makefile.in (SUBDIR_MAKEFILES):
3590         * lwlib/Makefile.in (WARN_CFLAGS):
3591         Use built-in Make functions rather than echo+sed.
3593 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
3595         Update char-script-table
3596         * lisp/international/characters.el (char-script-table): Update
3597         from Unicode 8.0 Draft.
3599         Improve font selection for punctuation and other symbols
3600         * src/fontset.c (face_for_char): If the character's script is
3601         'symbol', and the font used for ASCII face has a glyph for it, use
3602         the font for the ASCII face instead of searching the fontsets.
3603         This comes instead of NS-specific code that used the current
3604         face's font instead, which is now disabled due to undesirable
3605         consequences.  (Bug#20727)
3607 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
3609         Skip past `#' to find BEG
3610         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
3611         past `#' to find BEG (bug#20771).
3612         * test/automated/elisp-mode-tests.el
3613         (elisp-completes-functions-after-hash-quote): New test.
3615 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3617         Fix compilation warning/error in --without-x builds
3618         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
3619         code on HAVE_WINDOW_SYSTEM.
3621         Improve the default fontset wrt symbols
3622         * lisp/international/fontset.el (setup-default-fontset): Better
3623         setup of fontset-default for symbols: use Symbola and FreeMono.
3624         (Bug#20727)
3626 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3628         Add new command checkdoc-package-keywords
3629         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
3630           defcustom.
3631         (checkdoc-list-of-strings-p): Add doc.
3632         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
3633         non-nil, call `checkdoc-package-keywords'.
3634         (checkdoc-get-keywords): New defun.
3635         (checkdoc-package-keywords): New command. Warns if the current file
3636         has package.el-style keywords that aren't in `finder-known-keywords'.
3637         * etc/NEWS: Add entry.
3639 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3641         Avoid crashes when key-binding is called from a timer
3642         * src/keymap.c (Fkey_binding): Don't segfault if called with an
3643         empty vector as KEY.  (Bug#20705)
3645         Fix a thinko in arc-mode.el
3646         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
3647         non-Zip64 case.  (Bug#20769)
3649 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
3651         * lisp/emacs-lisp/package.el (package-delete): Make interactive
3653 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3655         checkdoc.el (checkdoc-file): New function
3656         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
3657           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
3658           to the standard output.
3659         (bug#20754)
3661 2015-06-07  Glenn Morris  <rgm@gnu.org>
3663         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
3665         * src/font.c (syms_of_font) <font-log>: Doc fix.
3667         Remove the obsolete leading "*" from some C doc strings.
3668         * src/coding.c (syms_of_coding):
3669         * src/font.c (syms_of_font): Remove leading "*" from docs.
3670         * lisp/cus-start.el (enable-character-translation): Add it.
3672 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
3674         Move gen_origin from program to data
3675         That way, 'make change-history' needs to change only ChangeLog.2,
3676         instead of having to change two files.
3677         * ChangeLog.2: Add commit info for range that this file covers.
3678         * Makefile.in (new_commit_regexp): New macro.
3679         (change-history-nocommit): Simplify, by putting what used to be
3680         the gen_origin value into the data (ChangeLog.2) rather than
3681         into the program (gitlog-to-emacslog).
3682         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
3683         the input file (e.g., ChangeLog.2) rather than by having a
3684         constant in the program.  Substitute it into the output.
3686 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
3688         Escape any quotes in the function name
3689         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
3690         function name (bug#20759).
3692 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
3694         Adapt 'struct timespec' to next release of MinGW runtime
3695         * nt/inc/ms-w32.h (struct timespec): Don't declare if
3696         __struct_timespec_defined is defined.
3698 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3700         Merge from gnulib
3701         This incorporates:
3702         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
3703         2015-06-05 stdio: Don't redefine gets when using C++
3704         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
3705         2015-06-02 file-has-acl: fix build on Mac OS X 10
3706         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
3707         2015-06-01 pthread_sigmask: discount system version if a simple macro
3708         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
3709         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
3710         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
3711         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
3712         * lib/gnulib.mk: Regenerate.
3714 2015-06-06  Juri Linkov  <juri@linkov.net>
3716         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
3717         before calling grep-compute-defaults because now it affects the
3718         command lines computed in grep-compute-defaults. (Bug#20728)
3720 2015-06-06  Glenn Morris  <rgm@gnu.org>
3722         Address some compilation warnings.
3723         * lisp/international/mule-cmds.el (w32-get-console-codepage)
3724         (w32-get-console-output-codepage):
3725         * lisp/progmodes/elisp-mode.el (xref-collect-references):
3726         * lisp/version.el (cairo-version-string): Declare.
3727         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
3729 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3731         Fix display when a font claims large values of ascent and descent
3732         This fixes bug#20628.
3733         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
3734         coordinate of a hollow cursor glyph when the original glyph's
3735         ascent is too small.
3736         (get_font_ascent_descent, normal_char_ascent_descent)
3737         (normal_char_height): New functions.
3738         (handle_single_display_spec, append_space_for_newline)
3739         (calc_pixel_width_or_height, produce_stretch_glyph)
3740         (calc_line_height_property): Use normal_char_ascent_descent and
3741         normal_char_height.
3742         (x_produce_glyphs): When font-global values of ascent and descent
3743         are too large, use per-character glyph metrics instead, if
3744         possible.  But don't allow the glyph row's ascent and descent
3745         values become smaller than the values from the metrics of the
3746         font's "normal" character.
3747         * src/xftfont.c (xftfont_draw):
3748         * src/w32font.c (w32font_draw): Correct the values of ascent and
3749         descent used to draw glyphless characters' hex code in a box.
3750         * src/xterm.c (x_draw_glyph_string_background):
3751         * src/xdisp.c (x_produce_glyphs):
3752         * src/w32term.c (x_draw_glyph_string_background):
3753         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
3754         to detect fonts whose global ascent and descent values are too
3755         large to be used in layout decision, and redraw the background
3756         when that happens.
3757         * src/dispextern.h (FONT_TOO_HIGH): New macro.
3758         (get_font_ascent_descent): Add prototype.
3759         * src/xterm.c (x_new_font):
3760         * src/w32term.c (x_new_font):
3761         * src/nsterm.m (x_new_font):
3762         * src/font.c (font_open_entity):
3763         * src/composite.c (composition_gstring_width): Use
3764         get_font_ascent_descent to obtain reasonable values for ascent and
3765         descent of a font.
3767 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3769         Add assertion in adjust_point_for_property
3770         * src/keyboard.c (adjust_point_for_property): Add eassert for
3771         current buffer being shown in selected window.
3773 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
3775         Replace uses of in-string-p; make it obsolete
3776         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
3777         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
3779 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3781         Fix Dired display of an explicit list of files by ls-lisp.el
3782         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
3783         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
3784         correct for when displaying individual files separately, not as
3785         part of listing a directory, in which case these values are not
3786         recomputed by 'ls-lisp-insert-directory', but used verbatim.
3788         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
3790 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3792         Do not adjust point in a non-selected window
3793         * src/keyboard.c (command_loop_1): Do not adjust point when
3794         current buffer is not shown in selected window (Bug#20590).
3796         * etc/DEBUG: Mention 'maybe_call_debugger'
3798 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
3800         Fix a unit test for map.el
3801         * test/automated/map-tests.el (test-map-let): Fix the test to work
3802         with the new syntax of `map-let'.
3804         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3806         Better syntax for the map pcase pattern
3807         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
3808         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
3810         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
3812         Fix a byte-compiler error in map-put and map-delete
3813         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
3814         called with a symbol.
3816 2015-06-05  Glenn Morris  <rgm@gnu.org>
3818         * admin/gitmerge.el (gitmerge-commit-message):
3819         Revert to including "skipped" messages in ChangeLog once again.
3821 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
3823         Use string> instead of equiv lambda with string<
3824         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
3825         lambda with string<.
3827 2015-06-05  Glenn Morris  <rgm@gnu.org>
3829         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
3830         (map--delete-array): Fix typo.
3832         * test/automated/map-tests.el: Replace "assert" with "should".
3834         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
3835         (SUBDIRS_REL): Derive from SUBDIRS.
3837         Tweak some build messages.
3838         * lisp/Makefile.in ($(lisp)/loaddefs.el):
3839         * lisp/cus-dep.el (custom-make-dependencies):
3840         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
3841         * lisp/international/titdic-cnv.el (batch-titdic-convert):
3842         Don't say how to compile.
3844 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
3846         Omit U+0332 COMBINING LOW LINE in previous change
3847         It turns out that it does not work on Ubuntu 15.04.
3849         Fix transliteration of Bahá'í months
3850         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
3851         Improve quality of Latin transliteration of Bahá'í month names.
3853         Fix curved quotes in a few places
3854         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
3855         The strings in question are not doc strings, so this partially
3856         undoes the recent change that assumed they were doc strings.
3857         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
3858         * lisp/info.el (Info-finder-find-node):
3859         Use curved quotes.
3860         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
3861         Also allow curved quotes in doc strings.
3863 2015-06-04  Glenn Morris  <rgm@gnu.org>
3865         * lisp/Makefile.in (AM_V_at): Add missing definition.
3867         * lisp/Makefile.in: Quieten output a bit.
3868         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
3869         Don't echo directories, since the commands we invoke print them.
3871         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
3872         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
3873         (SUBDIRS_SUBDIRS): New variables.
3874         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
3875         Remove.
3876         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
3877         (update-subdirs, compile-main, compile-clean):
3878         Replace "setwins" usage with new "SUBDIRS" variables.
3880         * lisp/vc/compare-w.el (compare-windows-get-window-function):
3881         Fix :version tag.
3883 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3885         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
3887         Undo removal of x_clear_area call on expose for GTK3 or cairo.
3888         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
3889         exposed area.  (Bug#20677)
3891 2015-06-04  Glenn Morris  <rgm@gnu.org>
3893         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
3895         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
3897         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
3898         Rename from quail-lao-update-translation, since lao.el defines that.
3900 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
3902         Handle new-style advice in find-funct
3903         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
3904         Handle new-style advice.  Return the symbol's function definition.
3905         (Bug#20718)
3906         (find-function-library): Update accordingly.
3908 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
3910         Merge branch 'map'
3912         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
3914         Add new function string-greaterp
3915         * lisp/subr.el (string-greaterp): New function.  Also aliased to
3916         `string>'.
3917         * test/automated/subr-tests.el (string-comparison-test): Add unit
3918         tests for `string>'and `string<'.
3919         * src/fns.c (string-lessp): Better docstring.
3921 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
3923         Fix timezone-related functions on MS-Windows
3924         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
3925         'xputenv', even if no reallocation of tzvalbuf was necessary.
3926         This fixes a bug in timezone-related functions on MS-Windows.
3927         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
3929 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3931         Don't pass raw directory name to 'error'
3932         * lisp/files.el (basic-save-buffer-2): Avoid format error if
3933         a directory name contains a string like "%s".
3935 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
3937         Override 'grep --color=always'
3938         * lisp/progmodes/xref.el (xref-collect-matches):
3939         Override --color=always in grep-find-template.
3941 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3943         Fix error introduced recently in file-notify-tests.el
3944         * test/automated/file-notify-tests.el
3945         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
3946         (file-notify--deftest-remote): Revert previous patch, not
3947         necessary anymore.
3949 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
3951         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
3952         Starting from a display string after a newline, point went to the
3953         previous line.  Also, fix an inadvertent use of a buffer position
3954         with FETCH_BYTE.  (Bug#20701)
3956 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3958         Instrument file-notify-test.el in order to catch hydra error.
3959         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
3960         Wrap body by `ignore-case', in order to trap non-local errors.
3962 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3964         Undo previous changes in non-toolkit scroll bar drawing.
3965         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
3966         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
3968 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3970         * .gitignore: Also ignore doc/*/*/*.html and .ps.
3972         Support quotes 'like this' in info files
3973         This is possible when 'makeinfo --disable-encoding' is used
3974         in Texinfo 5.
3975         * lisp/calc/calc-help.el (calc-describe-thing):
3976         * lisp/gnus/gnus-art.el (gnus-button-alist):
3977         * lisp/info.el (Info-find-index-name):
3978         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
3979         Also support quotes 'like this'.
3980         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
3981         * lisp/finder.el (finder-font-lock-keywords): Remove var that
3982         hasn't been used in years, instead of bothering to fix its quoting.
3984 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3986         * .gitignore: Remove !test/etags/html-src/*.html.
3987         It's no longer needed, since *.html was removed.  Sort.
3989 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3991         Restore <D> instead of '.' in grep-find-template
3992         * lisp/cedet/semantic/symref/grep.el
3993         (semantic-symref-grep-use-template): Update a comment.
3994         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
3995         instead of '.' in grep-find-template (bug#20719).
3996         (rgrep): Pass nil as the directory to rgrep-default-command.
3997         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
3998         default value for DIR.
3999         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
4000         workaround.
4002 2015-06-02  Glenn Morris  <rgm@gnu.org>
4004         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
4006         * configure.ac (emacs_config_features): Add Cairo.
4008         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
4010 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
4012         Ensure, that autorevert works for remote files in file-notify-tests.el
4013         * test/automated/file-notify-tests.el (file-notify--test-desc):
4014         New defvar.
4015         (file-notify--test-remote-enabled)
4016         (file-notify-test00-availability, file-notify-test01-add-watch)
4017         (file-notify-test02-events): Use it.
4018         (file-notify--test-event-test): Check proper descriptor.
4019         (file-notify-test03-autorevert): Ensure, that
4020         `visited-file-modtime' has changed.
4021         (Bug#20392)
4023 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
4025         Add a pcase pattern for maps and `map-let' based on it
4026         * lisp/emacs-lisp/map.el (map-let): New macro.
4027         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
4028         * test/automated/map-tests.el: New test for `map-let'.
4030 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
4032         Reuse rgrep mechanics in xref-find-regexp
4033         * lisp/progmodes/grep.el (rgrep-default-command):
4034         Extract from `rgrep'.
4035         * lisp/progmodes/xref.el (xref-collect-references): Split from
4036         `xref-collect-matches'.  Only handle the case of symbol search.
4037         (xref-collect-matches): Instead of Semantic Symref, use
4038         `rgrep-default-command', to take advantage of its directory and
4039         file ignore settings.
4040         (xref--collect-match): Remove the last argument, leaving the
4041         regexp construction up to the caller.
4042         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
4043         Change to take the xref-collect- function to use as an argument.
4044         (elisp-xref-find): Update accordingly.
4045         * lisp/progmodes/etags.el (etags--xref-find-matches)
4046         (etags-xref-find): Same.
4048         Move xref-elisp-location to elisp-mode.el
4049         * lisp/progmodes/xref.el (xref-elisp-location)
4050         (xref-make-elisp-location, xref-location-marker): Remove here.
4051         (xref--xref): Don't limit the type of the location slot.
4052         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
4053         Define as a cl-struct here.
4054         (xref-location-marker): Move here.
4056 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
4058         Minor tweaks for .gitignore
4059         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
4060         ignore admin/notes/tags that might be ignored as TAGS on
4061         case-insensitive filesystems.  (Bug#20710)
4063 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
4065         Generate curved quotes in ert doc
4066         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
4067         (ert-results-mode-menu)
4068         (ert-results-pop-to-backtrace-for-test-at-point)
4069         (ert-results-pop-to-messages-for-test-at-point)
4070         (ert-results-pop-to-should-forms-for-test-at-point)
4071         (ert-describe-test):
4072         Quote ‘like this’, not `like this', when generating doc strings
4073         and the like.
4074         * test/automated/ert-x-tests.el (ert-test-describe-test):
4075         Allow quoting ‘like this’.
4077 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
4079         Add test for previous commit
4080         * test/automated/replace-tests.el: New file.
4081         (query-replace--split-string-tests): Add test for previous commit.
4083         Avoid confusion in query-replace history when replacing NUL chars
4084         * lisp/replace.el (query-replace--split-string): New function.
4085         (query-replace-read-from): Rely on the 'separator' property
4086         instead of searching for the NUL character (Bug#20690).
4088 2015-06-02  Glenn Morris  <rgm@gnu.org>
4090         Merge from origin/emacs-24
4091         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
4093         * admin/gitmerge.el (gitmerge-commit-message):
4094         Exclude "skipped" messages from ChangeLog.
4096 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
4098         Sync with Tramp repository
4099         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
4100         messages.
4101         (tramp-handle-make-auto-save-file-name): When calling
4102         `make-auto-save-file-name' internally, make sure it uses Unix-like
4103         behavior, not Windows-like behavior.
4104         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
4105         the local case, because "chown" might fail on w32.
4106         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
4107         for XEmacs.
4109 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
4111         MS-Windows followup for batch stdout/stderr output changes
4112         * lisp/international/mule-cmds.el (set-locale-environment): In
4113         batch mode, use console codepages for keyboard and terminal
4114         encoding.  (Bug#20545)
4116         Update .gitattributes for DOS EOL files
4117         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
4118         CRLF end-of-line format.
4120         NS equivalents of xterm.c and w32term.c changes
4121         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
4122         glyph string background also when the font in use claims
4123         preposterously large global height value.  Helps to remove
4124         artifacts left from previous displays when glyphless characters
4125         are displayed as hex code in a box.
4126         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
4127         value for FRAME_LINE_HEIGHT, even when a font claims very large
4128         value for its height.
4130 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
4132         Avoid grave accent quoting in stderr diagnostics
4133         A few Emacs diagnostics go directly to stderr, and so can't easily
4134         contain curved quotes (as non-UTF-8 locales might mishandle them).
4135         Instead of bothering to add support for this rarity, reword the
4136         diagnostics so that they don't use grave accent to quote.
4137         * src/alloc.c (mark_memory): Fix comment.
4138         * src/buffer.c (init_buffer):
4139         * src/dispnew.c (init_display):
4140         * src/emacs.c (main, sort_args):
4141         * src/lread.c (dir_warning):
4142         * src/term.c (init_tty):
4143         * src/unexmacosx.c (unexec):
4144         * src/xfns.c (select_visual):
4145         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
4146         Reword stderr diagnostics to avoid quoting `like this'.
4147         * src/unexmacosx.c: Include errno.h.
4148         * src/xfns.c (select_visual): Encode value for locale.
4150 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
4152         Treat batch stdout/stderr like standard display
4153         Calls like (print FOO) could generate improperly encoded or
4154         hard-to-read output if FOO contains characters outside the system
4155         locale.  Fix this by treating batch stdout and stderr like
4156         interactive standard display, when it comes to transliterating and
4157         encoding characters (Bug#20545).
4158         * doc/emacs/mule.texi (Communication Coding):
4159         * doc/lispref/display.texi (Active Display Table):
4160         * doc/lispref/nonascii.texi (Locales):
4161         * etc/NEWS:
4162         * src/coding.c (syms_of_coding):
4163         * src/dispnew.c (syms_of_display):
4164         Document this.
4165         * src/print.c: Include disptab.h.
4166         (printchar_to_stream): New function, with much of the guts of the
4167         old Fexternal_debugging_output, except this one also uses the
4168         standard display table.
4169         (printchar, strout, Fexternal_debugging_output): Use it.
4171 2015-05-31  Glenn Morris  <rgm@gnu.org>
4173         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
4175 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
4177         Remove unused DEFSYMs
4178         Remove DEFSYMs that aren't used at the C level.  Also:
4179         * src/decompress.c (Qzlib_dll):
4180         * src/font.c (Qunicode_sip):
4181         * src/frame.c (Qtip_frame):
4182         * src/ftfont.c (Qserif):
4183         * src/gnutls.c (Qgnutls_dll):
4184         * src/xml.c (Qlibxml2_dll):
4185         Move from here ...
4186         * src/w32fns.c (syms_of_w32fns): ... to here,
4187         as these are used only on MS-Windows.
4189 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
4191         Use another default value for tramp-histfile-override
4192         * lisp/net/tramp-sh.el (tramp-histfile-override):
4193         Use ".tramp_history" as default.
4194         Fixes: debbugs:#20446
4196 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
4198         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
4200 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
4202         * etc/NEWS: Add an entry about map.el
4204         Improve the docstring of functions in map.el
4205         Since a map is not a data structure but a concept, adding information
4206         about the possible types of maps can be useful information.
4207         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
4208         each public function.
4210 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
4212         Faster implementation of map-empty-p
4213         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
4214         specific tests depending on the type of the map.
4216         * lisp/emacs-lisp/map.el: Better docstrings.
4218 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
4220         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
4222 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
4224         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
4226         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
4228         Fix a false negative in `map-elt' with alists and values being nil
4229         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
4230         found but its associated value is nil, do not return the default
4231         value.
4232         * test/automated/map-tests.el: Add a regression test.
4234 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
4236         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
4238         Do not signal an error when trying to delete a key from an array
4239         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
4240         the key is present to avoid signaling an error.
4241         * test/automated/map-tests.el: Add a test for deleting non-existing
4242         keys from maps.
4244         * lisp/emacs-lisp/map.el: Better docstring.
4246         Minor improvement in map-elt.
4247         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
4248         doing a lookup in arrays, but check the boundaries of the array
4249         instead.
4250         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
4251         and a negative integer as key.
4253 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
4255         * test/automated/map-tests.el: Refactoring of test methods.
4257         * test/automated/map-tests.el: Renamed from map-test.el.
4259 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
4261         * lisp/emacs-lisp/map.el (map-into): Better error message.
4263         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
4265         Throw an error when converting a map into an unknown map type
4266         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
4267         * test/automated/map-test.el: Add a regression test.
4269         New library map.el similar to seq.el but for mapping data structures.
4270         * test/automated/map-test.el: New file.
4271         * lisp/emacs-lisp/map.el: New file.
4273 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
4275         Make sure there's no explicit tag name
4276         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
4277         there's no explicit tag name (bug#20629).
4279 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
4281         Remove format2
4282         * src/editfns.c, src/lisp.h (format2): Remove.
4283         It is more trouble than it's worth, now that we have CALLN.
4284         This is just a minor refactoring.
4285         * src/buffer.c (Fkill_buffer):
4286         * src/dbusbind.c (XD_OBJECT_TO_STRING):
4287         * src/fileio.c (barf_or_query_if_file_exists):
4288         Adjust to format2 going away.
4290         Don't misencode C-generated messages
4291         Also, be more consistent about calls to 'Fmessage' vs 'message'.
4292         * src/alloc.c (Fgc_status):
4293         Prefer AUTO_STRING to build_string for Fmessage call.
4294         * src/data.c (Fmake_variable_buffer_local)
4295         (Fmake_local_variable, Fmake_variable_frame_local):
4296         * src/doc.c (store_function_docstring):
4297         Use Fmessage, not message, since the argument can contain
4298         non-ASCII characters, and this can cause the resulting message
4299         to be incorrectly encoded for the current environment.
4300         * src/fns.c (maybe_resize_hash_table):
4301         * src/xselect.c (x_clipboard_manager_save_all):
4302         Use message, not Fmessage, since Fmessage's power isn't needed here.
4303         * src/process.c (Fmake_network_process): Reword message to avoid %s.
4304         * src/xdisp.c (vmessage): Document restrictions on message contents.
4305         (message_nolog) [false]: Remove unused code.
4307         Use \r rather than ^M in string literals
4308         This is less likely to cause problems on platforms that
4309         use CRLF (or CR!) termination for lines.
4311         Update .gitattributes to match current sources
4312         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
4313         * .gitattributes: Accommodate tests that insist on DOS format.
4314         Remove test/automated/data/decompress/foo-gzipped.
4315         Add etc/e/eterm-color.
4317 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
4319         Document 'face-ignored-fonts'
4320         * doc/emacs/mule.texi (Modifying Fontsets): Document
4321         face-ignored-fonts.  (Bug#20628)
4323         Add etags test for the new -Q option
4324         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
4325         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
4326         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
4327         test-case changes below.
4328         * test/etags/ETAGS.good_6: New file.
4329         * test/etags/cp-src/x.cc: New file.
4330         * test/etags/Makefile (CPSRC): Add x.cc.
4331         (check): Add one more test, for -Q.
4333 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
4335         Use list for the tags completion table, not obarray
4336         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
4337         list instead of an obarray
4338         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
4339         (tags-completion-table): Combine those lists.
4340         (tags-completion-table): Update the docstring.
4342 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
4344         Restore EOL format testing in etags
4345         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
4346         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
4347         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
4348         test-case changes below.
4349         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
4350         * test/etags/cp-src/c.C (B): Add back stray CR character.
4351         * test/etags/c-src/dostorture.c: Add back.
4352         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
4354 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
4356         Declare Emacs on MS-Windows to be DPI-aware
4357         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
4358         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
4359         This avoids Windows entering compatibility mode for Emacs,
4360         which causes fonts to look less nice.
4362 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
4364         Improve Tramp traces.
4365         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
4366         * lisp/net/tramp.el (tramp-debug-message): Use it.
4368 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
4370         backup-buffer minor reworking of internals
4371         * lisp/files.el (backup-buffer): Rework to avoid a couple of
4372         unused locals inadvertently introduced in the previous change.
4374         backup-buffer now reports .emacs.d/%backup% ills
4375         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
4376         fails due to disk space exhaustion or whatever, do not pretend
4377         that it succeeded.  More generally, do a better job of checking
4378         for I/O failures, and limit the scope of the condition-case to
4379         just the operations where file errors should be caught and ignored
4380         (Bug#20595).  Also, don't bother trying to delete later backups if
4381         an earlier deletion fails, as this is a sign of trouble and it's
4382         better to stop when there's trouble.
4384         copy-file now truncates output after writing
4385         * src/fileio.c (Fcopy_file): Truncate output after writing rather
4386         than before.  This is more likely to work than truncation before
4387         writing, if the file system is out of space or the user is over
4388         disk quota (Bug#20595).  Also, check for read errors.
4390 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4392         * lisp/emacs-lisp/package.el: Don't load from parent dir
4393         (package-load-all-descriptors): Don't load descriptors from
4394         directories above the package directories.
4396 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4398         Merge from gnulib
4399         This incorporates the following (Bug#20681):
4400         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
4401         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
4402         * lib/set-permissions.c: Copy from gnulib.
4404 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
4406         Improve Tramp traces.
4407         * lisp/net/tramp.el (tramp-call-process-region): New defun.
4408         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
4410 2015-05-29  Glenn Morris  <rgm@gnu.org>
4412         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
4414 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
4416         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
4417         The signature was changed in the cairo branch, merged on 2015-05-23.
4418         This oversight broke compiling only the non-toolkit X version.
4420 2015-05-29  Samer Masterson  <samer@samertm.com>
4422         * doc/lispref/os.texi: Update initial-buffer-choice docs.
4424 2015-05-29  Glenn Morris  <rgm@gnu.org>
4426         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
4427         Mark as an expected failure.
4429 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4431         Change package test to look for curved quotes
4432         * test/automated/package-test.el (package-test-describe-package)
4433         (package-test-signed): Search for curved single quotes as well as
4434         for grave accent and apostrophe.
4436 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
4438         gnus-art.el: Re-revert last change
4439         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
4440         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
4442 2015-05-28  Samer Masterson  <samer@samertm.com>
4444         Show files when `initial-buffer-choice' is non-nil
4445         * startup.el (command-line-1): When Emacs is given a file as an
4446         argument and `initial-buffer-choice' is non-nil, display both the file
4447         and `initial-buffer-choice'.  For more than one file, show
4448         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
4449         commands out of the command line arg parser.
4450         (initial-buffer-choice): Clarify docstring.
4452 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
4454         Fix last commit
4455         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
4456         (gnulib module qcopy-acl): Add back, as it is harmless.  This
4457         minimizes differences wrt lib/gnulib.mk.
4459         Fix the MS-Windows build as followup to gnulib update
4460         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
4461         set-permissions.c, as they don't compile on MinGW.
4462         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
4464 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
4466         Revert my change to gnus-art.el
4467         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
4468         It wasn't that important, and it caused a Gnus build to fail.  See:
4469         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
4471         New minor mode Electric Quote
4472         This lets you easily insert quotes ‘like this’ by typing
4473         quotes `like this', and similarly you can easily insert
4474         quotes “like this” by typing quotes ``like this'' (Bug#20545).
4475         * doc/emacs/basic.texi (Inserting Text):
4476         * doc/emacs/modes.texi (Minor Modes):
4477         * etc/NEWS: Document it.
4478         * doc/emacs/text.texi (Quotation Marks): New section.
4479         * lisp/electric.el (electric-quote-comment)
4480         (electric-quote-string, electric-quote-paragraph):
4481         New custom vars.
4482         (electric--insertable-p)
4483         (electric-quote-post-self-insert-function): New functions.
4484         (electric-quote-mode, electric-quote-local-mode): New minor modes.
4485         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4486         Add curved single quotes to electric-pair-text-pairs.
4487         Set electric-quote-string in this buffer.
4489         A few more doc string fixes (Bug#20385)
4491         Accept curved quotes in doc strings
4492         * lisp/info-look.el (info-lookup-guess-custom-symbol):
4493         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
4495         Generate curved quotes in pseudo-info nodes
4496         * lisp/info.el (Info-virtual-index-find-node)
4497         (Info-virtual-index, Info-apropos-find-node, info-apropos):
4498         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
4500         Fix minor quoting problems in doc strings
4501         Most of these fixes involve escaping grave accents that are
4502         actually intended to be grave accents, not left quotes.
4503         (Bug#20385)
4505         Support curved quotes in doc strings
4506         Emacs's traditional doc string style has been to quote symbols
4507         `like this'.  This worked well on now-obsolete terminals where
4508         ` and ' were symmetric quotes, but nowadays curved quotes
4509         ‘like this’ look better.  Support quoting the new way too.
4510         (Bug#20385)
4511         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
4512         ‘like-this’ as well as `like-this'.
4513         * etc/NEWS: Mention this.
4514         * lisp/cedet/mode-local.el (overload-docstring-extension)
4515         (mode-local-print-binding, mode-local-describe-bindings-2):
4516         * lisp/cus-theme.el (describe-theme-1):
4517         * lisp/descr-text.el (describe-text-properties-1, describe-char):
4518         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
4519         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
4520         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
4521         (eieio-help-constructor):
4522         * lisp/emacs-lisp/package.el (describe-package-1):
4523         * lisp/faces.el (describe-face):
4524         * lisp/help-fns.el (help-fns--key-bindings)
4525         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
4526         (help-fns--interactive-only, describe-function-1):
4527         (describe-variable):
4528         * lisp/help.el (describe-mode):
4529         * lisp/international/mule-cmds.el (describe-input-method)
4530         (describe-language-environment):
4531         * lisp/international/mule-diag.el (describe-character-set)
4532         (print-coding-system-briefly, list-input-methods)
4533         (list-input-methods-1):
4534         Insert curved quotes rather than grave accent and apostrophe.
4535         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4536         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
4537         (checkdoc-proper-noun-region-engine):
4538         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
4539         (lisp-cl-font-lock-keywords-2):
4540         * lisp/finder.el (finder-font-lock-keywords):
4541         * lisp/gnus/gnus-art.el (gnus-button-alist):
4542         * lisp/help-fns.el (help-do-arg-highlight)
4543         (describe-function-1, describe-variable):
4544         * lisp/help-mode.el (help-xref-symbol-regexp)
4545         (help-xref-info-regexp, help-xref-url-regexp):
4546         * lisp/help.el (describe-mode):
4547         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
4548         * lisp/wid-edit.el (widget-documentation-link-regexp):
4549         Parse symbols quoted ‘like-this’ as well as `like-this'.
4550         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4551         Add "‘" and "’" to electric-pair-text-pairs.
4552         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
4553         (elisp-completion-at-point, elisp--preceding-sexp):
4554         Also treat "‘" and "’" as quoting chars.
4556         substitute-command-keys now curves quotes
4557         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
4558         * doc/lispref/help.texi (Keys in Documentation):
4559         * etc/NEWS: Document this.
4560         * src/doc.c (Fsubstitute_command_keys): Implement it.
4562 2015-05-28  Glenn Morris  <rgm@gnu.org>
4564         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
4565         (rmail-summary-by-topic, rmail-summary-by-senders):
4566         No longer strip leading/trailing whitespace.
4568         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
4569         (f90-no-block-limit): Add "enum".  (Bug#20680)
4570         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
4571         New tests.
4573 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4575         * lisp/isearch.el (isearch--current-buffer): Give a default value.
4577         Un-revert changes mistakenly dropped by f9fabb2b
4579 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4581         Merge from gnulib
4582         This incorporates:
4583         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
4584         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
4585         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
4586         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
4587         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
4588         2015-05-26 stdio: fix probe on mingw under gcc 5.1
4589         * admin/merge-gnulib (GNULIB_MODULES):
4590         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
4591         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
4592         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
4593         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
4594         Get latest versions from gnulib.
4595         * lib/get-permissions.c, lib/set-permissions.c: New files.
4596         * lib/gnulib.mk, m4/gnulib-comp.m4:
4597         Regenerate.
4598         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
4600 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
4602         Delete the old process in vc-setup-buffer
4603         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
4604         process here.
4605         (vc-do-command): Rather than here (bug#20608).
4607 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
4609         Avoid gratuitous delete-dups in face-at-point.
4610         * lisp/faces.el (face-at-point): Do not compute the properly
4611         ordered, duplicate-free list if only a single value is
4612         requested anyway.  (Bug#20519)
4614         Show the exact C-x 8 RET invocation in describe-char.
4615         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
4616         invocation instead of a template.  (Bug#20522)
4618 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4620         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
4621         (package-menu--post-refresh): Call `tabulated-list-print' with the
4622         UPDATE argument.  This only affects the refresh action, the revert
4623         action still erases tags.
4624         (package-menu-get-status): Change `assq' to `assoc'.
4625         (package-menu--mark-upgrades-1): New function.
4626         (package-menu--mark-upgrades-pending): New variable.
4627         (package-menu-mark-upgrades): Use them to delay marking until
4628         after refresh is done.
4629         (package-menu--post-refresh): Call mark-upgrades-1 if
4630         mark-upgrades-pending is non-nil.
4632 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4634         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
4636 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4638         * lisp/isearch.el (isearch--current-buffer): New var
4639         (isearch-update): Set cursor-sensor-inhibit here.
4640         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
4642         Change inhibit-point-motion-hooks to t
4643         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
4644         to t and document it as obsolete.
4646 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
4648         Support ZIP files that use Zip64 extensions
4649         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
4650         format of central directory offsets used by Zip64 extensions.
4651         (Bug#20665)
4653 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4655         New test tramp-test30-make-auto-save-file-name
4656         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
4657         (tramp-test31-special-characters)
4658         (tramp-test31-special-characters-with-stat)
4659         (tramp-test31-special-characters-with-perl)
4660         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
4661         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
4662         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
4663         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
4665         Improve tramp-handle-make-auto-save-file-name
4666         * tramp.el (tramp-auto-save-directory): Add :tags.
4667         (tramp-handle-make-auto-save-file-name): Let native
4668         `make-auto-save-file-name' use `auto-save-file-name-transforms',
4669         if `tramp-auto-save-directory' is not set.
4671 2015-05-27  Glenn Morris  <rgm@gnu.org>
4673         No longer set dired-directory in eshell.  (Bug#16477)
4674         * lisp/eshell/esh-mode.el (eshell-mode):
4675         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
4677         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
4679         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
4680         * lisp/progmodes/cc-mode.el (c-mode-help-address):
4681         Change to submit@debbugs.
4682         (c-mode-bug-package): New constant.
4683         (mail-position-on-field): Declare.
4684         (c-submit-bug-report): Insert X-Debbugs-Package header.
4685         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
4686         Mention debbugs.gnu.org.
4688 2015-05-26  Glenn Morris  <rgm@gnu.org>
4690         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
4691         (rmail-summary-by-recipients, rmail-summary-by-topic)
4692         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
4693         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
4695 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4697         Handle curved quotes in info files
4698         * lisp/calc/calc-help.el (calc-describe-thing):
4699         * lisp/info.el (Info-find-index-name)
4700         (Info-try-follow-nearest-node, Info-fontify-node):
4701         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4702         In info files, process quotes ‘like this’ the same way we process
4703         quotes `like this'.  This catches a few places we missed earlier.
4705 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
4707         xref-prompt-for-identifier: Use a list value
4708         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
4709         value, to be interpreted as a list of commands.
4710         (xref--prompt-p): New function.
4711         (xref--read-identifier): Use it.
4713 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
4715         Teach MS-Windows font back-end return per-glyph ascent/descent
4716         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
4717         values.
4718         * src/w32font.c (w32font_text_extents): Compute, cache, and
4719         accumulate per-glyph ascent and descent values, instead of copying
4720         global values from the font.  If the values are not available from
4721         the font data, i.e., non-TTF fonts, fall back on font-global values.
4722         (compute_metrics): Compute and return per-glyph ascent and descent
4723         values, if returned by GetGlyphOutlineW, falling back on
4724         font-global values.  (Bug#20628)
4725         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
4726         height of rectangle to be drawn, to be compatible with
4727         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
4728         box, when per-glyph ascent/descent values are used.
4730 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
4732         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
4733         (tabulated-list-print): Don't sort if sorter is nil
4735 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
4737         Fix Bug#20621
4738         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
4739         are major modes which set `auto-save-mode' on their own rules;
4740         Tramp shall not overwrite such settings.
4741         (Bug#20621)
4743 2015-05-26  Glenn Morris  <rgm@gnu.org>
4745         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
4746         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
4747         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
4748         Doc updates.
4749         (vc-dir-mode): Remove unnecessary autoload.
4751 2015-05-25  Philipp Stephani  <phst@google.com>
4753         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
4754         (xterm--extra-capabilities-type): Add `getSelection'.
4755         (xterm--query): Add `no-async' argument.
4756         (xterm--init-activate-get-selection): New function.
4757         (terminal-init-xterm): Use it.
4758         (xterm--init-modify-other-keys): Rename from
4759         terminal-init-xterm-modify-other-keys.
4760         (xterm--init-bracketed-paste-mode): Rename from
4761         terminal-init-xterm-bracketed-paste-mode.
4762         (xterm--init-activate-set-selection): Rename from
4763         terminal-init-xterm-activate-set-selection.
4764         (xterm--selection-char): New function.
4765         (gui-backend-set-selection): Use it.  Use the &context to only apply
4766         this method in terminals where we enabled the feature.
4767         (gui-backend-get-selection): New method.
4769 2015-05-25  Daniel Colascione  <dancol@dancol.org>
4771         Add C-language keyword constants to C++
4772         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
4773         keyword constants to C++.
4775 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4777         Make TAGS files more portable to MS-Windows
4778         * etc/NEWS: Document this.
4779         * lib-src/etags.c (readline_internal) [DOS_NT]:
4780         Don't treat CRs differently from GNUish hosts.
4781         * lisp/progmodes/etags.el (etags-goto-tag-location):
4782         Adjust STARTPOS to account for the skipped CRs in dos-style files.
4784 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4786         Improve fix of debbugs:20634 in tramp-sh.el
4788 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4790         Fix a typo in last commit
4791         * lib-src/etags.c (C_entries): Fix a typo.
4792         * test/etags/ETAGS.good_1:
4793         * test/etags/ETAGS.good_2:
4794         * test/etags/ETAGS.good_3:
4795         * test/etags/ETAGS.good_4:
4796         * test/etags/ETAGS.good_5:
4797         * test/etags/CTAGS.good: Update due to the change in etags.c.
4799         Fix tagging of class members in C-like OO languages
4800         * lib-src/etags.c (longopts): Add new option --class-qualify and
4801         its shorthand -Q.
4802         (print_help): Add help text for --class-qualify.
4803         (main): Add handling of -Q.
4804         (consider_token, C_entries) <omethodparm>: Append argument types
4805         to Objective C methods only if --class-qualify was specified.
4806         Qualify C++, Objective C, and Java class members with their class
4807         names only if --class-qualify was specified.
4808         (C_entries): If --class-qualify was not specified, remove the
4809         namespace and class qualifiers from tag names of C++ methods.
4810         This allows to use etags.el as xref back-end without the
4811         tag-symbol-match-p method, which greatly increases the number of
4812         potentially false positives.  (Bug#20629)
4813         * doc/man/etags.1: Update to document the new --class-qualify
4814         option.
4815         * test/etags/ETAGS.good_1:
4816         * test/etags/ETAGS.good_2:
4817         * test/etags/ETAGS.good_3:
4818         * test/etags/ETAGS.good_4:
4819         * test/etags/ETAGS.good_5:
4820         * test/etags/CTAGS.good: Update due to changes in etags.c.
4822 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4824         (cl-generic-define-method): Side effects are evil (bug#20644)
4825         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
4826         cons-cells that might be used as keys in an `equal' hash-table.
4828 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4830         Make erc timestamps visible again
4831         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
4832         timestamps visible again (if requested).
4834 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4836         Fix last change in etags.c that broke tagging compresed files
4837         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
4838         quoting of decompression shell command for MS-Windows/MS-DOS.
4840 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4842         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
4843         (Bug#20639)
4845 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4847         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
4849 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
4851         Fix IPv6 addresses in Tramp
4852         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
4853         Add sqare brackets around host name.
4855 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4857         Inhibit `epa-file-handler' in Tramp
4858         (Bug#20634)
4859         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
4860         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
4861         `epa-file-handler'.
4863 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4865         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
4866         (pcase-let): Document the behavior in case the pattern doesn't match.
4868 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
4870         * lisp/emacs-lisp/tabulated-list.el: New optional print method
4871         (tabulated-list-print): New optional argument, UPDATE.  If
4872         non-nil, the list is printed by only adding and deleting the
4873         changed entries, instead of erasing the whole buffer.  This method
4874         is much faster when few or no entries have changed.
4875         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
4876         * etc/NEWS: Document it.
4878         * lisp/emacs-lisp/tabulated-list.el: Improve printing
4879         (tabulated-list--get-sorter): New function.
4880         (tabulated-list-print): Restore window-line when remember-pos is
4881         passed and optimize away the `nreverse'.
4883 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
4885         Simpilify etags TEX mode scanning
4886         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
4887         Remove static vars.
4888         (TeX_commands): Deduce escapes here instead.
4889         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
4890         This removes the need for a reset_input call.
4892         Improve etags I/O error reporting
4893         * lib-src/etags.c:
4894         Don't include sys/types.h and sys/stat.h; no longer needed.
4895         (infilename): New static var.
4896         (process_file_name): Don't call 'stat'.  Instead, just open the
4897         file for reading and report any errors.  Don't bother making
4898         a copy of the file argument; it's not needed.  Be more careful to
4899         use the failing errno when reporting an error.
4900         Quote the real name better (though no perfectly)
4901         when passing it to the shell.
4902         (reset_input): New function, which reports I/O errors.
4903         All uses of 'rewind' changed to use this function.
4904         (perhaps_more_input): New function, which also checks for
4905         I/O errors.  All uses of 'feof' changed to use this function.
4906         (analyze_regex): Report an error if fclose fails.
4907         (readline_internal): Report an error if getc fails.
4908         (etags_mktmp): Return an error if close fails.
4910         etags.c: avoid side effects in 'if'
4911         * lib-src/etags.c (process_file_name, Perl_functions)
4912         (TEX_decode_env): Hoist side effects into previous statement.
4914         .gitignore tweaks
4915         * .gitignore: Ignore all *.stamp files.  Sort.
4916         Ignore [0-9]*.txt (commonly used name for git patches)
4917         and /vc-dwim-log-* (vc-dwim temporary).
4919 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
4921         Fix last change in etags.c, which failed the test suite
4922         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
4923         before the last change.
4925 2015-05-23  Glenn Morris  <rgm@gnu.org>
4927         Remove charset map files from repository, generate in first bootstrap
4928         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
4929         (all): Create the stamp file.
4930         (extraclean): Delete the stamp file.
4931         * src/Makefile.in (lispintdir, charsets): New variables.
4932         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
4933         New rules.
4934         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
4935         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
4936         * etc/charsets/*.map: Remove from repository.
4938 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4940         Cleanup etags.c to use locale-independent code
4941         Although this doesn't alter behavior (as etags doesn't use
4942         setlocale), the new version is more clearly locale-independent and
4943         the executable is a bit smaller on my platform.
4944         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
4945         Include <c-ctype.h> instead of <ctype.h>.
4946         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
4947         (begtk, midtk):
4948         Remove; no longer needed.
4949         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
4950         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
4951         c_islower, c_tolower, respectively.
4952         (notinname, begtoken, intoken, endtoken): Rewrite as functions
4953         instead of macros, and initialize the tables at compile-time
4954         rather than at run-time.
4956         Put default action first in src/Makefile
4957         * src/Makefile.in (all): Put this rule before lisp.mk.
4958         That way, plain 'make' works in the src directory again.
4960 2015-05-23  Glenn Morris  <rgm@gnu.org>
4962         * Makefile.in: Fix extraclean rule.
4963         (extraclean_dirs): New.
4964         (extraclean): Use it.
4966 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4968         Avoid compiler warning in image.c on MS-Windows
4969         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
4970         warning in image.c.
4972 2015-05-23  Glenn Morris  <rgm@gnu.org>
4974         Fix --without-toolkit-scroll-bars builds.
4975         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
4976         Add new argument to x_clear_area1.
4977         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4978         Update x_clear_area arguments.
4980         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
4981         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
4982         Change to included version.
4983         (LOCAL, local, totalclean): Remove.
4984         (extraclean): Delete all generated files.
4986 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4988         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
4990         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
4992         tags-completion-at-point-function: Don't trust the find-tag function
4993         * lisp/progmodes/etags.el (tags-completion-at-point-function):
4994         Don't trust the find-tag function.
4996 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4998         Pacify --enable-gcc-warnings
4999         * src/frame.h (x_query_color): Remove redundant extern decl.
5000         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
5001         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
5002         (ftcrfont_text_extents, ftcrfont_draw):
5003         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
5004         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
5005         (x_ins_del_lines, frame_highlight, frame_unhighlight)
5006         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
5007         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
5008         (x_update_window_begin, x_connection_closed)
5009         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5010         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5011         (*x_gc_get_ext_data, x_extension_initialize)
5012         (x_cr_accumulate_data):
5013         Remove redundant static decl.  Many of these GCC doesn't complain
5014         about, but we might as well clean out the duplication while we're
5015         in the neighborhood.
5016         * src/xterm.c (x_fill_trapezoid_for_relief):
5017         Remove decl of nonexistent function.
5019 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
5021         Replace gui-method macros with cl-generic with &context
5022         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
5023         (gui-method-declare, gui-call): Remove.
5024         (frame-creation-function): Use cl-defgeneric.
5025         (make-frame): Adjust callers.
5026         * lisp/menu-bar.el (menu-bar-edit-menu):
5027         Use gui-backend-selection-exists-p.
5028         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
5029         (gui-backend-get-selection): New cl-generic to replace
5030         gui-get-selection method.
5031         (gui-backend-set-selection): New cl-generic to replace
5032         gui-set-selection method.
5033         (gui-selection-owner-p): New cl-generic to replace
5034         gui-selection-owner-p method.
5035         (gui-backend-selection-exists-p): New cl-generic to replace
5036         gui-selection-exists-p method.  Adjust all callers.
5037         * lisp/server.el (server-create-window-system-frame): Don't ignore
5038         window-system spec even when unsupported.
5039         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
5040         * lisp/startup.el (handle-args-function, window-system-initialization):
5041         Use cl-defgeneric.
5042         (command-line): Adjust calls accordingly.
5043         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
5044         a window-system-initialization method.
5045         (handle-args-function, frame-creation-function): Use cl-defmethod.
5046         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5047         (gui-get-selection): Use cl-defmethod on the new functions instead.
5048         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
5049         a gui-backend-get-selection method.
5050         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
5051         Use cl-defmethod on the new functions instead.
5052         (msdos-window-system-initialization): Turn into
5053         a window-system-initialization method.
5054         (frame-creation-function, handle-args-function): Use cl-defmethod.
5055         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
5056         a window-system-initialization method.
5057         (handle-args-function, frame-creation-function): Use cl-defmethod.
5058         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5059         (gui-get-selection): Use cl-defmethod on the new functions instead.
5060         * lisp/term/x-win.el (x-window-system-initialization): Turn into
5061         a window-system-initialization method.
5062         (handle-args-function, frame-creation-function): Use cl-defmethod.
5063         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
5064         (gui-get-selection): Use cl-defmethod on the new functions instead.
5065         * lisp/term/xterm.el (xterm--set-selection): Turn into
5066         a gui-backend-set-selection method.
5067         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
5068         (Fns_selection_owner_p): Remove unused arg `terminal'.
5069         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
5071 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5073         Revert "Fix etags Bug#20629 that broke C++ support."
5074         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
5076 2015-05-23  Jan D  <jan.h.d@swipnet.se>
5078         Fix etags Bug#20629 that broke C++ support.
5079         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
5080         from Sun May 10 (Bug#20629).
5082         Merge branch 'cairo'.
5083         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
5084         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
5086         Merge branch 'master' into cairo
5088         Fixes to compile cairo branch without cairo.
5089         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
5090         first argument.
5091         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
5092         USE_CAIRO.
5094 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
5096         * lisp/emacs-lisp/package.el: Always update selected-packages
5097         (package--update-selected-packages): New function.
5098         (package-menu-execute): Use it before starting the transaction,
5099         this way the list of selected packages is updated even when the
5100         transaction fails.
5101         (package-menu--perform-transaction): Don't edit selected-packages.
5103 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
5105         Fix etags reading of compressed files
5106         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
5107         Include fcntl.h, for O_CLOEXEC.
5108         (process_file_name): Don't use 'popen', whose streams cannot be
5109         rewound.  Instead, uncompress the file to a temporary file,
5110         created by 'etags_mktmp', and read from that as usual.
5111         (etags_mktmp): New function.
5112         * test/etags/ETAGS.good_1:
5113         * test/etags/ETAGS.good_2:
5114         * test/etags/ETAGS.good_3:
5115         * test/etags/ETAGS.good_4:
5116         * test/etags/ETAGS.good_5: Update to be consistent with latest
5117         changes in etags.c regarding reading compressed files.
5119         Improve documentation of 'set-fontset-font'
5120         * doc/lispref/display.texi (Fontsets): Document the value of nil
5121         for the 3rd argument of 'set-fontset-font'.
5123         Fix documentation of forward-line
5124         * src/cmds.c (Fforward_line): Clarify the return value if the line
5125         at end of accessible portion of the buffer has no newline.
5126         * doc/lispref/positions.texi (Text Lines): Document what happens
5127         if the line at end of accessible portion of buffer has no newline.
5128         (Bug#20587)
5130 2015-05-22  Glenn Morris  <rgm@gnu.org>
5132         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
5134         * admin/charsets/mapconv (LC_ALL): Set to C.
5136         * Makefile.in: Add admin/charsets into top-level clean rules.
5137         (clean): Add admin/charsets.
5138         (maybeclean_dirs): New variable.
5139         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
5141         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
5143 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
5145         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
5147 2015-05-22  Glenn Morris  <rgm@gnu.org>
5149         Generate admin/charsets Makefile via configure, and make more portable.
5150         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
5151         (admin/charsets/Makefile): Generate it.
5152         * admin/charsets/Makefile.in: Rename from Makefile.
5153         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
5154         New variables, set by configure.
5155         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
5156         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
5157         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
5158         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
5159         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
5160         (all): Declare PHONY.
5161         (local): New PHONY target.
5162         (map_template): New template.  Use to define short PHONY aliases.
5163         (*.map): Add directory prefixes to targets and prerequisites.
5164         Respect make verbosity.
5165         (JISC6226.map): Replace non-portable sed append without newline.
5166         (install): Remove rule.
5167         (clean): Only delete temporary sedscript.
5168         (bootstrap-clean, distclean, maintainer-clean, extraclean)
5169         (totalclean): New PHONY rules.
5170         * admin/charsets/mapconv (BASE): Replace basename with expr.
5171         (FILE): Add "mapfiles" subdirectory.
5172         (AWK): New variable.  Use throughout in place of "awk".
5173         (main): Use "gunzip -c" in place of "zcat".
5174         Don't leave whitespace before "p", for older sed.
5175         * admin/charsets/mapfiles/PTCP154: Add final newline,
5176         to make older sed versions happy.
5178 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
5180         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
5181         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
5182         (auto-revert-notify-watch-descriptor): Use defvar-local.
5183         (find-file-hook, auto-revert-tail-mode, )
5184         (auto-revert-notify-add-watch): Use setq-local.
5185         (auto-revert-notify-add-watch): Don't call make-local-variable on
5186         kill-buffer-hook (bug#20601).
5188 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
5190         Change defgeneric so it doesn't completely redefine the function
5191         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
5192         previously defined methods.
5193         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
5194         (cl--generic-prefill-dispatchers): Only define during compilation.
5195         (cl-method-qualifiers): Remove redundant alias.
5196         (help-fns-short-filename): Silence byte-compiler.
5197         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
5199 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
5201         (package-menu-execute): Remove reference to remove-dups
5203 2015-05-21  kwhite  <kwhite@gnu.org>
5205         * lisp/erc/erc.el: Hide network/channel messages
5206         (erc-network-hide-list, etc-channel-hide-list): New lists to define
5207         message types per network/channel.
5208         (erc-add-targets): New function to parse list of targets
5209         (erc-hide-current-message-p): Modified to check for new targets
5211 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5213         Don't quote nil and t in doc strings
5214         This is as per "Tips for Documentation Strings" in the elisp manual.
5215         For consistency, do the same in diagnostics and comments.
5217 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
5219         Fix a minor problem with mouse-face on mode line
5220         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
5221         mouse face also if the mouse pointer hovers above mode-line glyphs
5222         that don't come from any Lisp string.  (Bug#20620)
5224 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
5226         * lisp/emacs-lisp/package.el: Fix selected-package logic
5227         (package-menu-execute): Mark as selected all non-upgrade packages
5228         being installed.
5229         (package-menu--perform-transaction): Don't mark anything.
5231         * lisp/emacs-lisp/package.el: Mode-line progress report
5232         (package-menu--transaction-status): New variable.
5233         (package-menu-mode, package-menu--perform-transaction): Use it.
5235         * lisp/emacs-lisp/package.el: Better transaction messages
5236         (package-menu--partition-transaction): New function.
5237         (package-menu--prompt-transaction-p, package-menu-execute): Use
5238         it.
5239         (package-menu--perform-transaction): Don't do any messaging.
5241         * lisp/emacs-lisp/package.el: Revert async package transactions
5242         (package-menu-async): Update doc.
5243         (package-install-from-archive, package-download-transaction)
5244         (package-install, package-menu--perform-transaction)
5245         (package-menu-execute): Remove asynchronous functionality.
5247 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5249         Revert doc string changes to f90.el
5250         Problem reported by Glenn Morris in:
5251         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
5252         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
5253         Revert recent changes to doc strings, as it's intended that they
5254         use grave accent, not quote.
5256 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
5258         Improve parameter name
5260         Add new inline function `hash-table-empty-p'
5262 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
5264         Don't require help-fns when not needed
5265         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
5266         * lisp/emacs-lisp/elint.el:
5267         Don't require help-fns at the top level.
5268         * lisp/emacs-lisp/advice.el (ad-arglist):
5269         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
5270         Don't require help-fns.  (Bug#17001)
5272 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
5274         Fix slash collapsing in etags on MS-Windows
5275         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
5276         MS-Windows code from the Posix code, and support collapsing both
5277         forward- and back-slashes on MS-Windows.  Fixes a regression found
5278         by the test suite.
5280         Improve documentation of glyphless-char-display
5281         * doc/lispref/display.texi (Glyphless Chars): Improve
5282         documentation of glyphless character display.
5284         Fix "acronym" display of glyphless characters on w32
5285         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
5286         ignore "acronym" substitutes of 1 character for glyphless characters.
5288 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
5290         Add an automated test for let-when-compile
5291         * test/automated/subr-tests.el (let-when-compile): New test.
5293         Add let-when-compile macro instead of using pcase-let
5294         * lisp/subr.el (let-when-compile): New let-like macro that makes its
5295         bindings known to macros like `eval-when-compile' in the body.
5296         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
5297           `let-when-compile'. Also comment out the unused lexical var
5298           `el-kws-re'.
5299         The change greatly improves readability, while providing almost the
5300         same (even shorter) byte code: instead of pre-evaluating 10 variables,
5301         tossing them into a list, and destructuring that list a full screen
5302         page later, the variables are simply bound as they are evaluated,
5303         wrapped individually in `eval-when-compile'.
5305 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
5307         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
5308         (package-delete-button-action): New function.
5309         (describe-package-1): Add Delete button.
5311         * lisp/emacs-lisp/package.el: Better dependency description
5312         (package--used-elsewhere-p): New optional arg, ALL, and return
5313         package-desc objects instead of names.
5314         (package-delete): Update accordingly.
5315         (describe-package-1): Describe which packages require the package.
5317 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
5319         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
5320         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
5321         Fix doc-string (Bug#20533).
5323         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
5324         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
5325         (switch-to-buffer): If the selected window is strongly dedicated
5326         to its buffer, signal error before prompting for buffer name.  Handle
5327         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
5328         * doc/lispref/windows.texi (Switching Buffers): Document
5329         `switch-to-buffer-in-dedicated-window'.
5331 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5333         Prefer "this" to “this” in doc strings
5334         This mostly just straightens quotes introduced in my previous patch.
5335         Suggested by Dmitry Gutov in:
5336         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
5337         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
5338         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
5339         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
5340         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
5341         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
5342         Prefer straight double quotes to curved double quotes in doc strings.
5344         Fix minor quoting problems in doc strings
5345         These were glitches regardless of how or whether we tackle the
5346         problem of grave accent in doc strings.
5347         * lisp/calc/calc-aent.el (math-restore-placeholders):
5348         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
5349         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
5350         * lisp/leim/quail/hebrew.el ("hebrew-new")
5351         ("hebrew-biblical-sil"):
5352         * lisp/leim/quail/thai.el ("thai-kesmanee"):
5353         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
5354         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
5355         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
5356         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
5357         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
5358         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
5359         (semantic-tag-components):
5360         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
5361         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
5362         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
5363         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
5364         * lisp/emacs-lisp/generator.el (iter-next):
5365         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
5366         (gnus-article-mode-syntax-table):
5367         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
5368         * lisp/net/soap-client.el (soap-wsdl-get):
5369         * lisp/net/telnet.el (telnet-mode):
5370         * lisp/org/org-compat.el (org-number-sequence):
5371         * lisp/org/org.el (org-remove-highlights-with-change)
5372         (org-structure-template-alist):
5373         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
5374         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
5375         (handwrite-12pt, handwrite-13pt):
5376         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
5377         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
5378         * lisp/progmodes/verilog-mode.el (verilog-tool)
5379         (verilog-string-replace-matches, verilog-preprocess)
5380         (verilog-auto-insert-lisp, verilog-auto-insert-last):
5381         * lisp/textmodes/makeinfo.el (makeinfo-options):
5382         * src/font.c (Ffont_spec):
5383         Fix minor quoting problems in doc strings, e.g., missing quote,
5384         ``x'' where `x' was meant, etc.
5385         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
5386         Fix minor quoting problem in other string.
5387         * lisp/leim/quail/ethiopic.el ("ethiopic"):
5388         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
5389         Omit unnecessary quotes.
5390         * lisp/faces.el (set-face-attribute, set-face-underline)
5391         (set-face-inverse-video, x-create-frame-with-faces):
5392         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
5393         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
5394         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
5395         * lisp/net/tramp.el (tramp-methods):
5396         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
5397         * lisp/textmodes/artist.el (artist-ellipse-right-char)
5398         (artist-ellipse-left-char, artist-vaporize-fuzziness)
5399         (artist-spray-chars, artist-mode, artist-replace-string)
5400         (artist-put-pixel, artist-text-see-thru):
5401         * lisp/vc/ediff-util.el (ediff-submit-report):
5402         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
5403         Use double-quotes rather than TeX markup in doc strings.
5404         * lisp/skeleton.el (skeleton-pair-insert-maybe):
5405         Reword to avoid the need for grave accent and apostrophe.
5406         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
5407         Don't use grave and acute accents to quote.
5409 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
5411         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
5413 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5415         Try to port new etags tests to MS-Windows
5416         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5417         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5418         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5419         Adjust to test-case changes below.
5420         * test/etags/Makefile (CSRC): Remove dostorture.c.
5421         Whatever it was trying to test, wasn't working portably.
5422         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
5423         just a line-ending problem.
5424         * test/etags/c-src/dostorture.c: Remove.
5425         * test/etags/cp-src/c.C: Remove stray CR.
5426         * test/etags/html-src/algrthms.html: Remove trailing CRs.
5427         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
5428         but if someone edits it later it should stay UTF-8-compatible.
5430 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
5432         Fix display of overlapping window-specific overlays
5433         * src/keyboard.c (adjust_point_for_property): When adjusting point
5434         due to display strings, ignore overlays that are specific to
5435         windows other than the currently selected one.
5436         * src/xdisp.c (handle_single_display_spec): If the display
5437         property comes from an overlay, arrange for buffer iteration to
5438         resume only after the end of that overlay.  (Bug#20607)
5440 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
5442         New command icomplete-force-complete-and-exit
5443         * lisp/icomplete.el (icomplete-force-complete-and-exit):
5444         New command
5445         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
5446         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
5447         (icomplete-minibuffer-map): Bind C-j to it.
5448         (icomplete-forward-completions, icomplete-backward-completions):
5449         Mention the new command in the docstring.
5450         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
5451         the previous fix for bug#17545.
5453 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
5455         Fix last commit
5457         In Elisp manual explain how to override window manager positioning (Bug#20552)
5458         * doc/lispref/frames.texi (Position Parameters): Give example of
5459         how to override a window manager positioning decision.
5461         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
5462         * src/frame.c (Fdelete_frame): In doc-string mention that frame
5463         can't be deleted if it has a surrogate minibuffer.
5464         * doc/lispref/frames.texi (Minibuffers and Frames)
5465         (Deleting Frames): Explain "surrogate minibuffer frames".
5467         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
5468         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
5470 2015-05-18  Glenn Morris  <rgm@gnu.org>
5472         Add option to ignore commit lines matching a pattern in ChangeLog.
5473         * build-aux/gitlog-to-changelog: Add --ignore-line option.
5474         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
5476 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
5478         Don't skip new etags tests on non-UTF-8 hosts
5479         Problem reported by Eli Zaretskii for MS-Windows.
5480         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
5481         (LC_ALL): Set to C if the current locale isn't UTF-8.
5482         (.PHONY): Remove ediff_1 thru ediff_5.
5483         (check): Always run.
5485 2015-05-18  Glenn Morris  <rgm@gnu.org>
5487         * lisp/calculator.el (calculator-funcall):
5488         * lisp/textmodes/artist.el (artist-spray-random-points):
5489         Use standard degree/radian conversion utilities.
5491         Further lisp-complete-symbol related cleanup.
5492         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
5493         Unadvertise non-functional argument.  Replace obsolete alias.
5495 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5497         Add a test case for Maven warning ouput
5498         * test/automated/compile-tests.el
5499         (compile-tests--test-regexps-data): Add a case for Maven warning
5500         ouput.
5501         (compile--test-error-line): Check the compilation message type, if
5502         it's specified in the test data.
5504 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
5506         Update Maven compilation-mode entry to distinguish warnings
5507         * lisp/progmodes/compile.el
5508         (compilation-error-regexp-alist-alist): Update Maven entry to
5509         distinguish warnings (bug#20556).
5511 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
5513         * test/automated/sgml-mode-tests.el: New file.
5515 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5517         Improve handling of the first Git revision
5518         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
5519         there's no next entry, delete until the end of the buffer.
5520         (log-view-end-of-defun-1): Stop at eob.
5521         * lisp/vc/vc-annotate.el
5522         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
5523         when previous-revision is nil.
5524         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
5525         with `--' to avoid ambiguity.
5526         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
5527         returned revision string.
5528         (vc-git-annotate-time): Expect `^' before the first revision.
5529         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
5530         REV1 is nil, and REV2 is not.
5531         * lisp/vc/vc.el: Update the description of the `diff' function.
5533 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
5535         Allow checkdoc to be called in batch
5536         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
5537           is non-nil, echo the error with `warn'.
5538         How it can be used in -batch:
5539         (with-current-buffer (find-file "checkdoc.el")
5540           (checkdoc-current-buffer t))
5542 2015-05-18  Glenn Morris  <rgm@gnu.org>
5544         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
5546 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5548         * admin/notes/unicode: New section "binary files".
5550         Change new etags test to use UTF-8 encoding
5551         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5552         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5553         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5554         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
5555         * test/etags/html-src/softwarelibero.html:
5556         Switch to UTF-8 encoding.
5557         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
5558         Remove Makefile, as it's too incestuous to have the test input
5559         include the build procedure.
5560         (UTF8_LOCALE, UTF_ENCODING): New macros.
5561         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
5562         (check): Skip if not UTF-8.
5563         (.PHONY): New rule.
5564         (FRC): Remove, as superseded by .PHONY.  All uses removed.
5565         (regexfile): Prefer printf to echo when outputting oddball chars.
5566         (.PRECIOUS): Remove, as these files are not built.
5568         Rename 'foo-gzipped' to 'foo.gz'
5569         * test/automated/data/decompress/foo.gz:
5570         Rename from test/automated/data/decompress/foo-gzipped,
5571         to make it easier for other tools to tell that it's compressed.
5572         * test/automated/zlib-tests.el (zlib--decompress):
5573         Adjust to renamed file.
5575 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
5577         Set up default-directory
5578         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
5579         binding for `v'.
5580         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
5581         appropriate value for default-directory.
5583 2015-05-17  Samer Masterson  <samer@samertm.com>
5585         * lisp/eshell/em-term.el (eshell-term-sentinel):
5586         No-op by default, only kills term buffer if
5587         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
5588         (eshell-destroy-buffer-when-process-dies): New custom to preserve
5589         previous behavior.
5591         eshell: Introduce new buffer syntax
5592         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
5593         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
5594         needed (Bug#19319).
5595         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
5596         (eshell-get-target): Remove shorthand-specific code.
5597         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
5598         '#<buffer-name>'.
5600 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5602         Merge branch 'master' into cairo
5604 2015-04-26  Jan D  <jan.h.d@swipnet.se>
5606         Merge branch 'master' into cairo
5608         Add PBM support for cairo.
5609         * src/image.c (xcolor_to_argb32): New function.
5610         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
5611         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
5612         XImagePtr if ! USE_CAIRO.
5613         (pbm_load): Add cairo support.
5615 2015-04-12  Jan D  <jan.h.d@swipnet.se>
5617         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
5618         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
5619         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
5620         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
5621         x_free_cr_resources.
5623         Handle specified bg in images.  Use generic libpng code for PNG:s.
5624         * src/image.c (get_spec_bg_or_alpha_as_argb)
5625         (create_cairo_image_surface): New functions when USE_CAIRO.
5626         (xpm_load): Call the above functions.  Handle XPM without mask
5627         when USE_CAIRO.
5628         (png_load_body): Handle USE_CAIRO case.
5629         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
5630         instead.
5631         (jpeg_load_body): Call create_cairo_image_surface.
5632         (gif_load, svg_load_image): Handle specified background, call
5633         create_cairo_image_surface.
5634         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
5636 2015-04-11  Jan D  <jan.h.d@swipnet.se>
5638         Support GIF and Tiff with cairo.
5639         * configure.ac: Allow jpeg with cairo.
5640         Allow tiff and gif with cairo.
5641         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5642         (tiff_load): Create cairo image surface if USE_CAIRO.
5643         (gif_load): Ditto.
5645         Support JPEG with USE_CAIRO.
5646         * configure.ac: Allow jpeg with cairo.
5647         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5649 2015-04-05  Jan D  <jan.h.d@swipnet.se>
5651         Support RSVG and cairo.
5652         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
5653         * src/dispextern.h (struct image): add cr_data2 if cairo.
5654         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
5655         (x_clear_image): Free cr_data and cr_data2 if set.
5656         (xpm_load): Assign data to cr_data2.
5657         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
5659 2015-04-03  Jan D  <jan.h.d@swipnet.se>
5661         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
5662         * configure.ac (HAVE_RSVG): Move after cairo.
5663         (USE_CAIRO): Disable rsvg, don't disable Xpm.
5664         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
5665         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
5666         don't return early.
5667         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
5668         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
5669         and create a surface.
5671         Tool tips for menus did not show any text.
5672         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
5673         tip frames, the geometry may be wrong.
5675         Merge branch 'master' into cairo, fixes tooltips not shown.
5677         Merge branch 'master' into cairo
5679         Add CAIRO_CFLAGS to lwlib/Makefile.in
5680         * Makefile.in (CAIRO_CFLAGS): Add.
5682 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5684         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
5686 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5688         Draw outermost line using black relief and erase corners also for cairo.
5689         * xterm.c [USE_CAIRO]: Include math.h.
5690         (enum corners) [USE_CAIRO]: New enum.
5691         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
5692         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
5693         than 1, draw the outermost line using the black relief.
5695         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
5697 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5699         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
5701         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
5703         Use int instead of unsigned int for width and height args.
5704         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
5705         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
5706         width and height args.
5708         Modernize k&r cairo-related function declarations.
5709         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5710         (xg_print_frames_dialog): Modernize k&r declarations.
5711         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
5712         (Fx_print_frames_dialog): Modernize k&r declarations.
5713         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
5714         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
5715         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5716         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
5717         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
5718         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5719         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
5720         (x_clear_area): Modernize k&r declarations.
5722         Implement wave-style variant of underlining for cairo.
5723         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
5724         (x_draw_underwave) [USE_CAIRO]: Use it.
5726         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
5728 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5730         Fix fringe bitmap initialization for cairo.
5731         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
5732         cairo image surface.
5733         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
5735 2015-02-11  Jan D  <jan.h.d@swipnet.se>
5737         Add cairo drawing.
5738         * configure.ac (with-cairo): New option.
5739         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
5740         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
5741         Output "Does Emacs use cairo?".
5742         * lisp/version.el (emacs-version): Add cairo version.
5743         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
5744         (FONT_OBJ): Add comment about ftcrfont.
5745         (ALL_CFLAGS): Add CAIRO_CFLAGS.
5746         (LIBES): Add CAIRO_LIBS.
5747         * src/dispextern.h (struct image): Add cr_data for cairo.
5748         (x_cr_init_fringe): Declare.
5749         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
5750         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
5751         * src/fringe.c (x_cr_init_fringe): New function name that shares code
5752         with w32_init_fringe.
5753         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
5754         * src/ftfont.c (ftfont_info_size); New global variable.
5755         (ftfont_open2): New extern function almost the same as old ftfont_open,
5756         but takes the font_object as argument.
5757         (ftfont_open): Build font object and call ftfont_open2.
5758         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
5759         * src/gtkutil.c (xg_clear_under_internal_border)
5760         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
5761         queue_draw if not cairo.  Change args to x_clear_area.
5762         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
5763         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5764         (xg_print_frames_dialog): New functions for printing.
5765         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
5766         (xg_print_frames_dialog): Declare.
5767         * src/image.c: Add defined (USE_CAIRO) for PNG.
5768         Add !defined USE_CAIRO for W32 PNG code.
5769         (x_clear_image): If cairo, destroy the surface in cr_data.
5770         (png_load): Add new cairo compatible implementation.
5771         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
5772         * src/xfns.c: New section Printing.
5773         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
5774         (x-print-frames-dialog): New printing functions.
5775         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
5776         cairo.
5777         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
5778         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
5779         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
5780         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
5781         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
5782         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5783         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5784         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
5785         Declare.
5786         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
5787         (max_fringe_bmp, fringe_bmp): New variables.
5788         (x_gc_get_ext_data, x_extension_initialize)
5789         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
5790         (x_set_cr_source_with_gc_foreground)
5791         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5792         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
5793         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
5794         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
5795         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
5796         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
5797         (x_update_begin): Create cairo surface if needed.
5798         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
5799         (x_update_end): Paint cairo drawing surface to xlib surface.
5800         (x_clear_under_internal_border, x_after_update_window_line): Adjust
5801         arguments to x_clear_area.
5802         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
5803         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
5804         of XSetClipMask.
5805         (x_set_glyph_string_clipping)
5806         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
5807         instead of XSetClipRectangles.
5808         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
5809         x_fill_rectangle instead of XFillRectangle.
5810         (x_draw_glyph_string_foreground)
5811         (x_draw_composite_glyph_string_foreground)
5812         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
5813         of XDrawRectangle.
5814         (x_draw_relief_rect): Add code for USE_CAIRO.
5815         Call x_reset_clip_rectangles instead of XSetClipMask.
5816         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
5817         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
5818         instead of XSetClipMask.
5819         (x_draw_image_foreground, x_draw_image_foreground_1):
5820         x_draw_rectangle instead of XDrawRectangle.
5821         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
5822         XFillRectangle.
5823         (x_draw_image_glyph_string): If img has cr_data, use it as
5824         a cairo surface.
5825         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
5826         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
5827         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
5828         x_reset_clip_rectangles instead of XSetClipMask.
5829         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
5830         (x_clear_area1): New function that calls XClearArea.
5831         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
5832         non-cairo.
5833         (x_clear_frame): x_clear_window instead of XClearWindow.
5834         (x_scroll_run): Set frame garbaged if cairo.
5835         (XTmouse_position): Initialize *part to 0.
5836         (x_scroll_bar_create): Adjust arguments to x_clear_area.
5837         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
5838         x_fill_rectangle instead of XFillRectangle.
5839         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
5840         arguments to x_clear_area.
5841         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
5842         (handle_one_xevent): Adjust arguments to x_clear_area.
5843         Destroy cairo surface for frame if ConfigureNotify.
5844         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
5845         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
5846         x_reset_clip_rectangles instead of XSetClipMask.
5847         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
5848         x_reset_clip_rectangles instead of XSetClipMask.
5849         (x_clear_frame_area): Adjust arguments to x_clear_area.
5850         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
5851         (x_term_init): Call x_extension_initialize if cairo.
5852         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
5853         x_cr_destroy_fringe_bitmap for cairo.
5854         (x_initialize): Call x_cr_init_fringe for cairo.
5855         * src/xterm.h: Add include of cairo header files.
5856         (x_bitmap_record): Add img if cairo.
5857         (x_gc_ext_data): New struct for cairo.
5858         (x_display_info): Add ext_codes for cairo.
5859         (x_output): Add cr_context and cr_surface for cairo.
5860         (x_clear_area): Change arguments from Display*/Window to frame pointer.
5861         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
5862         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
5863         (x_cr_draw_frame, x_cr_export_frames): Declare.
5865 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
5867         Fix integer-valued `mouse-highlight' (Bug#20590)
5868         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
5870 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
5872         MS-Windows followup for ASCIIfication of curved quotes
5873         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
5874         test for curved quotes being displayable, after switching the
5875         terminal encoding.  (Bug#20545)
5877 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5879         Spelling fixes
5881 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5883         Add comment that x_shift_glyphs_for_insert is never called.
5884         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
5885         comment that this function is never called.
5887 2015-05-16  Glenn Morris  <rgm@gnu.org>
5889         * src/lisp.mk: Remove from repository and generate at build-time.
5890         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
5891         (shortlisp_filter): New variable.
5892         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
5893         (distclean): Remove lisp.mk.
5894         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
5895         * lisp/loadup.el: Tweak layout to make it easier to parse.
5896         * make-dist: Do not distribute src/lisp.mk.
5898 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5900         Display shorter dates in Git annotate output
5901         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
5902         format (when not overridden with vc-git-annotate-switches).
5903         (vc-git-annotate-time): Support the short format, as well as ISO
5904         8601 that has been used until now (bug#5428).
5906 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5908         ASCIIfy curved quotes on displays lacking them
5909         * lisp/international/mule-cmds.el (set-locale-environment):
5910         If curved quotes don't work, display straight ASCII approximations
5911         (Bug#20545).
5913 2015-05-16  Glenn Morris  <rgm@gnu.org>
5915         Small src/Makefile simplification.
5916         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
5917         * src/Makefile.in (lisp): Derive from shortlisp.
5918         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
5920 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
5922         * lisp/help-mode.el (help-go-forward): Doc fix.
5923         (Bug#20577)
5925         * doc/lispref/debugging.texi (Profiling): Improve indexing.
5926         (Bug#20576)
5928 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5930         Use `unless' to have one fewer `not'
5931         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
5932         have one fewer `not'.
5934         Remove redundant :group declarations from vc-git.el
5935         * lisp/vc/vc-git.el (vc-git-diff-switches)
5936         (vc-git-annotate-switches, vc-git-resolve-conflicts)
5937         (vc-git-program, vc-git-root-log-format): Remove the redundant
5938         :group declarations.
5940 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
5942         Removes the predicate from lisp-complete-symbol (Bug#20456)
5943         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
5944         and remove it from the docstring.
5946 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5948         Add new option vc-git-resolve-conflicts
5949         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
5950         (vc-git-find-file-hook): Add to after-save-hook only when the
5951         above is non-nil.
5952         (vc-git-resolve-when-done): Update to honor the new variable.
5953         (Bug#20292)
5955 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
5957         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
5958         (tabulated-list-init-header): Document new behavior.
5959         (tabulated-list-print-fake-header): No nothing if
5960         `tabulated-list--header-string' is nil.
5961         (tabulated-list--header-string): Add a docstring.
5962         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
5963         * etc/NEWS: Document it.
5965 2015-05-15  Leo Liu  <sdl.web@gmail.com>
5967         Revert "Fix cps--gensym"
5968         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
5969           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
5971 2015-05-15  Glenn Morris  <rgm@gnu.org>
5973         Replace AC_SUBST_FILE in configure with include in Makefiles.
5974         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
5975         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
5976         (AUTO_DEPEND): New output variable.
5977         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
5978         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5979         (lwlib_deps_frag): Replace by conditional include.
5980         * lwlib/autodeps.mk: Remove file.
5981         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
5982         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5983         (oldxmenu_deps_frag): Replace by conditional include.
5984         * oldXMenu/autodeps.mk: Remove file.
5985         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
5986         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5987         (lisp_frag): Replace by an include.
5988         (deps_frag): Replace by conditional include.
5989         * src/autodeps.mk: Remove file.
5991         Tweak japanese.el's loading of dependencies.
5992         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
5993         * lisp/language/japanese.el: Use require rather than load.
5994         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
5995         Provide a feature.
5996         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
5997         Provide a feature in the generated file.
5999 2015-05-15  Jan D  <jan.h.d@swipnet.se>
6001         Fix NS warnings.
6002         * nsmenu.m (ns_popup_dialog)
6003         * nsimage.m (initFromXBM:width:height:fg:bg:)
6004         * nsfns.m (Fx_create_frame): Remove unused variables.
6005         (Fns_read_file_name): Initialize fname, remove ret.
6006         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
6007         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
6008         variable.
6009         (init): Add parantesis in if.
6010         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
6012 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6014         Fix a enum conversion warning in macfont.m
6015         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
6016         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
6018 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
6020         Support de-alt dictionary with Aspell.
6021         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
6022         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
6024 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6026         cus-start.el: Add ns-confirm-quit.
6027         * cus-start.el: Add ns-confirm-quit.
6029         Fix warnings on OSX 10.10.
6030         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
6031         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
6032         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
6033         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
6034         * nsimage.m (allocInitFromFile, setPixmapData): Only call
6035         setScalesWhenResized for OSX < 10.6.
6036         * nsterm.h (EmacsScroller): Declare scrollerWidth.
6037         * nsterm.m (ns_copy_bits): New function that does not use deprecated
6038         NSCopyBits.
6039         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
6040         (runAlertPanel): New function.
6041         (applicationShouldTerminate:): Call runAlertPanel.
6042         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
6043         for OSX < 10.10.
6044         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
6045         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
6046         (draggingEntered:): Returns NSDragOperation.
6047         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
6049 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6051         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
6052         (package--init-file-ensured): New variable.
6053         (package-initialize, package--ensure-init-file): Use it.
6055 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
6057         Honor :fore/background for XBM on NS (Bug#14969).
6058         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
6059         initFromXBM takes bg, fg args, remove flip arg.
6060         (ns_image_from_XBM): Add bg, fg args.
6061         * image.c (x_create_bitmap_from_data)
6062         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
6063         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
6064         Remove flip arg.
6065         (initFromSkipXBM): Move code to initFromXBM.
6066         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
6067         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
6068         false.
6069         Remove bit flipping (bitPat, swt), generated incorrect images when
6070         width/height wasn't a multiple of 8.
6071         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
6072         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
6073         flip arg.
6075 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6077         * lisp/emacs-lisp/package.el: Be more careful with the init file
6078         (package--ensure-init-file): Check that user-init-file is set,
6079         exists, is readable, and is writable.  (Bug#20584)
6080         Also expand the docstring.
6082 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
6084         Sync with upstream verilog-mode revision 6232468
6085         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
6086         (verilog-highlight-grouping-keywords): Fix use of face when
6087         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
6088         Pompa.
6089         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
6090         parent is reset, bug906. Reported by Ken Schmidt.
6091         (verilog-auto-inout-module): Add fourth regexp argument to
6092         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
6093         bug856. Reported by John Tillema.
6094         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
6095         modport if signal attachment is itself a modport.  Reported by
6096         Matthew Lovell.
6097         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
6098         always_comb and always_latch, bug844.  Reported by Greg Hilton.
6099         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
6100         with many curly-bracket pairs, bug663.
6101         (verilog-set-auto-endcomments): Fix end comments for functions of
6102         type void, etc.  Reported by Alex Reed.
6103         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
6104         caused by indent-line-to deleting tabls pre 24.5.
6105         (verilog-nameable-item-re): Fix nameable items that can have an
6106         end-identifier to include endchecker, endgroup, endprogram,
6107         endproperty, and endsequence.  Reported by Alex Reed.
6108         (verilog-label-be): When auto-commenting a buffer, consider
6109         auto-comments on all known keywords (not just a subset thereof).
6110         Reported by Alex Reed.
6111         (verilog-auto-end-comment-lines-re)
6112         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
6113         Automatically comment property/endproperty blocks to match other
6114         similar blocks like sequence/endsequence, function/endfunction,
6115         etc. Reported by Alex Reed.
6116         (verilog-set-auto-endcomments): Detect the function- or task-name
6117         when auto-commenting blocks that lack an explicit
6118         portlist. Reported by Alex Reed.
6119         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
6120         allow post-AUTO user fixups, bug826. Reported by Dennis
6121         Muhlestein.
6122         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
6123         is nil, fix indenting initial/final to match always statements,
6124         bug825. Reported by Tim Clapp.
6125         (verilog-extended-complete-re): Fix indentation of DPI-C imports
6126         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
6127         Mao and Jason Forkey.
6128         (verilog-read-decls): Fix parsing typed interfaces.  Fix
6129         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
6130         Fix localparam not being ignored in AUTOINSTPARAM,
6131         bug889. Reported by Shannon Hill.
6132         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
6133         bug793.  Reported by Pierre-David Pfister.
6134         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
6135         verilog-auto-arg-format to support newlines in AUTOARG. Reported
6136         by Jie Xiao.
6137         (verilog-batch-execute-func): Do not batch re-auto files loaded by
6138         Local Variables. Fix printing "no changes to be saved" with
6139         verilog-batch. Reported by Dan Dever.
6140         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
6141         interface-only modules, bug721.  Reported by Dean Hoyt.
6142         Author: Alex Reed <acreed4@gmail.com>
6143         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
6144         treat '<keyword>:<identifier>' as the start of a labeled
6145         statement, bug905.  Reported by Enzo Chi.
6146         (verilog-directive-re, verilog-compiler-directives)
6147         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
6148         directives (plus some extras) when determining indentation, bug
6149         901.  Reported by Bernd Beuster.
6150         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
6151         iff expression doesn't start with word-character, bug900.
6152         (verilog-optional-signed-range-re, verilog-optional-signed-re):
6153         Fix incorrect indentation/alignment of unsigned declarations,
6154         bug897.
6155         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
6156         always constructs, bug895.
6157         (verilog-calc-1): Fix verilog-mode constraint indentation,
6158         bug324. Reported by Eric Mastromarchi.
6159         (verilog-beg-of-statement): Fix indenting for some forms of
6160         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
6161         continued assignment incorrect if first line ends with ']',
6162         bug437. Reported by Dan Dever.  Fix indention of cover inside an
6163         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
6164         blocks, bug842.
6165         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
6166         bug859. Reported by Kaushal Modi.
6167         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
6168         (verilog-backward-token): Fix indenting sensitivity lists with
6169         named events, bug840.  Reed.
6170         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
6171         nil not honoring 'forever', 'foreach', and 'do' keywords.
6173 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6175         Check for invalid GTK+ monitor scales
6176         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
6177         INT_MAX for too-large scales.  All callers changed to assume the
6178         result is valid (Bug#20432).
6179         (xg_frame_set_char_size, xg_update_scrollbar_pos):
6180         Calculate scale only if needed.
6181         show ASCII approximations instead.
6183 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
6185         Fix daemon crashes when linum-mode is turned on early on
6186         * src/window.c (Fwindow_end): Don't try calling display engine
6187         functions on initial-frame frame.  (Bug#20565)
6189         Fix selective diff browsing in Ediff
6190         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
6191         beginning of the region before searching for the
6192         ediff-regexp-focus-* regexps.  (Bug#20568)
6194 2015-05-14  Jan D  <jan.h.d@swipnet.se>
6196         Fixes Bug#20142.
6197         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
6198         in the main loop, even for Gtk 3 (Bug#20142).
6200         Don't access display after i/o error (Bug#19147).
6201         * xterm.c (x_connection_closed): Add third arg ioerror.
6202         If ioerror, set display to 0 (Bug#19147).
6203         (x_error_quitter): Call x_connection_closed with third arg false.
6204         (x_io_error_quitter): Call x_connection_closed with third arg true.
6206         Handle GTK_SCALE, fixes Bug#20432.
6207         * gtkutil.c (xg_get_gdk_scale): New function.
6208         (xg_frame_set_char_size)
6209         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
6210         (xg_get_default_scrollbar_height)
6211         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
6212         when setting sizes (Bug#20432).
6214 2015-05-13  Leo Liu  <sdl.web@gmail.com>
6216         Fix cps--gensym
6217         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
6219 2015-05-13  Glenn Morris  <rgm@gnu.org>
6221         Fix bootstrap (void function cl-member).
6222         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
6223         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
6225 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6227         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
6228         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
6229         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
6230         Avoid defalias for closures which are not immutable.
6231         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
6232         dispatchers table with various entries.
6233         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
6234         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
6236 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
6238         Improve tagging of C bindings in DEFVAR_*
6239         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
6240         from DEFVAR_*.
6242 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
6244         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
6246 2015-05-12  Glenn Morris  <rgm@gnu.org>
6248         * lisp/progmodes/tcl.el (tcl-filter):
6249         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
6251         Add basic VC push support.
6252         * lisp/vc/vc.el (vc-push): New autoloaded command.
6253         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
6254         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
6255         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
6256         (vc-bzr-push): New.
6257         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
6258         (vc-git-pull): Reimplement using vc-git--pushpull.
6259         (vc-git-push): New.
6260         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
6261         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
6262         * doc/emacs/maintaining.texi (Pulling / Pushing):
6263         Rename from "VC Pull".  Mention pushing.
6264         (VC With A Merging VCS, VC Change Log): Update xrefs.
6265         (Branches): Update menu.
6266         * doc/emacs/emacs.texi: Update menu.
6267         * etc/NEWS: Mention this.
6269 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
6271         Improve the seq pcase pattern and the `seq-let' macro
6272         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
6273         object is a sequence, and binds each element of ARGS to the
6274         corresponding element of the sequence.
6276 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
6278         Fix tags created from DEFVAR_* declarations in C
6279         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
6280         to make tags extracted from DEFVAR_* declarations more accurate.
6282         Add a test suite for etags
6283         * test/etags/: New test suite, adapted from
6284         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
6285         whose original author is Francesco Potortì <pot@gnu.org>.
6287         Fix tagging of symbols in C enumerations
6288         * lib-src/etags.c (consider_token): Don't tag symbols in
6289         expressions that assign values to enum constants.  See
6290         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
6291         for details.
6292         (C_entries): Reset fvdef to fvnone after processing a preprocessor
6293         conditional and after a comma outside of parentheses.
6295 2015-05-12  Glenn Morris  <rgm@gnu.org>
6297         * lisp/url/url-handlers.el (url-file-name-completion)
6298         (url-file-name-all-completions): Silence compiler.
6300         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
6302         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
6304 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
6306         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
6307         (cl--generic-mandatory-args): Remove.
6308         (cl--generic-split-args): New function.
6309         (cl-generic-define, cl--generic-lambda): Use it.
6310         (cl-generic-define-method): Use it as well, and add support for
6311         context args.
6312         (cl--generic-get-dispatcher): Handle &context dispatch.
6313         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
6314         (cl--generic-dispatchers): Pre-fill.
6315         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
6317 2015-05-11  Glenn Morris  <rgm@gnu.org>
6319         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
6321 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6323         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
6324         * lisp/term/rxvt.el: Require term/xterm.
6325         (rxvt-function-map): Use xterm-rxvt-function-map.
6326         (rxvt-standard-colors): Move before first use.
6327         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
6328         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
6329         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
6330         Move shared bindings between rxvt and xterm to it.
6331         (xterm-function-map): Use it.  Move the xterm-paste binding to
6332         xterm-rxvt-function-map (bug#20444).
6333         (xterm-standard-colors): Move before first use.
6334         (xterm--push-map): New function.
6335         (xterm-register-default-colors): Take standard colors as argument.
6336         (terminal-init-xterm): Use it.  Adjust call to
6337         xterm-register-default-colors.
6339 2015-05-11  Glenn Morris  <rgm@gnu.org>
6341         * lisp/term/x-win.el: Quieten --without-x compilation.
6342         (x-own-selection-internal, x-disown-selection-internal)
6343         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
6344         Declare.
6346         * Makefile.in (emacslog): Remove srcdir.
6347         (ChangeLog): Update for the above.
6349 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6351         Spelling fix
6353 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6355         python.el: better limit for looking-back calls
6356         * lisp/progmodes/python.el (python-shell-accept-process-output):
6357         Use last comint prompt start as limit for looking-back.
6359 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
6361         CEDET (srecode-insert-fcn): Fix use of oref on a class
6362         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
6363         a class.  Reported by Pierre Lorenzon.
6364         (srecode-template-inserter-point): Remove declaration.
6366         CEDET (srecode-create-dictionary): Avoid obsolete object name
6367         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
6368         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
6370 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6372         C-x 8 shorthands for curved quotes, Euro, etc.
6373         Although C-x 8 lets you insert arbitrary Unicode characters,
6374         it's awkward to use this to insert commonly used symbols such as curved
6375         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
6376         characters commonly found in English text and in basic math.
6377         For example, assuming the Alt key works on your keyboard and iso-transl
6378         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
6379         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
6380         (Bug#20499)
6381         * doc/emacs/mule.texi (Unibyte Mode):
6382         A few other printing characters now work too.
6383         * etc/NEWS: Document this.
6384         * lisp/international/iso-transl.el (iso-transl-char-map):
6385         Also support the following characters:
6386         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
6388 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6390         Add xref-find-regexp
6391         * lisp/progmodes/xref.el (xref-find-function): Describe the
6392         `matches' action.
6393         (xref-find-regexp): New command, using it.
6394         (xref-collect-references): Rename to xref-collect-matches.
6395         (xref--collect-reference): Rename to xref--collect-match.
6396         (xref-collect-matches, xref--collect-match): Accept new argument,
6397         KIND.  Update accordingly.
6398         (xref--regexp-to-extended): New function.
6399         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
6400         `matches' action.
6401         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
6402         * lisp/progmodes/etags.el (etags-xref-find):
6403         Support the `matches' action.
6404         (etags--xref-find-matches): New function.
6406 2015-05-10  Glenn Morris  <rgm@gnu.org>
6408         * Makefile.in: Fixes for recent change-history changes.
6409         (change-history-nocommit): Update footer regexp.
6410         Ensure output script stays executable.
6412 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
6414         New version of `seq-let' based on a pcase pattern
6415         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
6416         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
6418 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
6420         Add basic HTML5 tags and a template
6421         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
6422         (html-tag-alist): Add HTML5 tags.
6423         (html-tag-help): Add new tags descriptions.
6424         (html-navigational-links): Template for nav links.
6425         (html-html5-template): Template for a HTML5 page.
6427 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6429         semantic/symref/grep: Don't use word boundaries
6430         * lisp/cedet/semantic/symref/grep.el
6431         (semantic-symref-perform-search): Instead of wrapping input in
6432         word boundaries, check that the characters before and after are
6433         not word constituents.
6435         semantic/symref/grep: Support regexp search
6436         * lisp/cedet/semantic/symref.el
6437         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
6438         the search type is regexp.
6439         * lisp/cedet/semantic/symref/grep.el
6440         (semantic-symref-perform-search): Support the regexp search type.
6441         Pass -E to Grep when it's used.
6443         semantic-symref-regexp: Allow to input an arbitrary string
6444         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
6445         Allow to input an arbitrary string interactively.
6447         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
6448         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6449         Remove tag-symbol-match-p from the default value
6450         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
6452         Declare find-tag obsolete
6453         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
6454         xref-find-definitions.
6456 2015-05-10  Jan D  <jan.h.d@swipnet.se>
6458         Draw composite string correctly (Bug#20537).
6459         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
6460         (ns_draw_glyph_string): Call it (Bug#20537).
6462 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
6464         Avoid infloop in ERC
6465         * lisp/simple.el (line-move-to-column): Ignore field boundaries
6466         while computing line beginning position.  (Bug#20498)
6468 2015-05-08  Glenn Morris  <rgm@gnu.org>
6470         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
6471         * build-aux/gitlog-to-emacslog: Check called from right directory.
6472         (srcprefix): Remove.
6474         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
6475         * Makefile.in (ChangeLog): No longer pass "distprefix".
6476         * make-dist: Update "make ChangeLog" syntax for the above change.
6478         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
6479         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
6481         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
6483         Add command-line option-parsing to gitlog-to-emacslog.
6484         * build-aux/gitlog-to-emacslog: Add command-line options.
6485         By default, refuse to remove an existing output file.
6486         * Makefile.in (CHANGELOG): Update default.
6487         (ChangeLog): Do not test for existing file.
6488         (change-history-nocommit): Ensure temp file does not exist.
6490         Quieten --without-x compilation.
6491         * lisp/term/common-win.el: Provide a feature.
6492         * lisp/term/x-win.el (term/common-win): Require it.
6494         * lisp/dired-aux.el (dired-do-print): Require lpr.
6496         Quieten compilation, eg in --without-x builds.
6497         * lisp/dired-aux.el (lpr-printer-switch):
6498         * lisp/frame.el (tool-bar-height):
6499         * lisp/linum.el (font-info):
6500         * lisp/window.el (font-info, overflow-newline-into-fringe)
6501         (tool-bar-height):
6502         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
6503         * lisp/gnus/gnus-util.el (iswitchb-mode):
6504         * lisp/mail/rmailmm.el (libxml-parse-html-region):
6505         * lisp/net/nsm.el (gnutls-peer-status)
6506         (gnutls-peer-status-warning-describe):
6507         * lisp/net/shr.el (libxml-parse-xml-region):
6508         * lisp/url/url-http.el (gnutls-peer-status): Declare.
6510 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
6512         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
6513         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
6514         `subclass' since they're never called with a class.
6515         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
6516         srecode-dictionary-child-p.
6518 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
6520         help--binding-locus: Document argument POSITION.
6521         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
6523 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6525         Merge from gnulib.
6526         * doc/misc/texinfo.tex: Get latest version.
6528 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
6530         ffap.el (ffap-read-file-or-url): Fix completing-read call
6531         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
6532           `completing-read' should be a symbol.
6534 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
6536         Verify file modifications by other programs
6537         * src/filelock.c (lock_file): Check whether the file was modified
6538         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
6540         Fix keyboard macros that include function keys
6541         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
6542         keys in the macro before returning.  (Bug#20454)
6544 2015-05-08  Glenn Morris  <rgm@gnu.org>
6546         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
6547         "Copyright-paperwork-exempt".  (Bug#20324)
6549         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
6550         (log-edit-rewrite-tiny-change): New variable.
6551         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
6552         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
6553         * etc/NEWS: Mention this.
6555         * lisp/calc/calc.el (math-zerop): Declare.
6557         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
6559 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6561         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
6562         Support the case when BINDINGS is a single tuple.  (Bug#20525)
6564         * etc/NEWS: Fix typo in commit 14bb519
6566 2015-05-07  Jan D  <jan.h.d@swipnet.se>
6568         Warn for multiple display crash for all Gtk+ versions.
6569         * configure.ac: Warn for multiple display crash for all Gtk+
6570         versions.  Output URL to Gtk+ bug (Bug#20452).
6572         ns-win.el (ns-paste-secondary): Use gui-get-selection.
6573         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
6575 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6577         * lisp/emacs-lisp/package.el: New "external" package status
6578         An external package is any installed package that's not built-in
6579         and not from `package-user-dir', which usually means it's from an
6580         entry in `package-directory-list'.  They are treated much like
6581         built-in packages, in that they cannot be through the Package Menu
6582         deleted and are not considered for upgrades.
6583         (package-desc-status): Identify if a package is installed outside
6584         `package-user-dir'.
6585         (package-menu--print-info-simple)
6586         (package-menu--status-predicate): Add support for it.
6587         * etc/NEWS: Document it.
6589 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6591         * lisp/mail/rmail.el: Use lexical-binding
6592         (rmail-bury): Remove unused var `buffer-to-bury'.
6593         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
6594         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
6595         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
6596         (rmail-insert-inbox-text): Remove unused var `movemail'.
6597         (rmail-add-mbox-headers): Remove unused var `limit'.
6598         (rmail-undelete-previous-message): Remove unused var `value'.
6599         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
6600         `resent-reply-to'.
6601         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
6602         (rmail-restore-desktop-buffer): Rename arguments.
6604 2015-05-06  Glenn Morris  <rgm@gnu.org>
6606         * Makefile.in (change-history-commit): Add missing piece of previous.
6608         Avoid unnecessary bumping of Makefile.in's timestamp.
6609         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
6610         (emacslog): New variable.
6611         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
6612         (unchanged-history-files): Use $emacslog rather than Makefile.in.
6613         (change-history-nocommit): Store hash in $emacslog.
6614         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
6615         * admin/update_autogen (changelog_files): Update for the above.
6617         * Makefile.in: Don't always insist on removing existing "ChangeLog".
6618         (CHANGELOG): New variable.
6619         (no-ChangeLog): Remove.
6620         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
6621         (change-history-nocommit): Use a temp file rather than insisting
6622         on deletion of any existing "ChangeLog".
6624         * build-aux/gitlog-to-emacslog: Allow specification of output.
6626         * admin/update_autogen: Add option to update ChangeLog.
6627         (usage): Mention -H.
6628         (changelog_flag, changelog_n, changelog_files): New variables.
6629         (main): Check for -H, and maybe run change-history-nocommit.
6631 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6633         * lisp/subr.el (delete-dups): Pre-size the hashtable.
6635         (define-modify-macro): Make sure cl--arglist-args is defined
6636         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
6637         cl--arglist-args is defined (bug#20517).
6639 2015-05-06  Glenn Morris  <rgm@gnu.org>
6641         * Makefile.in (change-history-nocommit): New.
6643 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6645         Only cancel timer when it is non-nil
6646         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
6647         timer when it is non-nil
6648         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
6650 2015-05-06  Glenn Morris  <rgm@gnu.org>
6652         Quieten cedet compilation
6653         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
6654         Invert fboundp test to quieten on current Emacs.
6655         * lisp/cedet/ede/config.el (ede-shell-run-something)
6656         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
6657         (semanticdb-refresh-table): Declare.
6658         (ede-preprocessor-map): Require semantic/db.
6660         Quieten cc-mode compilation
6661         * lisp/progmodes/cc-awk.el (c-forward-sws):
6662         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
6663         Declare.
6665 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6667         lisp/subr.el (delete-dups): Avoid nreverse.
6669 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
6671         * lisp/subr.el (delete-dups): Make it destructive again.
6673 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
6675         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
6677 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6679         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
6680         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
6681         (testcover--read): Rename from testcover-read.  Change calling convention.
6682         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
6683         (testcover-start): Use add-function.  Move edebug-all-defs binding to
6684         testcover--read.
6685         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
6686         (testcover-mark): Remove unused var `item'.
6687         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
6689 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6691         lisp/subr.el (delete-dups): Use a hash table
6692         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
6693           use a hash table. This can result in ~500 times speed-up for typical
6694           collections of size 5000, like that of `load-library'.
6696 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6698         CEDET: Avoid `oref' on classes in a few more cases
6699         * lisp/cedet/ede/generic.el (ede-find-target):
6700         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
6701         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
6702         var `prefix'.
6704         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
6705         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
6706         (semantic-symref-perform-search): Remove unused var `pat'.
6708         CEDET (srecode-compile-inserter): Avoid `oref' on classes
6709         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
6710         Avoid `oref' on classes (bug#20491).
6711         (srecode-compile-split-code): Remove unused var `key'.
6713 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6715         Clean up pulse.el a little
6716         * lisp/cedet/pulse.el (pulse): Remove.
6717         (pulse-momentary-timer): Save instead of the stop time.
6718         (pulse-momentary-highlight-overlay): Call
6719         pulse-momentary-unhighlight first thing. Treat
6720         pulse-momentary-overlay as a single value, not a list. Save the
6721         created timer. Only pass the stop time to the timer.
6722         (pulse-tick): Update accordingly.
6723         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
6724         single value. Cancel the timer.
6726 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
6728         Support the biblatex journaltitle field
6729         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
6730         Support the biblatex journaltitle field.
6732 2015-05-05  Glenn Morris  <rgm@gnu.org>
6734         Minor declare-function improvement
6735         * lisp/emacs-lisp/bytecomp.el
6736         (byte-compile-macroexpand-declare-function):
6737         Handle declarations after calls.  (Bug#20509)
6739         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
6741         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
6743 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6745         Pulse using a timer
6746         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
6747         (pulse-momentary-highlight-overlay): Set up the timer instead of
6748         calling `pulse'
6749         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
6750         (pulse-tick): New function.
6751         (pulse-momentary-unhighlight): Cut off the stop time.
6752         (pulse-delay): Update the docstring WRT to not using sit-for.
6754         Add semantic/symref/grep file patterns for ruby-mode
6755         * lisp/cedet/semantic/symref/grep.el
6756         (semantic-symref-filepattern-alist): Add patterns for
6757         ruby-mode. Clarify the docstring.
6759         Don't require match
6760         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
6761         match. That doesn't work for every command, and some identifier
6762         completion tables are bound to be imperfect anyway.
6764 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
6766         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
6767         (semantic-grammar--template-expand): New function.
6768         (semantic-grammar-header, semantic-grammar-footer): Use it.
6769         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
6770         (semantic-grammar-file-regexp): Refine regexp.
6771         (semantic-grammar-eldoc-get-macro-docstring):
6772         Use elisp-get-fnsym-args-string when available.
6773         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
6774         instead of the old eldoc-* names.
6775         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
6776         from elisp-mode.el.  Tweak calling convention.
6777         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
6778         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
6779         elisp--get-fnsym-args-string.
6780         (elisp--highlight-function-argument): Add `prefix' arg.
6781         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
6782         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
6784 2015-05-05  Glenn Morris  <rgm@gnu.org>
6786         * lisp/help-fns.el (describe-function-1):
6787         Handle builtins with advertised calling conventions.  (Bug#20479)
6789 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6791         Merge branch 'seq-let'
6793         Update `seq-let' documentation
6794         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
6795         with the support of  `&rest'.
6797         Add support for &rest in `seq-let'
6798         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
6799         in the argument list.
6800         * test/automated/seq-tests.el: Add a test for parsing and binding
6801         `&rest' in `seq-let'.
6803 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6805         Spelling fixes
6807 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
6809         * eieio-custom.el (eieio-object-value-get): Add missing increment
6810         (Bug#20467)
6812         (eieio-object-value-create): Adjust to new slots representation
6813         (Bug#20467)
6814         * eieio-custom.el (eieio-object-value-create):
6815         Fix missed adjustment to new representation of slots metadata.
6817 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6819         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
6821 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6823         Work around "Attempt to modify read-only object"
6824         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
6825         elisp--xref-find-definitions, to work around "Attempt to modify
6826         read-only object" error.
6828         Only skip some variables that have function counterparts
6829         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6830         Only skip minor-mode-named variable if it's defined in a Lisp
6831         file, and it's in minor-mode-list (bug#20506).
6832         * test/automated/elisp-mode-tests.el
6833         (elisp-xref-finds-both-function-and-variable)
6834         (elisp-xref-finds-only-function-for-minor-mode): New tests.
6836 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6838         Buttonize the whole line, including the number at the beginning
6839         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
6840         previous change.
6841         (xref--insert-xrefs): Buttonize the whole line, including the
6842         number at the beginning.
6844         Make sure we're inside the let bindings
6845         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6846         Make sure we're inside the let bindings.
6847         * test/automated/elisp-mode-tests.el
6848         (elisp-completes-functions-after-let-bindings): New test.
6850 2015-05-04  Glenn Morris  <rgm@gnu.org>
6852         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
6853         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
6854         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
6855         Remove outdated declarations.
6857         Replace instances of "(eval-when-compile (autoload ...))"
6858         * lisp/gnus/gnus-art.el (nneething-get-file-name):
6859         Declare rather than autoload.
6860         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
6861         Remove pointless autoload.
6862         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
6863         (gnus-topic-create-topic, gnus-topic-enter-dribble):
6864         Declare rather than autoload.
6865         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
6866         (mailcap-extension-to-mime): Autoload at run-time.
6867         * lisp/gnus/mm-util.el (latin-unity-massage-name)
6868         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
6869         (latin-unity-representations-present-region):
6870         Declare rather than autoload.
6871         * lisp/gnus/mml-smime.el (epg-make-context)
6872         (epg-passphrase-callback-function): Autoload at run-time.
6873         (epg-context-set-signers, epg-context-result-for)
6874         (epg-new-signature-digest-algorithm)
6875         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
6876         (epg-sign-string, epg-encrypt-string)
6877         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
6878         (epg-configuration, epg-expand-group, epa-select-keys):
6879         Declare rather than autoload.
6880         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
6881         Autoload at run-time.
6882         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
6883         (gnus-registry-get-id-key, gnus-registry-action):
6884         Declare rather than autoload.
6885         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
6886         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
6887         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
6888         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
6889         (spam-stat-split-fancy): Remove pointless autoloads.
6890         * lisp/net/mairix.el: Load gnus-util when compiling.
6891         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
6892         (message-field-value): Declare rather than autoload.
6893         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
6894         Check gnus-alive-p is fbound.
6895         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
6896         (vm-check-for-killed-summary, vm-error-if-folder-empty)
6897         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
6898         Declare rather than autoload.
6900         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
6902         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
6903         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
6905         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
6907         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
6909         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
6910         * lisp/emacs-lisp/package.el (epg-signature-status):
6911         Fix declarations.
6913         * lisp/play/gametree.el (gametree-show-children-and-entry)
6914         (gametree-apply-layout, gametree-mouse-show-subtree)
6915         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
6917         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
6918         Handle cl-defgeneric, cl-defmethod.
6920 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6922         Highlight both type and symbol name
6923         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
6924         Highlight both type and symbol name.
6926         Insert, highlight and align line numbers in xref output
6927         * lisp/progmodes/etags.el (xref-location-line): Specialize for
6928         xref-etags-location.
6929         * lisp/progmodes/xref.el (xref-location-line): New generic method.
6930         (xref-file-location): Add reader for the line slot.
6931         (xref--location-at-point): Skip to the `xref-location' property.
6932         (xref--collect-reference): Drop the line number from description.
6933         (xref--insert-xrefs): Insert, highlight and align line numbers.
6935 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6937         Fix previous commit
6939 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6941         Don't pulse the indentation, or the newline
6942         * lisp/cedet/pulse.el (pulse-lighten-highlight)
6943         (pulse-reset-face): Fall back to the inherited background
6944         attribute in FACE.
6945         (pulse-momentary-highlight-region): Add autoload cookie.
6946         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
6947         indentation, or the newline, if the line's non-empty
6948         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
6950 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6952         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
6953         * doc/lispref/positions.texi (Excursions): Document
6954         `save-mark-and-excursion'.
6955         * lisp/font-lock.el (font-lock-fontify-block): Use
6956         `save-mark-and-excursion' instead of `save-excursion', restoring
6957         Emacs 24 behavior.
6958         * lisp/simple.el (save-mark-and-excursion--save)
6959         (save-mark-and-excursion--restore): New functions.
6960         (save-mark-and-excursion): New user macro.
6961         * src/editfns.c (Fsave_excursion): Mention
6962         `save-mark-and-excursion' in `save-excursion' documentation.
6964 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6966         Classify lone symbol inside let varlist as variable
6967         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6968         Classify lone symbol inside let varlist as variable.
6969         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
6970         New test.
6972         Add xref-pulse-on-jump
6973         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
6974         Add autoload cookie.
6975         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
6976         (xref--maybe-pulse): New function.
6977         (xref-pop-marker-stack, xref--pop-to-location)
6978         (xref--display-position): Use it.
6979         (xref--location-at-point): Use back-to-indentation.
6981 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6983         * lisp/org/org-{macs,list}.el: Fix lexical warnings
6984         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
6985         (org-list-get-next-item, org-list-get-prev-item)
6986         (org-list-get-children): Mark unused arg `struct'.
6987         (org-list-use-alpha-bul-p): Remove unused var `bul'.
6988         (org-toggle-checkbox): Mark unused var.
6989         (org-update-checkbox-count): Remove unused var `box-num'.
6990         (org-adapt-indentation): Declare.
6991         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
6992         (org-list-send-list): Remove unused var `txt'.
6993         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
6994         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
6995         * lisp/org/org-macs.el: Use `declare'.
6996         (org-with-limited-levels): Declare dyn-bound vars.
6998 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
7000         Fix minor issues with CEDET on MS-Windows
7001         * lisp/cedet/semantic/symref/idutils.el
7002         (semantic-symref-parse-tool-output-one-line): Fix the search
7003         regexp to match MS-Windows file names with drive letters.
7004         (Bug#19468)
7005         * lisp/cedet/semantic/symref/grep.el
7006         (semantic-symref-grep-use-template): Remove "--color=always" from
7007         Grep switches on MS-Windows.
7008         (semantic-symref-grep-shell): Use shell-file-name as the default
7009         value, so this works not only on Posix platforms.
7010         (semantic-symref-perform-search): Use shell-quote-argument instead
7011         of literal '..' for portable quoting of Grep command-line
7012         argument.  Use shell-command-switch instead of a literal "-c".
7013         * lisp/cedet/semantic/bovine/gcc.el
7014         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
7015         for an absolute file name in a portable way.
7017 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7019         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
7020         (package-import-keyring, package-refresh-contents)
7021         (package-compute-transaction, package--save-selected-packages)
7022         (package-install-from-archive, package-delete)
7023         (package-menu--perform-transaction): Use `inhibit-message'
7024         instead.
7025         (package--compile): Set `warning-minimum-level' to :error.
7027 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
7029         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
7030         (terminal-init-screen): Use it (bug#20356).
7031         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
7032         (xterm--extra-capabilities-type): New const.
7033         (xterm-extra-capabilities): Use it.
7034         (xterm--version-handler): Lower the pseudo-version for `screen'.
7036 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
7038         xref--insert-xrefs: Tweak the faces
7039         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
7040         Always insert a newline at the end (to avoid mouse-face background
7041         tail at the last line).
7043         elisp-completion-at-point: Prioritize being quoted over funpos
7044         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
7045         Only consider function position when not inside quoted form
7046         (bug#20425).
7047         * test/automated/elisp-mode-tests.el: New file.
7049         Stop vc-print-log from jumping to the top
7050         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
7051         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
7052         is not specified.
7053         (vc-incoming-outgoing-internal): Always pass nil.
7054         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
7055         call it, and don't set vc-sentinel-movepoint (bug#15322).
7056         (vc-print-root-log): Don't fetch the root working revision, nor
7057         pass it to vc-print-log-internal.
7059 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
7061         Fix display of keyboard layouts for right-to-left scripts
7062         * lisp/international/quail.el (quail-insert-kbd-layout): Force
7063         left-to-right paragraph direction.
7065 2015-05-02  K. Handa  <handa@gnu.org>
7067         * cmds.c (internal_self_insert): When we insert spaces for
7068         padding, set point before the padding spaces, not after them.
7070 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
7072         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
7074 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
7076         Fix etags-xref-find for references
7077         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
7078         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
7079         directory if no tags tables are loaded (bug#19468).
7081 2015-05-02  Philipp Stephani  <phst@google.com>
7083         Update the options in whitespace-style defcustom
7084         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
7085         `repeat' because the option is really set-like.  Add missing
7086         options.  Reorder options to match the order in the
7087         documentation.  (Bug#20346)
7089 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
7091         Fix error diagnostics of c-macro-expand
7092         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
7093         too early if no start-marker string was found -- that generally
7094         means cpp exited abnormally, and we still want to show its error
7095         messages to the user.
7097         Don't require Texinfo 5.0 for Emacs documentation
7098         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
7099         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
7100         "@codequoteundirected on", respectively, to avoid requiring
7101         Texinfo 5.x for Emacs documentation.
7103 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
7105         * lisp/files.el (pwd):
7106         When called with a prefix argument, insert the current default
7107         directory at point.
7109 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
7111         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
7112         * lisp/isearch.el (isearch-mode-map): Don't inhibit
7113         function-key-map remapping for backspace (bug#20466).
7115 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
7117         Implement xref-find-references in etags and elisp-mode
7118         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
7119         (elisp-xref-find): Use it.
7120         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
7121         * lisp/progmodes/xref.el (xref-collect-references):
7122         (xref--collect-reference): New functions.
7124 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
7126         Prefer plain characters to Texinfo circumlocutions
7127         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
7128         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
7130         Fix single-quoting style in PDF manuals
7131         The PDF versions of the GNU manuals used curved single quotes to
7132         represent grave accent and apostrophe, which made it a pain to cut
7133         and paste code examples from them.  Fix the PDF versions to use
7134         grave accent and apostrophe for Lisp source code, keystrokes, etc.
7135         This change does not affect the info files, nor does it affect
7136         ordinary uses of curved single quotes in PDF.
7137         * doc/emacs/docstyle.texi: New file, which specifies treatment for
7138         grave accent and apostrophe, as well as the document encoding.
7139         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
7140         * doc/lispintro/emacs-lisp-intro.texi:
7141         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
7142         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
7143         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
7144         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
7145         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
7146         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
7147         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
7148         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
7149         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
7150         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
7151         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
7152         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
7153         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
7154         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
7155         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
7156         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
7157         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
7158         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
7159         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
7160         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
7161         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
7162         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
7163         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
7164         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
7165         * doc/misc/woman.texi:
7166         Use it instead of '@documentencoding UTF-8', to lessen the need for
7167         global changes like this in the future.
7168         * doc/emacs/Makefile.in (EMACS_XTRA):
7169         * doc/lispintro/Makefile.in (srcs):
7170         * doc/lispref/Makefile.in (srcs):
7171         Add dependency on docstyle.texi.
7172         * doc/misc/Makefile.in (style): New macro.
7173         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
7174         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
7175         Use it.
7177 2015-05-01  Glenn Morris  <rgm@gnu.org>
7179         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
7181         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
7182         (help-fns--signature): Declare.
7184         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
7186 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
7188         New macro seq-let, providing destructuring support to seq.el
7189         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
7190         to `cl-destructuring-bind' but works on all sequence types supported
7191         by `seq.el'.  Bump version number to 1.6.
7192         * test/automated/seq-tests.el: Add tests for seq-let.
7193         * doc/lispref/sequences.texi: Add documentation for seq-let.
7195 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
7197         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
7199 2015-05-01  Glenn Morris  <rgm@gnu.org>
7201         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
7203 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
7205         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
7206         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
7207         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
7208         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
7209         (Bug#20445).
7211 2015-05-01  K. Handa  <handa@gnu.org>
7213         * mule-cmds.el (input-method-use-echo-area): Change :type to
7214         'boolean.
7216 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7218         Start using proportional fonts in eww by default
7219         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
7220         it seems to work well.
7222         Fix links in tables in shr
7223         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
7224         makes (some) links in tables not work.
7226 2015-05-01  Jan D  <jan.h.d@swipnet.se>
7228         (ns-get-cut-buffer-internal): Remove this alias.
7229         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
7231 2015-04-30  Glenn Morris  <rgm@gnu.org>
7233         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
7234         Update for 2015-02-08 change to indirect-function.
7236         * lisp/term/ns-win.el (ns-get-selection-internal):
7237         Remove declaration for function deleted 2014-10-21.
7239         * lisp/dom.el: Load subr-x when compiling, for when-let.
7241         Silence some compilation warnings
7242         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
7243         * lisp/emulation/cua-base.el (delete-active-region):
7244         * lisp/net/net-utils.el (w32-get-console-output-codepage):
7245         * lisp/term/ns-win.el (ns-own-selection-internal)
7246         (ns-disown-selection-internal, ns-selection-owner-p)
7247         (ns-selection-exists-p, ns-get-selection):
7248         Declare for compiler..
7250         Function declaration updates prompted by 'make check-declare'
7251         * lisp/emacs-lisp/package.el (lm-homepage):
7252         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
7253         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
7254         * lisp/gnus/mml.el (libxml-parse-html-region):
7255         * lisp/gnus/nnrss.el (libxml-parse-html-region):
7256         * lisp/net/eww.el (libxml-parse-html-region):
7257         * lisp/net/shr.el (libxml-parse-html-region):
7258         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
7259         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
7260         * lisp/vc/vc-git.el (vc-annotate-convert-time):
7261         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
7262         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
7263         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
7264         Update declaration.
7266         Remove compatibility code for 20-year old function renaming
7267         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
7268         Make it an obsolete alias.
7269         (idlwave-shell-filter): Change all uses to comint-output-filter.
7271 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
7273         Add ace-window face config
7274         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
7275         configuration.
7277 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
7279         Unclutter 'make doc' output a bit
7280         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
7281         Use make subst rather than sh IFS to split target string apart.
7282         This makes 'make' output easier to follow.
7284         Merge from gnulib
7285         * doc/misc/texinfo.tex: Update from gnulib.
7287 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7289         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
7290         (package-menu--print-info): Obsolete.
7291         (package-menu--print-info-simple): New function.
7292         (package-menu--refresh): Use it, simplify code, and improve
7293         performance.
7294         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
7295         Tiny performance improvement.
7297         * lisp/emacs-lisp/package.el (package--message): inhibit-message
7299 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
7301         Omit -Wstrict-overflow workaround in GCC 5
7302         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
7303         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
7305         Merge from gnulib
7306         This incorporates:
7307         2015-04-29 extern-inline: no need for workaround in GCC 5.1
7308         2015-04-26 file-has-acl: port to CentOS 6
7309         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
7311 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
7313         Set next-error-* in xref--xref-buffer-mode
7314         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
7315         `next-error-last-buffer'.
7316         (xref--next-error-function): New function.
7317         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
7319 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7321         python.el: Fix warnings on looking-back calls missing LIMIT
7322         * lisp/progmodes/python.el (python-shell-accept-process-output):
7323         Pass LIMIT arg to looking-back.
7325 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7327         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
7328         (package--download-and-read-archives): Use pushnew instead of
7329         append.  If something terrible happened during a previous
7330         download, simply refreshing should now make things work again.
7332 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
7334         Introduce etags-xref-find-definitions-tag-order
7335         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
7336         New variable.
7337         (etags--xref-find-definitions): Use it (bug#19468).
7339 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
7341         PATH- and completion-related fixes in Eshell on MS-Windows
7342         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
7343         MS-Windows, prepend "." to list of directories produced from PATH,
7344         as Windows always implicitly searches the current directory first.
7345         (eshell-force-execution): Make it have a non-nil default value on
7346         MS-Windows and MS-DOS.
7347         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
7348         eshell-force-execution is non-nil, complete on readable files and
7349         directories, not only executables.  When running on MS-Windows,
7350         prepend "." to list of directories produced from PATH, as Windows
7351         always implicitly searches the current directory first.
7353 2015-04-29  Sam Steingold  <sds@gnu.org>
7355         bury RCIRC buffers when there is no activity
7356         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
7357         (rcirc-bury-buffers): new function
7358         (rcirc-next-active-buffer): when there is no new activity, use
7359         `rcirc-bury-buffers' to hide all RCIRC buffers
7361 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
7363         Fix DBUS query result parsing for secrets-search-items
7364         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
7365         parsing.  The function assumed that return value of the
7366         SearchItems method called on a collection is a list of two lists,
7367         however this is true only when no collection is specified.  GNOME
7368         had used to incorrectly return a list of two lists in both cases,
7369         but this was already fixed:
7370         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
7371         incorrect information in the secrets-search-items’ docstring.
7372         (Bug#20449)
7374 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7376         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
7377         (byte-compile--message): Use `inhibit-message' instead of hiding
7378         the previous message with (message nil).
7380 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
7382         Remove the deprecated INTERNAL_FIELD macro by expanding it
7383         * src/lisp.h (INTERNAL_FIELD): Remove.
7384         (DEFVAR_KBOARD): Modify accordingly.
7385         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
7386         * syntax.c: Adjust users.
7387         * src/buffer.c (compact_buffer): Use BVAR.
7389 2015-04-29  Glenn Morris  <rgm@gnu.org>
7391         Replace an obsolete function alias
7392         * lisp/isearch.el (isearch-yank-x-selection):
7393         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
7394         (mouse-drag-secondary-moving):
7395         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
7396         Replace obsolete alias x-get-selection with gui-get-selection.
7398 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7400         * lisp/mail/rmailsum.el: Use lexical-binding.
7402 2015-04-29  Glenn Morris  <rgm@gnu.org>
7404         * test/automated/package-test.el (package-test-update-archives-async):
7405         Skip test on hydra.nixos.org.
7407 2015-04-28  Glenn Morris  <rgm@gnu.org>
7409         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
7410         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
7411         (foldout-mouse-hide-or-exit): Use new names for outline functions.
7413         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
7414         Update for 2014-06-26 hideif.el change.
7416         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
7417         (rmail--decode-and-apply): New function.
7418         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
7420         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
7422 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7424         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
7425         (package-menu--refresh): Delegate obsolete-hiding to
7426         `package--remove-hidden'.
7427         (package--remove-hidden): Disregard high-priority package if it is
7428         older than the installed one.
7430 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
7432         Update source file encoding list
7433         Update admin/notes/unicode, along with coding system cookies in
7434         other files, so that the two match each other better.
7435         * admin/notes/unicode: lisp/language/ethio-util.el and
7436         lisp/language/ethiopic.el also use utf-8-emacs.
7437         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
7438         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
7439         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
7440         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
7441         * etc/refcards/sk-survival.tex:
7442         Add "coding: utf-8" so that this file is not mishandled in a
7443         Latin-1 or Big-5 locale.
7444         * lisp/international/robin.el, lisp/org/ox-ascii.el:
7445         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
7446         * lisp/language/ethio-util.el: Fix trailer.
7448 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
7450         Fix synchronous invocation of Ispell
7451         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
7452         value to ispell-process-directory before calling ispell-init-process.
7453         Don't call set-process-coding-system if ispell-async-processp is nil.
7454         (Bug#20448)
7456 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7458         * lisp/emacs-lisp/package.el: Skip space and comments in init file
7459         (package--ensure-init-file): Insert snippet at first
7460         non-whitespace non-comments line.  Respects local-vars at the top
7461         of the file.
7463 2015-04-28  Glenn Morris  <rgm@gnu.org>
7465         * lisp/mail/rmail.el (rmail-copy-headers):
7466         Handle rmail-nonignored-headers being nil.  (Bug#18878)
7468         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
7470         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
7471         Don't get confused by a bzrlib version mismatch warning.
7473 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7475         Change default location of EUDC options file
7476         * NEWS: Document change to EUDC options file's default location.
7477         * lisp/net/eudc-vars.el (eudc-options-file): Use
7478         `locate-user-emacs-file' to change default options file location.
7480 2015-04-27  Glenn Morris  <rgm@gnu.org>
7482         * test/automated/package-test.el (package-test-update-archives-async):
7483         Try to handle the test server script dying.
7485 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7487         * lisp/saveplace.el (save-place-mode): New minor mode.
7488         (save-place): Redefine as an obsolete alias.
7490         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
7491         * lisp/midnight.el: Use lexical-binding.
7492         (midnight-mode): Make it a proper minor mode.
7493         (midnight-buffer-display-time): Make arg non-optional.
7494         (midnight-find): Remove.
7495         (clean-buffer-list-kill-never-regexps)
7496         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
7497         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
7498         contain functions.
7499         (clean-buffer-list): Use cl-find.
7500         Allow clean-buffer-list-kill-never-regexps to contain functions.
7502 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
7504         Bump version of seq.el to 1.5
7505         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
7506           from seq-doseq.  Bump version number of seq.el.
7508 2015-04-27  Glenn Morris  <rgm@gnu.org>
7510         * lisp/mail/rmail.el (rmail-reply):
7511         Decode subject before matching "Re:" prefix.  (Bug#20396)
7513 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7515         * lisp/emacs-lisp/package.el: Small improvements
7516         (package--with-work-buffer-async): More informative error.
7517         (package-install-user-selected-packages): Rename to
7518         `package-install-selected-packages'.
7520 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7522         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
7523         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
7524         (eieio--class-make): Remove leftover `tag'.
7526 2015-04-27  Glenn Morris  <rgm@gnu.org>
7528         * lisp/gnus/message.el (gnus-extract-address-components):
7529         Remove bogus declaration that was masking previous problem.
7531 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
7533         * lisp/gnus/message.el (message-insert-formatted-citation-line):
7534         Fix typo.  (Bug#20318)
7536 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7538         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
7540         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
7541         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
7542         the buffer in yet another frame.
7543         (reftex-toc-visit-location): Make sure toc-window has focus at the end
7544         when `final' is nil.
7545         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
7546         silence warnings.  Use `--' to clarify that it's internal.
7547         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
7548         (reftex-toc-promote): Clarify unused argument.
7549         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
7550         Add `reftex--' prefix.  Fix all users.
7551         (reftex-toc-promote-prepare): Use _ for dummy variable.
7552         (reftex-toc-restore-region): Rename `m
7554 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
7556         Fix a typo in bibtex.el
7557         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
7558         last change.  (Bug#20429)
7560         Fix redisplay of frame after loading new fonts
7561         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
7562         frame because new fonts were loaded, disable all redisplay
7563         optimizations on that frame by calling SET_FRAME_GARBAGED.
7564         (Bug#20410)
7566 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7568         * lisp/info.el (Info-menu): Properly provide the `default'
7569         (Bug#20391)
7571         * elisp-mode.el: Catch errors from `documentation'
7572         (Bug#20418)
7573         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
7574         Catch errors from documentation.
7575         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
7577 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
7579         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
7580         Remove redundant ":group 'package".
7582 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
7584         Fix a typo in rmail.el
7585         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
7586         last commit.  (Bug#20429)
7588 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
7590         Introduce xref-prompt-for-identifier
7591         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
7592         (xref--read-identifier): Use it
7593         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
7595 2015-04-26  João Távora  <joaotavora@gmail.com>
7597         `tex-insert-quote' after single `'' opens quotes instead of closing
7598         Without this, it's very hard to precede double quotes with the
7599         apostrophe character, i.e. insert the sequence '``
7600         (quote-backquote-backquote), commonly useful in portuguese, for
7601         instance.
7602         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
7603         chars making `tex-insert-quote' be in the "opening" context.
7605 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
7607         Pass `id' to `completing-read' as def instead of initial input
7608         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
7609         as the default value instead of initial input
7610         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
7612 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7614         Don't freeze with unreadable processes
7615         Don't freeze if an exiting process can't be read from. (Bug#19860).
7616         This fixes a bug I introduced in
7617         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
7618         "* process.c: Add sanity checks for file descriptors."
7619         Dmitry Gutov did most of the legwork in finding the problem.
7620         * src/process.c (wait_reading_process_output):
7621         Treat non-running processes that can't be read from
7622         the same as other non-running processes.
7624 2015-04-25  Alan Mackenzie  <acm@muc.de>
7626         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
7627         * lisp/subr.el (remove-yank-excluded-properties): put
7628         `with-silent-modifications' around only the last three lines of code.
7630 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7632         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
7633         (package--all-keywords): Deleted variable.
7635         * etc/NEWS: Document package-hiding functionality
7637 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
7639         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
7641         Clarify the doc string of 'replace-regexp-in-string'
7642         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
7644         Improve doc string of 'insert-buffer-substring'
7645         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
7647         MS-Windows followup for the recent gnulib update
7648         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
7649         acl-internal.c.
7651 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7653         Spelling fixes
7655         Merge from gnulib
7656         This incorporates:
7657         2015-04-24 file-has-acl: new module, split from acl
7658         2015-04-24 manywarnings: add GCC 5.1 warnings
7659         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
7660         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
7661         2015-04-15 acl: On Linux, check for acls without libacl
7662         2015-04-14 tempname: avoid unused parameter warnings (trivial)
7663         * lib/acl-internal.c: New file, from gnulib.
7664         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
7665         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
7666         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
7667         Update from gnulib.
7669         Port --enable-gcc-warnings to GCC 5.1 x86-64
7670         * lib-src/ebrowse.c (dump_sym):
7671         * lib-src/hexl.c (main):
7672         * src/ccl.c (ccl_driver):
7673         * src/character.c (string_escape_byte8):
7674         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
7675         * src/gnutls.c (Fgnutls_boot):
7676         * src/gtkutil.c (xg_check_special_colors):
7677         * src/image.c (x_build_heuristic_mask):
7678         * src/print.c (safe_debug_print, print_object):
7679         * src/term.c (produce_glyphless_glyph):
7680         * src/xdisp.c (get_next_display_element)
7681         (produce_glyphless_glyph):
7682         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
7683         Don't use a signed format to print an unsigned integer, or vice
7684         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
7685         * src/image.c (png_load_body, jpeg_load_body):
7686         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
7688 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
7690         Add new faces to tsdh-light-theme
7691         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
7692         definitions for Info-quoted, ace-jump-face-foreground,
7693         hl-paren-face, show-paren-match, and show-paren-mismatch.
7695 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
7697         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
7699 2015-04-24  Glenn Morris  <rgm@gnu.org>
7701         * build-aux/gitlog-to-emacslog:
7702         Use raw log format rather than wrapped one.
7704 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7706         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
7707         (seq-doseq): Fix out-of-scope binding.
7708         Don't call `seq-length at every iteration.
7709         Reduce `if's from 3 to 2 per iteration.
7710         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
7712 2015-04-24  Glenn Morris  <rgm@gnu.org>
7714         * lisp/textmodes/text-mode.el (text-mode-hook):
7715         Move text-mode-hook-identify to default.
7717         * lisp/mouse.el (minor-mode-menu-from-indicator):
7718         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
7720         * lisp/help-fns.el (describe-function): More type checking.
7721         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
7723         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
7724         (Bug#20325)
7726 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
7728         shr: strip leading whitespace when expanding URLs
7729         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
7731 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
7733         Clarify "co-authored" some more
7735         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
7737         Clarify doc strings of functions that search for properties
7738         * src/textprop.c (Fnext_char_property_change)
7739         (Fprevious_char_property_change)
7740         (Fnext_single_char_property_change)
7741         (Fprevious_single_char_property_change, Fnext_property_change)
7742         (Fnext_single_property_change, Fprevious_property_change)
7743         (Fprevious_single_property_change): Clarify doc strings wrt return
7744         value and the optional LIMIT argument.  (Bug#20411)
7746 2015-04-24  Glenn Morris  <rgm@gnu.org>
7748         * test/automated/message-mode-tests.el (message-mode-propertize):
7749         Handle non-writable HOME; eg on hydra.nixos.org.
7751 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
7753         Avoid starting threads by w32-shell-execute
7754         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
7755         local file names, before invoking ShellExecute.  (Bug#20220)
7757 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
7759         Fix following doc-links in `widget-documentation-link-action'
7760         * lisp/wid-edit.el (widget-documentation-link-action): Make
7761         following doc-links less simplistic (Bug#20398).
7763 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7765         Improve EUDC manual
7766         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
7768 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7770         Omit needless "\ " after multibyte then newline
7771         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
7772         (print_object): When print-escape-multibyte is non-nil and a
7773         multibyte character is followed by a newline or formfeed, followed
7774         by a hex digit, don't output a needless "\ " before the hex digit.
7775         * test/automated/print-tests.el (print-hex-backslash): New test.
7777 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
7779         Add a new `inhibit-message' variable
7780         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
7781         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
7782         `inhibit_message' is non-zero.
7783         * etc/NEWS: Add an entry.
7784         * doc/lispref/display.texi: Add an entry for `inhibit-message',
7785           mention it in `message'.
7787 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7789         Fix last fix in `display-buffer-record-window'.
7790         * lisp/window.el (display-buffer-record-window): Fix last fix.
7792 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
7794         Minor edits in CONTRIBUTE
7795         * CONTRIBUTE: Rearrange instructions about log messages.
7796         Use "Git" capitalized all over.
7797         Use 2 spaces between sentences.
7799 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7801         * lisp/files.el (basic-save-buffer): Fix argument
7803         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
7804         In case `(and (null custom-file) init-file-had-error)' do the same
7805         thing we'd do if `(null user-init-file)', which is to either error out
7806         or return nil.  This is in line with `custom-save-all' which would
7807         throw an error in that situation. (bug#20355)
7809         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
7810         (package-menu-hide-low-priority): New variable, see its doc.
7811         (package-archive-priorities): Update doc.
7812         (package-desc-priority): New function.
7813         (package-desc-priority-version): Use it.
7814         (package--remove-hidden): New function.
7815         (package-menu--refresh): Use it.
7817         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
7818         (package-menu--hide-obsolete): New variable.
7819         (package--remove-hidden): Use it.
7820         (package-menu-hide-obsolete): New interactive function to toggle
7821         the variable.
7822         (package--quick-help-keys): Document it.
7823         (package-menu-async): Add :version tag.
7824         (package-menu-mode-map): Bind package-menu-hide-obsolete.
7825         (package-desc-status): Indicate non-installed obsolete packages as
7826         avail-obso.
7827         (package-menu-mark-install): Allow installation of avail-obso.
7828         (package-menu--status-predicate): Sort avail-obso with available.
7830 2015-04-22  Alan Mackenzie  <acm@muc.de>
7832         On C-y, stop some text property entries being written into buffer-undo-list
7833         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
7834         `with-silent-modifications'.
7836 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7838         In display-buffer-record-window record selected window if necessary.
7839         * lisp/window.el (display-buffer-record-window): Store selected window
7840         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
7842 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
7844         Fix reftex-citation bug
7845         * reftex-cite.el (reftex-extract-bib-entries): Fix
7846         `wrong-type-argument stringp nil' error that occurs when AUCTeX
7847         integration is enabled and there are no citations in the document
7848         so far.
7850 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
7852         Add or reset based on the presence of MERGE_HEAD
7853         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
7854         `vc-git-resolve-when-done' to `after-save-hook' in either case.
7855         (vc-git-conflicted-files): Add a TODO.
7856         (vc-git-resolve-when-done): Depending on the presence of
7857         MERGE_HEAD, either update the resolved file in the index, or
7858         remove it from there.  (Bug#20292)
7860 2015-04-21  Glenn Morris  <rgm@gnu.org>
7862         * lisp/custom.el (custom-declare-group): No need to purecopy
7863         custom-current-group-alist members following recent change to set
7864         it to nil before dumping.
7866         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
7867         (Bug#20399)
7869 2015-04-21  Daniel Colascione  <dancol@dancol.org>
7871         Unbreak no-op buffer save message
7872         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
7873         (basic-save-buffer): Accept called-interactively as an argument instead of
7874         directly invoking called-interactively-p, which will always yield nil
7875         in that context.
7877 2015-04-21  Alan Mackenzie  <acm@muc.de>
7879         CC Mode: Do nothing in before/after-change-functions for text property changes
7880         Fixes bug#20266.
7881         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
7882         yank-handled-properties buffer local, and remove 'category from it.
7883         (c-called-from-text-property-change-p): New function.
7884         (c-before-change): Don't do anything if a call of the new function
7885         returns non-nil.
7886         (c-after-change): Don't do much if a call of the new function returns
7887         non-nil.
7888         (c-extend-after-change-region): Put changes to text property 'fontified
7889         inside c-save-buffer-state.
7891 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7893         Fix byte-compiler warnings about looking-back.
7894         * lisp/vc/log-view.el (log-view-end-of-defun-1):
7895         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
7896         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
7897         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
7898         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
7899         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
7900         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
7901         * lisp/org/org.el (org-insert-heading, org-sort-entries):
7902         * lisp/org/org-mouse.el (org-mouse-end-headline)
7903         (org-mouse-context-menu):
7904         * lisp/org/org-clock.el (org-clock-cancel):
7905         * lisp/man.el (Man-default-man-entry):
7906         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
7907         (rmail-ensure-blank-line):
7908         * lisp/mail/footnote.el (Footnote-delete-footnote):
7909         * lisp/mail/emacsbug.el (report-emacs-bug):
7910         * lisp/info.el (Info-follow-reference, Info-fontify-node):
7911         * lisp/info-look.el (info-lookup-guess-custom-symbol):
7912         * lisp/help-fns.el (help-fns--key-bindings):
7913         * lisp/files.el (hack-local-variables):
7914         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
7915         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
7916         (viper-complete-filename-or-exit):
7917         * lisp/emulation/viper-cmd.el (viper-backward-indent):
7918         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
7919         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
7920         * lisp/cus-edit.el (custom-face-edit-value-create):
7921         * lisp/calendar/todo-mode.el (todo-set-item-priority)
7922         (todo-filter-items-1, todo-convert-legacy-files)
7923         (todo-prefix-overlays): Add explicit second arg to looking-back.
7925 2015-04-20  Glenn Morris  <rgm@gnu.org>
7927         Avoid non-nil current-load-list at startup
7928         * src/process.c (init_process_emacs): Move Fprovide statement...
7929         (syms_of_process): ... to here.
7931         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
7933         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
7935 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
7937         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
7938         (Bug#20330)
7940 2015-04-20  Glenn Morris  <rgm@gnu.org>
7942         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
7944         Tweak exec-path in uninstalled case
7945         * src/callproc.c (init_callproc): If running uninstalled, do not
7946         include eventual installation libexec directory in exec-path.
7948 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
7950         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
7951         (package-menu-filter): Accept a list of keywords.
7952         (package--all-keywords): New variable to cache known keywords.
7953         (package-all-keywords): Populate it if necessary.
7954         (package-refresh-contents): Reset it.
7956         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
7957         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
7958         as special keywords which match agains package archive and status
7959         respectively.
7960         * etc/NEWS: Document it.
7962 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
7964         Describe and index "empty overlays".
7965         * doc/lispref/display.texi (Overlays): Improve indexing.
7966         (Managing Overlays): Describe "empty" overlays.
7967         (Overlay Properties, Finding Overlays): Add cross-reference to
7968         where empty overlays are described.
7970 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7972         Spelling fixes
7974         Quote 'like this' in top-level files
7975         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
7976         Prefer to single-quote 'like this' (instead of the older style
7977         `like this').
7978         * configure.ac: Fix some space-before-tab problems that 'git commit'
7979         complained about.
7981         Use bool for boolean in textprop.c, undo.c
7982         * src/textprop.c (soft, hard): Now constants instead of macros.
7983         (validate_plist): Rewrite to avoid need for boolean local.
7984         (interval_has_all_properties, interval_has_some_properties)
7985         (interval_has_some_properties_list, add_properties)
7986         (remove_properties, get_char_property_and_overlay)
7987         (Fnext_single_char_property_change)
7988         (Fprevious_single_char_property_change, add_text_properties_1)
7989         (Fremove_text_properties, Fremove_list_of_text_properties)
7990         (copy_text_properties):
7991         * src/tparam.c (tparam1):
7992         * src/undo.c (record_change, record_property_change)
7993         (syms_of_undo):
7994         Use 'true' and 'false' for booleans.
7996 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7998         Call `smerge-start-session' even when dealing with a stash conflict
7999         * lisp/vc/vc-git.el (vc-git-find-file-hook):
8000         Call `smerge-start-session' even when dealing with a stash
8001         conflict (bug#20292).
8003 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
8005         Add option to eshell/clear to clear scrollback.
8006         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
8007         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
8008         scrollback contents are cleared.
8009         * etc/NEWS: Describe change.
8010         * doc/misc/eshell.texi: Add entry for `clear'.
8012 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8014         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
8015         where either will do.
8017 2015-04-19  Steve Purcell  <steve@sanityinc.com>
8019         Assume package archive-contents are UTF8-encoded
8020         * lisp/emacs-lisp/package.el (package--read-archive-file):
8021         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
8022         downloaded and cached archive-contents files, so that non-ASCII
8023         characters in package descriptions are displayed correctly in the
8024         `list-packages' menu. (Bug#20231)
8026 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
8028         Abort when looking at stashed changes
8029         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
8030         stashed changes (bug#20292).
8032 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
8034         Refactor low-level printing for simplicity
8035         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
8036         PRINTPREPARE; doable now that we assume C99.  All callers changed.
8037         (PRINTCHAR): Remove, as it adds more mystery than clarity.
8038         All callers changed.
8039         (strout): Assume that caller computes length.  All callers changed.
8040         (print_c_string): New function.
8041         (write_string, write_string_1): Compute length instead of asking
8042         the caller to compute it.  All callers changed.
8043         (write_string): Simplify by using write_string_1.
8044         (write_string_1): Simplify by using print_c_string.
8045         (Fterpri): Compute default val more clearly.
8046         (Fprin1_to_string, print_object):
8047         Assume C99 to avoid unnecessary nesting.
8048         (print_object): Prefer print_c_string to multiple printchar, or
8049         to calling strout with -1 length.  Coalesce into sprintf when
8050         this is easy.
8052 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
8054         Prefer "Bug#1234" in commit messages (Bug#20325)
8055         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
8056         as this isn't useful for Git.
8057         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
8059 2015-04-18  Glenn Morris  <rgm@gnu.org>
8061         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
8062         (Bug#19506)
8064 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
8066         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
8067         (Bug#19505)
8069 2015-04-18  Glenn Morris  <rgm@gnu.org>
8071         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
8073         * doc/emacs/misc.texi (Sorting): Small edit.
8074         (Bug#19896)
8076         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
8078 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
8080         css-mode.el: Support multi-line comment filling
8081         (Bug#20256)
8082         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
8083         comment filling.
8084         (css-adaptive-fill): New function.
8085         (css-mode): Set `adaptive-fill-function'.
8086         (scss-mode): Set `comment-continue'.
8088 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
8090         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
8092 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
8094         Minor improvements in Bulgarian input methods
8095         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
8096         Replace U+042C with U+045D, as the former character is not used in
8097         the modern Bulgarian language.
8098         (Bug#20350)
8100 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8102         Improve EUDC manual
8103         * eudc.texi (LDAP Configuration): Mention simple and SASL
8104         authentication schemes.  Add index items.  Shorten example server
8105         name.
8107 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
8109         Don't show both feature and function with the same name
8110         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8111         Don't show both feature and function with the same name.
8113         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
8114         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8115         Avoid returning both the variable and the function for the same
8116         minor mode.
8118 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
8120         Fix fontification of keywords clobbered by the prompt.
8121         * lisp/comint.el (comint-output-filter): Remove the uses of
8122         with-silent-modifications I introduced as part of the last change.
8123         This fixes, e.g., erratically missing highlighting when running
8124         ./configure --help; ./configure in a shell-mode buffer with
8125         compilation-shell-minor-mode turned on.
8127 2015-04-17  Glenn Morris  <rgm@gnu.org>
8129         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
8131 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
8133         * lisp/indent.el (indent-region): Don't deactivate the mark
8134         (Bug#20357)
8136 2015-04-17  Sam Steingold  <sds@gnu.org>
8138         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
8140 2015-04-16  Leo Liu  <sdl.web@gmail.com>
8142         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
8144 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
8146         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
8148 2015-04-16  Glenn Morris  <rgm@gnu.org>
8150         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
8152 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
8154         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
8155         * configure.ac (LIBJPEG): Leave it empty for MinGW.
8157 2015-04-16  Glenn Morris  <rgm@gnu.org>
8159         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
8160         to avoid rogue setting after startup.
8162 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
8164         Pre-4.6 GCC succeeds with unknown option
8165         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
8166         (Bug#20338)
8168 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8170         '[:graph:]' now excludes whitespace, not just ' '
8171         * doc/lispref/searching.texi (Char Classes):
8172         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
8173         sans whitespace (not sans space).
8174         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
8175         not just space.
8176         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
8178 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8180         (looking-back): Make the second arg non-optional.
8181         * lisp/subr.el (substitute-key-definition-key, special-form-p)
8182         (macrop): Drop deprecated second arg to indirect-function.
8183         (looking-back): Make the second arg non-optional.
8185         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
8186         command is actually sent to the shell.
8188 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8190         Port jpeg configuration to Solaris 10 with Sun C
8191         * configure.ac: Check for jpeglib 6b by trying to link it, instead
8192         of relying on cpp magic that has problems in practice.  Check for
8193         both jpeglib.h and jerror.h features.  Remove special case for
8194         mingw32, which should no longer be needed (and if it were needed,
8195         should now be addressable by hotwiring emacs_cv_jpeglib).
8196         (Bug#20332)
8198 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8200         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
8201         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
8202         Move to elisp-mode.el.
8203         (lisp-mode-variables): (Re)move elisp-specific settings.
8204         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
8205         from lisp-mode-variables.
8206         (elisp--font-lock-flush-elisp-buffers): New function, moved from
8207         lisp-mode.el.
8209         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
8210         Avoid pathological slowdown at top-level in large file.
8212 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8214         Standardize names of ChangeLog history files
8215         Suggested by Glenn Morris in:
8216         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
8217         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
8218         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
8219         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
8220         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
8221         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
8222         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
8223         Remove.
8225         Split top-level entries into pre- and post-April 7
8226         This more clearly distingiushes pre-April-7 ChangeLog entries (which
8227         are for top-level files only) from post-April-7 entries (which are
8228         about files at all levels.  Problem reported by Glenn Morris in:
8229         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
8230         * ChangeLog.1: Move post-April-7 entries from here ...
8231         * ChangeLog.2: ... to this new file.
8232         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
8234 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8236         Fix recent cus-start changes that added customize-rogues
8237         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
8238         vars early.
8239         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
8241 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
8243         Define cl-concatenate as an alias to seq-concatenate
8244         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
8245           code by making cl-concatenate an alias to seq-concatenate.
8247 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8249         * src/lread.c (intern_1): Make sure we'd find the symbol we add
8250         (Bug#20334)
8251         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
8253 2015-04-15  Glenn Morris  <rgm@gnu.org>
8255         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
8257 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
8259         Clean up gnus-uu saving code slightly
8260         * gnus-uu.el (gnus-uu-save-article): Make the
8261         save-restriction/widen calls make more sense.
8263 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8265         Make [:graph:] act like [:print:] sans space
8266         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
8267         [:graph:] so that it matches everything that [:print:] does,
8268         except for space.
8269         * doc/lispref/searching.texi (Char Classes):
8270         * etc/NEWS:
8271         * lisp/emacs-lisp/rx.el (rx):
8272         Document [:graph:] to be [:print:] sans ' '.
8273         * src/character.c, src/character.h (graphicp): New function.
8274         * src/regex.c (ISGRAPH) [emacs]: Use it.
8275         (BIT_GRAPH): New macro.
8276         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
8277         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
8278         Return BIT_GRAPH for RECC_GRAPH.
8279         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
8280         and ISPRINT if BIT_PRINT.
8282 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8284         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
8285         Don't use call-next-method in a cl-defmethod.
8287         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
8288         (eieio--class-p): Remove, provided by cl-defstruct.
8290 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
8292         Add seq-intersection and seq-difference to the seq library
8293         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
8294         functions.
8295         * test/automated/seq-tests.el: Add tests for seq-intersection and
8296         seq-difference.
8297         * doc/lispref/sequences.texi: Add documentation for seq-intersection
8298         and seq-difference.
8300 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8302         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
8304 2015-04-14  Sam Steingold  <sds@gnu.org>
8306         package--ensure-init-file: widen requires save-restriction
8308 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
8310         Improve the commit-msg Git hook for unibyte environments
8311         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
8312         in unibyte environments.  (Suggested by Paul Eggert
8313         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
8314         [:print:], based on UTF-8 sequences of the unprintable characters.
8316         Describe problems with cursor caused by Windows Magnifier
8317         * etc/PROBLEMS: Describe the problem with cursor shape on
8318         MS-Windows due to Windows Magnifier.
8319         (Bug#20271)
8321         Make [:print:] support non-ASCII characters correctly
8322         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
8323         (BIT_PRINT): New bit mask.
8324         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
8325         * src/character.c (printablep): New function.
8326         * src/character.h (printablep): Add prototype.
8327         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
8328         of 'print', 'alnum', and 'alphabetic'.
8329         * doc/lispref/searching.texi (Char Classes): Document the new
8330         behavior of [:print:].
8331         * etc/NEWS: Mention the new behavior of [:print:].
8333         Assign correct general-category and names to surrogates
8334         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
8335         surrogates.  This avoids assigning them the default
8336         general-category of 'Cn', i.e. unassigned codepoints.
8337         (unidata-get-name): Give surrogates synthetic names.
8339 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
8341         Assume C89 offsetof in xterm.c, xlwmenu.c
8342         * lwlib/xlwmenu.c (offset):
8343         * src/xterm.c (cvt_string_to_pixel_args):
8344         Use offsetof, not XtOffset.
8346 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
8348         Assume C89 offsetof in widget.c
8349         * src/widget.c (XtOffset): Remove; no longer needed.
8350         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
8352         Fix think-o in previous patch
8353         * src/window.c (count_windows, get_leaf_windows):
8354         Don't optimize count_windows incorrectly.
8356 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8358         Avoid some int overflows in window.c
8359         * src/print.c (print_object):
8360         * src/window.c (sequence_number):
8361         * src/window.h (struct window.sequence_number):
8362         Don't assume window sequence number fits in int.
8363         * src/window.c (window_select_count):
8364         * src/window.h (struct window.use_time, window_select_count):
8365         Don't assume window use time fits in int.
8366         * src/window.c (Fsplit_window_internal):
8367         Don't assume user-supplied integer, or sum, fits in int.
8368         (Fset_window_configuration, count_windows, get_leaf_windows)
8369         (save_window_save, Fcurrent_window_configuration):
8370         Use ptrdiff_t for object counts.
8371         (Fset_window_configuration): Omit unused local 'n'.
8372         (count_windows): Simplify by writing in terms of get_leaf_windows.
8373         (get_leaf_windows): Don't store through FLAT if it's null.
8374         (extract_dimension): New static function.
8375         (set_window_margins, set_window_fringes, set_window_scroll_bars):
8376         Use it to avoid undefined behavior when converting user-supplied
8377         integer to 'int'.
8379 2015-04-13  Glenn Morris  <rgm@gnu.org>
8381         Minor doc copyedits
8382         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
8383         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
8385 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8387         [Gnus] Catch the invalid-operation that idna.el will issue
8388         * lisp/gnus/gnus-art.el (gnus-use-idna):
8389         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
8390         * lisp/gnus/message.el (message-use-idna):
8391         Catch the invalid-operation that idna.el will issue.
8393 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8395         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
8397 2015-04-13  Sam Steingold  <sds@gnu.org>
8399         package--ensure-init-file: widen before looking for "(package-initialize)"
8401 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
8403         Change diff-switches default to `-u'
8404         (Bug#20290)
8405         * doc/emacs/files.texi (Comparing Files): Document the new default
8406         value of `diff-switches'.
8407         * doc/emacs/trouble.texi (Sending Patches): Document the preference
8408         for unified diff format.  Escape the plus in the suggested `-F' regexp
8409         value.
8410         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
8412 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8414         (gnus-group--setup-tool-bar-update): Fix last change
8415         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
8416         cursor-sensor-functions should be a list of functions.
8418 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8420         Use gmm-called-interactively-p in Gnus
8421         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
8423 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8425         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
8426         (Bug#20321)
8427         * lisp/cus-start.el (read-buffer-function): Don't advertize
8428         iswitchb-read-buffer any more.
8429         (iswitchb): Don't tweak this obsolete group any more.
8431 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
8433         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
8435         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
8436         Adding a string after a constructor's argument list will use
8437         that string as the constructor function docstring.  If this string
8438         is absent but the struct itself was given a docstring, use that as
8439         the constructor's docstring.
8440         Fixes (bug#17284).
8442 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8444         Deprecate `intangible' and `point-entered' properties
8445         * lisp/emacs-lisp/cursor-sensor.el: New file.
8446         * lisp/simple.el (pre-redisplay-functions): New hook.
8447         (redisplay--pre-redisplay-functions): New function.
8448         (pre-redisplay-function): Use it.
8449         (minibuffer-avoid-prompt): Mark obsolete.
8450         (redisplay--update-region-highlight): Adapt it to work as a function on
8451         pre-redisplay-functions.
8452         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
8453         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
8454         than point-entered to make the prompt intangible.
8455         * lisp/forms.el: Move `provide' calls to the end.
8456         (forms-mode): Don't use `run-hooks' on a local var.
8457         (forms--make-format, forms--make-format-elt-using-text-properties):
8458         Use cursor-intangible rather than `intangible'.
8459         (forms-mode): Enable cursor-intangible-mode.
8460         * lisp/isearch.el (isearch-mode): Use defvar-local.
8461         (cursor-sensor-inhibit): Declare.
8462         (isearch-mode): Set cursor-sensor-inhibit.
8463         (isearch-done): Set it back.
8464         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
8465         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
8466         any more.
8467         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
8468         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
8469         Add Edebug spec.
8470         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
8471         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
8472         inhibit-point-motion-hooks any more.
8473         (ses--cell-at-pos, ses--curcell): New functions, extracted from
8474         ses-set-curcell.
8475         (ses-set-curcell): Use them.
8476         (ses-print-cell, ses-setup): Use cursor-intangible instead of
8477         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
8478         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
8479         Use ses--cell-at-pos.
8480         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
8481         extracted from ses-command-hook.  Make them work with multiple windows
8482         displaying the same buffer.
8483         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
8484         Enable cursor-intangible-mode.
8485         (ses-command-hook): Remove cell highlight and mode-line update code.
8486         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
8487         Update for new name of text-property holding the cell name.
8488         (ses-rename-cell): Don't mess with mode-line-process.
8489         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
8490         cursor-sensor-functions property instead of point-entered.
8491         (erc-insert-timestamp-right, erc-format-timestamp):
8492         Use cursor-intangible rather than `intangible'.
8493         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
8494         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
8495         cursor-sensor-mode if needed.
8496         (erc-echo-timestamp): Adapt to calling convention of
8497         cursor-sensor-functions.
8498         (erc-insert-timestamp-right): Remove unused vars `current-window' and
8499         `indent'.
8500         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
8501         (gnus-update-group-mark-positions): Remove unused `topic' var.
8502         (gnus-group-insert-group-line): Remove unused var `header'.
8503         (gnus-group--setup-tool-bar-update): New function.
8504         (gnus-group-insert-group-line): Use it.
8505         (gnus-group-update-eval-form): Declare local
8506         dynamically-bound variables.
8507         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
8508         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
8509         (gnus-group-prepare-topics, gnus-topic-update-topic)
8510         (gnus-topic-change-level, gnus-topic-catchup-articles)
8511         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
8512         Use inhibit-read-only.
8513         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
8514         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
8515         * lisp/textmodes/reftex-index.el (reftex-display-index):
8516         Use cursor-intangible-mode if available.
8517         (reftex-index-post-command-hook): Check cursor-intangible.
8518         * lisp/textmodes/reftex-toc.el (reftex-toc):
8519         Use cursor-intangible-mode if available.
8520         (reftex-toc-recenter, reftex-toc-post-command-hook):
8521         Check cursor-intangible.
8522         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
8523         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
8524         (sgml-tags-invisible): Use with-silent-modifications and
8525         inhibit-read-only.  Enable cursor-sensor-mode.
8526         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
8527         calling convention of cursor-sensor-functions.
8528         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
8529         (table-point-entered-cell-hook, table-point-left-cell-hook):
8530         Don't autoload.
8531         (table-cell-entered-state): Remove var.
8532         (table--put-cell-point-entered/left-property)
8533         (table--remove-cell-properties):
8534         Use cursor-sensor-functions rather than point-entered/left.
8535         (table--point-entered/left-cell-function): Merge
8536         table--point-entered-cell-function and table--point-left-cell-function
8537         and adjust to calling convention of cursor-sensor-functions.
8539         Update ldef-boots.el
8541         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
8543         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
8545         Collapse successive char deletions in the undo log
8546         * src/cmds.c (remove_excessive_undo_boundaries): New function,
8547         extracted from Fself_insert_command.
8548         (Fdelete_char, Fself_insert_command): Use it.
8549         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
8550         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
8552         xterm and OSC 52: Add NEWS entry, and tweak the code
8553         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
8554         top-level.
8555         (terminal-init-xterm-activate-set-selection): Set a terminal property.
8556         (xterm--set-selection): Use it instead of checking the value of
8557         `terminal-initted'.  Don't use string-bytes.
8559 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
8561         xterm.el: Implement OSC-52 functionality for setting the X selection
8562         * lisp/term/xterm.el (xterm-max-cut-length): New var.
8563         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
8564         (terminal-init-xterm, xterm--version-handler): Use them.
8566 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8568         Remove left over code from when we used an obsolete/loaddefs.el file
8569         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
8570         we used an obsolete/loaddefs.el file.
8572         * cedet/semantic/fw.el: Use declare.
8573         * cedet/semantic/fw.el (semantic-exit-on-input)
8574         (semanticdb-without-unloaded-file-searches): Use declare.
8575         (semantic-fw-add-edebug-spec): Remove.
8577         (completion-lisp-mode-hook): Use completion-separator-chars
8578         * lisp/completion.el (completion-lisp-mode-hook):
8579         Use completion-separator-chars rather than local key binding.
8581         * src/*.c: Set deactivate_mark buffer-locally
8582         (Bug#20260)
8583         * src/insdel.c (prepare_to_modify_buffer_1):
8584         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
8585         buffer-locally.
8587 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8589         python.el: Keep symmetry on sexp navigation with parens
8590         (Bug#19954)
8591         * lisp/progmodes/python.el
8592         (python-nav--forward-sexp): Add argument skip-parens-p.
8593         (python-nav-forward-sexp, python-nav-backward-sexp)
8594         (python-nav-forward-sexp-safe)
8595         (python-nav-backward-sexp-safe): Use it.
8596         * test/automated/python-tests.el
8597         (python-nav-forward-sexp-1): Fix test.
8599 2015-04-12  João Távora  <joaotavora@gmail.com>
8601         Don't use `setq-local' in Gnus code
8602         This might break upstream builds with older Emacsen
8603         * lisp/gnus/message.el (message-mode): Use `set' and
8604         `make-local-variable' instead of `setq-local'.
8606 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8608         Update Makefile.in's .PHONY dependencies
8609         * Makefile.in (change-history-commit, master-branch-is-current)
8610         (no-ChangeLog): Now phony.
8612         Remove configure's --with-mmdf option
8613         * configure.ac (MAIL_USE_MMDF): Remove.
8614         * etc/NEWS: Document this.
8615         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
8616         (Bug#20308)
8618         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
8619         That way, 'make install' won't think it's a man page.
8620         Reported by Ashish SHUKLA in:
8621         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
8623         Improve 'make change-history' prereq tests
8624         * Makefile.in (gen_origin): Fix to match what's in the master branch.
8625         (no-ChangeLog, master-branch-is-current): New rules.
8626         (change-history): Depend on them, to avoid similar future problems.
8627         Escape the local-variables string to pacify Emacs when editing
8628         Makefile.in.
8630 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8632         * test/automated/package-test.el (with-package-test): Kill Packages buffer
8634         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
8635         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
8636         "Upgrade" last, and use capitalized instead of all-caps.
8638         * lisp/emacs-lisp/package.el: Completely silence async operations
8639         (package--make-autoloads-and-stuff): Silence autoloads.
8640         (package--save-selected-packages): New function, silences
8641         `customize-save-variable'.
8642         (package--user-selected-p, package-install-from-buffer)
8643         (package-delete, package-install): Use it.
8644         (package-install-from-archive)
8645         (package-menu--perform-transaction): Silence.
8646         (package-menu-execute): Feedback when operation starts.
8648         Use delay-mode-hooks when visiting the init-file
8649         * lisp/emacs-lisp/package.el (package--ensure-init-file):
8650         delay-mode-hooks
8651         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
8653         * lisp/files.el: Only message when saving if save-silently is nil
8654         (save-silently): New variable.
8655         (files--message): New function.
8656         (find-file-noselect, save-buffer, basic-save-buffer)
8657         (basic-save-buffer-2, save-some-buffers, not-modified)
8658         (append-to-file): Use them.
8660 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
8662         Support debug declarations in pcase macros
8663         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
8664         (pcase-UPAT): Use it.  Remove "`".
8665         (pcase--edebug-match-macro): New function.
8666         (pcase-defmacro): Support debug declarations.
8667         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
8668         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
8669         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
8671         pcase.el: Edebug support for `app' and vector patterns
8672         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
8673         (pcase-UPAT): Use it. Support `app' patterns.
8674         (pcase-QPAT): Support vector patterns.
8676         edebug.el: Disambiguate vector specifications
8677         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
8678         `(vector ...)' as a vector specification, not as a sublist.
8680         (gnus-summary-refer-thread): Don't clobber unread articles
8681         This fixes a bug where `A T' causes "random" articles to become marked
8682         as read.
8683         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
8684         gnus-newsgroup-unreads remains sorted.
8686         mouse-sel.el: Fix mouse-sel-get-selection-function
8687         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
8688         Use gui--last-selected-text-primary instead of no longer existing
8689         gui-last-selected-text.
8691         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
8693         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
8695 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8697         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
8699         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
8701         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
8702         (byte-compile--interactive): New var.
8703         (byte-compile--message): New function.
8704         (byte-compile-log-1, byte-force-recompile)
8705         (byte-recompile-directory, byte-recompile-file)
8706         (byte-compile-file, compile-defun)
8707         (byte-compile-file-form-defmumble, byte-compile)
8708         (byte-compile-file-form-defalias, display-call-tree): Use it.
8710         * lisp/files.el: Don't message when nothing happened
8711         (save-some-buffers, basic-save-buffer): Before messaging to say
8712         "nothing was saved" check if (called-interactively-p 'any).
8714 2015-04-12  João Távora  <joaotavora@gmail.com>
8716         Summary: Improve sexp-based movement in message-mode
8717         Works by giving citations and smileys a different syntax.  This helps
8718         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
8719         sexp-based movement.
8720         * lisp/gnus/message.el (message--syntax-propertize): New function.
8721         (message-mode): Set syntax-related vars.
8722         (message-smileys): New variable.
8723         * test/automated/message-mode-tests.el: New file
8725 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8727         Use bool for boolean in window.c
8728         * src/window.c: Omit unnecessary static function decls.
8729         (adjust_window_count, select_window, Fselect_window)
8730         (window_body_width, Fwindow_body_height, Fwindow_body_width)
8731         (set_window_hscroll, check_window_containing, Fwindow_at)
8732         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
8733         (unshow_buffer, replace_window, recombine_windows)
8734         (add_window_to_list, candidate_window_p, next_window)
8735         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
8736         (Fget_buffer_window, Fdelete_other_windows_internal)
8737         (replace_buffer_in_windows_safely, set_window_buffer)
8738         (Fset_window_buffer, Fforce_window_update)
8739         (temp_output_buffer_show, make_parent_window)
8740         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
8741         (resize_frame_windows, Fsplit_window_internal)
8742         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
8743         (Fresize_mini_window_internal, mark_window_cursors_off)
8744         (window_scroll, window_scroll_pixel_based)
8745         (window_scroll_line_based, scroll_command, Fscroll_other_window)
8746         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
8747         (Fmove_to_window_line, Fset_window_configuration)
8748         (delete_all_child_windows, apply_window_adjustment)
8749         (set_window_fringes, set_window_scroll_bars)
8750         (Fset_window_vscroll, foreach_window, foreach_window_1)
8751         (compare_window_configurations, Fcompare_window_configurations):
8752         Prefer 'bool', 'true', and 'false' for booleans.
8753         * src/window.h (WINDOW_MODE_LINE_LINES)
8754         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
8756 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8758         Speed up byte-compilation and autoload generation by avoiding mode-hooks
8759         This prevents emacs-lisp-mode-hook from being run everytime an
8760         autoload file is generated, which can account for a fraction of
8761         package installation time depending on the hooks the user has
8762         configured.
8763         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
8764         * lisp/emacs-lisp/autoload.el (autoload-find-file)
8765         (autoload-find-generated-file): Use delay-mode-hooks.
8767         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
8768         (package-menu-refresh): Respect async and do new package checking.
8769         (list-packages): Use `package-menu-refresh' instead of repeating code.
8771         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
8772         (package--quick-help-keys): New variable.
8773         (package--prettify-quick-help-key): New function.
8774         (package-menu-quick-help): Use it.
8776         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
8777         (package--build-compatibility-table): require finder
8779         * test/automated/package-test.el: Fix new test
8781         * lisp/emacs-lisp/package.el: Silence async operations
8782         (package--silence): New variable.
8783         (package--message): New function.
8784         (package-import-keyring, package-refresh-contents)
8785         (package-compute-transaction, package-install, package-delete)
8786         (package-menu--perform-transaction, package-menu-execute): Use it.
8788         * test/automated/package-test.el: Test async functionality
8789         (package-test-update-archives-async): New test
8791 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8793         Utilize `make-process' in epg.el
8794         * lisp/epg.el (epg-error-output): Abolish.
8795         (epg-context): New slot `error-buffer'.
8796         (epg--start): Use `make-process' and `make-pipe-process'.
8797         (epg--process-filter): Remove code separating stderr from stdout.
8798         (epg-wait-for-completion): Simplify `error-output' handling.
8799         (epg-reset): Dispose error buffer.
8801 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8803         * .gitignore: Ignore doc temps and outputs.
8805         Port commit-msg to MSYS Bash+Gawk
8806         See Eli Zaretskii in:
8807         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
8808         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
8809         (cent_sign, print_at_sign, at_sign): Revert previous change.
8810         (print_at_sign): Prepend "BEGIN".
8811         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
8813         Port commit-msg to broken MS-Windows shell
8814         * build-aux/git-hooks/commit-msg (cent_sign):
8815         Just use UTF-8 here rather than ASCII + printf, as the latter fails
8816         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
8817         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
8819 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
8821         Support GnuTLS v3.4 and later on MS-Windows
8822         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
8823         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
8824         GnuTLS DLL to load according to value of libgnutls-version.
8825         (Bug#20294)
8827 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8829         Minor quoting etc. fixes to misc manuals
8830         Fix some minor quoting and spacing issues.  Distinguish more
8831         clearly among grave accent and apostrophe (which are ASCII) and
8832         single quote (which is not).  Prefer the standard terms
8833         "apostrophe" and "grave accent" to alternative names that can be
8834         confusing.  Use apostrophes to single-quote ASCII text.
8835         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
8836         rather than approximating it in ASCII with grave accent.
8838 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8840         Respect more keyword args in `make-process'
8841         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
8842         keywords as documented.
8844 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
8846         Extract ChangeLog entries when committing a directory
8847         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
8848         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
8849         Add a FIXME comment.
8850         (log-edit-changelog-entries): Extract from
8851         `log-edit-changelog-entries', handle FILE being a directory
8852         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
8854 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8856         Fix problems found by --enable-gcc-warnings
8857         * src/process.c (create_process, Fmake_pipe_process)
8858         (Fmake_network_process): Omit unused locals.
8860         Fix commit-msg to handle scissors lines
8861         * build-aux/git-hooks/commit-msg:
8862         Ignore every line after a scissors line, such as a line generated
8863         by 'git commit -v'.  Problem reported by Johan Bockgård in:
8864         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
8866         port commit-msg to Gawk 3.0.4 (1999)
8867         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
8868         (print_at_sign, at_sign): New vars.  Use them to avoid problems
8869         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
8870         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8872         Have commit-msg report commit failure
8873         * build-aux/git-hooks/commit-msg: If the commit is aborted,
8874         say so.  Simplify by doing this at the end.  Problem reported
8875         by Eli Zaretskii in:
8876         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8878 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8880         Clean up LDAP Configuration section of EUDC manual
8881         * doc/misc/eudc.texi: Combine indices.
8882         (LDAP Configuration): Use command markup.  Add index entries.
8883         Change formatting.  Wrap long lines.  Add noindent markup.
8885 2015-04-10  Daiki Ueno  <ueno@gnu.org>
8887         Add facility to collect stderr of async subprocess
8888         * src/w32.h (register_aux_fd): New function declaration.
8889         * src/w32.c (register_aux_fd): New function.
8890         * src/process.h (struct Lisp_Process): New member stderrproc.
8891         * src/process.c (PIPECONN_P): New macro.
8892         (PIPECONN1_P): New macro.
8893         (Fdelete_process, Fprocess_status, Fset_process_buffer)
8894         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
8895         (Fcontinue_process): Handle pipe process specially.
8896         (create_process): Respect p->stderrproc.
8897         (Fmake_pipe_process): New function.
8898         (Fmake_process): Add new keyword argument :stderr.
8899         (wait_reading_process_output): Specially handle a pipe process when
8900         it gets an EOF.
8901         (syms_of_process): Register Qpipe and Smake_pipe_process.
8902         * doc/lispref/processes.texi (Asynchronous Processes): Document
8903         `make-pipe-process' and `:stderr' keyword of `make-process'.
8904         * lisp/subr.el (start-process): Suggest to use `make-process' handle
8905         standard error separately.
8906         * test/automated/process-tests.el (process-test-stderr-buffer)
8907         (process-test-stderr-filter): New tests.
8908         * etc/NEWS: Mention new process type `pipe' and its usage with the
8909         `:stderr' keyword of `make-process'.
8911 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8913         Minor quoting etc. fixes to lispref manual
8914         * doc/lispref/tips.texi (Documentation Tips):
8915         Distinguish more clearly among grave accent, apostrophe,
8916         and single quote.
8917         * doc/lispref/README, doc/lispref/buffers.texi:
8918         * doc/lispref/commands.texi, doc/lispref/control.texi:
8919         * doc/lispref/customize.texi, doc/lispref/display.texi:
8920         * doc/lispref/elisp.texi, doc/lispref/files.texi:
8921         * doc/lispref/frames.texi, doc/lispref/hash.texi:
8922         * doc/lispref/help.texi, doc/lispref/internals.texi:
8923         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
8924         * doc/lispref/markers.texi, doc/lispref/modes.texi:
8925         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
8926         * doc/lispref/os.texi, doc/lispref/positions.texi:
8927         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
8928         * doc/lispref/text.texi, doc/lispref/tips.texi:
8929         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
8930         Use American-style double quoting in ordinary text,
8931         and quote 'like this' when single-quoting in ASCII text.
8932         Also, fix some minor spacing issues.
8934 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
8936         Handle symlinked test directory in tramp-tests.el
8937         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
8938         (tramp--test-check-files): Use `file-truename' for directories.
8940 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
8942         Fix 'recenter' when visual-line-mode is turned on
8943         * src/window.c (Frecenter): Use the same code for GUI and TTY
8944         frames alike; use vmotion only for "initial" frames.  This is
8945         because vmotion doesn't support visual-line-mode.  Rewrite the
8946         'iarg >= 0' case to use move_it_* functions instead of using
8947         vmotion, for the same reason.  Fix the clipping of the argument
8948         value to support scroll-margin in all cases and avoid unwarranted
8949         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
8950         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
8951         which see.
8953 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8955         * abbrev.el (define-abbrev-table): Refine last change.
8957         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
8958         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
8959         use of c[ad]+r", so as to keep the "cl-" prefix on all
8960         cl-lib definitions.
8962         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
8964         * lisp/cedet/semantic: Remove some dead code
8965         * lisp/cedet/semantic/util-modes.el
8966         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
8967         any more.
8968         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
8969         not supported any more.
8970         (semantic-safe): Use `declare'.
8971         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
8972         (semantic-tag-intangible-p): Remove unused functions.
8973         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
8974         Remove unused function.
8976         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
8977         (gnus-article-hide-text, gnus-article-unhide-text)
8978         (gnus-article-unhide-text-type): Remove special handling of
8979         `intangible' since that property is not used any more.
8980         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
8982 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8984         Use the VC root in `log-edit-listfun'
8985         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
8986         `log-edit-listfun'.
8988 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
8990         Fix description of Unix time, mention new function.
8991         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
8992         Unix time.
8993         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
8994         (Basic Operations on Units): Mention `calc-convert-exact-units'.
8996 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
8998         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
9000 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
9002         (log-edit-insert-changelog-entries): Don't add newline after the last entry
9003         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
9004         Don't add newline after the last entry.
9006 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
9008         css-mode.el: Add "not" pseudo-class
9009         (Bug#20267)
9010         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
9011         list of CSS pseudo-classes.
9013 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9015         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
9017 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
9019         Stop messing with the EMACS env var
9020         * misc.texi (Interactive Shell): Remove description of EMACS env var.
9022 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9024         Adapt 'make change-history' to coding cookie
9025         * Makefile.in (change-history): Adjust to change of format of
9026         ChangeLog file, which now has a coding cookie before an indented
9027         copyright notice.
9029 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9031         Adapt 'make change-history' to coding cookie
9032         * Makefile.in (change-history): Adjust to change of format of
9033         ChangeLog file, which now has a coding cookie before an indented
9034         copyright notice.
9036         gitlog-to-changelog coding cookie and mv -i
9037         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
9038         for copyright notice prototype, so that we get a proper "coding:"
9039         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
9040         existing ChangeLog.  Problems reported by Eli Zaretskii in:
9041         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
9043         Merge from gnulib
9044         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
9045         2015-04-09 gitlog-to-changelog: port to MS-Windows
9047 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
9049         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
9050         (Bug#20212)
9052 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9054         Stop messing with the EMACS env var
9055         (Bug#20202)
9056         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
9057         * lisp/comint.el (comint-exec-1):
9058         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
9059         * lisp/progmodes/compile.el (compilation-start): Same and bring
9060         INSIDE_EMACS's format in line with other users.
9062         css-mode.el (css-smie-rules): Fix indentation after complex selectors
9063         (Bug#20282)
9064         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
9065         inner structure of selectors.
9067 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
9069         python.el: Indent docstring lines to base-indent
9070         (Bug#19595)
9071         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
9072         an initial patch.
9073         * lisp/progmodes/python.el
9074         (python-indent-context): Add :inside-docstring context.
9075         (python-indent--calculate-indentation): Handle :inside-docstring.
9076         (python-indent-region): Re-indent docstrings.
9077         * test/automated/python-tests.el (python-indent-region-5)
9078         (python-indent-inside-string-2): Fix tests.
9080         python.el: Increase native completion robustness
9081         (Bug#19755)
9082         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
9083         this and providing useful ideas.
9084         * lisp/progmodes/python.el
9085         (python-shell-completion-native-output-timeout): Increase value.
9086         (python-shell-completion-native-try-output-timeout): New var.
9087         (python-shell-completion-native-try): Use it.
9088         (python-shell-completion-native-setup): New readline setup avoids
9089         polluting current context, ensures output when no-completions are
9090         available and includes output end marker.
9091         (python-shell-completion-native-get-completions): Trigger with one
9092         tab only.  Call accept-process-output until output end is found or
9093         python-shell-completion-native-output-timeout is exceeded.
9095 2015-04-08  Samer Masterson  <samer@samertm.com>
9097         * lisp/eshell: Make backslash a no-op in front of normal chars
9098         (Bug#8531)
9099         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
9100         (eshell-parse-backslash): Return escaped character after backslash
9101         if it is special.  Otherwise, if the backslash is not in a quoted
9102         string, ignore the backslash and return the character after; if
9103         the backslash is in a quoted string, return the backslash and the
9104         character after.
9105         * test/automated/eshell.el (eshell-test/escape-nonspecial)
9106         (eshell-test/escape-nonspecial-unicode)
9107         (eshell-test/escape-nonspecial-quoted)
9108         (eshell-test/escape-special-quoted): Add tests for new
9109         `eshell-parse-backslash' behavior.
9111 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
9113         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
9114         after the file name.
9115         (Bug#20276)
9117 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
9119         Minor quoting etc. fixes to Emacs manual
9120         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
9121         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
9122         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
9123         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
9124         * doc/emacs/indent.texi, doc/emacs/macos.texi:
9125         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
9126         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
9127         * doc/emacs/search.texi, doc/emacs/trouble.texi:
9128         * doc/emacs/vc1-xtra.texi:
9129         Use American-style double quoting in ordinary text,
9130         and quote 'like this' when single-quoting in ASCII text.
9131         Also, fix some minor spacing issues.
9133         Minor quoting etc. fixes to elisp intro
9134         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
9135         American-style double quoting in ordinary text.  In ASCII text,
9136         consistently quote 'like this' instead of `like this', unless
9137         Emacs requires the latter.
9139 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
9141         * CONTRIBUTE: Mention log-edit-insert-changelog.
9143         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
9145 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
9147         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
9149 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
9151         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
9152         (Bug#20270)
9153         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
9154         Fix inheritance of initargs.
9156 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
9158         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
9159         while dowloading information.
9161         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
9162         (package--ensure-init-file): Check file contents before visiting.
9163         (package-initialize): Call it.
9164         (package-install-from-buffer, package-install): Don't call it.
9166 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
9168         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
9169         (Bug#17517)
9171 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
9173         Fix nasty scoping bug in tramp-cache.el
9174         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
9176 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
9178         Add notice to visual commands section
9179         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
9180         such as git call less with its -F option which omits pagination if
9181         the contents is less than one page long.  This interferes with
9182         eshell's visual (sub-)commands.
9184 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
9186         ffap: Support environment variable expansion in file names
9187         (Bug#19839)
9188         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
9189         environment variable expansion in file names.
9191 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9193         Prefer double-quote to accent-grave in man pages
9195 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
9197         (Bug#20257)
9198         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
9200 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
9202         Update etc/PROBLEMS.
9203         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
9204         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
9205         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
9206         respectively); other minor updates and tweaks.  (Bug#20011)
9208 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9210         Add doc strings for some Isearch state vars
9211         * lisp/misearch.el (multi-isearch-buffer-list)
9212         (multi-isearch-file-list): Add doc strings.
9213         (Bug#20232)
9215 2015-04-07  Alan Mackenzie  <acm@muc.de>
9217         Always mark "<" and ">" in #include directives with text properties.
9218         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
9219         matcher" with an invocation of c-make-font-lock-search-function to allow
9220         fontification when there's no trailing space on an "#include <..>" line.
9222 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
9224         Generate a ChangeLog file from commit logs
9225         * .gitignore: Add 'ChangeLog'.
9226         * build-aux/gitlog-to-changelog: New file, from Gnulib.
9227         * build-aux/gitlog-to-emacslog: New file.
9228         * CONTRIBUTE: Document the revised workflow.
9229         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
9230         instead of just special cases.
9231         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
9232         (ChangeLog, unchanged-history-files, change-history)
9233         (change-history-commit): New rules.
9234         * admin/admin.el (make-manuals-dist--1):
9235         Don't worry about doc/ChangeLog.
9236         * admin/authors.el: Add a FIXME.
9237         * admin/make-tarball.txt:
9238         * lisp/calendar/icalendar.el:
9239         * lisp/gnus/deuglify.el:
9240         * lisp/obsolete/gulp.el:
9241         * lwlib/README:
9242         Adjust to renamed ChangeLog history files.
9243         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
9244         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
9245         Remove obsolete discussion of merging ChangeLog files.
9246         New section "Maintaining ChangeLog history".
9247         * build-aux/git-hooks/pre-commit:
9248         Reject attempts to commit files named 'ChangeLog'.
9249         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
9250         * make-dist: Make and distribute top-level ChangeLog if there's a
9251         .git directory.  Distribute the new ChangeLog history files
9252         instead of scattered ChangeLog files.  Distribute the new files
9253         gitlog-to-changelog and gitlog-to-emacslog.
9254         (Bug#19113)
9256         Rename ChangeLogs for gitlog-to-changelog
9257         This patch was implemented via the following shell commands:
9258         find * -name ChangeLog |
9259         sed 's,.*,git mv & &.1,
9260         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
9261         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
9262         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
9263         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
9264         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
9265         sh
9266         git commit -am"[this commit message]"
9268 This file records repository revisions from
9269 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
9270 commit e1e33f201698229ae30a29c7008c3f6a3635d71f (inclusive).
9271 See ChangeLog.1 for earlier changes.
9273 ;; Local Variables:
9274 ;; coding: utf-8
9275 ;; End:
9277   Copyright (C) 2015 Free Software Foundation, Inc.
9279   This file is part of GNU Emacs.
9281   GNU Emacs is free software: you can redistribute it and/or modify
9282   it under the terms of the GNU General Public License as published by
9283   the Free Software Foundation, either version 3 of the License, or
9284   (at your option) any later version.
9286   GNU Emacs is distributed in the hope that it will be useful,
9287   but WITHOUT ANY WARRANTY; without even the implied warranty of
9288   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9289   GNU General Public License for more details.
9291   You should have received a copy of the GNU General Public License
9292   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.