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