Merge from origin/emacs-24
[emacs.git] / ChangeLog.2
blobb8e1e38a5865a6af0fa771cb00a25e0ca5623e08
1 2015-06-13  Glenn Morris  <rgm@gnu.org>
3         Tweaks for getting repository version; a bit more like it was for bzr.
4         * lisp/version.el (emacs-repository-version-git)
5         (emacs-repository--version-git-1): New functions,
6         split from emacs-repository-get-version.
7         (emacs-repository-get-version): Make the second argument meaningful.
9         * lisp/startup.el (command-line-1): Inform if skipping relative
10         file names due to deleted PWD.
12         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
13         when starup directory is missing.  (Bug#18851)
14         (errno.h): Include it.
16 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
18         Better fix for documenting `X as "`X"
19         Fix suggested by Stefan Monnier.
20         * lisp/help-fns.el (help-fns--signature):
21         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
22         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
23         Don't treat `X specially, as help-fns--signature now handles this.
25 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
27         Improve the default fontset when Symbola is not installed
28         * lisp/international/fontset.el (setup-default-fontset): Only
29         prepend Symbola and FreeMono font specs for symbols and
30         punctuation; do not replace the default spec for them.  This
31         should have better results when Symbola/FreeMono are not
32         installed.  (Bug#20727)
34         Improve documentation of ':lang' in font specs
35         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
36         use of the ':lang' property of the font spec.
37         * doc/emacs/frames.texi (Fonts): Document the language names that
38         can be in the STYLE part of XLFD.
39         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
40         property.
42         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
44         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
46         Revert last change in fontset.el
47         * lisp/international/fontset.el (setup-default-fontset): Revert
48         the change "Configure Symbola font only if installed", since font
49         search is evidently not yet set up when this function is called.
50         (Bug#20727)
52 2015-06-12  Glenn Morris  <rgm@gnu.org>
54         Ensure early startup warnings are visible at the end.  (Bug#20792)
55         * lisp/emacs-lisp/warnings.el (display-warning):
56         If startup isn't complete, delay the warning.
57         * lisp/startup.el (normal-top-level, command-line):
58         Let display-warning automatically handle the needed delays.
59         Run delayed-warnings-hook.
61         * lisp/version.el (emacs-repository-get-version):
62         Avoid calling external executable if possible.  (Bug#20799)
64 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
66         Document `X as "`X", not as "(` X)"
67         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
68         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
70         * src/print.c (print_object): Minor simplification.
72 2015-06-12  Glenn Morris  <rgm@gnu.org>
74         * src/buffer.c (init_buffer): Add final newline to message.
76 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
78         Configure Symbola font only if installed
79         * lisp/international/fontset.el (setup-default-fontset):
80         Don't specify the Symbola font if it's not installed.
81         Likewise for FreeMono.  (Bug#20727)
83 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
85         Configure Symbola font only for symbols and punctuation
86         * lisp/international/fontset.el (setup-default-fontset): Leave
87         only symbols and punctuation in the fontset setup for Symbola
88         font; remove "Greek and Coptic" and "Cyrillic Supplement".
89         (Bug#20798)
91 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
93         Fix crash in fontset-info
94         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
95         non-nil.
97 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
99         Port to Solaris 10 sparc + Sun C 5.13
100         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
101         Adjust to process.c change.
102         * src/process.c (create_process): Declare volatile variables at
103         top level of this function, so that they're less likely to be
104         reused later in the function in the code executed by the vforked
105         child.  Do not declare locals used only in the vforked child, as
106         they might share memory with locals still live in the parent.
107         Instead, use the same variables in the child as in the parent.
108         This works around a subtle bug that causes a garbage collector
109         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
111 2015-06-12  Glenn Morris  <rgm@gnu.org>
113         * lisp/startup.el (normal-top-level): Don't let *Messages* get
114         a nil default-directory.
116 2015-06-11  Glenn Morris  <rgm@gnu.org>
118         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
120         Some progress towards starting with PWD deleted.  (Bug#18851)
121         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
122         * lisp/startup.el (normal-top-level, command-line-1):
123         * lisp/minibuffer.el (read-file-name-default):
124         Handle default-directory being nil.
126 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
128         Fix "not a tty" bug on Solaris 10
129         * configure.ac (PTY_OPEN): Define to plain 'open'
130         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
131         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
132         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
133         hosts that call grantpt which does its work via a setuid subcommand
134         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
135         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
136         seems relevant in that case too.
138 2015-06-11  Juri Linkov  <juri@linkov.net>
140         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
141         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
142         (Bug#20785)
144 2015-06-11  Glenn Morris  <rgm@gnu.org>
146         * lisp/international/characters.el (char-script-table): Fix typo.
148 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
150         Fix quoting of help for functions with odd names
151         While investigating Bug#20759, I discovered other quoting problems:
152         C-h f mishandled characters like backslash and quote in function names.
153         This fix changes the behavior so that 'C-h f pcase RET' now
154         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
155         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
156         in src/lread.c's read1 function says that the backslash will be
157         needed starting in Emacs 25, which implies that 'format' is
158         correct and the old pcase documention was wrong to omit the backslash.
159         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
160         * lisp/help-fns.el (help-fns--signature):
161         * lisp/help.el (help-add-fundoc-usage):
162         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
163         Use help--make-usage-docstring rather than formatting
164         help-make-usage.
165         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
166         Return raw docstring.
167         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
168         raw docstring.  Take more care to distinguish raw from cooked dstrings.
169         (describe-function-1): Let help-fns--signature substitute
170         command keys.
171         * lisp/help.el (help--docstring-quote): New function.
172         (help-split-fundoc): Use it, to quote funny characters more
173         systematically.
174         (help--make-usage): Rename from help-make-usage, since this
175         should be private.  Leave an obsolete alias for the old name.
176         (help--make-usage-docstring): New function.
177         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
179 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
181         * lisp/thingatpt.el (in-string-p): Revert last change,
182         since in-string-p is not used in thingatpt.el but only from outside.
183         Also, use lexical binding.
185 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
187         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
188         * test/automated/let-alist.el (let-alist-cons): Test it.
190 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
192         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
194 2015-06-10  Glenn Morris  <rgm@gnu.org>
196         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
198         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
199         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
200         * admin/gitmerge.el (gitmerge-commit-message):
201         Exclude "skipped" messages from ChangeLog once again.
203         Slight namespace cleanup for thingatpt.el.
204         * lisp/thingatpt.el (thing-at-point--in-string-p)
205         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
206         (thing-at-point--read-from-whole-string): Rename from
207         old versions without "thing-at-point--" prefix.
208         Keep old versions as obsolete aliases.  Update all uses.
210         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
211         Move requiring of finder from here...
212         (checkdoc-package-keywords): ... to here.
214         Use 'user-error' in a few calendar files.
215         * lisp/calendar/appt.el (appt-add):
216         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
217         (calendar-generate):
218         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
219         Replace 'error' with 'user-error'.
221         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
223         * lisp/files-x.el (add-file-local-variable):
224         Special-case 'lexical-binding'.  (Bug#20641)
226         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
227         No longer autoload.
228         * doc/misc/autotype.texi (Executables):
229         Undocument executable-self-display.
231         * lisp/progmodes/executable.el (executable-self-display):
232         Use non-obsolete tail syntax.  (Bug#20779)
233         (executable-self-display): Doc update.
235 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
237         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
238         (finder-known-keywords): Silence byte-compiler.
240 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
242         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
244         * lisp/progmodes/sh-script.el: Better handle nested quotes
245         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
246         (sh-font-lock-quoted-subshell): Make sure double quotes within single
247         quotes don't mistakenly end prematurely the surrounding string.
249         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
251 2015-06-09  Glenn Morris  <rgm@gnu.org>
253         * test/automated/Makefile.in (ELFILES): Sort.
255         * Makefile.in (SUBDIR_MAKEFILES):
256         * lwlib/Makefile.in (WARN_CFLAGS):
257         Use built-in Make functions rather than echo+sed.
259 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
261         Update char-script-table
262         * lisp/international/characters.el (char-script-table): Update
263         from Unicode 8.0 Draft.
265         Improve font selection for punctuation and other symbols
266         * src/fontset.c (face_for_char): If the character's script is
267         'symbol', and the font used for ASCII face has a glyph for it, use
268         the font for the ASCII face instead of searching the fontsets.
269         This comes instead of NS-specific code that used the current
270         face's font instead, which is now disabled due to undesirable
271         consequences.  (Bug#20727)
273 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
275         Skip past `#' to find BEG
276         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
277         past `#' to find BEG (bug#20771).
278         * test/automated/elisp-mode-tests.el
279         (elisp-completes-functions-after-hash-quote): New test.
281 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
283         Fix compilation warning/error in --without-x builds
284         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
285         code on HAVE_WINDOW_SYSTEM.
287         Improve the default fontset wrt symbols
288         * lisp/international/fontset.el (setup-default-fontset): Better
289         setup of fontset-default for symbols: use Symbola and FreeMono.
290         (Bug#20727)
292 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
294         Add new command checkdoc-package-keywords
295         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
296           defcustom.
297         (checkdoc-list-of-strings-p): Add doc.
298         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
299         non-nil, call `checkdoc-package-keywords'.
300         (checkdoc-get-keywords): New defun.
301         (checkdoc-package-keywords): New command. Warns if the current file
302         has package.el-style keywords that aren't in `finder-known-keywords'.
303         * etc/NEWS: Add entry.
305 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
307         Avoid crashes when key-binding is called from a timer
308         * src/keymap.c (Fkey_binding): Don't segfault if called with an
309         empty vector as KEY.  (Bug#20705)
311         Fix a thinko in arc-mode.el
312         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
313         non-Zip64 case.  (Bug#20769)
315 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
317         * lisp/emacs-lisp/package.el (package-delete): Make interactive
319 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
321         checkdoc.el (checkdoc-file): New function
322         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
323           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
324           to the standard output.
325         (bug#20754)
327 2015-06-07  Glenn Morris  <rgm@gnu.org>
329         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
331         * src/font.c (syms_of_font) <font-log>: Doc fix.
333         Remove the obsolete leading "*" from some C doc strings.
334         * src/coding.c (syms_of_coding):
335         * src/font.c (syms_of_font): Remove leading "*" from docs.
336         * lisp/cus-start.el (enable-character-translation): Add it.
338 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
340         Move gen_origin from program to data
341         That way, 'make change-history' needs to change only ChangeLog.2,
342         instead of having to change two files.
343         * ChangeLog.2: Add commit info for range that this file covers.
344         * Makefile.in (new_commit_regexp): New macro.
345         (change-history-nocommit): Simplify, by putting what used to be
346         the gen_origin value into the data (ChangeLog.2) rather than
347         into the program (gitlog-to-emacslog).
348         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
349         the input file (e.g., ChangeLog.2) rather than by having a
350         constant in the program.  Substitute it into the output.
352 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
354         Escape any quotes in the function name
355         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
356         function name (bug#20759).
358 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
360         Adapt 'struct timespec' to next release of MinGW runtime
361         * nt/inc/ms-w32.h (struct timespec): Don't declare if
362         __struct_timespec_defined is defined.
364 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
366         Merge from gnulib
367         This incorporates:
368         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
369         2015-06-05 stdio: Don't redefine gets when using C++
370         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
371         2015-06-02 file-has-acl: fix build on Mac OS X 10
372         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
373         2015-06-01 pthread_sigmask: discount system version if a simple macro
374         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
375         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
376         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
377         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
378         * lib/gnulib.mk: Regenerate.
380 2015-06-06  Juri Linkov  <juri@linkov.net>
382         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
383         before calling grep-compute-defaults because now it affects the
384         command lines computed in grep-compute-defaults. (Bug#20728)
386 2015-06-06  Glenn Morris  <rgm@gnu.org>
388         Address some compilation warnings.
389         * lisp/international/mule-cmds.el (w32-get-console-codepage)
390         (w32-get-console-output-codepage):
391         * lisp/progmodes/elisp-mode.el (xref-collect-references):
392         * lisp/version.el (cairo-version-string): Declare.
393         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
395 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
397         Fix display when a font claims large values of ascent and descent
398         This fixes bug#20628.
399         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
400         coordinate of a hollow cursor glyph when the original glyph's
401         ascent is too small.
402         (get_font_ascent_descent, normal_char_ascent_descent)
403         (normal_char_height): New functions.
404         (handle_single_display_spec, append_space_for_newline)
405         (calc_pixel_width_or_height, produce_stretch_glyph)
406         (calc_line_height_property): Use normal_char_ascent_descent and
407         normal_char_height.
408         (x_produce_glyphs): When font-global values of ascent and descent
409         are too large, use per-character glyph metrics instead, if
410         possible.  But don't allow the glyph row's ascent and descent
411         values become smaller than the values from the metrics of the
412         font's "normal" character.
413         * src/xftfont.c (xftfont_draw):
414         * src/w32font.c (w32font_draw): Correct the values of ascent and
415         descent used to draw glyphless characters' hex code in a box.
416         * src/xterm.c (x_draw_glyph_string_background):
417         * src/xdisp.c (x_produce_glyphs):
418         * src/w32term.c (x_draw_glyph_string_background):
419         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
420         to detect fonts whose global ascent and descent values are too
421         large to be used in layout decision, and redraw the background
422         when that happens.
423         * src/dispextern.h (FONT_TOO_HIGH): New macro.
424         (get_font_ascent_descent): Add prototype.
425         * src/xterm.c (x_new_font):
426         * src/w32term.c (x_new_font):
427         * src/nsterm.m (x_new_font):
428         * src/font.c (font_open_entity):
429         * src/composite.c (composition_gstring_width): Use
430         get_font_ascent_descent to obtain reasonable values for ascent and
431         descent of a font.
433 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
435         Add assertion in adjust_point_for_property
436         * src/keyboard.c (adjust_point_for_property): Add eassert for
437         current buffer being shown in selected window.
439 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
441         Replace uses of in-string-p; make it obsolete
442         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
443         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
445 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
447         Fix Dired display of an explicit list of files by ls-lisp.el
448         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
449         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
450         correct for when displaying individual files separately, not as
451         part of listing a directory, in which case these values are not
452         recomputed by 'ls-lisp-insert-directory', but used verbatim.
454         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
456 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
458         Do not adjust point in a non-selected window
459         * src/keyboard.c (command_loop_1): Do not adjust point when
460         current buffer is not shown in selected window (Bug#20590).
462         * etc/DEBUG: Mention 'maybe_call_debugger'
464 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
466         Fix a unit test for map.el
467         * test/automated/map-tests.el (test-map-let): Fix the test to work
468         with the new syntax of `map-let'.
470         * lisp/emacs-lisp/map.el (map-let): Better docstring.
472         Better syntax for the map pcase pattern
473         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
474         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
476         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
478         Fix a byte-compiler error in map-put and map-delete
479         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
480         called with a symbol.
482 2015-06-05  Glenn Morris  <rgm@gnu.org>
484         * admin/gitmerge.el (gitmerge-commit-message):
485         Revert to including "skipped" messages in ChangeLog once again.
487 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
489         Use string> instead of equiv lambda with string<
490         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
491         lambda with string<.
493 2015-06-05  Glenn Morris  <rgm@gnu.org>
495         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
496         (map--delete-array): Fix typo.
498         * test/automated/map-tests.el: Replace "assert" with "should".
500         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
501         (SUBDIRS_REL): Derive from SUBDIRS.
503         Tweak some build messages.
504         * lisp/Makefile.in ($(lisp)/loaddefs.el):
505         * lisp/cus-dep.el (custom-make-dependencies):
506         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
507         * lisp/international/titdic-cnv.el (batch-titdic-convert):
508         Don't say how to compile.
510 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
512         Omit U+0332 COMBINING LOW LINE in previous change
513         It turns out that it does not work on Ubuntu 15.04.
515         Fix transliteration of Bahá'í months
516         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
517         Improve quality of Latin transliteration of Bahá'í month names.
519         Fix curved quotes in a few places
520         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
521         The strings in question are not doc strings, so this partially
522         undoes the recent change that assumed they were doc strings.
523         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
524         * lisp/info.el (Info-finder-find-node):
525         Use curved quotes.
526         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
527         Also allow curved quotes in doc strings.
529 2015-06-04  Glenn Morris  <rgm@gnu.org>
531         * lisp/Makefile.in (AM_V_at): Add missing definition.
533         * lisp/Makefile.in: Quieten output a bit.
534         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
535         Don't echo directories, since the commands we invoke print them.
537         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
538         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
539         (SUBDIRS_SUBDIRS): New variables.
540         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
541         Remove.
542         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
543         (update-subdirs, compile-main, compile-clean):
544         Replace "setwins" usage with new "SUBDIRS" variables.
546         * lisp/vc/compare-w.el (compare-windows-get-window-function):
547         Fix :version tag.
549 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
551         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
553         Undo removal of x_clear_area call on expose for GTK3 or cairo.
554         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
555         exposed area.  (Bug#20677)
557 2015-06-04  Glenn Morris  <rgm@gnu.org>
559         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
561         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
563         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
564         Rename from quail-lao-update-translation, since lao.el defines that.
566 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
568         Handle new-style advice in find-funct
569         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
570         Handle new-style advice.  Return the symbol's function definition.
571         (Bug#20718)
572         (find-function-library): Update accordingly.
574 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
576         Merge branch 'map'
578         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
580         Add new function string-greaterp
581         * lisp/subr.el (string-greaterp): New function.  Also aliased to
582         `string>'.
583         * test/automated/subr-tests.el (string-comparison-test): Add unit
584         tests for `string>'and `string<'.
585         * src/fns.c (string-lessp): Better docstring.
587 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
589         Fix timezone-related functions on MS-Windows
590         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
591         'xputenv', even if no reallocation of tzvalbuf was necessary.
592         This fixes a bug in timezone-related functions on MS-Windows.
593         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
595 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
597         Don't pass raw directory name to 'error'
598         * lisp/files.el (basic-save-buffer-2): Avoid format error if
599         a directory name contains a string like "%s".
601 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
603         Override 'grep --color=always'
604         * lisp/progmodes/xref.el (xref-collect-matches):
605         Override --color=always in grep-find-template.
607 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
609         Fix error introduced recently in file-notify-tests.el
610         * test/automated/file-notify-tests.el
611         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
612         (file-notify--deftest-remote): Revert previous patch, not
613         necessary anymore.
615 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
617         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
618         Starting from a display string after a newline, point went to the
619         previous line.  Also, fix an inadvertent use of a buffer position
620         with FETCH_BYTE.  (Bug#20701)
622 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
624         Instrument file-notify-test.el in order to catch hydra error.
625         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
626         Wrap body by `ignore-case', in order to trap non-local errors.
628 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
630         Undo previous changes in non-toolkit scroll bar drawing.
631         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
632         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
634 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
636         * .gitignore: Also ignore doc/*/*/*.html and .ps.
638         Support quotes 'like this' in info files
639         This is possible when 'makeinfo --disable-encoding' is used
640         in Texinfo 5.
641         * lisp/calc/calc-help.el (calc-describe-thing):
642         * lisp/gnus/gnus-art.el (gnus-button-alist):
643         * lisp/info.el (Info-find-index-name):
644         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
645         Also support quotes 'like this'.
646         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
647         * lisp/finder.el (finder-font-lock-keywords): Remove var that
648         hasn't been used in years, instead of bothering to fix its quoting.
650 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
652         * .gitignore: Remove !test/etags/html-src/*.html.
653         It's no longer needed, since *.html was removed.  Sort.
655 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
657         Restore <D> instead of '.' in grep-find-template
658         * lisp/cedet/semantic/symref/grep.el
659         (semantic-symref-grep-use-template): Update a comment.
660         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
661         instead of '.' in grep-find-template (bug#20719).
662         (rgrep): Pass nil as the directory to rgrep-default-command.
663         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
664         default value for DIR.
665         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
666         workaround.
668 2015-06-02  Glenn Morris  <rgm@gnu.org>
670         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
672         * configure.ac (emacs_config_features): Add Cairo.
674         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
676 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
678         Ensure, that autorevert works for remote files in file-notify-tests.el
679         * test/automated/file-notify-tests.el (file-notify--test-desc):
680         New defvar.
681         (file-notify--test-remote-enabled)
682         (file-notify-test00-availability, file-notify-test01-add-watch)
683         (file-notify-test02-events): Use it.
684         (file-notify--test-event-test): Check proper descriptor.
685         (file-notify-test03-autorevert): Ensure, that
686         `visited-file-modtime' has changed.
687         (Bug#20392)
689 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
691         Add a pcase pattern for maps and `map-let' based on it
692         * lisp/emacs-lisp/map.el (map-let): New macro.
693         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
694         * test/automated/map-tests.el: New test for `map-let'.
696 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
698         Reuse rgrep mechanics in xref-find-regexp
699         * lisp/progmodes/grep.el (rgrep-default-command):
700         Extract from `rgrep'.
701         * lisp/progmodes/xref.el (xref-collect-references): Split from
702         `xref-collect-matches'.  Only handle the case of symbol search.
703         (xref-collect-matches): Instead of Semantic Symref, use
704         `rgrep-default-command', to take advantage of its directory and
705         file ignore settings.
706         (xref--collect-match): Remove the last argument, leaving the
707         regexp construction up to the caller.
708         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
709         Change to take the xref-collect- function to use as an argument.
710         (elisp-xref-find): Update accordingly.
711         * lisp/progmodes/etags.el (etags--xref-find-matches)
712         (etags-xref-find): Same.
714         Move xref-elisp-location to elisp-mode.el
715         * lisp/progmodes/xref.el (xref-elisp-location)
716         (xref-make-elisp-location, xref-location-marker): Remove here.
717         (xref--xref): Don't limit the type of the location slot.
718         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
719         Define as a cl-struct here.
720         (xref-location-marker): Move here.
722 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
724         Minor tweaks for .gitignore
725         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
726         ignore admin/notes/tags that might be ignored as TAGS on
727         case-insensitive filesystems.  (Bug#20710)
729 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
731         Generate curved quotes in ert doc
732         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
733         (ert-results-mode-menu)
734         (ert-results-pop-to-backtrace-for-test-at-point)
735         (ert-results-pop-to-messages-for-test-at-point)
736         (ert-results-pop-to-should-forms-for-test-at-point)
737         (ert-describe-test):
738         Quote ‘like this’, not `like this', when generating doc strings
739         and the like.
740         * test/automated/ert-x-tests.el (ert-test-describe-test):
741         Allow quoting ‘like this’.
743 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
745         Add test for previous commit
746         * test/automated/replace-tests.el: New file.
747         (query-replace--split-string-tests): Add test for previous commit.
749         Avoid confusion in query-replace history when replacing NUL chars
750         * lisp/replace.el (query-replace--split-string): New function.
751         (query-replace-read-from): Rely on the 'separator' property
752         instead of searching for the NUL character (Bug#20690).
754 2015-06-02  Glenn Morris  <rgm@gnu.org>
756         Merge from origin/emacs-24
757         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
759         * admin/gitmerge.el (gitmerge-commit-message):
760         Exclude "skipped" messages from ChangeLog.
762 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
764         Sync with Tramp repository
765         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
766         messages.
767         (tramp-handle-make-auto-save-file-name): When calling
768         `make-auto-save-file-name' internally, make sure it uses Unix-like
769         behavior, not Windows-like behavior.
770         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
771         the local case, because "chown" might fail on w32.
772         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
773         for XEmacs.
775 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
777         MS-Windows followup for batch stdout/stderr output changes
778         * lisp/international/mule-cmds.el (set-locale-environment): In
779         batch mode, use console codepages for keyboard and terminal
780         encoding.  (Bug#20545)
782         Update .gitattributes for DOS EOL files
783         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
784         CRLF end-of-line format.
786         NS equivalents of xterm.c and w32term.c changes
787         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
788         glyph string background also when the font in use claims
789         preposterously large global height value.  Helps to remove
790         artifacts left from previous displays when glyphless characters
791         are displayed as hex code in a box.
792         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
793         value for FRAME_LINE_HEIGHT, even when a font claims very large
794         value for its height.
796 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
798         Avoid grave accent quoting in stderr diagnostics
799         A few Emacs diagnostics go directly to stderr, and so can't easily
800         contain curved quotes (as non-UTF-8 locales might mishandle them).
801         Instead of bothering to add support for this rarity, reword the
802         diagnostics so that they don't use grave accent to quote.
803         * src/alloc.c (mark_memory): Fix comment.
804         * src/buffer.c (init_buffer):
805         * src/dispnew.c (init_display):
806         * src/emacs.c (main, sort_args):
807         * src/lread.c (dir_warning):
808         * src/term.c (init_tty):
809         * src/unexmacosx.c (unexec):
810         * src/xfns.c (select_visual):
811         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
812         Reword stderr diagnostics to avoid quoting `like this'.
813         * src/unexmacosx.c: Include errno.h.
814         * src/xfns.c (select_visual): Encode value for locale.
816 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
818         Treat batch stdout/stderr like standard display
819         Calls like (print FOO) could generate improperly encoded or
820         hard-to-read output if FOO contains characters outside the system
821         locale.  Fix this by treating batch stdout and stderr like
822         interactive standard display, when it comes to transliterating and
823         encoding characters (Bug#20545).
824         * doc/emacs/mule.texi (Communication Coding):
825         * doc/lispref/display.texi (Active Display Table):
826         * doc/lispref/nonascii.texi (Locales):
827         * etc/NEWS:
828         * src/coding.c (syms_of_coding):
829         * src/dispnew.c (syms_of_display):
830         Document this.
831         * src/print.c: Include disptab.h.
832         (printchar_to_stream): New function, with much of the guts of the
833         old Fexternal_debugging_output, except this one also uses the
834         standard display table.
835         (printchar, strout, Fexternal_debugging_output): Use it.
837 2015-05-31  Glenn Morris  <rgm@gnu.org>
839         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
841 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
843         Remove unused DEFSYMs
844         Remove DEFSYMs that aren't used at the C level.  Also:
845         * src/decompress.c (Qzlib_dll):
846         * src/font.c (Qunicode_sip):
847         * src/frame.c (Qtip_frame):
848         * src/ftfont.c (Qserif):
849         * src/gnutls.c (Qgnutls_dll):
850         * src/xml.c (Qlibxml2_dll):
851         Move from here ...
852         * src/w32fns.c (syms_of_w32fns): ... to here,
853         as these are used only on MS-Windows.
855 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
857         Use another default value for tramp-histfile-override
858         * lisp/net/tramp-sh.el (tramp-histfile-override):
859         Use ".tramp_history" as default.
860         Fixes: debbugs:#20446
862 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
864         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
866 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
868         * etc/NEWS: Add an entry about map.el
870         Improve the docstring of functions in map.el
871         Since a map is not a data structure but a concept, adding information
872         about the possible types of maps can be useful information.
873         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
874         each public function.
876 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
878         Faster implementation of map-empty-p
879         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
880         specific tests depending on the type of the map.
882         * lisp/emacs-lisp/map.el: Better docstrings.
884 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
886         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
888 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
890         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
892         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
894         Fix a false negative in `map-elt' with alists and values being nil
895         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
896         found but its associated value is nil, do not return the default
897         value.
898         * test/automated/map-tests.el: Add a regression test.
900 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
902         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
904         Do not signal an error when trying to delete a key from an array
905         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
906         the key is present to avoid signaling an error.
907         * test/automated/map-tests.el: Add a test for deleting non-existing
908         keys from maps.
910         * lisp/emacs-lisp/map.el: Better docstring.
912         Minor improvement in map-elt.
913         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
914         doing a lookup in arrays, but check the boundaries of the array
915         instead.
916         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
917         and a negative integer as key.
919 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
921         * test/automated/map-tests.el: Refactoring of test methods.
923         * test/automated/map-tests.el: Renamed from map-test.el.
925 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
927         * lisp/emacs-lisp/map.el (map-into): Better error message.
929         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
931         Throw an error when converting a map into an unknown map type
932         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
933         * test/automated/map-test.el: Add a regression test.
935         New library map.el similar to seq.el but for mapping data structures.
936         * test/automated/map-test.el: New file.
937         * lisp/emacs-lisp/map.el: New file.
939 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
941         Make sure there's no explicit tag name
942         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
943         there's no explicit tag name (bug#20629).
945 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
947         Remove format2
948         * src/editfns.c, src/lisp.h (format2): Remove.
949         It is more trouble than it's worth, now that we have CALLN.
950         This is just a minor refactoring.
951         * src/buffer.c (Fkill_buffer):
952         * src/dbusbind.c (XD_OBJECT_TO_STRING):
953         * src/fileio.c (barf_or_query_if_file_exists):
954         Adjust to format2 going away.
956         Don't misencode C-generated messages
957         Also, be more consistent about calls to 'Fmessage' vs 'message'.
958         * src/alloc.c (Fgc_status):
959         Prefer AUTO_STRING to build_string for Fmessage call.
960         * src/data.c (Fmake_variable_buffer_local)
961         (Fmake_local_variable, Fmake_variable_frame_local):
962         * src/doc.c (store_function_docstring):
963         Use Fmessage, not message, since the argument can contain
964         non-ASCII characters, and this can cause the resulting message
965         to be incorrectly encoded for the current environment.
966         * src/fns.c (maybe_resize_hash_table):
967         * src/xselect.c (x_clipboard_manager_save_all):
968         Use message, not Fmessage, since Fmessage's power isn't needed here.
969         * src/process.c (Fmake_network_process): Reword message to avoid %s.
970         * src/xdisp.c (vmessage): Document restrictions on message contents.
971         (message_nolog) [false]: Remove unused code.
973         Use \r rather than ^M in string literals
974         This is less likely to cause problems on platforms that
975         use CRLF (or CR!) termination for lines.
977         Update .gitattributes to match current sources
978         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
979         * .gitattributes: Accommodate tests that insist on DOS format.
980         Remove test/automated/data/decompress/foo-gzipped.
981         Add etc/e/eterm-color.
983 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
985         Document 'face-ignored-fonts'
986         * doc/emacs/mule.texi (Modifying Fontsets): Document
987         face-ignored-fonts.  (Bug#20628)
989         Add etags test for the new -Q option
990         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
991         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
992         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
993         test-case changes below.
994         * test/etags/ETAGS.good_6: New file.
995         * test/etags/cp-src/x.cc: New file.
996         * test/etags/Makefile (CPSRC): Add x.cc.
997         (check): Add one more test, for -Q.
999 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
1001         Use list for the tags completion table, not obarray
1002         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
1003         list instead of an obarray
1004         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
1005         (tags-completion-table): Combine those lists.
1006         (tags-completion-table): Update the docstring.
1008 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
1010         Restore EOL format testing in etags
1011         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
1012         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
1013         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
1014         test-case changes below.
1015         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
1016         * test/etags/cp-src/c.C (B): Add back stray CR character.
1017         * test/etags/c-src/dostorture.c: Add back.
1018         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
1020 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
1022         Declare Emacs on MS-Windows to be DPI-aware
1023         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
1024         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
1025         This avoids Windows entering compatibility mode for Emacs,
1026         which causes fonts to look less nice.
1028 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
1030         Improve Tramp traces.
1031         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
1032         * lisp/net/tramp.el (tramp-debug-message): Use it.
1034 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
1036         backup-buffer minor reworking of internals
1037         * lisp/files.el (backup-buffer): Rework to avoid a couple of
1038         unused locals inadvertently introduced in the previous change.
1040         backup-buffer now reports .emacs.d/%backup% ills
1041         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
1042         fails due to disk space exhaustion or whatever, do not pretend
1043         that it succeeded.  More generally, do a better job of checking
1044         for I/O failures, and limit the scope of the condition-case to
1045         just the operations where file errors should be caught and ignored
1046         (Bug#20595).  Also, don't bother trying to delete later backups if
1047         an earlier deletion fails, as this is a sign of trouble and it's
1048         better to stop when there's trouble.
1050         copy-file now truncates output after writing
1051         * src/fileio.c (Fcopy_file): Truncate output after writing rather
1052         than before.  This is more likely to work than truncation before
1053         writing, if the file system is out of space or the user is over
1054         disk quota (Bug#20595).  Also, check for read errors.
1056 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
1058         * lisp/emacs-lisp/package.el: Don't load from parent dir
1059         (package-load-all-descriptors): Don't load descriptors from
1060         directories above the package directories.
1062 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1064         Merge from gnulib
1065         This incorporates the following (Bug#20681):
1066         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
1067         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
1068         * lib/set-permissions.c: Copy from gnulib.
1070 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
1072         Improve Tramp traces.
1073         * lisp/net/tramp.el (tramp-call-process-region): New defun.
1074         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
1076 2015-05-29  Glenn Morris  <rgm@gnu.org>
1078         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
1080 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
1082         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
1083         The signature was changed in the cairo branch, merged on 2015-05-23.
1084         This oversight broke compiling only the non-toolkit X version.
1086 2015-05-29  Samer Masterson  <samer@samertm.com>
1088         * doc/lispref/os.texi: Update initial-buffer-choice docs.
1090 2015-05-29  Glenn Morris  <rgm@gnu.org>
1092         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
1093         Mark as an expected failure.
1095 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1097         Change package test to look for curved quotes
1098         * test/automated/package-test.el (package-test-describe-package)
1099         (package-test-signed): Search for curved single quotes as well as
1100         for grave accent and apostrophe.
1102 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
1104         gnus-art.el: Re-revert last change
1105         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
1106         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
1108 2015-05-28  Samer Masterson  <samer@samertm.com>
1110         Show files when `initial-buffer-choice' is non-nil
1111         * startup.el (command-line-1): When Emacs is given a file as an
1112         argument and `initial-buffer-choice' is non-nil, display both the file
1113         and `initial-buffer-choice'.  For more than one file, show
1114         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
1115         commands out of the command line arg parser.
1116         (initial-buffer-choice): Clarify docstring.
1118 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
1120         Fix last commit
1121         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
1122         (gnulib module qcopy-acl): Add back, as it is harmless.  This
1123         minimizes differences wrt lib/gnulib.mk.
1125         Fix the MS-Windows build as followup to gnulib update
1126         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
1127         set-permissions.c, as they don't compile on MinGW.
1128         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
1130 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
1132         Revert my change to gnus-art.el
1133         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
1134         It wasn't that important, and it caused a Gnus build to fail.  See:
1135         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
1137         New minor mode Electric Quote
1138         This lets you easily insert quotes ‘like this’ by typing
1139         quotes `like this', and similarly you can easily insert
1140         quotes “like this” by typing quotes ``like this'' (Bug#20545).
1141         * doc/emacs/basic.texi (Inserting Text):
1142         * doc/emacs/modes.texi (Minor Modes):
1143         * etc/NEWS: Document it.
1144         * doc/emacs/text.texi (Quotation Marks): New section.
1145         * lisp/electric.el (electric-quote-comment)
1146         (electric-quote-string, electric-quote-paragraph):
1147         New custom vars.
1148         (electric--insertable-p)
1149         (electric-quote-post-self-insert-function): New functions.
1150         (electric-quote-mode, electric-quote-local-mode): New minor modes.
1151         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1152         Add curved single quotes to electric-pair-text-pairs.
1153         Set electric-quote-string in this buffer.
1155         A few more doc string fixes (Bug#20385)
1157         Accept curved quotes in doc strings
1158         * lisp/info-look.el (info-lookup-guess-custom-symbol):
1159         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
1161         Generate curved quotes in pseudo-info nodes
1162         * lisp/info.el (Info-virtual-index-find-node)
1163         (Info-virtual-index, Info-apropos-find-node, info-apropos):
1164         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
1166         Fix minor quoting problems in doc strings
1167         Most of these fixes involve escaping grave accents that are
1168         actually intended to be grave accents, not left quotes.
1169         (Bug#20385)
1171         Support curved quotes in doc strings
1172         Emacs's traditional doc string style has been to quote symbols
1173         `like this'.  This worked well on now-obsolete terminals where
1174         ` and ' were symmetric quotes, but nowadays curved quotes
1175         ‘like this’ look better.  Support quoting the new way too.
1176         (Bug#20385)
1177         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
1178         ‘like-this’ as well as `like-this'.
1179         * etc/NEWS: Mention this.
1180         * lisp/cedet/mode-local.el (overload-docstring-extension)
1181         (mode-local-print-binding, mode-local-describe-bindings-2):
1182         * lisp/cus-theme.el (describe-theme-1):
1183         * lisp/descr-text.el (describe-text-properties-1, describe-char):
1184         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
1185         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
1186         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1187         (eieio-help-constructor):
1188         * lisp/emacs-lisp/package.el (describe-package-1):
1189         * lisp/faces.el (describe-face):
1190         * lisp/help-fns.el (help-fns--key-bindings)
1191         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
1192         (help-fns--interactive-only, describe-function-1):
1193         (describe-variable):
1194         * lisp/help.el (describe-mode):
1195         * lisp/international/mule-cmds.el (describe-input-method)
1196         (describe-language-environment):
1197         * lisp/international/mule-diag.el (describe-character-set)
1198         (print-coding-system-briefly, list-input-methods)
1199         (list-input-methods-1):
1200         Insert curved quotes rather than grave accent and apostrophe.
1201         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
1202         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
1203         (checkdoc-proper-noun-region-engine):
1204         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
1205         (lisp-cl-font-lock-keywords-2):
1206         * lisp/finder.el (finder-font-lock-keywords):
1207         * lisp/gnus/gnus-art.el (gnus-button-alist):
1208         * lisp/help-fns.el (help-do-arg-highlight)
1209         (describe-function-1, describe-variable):
1210         * lisp/help-mode.el (help-xref-symbol-regexp)
1211         (help-xref-info-regexp, help-xref-url-regexp):
1212         * lisp/help.el (describe-mode):
1213         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
1214         * lisp/wid-edit.el (widget-documentation-link-regexp):
1215         Parse symbols quoted ‘like-this’ as well as `like-this'.
1216         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1217         Add "‘" and "’" to electric-pair-text-pairs.
1218         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
1219         (elisp-completion-at-point, elisp--preceding-sexp):
1220         Also treat "‘" and "’" as quoting chars.
1222         substitute-command-keys now curves quotes
1223         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
1224         * doc/lispref/help.texi (Keys in Documentation):
1225         * etc/NEWS: Document this.
1226         * src/doc.c (Fsubstitute_command_keys): Implement it.
1228 2015-05-28  Glenn Morris  <rgm@gnu.org>
1230         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
1231         (rmail-summary-by-topic, rmail-summary-by-senders):
1232         No longer strip leading/trailing whitespace.
1234         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
1235         (f90-no-block-limit): Add "enum".  (Bug#20680)
1236         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
1237         New tests.
1239 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
1241         * lisp/isearch.el (isearch--current-buffer): Give a default value.
1243         Un-revert changes mistakenly dropped by f9fabb2b
1245 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
1247         Merge from gnulib
1248         This incorporates:
1249         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
1250         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
1251         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
1252         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
1253         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
1254         2015-05-26 stdio: fix probe on mingw under gcc 5.1
1255         * admin/merge-gnulib (GNULIB_MODULES):
1256         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
1257         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
1258         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
1259         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
1260         Get latest versions from gnulib.
1261         * lib/get-permissions.c, lib/set-permissions.c: New files.
1262         * lib/gnulib.mk, m4/gnulib-comp.m4:
1263         Regenerate.
1264         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
1266 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
1268         Delete the old process in vc-setup-buffer
1269         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
1270         process here.
1271         (vc-do-command): Rather than here (bug#20608).
1273 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
1275         Avoid gratuitous delete-dups in face-at-point.
1276         * lisp/faces.el (face-at-point): Do not compute the properly
1277         ordered, duplicate-free list if only a single value is
1278         requested anyway.  (Bug#20519)
1280         Show the exact C-x 8 RET invocation in describe-char.
1281         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
1282         invocation instead of a template.  (Bug#20522)
1284 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
1286         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
1287         (package-menu--post-refresh): Call `tabulated-list-print' with the
1288         UPDATE argument.  This only affects the refresh action, the revert
1289         action still erases tags.
1290         (package-menu-get-status): Change `assq' to `assoc'.
1291         (package-menu--mark-upgrades-1): New function.
1292         (package-menu--mark-upgrades-pending): New variable.
1293         (package-menu-mark-upgrades): Use them to delay marking until
1294         after refresh is done.
1295         (package-menu--post-refresh): Call mark-upgrades-1 if
1296         mark-upgrades-pending is non-nil.
1298 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
1300         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
1302 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
1304         * lisp/isearch.el (isearch--current-buffer): New var
1305         (isearch-update): Set cursor-sensor-inhibit here.
1306         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
1308         Change inhibit-point-motion-hooks to t
1309         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
1310         to t and document it as obsolete.
1312 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
1314         Support ZIP files that use Zip64 extensions
1315         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
1316         format of central directory offsets used by Zip64 extensions.
1317         (Bug#20665)
1319 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
1321         New test tramp-test30-make-auto-save-file-name
1322         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
1323         (tramp-test31-special-characters)
1324         (tramp-test31-special-characters-with-stat)
1325         (tramp-test31-special-characters-with-perl)
1326         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
1327         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
1328         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
1329         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
1331         Improve tramp-handle-make-auto-save-file-name
1332         * tramp.el (tramp-auto-save-directory): Add :tags.
1333         (tramp-handle-make-auto-save-file-name): Let native
1334         `make-auto-save-file-name' use `auto-save-file-name-transforms',
1335         if `tramp-auto-save-directory' is not set.
1337 2015-05-27  Glenn Morris  <rgm@gnu.org>
1339         No longer set dired-directory in eshell.  (Bug#16477)
1340         * lisp/eshell/esh-mode.el (eshell-mode):
1341         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
1343         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
1345         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
1346         * lisp/progmodes/cc-mode.el (c-mode-help-address):
1347         Change to submit@debbugs.
1348         (c-mode-bug-package): New constant.
1349         (mail-position-on-field): Declare.
1350         (c-submit-bug-report): Insert X-Debbugs-Package header.
1351         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
1352         Mention debbugs.gnu.org.
1354 2015-05-26  Glenn Morris  <rgm@gnu.org>
1356         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
1357         (rmail-summary-by-recipients, rmail-summary-by-topic)
1358         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
1359         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
1361 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
1363         Handle curved quotes in info files
1364         * lisp/calc/calc-help.el (calc-describe-thing):
1365         * lisp/info.el (Info-find-index-name)
1366         (Info-try-follow-nearest-node, Info-fontify-node):
1367         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
1368         In info files, process quotes ‘like this’ the same way we process
1369         quotes `like this'.  This catches a few places we missed earlier.
1371 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
1373         xref-prompt-for-identifier: Use a list value
1374         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
1375         value, to be interpreted as a list of commands.
1376         (xref--prompt-p): New function.
1377         (xref--read-identifier): Use it.
1379 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
1381         Teach MS-Windows font back-end return per-glyph ascent/descent
1382         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
1383         values.
1384         * src/w32font.c (w32font_text_extents): Compute, cache, and
1385         accumulate per-glyph ascent and descent values, instead of copying
1386         global values from the font.  If the values are not available from
1387         the font data, i.e., non-TTF fonts, fall back on font-global values.
1388         (compute_metrics): Compute and return per-glyph ascent and descent
1389         values, if returned by GetGlyphOutlineW, falling back on
1390         font-global values.  (Bug#20628)
1391         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
1392         height of rectangle to be drawn, to be compatible with
1393         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
1394         box, when per-glyph ascent/descent values are used.
1396 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1398         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
1399         (tabulated-list-print): Don't sort if sorter is nil
1401 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
1403         Fix Bug#20621
1404         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
1405         are major modes which set `auto-save-mode' on their own rules;
1406         Tramp shall not overwrite such settings.
1407         (Bug#20621)
1409 2015-05-26  Glenn Morris  <rgm@gnu.org>
1411         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
1412         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
1413         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
1414         Doc updates.
1415         (vc-dir-mode): Remove unnecessary autoload.
1417 2015-05-25  Philipp Stephani  <phst@google.com>
1419         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
1420         (xterm--extra-capabilities-type): Add `getSelection'.
1421         (xterm--query): Add `no-async' argument.
1422         (xterm--init-activate-get-selection): New function.
1423         (terminal-init-xterm): Use it.
1424         (xterm--init-modify-other-keys): Rename from
1425         terminal-init-xterm-modify-other-keys.
1426         (xterm--init-bracketed-paste-mode): Rename from
1427         terminal-init-xterm-bracketed-paste-mode.
1428         (xterm--init-activate-set-selection): Rename from
1429         terminal-init-xterm-activate-set-selection.
1430         (xterm--selection-char): New function.
1431         (gui-backend-set-selection): Use it.  Use the &context to only apply
1432         this method in terminals where we enabled the feature.
1433         (gui-backend-get-selection): New method.
1435 2015-05-25  Daniel Colascione  <dancol@dancol.org>
1437         Add C-language keyword constants to C++
1438         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
1439         keyword constants to C++.
1441 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
1443         Make TAGS files more portable to MS-Windows
1444         * etc/NEWS: Document this.
1445         * lib-src/etags.c (readline_internal) [DOS_NT]:
1446         Don't treat CRs differently from GNUish hosts.
1447         * lisp/progmodes/etags.el (etags-goto-tag-location):
1448         Adjust STARTPOS to account for the skipped CRs in dos-style files.
1450 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
1452         Improve fix of debbugs:20634 in tramp-sh.el
1454 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
1456         Fix a typo in last commit
1457         * lib-src/etags.c (C_entries): Fix a typo.
1458         * test/etags/ETAGS.good_1:
1459         * test/etags/ETAGS.good_2:
1460         * test/etags/ETAGS.good_3:
1461         * test/etags/ETAGS.good_4:
1462         * test/etags/ETAGS.good_5:
1463         * test/etags/CTAGS.good: Update due to the change in etags.c.
1465         Fix tagging of class members in C-like OO languages
1466         * lib-src/etags.c (longopts): Add new option --class-qualify and
1467         its shorthand -Q.
1468         (print_help): Add help text for --class-qualify.
1469         (main): Add handling of -Q.
1470         (consider_token, C_entries) <omethodparm>: Append argument types
1471         to Objective C methods only if --class-qualify was specified.
1472         Qualify C++, Objective C, and Java class members with their class
1473         names only if --class-qualify was specified.
1474         (C_entries): If --class-qualify was not specified, remove the
1475         namespace and class qualifiers from tag names of C++ methods.
1476         This allows to use etags.el as xref back-end without the
1477         tag-symbol-match-p method, which greatly increases the number of
1478         potentially false positives.  (Bug#20629)
1479         * doc/man/etags.1: Update to document the new --class-qualify
1480         option.
1481         * test/etags/ETAGS.good_1:
1482         * test/etags/ETAGS.good_2:
1483         * test/etags/ETAGS.good_3:
1484         * test/etags/ETAGS.good_4:
1485         * test/etags/ETAGS.good_5:
1486         * test/etags/CTAGS.good: Update due to changes in etags.c.
1488 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1490         (cl-generic-define-method): Side effects are evil (bug#20644)
1491         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
1492         cons-cells that might be used as keys in an `equal' hash-table.
1494 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1496         Make erc timestamps visible again
1497         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
1498         timestamps visible again (if requested).
1500 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
1502         Fix last change in etags.c that broke tagging compresed files
1503         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
1504         quoting of decompression shell command for MS-Windows/MS-DOS.
1506 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1508         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
1509         (Bug#20639)
1511 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
1513         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
1515 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
1517         Fix IPv6 addresses in Tramp
1518         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
1519         Add sqare brackets around host name.
1521 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
1523         Inhibit `epa-file-handler' in Tramp
1524         (Bug#20634)
1525         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
1526         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
1527         `epa-file-handler'.
1529 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1531         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
1532         (pcase-let): Document the behavior in case the pattern doesn't match.
1534 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1536         * lisp/emacs-lisp/tabulated-list.el: New optional print method
1537         (tabulated-list-print): New optional argument, UPDATE.  If
1538         non-nil, the list is printed by only adding and deleting the
1539         changed entries, instead of erasing the whole buffer.  This method
1540         is much faster when few or no entries have changed.
1541         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
1542         * etc/NEWS: Document it.
1544         * lisp/emacs-lisp/tabulated-list.el: Improve printing
1545         (tabulated-list--get-sorter): New function.
1546         (tabulated-list-print): Restore window-line when remember-pos is
1547         passed and optimize away the `nreverse'.
1549 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
1551         Simpilify etags TEX mode scanning
1552         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
1553         Remove static vars.
1554         (TeX_commands): Deduce escapes here instead.
1555         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
1556         This removes the need for a reset_input call.
1558         Improve etags I/O error reporting
1559         * lib-src/etags.c:
1560         Don't include sys/types.h and sys/stat.h; no longer needed.
1561         (infilename): New static var.
1562         (process_file_name): Don't call 'stat'.  Instead, just open the
1563         file for reading and report any errors.  Don't bother making
1564         a copy of the file argument; it's not needed.  Be more careful to
1565         use the failing errno when reporting an error.
1566         Quote the real name better (though no perfectly)
1567         when passing it to the shell.
1568         (reset_input): New function, which reports I/O errors.
1569         All uses of 'rewind' changed to use this function.
1570         (perhaps_more_input): New function, which also checks for
1571         I/O errors.  All uses of 'feof' changed to use this function.
1572         (analyze_regex): Report an error if fclose fails.
1573         (readline_internal): Report an error if getc fails.
1574         (etags_mktmp): Return an error if close fails.
1576         etags.c: avoid side effects in 'if'
1577         * lib-src/etags.c (process_file_name, Perl_functions)
1578         (TEX_decode_env): Hoist side effects into previous statement.
1580         .gitignore tweaks
1581         * .gitignore: Ignore all *.stamp files.  Sort.
1582         Ignore [0-9]*.txt (commonly used name for git patches)
1583         and /vc-dwim-log-* (vc-dwim temporary).
1585 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
1587         Fix last change in etags.c, which failed the test suite
1588         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
1589         before the last change.
1591 2015-05-23  Glenn Morris  <rgm@gnu.org>
1593         Remove charset map files from repository, generate in first bootstrap
1594         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
1595         (all): Create the stamp file.
1596         (extraclean): Delete the stamp file.
1597         * src/Makefile.in (lispintdir, charsets): New variables.
1598         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
1599         New rules.
1600         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
1601         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
1602         * etc/charsets/*.map: Remove from repository.
1604 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1606         Cleanup etags.c to use locale-independent code
1607         Although this doesn't alter behavior (as etags doesn't use
1608         setlocale), the new version is more clearly locale-independent and
1609         the executable is a bit smaller on my platform.
1610         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
1611         Include <c-ctype.h> instead of <ctype.h>.
1612         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
1613         (begtk, midtk):
1614         Remove; no longer needed.
1615         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
1616         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
1617         c_islower, c_tolower, respectively.
1618         (notinname, begtoken, intoken, endtoken): Rewrite as functions
1619         instead of macros, and initialize the tables at compile-time
1620         rather than at run-time.
1622         Put default action first in src/Makefile
1623         * src/Makefile.in (all): Put this rule before lisp.mk.
1624         That way, plain 'make' works in the src directory again.
1626 2015-05-23  Glenn Morris  <rgm@gnu.org>
1628         * Makefile.in: Fix extraclean rule.
1629         (extraclean_dirs): New.
1630         (extraclean): Use it.
1632 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
1634         Avoid compiler warning in image.c on MS-Windows
1635         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
1636         warning in image.c.
1638 2015-05-23  Glenn Morris  <rgm@gnu.org>
1640         Fix --without-toolkit-scroll-bars builds.
1641         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
1642         Add new argument to x_clear_area1.
1643         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1644         Update x_clear_area arguments.
1646         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
1647         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
1648         Change to included version.
1649         (LOCAL, local, totalclean): Remove.
1650         (extraclean): Delete all generated files.
1652 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1654         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
1656         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
1658         tags-completion-at-point-function: Don't trust the find-tag function
1659         * lisp/progmodes/etags.el (tags-completion-at-point-function):
1660         Don't trust the find-tag function.
1662 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1664         Pacify --enable-gcc-warnings
1665         * src/frame.h (x_query_color): Remove redundant extern decl.
1666         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
1667         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
1668         (ftcrfont_text_extents, ftcrfont_draw):
1669         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
1670         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
1671         (x_ins_del_lines, frame_highlight, frame_unhighlight)
1672         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
1673         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
1674         (x_update_window_begin, x_connection_closed)
1675         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
1676         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
1677         (*x_gc_get_ext_data, x_extension_initialize)
1678         (x_cr_accumulate_data):
1679         Remove redundant static decl.  Many of these GCC doesn't complain
1680         about, but we might as well clean out the duplication while we're
1681         in the neighborhood.
1682         * src/xterm.c (x_fill_trapezoid_for_relief):
1683         Remove decl of nonexistent function.
1685 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1687         Replace gui-method macros with cl-generic with &context
1688         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
1689         (gui-method-declare, gui-call): Remove.
1690         (frame-creation-function): Use cl-defgeneric.
1691         (make-frame): Adjust callers.
1692         * lisp/menu-bar.el (menu-bar-edit-menu):
1693         Use gui-backend-selection-exists-p.
1694         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
1695         (gui-backend-get-selection): New cl-generic to replace
1696         gui-get-selection method.
1697         (gui-backend-set-selection): New cl-generic to replace
1698         gui-set-selection method.
1699         (gui-selection-owner-p): New cl-generic to replace
1700         gui-selection-owner-p method.
1701         (gui-backend-selection-exists-p): New cl-generic to replace
1702         gui-selection-exists-p method.  Adjust all callers.
1703         * lisp/server.el (server-create-window-system-frame): Don't ignore
1704         window-system spec even when unsupported.
1705         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
1706         * lisp/startup.el (handle-args-function, window-system-initialization):
1707         Use cl-defgeneric.
1708         (command-line): Adjust calls accordingly.
1709         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
1710         a window-system-initialization method.
1711         (handle-args-function, frame-creation-function): Use cl-defmethod.
1712         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
1713         (gui-get-selection): Use cl-defmethod on the new functions instead.
1714         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
1715         a gui-backend-get-selection method.
1716         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
1717         Use cl-defmethod on the new functions instead.
1718         (msdos-window-system-initialization): Turn into
1719         a window-system-initialization method.
1720         (frame-creation-function, handle-args-function): Use cl-defmethod.
1721         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
1722         a window-system-initialization method.
1723         (handle-args-function, frame-creation-function): Use cl-defmethod.
1724         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
1725         (gui-get-selection): Use cl-defmethod on the new functions instead.
1726         * lisp/term/x-win.el (x-window-system-initialization): Turn into
1727         a window-system-initialization method.
1728         (handle-args-function, frame-creation-function): Use cl-defmethod.
1729         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
1730         (gui-get-selection): Use cl-defmethod on the new functions instead.
1731         * lisp/term/xterm.el (xterm--set-selection): Turn into
1732         a gui-backend-set-selection method.
1733         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
1734         (Fns_selection_owner_p): Remove unused arg `terminal'.
1735         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
1737 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
1739         Revert "Fix etags Bug#20629 that broke C++ support."
1740         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
1742 2015-05-23  Jan D  <jan.h.d@swipnet.se>
1744         Fix etags Bug#20629 that broke C++ support.
1745         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
1746         from Sun May 10 (Bug#20629).
1748         Merge branch 'cairo'.
1749         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
1750         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
1752         Merge branch 'master' into cairo
1754         Fixes to compile cairo branch without cairo.
1755         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
1756         first argument.
1757         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
1758         USE_CAIRO.
1760 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
1762         * lisp/emacs-lisp/package.el: Always update selected-packages
1763         (package--update-selected-packages): New function.
1764         (package-menu-execute): Use it before starting the transaction,
1765         this way the list of selected packages is updated even when the
1766         transaction fails.
1767         (package-menu--perform-transaction): Don't edit selected-packages.
1769 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
1771         Fix etags reading of compressed files
1772         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
1773         Include fcntl.h, for O_CLOEXEC.
1774         (process_file_name): Don't use 'popen', whose streams cannot be
1775         rewound.  Instead, uncompress the file to a temporary file,
1776         created by 'etags_mktmp', and read from that as usual.
1777         (etags_mktmp): New function.
1778         * test/etags/ETAGS.good_1:
1779         * test/etags/ETAGS.good_2:
1780         * test/etags/ETAGS.good_3:
1781         * test/etags/ETAGS.good_4:
1782         * test/etags/ETAGS.good_5: Update to be consistent with latest
1783         changes in etags.c regarding reading compressed files.
1785         Improve documentation of 'set-fontset-font'
1786         * doc/lispref/display.texi (Fontsets): Document the value of nil
1787         for the 3rd argument of 'set-fontset-font'.
1789         Fix documentation of forward-line
1790         * src/cmds.c (Fforward_line): Clarify the return value if the line
1791         at end of accessible portion of the buffer has no newline.
1792         * doc/lispref/positions.texi (Text Lines): Document what happens
1793         if the line at end of accessible portion of buffer has no newline.
1794         (Bug#20587)
1796 2015-05-22  Glenn Morris  <rgm@gnu.org>
1798         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
1800         * admin/charsets/mapconv (LC_ALL): Set to C.
1802         * Makefile.in: Add admin/charsets into top-level clean rules.
1803         (clean): Add admin/charsets.
1804         (maybeclean_dirs): New variable.
1805         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
1807         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
1809 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
1811         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
1813 2015-05-22  Glenn Morris  <rgm@gnu.org>
1815         Generate admin/charsets Makefile via configure, and make more portable.
1816         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
1817         (admin/charsets/Makefile): Generate it.
1818         * admin/charsets/Makefile.in: Rename from Makefile.
1819         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
1820         New variables, set by configure.
1821         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
1822         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
1823         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
1824         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
1825         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
1826         (all): Declare PHONY.
1827         (local): New PHONY target.
1828         (map_template): New template.  Use to define short PHONY aliases.
1829         (*.map): Add directory prefixes to targets and prerequisites.
1830         Respect make verbosity.
1831         (JISC6226.map): Replace non-portable sed append without newline.
1832         (install): Remove rule.
1833         (clean): Only delete temporary sedscript.
1834         (bootstrap-clean, distclean, maintainer-clean, extraclean)
1835         (totalclean): New PHONY rules.
1836         * admin/charsets/mapconv (BASE): Replace basename with expr.
1837         (FILE): Add "mapfiles" subdirectory.
1838         (AWK): New variable.  Use throughout in place of "awk".
1839         (main): Use "gunzip -c" in place of "zcat".
1840         Don't leave whitespace before "p", for older sed.
1841         * admin/charsets/mapfiles/PTCP154: Add final newline,
1842         to make older sed versions happy.
1844 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
1846         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
1847         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
1848         (auto-revert-notify-watch-descriptor): Use defvar-local.
1849         (find-file-hook, auto-revert-tail-mode, )
1850         (auto-revert-notify-add-watch): Use setq-local.
1851         (auto-revert-notify-add-watch): Don't call make-local-variable on
1852         kill-buffer-hook (bug#20601).
1854 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1856         Change defgeneric so it doesn't completely redefine the function
1857         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
1858         previously defined methods.
1859         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
1860         (cl--generic-prefill-dispatchers): Only define during compilation.
1861         (cl-method-qualifiers): Remove redundant alias.
1862         (help-fns-short-filename): Silence byte-compiler.
1863         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
1865 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
1867         (package-menu-execute): Remove reference to remove-dups
1869 2015-05-21  kwhite  <kwhite@gnu.org>
1871         * lisp/erc/erc.el: Hide network/channel messages
1872         (erc-network-hide-list, etc-channel-hide-list): New lists to define
1873         message types per network/channel.
1874         (erc-add-targets): New function to parse list of targets
1875         (erc-hide-current-message-p): Modified to check for new targets
1877 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1879         Don't quote nil and t in doc strings
1880         This is as per "Tips for Documentation Strings" in the elisp manual.
1881         For consistency, do the same in diagnostics and comments.
1883 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
1885         Fix a minor problem with mouse-face on mode line
1886         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
1887         mouse face also if the mouse pointer hovers above mode-line glyphs
1888         that don't come from any Lisp string.  (Bug#20620)
1890 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
1892         * lisp/emacs-lisp/package.el: Fix selected-package logic
1893         (package-menu-execute): Mark as selected all non-upgrade packages
1894         being installed.
1895         (package-menu--perform-transaction): Don't mark anything.
1897         * lisp/emacs-lisp/package.el: Mode-line progress report
1898         (package-menu--transaction-status): New variable.
1899         (package-menu-mode, package-menu--perform-transaction): Use it.
1901         * lisp/emacs-lisp/package.el: Better transaction messages
1902         (package-menu--partition-transaction): New function.
1903         (package-menu--prompt-transaction-p, package-menu-execute): Use
1904         it.
1905         (package-menu--perform-transaction): Don't do any messaging.
1907         * lisp/emacs-lisp/package.el: Revert async package transactions
1908         (package-menu-async): Update doc.
1909         (package-install-from-archive, package-download-transaction)
1910         (package-install, package-menu--perform-transaction)
1911         (package-menu-execute): Remove asynchronous functionality.
1913 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1915         Revert doc string changes to f90.el
1916         Problem reported by Glenn Morris in:
1917         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
1918         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
1919         Revert recent changes to doc strings, as it's intended that they
1920         use grave accent, not quote.
1922 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
1924         Improve parameter name
1926         Add new inline function `hash-table-empty-p'
1928 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
1930         Don't require help-fns when not needed
1931         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
1932         * lisp/emacs-lisp/elint.el:
1933         Don't require help-fns at the top level.
1934         * lisp/emacs-lisp/advice.el (ad-arglist):
1935         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
1936         Don't require help-fns.  (Bug#17001)
1938 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
1940         Fix slash collapsing in etags on MS-Windows
1941         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
1942         MS-Windows code from the Posix code, and support collapsing both
1943         forward- and back-slashes on MS-Windows.  Fixes a regression found
1944         by the test suite.
1946         Improve documentation of glyphless-char-display
1947         * doc/lispref/display.texi (Glyphless Chars): Improve
1948         documentation of glyphless character display.
1950         Fix "acronym" display of glyphless characters on w32
1951         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
1952         ignore "acronym" substitutes of 1 character for glyphless characters.
1954 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
1956         Add an automated test for let-when-compile
1957         * test/automated/subr-tests.el (let-when-compile): New test.
1959         Add let-when-compile macro instead of using pcase-let
1960         * lisp/subr.el (let-when-compile): New let-like macro that makes its
1961         bindings known to macros like `eval-when-compile' in the body.
1962         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
1963           `let-when-compile'. Also comment out the unused lexical var
1964           `el-kws-re'.
1965         The change greatly improves readability, while providing almost the
1966         same (even shorter) byte code: instead of pre-evaluating 10 variables,
1967         tossing them into a list, and destructuring that list a full screen
1968         page later, the variables are simply bound as they are evaluated,
1969         wrapped individually in `eval-when-compile'.
1971 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
1973         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
1974         (package-delete-button-action): New function.
1975         (describe-package-1): Add Delete button.
1977         * lisp/emacs-lisp/package.el: Better dependency description
1978         (package--used-elsewhere-p): New optional arg, ALL, and return
1979         package-desc objects instead of names.
1980         (package-delete): Update accordingly.
1981         (describe-package-1): Describe which packages require the package.
1983 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
1985         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
1986         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
1987         Fix doc-string (Bug#20533).
1989         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
1990         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
1991         (switch-to-buffer): If the selected window is strongly dedicated
1992         to its buffer, signal error before prompting for buffer name.  Handle
1993         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
1994         * doc/lispref/windows.texi (Switching Buffers): Document
1995         `switch-to-buffer-in-dedicated-window'.
1997 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1999         Prefer "this" to “this” in doc strings
2000         This mostly just straightens quotes introduced in my previous patch.
2001         Suggested by Dmitry Gutov in:
2002         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
2003         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
2004         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
2005         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
2006         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
2007         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
2008         Prefer straight double quotes to curved double quotes in doc strings.
2010         Fix minor quoting problems in doc strings
2011         These were glitches regardless of how or whether we tackle the
2012         problem of grave accent in doc strings.
2013         * lisp/calc/calc-aent.el (math-restore-placeholders):
2014         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
2015         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
2016         * lisp/leim/quail/hebrew.el ("hebrew-new")
2017         ("hebrew-biblical-sil"):
2018         * lisp/leim/quail/thai.el ("thai-kesmanee"):
2019         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
2020         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
2021         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
2022         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
2023         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
2024         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
2025         (semantic-tag-components):
2026         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
2027         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
2028         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
2029         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
2030         * lisp/emacs-lisp/generator.el (iter-next):
2031         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
2032         (gnus-article-mode-syntax-table):
2033         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
2034         * lisp/net/soap-client.el (soap-wsdl-get):
2035         * lisp/net/telnet.el (telnet-mode):
2036         * lisp/org/org-compat.el (org-number-sequence):
2037         * lisp/org/org.el (org-remove-highlights-with-change)
2038         (org-structure-template-alist):
2039         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
2040         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
2041         (handwrite-12pt, handwrite-13pt):
2042         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
2043         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
2044         * lisp/progmodes/verilog-mode.el (verilog-tool)
2045         (verilog-string-replace-matches, verilog-preprocess)
2046         (verilog-auto-insert-lisp, verilog-auto-insert-last):
2047         * lisp/textmodes/makeinfo.el (makeinfo-options):
2048         * src/font.c (Ffont_spec):
2049         Fix minor quoting problems in doc strings, e.g., missing quote,
2050         ``x'' where `x' was meant, etc.
2051         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
2052         Fix minor quoting problem in other string.
2053         * lisp/leim/quail/ethiopic.el ("ethiopic"):
2054         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
2055         Omit unnecessary quotes.
2056         * lisp/faces.el (set-face-attribute, set-face-underline)
2057         (set-face-inverse-video, x-create-frame-with-faces):
2058         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
2059         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
2060         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
2061         * lisp/net/tramp.el (tramp-methods):
2062         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
2063         * lisp/textmodes/artist.el (artist-ellipse-right-char)
2064         (artist-ellipse-left-char, artist-vaporize-fuzziness)
2065         (artist-spray-chars, artist-mode, artist-replace-string)
2066         (artist-put-pixel, artist-text-see-thru):
2067         * lisp/vc/ediff-util.el (ediff-submit-report):
2068         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
2069         Use double-quotes rather than TeX markup in doc strings.
2070         * lisp/skeleton.el (skeleton-pair-insert-maybe):
2071         Reword to avoid the need for grave accent and apostrophe.
2072         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
2073         Don't use grave and acute accents to quote.
2075 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2077         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
2079 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2081         Try to port new etags tests to MS-Windows
2082         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
2083         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
2084         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
2085         Adjust to test-case changes below.
2086         * test/etags/Makefile (CSRC): Remove dostorture.c.
2087         Whatever it was trying to test, wasn't working portably.
2088         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
2089         just a line-ending problem.
2090         * test/etags/c-src/dostorture.c: Remove.
2091         * test/etags/cp-src/c.C: Remove stray CR.
2092         * test/etags/html-src/algrthms.html: Remove trailing CRs.
2093         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
2094         but if someone edits it later it should stay UTF-8-compatible.
2096 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
2098         Fix display of overlapping window-specific overlays
2099         * src/keyboard.c (adjust_point_for_property): When adjusting point
2100         due to display strings, ignore overlays that are specific to
2101         windows other than the currently selected one.
2102         * src/xdisp.c (handle_single_display_spec): If the display
2103         property comes from an overlay, arrange for buffer iteration to
2104         resume only after the end of that overlay.  (Bug#20607)
2106 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
2108         New command icomplete-force-complete-and-exit
2109         * lisp/icomplete.el (icomplete-force-complete-and-exit):
2110         New command
2111         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
2112         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
2113         (icomplete-minibuffer-map): Bind C-j to it.
2114         (icomplete-forward-completions, icomplete-backward-completions):
2115         Mention the new command in the docstring.
2116         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
2117         the previous fix for bug#17545.
2119 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
2121         Fix last commit
2123         In Elisp manual explain how to override window manager positioning (Bug#20552)
2124         * doc/lispref/frames.texi (Position Parameters): Give example of
2125         how to override a window manager positioning decision.
2127         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
2128         * src/frame.c (Fdelete_frame): In doc-string mention that frame
2129         can't be deleted if it has a surrogate minibuffer.
2130         * doc/lispref/frames.texi (Minibuffers and Frames)
2131         (Deleting Frames): Explain "surrogate minibuffer frames".
2133         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
2134         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
2136 2015-05-18  Glenn Morris  <rgm@gnu.org>
2138         Add option to ignore commit lines matching a pattern in ChangeLog.
2139         * build-aux/gitlog-to-changelog: Add --ignore-line option.
2140         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
2142 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
2144         Don't skip new etags tests on non-UTF-8 hosts
2145         Problem reported by Eli Zaretskii for MS-Windows.
2146         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
2147         (LC_ALL): Set to C if the current locale isn't UTF-8.
2148         (.PHONY): Remove ediff_1 thru ediff_5.
2149         (check): Always run.
2151 2015-05-18  Glenn Morris  <rgm@gnu.org>
2153         * lisp/calculator.el (calculator-funcall):
2154         * lisp/textmodes/artist.el (artist-spray-random-points):
2155         Use standard degree/radian conversion utilities.
2157         Further lisp-complete-symbol related cleanup.
2158         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
2159         Unadvertise non-functional argument.  Replace obsolete alias.
2161 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
2163         Add a test case for Maven warning ouput
2164         * test/automated/compile-tests.el
2165         (compile-tests--test-regexps-data): Add a case for Maven warning
2166         ouput.
2167         (compile--test-error-line): Check the compilation message type, if
2168         it's specified in the test data.
2170 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
2172         Update Maven compilation-mode entry to distinguish warnings
2173         * lisp/progmodes/compile.el
2174         (compilation-error-regexp-alist-alist): Update Maven entry to
2175         distinguish warnings (bug#20556).
2177 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
2179         * test/automated/sgml-mode-tests.el: New file.
2181 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
2183         Improve handling of the first Git revision
2184         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
2185         there's no next entry, delete until the end of the buffer.
2186         (log-view-end-of-defun-1): Stop at eob.
2187         * lisp/vc/vc-annotate.el
2188         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
2189         when previous-revision is nil.
2190         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
2191         with `--' to avoid ambiguity.
2192         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
2193         returned revision string.
2194         (vc-git-annotate-time): Expect `^' before the first revision.
2195         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
2196         REV1 is nil, and REV2 is not.
2197         * lisp/vc/vc.el: Update the description of the `diff' function.
2199 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
2201         Allow checkdoc to be called in batch
2202         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
2203           is non-nil, echo the error with `warn'.
2204         How it can be used in -batch:
2205         (with-current-buffer (find-file "checkdoc.el")
2206           (checkdoc-current-buffer t))
2208 2015-05-18  Glenn Morris  <rgm@gnu.org>
2210         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
2212 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
2214         * admin/notes/unicode: New section "binary files".
2216         Change new etags test to use UTF-8 encoding
2217         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
2218         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
2219         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
2220         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
2221         * test/etags/html-src/softwarelibero.html:
2222         Switch to UTF-8 encoding.
2223         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
2224         Remove Makefile, as it's too incestuous to have the test input
2225         include the build procedure.
2226         (UTF8_LOCALE, UTF_ENCODING): New macros.
2227         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
2228         (check): Skip if not UTF-8.
2229         (.PHONY): New rule.
2230         (FRC): Remove, as superseded by .PHONY.  All uses removed.
2231         (regexfile): Prefer printf to echo when outputting oddball chars.
2232         (.PRECIOUS): Remove, as these files are not built.
2234         Rename 'foo-gzipped' to 'foo.gz'
2235         * test/automated/data/decompress/foo.gz:
2236         Rename from test/automated/data/decompress/foo-gzipped,
2237         to make it easier for other tools to tell that it's compressed.
2238         * test/automated/zlib-tests.el (zlib--decompress):
2239         Adjust to renamed file.
2241 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
2243         Set up default-directory
2244         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
2245         binding for `v'.
2246         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
2247         appropriate value for default-directory.
2249 2015-05-17  Samer Masterson  <samer@samertm.com>
2251         * lisp/eshell/em-term.el (eshell-term-sentinel):
2252         No-op by default, only kills term buffer if
2253         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
2254         (eshell-destroy-buffer-when-process-dies): New custom to preserve
2255         previous behavior.
2257         eshell: Introduce new buffer syntax
2258         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
2259         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
2260         needed (Bug#19319).
2261         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
2262         (eshell-get-target): Remove shorthand-specific code.
2263         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
2264         '#<buffer-name>'.
2266 2015-05-17  Jan D  <jan.h.d@swipnet.se>
2268         Merge branch 'master' into cairo
2270 2015-04-26  Jan D  <jan.h.d@swipnet.se>
2272         Merge branch 'master' into cairo
2274         Add PBM support for cairo.
2275         * src/image.c (xcolor_to_argb32): New function.
2276         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
2277         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
2278         XImagePtr if ! USE_CAIRO.
2279         (pbm_load): Add cairo support.
2281 2015-04-12  Jan D  <jan.h.d@swipnet.se>
2283         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
2284         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
2285         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
2286         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
2287         x_free_cr_resources.
2289         Handle specified bg in images.  Use generic libpng code for PNG:s.
2290         * src/image.c (get_spec_bg_or_alpha_as_argb)
2291         (create_cairo_image_surface): New functions when USE_CAIRO.
2292         (xpm_load): Call the above functions.  Handle XPM without mask
2293         when USE_CAIRO.
2294         (png_load_body): Handle USE_CAIRO case.
2295         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
2296         instead.
2297         (jpeg_load_body): Call create_cairo_image_surface.
2298         (gif_load, svg_load_image): Handle specified background, call
2299         create_cairo_image_surface.
2300         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
2302 2015-04-11  Jan D  <jan.h.d@swipnet.se>
2304         Support GIF and Tiff with cairo.
2305         * configure.ac: Allow jpeg with cairo.
2306         Allow tiff and gif with cairo.
2307         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
2308         (tiff_load): Create cairo image surface if USE_CAIRO.
2309         (gif_load): Ditto.
2311         Support JPEG with USE_CAIRO.
2312         * configure.ac: Allow jpeg with cairo.
2313         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
2315 2015-04-05  Jan D  <jan.h.d@swipnet.se>
2317         Support RSVG and cairo.
2318         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
2319         * src/dispextern.h (struct image): add cr_data2 if cairo.
2320         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
2321         (x_clear_image): Free cr_data and cr_data2 if set.
2322         (xpm_load): Assign data to cr_data2.
2323         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
2325 2015-04-03  Jan D  <jan.h.d@swipnet.se>
2327         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
2328         * configure.ac (HAVE_RSVG): Move after cairo.
2329         (USE_CAIRO): Disable rsvg, don't disable Xpm.
2330         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
2331         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
2332         don't return early.
2333         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
2334         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
2335         and create a surface.
2337         Tool tips for menus did not show any text.
2338         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
2339         tip frames, the geometry may be wrong.
2341         Merge branch 'master' into cairo, fixes tooltips not shown.
2343         Merge branch 'master' into cairo
2345         Add CAIRO_CFLAGS to lwlib/Makefile.in
2346         * Makefile.in (CAIRO_CFLAGS): Add.
2348 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2350         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
2352 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2354         Draw outermost line using black relief and erase corners also for cairo.
2355         * xterm.c [USE_CAIRO]: Include math.h.
2356         (enum corners) [USE_CAIRO]: New enum.
2357         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
2358         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
2359         than 1, draw the outermost line using the black relief.
2361         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
2363 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2365         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
2367         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
2369         Use int instead of unsigned int for width and height args.
2370         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
2371         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
2372         width and height args.
2374         Modernize k&r cairo-related function declarations.
2375         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
2376         (xg_print_frames_dialog): Modernize k&r declarations.
2377         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
2378         (Fx_print_frames_dialog): Modernize k&r declarations.
2379         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
2380         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
2381         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
2382         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
2383         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
2384         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2385         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
2386         (x_clear_area): Modernize k&r declarations.
2388         Implement wave-style variant of underlining for cairo.
2389         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
2390         (x_draw_underwave) [USE_CAIRO]: Use it.
2392         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
2394 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2396         Fix fringe bitmap initialization for cairo.
2397         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
2398         cairo image surface.
2399         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
2401 2015-02-11  Jan D  <jan.h.d@swipnet.se>
2403         Add cairo drawing.
2404         * configure.ac (with-cairo): New option.
2405         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
2406         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
2407         Output "Does Emacs use cairo?".
2408         * lisp/version.el (emacs-version): Add cairo version.
2409         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
2410         (FONT_OBJ): Add comment about ftcrfont.
2411         (ALL_CFLAGS): Add CAIRO_CFLAGS.
2412         (LIBES): Add CAIRO_LIBS.
2413         * src/dispextern.h (struct image): Add cr_data for cairo.
2414         (x_cr_init_fringe): Declare.
2415         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
2416         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
2417         * src/fringe.c (x_cr_init_fringe): New function name that shares code
2418         with w32_init_fringe.
2419         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
2420         * src/ftfont.c (ftfont_info_size); New global variable.
2421         (ftfont_open2): New extern function almost the same as old ftfont_open,
2422         but takes the font_object as argument.
2423         (ftfont_open): Build font object and call ftfont_open2.
2424         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
2425         * src/gtkutil.c (xg_clear_under_internal_border)
2426         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
2427         queue_draw if not cairo.  Change args to x_clear_area.
2428         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
2429         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
2430         (xg_print_frames_dialog): New functions for printing.
2431         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
2432         (xg_print_frames_dialog): Declare.
2433         * src/image.c: Add defined (USE_CAIRO) for PNG.
2434         Add !defined USE_CAIRO for W32 PNG code.
2435         (x_clear_image): If cairo, destroy the surface in cr_data.
2436         (png_load): Add new cairo compatible implementation.
2437         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
2438         * src/xfns.c: New section Printing.
2439         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
2440         (x-print-frames-dialog): New printing functions.
2441         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
2442         cairo.
2443         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
2444         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
2445         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
2446         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
2447         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
2448         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2449         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
2450         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
2451         Declare.
2452         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
2453         (max_fringe_bmp, fringe_bmp): New variables.
2454         (x_gc_get_ext_data, x_extension_initialize)
2455         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
2456         (x_set_cr_source_with_gc_foreground)
2457         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
2458         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
2459         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
2460         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
2461         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
2462         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
2463         (x_update_begin): Create cairo surface if needed.
2464         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
2465         (x_update_end): Paint cairo drawing surface to xlib surface.
2466         (x_clear_under_internal_border, x_after_update_window_line): Adjust
2467         arguments to x_clear_area.
2468         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
2469         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
2470         of XSetClipMask.
2471         (x_set_glyph_string_clipping)
2472         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
2473         instead of XSetClipRectangles.
2474         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
2475         x_fill_rectangle instead of XFillRectangle.
2476         (x_draw_glyph_string_foreground)
2477         (x_draw_composite_glyph_string_foreground)
2478         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
2479         of XDrawRectangle.
2480         (x_draw_relief_rect): Add code for USE_CAIRO.
2481         Call x_reset_clip_rectangles instead of XSetClipMask.
2482         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
2483         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
2484         instead of XSetClipMask.
2485         (x_draw_image_foreground, x_draw_image_foreground_1):
2486         x_draw_rectangle instead of XDrawRectangle.
2487         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
2488         XFillRectangle.
2489         (x_draw_image_glyph_string): If img has cr_data, use it as
2490         a cairo surface.
2491         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
2492         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
2493         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
2494         x_reset_clip_rectangles instead of XSetClipMask.
2495         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
2496         (x_clear_area1): New function that calls XClearArea.
2497         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
2498         non-cairo.
2499         (x_clear_frame): x_clear_window instead of XClearWindow.
2500         (x_scroll_run): Set frame garbaged if cairo.
2501         (XTmouse_position): Initialize *part to 0.
2502         (x_scroll_bar_create): Adjust arguments to x_clear_area.
2503         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
2504         x_fill_rectangle instead of XFillRectangle.
2505         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
2506         arguments to x_clear_area.
2507         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
2508         (handle_one_xevent): Adjust arguments to x_clear_area.
2509         Destroy cairo surface for frame if ConfigureNotify.
2510         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
2511         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
2512         x_reset_clip_rectangles instead of XSetClipMask.
2513         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
2514         x_reset_clip_rectangles instead of XSetClipMask.
2515         (x_clear_frame_area): Adjust arguments to x_clear_area.
2516         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
2517         (x_term_init): Call x_extension_initialize if cairo.
2518         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
2519         x_cr_destroy_fringe_bitmap for cairo.
2520         (x_initialize): Call x_cr_init_fringe for cairo.
2521         * src/xterm.h: Add include of cairo header files.
2522         (x_bitmap_record): Add img if cairo.
2523         (x_gc_ext_data): New struct for cairo.
2524         (x_display_info): Add ext_codes for cairo.
2525         (x_output): Add cr_context and cr_surface for cairo.
2526         (x_clear_area): Change arguments from Display*/Window to frame pointer.
2527         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
2528         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
2529         (x_cr_draw_frame, x_cr_export_frames): Declare.
2531 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
2533         Fix integer-valued `mouse-highlight' (Bug#20590)
2534         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
2536 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
2538         MS-Windows followup for ASCIIfication of curved quotes
2539         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
2540         test for curved quotes being displayable, after switching the
2541         terminal encoding.  (Bug#20545)
2543 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
2545         Spelling fixes
2547 2015-05-17  Jan D  <jan.h.d@swipnet.se>
2549         Add comment that x_shift_glyphs_for_insert is never called.
2550         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
2551         comment that this function is never called.
2553 2015-05-16  Glenn Morris  <rgm@gnu.org>
2555         * src/lisp.mk: Remove from repository and generate at build-time.
2556         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
2557         (shortlisp_filter): New variable.
2558         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
2559         (distclean): Remove lisp.mk.
2560         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
2561         * lisp/loadup.el: Tweak layout to make it easier to parse.
2562         * make-dist: Do not distribute src/lisp.mk.
2564 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
2566         Display shorter dates in Git annotate output
2567         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
2568         format (when not overridden with vc-git-annotate-switches).
2569         (vc-git-annotate-time): Support the short format, as well as ISO
2570         8601 that has been used until now (bug#5428).
2572 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2574         ASCIIfy curved quotes on displays lacking them
2575         * lisp/international/mule-cmds.el (set-locale-environment):
2576         If curved quotes don't work, display straight ASCII approximations
2577         (Bug#20545).
2579 2015-05-16  Glenn Morris  <rgm@gnu.org>
2581         Small src/Makefile simplification.
2582         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
2583         * src/Makefile.in (lisp): Derive from shortlisp.
2584         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
2586 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
2588         * lisp/help-mode.el (help-go-forward): Doc fix.
2589         (Bug#20577)
2591         * doc/lispref/debugging.texi (Profiling): Improve indexing.
2592         (Bug#20576)
2594 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
2596         Use `unless' to have one fewer `not'
2597         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
2598         have one fewer `not'.
2600         Remove redundant :group declarations from vc-git.el
2601         * lisp/vc/vc-git.el (vc-git-diff-switches)
2602         (vc-git-annotate-switches, vc-git-resolve-conflicts)
2603         (vc-git-program, vc-git-root-log-format): Remove the redundant
2604         :group declarations.
2606 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
2608         Removes the predicate from lisp-complete-symbol (Bug#20456)
2609         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
2610         and remove it from the docstring.
2612 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
2614         Add new option vc-git-resolve-conflicts
2615         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
2616         (vc-git-find-file-hook): Add to after-save-hook only when the
2617         above is non-nil.
2618         (vc-git-resolve-when-done): Update to honor the new variable.
2619         (Bug#20292)
2621 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2623         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
2624         (tabulated-list-init-header): Document new behavior.
2625         (tabulated-list-print-fake-header): No nothing if
2626         `tabulated-list--header-string' is nil.
2627         (tabulated-list--header-string): Add a docstring.
2628         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
2629         * etc/NEWS: Document it.
2631 2015-05-15  Leo Liu  <sdl.web@gmail.com>
2633         Revert "Fix cps--gensym"
2634         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
2635           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
2637 2015-05-15  Glenn Morris  <rgm@gnu.org>
2639         Replace AC_SUBST_FILE in configure with include in Makefiles.
2640         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
2641         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
2642         (AUTO_DEPEND): New output variable.
2643         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
2644         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
2645         (lwlib_deps_frag): Replace by conditional include.
2646         * lwlib/autodeps.mk: Remove file.
2647         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
2648         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
2649         (oldxmenu_deps_frag): Replace by conditional include.
2650         * oldXMenu/autodeps.mk: Remove file.
2651         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
2652         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
2653         (lisp_frag): Replace by an include.
2654         (deps_frag): Replace by conditional include.
2655         * src/autodeps.mk: Remove file.
2657         Tweak japanese.el's loading of dependencies.
2658         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
2659         * lisp/language/japanese.el: Use require rather than load.
2660         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
2661         Provide a feature.
2662         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
2663         Provide a feature in the generated file.
2665 2015-05-15  Jan D  <jan.h.d@swipnet.se>
2667         Fix NS warnings.
2668         * nsmenu.m (ns_popup_dialog)
2669         * nsimage.m (initFromXBM:width:height:fg:bg:)
2670         * nsfns.m (Fx_create_frame): Remove unused variables.
2671         (Fns_read_file_name): Initialize fname, remove ret.
2672         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
2673         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
2674         variable.
2675         (init): Add parantesis in if.
2676         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
2678 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
2680         Fix a enum conversion warning in macfont.m
2681         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
2682         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
2684 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
2686         Support de-alt dictionary with Aspell.
2687         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
2688         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
2690 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
2692         cus-start.el: Add ns-confirm-quit.
2693         * cus-start.el: Add ns-confirm-quit.
2695         Fix warnings on OSX 10.10.
2696         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
2697         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
2698         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
2699         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
2700         * nsimage.m (allocInitFromFile, setPixmapData): Only call
2701         setScalesWhenResized for OSX < 10.6.
2702         * nsterm.h (EmacsScroller): Declare scrollerWidth.
2703         * nsterm.m (ns_copy_bits): New function that does not use deprecated
2704         NSCopyBits.
2705         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
2706         (runAlertPanel): New function.
2707         (applicationShouldTerminate:): Call runAlertPanel.
2708         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
2709         for OSX < 10.10.
2710         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
2711         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
2712         (draggingEntered:): Returns NSDragOperation.
2713         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
2715 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
2717         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
2718         (package--init-file-ensured): New variable.
2719         (package-initialize, package--ensure-init-file): Use it.
2721 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
2723         Honor :fore/background for XBM on NS (Bug#14969).
2724         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
2725         initFromXBM takes bg, fg args, remove flip arg.
2726         (ns_image_from_XBM): Add bg, fg args.
2727         * image.c (x_create_bitmap_from_data)
2728         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
2729         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
2730         Remove flip arg.
2731         (initFromSkipXBM): Move code to initFromXBM.
2732         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
2733         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
2734         false.
2735         Remove bit flipping (bitPat, swt), generated incorrect images when
2736         width/height wasn't a multiple of 8.
2737         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
2738         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
2739         flip arg.
2741 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
2743         * lisp/emacs-lisp/package.el: Be more careful with the init file
2744         (package--ensure-init-file): Check that user-init-file is set,
2745         exists, is readable, and is writable.  (Bug#20584)
2746         Also expand the docstring.
2748 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
2750         Sync with upstream verilog-mode revision 6232468
2751         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
2752         (verilog-highlight-grouping-keywords): Fix use of face when
2753         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
2754         Pompa.
2755         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
2756         parent is reset, bug906. Reported by Ken Schmidt.
2757         (verilog-auto-inout-module): Add fourth regexp argument to
2758         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
2759         bug856. Reported by John Tillema.
2760         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
2761         modport if signal attachment is itself a modport.  Reported by
2762         Matthew Lovell.
2763         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
2764         always_comb and always_latch, bug844.  Reported by Greg Hilton.
2765         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
2766         with many curly-bracket pairs, bug663.
2767         (verilog-set-auto-endcomments): Fix end comments for functions of
2768         type void, etc.  Reported by Alex Reed.
2769         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
2770         caused by indent-line-to deleting tabls pre 24.5.
2771         (verilog-nameable-item-re): Fix nameable items that can have an
2772         end-identifier to include endchecker, endgroup, endprogram,
2773         endproperty, and endsequence.  Reported by Alex Reed.
2774         (verilog-label-be): When auto-commenting a buffer, consider
2775         auto-comments on all known keywords (not just a subset thereof).
2776         Reported by Alex Reed.
2777         (verilog-auto-end-comment-lines-re)
2778         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
2779         Automatically comment property/endproperty blocks to match other
2780         similar blocks like sequence/endsequence, function/endfunction,
2781         etc. Reported by Alex Reed.
2782         (verilog-set-auto-endcomments): Detect the function- or task-name
2783         when auto-commenting blocks that lack an explicit
2784         portlist. Reported by Alex Reed.
2785         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
2786         allow post-AUTO user fixups, bug826. Reported by Dennis
2787         Muhlestein.
2788         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
2789         is nil, fix indenting initial/final to match always statements,
2790         bug825. Reported by Tim Clapp.
2791         (verilog-extended-complete-re): Fix indentation of DPI-C imports
2792         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
2793         Mao and Jason Forkey.
2794         (verilog-read-decls): Fix parsing typed interfaces.  Fix
2795         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
2796         Fix localparam not being ignored in AUTOINSTPARAM,
2797         bug889. Reported by Shannon Hill.
2798         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
2799         bug793.  Reported by Pierre-David Pfister.
2800         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
2801         verilog-auto-arg-format to support newlines in AUTOARG. Reported
2802         by Jie Xiao.
2803         (verilog-batch-execute-func): Do not batch re-auto files loaded by
2804         Local Variables. Fix printing "no changes to be saved" with
2805         verilog-batch. Reported by Dan Dever.
2806         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
2807         interface-only modules, bug721.  Reported by Dean Hoyt.
2808         Author: Alex Reed <acreed4@gmail.com>
2809         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
2810         treat '<keyword>:<identifier>' as the start of a labeled
2811         statement, bug905.  Reported by Enzo Chi.
2812         (verilog-directive-re, verilog-compiler-directives)
2813         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
2814         directives (plus some extras) when determining indentation, bug
2815         901.  Reported by Bernd Beuster.
2816         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
2817         iff expression doesn't start with word-character, bug900.
2818         (verilog-optional-signed-range-re, verilog-optional-signed-re):
2819         Fix incorrect indentation/alignment of unsigned declarations,
2820         bug897.
2821         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
2822         always constructs, bug895.
2823         (verilog-calc-1): Fix verilog-mode constraint indentation,
2824         bug324. Reported by Eric Mastromarchi.
2825         (verilog-beg-of-statement): Fix indenting for some forms of
2826         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
2827         continued assignment incorrect if first line ends with ']',
2828         bug437. Reported by Dan Dever.  Fix indention of cover inside an
2829         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
2830         blocks, bug842.
2831         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
2832         bug859. Reported by Kaushal Modi.
2833         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
2834         (verilog-backward-token): Fix indenting sensitivity lists with
2835         named events, bug840.  Reed.
2836         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
2837         nil not honoring 'forever', 'foreach', and 'do' keywords.
2839 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
2841         Check for invalid GTK+ monitor scales
2842         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
2843         INT_MAX for too-large scales.  All callers changed to assume the
2844         result is valid (Bug#20432).
2845         (xg_frame_set_char_size, xg_update_scrollbar_pos):
2846         Calculate scale only if needed.
2847         show ASCII approximations instead.
2849 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
2851         Fix daemon crashes when linum-mode is turned on early on
2852         * src/window.c (Fwindow_end): Don't try calling display engine
2853         functions on initial-frame frame.  (Bug#20565)
2855         Fix selective diff browsing in Ediff
2856         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
2857         beginning of the region before searching for the
2858         ediff-regexp-focus-* regexps.  (Bug#20568)
2860 2015-05-14  Jan D  <jan.h.d@swipnet.se>
2862         Fixes Bug#20142.
2863         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
2864         in the main loop, even for Gtk 3 (Bug#20142).
2866         Don't access display after i/o error (Bug#19147).
2867         * xterm.c (x_connection_closed): Add third arg ioerror.
2868         If ioerror, set display to 0 (Bug#19147).
2869         (x_error_quitter): Call x_connection_closed with third arg false.
2870         (x_io_error_quitter): Call x_connection_closed with third arg true.
2872         Handle GTK_SCALE, fixes Bug#20432.
2873         * gtkutil.c (xg_get_gdk_scale): New function.
2874         (xg_frame_set_char_size)
2875         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
2876         (xg_get_default_scrollbar_height)
2877         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
2878         when setting sizes (Bug#20432).
2880 2015-05-13  Leo Liu  <sdl.web@gmail.com>
2882         Fix cps--gensym
2883         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
2885 2015-05-13  Glenn Morris  <rgm@gnu.org>
2887         Fix bootstrap (void function cl-member).
2888         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
2889         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
2891 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2893         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
2894         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
2895         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
2896         Avoid defalias for closures which are not immutable.
2897         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
2898         dispatchers table with various entries.
2899         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
2900         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
2902 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
2904         Improve tagging of C bindings in DEFVAR_*
2905         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
2906         from DEFVAR_*.
2908 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
2910         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
2912 2015-05-12  Glenn Morris  <rgm@gnu.org>
2914         * lisp/progmodes/tcl.el (tcl-filter):
2915         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
2917         Add basic VC push support.
2918         * lisp/vc/vc.el (vc-push): New autoloaded command.
2919         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
2920         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
2921         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
2922         (vc-bzr-push): New.
2923         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
2924         (vc-git-pull): Reimplement using vc-git--pushpull.
2925         (vc-git-push): New.
2926         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
2927         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
2928         * doc/emacs/maintaining.texi (Pulling / Pushing):
2929         Rename from "VC Pull".  Mention pushing.
2930         (VC With A Merging VCS, VC Change Log): Update xrefs.
2931         (Branches): Update menu.
2932         * doc/emacs/emacs.texi: Update menu.
2933         * etc/NEWS: Mention this.
2935 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
2937         Improve the seq pcase pattern and the `seq-let' macro
2938         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
2939         object is a sequence, and binds each element of ARGS to the
2940         corresponding element of the sequence.
2942 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
2944         Fix tags created from DEFVAR_* declarations in C
2945         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
2946         to make tags extracted from DEFVAR_* declarations more accurate.
2948         Add a test suite for etags
2949         * test/etags/: New test suite, adapted from
2950         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
2951         whose original author is Francesco Potortì <pot@gnu.org>.
2953         Fix tagging of symbols in C enumerations
2954         * lib-src/etags.c (consider_token): Don't tag symbols in
2955         expressions that assign values to enum constants.  See
2956         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
2957         for details.
2958         (C_entries): Reset fvdef to fvnone after processing a preprocessor
2959         conditional and after a comma outside of parentheses.
2961 2015-05-12  Glenn Morris  <rgm@gnu.org>
2963         * lisp/url/url-handlers.el (url-file-name-completion)
2964         (url-file-name-all-completions): Silence compiler.
2966         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
2968         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
2970 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2972         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
2973         (cl--generic-mandatory-args): Remove.
2974         (cl--generic-split-args): New function.
2975         (cl-generic-define, cl--generic-lambda): Use it.
2976         (cl-generic-define-method): Use it as well, and add support for
2977         context args.
2978         (cl--generic-get-dispatcher): Handle &context dispatch.
2979         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
2980         (cl--generic-dispatchers): Pre-fill.
2981         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
2983 2015-05-11  Glenn Morris  <rgm@gnu.org>
2985         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
2987 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2989         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
2990         * lisp/term/rxvt.el: Require term/xterm.
2991         (rxvt-function-map): Use xterm-rxvt-function-map.
2992         (rxvt-standard-colors): Move before first use.
2993         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
2994         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
2995         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
2996         Move shared bindings between rxvt and xterm to it.
2997         (xterm-function-map): Use it.  Move the xterm-paste binding to
2998         xterm-rxvt-function-map (bug#20444).
2999         (xterm-standard-colors): Move before first use.
3000         (xterm--push-map): New function.
3001         (xterm-register-default-colors): Take standard colors as argument.
3002         (terminal-init-xterm): Use it.  Adjust call to
3003         xterm-register-default-colors.
3005 2015-05-11  Glenn Morris  <rgm@gnu.org>
3007         * lisp/term/x-win.el: Quieten --without-x compilation.
3008         (x-own-selection-internal, x-disown-selection-internal)
3009         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
3010         Declare.
3012         * Makefile.in (emacslog): Remove srcdir.
3013         (ChangeLog): Update for the above.
3015 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3017         Spelling fix
3019 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3021         python.el: better limit for looking-back calls
3022         * lisp/progmodes/python.el (python-shell-accept-process-output):
3023         Use last comint prompt start as limit for looking-back.
3025 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3027         CEDET (srecode-insert-fcn): Fix use of oref on a class
3028         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
3029         a class.  Reported by Pierre Lorenzon.
3030         (srecode-template-inserter-point): Remove declaration.
3032         CEDET (srecode-create-dictionary): Avoid obsolete object name
3033         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
3034         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
3036 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3038         C-x 8 shorthands for curved quotes, Euro, etc.
3039         Although C-x 8 lets you insert arbitrary Unicode characters,
3040         it's awkward to use this to insert commonly used symbols such as curved
3041         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
3042         characters commonly found in English text and in basic math.
3043         For example, assuming the Alt key works on your keyboard and iso-transl
3044         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
3045         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
3046         (Bug#20499)
3047         * doc/emacs/mule.texi (Unibyte Mode):
3048         A few other printing characters now work too.
3049         * etc/NEWS: Document this.
3050         * lisp/international/iso-transl.el (iso-transl-char-map):
3051         Also support the following characters:
3052         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
3054 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
3056         Add xref-find-regexp
3057         * lisp/progmodes/xref.el (xref-find-function): Describe the
3058         `matches' action.
3059         (xref-find-regexp): New command, using it.
3060         (xref-collect-references): Rename to xref-collect-matches.
3061         (xref--collect-reference): Rename to xref--collect-match.
3062         (xref-collect-matches, xref--collect-match): Accept new argument,
3063         KIND.  Update accordingly.
3064         (xref--regexp-to-extended): New function.
3065         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
3066         `matches' action.
3067         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
3068         * lisp/progmodes/etags.el (etags-xref-find):
3069         Support the `matches' action.
3070         (etags--xref-find-matches): New function.
3072 2015-05-10  Glenn Morris  <rgm@gnu.org>
3074         * Makefile.in: Fixes for recent change-history changes.
3075         (change-history-nocommit): Update footer regexp.
3076         Ensure output script stays executable.
3078 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
3080         New version of `seq-let' based on a pcase pattern
3081         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
3082         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
3084 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
3086         Add basic HTML5 tags and a template
3087         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
3088         (html-tag-alist): Add HTML5 tags.
3089         (html-tag-help): Add new tags descriptions.
3090         (html-navigational-links): Template for nav links.
3091         (html-html5-template): Template for a HTML5 page.
3093 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
3095         semantic/symref/grep: Don't use word boundaries
3096         * lisp/cedet/semantic/symref/grep.el
3097         (semantic-symref-perform-search): Instead of wrapping input in
3098         word boundaries, check that the characters before and after are
3099         not word constituents.
3101         semantic/symref/grep: Support regexp search
3102         * lisp/cedet/semantic/symref.el
3103         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
3104         the search type is regexp.
3105         * lisp/cedet/semantic/symref/grep.el
3106         (semantic-symref-perform-search): Support the regexp search type.
3107         Pass -E to Grep when it's used.
3109         semantic-symref-regexp: Allow to input an arbitrary string
3110         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
3111         Allow to input an arbitrary string interactively.
3113         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
3114         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
3115         Remove tag-symbol-match-p from the default value
3116         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
3118         Declare find-tag obsolete
3119         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
3120         xref-find-definitions.
3122 2015-05-10  Jan D  <jan.h.d@swipnet.se>
3124         Draw composite string correctly (Bug#20537).
3125         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
3126         (ns_draw_glyph_string): Call it (Bug#20537).
3128 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
3130         Avoid infloop in ERC
3131         * lisp/simple.el (line-move-to-column): Ignore field boundaries
3132         while computing line beginning position.  (Bug#20498)
3134 2015-05-08  Glenn Morris  <rgm@gnu.org>
3136         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
3137         * build-aux/gitlog-to-emacslog: Check called from right directory.
3138         (srcprefix): Remove.
3140         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
3141         * Makefile.in (ChangeLog): No longer pass "distprefix".
3142         * make-dist: Update "make ChangeLog" syntax for the above change.
3144         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
3145         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
3147         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
3149         Add command-line option-parsing to gitlog-to-emacslog.
3150         * build-aux/gitlog-to-emacslog: Add command-line options.
3151         By default, refuse to remove an existing output file.
3152         * Makefile.in (CHANGELOG): Update default.
3153         (ChangeLog): Do not test for existing file.
3154         (change-history-nocommit): Ensure temp file does not exist.
3156         Quieten --without-x compilation.
3157         * lisp/term/common-win.el: Provide a feature.
3158         * lisp/term/x-win.el (term/common-win): Require it.
3160         * lisp/dired-aux.el (dired-do-print): Require lpr.
3162         Quieten compilation, eg in --without-x builds.
3163         * lisp/dired-aux.el (lpr-printer-switch):
3164         * lisp/frame.el (tool-bar-height):
3165         * lisp/linum.el (font-info):
3166         * lisp/window.el (font-info, overflow-newline-into-fringe)
3167         (tool-bar-height):
3168         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
3169         * lisp/gnus/gnus-util.el (iswitchb-mode):
3170         * lisp/mail/rmailmm.el (libxml-parse-html-region):
3171         * lisp/net/nsm.el (gnutls-peer-status)
3172         (gnutls-peer-status-warning-describe):
3173         * lisp/net/shr.el (libxml-parse-xml-region):
3174         * lisp/url/url-http.el (gnutls-peer-status): Declare.
3176 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
3178         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
3179         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
3180         `subclass' since they're never called with a class.
3181         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
3182         srecode-dictionary-child-p.
3184 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3186         help--binding-locus: Document argument POSITION.
3187         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
3189 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
3191         Merge from gnulib.
3192         * doc/misc/texinfo.tex: Get latest version.
3194 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
3196         ffap.el (ffap-read-file-or-url): Fix completing-read call
3197         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
3198           `completing-read' should be a symbol.
3200 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
3202         Verify file modifications by other programs
3203         * src/filelock.c (lock_file): Check whether the file was modified
3204         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
3206         Fix keyboard macros that include function keys
3207         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
3208         keys in the macro before returning.  (Bug#20454)
3210 2015-05-08  Glenn Morris  <rgm@gnu.org>
3212         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
3213         "Copyright-paperwork-exempt".  (Bug#20324)
3215         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
3216         (log-edit-rewrite-tiny-change): New variable.
3217         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
3218         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
3219         * etc/NEWS: Mention this.
3221         * lisp/calc/calc.el (math-zerop): Declare.
3223         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
3225 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
3227         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
3228         Support the case when BINDINGS is a single tuple.  (Bug#20525)
3230         * etc/NEWS: Fix typo in commit 14bb519
3232 2015-05-07  Jan D  <jan.h.d@swipnet.se>
3234         Warn for multiple display crash for all Gtk+ versions.
3235         * configure.ac: Warn for multiple display crash for all Gtk+
3236         versions.  Output URL to Gtk+ bug (Bug#20452).
3238         ns-win.el (ns-paste-secondary): Use gui-get-selection.
3239         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
3241 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
3243         * lisp/emacs-lisp/package.el: New "external" package status
3244         An external package is any installed package that's not built-in
3245         and not from `package-user-dir', which usually means it's from an
3246         entry in `package-directory-list'.  They are treated much like
3247         built-in packages, in that they cannot be through the Package Menu
3248         deleted and are not considered for upgrades.
3249         (package-desc-status): Identify if a package is installed outside
3250         `package-user-dir'.
3251         (package-menu--print-info-simple)
3252         (package-menu--status-predicate): Add support for it.
3253         * etc/NEWS: Document it.
3255 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3257         * lisp/mail/rmail.el: Use lexical-binding
3258         (rmail-bury): Remove unused var `buffer-to-bury'.
3259         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
3260         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
3261         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
3262         (rmail-insert-inbox-text): Remove unused var `movemail'.
3263         (rmail-add-mbox-headers): Remove unused var `limit'.
3264         (rmail-undelete-previous-message): Remove unused var `value'.
3265         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
3266         `resent-reply-to'.
3267         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
3268         (rmail-restore-desktop-buffer): Rename arguments.
3270 2015-05-06  Glenn Morris  <rgm@gnu.org>
3272         * Makefile.in (change-history-commit): Add missing piece of previous.
3274         Avoid unnecessary bumping of Makefile.in's timestamp.
3275         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
3276         (emacslog): New variable.
3277         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
3278         (unchanged-history-files): Use $emacslog rather than Makefile.in.
3279         (change-history-nocommit): Store hash in $emacslog.
3280         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
3281         * admin/update_autogen (changelog_files): Update for the above.
3283         * Makefile.in: Don't always insist on removing existing "ChangeLog".
3284         (CHANGELOG): New variable.
3285         (no-ChangeLog): Remove.
3286         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
3287         (change-history-nocommit): Use a temp file rather than insisting
3288         on deletion of any existing "ChangeLog".
3290         * build-aux/gitlog-to-emacslog: Allow specification of output.
3292         * admin/update_autogen: Add option to update ChangeLog.
3293         (usage): Mention -H.
3294         (changelog_flag, changelog_n, changelog_files): New variables.
3295         (main): Check for -H, and maybe run change-history-nocommit.
3297 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3299         * lisp/subr.el (delete-dups): Pre-size the hashtable.
3301         (define-modify-macro): Make sure cl--arglist-args is defined
3302         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
3303         cl--arglist-args is defined (bug#20517).
3305 2015-05-06  Glenn Morris  <rgm@gnu.org>
3307         * Makefile.in (change-history-nocommit): New.
3309 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
3311         Only cancel timer when it is non-nil
3312         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
3313         timer when it is non-nil
3314         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
3316 2015-05-06  Glenn Morris  <rgm@gnu.org>
3318         Quieten cedet compilation
3319         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
3320         Invert fboundp test to quieten on current Emacs.
3321         * lisp/cedet/ede/config.el (ede-shell-run-something)
3322         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
3323         (semanticdb-refresh-table): Declare.
3324         (ede-preprocessor-map): Require semantic/db.
3326         Quieten cc-mode compilation
3327         * lisp/progmodes/cc-awk.el (c-forward-sws):
3328         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
3329         Declare.
3331 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
3333         lisp/subr.el (delete-dups): Avoid nreverse.
3335 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
3337         * lisp/subr.el (delete-dups): Make it destructive again.
3339 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3341         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
3343 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3345         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
3346         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
3347         (testcover--read): Rename from testcover-read.  Change calling convention.
3348         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
3349         (testcover-start): Use add-function.  Move edebug-all-defs binding to
3350         testcover--read.
3351         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
3352         (testcover-mark): Remove unused var `item'.
3353         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
3355 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
3357         lisp/subr.el (delete-dups): Use a hash table
3358         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
3359           use a hash table. This can result in ~500 times speed-up for typical
3360           collections of size 5000, like that of `load-library'.
3362 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3364         CEDET: Avoid `oref' on classes in a few more cases
3365         * lisp/cedet/ede/generic.el (ede-find-target):
3366         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
3367         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
3368         var `prefix'.
3370         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
3371         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
3372         (semantic-symref-perform-search): Remove unused var `pat'.
3374         CEDET (srecode-compile-inserter): Avoid `oref' on classes
3375         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
3376         Avoid `oref' on classes (bug#20491).
3377         (srecode-compile-split-code): Remove unused var `key'.
3379 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
3381         Clean up pulse.el a little
3382         * lisp/cedet/pulse.el (pulse): Remove.
3383         (pulse-momentary-timer): Save instead of the stop time.
3384         (pulse-momentary-highlight-overlay): Call
3385         pulse-momentary-unhighlight first thing. Treat
3386         pulse-momentary-overlay as a single value, not a list. Save the
3387         created timer. Only pass the stop time to the timer.
3388         (pulse-tick): Update accordingly.
3389         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
3390         single value. Cancel the timer.
3392 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
3394         Support the biblatex journaltitle field
3395         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
3396         Support the biblatex journaltitle field.
3398 2015-05-05  Glenn Morris  <rgm@gnu.org>
3400         Minor declare-function improvement
3401         * lisp/emacs-lisp/bytecomp.el
3402         (byte-compile-macroexpand-declare-function):
3403         Handle declarations after calls.  (Bug#20509)
3405         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
3407         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
3409 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
3411         Pulse using a timer
3412         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
3413         (pulse-momentary-highlight-overlay): Set up the timer instead of
3414         calling `pulse'
3415         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
3416         (pulse-tick): New function.
3417         (pulse-momentary-unhighlight): Cut off the stop time.
3418         (pulse-delay): Update the docstring WRT to not using sit-for.
3420         Add semantic/symref/grep file patterns for ruby-mode
3421         * lisp/cedet/semantic/symref/grep.el
3422         (semantic-symref-filepattern-alist): Add patterns for
3423         ruby-mode. Clarify the docstring.
3425         Don't require match
3426         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
3427         match. That doesn't work for every command, and some identifier
3428         completion tables are bound to be imperfect anyway.
3430 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
3432         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
3433         (semantic-grammar--template-expand): New function.
3434         (semantic-grammar-header, semantic-grammar-footer): Use it.
3435         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
3436         (semantic-grammar-file-regexp): Refine regexp.
3437         (semantic-grammar-eldoc-get-macro-docstring):
3438         Use elisp-get-fnsym-args-string when available.
3439         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
3440         instead of the old eldoc-* names.
3441         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
3442         from elisp-mode.el.  Tweak calling convention.
3443         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
3444         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
3445         elisp--get-fnsym-args-string.
3446         (elisp--highlight-function-argument): Add `prefix' arg.
3447         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
3448         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
3450 2015-05-05  Glenn Morris  <rgm@gnu.org>
3452         * lisp/help-fns.el (describe-function-1):
3453         Handle builtins with advertised calling conventions.  (Bug#20479)
3455 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
3457         Merge branch 'seq-let'
3459         Update `seq-let' documentation
3460         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
3461         with the support of  `&rest'.
3463         Add support for &rest in `seq-let'
3464         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
3465         in the argument list.
3466         * test/automated/seq-tests.el: Add a test for parsing and binding
3467         `&rest' in `seq-let'.
3469 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3471         Spelling fixes
3473 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
3475         * eieio-custom.el (eieio-object-value-get): Add missing increment
3476         (Bug#20467)
3478         (eieio-object-value-create): Adjust to new slots representation
3479         (Bug#20467)
3480         * eieio-custom.el (eieio-object-value-create):
3481         Fix missed adjustment to new representation of slots metadata.
3483 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
3485         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
3487 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
3489         Work around "Attempt to modify read-only object"
3490         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
3491         elisp--xref-find-definitions, to work around "Attempt to modify
3492         read-only object" error.
3494         Only skip some variables that have function counterparts
3495         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
3496         Only skip minor-mode-named variable if it's defined in a Lisp
3497         file, and it's in minor-mode-list (bug#20506).
3498         * test/automated/elisp-mode-tests.el
3499         (elisp-xref-finds-both-function-and-variable)
3500         (elisp-xref-finds-only-function-for-minor-mode): New tests.
3502 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3504         Buttonize the whole line, including the number at the beginning
3505         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
3506         previous change.
3507         (xref--insert-xrefs): Buttonize the whole line, including the
3508         number at the beginning.
3510         Make sure we're inside the let bindings
3511         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
3512         Make sure we're inside the let bindings.
3513         * test/automated/elisp-mode-tests.el
3514         (elisp-completes-functions-after-let-bindings): New test.
3516 2015-05-04  Glenn Morris  <rgm@gnu.org>
3518         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
3519         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
3520         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
3521         Remove outdated declarations.
3523         Replace instances of "(eval-when-compile (autoload ...))"
3524         * lisp/gnus/gnus-art.el (nneething-get-file-name):
3525         Declare rather than autoload.
3526         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
3527         Remove pointless autoload.
3528         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
3529         (gnus-topic-create-topic, gnus-topic-enter-dribble):
3530         Declare rather than autoload.
3531         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
3532         (mailcap-extension-to-mime): Autoload at run-time.
3533         * lisp/gnus/mm-util.el (latin-unity-massage-name)
3534         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
3535         (latin-unity-representations-present-region):
3536         Declare rather than autoload.
3537         * lisp/gnus/mml-smime.el (epg-make-context)
3538         (epg-passphrase-callback-function): Autoload at run-time.
3539         (epg-context-set-signers, epg-context-result-for)
3540         (epg-new-signature-digest-algorithm)
3541         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
3542         (epg-sign-string, epg-encrypt-string)
3543         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
3544         (epg-configuration, epg-expand-group, epa-select-keys):
3545         Declare rather than autoload.
3546         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
3547         Autoload at run-time.
3548         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
3549         (gnus-registry-get-id-key, gnus-registry-action):
3550         Declare rather than autoload.
3551         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
3552         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
3553         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
3554         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
3555         (spam-stat-split-fancy): Remove pointless autoloads.
3556         * lisp/net/mairix.el: Load gnus-util when compiling.
3557         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
3558         (message-field-value): Declare rather than autoload.
3559         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
3560         Check gnus-alive-p is fbound.
3561         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
3562         (vm-check-for-killed-summary, vm-error-if-folder-empty)
3563         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
3564         Declare rather than autoload.
3566         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
3568         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
3569         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
3571         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
3573         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
3575         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
3576         * lisp/emacs-lisp/package.el (epg-signature-status):
3577         Fix declarations.
3579         * lisp/play/gametree.el (gametree-show-children-and-entry)
3580         (gametree-apply-layout, gametree-mouse-show-subtree)
3581         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
3583         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
3584         Handle cl-defgeneric, cl-defmethod.
3586 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3588         Highlight both type and symbol name
3589         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
3590         Highlight both type and symbol name.
3592         Insert, highlight and align line numbers in xref output
3593         * lisp/progmodes/etags.el (xref-location-line): Specialize for
3594         xref-etags-location.
3595         * lisp/progmodes/xref.el (xref-location-line): New generic method.
3596         (xref-file-location): Add reader for the line slot.
3597         (xref--location-at-point): Skip to the `xref-location' property.
3598         (xref--collect-reference): Drop the line number from description.
3599         (xref--insert-xrefs): Insert, highlight and align line numbers.
3601 2015-05-04  Daniel Colascione  <dancol@dancol.org>
3603         Fix previous commit
3605 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3607         Don't pulse the indentation, or the newline
3608         * lisp/cedet/pulse.el (pulse-lighten-highlight)
3609         (pulse-reset-face): Fall back to the inherited background
3610         attribute in FACE.
3611         (pulse-momentary-highlight-region): Add autoload cookie.
3612         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
3613         indentation, or the newline, if the line's non-empty
3614         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
3616 2015-05-04  Daniel Colascione  <dancol@dancol.org>
3618         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
3619         * doc/lispref/positions.texi (Excursions): Document
3620         `save-mark-and-excursion'.
3621         * lisp/font-lock.el (font-lock-fontify-block): Use
3622         `save-mark-and-excursion' instead of `save-excursion', restoring
3623         Emacs 24 behavior.
3624         * lisp/simple.el (save-mark-and-excursion--save)
3625         (save-mark-and-excursion--restore): New functions.
3626         (save-mark-and-excursion): New user macro.
3627         * src/editfns.c (Fsave_excursion): Mention
3628         `save-mark-and-excursion' in `save-excursion' documentation.
3630 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3632         Classify lone symbol inside let varlist as variable
3633         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
3634         Classify lone symbol inside let varlist as variable.
3635         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
3636         New test.
3638         Add xref-pulse-on-jump
3639         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
3640         Add autoload cookie.
3641         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
3642         (xref--maybe-pulse): New function.
3643         (xref-pop-marker-stack, xref--pop-to-location)
3644         (xref--display-position): Use it.
3645         (xref--location-at-point): Use back-to-indentation.
3647 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
3649         * lisp/org/org-{macs,list}.el: Fix lexical warnings
3650         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
3651         (org-list-get-next-item, org-list-get-prev-item)
3652         (org-list-get-children): Mark unused arg `struct'.
3653         (org-list-use-alpha-bul-p): Remove unused var `bul'.
3654         (org-toggle-checkbox): Mark unused var.
3655         (org-update-checkbox-count): Remove unused var `box-num'.
3656         (org-adapt-indentation): Declare.
3657         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
3658         (org-list-send-list): Remove unused var `txt'.
3659         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
3660         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
3661         * lisp/org/org-macs.el: Use `declare'.
3662         (org-with-limited-levels): Declare dyn-bound vars.
3664 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
3666         Fix minor issues with CEDET on MS-Windows
3667         * lisp/cedet/semantic/symref/idutils.el
3668         (semantic-symref-parse-tool-output-one-line): Fix the search
3669         regexp to match MS-Windows file names with drive letters.
3670         (Bug#19468)
3671         * lisp/cedet/semantic/symref/grep.el
3672         (semantic-symref-grep-use-template): Remove "--color=always" from
3673         Grep switches on MS-Windows.
3674         (semantic-symref-grep-shell): Use shell-file-name as the default
3675         value, so this works not only on Posix platforms.
3676         (semantic-symref-perform-search): Use shell-quote-argument instead
3677         of literal '..' for portable quoting of Grep command-line
3678         argument.  Use shell-command-switch instead of a literal "-c".
3679         * lisp/cedet/semantic/bovine/gcc.el
3680         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
3681         for an absolute file name in a portable way.
3683 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
3685         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
3686         (package-import-keyring, package-refresh-contents)
3687         (package-compute-transaction, package--save-selected-packages)
3688         (package-install-from-archive, package-delete)
3689         (package-menu--perform-transaction): Use `inhibit-message'
3690         instead.
3691         (package--compile): Set `warning-minimum-level' to :error.
3693 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3695         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
3696         (terminal-init-screen): Use it (bug#20356).
3697         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
3698         (xterm--extra-capabilities-type): New const.
3699         (xterm-extra-capabilities): Use it.
3700         (xterm--version-handler): Lower the pseudo-version for `screen'.
3702 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
3704         xref--insert-xrefs: Tweak the faces
3705         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
3706         Always insert a newline at the end (to avoid mouse-face background
3707         tail at the last line).
3709         elisp-completion-at-point: Prioritize being quoted over funpos
3710         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
3711         Only consider function position when not inside quoted form
3712         (bug#20425).
3713         * test/automated/elisp-mode-tests.el: New file.
3715         Stop vc-print-log from jumping to the top
3716         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
3717         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
3718         is not specified.
3719         (vc-incoming-outgoing-internal): Always pass nil.
3720         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
3721         call it, and don't set vc-sentinel-movepoint (bug#15322).
3722         (vc-print-root-log): Don't fetch the root working revision, nor
3723         pass it to vc-print-log-internal.
3725 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
3727         Fix display of keyboard layouts for right-to-left scripts
3728         * lisp/international/quail.el (quail-insert-kbd-layout): Force
3729         left-to-right paragraph direction.
3731 2015-05-02  K. Handa  <handa@gnu.org>
3733         * cmds.c (internal_self_insert): When we insert spaces for
3734         padding, set point before the padding spaces, not after them.
3736 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
3738         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
3740 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
3742         Fix etags-xref-find for references
3743         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
3744         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
3745         directory if no tags tables are loaded (bug#19468).
3747 2015-05-02  Philipp Stephani  <phst@google.com>
3749         Update the options in whitespace-style defcustom
3750         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
3751         `repeat' because the option is really set-like.  Add missing
3752         options.  Reorder options to match the order in the
3753         documentation.  (Bug#20346)
3755 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
3757         Fix error diagnostics of c-macro-expand
3758         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
3759         too early if no start-marker string was found -- that generally
3760         means cpp exited abnormally, and we still want to show its error
3761         messages to the user.
3763         Don't require Texinfo 5.0 for Emacs documentation
3764         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
3765         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
3766         "@codequoteundirected on", respectively, to avoid requiring
3767         Texinfo 5.x for Emacs documentation.
3769 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
3771         * lisp/files.el (pwd):
3772         When called with a prefix argument, insert the current default
3773         directory at point.
3775 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
3777         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
3778         * lisp/isearch.el (isearch-mode-map): Don't inhibit
3779         function-key-map remapping for backspace (bug#20466).
3781 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
3783         Implement xref-find-references in etags and elisp-mode
3784         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
3785         (elisp-xref-find): Use it.
3786         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
3787         * lisp/progmodes/xref.el (xref-collect-references):
3788         (xref--collect-reference): New functions.
3790 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
3792         Prefer plain characters to Texinfo circumlocutions
3793         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
3794         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
3796         Fix single-quoting style in PDF manuals
3797         The PDF versions of the GNU manuals used curved single quotes to
3798         represent grave accent and apostrophe, which made it a pain to cut
3799         and paste code examples from them.  Fix the PDF versions to use
3800         grave accent and apostrophe for Lisp source code, keystrokes, etc.
3801         This change does not affect the info files, nor does it affect
3802         ordinary uses of curved single quotes in PDF.
3803         * doc/emacs/docstyle.texi: New file, which specifies treatment for
3804         grave accent and apostrophe, as well as the document encoding.
3805         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
3806         * doc/lispintro/emacs-lisp-intro.texi:
3807         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
3808         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
3809         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
3810         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
3811         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
3812         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
3813         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
3814         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
3815         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
3816         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
3817         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
3818         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
3819         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
3820         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
3821         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
3822         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
3823         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
3824         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
3825         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
3826         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
3827         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
3828         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
3829         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
3830         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
3831         * doc/misc/woman.texi:
3832         Use it instead of '@documentencoding UTF-8', to lessen the need for
3833         global changes like this in the future.
3834         * doc/emacs/Makefile.in (EMACS_XTRA):
3835         * doc/lispintro/Makefile.in (srcs):
3836         * doc/lispref/Makefile.in (srcs):
3837         Add dependency on docstyle.texi.
3838         * doc/misc/Makefile.in (style): New macro.
3839         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
3840         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
3841         Use it.
3843 2015-05-01  Glenn Morris  <rgm@gnu.org>
3845         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
3847         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
3848         (help-fns--signature): Declare.
3850         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
3852 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
3854         New macro seq-let, providing destructuring support to seq.el
3855         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
3856         to `cl-destructuring-bind' but works on all sequence types supported
3857         by `seq.el'.  Bump version number to 1.6.
3858         * test/automated/seq-tests.el: Add tests for seq-let.
3859         * doc/lispref/sequences.texi: Add documentation for seq-let.
3861 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
3863         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
3865 2015-05-01  Glenn Morris  <rgm@gnu.org>
3867         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
3869 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
3871         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
3872         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
3873         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
3874         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
3875         (Bug#20445).
3877 2015-05-01  K. Handa  <handa@gnu.org>
3879         * mule-cmds.el (input-method-use-echo-area): Change :type to
3880         'boolean.
3882 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3884         Start using proportional fonts in eww by default
3885         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
3886         it seems to work well.
3888         Fix links in tables in shr
3889         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
3890         makes (some) links in tables not work.
3892 2015-05-01  Jan D  <jan.h.d@swipnet.se>
3894         (ns-get-cut-buffer-internal): Remove this alias.
3895         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
3897 2015-04-30  Glenn Morris  <rgm@gnu.org>
3899         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
3900         Update for 2015-02-08 change to indirect-function.
3902         * lisp/term/ns-win.el (ns-get-selection-internal):
3903         Remove declaration for function deleted 2014-10-21.
3905         * lisp/dom.el: Load subr-x when compiling, for when-let.
3907         Silence some compilation warnings
3908         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
3909         * lisp/emulation/cua-base.el (delete-active-region):
3910         * lisp/net/net-utils.el (w32-get-console-output-codepage):
3911         * lisp/term/ns-win.el (ns-own-selection-internal)
3912         (ns-disown-selection-internal, ns-selection-owner-p)
3913         (ns-selection-exists-p, ns-get-selection):
3914         Declare for compiler..
3916         Function declaration updates prompted by 'make check-declare'
3917         * lisp/emacs-lisp/package.el (lm-homepage):
3918         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
3919         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
3920         * lisp/gnus/mml.el (libxml-parse-html-region):
3921         * lisp/gnus/nnrss.el (libxml-parse-html-region):
3922         * lisp/net/eww.el (libxml-parse-html-region):
3923         * lisp/net/shr.el (libxml-parse-html-region):
3924         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
3925         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
3926         * lisp/vc/vc-git.el (vc-annotate-convert-time):
3927         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
3928         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
3929         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
3930         Update declaration.
3932         Remove compatibility code for 20-year old function renaming
3933         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
3934         Make it an obsolete alias.
3935         (idlwave-shell-filter): Change all uses to comint-output-filter.
3937 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
3939         Add ace-window face config
3940         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
3941         configuration.
3943 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
3945         Unclutter 'make doc' output a bit
3946         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
3947         Use make subst rather than sh IFS to split target string apart.
3948         This makes 'make' output easier to follow.
3950         Merge from gnulib
3951         * doc/misc/texinfo.tex: Update from gnulib.
3953 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
3955         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
3956         (package-menu--print-info): Obsolete.
3957         (package-menu--print-info-simple): New function.
3958         (package-menu--refresh): Use it, simplify code, and improve
3959         performance.
3960         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
3961         Tiny performance improvement.
3963         * lisp/emacs-lisp/package.el (package--message): inhibit-message
3965 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
3967         Omit -Wstrict-overflow workaround in GCC 5
3968         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
3969         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
3971         Merge from gnulib
3972         This incorporates:
3973         2015-04-29 extern-inline: no need for workaround in GCC 5.1
3974         2015-04-26 file-has-acl: port to CentOS 6
3975         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
3977 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
3979         Set next-error-* in xref--xref-buffer-mode
3980         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
3981         `next-error-last-buffer'.
3982         (xref--next-error-function): New function.
3983         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
3985 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3987         python.el: Fix warnings on looking-back calls missing LIMIT
3988         * lisp/progmodes/python.el (python-shell-accept-process-output):
3989         Pass LIMIT arg to looking-back.
3991 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3993         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
3994         (package--download-and-read-archives): Use pushnew instead of
3995         append.  If something terrible happened during a previous
3996         download, simply refreshing should now make things work again.
3998 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
4000         Introduce etags-xref-find-definitions-tag-order
4001         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
4002         New variable.
4003         (etags--xref-find-definitions): Use it (bug#19468).
4005 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
4007         PATH- and completion-related fixes in Eshell on MS-Windows
4008         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
4009         MS-Windows, prepend "." to list of directories produced from PATH,
4010         as Windows always implicitly searches the current directory first.
4011         (eshell-force-execution): Make it have a non-nil default value on
4012         MS-Windows and MS-DOS.
4013         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
4014         eshell-force-execution is non-nil, complete on readable files and
4015         directories, not only executables.  When running on MS-Windows,
4016         prepend "." to list of directories produced from PATH, as Windows
4017         always implicitly searches the current directory first.
4019 2015-04-29  Sam Steingold  <sds@gnu.org>
4021         bury RCIRC buffers when there is no activity
4022         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
4023         (rcirc-bury-buffers): new function
4024         (rcirc-next-active-buffer): when there is no new activity, use
4025         `rcirc-bury-buffers' to hide all RCIRC buffers
4027 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
4029         Fix DBUS query result parsing for secrets-search-items
4030         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
4031         parsing.  The function assumed that return value of the
4032         SearchItems method called on a collection is a list of two lists,
4033         however this is true only when no collection is specified.  GNOME
4034         had used to incorrectly return a list of two lists in both cases,
4035         but this was already fixed:
4036         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
4037         incorrect information in the secrets-search-items’ docstring.
4038         (Bug#20449)
4040 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4042         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
4043         (byte-compile--message): Use `inhibit-message' instead of hiding
4044         the previous message with (message nil).
4046 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
4048         Remove the deprecated INTERNAL_FIELD macro by expanding it
4049         * src/lisp.h (INTERNAL_FIELD): Remove.
4050         (DEFVAR_KBOARD): Modify accordingly.
4051         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
4052         * syntax.c: Adjust users.
4053         * src/buffer.c (compact_buffer): Use BVAR.
4055 2015-04-29  Glenn Morris  <rgm@gnu.org>
4057         Replace an obsolete function alias
4058         * lisp/isearch.el (isearch-yank-x-selection):
4059         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
4060         (mouse-drag-secondary-moving):
4061         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
4062         Replace obsolete alias x-get-selection with gui-get-selection.
4064 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
4066         * lisp/mail/rmailsum.el: Use lexical-binding.
4068 2015-04-29  Glenn Morris  <rgm@gnu.org>
4070         * test/automated/package-test.el (package-test-update-archives-async):
4071         Skip test on hydra.nixos.org.
4073 2015-04-28  Glenn Morris  <rgm@gnu.org>
4075         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
4076         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
4077         (foldout-mouse-hide-or-exit): Use new names for outline functions.
4079         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
4080         Update for 2014-06-26 hideif.el change.
4082         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
4083         (rmail--decode-and-apply): New function.
4084         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
4086         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
4088 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4090         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
4091         (package-menu--refresh): Delegate obsolete-hiding to
4092         `package--remove-hidden'.
4093         (package--remove-hidden): Disregard high-priority package if it is
4094         older than the installed one.
4096 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
4098         Update source file encoding list
4099         Update admin/notes/unicode, along with coding system cookies in
4100         other files, so that the two match each other better.
4101         * admin/notes/unicode: lisp/language/ethio-util.el and
4102         lisp/language/ethiopic.el also use utf-8-emacs.
4103         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
4104         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
4105         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
4106         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
4107         * etc/refcards/sk-survival.tex:
4108         Add "coding: utf-8" so that this file is not mishandled in a
4109         Latin-1 or Big-5 locale.
4110         * lisp/international/robin.el, lisp/org/ox-ascii.el:
4111         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
4112         * lisp/language/ethio-util.el: Fix trailer.
4114 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
4116         Fix synchronous invocation of Ispell
4117         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
4118         value to ispell-process-directory before calling ispell-init-process.
4119         Don't call set-process-coding-system if ispell-async-processp is nil.
4120         (Bug#20448)
4122 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4124         * lisp/emacs-lisp/package.el: Skip space and comments in init file
4125         (package--ensure-init-file): Insert snippet at first
4126         non-whitespace non-comments line.  Respects local-vars at the top
4127         of the file.
4129 2015-04-28  Glenn Morris  <rgm@gnu.org>
4131         * lisp/mail/rmail.el (rmail-copy-headers):
4132         Handle rmail-nonignored-headers being nil.  (Bug#18878)
4134         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
4136         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
4137         Don't get confused by a bzrlib version mismatch warning.
4139 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4141         Change default location of EUDC options file
4142         * NEWS: Document change to EUDC options file's default location.
4143         * lisp/net/eudc-vars.el (eudc-options-file): Use
4144         `locate-user-emacs-file' to change default options file location.
4146 2015-04-27  Glenn Morris  <rgm@gnu.org>
4148         * test/automated/package-test.el (package-test-update-archives-async):
4149         Try to handle the test server script dying.
4151 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4153         * lisp/saveplace.el (save-place-mode): New minor mode.
4154         (save-place): Redefine as an obsolete alias.
4156         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
4157         * lisp/midnight.el: Use lexical-binding.
4158         (midnight-mode): Make it a proper minor mode.
4159         (midnight-buffer-display-time): Make arg non-optional.
4160         (midnight-find): Remove.
4161         (clean-buffer-list-kill-never-regexps)
4162         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
4163         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
4164         contain functions.
4165         (clean-buffer-list): Use cl-find.
4166         Allow clean-buffer-list-kill-never-regexps to contain functions.
4168 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
4170         Bump version of seq.el to 1.5
4171         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
4172           from seq-doseq.  Bump version number of seq.el.
4174 2015-04-27  Glenn Morris  <rgm@gnu.org>
4176         * lisp/mail/rmail.el (rmail-reply):
4177         Decode subject before matching "Re:" prefix.  (Bug#20396)
4179 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4181         * lisp/emacs-lisp/package.el: Small improvements
4182         (package--with-work-buffer-async): More informative error.
4183         (package-install-user-selected-packages): Rename to
4184         `package-install-selected-packages'.
4186 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4188         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
4189         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
4190         (eieio--class-make): Remove leftover `tag'.
4192 2015-04-27  Glenn Morris  <rgm@gnu.org>
4194         * lisp/gnus/message.el (gnus-extract-address-components):
4195         Remove bogus declaration that was masking previous problem.
4197 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
4199         * lisp/gnus/message.el (message-insert-formatted-citation-line):
4200         Fix typo.  (Bug#20318)
4202 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4204         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
4206         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
4207         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
4208         the buffer in yet another frame.
4209         (reftex-toc-visit-location): Make sure toc-window has focus at the end
4210         when `final' is nil.
4211         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
4212         silence warnings.  Use `--' to clarify that it's internal.
4213         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
4214         (reftex-toc-promote): Clarify unused argument.
4215         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
4216         Add `reftex--' prefix.  Fix all users.
4217         (reftex-toc-promote-prepare): Use _ for dummy variable.
4218         (reftex-toc-restore-region): Rename `m
4220 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
4222         Fix a typo in bibtex.el
4223         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
4224         last change.  (Bug#20429)
4226         Fix redisplay of frame after loading new fonts
4227         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
4228         frame because new fonts were loaded, disable all redisplay
4229         optimizations on that frame by calling SET_FRAME_GARBAGED.
4230         (Bug#20410)
4232 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4234         * lisp/info.el (Info-menu): Properly provide the `default'
4235         (Bug#20391)
4237         * elisp-mode.el: Catch errors from `documentation'
4238         (Bug#20418)
4239         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
4240         Catch errors from documentation.
4241         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
4243 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
4245         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
4246         Remove redundant ":group 'package".
4248 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
4250         Fix a typo in rmail.el
4251         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
4252         last commit.  (Bug#20429)
4254 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
4256         Introduce xref-prompt-for-identifier
4257         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
4258         (xref--read-identifier): Use it
4259         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
4261 2015-04-26  João Távora  <joaotavora@gmail.com>
4263         `tex-insert-quote' after single `'' opens quotes instead of closing
4264         Without this, it's very hard to precede double quotes with the
4265         apostrophe character, i.e. insert the sequence '``
4266         (quote-backquote-backquote), commonly useful in portuguese, for
4267         instance.
4268         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
4269         chars making `tex-insert-quote' be in the "opening" context.
4271 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
4273         Pass `id' to `completing-read' as def instead of initial input
4274         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
4275         as the default value instead of initial input
4276         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
4278 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
4280         Don't freeze with unreadable processes
4281         Don't freeze if an exiting process can't be read from. (Bug#19860).
4282         This fixes a bug I introduced in
4283         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
4284         "* process.c: Add sanity checks for file descriptors."
4285         Dmitry Gutov did most of the legwork in finding the problem.
4286         * src/process.c (wait_reading_process_output):
4287         Treat non-running processes that can't be read from
4288         the same as other non-running processes.
4290 2015-04-25  Alan Mackenzie  <acm@muc.de>
4292         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
4293         * lisp/subr.el (remove-yank-excluded-properties): put
4294         `with-silent-modifications' around only the last three lines of code.
4296 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
4298         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
4299         (package--all-keywords): Deleted variable.
4301         * etc/NEWS: Document package-hiding functionality
4303 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
4305         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
4307         Clarify the doc string of 'replace-regexp-in-string'
4308         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
4310         Improve doc string of 'insert-buffer-substring'
4311         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
4313         MS-Windows followup for the recent gnulib update
4314         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
4315         acl-internal.c.
4317 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4319         Spelling fixes
4321         Merge from gnulib
4322         This incorporates:
4323         2015-04-24 file-has-acl: new module, split from acl
4324         2015-04-24 manywarnings: add GCC 5.1 warnings
4325         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
4326         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
4327         2015-04-15 acl: On Linux, check for acls without libacl
4328         2015-04-14 tempname: avoid unused parameter warnings (trivial)
4329         * lib/acl-internal.c: New file, from gnulib.
4330         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
4331         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
4332         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
4333         Update from gnulib.
4335         Port --enable-gcc-warnings to GCC 5.1 x86-64
4336         * lib-src/ebrowse.c (dump_sym):
4337         * lib-src/hexl.c (main):
4338         * src/ccl.c (ccl_driver):
4339         * src/character.c (string_escape_byte8):
4340         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
4341         * src/gnutls.c (Fgnutls_boot):
4342         * src/gtkutil.c (xg_check_special_colors):
4343         * src/image.c (x_build_heuristic_mask):
4344         * src/print.c (safe_debug_print, print_object):
4345         * src/term.c (produce_glyphless_glyph):
4346         * src/xdisp.c (get_next_display_element)
4347         (produce_glyphless_glyph):
4348         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
4349         Don't use a signed format to print an unsigned integer, or vice
4350         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
4351         * src/image.c (png_load_body, jpeg_load_body):
4352         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
4354 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
4356         Add new faces to tsdh-light-theme
4357         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
4358         definitions for Info-quoted, ace-jump-face-foreground,
4359         hl-paren-face, show-paren-match, and show-paren-mismatch.
4361 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
4363         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
4365 2015-04-24  Glenn Morris  <rgm@gnu.org>
4367         * build-aux/gitlog-to-emacslog:
4368         Use raw log format rather than wrapped one.
4370 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4372         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
4373         (seq-doseq): Fix out-of-scope binding.
4374         Don't call `seq-length at every iteration.
4375         Reduce `if's from 3 to 2 per iteration.
4376         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
4378 2015-04-24  Glenn Morris  <rgm@gnu.org>
4380         * lisp/textmodes/text-mode.el (text-mode-hook):
4381         Move text-mode-hook-identify to default.
4383         * lisp/mouse.el (minor-mode-menu-from-indicator):
4384         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
4386         * lisp/help-fns.el (describe-function): More type checking.
4387         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
4389         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
4390         (Bug#20325)
4392 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
4394         shr: strip leading whitespace when expanding URLs
4395         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
4397 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
4399         Clarify "co-authored" some more
4401         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
4403         Clarify doc strings of functions that search for properties
4404         * src/textprop.c (Fnext_char_property_change)
4405         (Fprevious_char_property_change)
4406         (Fnext_single_char_property_change)
4407         (Fprevious_single_char_property_change, Fnext_property_change)
4408         (Fnext_single_property_change, Fprevious_property_change)
4409         (Fprevious_single_property_change): Clarify doc strings wrt return
4410         value and the optional LIMIT argument.  (Bug#20411)
4412 2015-04-24  Glenn Morris  <rgm@gnu.org>
4414         * test/automated/message-mode-tests.el (message-mode-propertize):
4415         Handle non-writable HOME; eg on hydra.nixos.org.
4417 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
4419         Avoid starting threads by w32-shell-execute
4420         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
4421         local file names, before invoking ShellExecute.  (Bug#20220)
4423 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
4425         Fix following doc-links in `widget-documentation-link-action'
4426         * lisp/wid-edit.el (widget-documentation-link-action): Make
4427         following doc-links less simplistic (Bug#20398).
4429 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4431         Improve EUDC manual
4432         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
4434 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4436         Omit needless "\ " after multibyte then newline
4437         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
4438         (print_object): When print-escape-multibyte is non-nil and a
4439         multibyte character is followed by a newline or formfeed, followed
4440         by a hex digit, don't output a needless "\ " before the hex digit.
4441         * test/automated/print-tests.el (print-hex-backslash): New test.
4443 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
4445         Add a new `inhibit-message' variable
4446         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
4447         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
4448         `inhibit_message' is non-zero.
4449         * etc/NEWS: Add an entry.
4450         * doc/lispref/display.texi: Add an entry for `inhibit-message',
4451           mention it in `message'.
4453 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
4455         Fix last fix in `display-buffer-record-window'.
4456         * lisp/window.el (display-buffer-record-window): Fix last fix.
4458 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
4460         Minor edits in CONTRIBUTE
4461         * CONTRIBUTE: Rearrange instructions about log messages.
4462         Use "Git" capitalized all over.
4463         Use 2 spaces between sentences.
4465 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4467         * lisp/files.el (basic-save-buffer): Fix argument
4469         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
4470         In case `(and (null custom-file) init-file-had-error)' do the same
4471         thing we'd do if `(null user-init-file)', which is to either error out
4472         or return nil.  This is in line with `custom-save-all' which would
4473         throw an error in that situation. (bug#20355)
4475         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
4476         (package-menu-hide-low-priority): New variable, see its doc.
4477         (package-archive-priorities): Update doc.
4478         (package-desc-priority): New function.
4479         (package-desc-priority-version): Use it.
4480         (package--remove-hidden): New function.
4481         (package-menu--refresh): Use it.
4483         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
4484         (package-menu--hide-obsolete): New variable.
4485         (package--remove-hidden): Use it.
4486         (package-menu-hide-obsolete): New interactive function to toggle
4487         the variable.
4488         (package--quick-help-keys): Document it.
4489         (package-menu-async): Add :version tag.
4490         (package-menu-mode-map): Bind package-menu-hide-obsolete.
4491         (package-desc-status): Indicate non-installed obsolete packages as
4492         avail-obso.
4493         (package-menu-mark-install): Allow installation of avail-obso.
4494         (package-menu--status-predicate): Sort avail-obso with available.
4496 2015-04-22  Alan Mackenzie  <acm@muc.de>
4498         On C-y, stop some text property entries being written into buffer-undo-list
4499         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
4500         `with-silent-modifications'.
4502 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
4504         In display-buffer-record-window record selected window if necessary.
4505         * lisp/window.el (display-buffer-record-window): Store selected window
4506         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
4508 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
4510         Fix reftex-citation bug
4511         * reftex-cite.el (reftex-extract-bib-entries): Fix
4512         `wrong-type-argument stringp nil' error that occurs when AUCTeX
4513         integration is enabled and there are no citations in the document
4514         so far.
4516 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
4518         Add or reset based on the presence of MERGE_HEAD
4519         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
4520         `vc-git-resolve-when-done' to `after-save-hook' in either case.
4521         (vc-git-conflicted-files): Add a TODO.
4522         (vc-git-resolve-when-done): Depending on the presence of
4523         MERGE_HEAD, either update the resolved file in the index, or
4524         remove it from there.  (Bug#20292)
4526 2015-04-21  Glenn Morris  <rgm@gnu.org>
4528         * lisp/custom.el (custom-declare-group): No need to purecopy
4529         custom-current-group-alist members following recent change to set
4530         it to nil before dumping.
4532         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
4533         (Bug#20399)
4535 2015-04-21  Daniel Colascione  <dancol@dancol.org>
4537         Unbreak no-op buffer save message
4538         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
4539         (basic-save-buffer): Accept called-interactively as an argument instead of
4540         directly invoking called-interactively-p, which will always yield nil
4541         in that context.
4543 2015-04-21  Alan Mackenzie  <acm@muc.de>
4545         CC Mode: Do nothing in before/after-change-functions for text property changes
4546         Fixes bug#20266.
4547         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
4548         yank-handled-properties buffer local, and remove 'category from it.
4549         (c-called-from-text-property-change-p): New function.
4550         (c-before-change): Don't do anything if a call of the new function
4551         returns non-nil.
4552         (c-after-change): Don't do much if a call of the new function returns
4553         non-nil.
4554         (c-extend-after-change-region): Put changes to text property 'fontified
4555         inside c-save-buffer-state.
4557 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
4559         Fix byte-compiler warnings about looking-back.
4560         * lisp/vc/log-view.el (log-view-end-of-defun-1):
4561         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
4562         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
4563         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
4564         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
4565         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
4566         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
4567         * lisp/org/org.el (org-insert-heading, org-sort-entries):
4568         * lisp/org/org-mouse.el (org-mouse-end-headline)
4569         (org-mouse-context-menu):
4570         * lisp/org/org-clock.el (org-clock-cancel):
4571         * lisp/man.el (Man-default-man-entry):
4572         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
4573         (rmail-ensure-blank-line):
4574         * lisp/mail/footnote.el (Footnote-delete-footnote):
4575         * lisp/mail/emacsbug.el (report-emacs-bug):
4576         * lisp/info.el (Info-follow-reference, Info-fontify-node):
4577         * lisp/info-look.el (info-lookup-guess-custom-symbol):
4578         * lisp/help-fns.el (help-fns--key-bindings):
4579         * lisp/files.el (hack-local-variables):
4580         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
4581         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
4582         (viper-complete-filename-or-exit):
4583         * lisp/emulation/viper-cmd.el (viper-backward-indent):
4584         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
4585         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
4586         * lisp/cus-edit.el (custom-face-edit-value-create):
4587         * lisp/calendar/todo-mode.el (todo-set-item-priority)
4588         (todo-filter-items-1, todo-convert-legacy-files)
4589         (todo-prefix-overlays): Add explicit second arg to looking-back.
4591 2015-04-20  Glenn Morris  <rgm@gnu.org>
4593         Avoid non-nil current-load-list at startup
4594         * src/process.c (init_process_emacs): Move Fprovide statement...
4595         (syms_of_process): ... to here.
4597         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
4599         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
4601 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
4603         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
4604         (Bug#20330)
4606 2015-04-20  Glenn Morris  <rgm@gnu.org>
4608         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
4610         Tweak exec-path in uninstalled case
4611         * src/callproc.c (init_callproc): If running uninstalled, do not
4612         include eventual installation libexec directory in exec-path.
4614 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
4616         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
4617         (package-menu-filter): Accept a list of keywords.
4618         (package--all-keywords): New variable to cache known keywords.
4619         (package-all-keywords): Populate it if necessary.
4620         (package-refresh-contents): Reset it.
4622         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
4623         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
4624         as special keywords which match agains package archive and status
4625         respectively.
4626         * etc/NEWS: Document it.
4628 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
4630         Describe and index "empty overlays".
4631         * doc/lispref/display.texi (Overlays): Improve indexing.
4632         (Managing Overlays): Describe "empty" overlays.
4633         (Overlay Properties, Finding Overlays): Add cross-reference to
4634         where empty overlays are described.
4636 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4638         Spelling fixes
4640         Quote 'like this' in top-level files
4641         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
4642         Prefer to single-quote 'like this' (instead of the older style
4643         `like this').
4644         * configure.ac: Fix some space-before-tab problems that 'git commit'
4645         complained about.
4647         Use bool for boolean in textprop.c, undo.c
4648         * src/textprop.c (soft, hard): Now constants instead of macros.
4649         (validate_plist): Rewrite to avoid need for boolean local.
4650         (interval_has_all_properties, interval_has_some_properties)
4651         (interval_has_some_properties_list, add_properties)
4652         (remove_properties, get_char_property_and_overlay)
4653         (Fnext_single_char_property_change)
4654         (Fprevious_single_char_property_change, add_text_properties_1)
4655         (Fremove_text_properties, Fremove_list_of_text_properties)
4656         (copy_text_properties):
4657         * src/tparam.c (tparam1):
4658         * src/undo.c (record_change, record_property_change)
4659         (syms_of_undo):
4660         Use 'true' and 'false' for booleans.
4662 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
4664         Call `smerge-start-session' even when dealing with a stash conflict
4665         * lisp/vc/vc-git.el (vc-git-find-file-hook):
4666         Call `smerge-start-session' even when dealing with a stash
4667         conflict (bug#20292).
4669 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
4671         Add option to eshell/clear to clear scrollback.
4672         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
4673         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
4674         scrollback contents are cleared.
4675         * etc/NEWS: Describe change.
4676         * doc/misc/eshell.texi: Add entry for `clear'.
4678 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4680         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
4681         where either will do.
4683 2015-04-19  Steve Purcell  <steve@sanityinc.com>
4685         Assume package archive-contents are UTF8-encoded
4686         * lisp/emacs-lisp/package.el (package--read-archive-file):
4687         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
4688         downloaded and cached archive-contents files, so that non-ASCII
4689         characters in package descriptions are displayed correctly in the
4690         `list-packages' menu. (Bug#20231)
4692 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
4694         Abort when looking at stashed changes
4695         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
4696         stashed changes (bug#20292).
4698 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4700         Refactor low-level printing for simplicity
4701         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
4702         PRINTPREPARE; doable now that we assume C99.  All callers changed.
4703         (PRINTCHAR): Remove, as it adds more mystery than clarity.
4704         All callers changed.
4705         (strout): Assume that caller computes length.  All callers changed.
4706         (print_c_string): New function.
4707         (write_string, write_string_1): Compute length instead of asking
4708         the caller to compute it.  All callers changed.
4709         (write_string): Simplify by using write_string_1.
4710         (write_string_1): Simplify by using print_c_string.
4711         (Fterpri): Compute default val more clearly.
4712         (Fprin1_to_string, print_object):
4713         Assume C99 to avoid unnecessary nesting.
4714         (print_object): Prefer print_c_string to multiple printchar, or
4715         to calling strout with -1 length.  Coalesce into sprintf when
4716         this is easy.
4718 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
4720         Prefer "Bug#1234" in commit messages (Bug#20325)
4721         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
4722         as this isn't useful for Git.
4723         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
4725 2015-04-18  Glenn Morris  <rgm@gnu.org>
4727         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
4728         (Bug#19506)
4730 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
4732         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
4733         (Bug#19505)
4735 2015-04-18  Glenn Morris  <rgm@gnu.org>
4737         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
4739         * doc/emacs/misc.texi (Sorting): Small edit.
4740         (Bug#19896)
4742         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
4744 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
4746         css-mode.el: Support multi-line comment filling
4747         (Bug#20256)
4748         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
4749         comment filling.
4750         (css-adaptive-fill): New function.
4751         (css-mode): Set `adaptive-fill-function'.
4752         (scss-mode): Set `comment-continue'.
4754 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
4756         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
4758 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
4760         Minor improvements in Bulgarian input methods
4761         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
4762         Replace U+042C with U+045D, as the former character is not used in
4763         the modern Bulgarian language.
4764         (Bug#20350)
4766 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4768         Improve EUDC manual
4769         * eudc.texi (LDAP Configuration): Mention simple and SASL
4770         authentication schemes.  Add index items.  Shorten example server
4771         name.
4773 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
4775         Don't show both feature and function with the same name
4776         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4777         Don't show both feature and function with the same name.
4779         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
4780         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4781         Avoid returning both the variable and the function for the same
4782         minor mode.
4784 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
4786         Fix fontification of keywords clobbered by the prompt.
4787         * lisp/comint.el (comint-output-filter): Remove the uses of
4788         with-silent-modifications I introduced as part of the last change.
4789         This fixes, e.g., erratically missing highlighting when running
4790         ./configure --help; ./configure in a shell-mode buffer with
4791         compilation-shell-minor-mode turned on.
4793 2015-04-17  Glenn Morris  <rgm@gnu.org>
4795         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
4797 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
4799         * lisp/indent.el (indent-region): Don't deactivate the mark
4800         (Bug#20357)
4802 2015-04-17  Sam Steingold  <sds@gnu.org>
4804         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
4806 2015-04-16  Leo Liu  <sdl.web@gmail.com>
4808         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
4810 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
4812         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
4814 2015-04-16  Glenn Morris  <rgm@gnu.org>
4816         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
4818 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
4820         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
4821         * configure.ac (LIBJPEG): Leave it empty for MinGW.
4823 2015-04-16  Glenn Morris  <rgm@gnu.org>
4825         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
4826         to avoid rogue setting after startup.
4828 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
4830         Pre-4.6 GCC succeeds with unknown option
4831         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
4832         (Bug#20338)
4834 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4836         '[:graph:]' now excludes whitespace, not just ' '
4837         * doc/lispref/searching.texi (Char Classes):
4838         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
4839         sans whitespace (not sans space).
4840         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
4841         not just space.
4842         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
4844 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4846         (looking-back): Make the second arg non-optional.
4847         * lisp/subr.el (substitute-key-definition-key, special-form-p)
4848         (macrop): Drop deprecated second arg to indirect-function.
4849         (looking-back): Make the second arg non-optional.
4851         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
4852         command is actually sent to the shell.
4854 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4856         Port jpeg configuration to Solaris 10 with Sun C
4857         * configure.ac: Check for jpeglib 6b by trying to link it, instead
4858         of relying on cpp magic that has problems in practice.  Check for
4859         both jpeglib.h and jerror.h features.  Remove special case for
4860         mingw32, which should no longer be needed (and if it were needed,
4861         should now be addressable by hotwiring emacs_cv_jpeglib).
4862         (Bug#20332)
4864 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4866         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
4867         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
4868         Move to elisp-mode.el.
4869         (lisp-mode-variables): (Re)move elisp-specific settings.
4870         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
4871         from lisp-mode-variables.
4872         (elisp--font-lock-flush-elisp-buffers): New function, moved from
4873         lisp-mode.el.
4875         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
4876         Avoid pathological slowdown at top-level in large file.
4878 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4880         Standardize names of ChangeLog history files
4881         Suggested by Glenn Morris in:
4882         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
4883         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
4884         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
4885         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
4886         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
4887         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
4888         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
4889         Remove.
4891         Split top-level entries into pre- and post-April 7
4892         This more clearly distingiushes pre-April-7 ChangeLog entries (which
4893         are for top-level files only) from post-April-7 entries (which are
4894         about files at all levels.  Problem reported by Glenn Morris in:
4895         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
4896         * ChangeLog.1: Move post-April-7 entries from here ...
4897         * ChangeLog.2: ... to this new file.
4898         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
4900 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4902         Fix recent cus-start changes that added customize-rogues
4903         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
4904         vars early.
4905         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
4907 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
4909         Define cl-concatenate as an alias to seq-concatenate
4910         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
4911           code by making cl-concatenate an alias to seq-concatenate.
4913 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4915         * src/lread.c (intern_1): Make sure we'd find the symbol we add
4916         (Bug#20334)
4917         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
4919 2015-04-15  Glenn Morris  <rgm@gnu.org>
4921         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
4923 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4925         Clean up gnus-uu saving code slightly
4926         * gnus-uu.el (gnus-uu-save-article): Make the
4927         save-restriction/widen calls make more sense.
4929 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4931         Make [:graph:] act like [:print:] sans space
4932         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
4933         [:graph:] so that it matches everything that [:print:] does,
4934         except for space.
4935         * doc/lispref/searching.texi (Char Classes):
4936         * etc/NEWS:
4937         * lisp/emacs-lisp/rx.el (rx):
4938         Document [:graph:] to be [:print:] sans ' '.
4939         * src/character.c, src/character.h (graphicp): New function.
4940         * src/regex.c (ISGRAPH) [emacs]: Use it.
4941         (BIT_GRAPH): New macro.
4942         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
4943         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
4944         Return BIT_GRAPH for RECC_GRAPH.
4945         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
4946         and ISPRINT if BIT_PRINT.
4948 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
4950         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
4951         Don't use call-next-method in a cl-defmethod.
4953         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
4954         (eieio--class-p): Remove, provided by cl-defstruct.
4956 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
4958         Add seq-intersection and seq-difference to the seq library
4959         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
4960         functions.
4961         * test/automated/seq-tests.el: Add tests for seq-intersection and
4962         seq-difference.
4963         * doc/lispref/sequences.texi: Add documentation for seq-intersection
4964         and seq-difference.
4966 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
4968         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
4970 2015-04-14  Sam Steingold  <sds@gnu.org>
4972         package--ensure-init-file: widen requires save-restriction
4974 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
4976         Improve the commit-msg Git hook for unibyte environments
4977         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
4978         in unibyte environments.  (Suggested by Paul Eggert
4979         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
4980         [:print:], based on UTF-8 sequences of the unprintable characters.
4982         Describe problems with cursor caused by Windows Magnifier
4983         * etc/PROBLEMS: Describe the problem with cursor shape on
4984         MS-Windows due to Windows Magnifier.
4985         (Bug#20271)
4987         Make [:print:] support non-ASCII characters correctly
4988         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
4989         (BIT_PRINT): New bit mask.
4990         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
4991         * src/character.c (printablep): New function.
4992         * src/character.h (printablep): Add prototype.
4993         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
4994         of 'print', 'alnum', and 'alphabetic'.
4995         * doc/lispref/searching.texi (Char Classes): Document the new
4996         behavior of [:print:].
4997         * etc/NEWS: Mention the new behavior of [:print:].
4999         Assign correct general-category and names to surrogates
5000         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
5001         surrogates.  This avoids assigning them the default
5002         general-category of 'Cn', i.e. unassigned codepoints.
5003         (unidata-get-name): Give surrogates synthetic names.
5005 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
5007         Assume C89 offsetof in xterm.c, xlwmenu.c
5008         * lwlib/xlwmenu.c (offset):
5009         * src/xterm.c (cvt_string_to_pixel_args):
5010         Use offsetof, not XtOffset.
5012 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
5014         Assume C89 offsetof in widget.c
5015         * src/widget.c (XtOffset): Remove; no longer needed.
5016         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
5018         Fix think-o in previous patch
5019         * src/window.c (count_windows, get_leaf_windows):
5020         Don't optimize count_windows incorrectly.
5022 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
5024         Avoid some int overflows in window.c
5025         * src/print.c (print_object):
5026         * src/window.c (sequence_number):
5027         * src/window.h (struct window.sequence_number):
5028         Don't assume window sequence number fits in int.
5029         * src/window.c (window_select_count):
5030         * src/window.h (struct window.use_time, window_select_count):
5031         Don't assume window use time fits in int.
5032         * src/window.c (Fsplit_window_internal):
5033         Don't assume user-supplied integer, or sum, fits in int.
5034         (Fset_window_configuration, count_windows, get_leaf_windows)
5035         (save_window_save, Fcurrent_window_configuration):
5036         Use ptrdiff_t for object counts.
5037         (Fset_window_configuration): Omit unused local 'n'.
5038         (count_windows): Simplify by writing in terms of get_leaf_windows.
5039         (get_leaf_windows): Don't store through FLAT if it's null.
5040         (extract_dimension): New static function.
5041         (set_window_margins, set_window_fringes, set_window_scroll_bars):
5042         Use it to avoid undefined behavior when converting user-supplied
5043         integer to 'int'.
5045 2015-04-13  Glenn Morris  <rgm@gnu.org>
5047         Minor doc copyedits
5048         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
5049         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
5051 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
5053         [Gnus] Catch the invalid-operation that idna.el will issue
5054         * lisp/gnus/gnus-art.el (gnus-use-idna):
5055         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
5056         * lisp/gnus/message.el (message-use-idna):
5057         Catch the invalid-operation that idna.el will issue.
5059 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
5061         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
5063 2015-04-13  Sam Steingold  <sds@gnu.org>
5065         package--ensure-init-file: widen before looking for "(package-initialize)"
5067 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
5069         Change diff-switches default to `-u'
5070         (Bug#20290)
5071         * doc/emacs/files.texi (Comparing Files): Document the new default
5072         value of `diff-switches'.
5073         * doc/emacs/trouble.texi (Sending Patches): Document the preference
5074         for unified diff format.  Escape the plus in the suggested `-F' regexp
5075         value.
5076         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
5078 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5080         (gnus-group--setup-tool-bar-update): Fix last change
5081         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
5082         cursor-sensor-functions should be a list of functions.
5084 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
5086         Use gmm-called-interactively-p in Gnus
5087         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
5089 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5091         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
5092         (Bug#20321)
5093         * lisp/cus-start.el (read-buffer-function): Don't advertize
5094         iswitchb-read-buffer any more.
5095         (iswitchb): Don't tweak this obsolete group any more.
5097 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
5099         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
5101         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
5102         Adding a string after a constructor's argument list will use
5103         that string as the constructor function docstring.  If this string
5104         is absent but the struct itself was given a docstring, use that as
5105         the constructor's docstring.
5106         Fixes (bug#17284).
5108 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5110         Deprecate `intangible' and `point-entered' properties
5111         * lisp/emacs-lisp/cursor-sensor.el: New file.
5112         * lisp/simple.el (pre-redisplay-functions): New hook.
5113         (redisplay--pre-redisplay-functions): New function.
5114         (pre-redisplay-function): Use it.
5115         (minibuffer-avoid-prompt): Mark obsolete.
5116         (redisplay--update-region-highlight): Adapt it to work as a function on
5117         pre-redisplay-functions.
5118         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
5119         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
5120         than point-entered to make the prompt intangible.
5121         * lisp/forms.el: Move `provide' calls to the end.
5122         (forms-mode): Don't use `run-hooks' on a local var.
5123         (forms--make-format, forms--make-format-elt-using-text-properties):
5124         Use cursor-intangible rather than `intangible'.
5125         (forms-mode): Enable cursor-intangible-mode.
5126         * lisp/isearch.el (isearch-mode): Use defvar-local.
5127         (cursor-sensor-inhibit): Declare.
5128         (isearch-mode): Set cursor-sensor-inhibit.
5129         (isearch-done): Set it back.
5130         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
5131         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
5132         any more.
5133         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
5134         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
5135         Add Edebug spec.
5136         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
5137         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
5138         inhibit-point-motion-hooks any more.
5139         (ses--cell-at-pos, ses--curcell): New functions, extracted from
5140         ses-set-curcell.
5141         (ses-set-curcell): Use them.
5142         (ses-print-cell, ses-setup): Use cursor-intangible instead of
5143         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
5144         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
5145         Use ses--cell-at-pos.
5146         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
5147         extracted from ses-command-hook.  Make them work with multiple windows
5148         displaying the same buffer.
5149         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
5150         Enable cursor-intangible-mode.
5151         (ses-command-hook): Remove cell highlight and mode-line update code.
5152         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
5153         Update for new name of text-property holding the cell name.
5154         (ses-rename-cell): Don't mess with mode-line-process.
5155         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
5156         cursor-sensor-functions property instead of point-entered.
5157         (erc-insert-timestamp-right, erc-format-timestamp):
5158         Use cursor-intangible rather than `intangible'.
5159         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
5160         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
5161         cursor-sensor-mode if needed.
5162         (erc-echo-timestamp): Adapt to calling convention of
5163         cursor-sensor-functions.
5164         (erc-insert-timestamp-right): Remove unused vars `current-window' and
5165         `indent'.
5166         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
5167         (gnus-update-group-mark-positions): Remove unused `topic' var.
5168         (gnus-group-insert-group-line): Remove unused var `header'.
5169         (gnus-group--setup-tool-bar-update): New function.
5170         (gnus-group-insert-group-line): Use it.
5171         (gnus-group-update-eval-form): Declare local
5172         dynamically-bound variables.
5173         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
5174         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
5175         (gnus-group-prepare-topics, gnus-topic-update-topic)
5176         (gnus-topic-change-level, gnus-topic-catchup-articles)
5177         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
5178         Use inhibit-read-only.
5179         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
5180         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
5181         * lisp/textmodes/reftex-index.el (reftex-display-index):
5182         Use cursor-intangible-mode if available.
5183         (reftex-index-post-command-hook): Check cursor-intangible.
5184         * lisp/textmodes/reftex-toc.el (reftex-toc):
5185         Use cursor-intangible-mode if available.
5186         (reftex-toc-recenter, reftex-toc-post-command-hook):
5187         Check cursor-intangible.
5188         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
5189         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
5190         (sgml-tags-invisible): Use with-silent-modifications and
5191         inhibit-read-only.  Enable cursor-sensor-mode.
5192         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
5193         calling convention of cursor-sensor-functions.
5194         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
5195         (table-point-entered-cell-hook, table-point-left-cell-hook):
5196         Don't autoload.
5197         (table-cell-entered-state): Remove var.
5198         (table--put-cell-point-entered/left-property)
5199         (table--remove-cell-properties):
5200         Use cursor-sensor-functions rather than point-entered/left.
5201         (table--point-entered/left-cell-function): Merge
5202         table--point-entered-cell-function and table--point-left-cell-function
5203         and adjust to calling convention of cursor-sensor-functions.
5205         Update ldef-boots.el
5207         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
5209         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
5211         Collapse successive char deletions in the undo log
5212         * src/cmds.c (remove_excessive_undo_boundaries): New function,
5213         extracted from Fself_insert_command.
5214         (Fdelete_char, Fself_insert_command): Use it.
5215         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
5216         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
5218         xterm and OSC 52: Add NEWS entry, and tweak the code
5219         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
5220         top-level.
5221         (terminal-init-xterm-activate-set-selection): Set a terminal property.
5222         (xterm--set-selection): Use it instead of checking the value of
5223         `terminal-initted'.  Don't use string-bytes.
5225 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
5227         xterm.el: Implement OSC-52 functionality for setting the X selection
5228         * lisp/term/xterm.el (xterm-max-cut-length): New var.
5229         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
5230         (terminal-init-xterm, xterm--version-handler): Use them.
5232 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5234         Remove left over code from when we used an obsolete/loaddefs.el file
5235         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
5236         we used an obsolete/loaddefs.el file.
5238         * cedet/semantic/fw.el: Use declare.
5239         * cedet/semantic/fw.el (semantic-exit-on-input)
5240         (semanticdb-without-unloaded-file-searches): Use declare.
5241         (semantic-fw-add-edebug-spec): Remove.
5243         (completion-lisp-mode-hook): Use completion-separator-chars
5244         * lisp/completion.el (completion-lisp-mode-hook):
5245         Use completion-separator-chars rather than local key binding.
5247         * src/*.c: Set deactivate_mark buffer-locally
5248         (Bug#20260)
5249         * src/insdel.c (prepare_to_modify_buffer_1):
5250         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
5251         buffer-locally.
5253 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5255         python.el: Keep symmetry on sexp navigation with parens
5256         (Bug#19954)
5257         * lisp/progmodes/python.el
5258         (python-nav--forward-sexp): Add argument skip-parens-p.
5259         (python-nav-forward-sexp, python-nav-backward-sexp)
5260         (python-nav-forward-sexp-safe)
5261         (python-nav-backward-sexp-safe): Use it.
5262         * test/automated/python-tests.el
5263         (python-nav-forward-sexp-1): Fix test.
5265 2015-04-12  João Távora  <joaotavora@gmail.com>
5267         Don't use `setq-local' in Gnus code
5268         This might break upstream builds with older Emacsen
5269         * lisp/gnus/message.el (message-mode): Use `set' and
5270         `make-local-variable' instead of `setq-local'.
5272 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5274         Update Makefile.in's .PHONY dependencies
5275         * Makefile.in (change-history-commit, master-branch-is-current)
5276         (no-ChangeLog): Now phony.
5278         Remove configure's --with-mmdf option
5279         * configure.ac (MAIL_USE_MMDF): Remove.
5280         * etc/NEWS: Document this.
5281         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
5282         (Bug#20308)
5284         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
5285         That way, 'make install' won't think it's a man page.
5286         Reported by Ashish SHUKLA in:
5287         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
5289         Improve 'make change-history' prereq tests
5290         * Makefile.in (gen_origin): Fix to match what's in the master branch.
5291         (no-ChangeLog, master-branch-is-current): New rules.
5292         (change-history): Depend on them, to avoid similar future problems.
5293         Escape the local-variables string to pacify Emacs when editing
5294         Makefile.in.
5296 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5298         * test/automated/package-test.el (with-package-test): Kill Packages buffer
5300         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
5301         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
5302         "Upgrade" last, and use capitalized instead of all-caps.
5304         * lisp/emacs-lisp/package.el: Completely silence async operations
5305         (package--make-autoloads-and-stuff): Silence autoloads.
5306         (package--save-selected-packages): New function, silences
5307         `customize-save-variable'.
5308         (package--user-selected-p, package-install-from-buffer)
5309         (package-delete, package-install): Use it.
5310         (package-install-from-archive)
5311         (package-menu--perform-transaction): Silence.
5312         (package-menu-execute): Feedback when operation starts.
5314         Use delay-mode-hooks when visiting the init-file
5315         * lisp/emacs-lisp/package.el (package--ensure-init-file):
5316         delay-mode-hooks
5317         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
5319         * lisp/files.el: Only message when saving if save-silently is nil
5320         (save-silently): New variable.
5321         (files--message): New function.
5322         (find-file-noselect, save-buffer, basic-save-buffer)
5323         (basic-save-buffer-2, save-some-buffers, not-modified)
5324         (append-to-file): Use them.
5326 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
5328         Support debug declarations in pcase macros
5329         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
5330         (pcase-UPAT): Use it.  Remove "`".
5331         (pcase--edebug-match-macro): New function.
5332         (pcase-defmacro): Support debug declarations.
5333         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
5334         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
5335         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
5337         pcase.el: Edebug support for `app' and vector patterns
5338         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
5339         (pcase-UPAT): Use it. Support `app' patterns.
5340         (pcase-QPAT): Support vector patterns.
5342         edebug.el: Disambiguate vector specifications
5343         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
5344         `(vector ...)' as a vector specification, not as a sublist.
5346         (gnus-summary-refer-thread): Don't clobber unread articles
5347         This fixes a bug where `A T' causes "random" articles to become marked
5348         as read.
5349         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
5350         gnus-newsgroup-unreads remains sorted.
5352         mouse-sel.el: Fix mouse-sel-get-selection-function
5353         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
5354         Use gui--last-selected-text-primary instead of no longer existing
5355         gui-last-selected-text.
5357         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
5359         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
5361 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5363         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
5365         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
5367         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
5368         (byte-compile--interactive): New var.
5369         (byte-compile--message): New function.
5370         (byte-compile-log-1, byte-force-recompile)
5371         (byte-recompile-directory, byte-recompile-file)
5372         (byte-compile-file, compile-defun)
5373         (byte-compile-file-form-defmumble, byte-compile)
5374         (byte-compile-file-form-defalias, display-call-tree): Use it.
5376         * lisp/files.el: Don't message when nothing happened
5377         (save-some-buffers, basic-save-buffer): Before messaging to say
5378         "nothing was saved" check if (called-interactively-p 'any).
5380 2015-04-12  João Távora  <joaotavora@gmail.com>
5382         Summary: Improve sexp-based movement in message-mode
5383         Works by giving citations and smileys a different syntax.  This helps
5384         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
5385         sexp-based movement.
5386         * lisp/gnus/message.el (message--syntax-propertize): New function.
5387         (message-mode): Set syntax-related vars.
5388         (message-smileys): New variable.
5389         * test/automated/message-mode-tests.el: New file
5391 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5393         Use bool for boolean in window.c
5394         * src/window.c: Omit unnecessary static function decls.
5395         (adjust_window_count, select_window, Fselect_window)
5396         (window_body_width, Fwindow_body_height, Fwindow_body_width)
5397         (set_window_hscroll, check_window_containing, Fwindow_at)
5398         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
5399         (unshow_buffer, replace_window, recombine_windows)
5400         (add_window_to_list, candidate_window_p, next_window)
5401         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
5402         (Fget_buffer_window, Fdelete_other_windows_internal)
5403         (replace_buffer_in_windows_safely, set_window_buffer)
5404         (Fset_window_buffer, Fforce_window_update)
5405         (temp_output_buffer_show, make_parent_window)
5406         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
5407         (resize_frame_windows, Fsplit_window_internal)
5408         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
5409         (Fresize_mini_window_internal, mark_window_cursors_off)
5410         (window_scroll, window_scroll_pixel_based)
5411         (window_scroll_line_based, scroll_command, Fscroll_other_window)
5412         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
5413         (Fmove_to_window_line, Fset_window_configuration)
5414         (delete_all_child_windows, apply_window_adjustment)
5415         (set_window_fringes, set_window_scroll_bars)
5416         (Fset_window_vscroll, foreach_window, foreach_window_1)
5417         (compare_window_configurations, Fcompare_window_configurations):
5418         Prefer 'bool', 'true', and 'false' for booleans.
5419         * src/window.h (WINDOW_MODE_LINE_LINES)
5420         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
5422 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
5424         Speed up byte-compilation and autoload generation by avoiding mode-hooks
5425         This prevents emacs-lisp-mode-hook from being run everytime an
5426         autoload file is generated, which can account for a fraction of
5427         package installation time depending on the hooks the user has
5428         configured.
5429         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
5430         * lisp/emacs-lisp/autoload.el (autoload-find-file)
5431         (autoload-find-generated-file): Use delay-mode-hooks.
5433         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
5434         (package-menu-refresh): Respect async and do new package checking.
5435         (list-packages): Use `package-menu-refresh' instead of repeating code.
5437         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
5438         (package--quick-help-keys): New variable.
5439         (package--prettify-quick-help-key): New function.
5440         (package-menu-quick-help): Use it.
5442         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
5443         (package--build-compatibility-table): require finder
5445         * test/automated/package-test.el: Fix new test
5447         * lisp/emacs-lisp/package.el: Silence async operations
5448         (package--silence): New variable.
5449         (package--message): New function.
5450         (package-import-keyring, package-refresh-contents)
5451         (package-compute-transaction, package-install, package-delete)
5452         (package-menu--perform-transaction, package-menu-execute): Use it.
5454         * test/automated/package-test.el: Test async functionality
5455         (package-test-update-archives-async): New test
5457 2015-04-11  Daiki Ueno  <ueno@gnu.org>
5459         Utilize `make-process' in epg.el
5460         * lisp/epg.el (epg-error-output): Abolish.
5461         (epg-context): New slot `error-buffer'.
5462         (epg--start): Use `make-process' and `make-pipe-process'.
5463         (epg--process-filter): Remove code separating stderr from stdout.
5464         (epg-wait-for-completion): Simplify `error-output' handling.
5465         (epg-reset): Dispose error buffer.
5467 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5469         * .gitignore: Ignore doc temps and outputs.
5471         Port commit-msg to MSYS Bash+Gawk
5472         See Eli Zaretskii in:
5473         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
5474         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
5475         (cent_sign, print_at_sign, at_sign): Revert previous change.
5476         (print_at_sign): Prepend "BEGIN".
5477         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
5479         Port commit-msg to broken MS-Windows shell
5480         * build-aux/git-hooks/commit-msg (cent_sign):
5481         Just use UTF-8 here rather than ASCII + printf, as the latter fails
5482         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
5483         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
5485 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
5487         Support GnuTLS v3.4 and later on MS-Windows
5488         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
5489         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
5490         GnuTLS DLL to load according to value of libgnutls-version.
5491         (Bug#20294)
5493 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5495         Minor quoting etc. fixes to misc manuals
5496         Fix some minor quoting and spacing issues.  Distinguish more
5497         clearly among grave accent and apostrophe (which are ASCII) and
5498         single quote (which is not).  Prefer the standard terms
5499         "apostrophe" and "grave accent" to alternative names that can be
5500         confusing.  Use apostrophes to single-quote ASCII text.
5501         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
5502         rather than approximating it in ASCII with grave accent.
5504 2015-04-11  Daiki Ueno  <ueno@gnu.org>
5506         Respect more keyword args in `make-process'
5507         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
5508         keywords as documented.
5510 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
5512         Extract ChangeLog entries when committing a directory
5513         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
5514         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
5515         Add a FIXME comment.
5516         (log-edit-changelog-entries): Extract from
5517         `log-edit-changelog-entries', handle FILE being a directory
5518         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
5520 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
5522         Fix problems found by --enable-gcc-warnings
5523         * src/process.c (create_process, Fmake_pipe_process)
5524         (Fmake_network_process): Omit unused locals.
5526         Fix commit-msg to handle scissors lines
5527         * build-aux/git-hooks/commit-msg:
5528         Ignore every line after a scissors line, such as a line generated
5529         by 'git commit -v'.  Problem reported by Johan Bockgård in:
5530         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
5532         port commit-msg to Gawk 3.0.4 (1999)
5533         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
5534         (print_at_sign, at_sign): New vars.  Use them to avoid problems
5535         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
5536         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
5538         Have commit-msg report commit failure
5539         * build-aux/git-hooks/commit-msg: If the commit is aborted,
5540         say so.  Simplify by doing this at the end.  Problem reported
5541         by Eli Zaretskii in:
5542         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
5544 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5546         Clean up LDAP Configuration section of EUDC manual
5547         * doc/misc/eudc.texi: Combine indices.
5548         (LDAP Configuration): Use command markup.  Add index entries.
5549         Change formatting.  Wrap long lines.  Add noindent markup.
5551 2015-04-10  Daiki Ueno  <ueno@gnu.org>
5553         Add facility to collect stderr of async subprocess
5554         * src/w32.h (register_aux_fd): New function declaration.
5555         * src/w32.c (register_aux_fd): New function.
5556         * src/process.h (struct Lisp_Process): New member stderrproc.
5557         * src/process.c (PIPECONN_P): New macro.
5558         (PIPECONN1_P): New macro.
5559         (Fdelete_process, Fprocess_status, Fset_process_buffer)
5560         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
5561         (Fcontinue_process): Handle pipe process specially.
5562         (create_process): Respect p->stderrproc.
5563         (Fmake_pipe_process): New function.
5564         (Fmake_process): Add new keyword argument :stderr.
5565         (wait_reading_process_output): Specially handle a pipe process when
5566         it gets an EOF.
5567         (syms_of_process): Register Qpipe and Smake_pipe_process.
5568         * doc/lispref/processes.texi (Asynchronous Processes): Document
5569         `make-pipe-process' and `:stderr' keyword of `make-process'.
5570         * lisp/subr.el (start-process): Suggest to use `make-process' handle
5571         standard error separately.
5572         * test/automated/process-tests.el (process-test-stderr-buffer)
5573         (process-test-stderr-filter): New tests.
5574         * etc/NEWS: Mention new process type `pipe' and its usage with the
5575         `:stderr' keyword of `make-process'.
5577 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
5579         Minor quoting etc. fixes to lispref manual
5580         * doc/lispref/tips.texi (Documentation Tips):
5581         Distinguish more clearly among grave accent, apostrophe,
5582         and single quote.
5583         * doc/lispref/README, doc/lispref/buffers.texi:
5584         * doc/lispref/commands.texi, doc/lispref/control.texi:
5585         * doc/lispref/customize.texi, doc/lispref/display.texi:
5586         * doc/lispref/elisp.texi, doc/lispref/files.texi:
5587         * doc/lispref/frames.texi, doc/lispref/hash.texi:
5588         * doc/lispref/help.texi, doc/lispref/internals.texi:
5589         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
5590         * doc/lispref/markers.texi, doc/lispref/modes.texi:
5591         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
5592         * doc/lispref/os.texi, doc/lispref/positions.texi:
5593         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
5594         * doc/lispref/text.texi, doc/lispref/tips.texi:
5595         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
5596         Use American-style double quoting in ordinary text,
5597         and quote 'like this' when single-quoting in ASCII text.
5598         Also, fix some minor spacing issues.
5600 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
5602         Handle symlinked test directory in tramp-tests.el
5603         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
5604         (tramp--test-check-files): Use `file-truename' for directories.
5606 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
5608         Fix 'recenter' when visual-line-mode is turned on
5609         * src/window.c (Frecenter): Use the same code for GUI and TTY
5610         frames alike; use vmotion only for "initial" frames.  This is
5611         because vmotion doesn't support visual-line-mode.  Rewrite the
5612         'iarg >= 0' case to use move_it_* functions instead of using
5613         vmotion, for the same reason.  Fix the clipping of the argument
5614         value to support scroll-margin in all cases and avoid unwarranted
5615         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
5616         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
5617         which see.
5619 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5621         * abbrev.el (define-abbrev-table): Refine last change.
5623         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
5624         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
5625         use of c[ad]+r", so as to keep the "cl-" prefix on all
5626         cl-lib definitions.
5628         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
5630         * lisp/cedet/semantic: Remove some dead code
5631         * lisp/cedet/semantic/util-modes.el
5632         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
5633         any more.
5634         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
5635         not supported any more.
5636         (semantic-safe): Use `declare'.
5637         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
5638         (semantic-tag-intangible-p): Remove unused functions.
5639         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
5640         Remove unused function.
5642         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
5643         (gnus-article-hide-text, gnus-article-unhide-text)
5644         (gnus-article-unhide-text-type): Remove special handling of
5645         `intangible' since that property is not used any more.
5646         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
5648 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
5650         Use the VC root in `log-edit-listfun'
5651         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
5652         `log-edit-listfun'.
5654 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
5656         Fix description of Unix time, mention new function.
5657         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
5658         Unix time.
5659         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
5660         (Basic Operations on Units): Mention `calc-convert-exact-units'.
5662 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
5664         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
5666 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
5668         (log-edit-insert-changelog-entries): Don't add newline after the last entry
5669         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
5670         Don't add newline after the last entry.
5672 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
5674         css-mode.el: Add "not" pseudo-class
5675         (Bug#20267)
5676         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
5677         list of CSS pseudo-classes.
5679 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5681         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
5683 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
5685         Stop messing with the EMACS env var
5686         * misc.texi (Interactive Shell): Remove description of EMACS env var.
5688 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5690         Adapt 'make change-history' to coding cookie
5691         * Makefile.in (change-history): Adjust to change of format of
5692         ChangeLog file, which now has a coding cookie before an indented
5693         copyright notice.
5695 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5697         Adapt 'make change-history' to coding cookie
5698         * Makefile.in (change-history): Adjust to change of format of
5699         ChangeLog file, which now has a coding cookie before an indented
5700         copyright notice.
5702         gitlog-to-changelog coding cookie and mv -i
5703         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
5704         for copyright notice prototype, so that we get a proper "coding:"
5705         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
5706         existing ChangeLog.  Problems reported by Eli Zaretskii in:
5707         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
5709         Merge from gnulib
5710         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
5711         2015-04-09 gitlog-to-changelog: port to MS-Windows
5713 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
5715         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
5716         (Bug#20212)
5718 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5720         Stop messing with the EMACS env var
5721         (Bug#20202)
5722         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
5723         * lisp/comint.el (comint-exec-1):
5724         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
5725         * lisp/progmodes/compile.el (compilation-start): Same and bring
5726         INSIDE_EMACS's format in line with other users.
5728         css-mode.el (css-smie-rules): Fix indentation after complex selectors
5729         (Bug#20282)
5730         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
5731         inner structure of selectors.
5733 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5735         python.el: Indent docstring lines to base-indent
5736         (Bug#19595)
5737         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
5738         an initial patch.
5739         * lisp/progmodes/python.el
5740         (python-indent-context): Add :inside-docstring context.
5741         (python-indent--calculate-indentation): Handle :inside-docstring.
5742         (python-indent-region): Re-indent docstrings.
5743         * test/automated/python-tests.el (python-indent-region-5)
5744         (python-indent-inside-string-2): Fix tests.
5746         python.el: Increase native completion robustness
5747         (Bug#19755)
5748         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
5749         this and providing useful ideas.
5750         * lisp/progmodes/python.el
5751         (python-shell-completion-native-output-timeout): Increase value.
5752         (python-shell-completion-native-try-output-timeout): New var.
5753         (python-shell-completion-native-try): Use it.
5754         (python-shell-completion-native-setup): New readline setup avoids
5755         polluting current context, ensures output when no-completions are
5756         available and includes output end marker.
5757         (python-shell-completion-native-get-completions): Trigger with one
5758         tab only.  Call accept-process-output until output end is found or
5759         python-shell-completion-native-output-timeout is exceeded.
5761 2015-04-08  Samer Masterson  <samer@samertm.com>
5763         * lisp/eshell: Make backslash a no-op in front of normal chars
5764         (Bug#8531)
5765         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
5766         (eshell-parse-backslash): Return escaped character after backslash
5767         if it is special.  Otherwise, if the backslash is not in a quoted
5768         string, ignore the backslash and return the character after; if
5769         the backslash is in a quoted string, return the backslash and the
5770         character after.
5771         * test/automated/eshell.el (eshell-test/escape-nonspecial)
5772         (eshell-test/escape-nonspecial-unicode)
5773         (eshell-test/escape-nonspecial-quoted)
5774         (eshell-test/escape-special-quoted): Add tests for new
5775         `eshell-parse-backslash' behavior.
5777 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
5779         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
5780         after the file name.
5781         (Bug#20276)
5783 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
5785         Minor quoting etc. fixes to Emacs manual
5786         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
5787         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
5788         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
5789         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
5790         * doc/emacs/indent.texi, doc/emacs/macos.texi:
5791         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
5792         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
5793         * doc/emacs/search.texi, doc/emacs/trouble.texi:
5794         * doc/emacs/vc1-xtra.texi:
5795         Use American-style double quoting in ordinary text,
5796         and quote 'like this' when single-quoting in ASCII text.
5797         Also, fix some minor spacing issues.
5799         Minor quoting etc. fixes to elisp intro
5800         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
5801         American-style double quoting in ordinary text.  In ASCII text,
5802         consistently quote 'like this' instead of `like this', unless
5803         Emacs requires the latter.
5805 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
5807         * CONTRIBUTE: Mention log-edit-insert-changelog.
5809         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
5811 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
5813         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
5815 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5817         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
5818         (Bug#20270)
5819         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
5820         Fix inheritance of initargs.
5822 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
5824         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
5825         while dowloading information.
5827         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
5828         (package--ensure-init-file): Check file contents before visiting.
5829         (package-initialize): Call it.
5830         (package-install-from-buffer, package-install): Don't call it.
5832 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
5834         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
5835         (Bug#17517)
5837 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
5839         Fix nasty scoping bug in tramp-cache.el
5840         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
5842 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
5844         Add notice to visual commands section
5845         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
5846         such as git call less with its -F option which omits pagination if
5847         the contents is less than one page long.  This interferes with
5848         eshell's visual (sub-)commands.
5850 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
5852         ffap: Support environment variable expansion in file names
5853         (Bug#19839)
5854         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
5855         environment variable expansion in file names.
5857 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
5859         Prefer double-quote to accent-grave in man pages
5861 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
5863         (Bug#20257)
5864         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
5866 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
5868         Update etc/PROBLEMS.
5869         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
5870         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
5871         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
5872         respectively); other minor updates and tweaks.  (Bug#20011)
5874 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
5876         Add doc strings for some Isearch state vars
5877         * lisp/misearch.el (multi-isearch-buffer-list)
5878         (multi-isearch-file-list): Add doc strings.
5879         (Bug#20232)
5881 2015-04-07  Alan Mackenzie  <acm@muc.de>
5883         Always mark "<" and ">" in #include directives with text properties.
5884         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
5885         matcher" with an invocation of c-make-font-lock-search-function to allow
5886         fontification when there's no trailing space on an "#include <..>" line.
5888 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
5890         Generate a ChangeLog file from commit logs
5891         * .gitignore: Add 'ChangeLog'.
5892         * build-aux/gitlog-to-changelog: New file, from Gnulib.
5893         * build-aux/gitlog-to-emacslog: New file.
5894         * CONTRIBUTE: Document the revised workflow.
5895         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
5896         instead of just special cases.
5897         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
5898         (ChangeLog, unchanged-history-files, change-history)
5899         (change-history-commit): New rules.
5900         * admin/admin.el (make-manuals-dist--1):
5901         Don't worry about doc/ChangeLog.
5902         * admin/authors.el: Add a FIXME.
5903         * admin/make-tarball.txt:
5904         * lisp/calendar/icalendar.el:
5905         * lisp/gnus/deuglify.el:
5906         * lisp/obsolete/gulp.el:
5907         * lwlib/README:
5908         Adjust to renamed ChangeLog history files.
5909         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
5910         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
5911         Remove obsolete discussion of merging ChangeLog files.
5912         New section "Maintaining ChangeLog history".
5913         * build-aux/git-hooks/pre-commit:
5914         Reject attempts to commit files named 'ChangeLog'.
5915         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
5916         * make-dist: Make and distribute top-level ChangeLog if there's a
5917         .git directory.  Distribute the new ChangeLog history files
5918         instead of scattered ChangeLog files.  Distribute the new files
5919         gitlog-to-changelog and gitlog-to-emacslog.
5920         (Bug#19113)
5922         Rename ChangeLogs for gitlog-to-changelog
5923         This patch was implemented via the following shell commands:
5924         find * -name ChangeLog |
5925         sed 's,.*,git mv & &.1,
5926         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
5927         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
5928         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
5929         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
5930         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
5931         sh
5932         git commit -am"[this commit message]"
5934 This file records repository revisions from
5935 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
5936 commit 86076e65524933f7d1c9812cec292fdc7d5dc60c (inclusive).
5937 See ChangeLog.1 for earlier changes.
5939 ;; Local Variables:
5940 ;; coding: utf-8
5941 ;; End:
5943   Copyright (C) 2015 Free Software Foundation, Inc.
5945   This file is part of GNU Emacs.
5947   GNU Emacs is free software: you can redistribute it and/or modify
5948   it under the terms of the GNU General Public License as published by
5949   the Free Software Foundation, either version 3 of the License, or
5950   (at your option) any later version.
5952   GNU Emacs is distributed in the hope that it will be useful,
5953   but WITHOUT ANY WARRANTY; without even the implied warranty of
5954   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5955   GNU General Public License for more details.
5957   You should have received a copy of the GNU General Public License
5958   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.