* lisp/progmodes/sh-script.el: Better handle nested quotes
[emacs.git] / ChangeLog.2
blob4d59b8f2f0f63976bc90808211182da75d25e41c
1 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3         Merge from gnulib
4         This incorporates:
5         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
6         2015-06-05 stdio: Don't redefine gets when using C++
7         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
8         2015-06-02 file-has-acl: fix build on Mac OS X 10
9         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
10         2015-06-01 pthread_sigmask: discount system version if a simple macro
11         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
12         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
13         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
14         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
15         * lib/gnulib.mk: Regenerate.
17 2015-06-06  Juri Linkov  <juri@linkov.net>
19         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
20         before calling grep-compute-defaults because now it affects the
21         command lines computed in grep-compute-defaults. (Bug#20728)
23 2015-06-06  Glenn Morris  <rgm@gnu.org>
25         Address some compilation warnings.
26         * lisp/international/mule-cmds.el (w32-get-console-codepage)
27         (w32-get-console-output-codepage):
28         * lisp/progmodes/elisp-mode.el (xref-collect-references):
29         * lisp/version.el (cairo-version-string): Declare.
30         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
32 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
34         Fix display when a font claims large values of ascent and descent
35         This fixes bug#20628.
36         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
37         coordinate of a hollow cursor glyph when the original glyph's
38         ascent is too small.
39         (get_font_ascent_descent, normal_char_ascent_descent)
40         (normal_char_height): New functions.
41         (handle_single_display_spec, append_space_for_newline)
42         (calc_pixel_width_or_height, produce_stretch_glyph)
43         (calc_line_height_property): Use normal_char_ascent_descent and
44         normal_char_height.
45         (x_produce_glyphs): When font-global values of ascent and descent
46         are too large, use per-character glyph metrics instead, if
47         possible.  But don't allow the glyph row's ascent and descent
48         values become smaller than the values from the metrics of the
49         font's "normal" character.
50         * src/xftfont.c (xftfont_draw):
51         * src/w32font.c (w32font_draw): Correct the values of ascent and
52         descent used to draw glyphless characters' hex code in a box.
53         * src/xterm.c (x_draw_glyph_string_background):
54         * src/xdisp.c (x_produce_glyphs):
55         * src/w32term.c (x_draw_glyph_string_background):
56         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
57         to detect fonts whose global ascent and descent values are too
58         large to be used in layout decision, and redraw the background
59         when that happens.
60         * src/dispextern.h (FONT_TOO_HIGH): New macro.
61         (get_font_ascent_descent): Add prototype.
62         * src/xterm.c (x_new_font):
63         * src/w32term.c (x_new_font):
64         * src/nsterm.m (x_new_font):
65         * src/font.c (font_open_entity):
66         * src/composite.c (composition_gstring_width): Use
67         get_font_ascent_descent to obtain reasonable values for ascent and
68         descent of a font.
70 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
72         Add assertion in adjust_point_for_property
73         * src/keyboard.c (adjust_point_for_property): Add eassert for
74         current buffer being shown in selected window.
76 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
78         Replace uses of in-string-p; make it obsolete
79         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
80         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
82 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
84         Fix Dired display of an explicit list of files by ls-lisp.el
85         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
86         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
87         correct for when displaying individual files separately, not as
88         part of listing a directory, in which case these values are not
89         recomputed by 'ls-lisp-insert-directory', but used verbatim.
91         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
93 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
95         Do not adjust point in a non-selected window
96         * src/keyboard.c (command_loop_1): Do not adjust point when
97         current buffer is not shown in selected window (Bug#20590).
99         * etc/DEBUG: Mention 'maybe_call_debugger'
101 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
103         Fix a unit test for map.el
104         * test/automated/map-tests.el (test-map-let): Fix the test to work
105         with the new syntax of `map-let'.
107         * lisp/emacs-lisp/map.el (map-let): Better docstring.
109         Better syntax for the map pcase pattern
110         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
111         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
113         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
115         Fix a byte-compiler error in map-put and map-delete
116         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
117         called with a symbol.
119 2015-06-05  Glenn Morris  <rgm@gnu.org>
121         * admin/gitmerge.el (gitmerge-commit-message):
122         Revert to including "skipped" messages in ChangeLog once again.
124 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
126         Use string> instead of equiv lambda with string<
127         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
128         lambda with string<.
130 2015-06-05  Glenn Morris  <rgm@gnu.org>
132         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
133         (map--delete-array): Fix typo.
135         * test/automated/map-tests.el: Replace "assert" with "should".
137         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
138         (SUBDIRS_REL): Derive from SUBDIRS.
140         Tweak some build messages.
141         * lisp/Makefile.in ($(lisp)/loaddefs.el):
142         * lisp/cus-dep.el (custom-make-dependencies):
143         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
144         * lisp/international/titdic-cnv.el (batch-titdic-convert):
145         Don't say how to compile.
147 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
149         Omit U+0332 COMBINING LOW LINE in previous change
150         It turns out that it does not work on Ubuntu 15.04.
152         Fix transliteration of Bahá'í months
153         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
154         Improve quality of Latin transliteration of Bahá'í month names.
156         Fix curved quotes in a few places
157         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
158         The strings in question are not doc strings, so this partially
159         undoes the recent change that assumed they were doc strings.
160         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
161         * lisp/info.el (Info-finder-find-node):
162         Use curved quotes.
163         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
164         Also allow curved quotes in doc strings.
166 2015-06-04  Glenn Morris  <rgm@gnu.org>
168         * lisp/Makefile.in (AM_V_at): Add missing definition.
170         * lisp/Makefile.in: Quieten output a bit.
171         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
172         Don't echo directories, since the commands we invoke print them.
174         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
175         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
176         (SUBDIRS_SUBDIRS): New variables.
177         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
178         Remove.
179         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
180         (update-subdirs, compile-main, compile-clean):
181         Replace "setwins" usage with new "SUBDIRS" variables.
183         * lisp/vc/compare-w.el (compare-windows-get-window-function):
184         Fix :version tag.
186 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
188         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
190         Undo removal of x_clear_area call on expose for GTK3 or cairo.
191         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
192         exposed area.  (Bug#20677)
194 2015-06-04  Glenn Morris  <rgm@gnu.org>
196         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
198         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
200         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
201         Rename from quail-lao-update-translation, since lao.el defines that.
203 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
205         Handle new-style advice in find-funct
206         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
207         Handle new-style advice.  Return the symbol's function definition.
208         (Bug#20718)
209         (find-function-library): Update accordingly.
211 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
213         Merge branch 'map'
215         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
217         Add new function string-greaterp
218         * lisp/subr.el (string-greaterp): New function.  Also aliased to
219         `string>'.
220         * test/automated/subr-tests.el (string-comparison-test): Add unit
221         tests for `string>'and `string<'.
222         * src/fns.c (string-lessp): Better docstring.
224 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
226         Fix timezone-related functions on MS-Windows
227         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
228         'xputenv', even if no reallocation of tzvalbuf was necessary.
229         This fixes a bug in timezone-related functions on MS-Windows.
230         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
232 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
234         Don't pass raw directory name to 'error'
235         * lisp/files.el (basic-save-buffer-2): Avoid format error if
236         a directory name contains a string like "%s".
238 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
240         Override 'grep --color=always'
241         * lisp/progmodes/xref.el (xref-collect-matches):
242         Override --color=always in grep-find-template.
244 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
246         Fix error introduced recently in file-notify-tests.el
247         * test/automated/file-notify-tests.el
248         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
249         (file-notify--deftest-remote): Revert previous patch, not
250         necessary anymore.
252 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
254         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
255         Starting from a display string after a newline, point went to the
256         previous line.  Also, fix an inadvertent use of a buffer position
257         with FETCH_BYTE.  (Bug#20701)
259 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
261         Instrument file-notify-test.el in order to catch hydra error.
262         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
263         Wrap body by `ignore-case', in order to trap non-local errors.
265 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
267         Undo previous changes in non-toolkit scroll bar drawing.
268         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
269         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
271 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
273         * .gitignore: Also ignore doc/*/*/*.html and .ps.
275         Support quotes 'like this' in info files
276         This is possible when 'makeinfo --disable-encoding' is used
277         in Texinfo 5.
278         * lisp/calc/calc-help.el (calc-describe-thing):
279         * lisp/gnus/gnus-art.el (gnus-button-alist):
280         * lisp/info.el (Info-find-index-name):
281         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
282         Also support quotes 'like this'.
283         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
284         * lisp/finder.el (finder-font-lock-keywords): Remove var that
285         hasn't been used in years, instead of bothering to fix its quoting.
287 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
289         * .gitignore: Remove !test/etags/html-src/*.html.
290         It's no longer needed, since *.html was removed.  Sort.
292 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
294         Restore <D> instead of '.' in grep-find-template
295         * lisp/cedet/semantic/symref/grep.el
296         (semantic-symref-grep-use-template): Update a comment.
297         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
298         instead of '.' in grep-find-template (bug#20719).
299         (rgrep): Pass nil as the directory to rgrep-default-command.
300         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
301         default value for DIR.
302         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
303         workaround.
305 2015-06-02  Glenn Morris  <rgm@gnu.org>
307         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
309         * configure.ac (emacs_config_features): Add Cairo.
311         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
313 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
315         Ensure, that autorevert works for remote files in file-notify-tests.el
316         * test/automated/file-notify-tests.el (file-notify--test-desc):
317         New defvar.
318         (file-notify--test-remote-enabled)
319         (file-notify-test00-availability, file-notify-test01-add-watch)
320         (file-notify-test02-events): Use it.
321         (file-notify--test-event-test): Check proper descriptor.
322         (file-notify-test03-autorevert): Ensure, that
323         `visited-file-modtime' has changed.
324         (Bug#20392)
326 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
328         Add a pcase pattern for maps and `map-let' based on it
329         * lisp/emacs-lisp/map.el (map-let): New macro.
330         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
331         * test/automated/map-tests.el: New test for `map-let'.
333 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
335         Reuse rgrep mechanics in xref-find-regexp
336         * lisp/progmodes/grep.el (rgrep-default-command):
337         Extract from `rgrep'.
338         * lisp/progmodes/xref.el (xref-collect-references): Split from
339         `xref-collect-matches'.  Only handle the case of symbol search.
340         (xref-collect-matches): Instead of Semantic Symref, use
341         `rgrep-default-command', to take advantage of its directory and
342         file ignore settings.
343         (xref--collect-match): Remove the last argument, leaving the
344         regexp construction up to the caller.
345         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
346         Change to take the xref-collect- function to use as an argument.
347         (elisp-xref-find): Update accordingly.
348         * lisp/progmodes/etags.el (etags--xref-find-matches)
349         (etags-xref-find): Same.
351         Move xref-elisp-location to elisp-mode.el
352         * lisp/progmodes/xref.el (xref-elisp-location)
353         (xref-make-elisp-location, xref-location-marker): Remove here.
354         (xref--xref): Don't limit the type of the location slot.
355         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
356         Define as a cl-struct here.
357         (xref-location-marker): Move here.
359 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
361         Minor tweaks for .gitignore
362         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
363         ignore admin/notes/tags that might be ignored as TAGS on
364         case-insensitive filesystems.  (Bug#20710)
366 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
368         Generate curved quotes in ert doc
369         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
370         (ert-results-mode-menu)
371         (ert-results-pop-to-backtrace-for-test-at-point)
372         (ert-results-pop-to-messages-for-test-at-point)
373         (ert-results-pop-to-should-forms-for-test-at-point)
374         (ert-describe-test):
375         Quote ‘like this’, not `like this', when generating doc strings
376         and the like.
377         * test/automated/ert-x-tests.el (ert-test-describe-test):
378         Allow quoting ‘like this’.
380 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
382         Add test for previous commit
383         * test/automated/replace-tests.el: New file.
384         (query-replace--split-string-tests): Add test for previous commit.
386         Avoid confusion in query-replace history when replacing NUL chars
387         * lisp/replace.el (query-replace--split-string): New function.
388         (query-replace-read-from): Rely on the 'separator' property
389         instead of searching for the NUL character (Bug#20690).
391 2015-06-02  Glenn Morris  <rgm@gnu.org>
393         Merge from origin/emacs-24
394         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
396         * admin/gitmerge.el (gitmerge-commit-message):
397         Exclude "skipped" messages from ChangeLog.
399 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
401         Sync with Tramp repository
402         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
403         messages.
404         (tramp-handle-make-auto-save-file-name): When calling
405         `make-auto-save-file-name' internally, make sure it uses Unix-like
406         behavior, not Windows-like behavior.
407         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
408         the local case, because "chown" might fail on w32.
409         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
410         for XEmacs.
412 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
414         MS-Windows followup for batch stdout/stderr output changes
415         * lisp/international/mule-cmds.el (set-locale-environment): In
416         batch mode, use console codepages for keyboard and terminal
417         encoding.  (Bug#20545)
419         Update .gitattributes for DOS EOL files
420         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
421         CRLF end-of-line format.
423         NS equivalents of xterm.c and w32term.c changes
424         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
425         glyph string background also when the font in use claims
426         preposterously large global height value.  Helps to remove
427         artifacts left from previous displays when glyphless characters
428         are displayed as hex code in a box.
429         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
430         value for FRAME_LINE_HEIGHT, even when a font claims very large
431         value for its height.
433 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
435         Avoid grave accent quoting in stderr diagnostics
436         A few Emacs diagnostics go directly to stderr, and so can't easily
437         contain curved quotes (as non-UTF-8 locales might mishandle them).
438         Instead of bothering to add support for this rarity, reword the
439         diagnostics so that they don't use grave accent to quote.
440         * src/alloc.c (mark_memory): Fix comment.
441         * src/buffer.c (init_buffer):
442         * src/dispnew.c (init_display):
443         * src/emacs.c (main, sort_args):
444         * src/lread.c (dir_warning):
445         * src/term.c (init_tty):
446         * src/unexmacosx.c (unexec):
447         * src/xfns.c (select_visual):
448         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
449         Reword stderr diagnostics to avoid quoting `like this'.
450         * src/unexmacosx.c: Include errno.h.
451         * src/xfns.c (select_visual): Encode value for locale.
453 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
455         Treat batch stdout/stderr like standard display
456         Calls like (print FOO) could generate improperly encoded or
457         hard-to-read output if FOO contains characters outside the system
458         locale.  Fix this by treating batch stdout and stderr like
459         interactive standard display, when it comes to transliterating and
460         encoding characters (Bug#20545).
461         * doc/emacs/mule.texi (Communication Coding):
462         * doc/lispref/display.texi (Active Display Table):
463         * doc/lispref/nonascii.texi (Locales):
464         * etc/NEWS:
465         * src/coding.c (syms_of_coding):
466         * src/dispnew.c (syms_of_display):
467         Document this.
468         * src/print.c: Include disptab.h.
469         (printchar_to_stream): New function, with much of the guts of the
470         old Fexternal_debugging_output, except this one also uses the
471         standard display table.
472         (printchar, strout, Fexternal_debugging_output): Use it.
474 2015-05-31  Glenn Morris  <rgm@gnu.org>
476         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
478 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
480         Remove unused DEFSYMs
481         Remove DEFSYMs that aren't used at the C level.  Also:
482         * src/decompress.c (Qzlib_dll):
483         * src/font.c (Qunicode_sip):
484         * src/frame.c (Qtip_frame):
485         * src/ftfont.c (Qserif):
486         * src/gnutls.c (Qgnutls_dll):
487         * src/xml.c (Qlibxml2_dll):
488         Move from here ...
489         * src/w32fns.c (syms_of_w32fns): ... to here,
490         as these are used only on MS-Windows.
492 2015-05-31  Eli Zaretskii  <eliz@gnu.org>
494         Attempt to fix crashes due to accesses beyond glyph matrix end
495         * src/xdisp.c (x_produce_glyphs): When it->ascent and it->descent
496         are determined from per-character metrics, don't let the
497         max_ascent and max_descent become smaller than values returned by
498         normal_char_ascent_descent, to avoid unpleasant dynamic resizing
499         of screen line heights when text changes.
500         * src/xterm.c (x_new_font)
501         * src/w32term.c (x_new_font): Call get_font_ascent_descent to
502         obtain a reasonable value for FRAME_LINE_HEIGHT, even when a font
503         claims very large value for its height.
504         * src/font.c (font_open_entity): Call get_font_ascent_descent to
505         obtain a reasonable value for FRAME_SMALLEST_FONT_HEIGHT, even
506         when a font claims very large value for its height.
508 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
510         Use another default value for tramp-histfile-override
511         * lisp/net/tramp-sh.el (tramp-histfile-override):
512         Use ".tramp_history" as default.
513         Fixes: debbugs:#20446
515 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
517         Fix display of composite characters with large fonts
518         * src/xdisp.c (x_produce_glyphs): Call normal_char_ascent_descent
519         for reasonable values of font ascent and descent.
520         (get_font_ascent_descent): New function.
521         * src/composite.c (composition_gstring_width): Call
522         get_font_ascent_descent for reasonable values of font ascent and
523         descent.
524         * dispextern.h: Add prototype for get_font_ascent_descent.
526         Fix display of cursor at end of empty lines
527         * src/xdisp.c (normal_char_ascent_descent): Accept additional
528         argument: the character to use for metrics in case the font
529         declares too large ascent and descent values.  Add 1 pixel to
530         ascent and descent values.
531         (normal_char_height): Accept additional argument: the character to
532         use for metrics in case the font declares too large height value.
533         Call normal_char_ascent_descent instead of doing calculations for
534         a different default character.
535         (estimate_mode_line_height, handle_single_display_spec)
536         (calc_pixel_width_or_height, produce_stretch_glyph)
537         (calc_line_height_property, produce_glyphless_glyph): All callers
538         changed.
539         (append_space_for_newline): Make sure the space glyph produced at
540         end of line has correct ascent and descent values, and the glyph
541         row has correct height, even when it's empty.
543 2015-05-29  Eli Zaretskii  <eliz@gnu.org>
545         Fix 2 more calculations of line height
546         * src/xdisp.c (estimate_mode_line_height, handle_single_display_spec):
547         Use normal_char_height.
549         Fix line dimensions from line-height property
550         * src/xdisp.c (normal_char_ascent_descent): New function,
551         extracted from produce_glyphless_glyph.
552         (calc_line_height_property, produce_glyphless_glyph): Use it to
553         compute reasonable estimates of ascent and descent for large
554         fonts.
556         Fix display of stretch glyphs with large fonts
557         * src/xdisp.c (normal_char_height): New function.
558         (calc_pixel_width_or_height, produce_stretch_glyph): Use it to
559         compute more reasonable estimation of a "normal character height"
560         when the font claims preposterously large height values.
562 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
564         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
566 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
568         Fix display of glyphless characters with problematic fonts
569         * src/w32term.c (x_draw_glyph_string_background): Force redraw of
570         glyph string background also when the font in use claims
571         preposterously large global height value.  Helps to remove
572         artifacts left from previous displays when glyphless characters
573         are displayed as hex code in a box.
574         * src/xterm.c (x_draw_glyph_string_background): Force redraw of
575         glyph string background also when the font in use claims
576         preposterously large global height value.  Helps to remove
577         artifacts left from previous displays when glyphless characters
578         are displayed as hex code in a box.
579         * src/w32font.c (w32font_draw): Fix background drawing for
580         glyphless characters that display as acronyms or hex codes in a
581         box.
582         * src/xftfont.c (xftfont_draw): Fix background drawing for
583         glyphless characters that display as acronyms or hex codes in a
584         box.
585         * src/xdisp.c (produce_glyphless_glyph): Compute reasonable values
586         for it->ascent and it->descent when the font claims preposterously
587         large global values.
588         (FONT_TOO_HIGH): Move from here...
589         * src/dispextern.h (FONT_TOO_HIGH): ...to here.
591 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
593         Avoid very high screen lines with some fonts
594         * src/xdisp.c (get_phys_cursor_geometry): Adjust the height of the
595         cursor to avoid weird-looking hollow cursor with fonts that have
596         large ascent values for some glyphs.  This avoids having the
597         hollow cursor start too low.
598         (append_space_for_newline): Adjust the ascent value of the newline
599         glyph, so that the hollow cursor at end of line displays
600         correctly.
601         (FONT_TOO_HIGH): New macro.
602         (x_produce_glyphs): Use it to detect fonts that claim a
603         preposterously large height, in which case we use per-glyph ascent
604         and descent values.  (Bug#20628)
606 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
608         * etc/NEWS: Add an entry about map.el
610         Improve the docstring of functions in map.el
611         Since a map is not a data structure but a concept, adding information
612         about the possible types of maps can be useful information.
613         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
614         each public function.
616 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
618         Faster implementation of map-empty-p
619         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
620         specific tests depending on the type of the map.
622         * lisp/emacs-lisp/map.el: Better docstrings.
624 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
626         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
628 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
630         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
632         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
634         Fix a false negative in `map-elt' with alists and values being nil
635         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
636         found but its associated value is nil, do not return the default
637         value.
638         * test/automated/map-tests.el: Add a regression test.
640 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
642         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
644         Do not signal an error when trying to delete a key from an array
645         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
646         the key is present to avoid signaling an error.
647         * test/automated/map-tests.el: Add a test for deleting non-existing
648         keys from maps.
650         * lisp/emacs-lisp/map.el: Better docstring.
652         Minor improvement in map-elt.
653         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
654         doing a lookup in arrays, but check the boundaries of the array
655         instead.
656         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
657         and a negative integer as key.
659 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
661         * test/automated/map-tests.el: Refactoring of test methods.
663         * test/automated/map-tests.el: Renamed from map-test.el.
665 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
667         * lisp/emacs-lisp/map.el (map-into): Better error message.
669         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
671         Throw an error when converting a map into an unknown map type
672         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
673         * test/automated/map-test.el: Add a regression test.
675         New library map.el similar to seq.el but for mapping data structures.
676         * test/automated/map-test.el: New file.
677         * lisp/emacs-lisp/map.el: New file.
679 2015-04-11  Ulrich Müller  <ulm@gentoo.org>
681         Bump Emacs version to 24.5.50.
683 2015-04-06  Nicolas Petton  <nicolas@petton.fr>
685         * lisp/ChangeLog: Remove a duplicate
687 2015-04-05  Nicolas Petton  <nicolas@petton.fr>
689         lisp/ldefs-boot.el: Update for the 24.5 release
691         Update the 24.5 release date in all ChangeLog files
693 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
695         Make sure there's no explicit tag name
696         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
697         there's no explicit tag name (bug#20629).
699 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
701         Remove format2
702         * src/editfns.c, src/lisp.h (format2): Remove.
703         It is more trouble than it's worth, now that we have CALLN.
704         This is just a minor refactoring.
705         * src/buffer.c (Fkill_buffer):
706         * src/dbusbind.c (XD_OBJECT_TO_STRING):
707         * src/fileio.c (barf_or_query_if_file_exists):
708         Adjust to format2 going away.
710         Don't misencode C-generated messages
711         Also, be more consistent about calls to 'Fmessage' vs 'message'.
712         * src/alloc.c (Fgc_status):
713         Prefer AUTO_STRING to build_string for Fmessage call.
714         * src/data.c (Fmake_variable_buffer_local)
715         (Fmake_local_variable, Fmake_variable_frame_local):
716         * src/doc.c (store_function_docstring):
717         Use Fmessage, not message, since the argument can contain
718         non-ASCII characters, and this can cause the resulting message
719         to be incorrectly encoded for the current environment.
720         * src/fns.c (maybe_resize_hash_table):
721         * src/xselect.c (x_clipboard_manager_save_all):
722         Use message, not Fmessage, since Fmessage's power isn't needed here.
723         * src/process.c (Fmake_network_process): Reword message to avoid %s.
724         * src/xdisp.c (vmessage): Document restrictions on message contents.
725         (message_nolog) [false]: Remove unused code.
727         Use \r rather than ^M in string literals
728         This is less likely to cause problems on platforms that
729         use CRLF (or CR!) termination for lines.
731         Update .gitattributes to match current sources
732         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
733         * .gitattributes: Accommodate tests that insist on DOS format.
734         Remove test/automated/data/decompress/foo-gzipped.
735         Add etc/e/eterm-color.
737 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
739         Document 'face-ignored-fonts'
740         * doc/emacs/mule.texi (Modifying Fontsets): Document
741         face-ignored-fonts.  (Bug#20628)
743         Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
745         Add etags test for the new -Q option
746         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
747         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
748         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
749         test-case changes below.
750         * test/etags/ETAGS.good_6: New file.
751         * test/etags/cp-src/x.cc: New file.
752         * test/etags/Makefile (CPSRC): Add x.cc.
753         (check): Add one more test, for -Q.
755 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
757         Use list for the tags completion table, not obarray
758         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
759         list instead of an obarray
760         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
761         (tags-completion-table): Combine those lists.
762         (tags-completion-table): Update the docstring.
764 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
766         Restore EOL format testing in etags
767         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
768         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
769         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
770         test-case changes below.
771         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
772         * test/etags/cp-src/c.C (B): Add back stray CR character.
773         * test/etags/c-src/dostorture.c: Add back.
774         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
776 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
778         Declare Emacs on MS-Windows to be DPI-aware
779         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
780         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
781         This avoids Windows entering compatibility mode for Emacs,
782         which causes fonts to look less nice.
784 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
786         Improve Tramp traces.
787         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
788         * lisp/net/tramp.el (tramp-debug-message): Use it.
790 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
792         backup-buffer minor reworking of internals
793         * lisp/files.el (backup-buffer): Rework to avoid a couple of
794         unused locals inadvertently introduced in the previous change.
796         backup-buffer now reports .emacs.d/%backup% ills
797         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
798         fails due to disk space exhaustion or whatever, do not pretend
799         that it succeeded.  More generally, do a better job of checking
800         for I/O failures, and limit the scope of the condition-case to
801         just the operations where file errors should be caught and ignored
802         (Bug#20595).  Also, don't bother trying to delete later backups if
803         an earlier deletion fails, as this is a sign of trouble and it's
804         better to stop when there's trouble.
806         copy-file now truncates output after writing
807         * src/fileio.c (Fcopy_file): Truncate output after writing rather
808         than before.  This is more likely to work than truncation before
809         writing, if the file system is out of space or the user is over
810         disk quota (Bug#20595).  Also, check for read errors.
812 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
814         * lisp/emacs-lisp/package.el: Don't load from parent dir
815         (package-load-all-descriptors): Don't load descriptors from
816         directories above the package directories.
818 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
820         Merge from gnulib
821         This incorporates the following (Bug#20681):
822         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
823         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
824         * lib/set-permissions.c: Copy from gnulib.
826 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
828         Improve Tramp traces.
829         * lisp/net/tramp.el (tramp-call-process-region): New defun.
830         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
832 2015-05-29  Glenn Morris  <rgm@gnu.org>
834         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
836 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
838         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
839         The signature was changed in the cairo branch, merged on 2015-05-23.
840         This oversight broke compiling only the non-toolkit X version.
842 2015-05-29  Samer Masterson  <samer@samertm.com>
844         * doc/lispref/os.texi: Update initial-buffer-choice docs.
846 2015-05-29  Glenn Morris  <rgm@gnu.org>
848         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
849         Mark as an expected failure.
851 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
853         Change package test to look for curved quotes
854         * test/automated/package-test.el (package-test-describe-package)
855         (package-test-signed): Search for curved single quotes as well as
856         for grave accent and apostrophe.
858 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
860         gnus-art.el: Re-revert last change
861         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
862         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
864 2015-05-28  Samer Masterson  <samer@samertm.com>
866         Show files when `initial-buffer-choice' is non-nil
867         * startup.el (command-line-1): When Emacs is given a file as an
868         argument and `initial-buffer-choice' is non-nil, display both the file
869         and `initial-buffer-choice'.  For more than one file, show
870         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
871         commands out of the command line arg parser.
872         (initial-buffer-choice): Clarify docstring.
874 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
876         Fix last commit
877         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
878         (gnulib module qcopy-acl): Add back, as it is harmless.  This
879         minimizes differences wrt lib/gnulib.mk.
881         Fix the MS-Windows build as followup to gnulib update
882         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
883         set-permissions.c, as they don't compile on MinGW.
884         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
886 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
888         Revert my change to gnus-art.el
889         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
890         It wasn't that important, and it caused a Gnus build to fail.  See:
891         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
893         New minor mode Electric Quote
894         This lets you easily insert quotes ‘like this’ by typing
895         quotes `like this', and similarly you can easily insert
896         quotes “like this” by typing quotes ``like this'' (Bug#20545).
897         * doc/emacs/basic.texi (Inserting Text):
898         * doc/emacs/modes.texi (Minor Modes):
899         * etc/NEWS: Document it.
900         * doc/emacs/text.texi (Quotation Marks): New section.
901         * lisp/electric.el (electric-quote-comment)
902         (electric-quote-string, electric-quote-paragraph):
903         New custom vars.
904         (electric--insertable-p)
905         (electric-quote-post-self-insert-function): New functions.
906         (electric-quote-mode, electric-quote-local-mode): New minor modes.
907         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
908         Add curved single quotes to electric-pair-text-pairs.
909         Set electric-quote-string in this buffer.
911         A few more doc string fixes (Bug#20385)
913         Accept curved quotes in doc strings
914         * lisp/info-look.el (info-lookup-guess-custom-symbol):
915         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
917         Generate curved quotes in pseudo-info nodes
918         * lisp/info.el (Info-virtual-index-find-node)
919         (Info-virtual-index, Info-apropos-find-node, info-apropos):
920         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
922         Fix minor quoting problems in doc strings
923         Most of these fixes involve escaping grave accents that are
924         actually intended to be grave accents, not left quotes.
925         (Bug#20385)
927         Support curved quotes in doc strings
928         Emacs's traditional doc string style has been to quote symbols
929         `like this'.  This worked well on now-obsolete terminals where
930         ` and ' were symmetric quotes, but nowadays curved quotes
931         ‘like this’ look better.  Support quoting the new way too.
932         (Bug#20385)
933         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
934         ‘like-this’ as well as `like-this'.
935         * etc/NEWS: Mention this.
936         * lisp/cedet/mode-local.el (overload-docstring-extension)
937         (mode-local-print-binding, mode-local-describe-bindings-2):
938         * lisp/cus-theme.el (describe-theme-1):
939         * lisp/descr-text.el (describe-text-properties-1, describe-char):
940         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
941         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
942         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
943         (eieio-help-constructor):
944         * lisp/emacs-lisp/package.el (describe-package-1):
945         * lisp/faces.el (describe-face):
946         * lisp/help-fns.el (help-fns--key-bindings)
947         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
948         (help-fns--interactive-only, describe-function-1):
949         (describe-variable):
950         * lisp/help.el (describe-mode):
951         * lisp/international/mule-cmds.el (describe-input-method)
952         (describe-language-environment):
953         * lisp/international/mule-diag.el (describe-character-set)
954         (print-coding-system-briefly, list-input-methods)
955         (list-input-methods-1):
956         Insert curved quotes rather than grave accent and apostrophe.
957         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
958         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
959         (checkdoc-proper-noun-region-engine):
960         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
961         (lisp-cl-font-lock-keywords-2):
962         * lisp/finder.el (finder-font-lock-keywords):
963         * lisp/gnus/gnus-art.el (gnus-button-alist):
964         * lisp/help-fns.el (help-do-arg-highlight)
965         (describe-function-1, describe-variable):
966         * lisp/help-mode.el (help-xref-symbol-regexp)
967         (help-xref-info-regexp, help-xref-url-regexp):
968         * lisp/help.el (describe-mode):
969         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
970         * lisp/wid-edit.el (widget-documentation-link-regexp):
971         Parse symbols quoted ‘like-this’ as well as `like-this'.
972         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
973         Add "‘" and "’" to electric-pair-text-pairs.
974         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
975         (elisp-completion-at-point, elisp--preceding-sexp):
976         Also treat "‘" and "’" as quoting chars.
978         substitute-command-keys now curves quotes
979         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
980         * doc/lispref/help.texi (Keys in Documentation):
981         * etc/NEWS: Document this.
982         * src/doc.c (Fsubstitute_command_keys): Implement it.
984 2015-05-28  Glenn Morris  <rgm@gnu.org>
986         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
987         (rmail-summary-by-topic, rmail-summary-by-senders):
988         No longer strip leading/trailing whitespace.
990         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
991         (f90-no-block-limit): Add "enum".  (Bug#20680)
992         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
993         New tests.
995 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
997         * lisp/isearch.el (isearch--current-buffer): Give a default value.
999         Un-revert changes mistakenly dropped by f9fabb2b
1001 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
1003         Merge from gnulib
1004         This incorporates:
1005         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
1006         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
1007         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
1008         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
1009         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
1010         2015-05-26 stdio: fix probe on mingw under gcc 5.1
1011         * admin/merge-gnulib (GNULIB_MODULES):
1012         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
1013         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
1014         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
1015         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
1016         Get latest versions from gnulib.
1017         * lib/get-permissions.c, lib/set-permissions.c: New files.
1018         * lib/gnulib.mk, m4/gnulib-comp.m4:
1019         Regenerate.
1020         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
1022 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
1024         Delete the old process in vc-setup-buffer
1025         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
1026         process here.
1027         (vc-do-command): Rather than here (bug#20608).
1029 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
1031         Avoid gratuitous delete-dups in face-at-point.
1032         * lisp/faces.el (face-at-point): Do not compute the properly
1033         ordered, duplicate-free list if only a single value is
1034         requested anyway.  (Bug#20519)
1036         Show the exact C-x 8 RET invocation in describe-char.
1037         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
1038         invocation instead of a template.  (Bug#20522)
1040 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
1042         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
1043         (package-menu--post-refresh): Call `tabulated-list-print' with the
1044         UPDATE argument.  This only affects the refresh action, the revert
1045         action still erases tags.
1046         (package-menu-get-status): Change `assq' to `assoc'.
1047         (package-menu--mark-upgrades-1): New function.
1048         (package-menu--mark-upgrades-pending): New variable.
1049         (package-menu-mark-upgrades): Use them to delay marking until
1050         after refresh is done.
1051         (package-menu--post-refresh): Call mark-upgrades-1 if
1052         mark-upgrades-pending is non-nil.
1054 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
1056         Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
1057         Conflicts:
1058                 lisp/net/tramp.el
1060         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
1062 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
1064         Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
1066 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
1068         * lisp/isearch.el (isearch--current-buffer): New var
1069         (isearch-update): Set cursor-sensor-inhibit here.
1070         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
1072         Change inhibit-point-motion-hooks to t
1073         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
1074         to t and document it as obsolete.
1076 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
1078         Support ZIP files that use Zip64 extensions
1079         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
1080         format of central directory offsets used by Zip64 extensions.
1081         (Bug#20665)
1083 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
1085         New test tramp-test30-make-auto-save-file-name
1086         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
1087         (tramp-test31-special-characters)
1088         (tramp-test31-special-characters-with-stat)
1089         (tramp-test31-special-characters-with-perl)
1090         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
1091         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
1092         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
1093         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
1095         Improve tramp-handle-make-auto-save-file-name
1096         * tramp.el (tramp-auto-save-directory): Add :tags.
1097         (tramp-handle-make-auto-save-file-name): Let native
1098         `make-auto-save-file-name' use `auto-save-file-name-transforms',
1099         if `tramp-auto-save-directory' is not set.
1101 2015-05-27  Glenn Morris  <rgm@gnu.org>
1103         No longer set dired-directory in eshell.  (Bug#16477)
1104         * lisp/eshell/esh-mode.el (eshell-mode):
1105         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
1107         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
1109         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
1110         * lisp/progmodes/cc-mode.el (c-mode-help-address):
1111         Change to submit@debbugs.
1112         (c-mode-bug-package): New constant.
1113         (mail-position-on-field): Declare.
1114         (c-submit-bug-report): Insert X-Debbugs-Package header.
1115         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
1116         Mention debbugs.gnu.org.
1118 2015-05-26  Glenn Morris  <rgm@gnu.org>
1120         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
1121         (rmail-summary-by-recipients, rmail-summary-by-topic)
1122         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
1123         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
1125 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
1127         Handle curved quotes in info files
1128         * lisp/calc/calc-help.el (calc-describe-thing):
1129         * lisp/info.el (Info-find-index-name)
1130         (Info-try-follow-nearest-node, Info-fontify-node):
1131         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
1132         In info files, process quotes ‘like this’ the same way we process
1133         quotes `like this'.  This catches a few places we missed earlier.
1135 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
1137         xref-prompt-for-identifier: Use a list value
1138         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
1139         value, to be interpreted as a list of commands.
1140         (xref--prompt-p): New function.
1141         (xref--read-identifier): Use it.
1143 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
1145         Teach MS-Windows font back-end return per-glyph ascent/descent
1146         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
1147         values.
1148         * src/w32font.c (w32font_text_extents): Compute, cache, and
1149         accumulate per-glyph ascent and descent values, instead of copying
1150         global values from the font.  If the values are not available from
1151         the font data, i.e., non-TTF fonts, fall back on font-global values.
1152         (compute_metrics): Compute and return per-glyph ascent and descent
1153         values, if returned by GetGlyphOutlineW, falling back on
1154         font-global values.  (Bug#20628)
1155         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
1156         height of rectangle to be drawn, to be compatible with
1157         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
1158         box, when per-glyph ascent/descent values are used.
1160 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1162         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
1163         (tabulated-list-print): Don't sort if sorter is nil
1165 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
1167         Fix Bug#20621
1168         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
1169         are major modes which set `auto-save-mode' on their own rules;
1170         Tramp shall not overwrite such settings.
1171         (Bug#20621)
1173 2015-05-26  Glenn Morris  <rgm@gnu.org>
1175         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
1176         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
1177         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
1178         Doc updates.
1179         (vc-dir-mode): Remove unnecessary autoload.
1181 2015-05-25  Philipp Stephani  <phst@google.com>
1183         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
1184         (xterm--extra-capabilities-type): Add `getSelection'.
1185         (xterm--query): Add `no-async' argument.
1186         (xterm--init-activate-get-selection): New function.
1187         (terminal-init-xterm): Use it.
1188         (xterm--init-modify-other-keys): Rename from
1189         terminal-init-xterm-modify-other-keys.
1190         (xterm--init-bracketed-paste-mode): Rename from
1191         terminal-init-xterm-bracketed-paste-mode.
1192         (xterm--init-activate-set-selection): Rename from
1193         terminal-init-xterm-activate-set-selection.
1194         (xterm--selection-char): New function.
1195         (gui-backend-set-selection): Use it.  Use the &context to only apply
1196         this method in terminals where we enabled the feature.
1197         (gui-backend-get-selection): New method.
1199 2015-05-25  Daniel Colascione  <dancol@dancol.org>
1201         Add C-language keyword constants to C++
1202         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
1203         keyword constants to C++.
1205 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
1207         Make TAGS files more portable to MS-Windows
1208         * etc/NEWS: Document this.
1209         * lib-src/etags.c (readline_internal) [DOS_NT]:
1210         Don't treat CRs differently from GNUish hosts.
1211         * lisp/progmodes/etags.el (etags-goto-tag-location):
1212         Adjust STARTPOS to account for the skipped CRs in dos-style files.
1214 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
1216         Improve fix of debbugs:20634 in tramp-sh.el
1218 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
1220         Fix a typo in last commit
1221         * lib-src/etags.c (C_entries): Fix a typo.
1222         * test/etags/ETAGS.good_1:
1223         * test/etags/ETAGS.good_2:
1224         * test/etags/ETAGS.good_3:
1225         * test/etags/ETAGS.good_4:
1226         * test/etags/ETAGS.good_5:
1227         * test/etags/CTAGS.good: Update due to the change in etags.c.
1229         Fix tagging of class members in C-like OO languages
1230         * lib-src/etags.c (longopts): Add new option --class-qualify and
1231         its shorthand -Q.
1232         (print_help): Add help text for --class-qualify.
1233         (main): Add handling of -Q.
1234         (consider_token, C_entries) <omethodparm>: Append argument types
1235         to Objective C methods only if --class-qualify was specified.
1236         Qualify C++, Objective C, and Java class members with their class
1237         names only if --class-qualify was specified.
1238         (C_entries): If --class-qualify was not specified, remove the
1239         namespace and class qualifiers from tag names of C++ methods.
1240         This allows to use etags.el as xref back-end without the
1241         tag-symbol-match-p method, which greatly increases the number of
1242         potentially false positives.  (Bug#20629)
1243         * doc/man/etags.1: Update to document the new --class-qualify
1244         option.
1245         * test/etags/ETAGS.good_1:
1246         * test/etags/ETAGS.good_2:
1247         * test/etags/ETAGS.good_3:
1248         * test/etags/ETAGS.good_4:
1249         * test/etags/ETAGS.good_5:
1250         * test/etags/CTAGS.good: Update due to changes in etags.c.
1252 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1254         (cl-generic-define-method): Side effects are evil (bug#20644)
1255         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
1256         cons-cells that might be used as keys in an `equal' hash-table.
1258 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1260         Make erc timestamps visible again
1261         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
1262         timestamps visible again (if requested).
1264 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
1266         Fix last change in etags.c that broke tagging compresed files
1267         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
1268         quoting of decompression shell command for MS-Windows/MS-DOS.
1270 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1272         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
1273         (Bug#20639)
1275 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
1277         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
1279 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
1281         Fix IPv6 addresses in Tramp
1282         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
1283         Add sqare brackets around host name.
1285 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
1287         Inhibit `epa-file-handler' in Tramp
1288         (Bug#20634)
1289         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
1290         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
1291         `epa-file-handler'.
1293 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1295         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
1296         (pcase-let): Document the behavior in case the pattern doesn't match.
1298 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1300         * lisp/emacs-lisp/tabulated-list.el: New optional print method
1301         (tabulated-list-print): New optional argument, UPDATE.  If
1302         non-nil, the list is printed by only adding and deleting the
1303         changed entries, instead of erasing the whole buffer.  This method
1304         is much faster when few or no entries have changed.
1305         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
1306         * etc/NEWS: Document it.
1308         * lisp/emacs-lisp/tabulated-list.el: Improve printing
1309         (tabulated-list--get-sorter): New function.
1310         (tabulated-list-print): Restore window-line when remember-pos is
1311         passed and optimize away the `nreverse'.
1313 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
1315         Simpilify etags TEX mode scanning
1316         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
1317         Remove static vars.
1318         (TeX_commands): Deduce escapes here instead.
1319         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
1320         This removes the need for a reset_input call.
1322         Improve etags I/O error reporting
1323         * lib-src/etags.c:
1324         Don't include sys/types.h and sys/stat.h; no longer needed.
1325         (infilename): New static var.
1326         (process_file_name): Don't call 'stat'.  Instead, just open the
1327         file for reading and report any errors.  Don't bother making
1328         a copy of the file argument; it's not needed.  Be more careful to
1329         use the failing errno when reporting an error.
1330         Quote the real name better (though no perfectly)
1331         when passing it to the shell.
1332         (reset_input): New function, which reports I/O errors.
1333         All uses of 'rewind' changed to use this function.
1334         (perhaps_more_input): New function, which also checks for
1335         I/O errors.  All uses of 'feof' changed to use this function.
1336         (analyze_regex): Report an error if fclose fails.
1337         (readline_internal): Report an error if getc fails.
1338         (etags_mktmp): Return an error if close fails.
1340         etags.c: avoid side effects in 'if'
1341         * lib-src/etags.c (process_file_name, Perl_functions)
1342         (TEX_decode_env): Hoist side effects into previous statement.
1344         .gitignore tweaks
1345         * .gitignore: Ignore all *.stamp files.  Sort.
1346         Ignore [0-9]*.txt (commonly used name for git patches)
1347         and /vc-dwim-log-* (vc-dwim temporary).
1349 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
1351         Fix last change in etags.c, which failed the test suite
1352         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
1353         before the last change.
1355 2015-05-23  Glenn Morris  <rgm@gnu.org>
1357         Remove charset map files from repository, generate in first bootstrap
1358         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
1359         (all): Create the stamp file.
1360         (extraclean): Delete the stamp file.
1361         * src/Makefile.in (lispintdir, charsets): New variables.
1362         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
1363         New rules.
1364         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
1365         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
1366         * etc/charsets/*.map: Remove from repository.
1368 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1370         Cleanup etags.c to use locale-independent code
1371         Although this doesn't alter behavior (as etags doesn't use
1372         setlocale), the new version is more clearly locale-independent and
1373         the executable is a bit smaller on my platform.
1374         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
1375         Include <c-ctype.h> instead of <ctype.h>.
1376         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
1377         (begtk, midtk):
1378         Remove; no longer needed.
1379         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
1380         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
1381         c_islower, c_tolower, respectively.
1382         (notinname, begtoken, intoken, endtoken): Rewrite as functions
1383         instead of macros, and initialize the tables at compile-time
1384         rather than at run-time.
1386         Put default action first in src/Makefile
1387         * src/Makefile.in (all): Put this rule before lisp.mk.
1388         That way, plain 'make' works in the src directory again.
1390 2015-05-23  Glenn Morris  <rgm@gnu.org>
1392         * Makefile.in: Fix extraclean rule.
1393         (extraclean_dirs): New.
1394         (extraclean): Use it.
1396 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
1398         Avoid compiler warning in image.c on MS-Windows
1399         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
1400         warning in image.c.
1402 2015-05-23  Glenn Morris  <rgm@gnu.org>
1404         Fix --without-toolkit-scroll-bars builds.
1405         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
1406         Add new argument to x_clear_area1.
1407         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1408         Update x_clear_area arguments.
1410         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
1411         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
1412         Change to included version.
1413         (LOCAL, local, totalclean): Remove.
1414         (extraclean): Delete all generated files.
1416 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1418         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
1420         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
1422         tags-completion-at-point-function: Don't trust the find-tag function
1423         * lisp/progmodes/etags.el (tags-completion-at-point-function):
1424         Don't trust the find-tag function.
1426 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1428         Pacify --enable-gcc-warnings
1429         * src/frame.h (x_query_color): Remove redundant extern decl.
1430         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
1431         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
1432         (ftcrfont_text_extents, ftcrfont_draw):
1433         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
1434         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
1435         (x_ins_del_lines, frame_highlight, frame_unhighlight)
1436         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
1437         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
1438         (x_update_window_begin, x_connection_closed)
1439         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
1440         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
1441         (*x_gc_get_ext_data, x_extension_initialize)
1442         (x_cr_accumulate_data):
1443         Remove redundant static decl.  Many of these GCC doesn't complain
1444         about, but we might as well clean out the duplication while we're
1445         in the neighborhood.
1446         * src/xterm.c (x_fill_trapezoid_for_relief):
1447         Remove decl of nonexistent function.
1449 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1451         Replace gui-method macros with cl-generic with &context
1452         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
1453         (gui-method-declare, gui-call): Remove.
1454         (frame-creation-function): Use cl-defgeneric.
1455         (make-frame): Adjust callers.
1456         * lisp/menu-bar.el (menu-bar-edit-menu):
1457         Use gui-backend-selection-exists-p.
1458         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
1459         (gui-backend-get-selection): New cl-generic to replace
1460         gui-get-selection method.
1461         (gui-backend-set-selection): New cl-generic to replace
1462         gui-set-selection method.
1463         (gui-selection-owner-p): New cl-generic to replace
1464         gui-selection-owner-p method.
1465         (gui-backend-selection-exists-p): New cl-generic to replace
1466         gui-selection-exists-p method.  Adjust all callers.
1467         * lisp/server.el (server-create-window-system-frame): Don't ignore
1468         window-system spec even when unsupported.
1469         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
1470         * lisp/startup.el (handle-args-function, window-system-initialization):
1471         Use cl-defgeneric.
1472         (command-line): Adjust calls accordingly.
1473         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
1474         a window-system-initialization method.
1475         (handle-args-function, frame-creation-function): Use cl-defmethod.
1476         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
1477         (gui-get-selection): Use cl-defmethod on the new functions instead.
1478         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
1479         a gui-backend-get-selection method.
1480         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
1481         Use cl-defmethod on the new functions instead.
1482         (msdos-window-system-initialization): Turn into
1483         a window-system-initialization method.
1484         (frame-creation-function, handle-args-function): Use cl-defmethod.
1485         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
1486         a window-system-initialization method.
1487         (handle-args-function, frame-creation-function): Use cl-defmethod.
1488         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
1489         (gui-get-selection): Use cl-defmethod on the new functions instead.
1490         * lisp/term/x-win.el (x-window-system-initialization): Turn into
1491         a window-system-initialization method.
1492         (handle-args-function, frame-creation-function): Use cl-defmethod.
1493         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
1494         (gui-get-selection): Use cl-defmethod on the new functions instead.
1495         * lisp/term/xterm.el (xterm--set-selection): Turn into
1496         a gui-backend-set-selection method.
1497         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
1498         (Fns_selection_owner_p): Remove unused arg `terminal'.
1499         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
1501 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
1503         Revert "Fix etags Bug#20629 that broke C++ support."
1504         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
1506 2015-05-23  Jan D  <jan.h.d@swipnet.se>
1508         Fix etags Bug#20629 that broke C++ support.
1509         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
1510         from Sun May 10 (Bug#20629).
1512         Merge branch 'cairo'.
1513         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
1514         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
1516         Merge branch 'master' into cairo
1518         Fixes to compile cairo branch without cairo.
1519         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
1520         first argument.
1521         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
1522         USE_CAIRO.
1524 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
1526         * lisp/emacs-lisp/package.el: Always update selected-packages
1527         (package--update-selected-packages): New function.
1528         (package-menu-execute): Use it before starting the transaction,
1529         this way the list of selected packages is updated even when the
1530         transaction fails.
1531         (package-menu--perform-transaction): Don't edit selected-packages.
1533 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
1535         Fix etags reading of compressed files
1536         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
1537         Include fcntl.h, for O_CLOEXEC.
1538         (process_file_name): Don't use 'popen', whose streams cannot be
1539         rewound.  Instead, uncompress the file to a temporary file,
1540         created by 'etags_mktmp', and read from that as usual.
1541         (etags_mktmp): New function.
1542         * test/etags/ETAGS.good_1:
1543         * test/etags/ETAGS.good_2:
1544         * test/etags/ETAGS.good_3:
1545         * test/etags/ETAGS.good_4:
1546         * test/etags/ETAGS.good_5: Update to be consistent with latest
1547         changes in etags.c regarding reading compressed files.
1549         Improve documentation of 'set-fontset-font'
1550         * doc/lispref/display.texi (Fontsets): Document the value of nil
1551         for the 3rd argument of 'set-fontset-font'.
1553         Fix documentation of forward-line
1554         * src/cmds.c (Fforward_line): Clarify the return value if the line
1555         at end of accessible portion of the buffer has no newline.
1556         * doc/lispref/positions.texi (Text Lines): Document what happens
1557         if the line at end of accessible portion of buffer has no newline.
1558         (Bug#20587)
1560 2015-05-22  Glenn Morris  <rgm@gnu.org>
1562         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
1564         * admin/charsets/mapconv (LC_ALL): Set to C.
1566         * Makefile.in: Add admin/charsets into top-level clean rules.
1567         (clean): Add admin/charsets.
1568         (maybeclean_dirs): New variable.
1569         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
1571         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
1573 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
1575         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
1577 2015-05-22  Glenn Morris  <rgm@gnu.org>
1579         Generate admin/charsets Makefile via configure, and make more portable.
1580         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
1581         (admin/charsets/Makefile): Generate it.
1582         * admin/charsets/Makefile.in: Rename from Makefile.
1583         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
1584         New variables, set by configure.
1585         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
1586         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
1587         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
1588         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
1589         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
1590         (all): Declare PHONY.
1591         (local): New PHONY target.
1592         (map_template): New template.  Use to define short PHONY aliases.
1593         (*.map): Add directory prefixes to targets and prerequisites.
1594         Respect make verbosity.
1595         (JISC6226.map): Replace non-portable sed append without newline.
1596         (install): Remove rule.
1597         (clean): Only delete temporary sedscript.
1598         (bootstrap-clean, distclean, maintainer-clean, extraclean)
1599         (totalclean): New PHONY rules.
1600         * admin/charsets/mapconv (BASE): Replace basename with expr.
1601         (FILE): Add "mapfiles" subdirectory.
1602         (AWK): New variable.  Use throughout in place of "awk".
1603         (main): Use "gunzip -c" in place of "zcat".
1604         Don't leave whitespace before "p", for older sed.
1605         * admin/charsets/mapfiles/PTCP154: Add final newline,
1606         to make older sed versions happy.
1608 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
1610         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
1611         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
1612         (auto-revert-notify-watch-descriptor): Use defvar-local.
1613         (find-file-hook, auto-revert-tail-mode, )
1614         (auto-revert-notify-add-watch): Use setq-local.
1615         (auto-revert-notify-add-watch): Don't call make-local-variable on
1616         kill-buffer-hook (bug#20601).
1618 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1620         Change defgeneric so it doesn't completely redefine the function
1621         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
1622         previously defined methods.
1623         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
1624         (cl--generic-prefill-dispatchers): Only define during compilation.
1625         (cl-method-qualifiers): Remove redundant alias.
1626         (help-fns-short-filename): Silence byte-compiler.
1627         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
1629 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
1631         (package-menu-execute): Remove reference to remove-dups
1633 2015-05-21  kwhite  <kwhite@gnu.org>
1635         * lisp/erc/erc.el: Hide network/channel messages
1636         (erc-network-hide-list, etc-channel-hide-list): New lists to define
1637         message types per network/channel.
1638         (erc-add-targets): New function to parse list of targets
1639         (erc-hide-current-message-p): Modified to check for new targets
1641 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1643         Don't quote nil and t in doc strings
1644         This is as per "Tips for Documentation Strings" in the elisp manual.
1645         For consistency, do the same in diagnostics and comments.
1647 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
1649         Fix a minor problem with mouse-face on mode line
1650         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
1651         mouse face also if the mouse pointer hovers above mode-line glyphs
1652         that don't come from any Lisp string.  (Bug#20620)
1654 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
1656         * lisp/emacs-lisp/package.el: Fix selected-package logic
1657         (package-menu-execute): Mark as selected all non-upgrade packages
1658         being installed.
1659         (package-menu--perform-transaction): Don't mark anything.
1661         * lisp/emacs-lisp/package.el: Mode-line progress report
1662         (package-menu--transaction-status): New variable.
1663         (package-menu-mode, package-menu--perform-transaction): Use it.
1665         * lisp/emacs-lisp/package.el: Better transaction messages
1666         (package-menu--partition-transaction): New function.
1667         (package-menu--prompt-transaction-p, package-menu-execute): Use
1668         it.
1669         (package-menu--perform-transaction): Don't do any messaging.
1671         * lisp/emacs-lisp/package.el: Revert async package transactions
1672         (package-menu-async): Update doc.
1673         (package-install-from-archive, package-download-transaction)
1674         (package-install, package-menu--perform-transaction)
1675         (package-menu-execute): Remove asynchronous functionality.
1677 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1679         Revert doc string changes to f90.el
1680         Problem reported by Glenn Morris in:
1681         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
1682         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
1683         Revert recent changes to doc strings, as it's intended that they
1684         use grave accent, not quote.
1686 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
1688         Improve parameter name
1690         Add new inline function `hash-table-empty-p'
1692 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
1694         Don't require help-fns when not needed
1695         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
1696         * lisp/emacs-lisp/elint.el:
1697         Don't require help-fns at the top level.
1698         * lisp/emacs-lisp/advice.el (ad-arglist):
1699         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
1700         Don't require help-fns.  (Bug#17001)
1702 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
1704         Fix slash collapsing in etags on MS-Windows
1705         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
1706         MS-Windows code from the Posix code, and support collapsing both
1707         forward- and back-slashes on MS-Windows.  Fixes a regression found
1708         by the test suite.
1710         Improve documentation of glyphless-char-display
1711         * doc/lispref/display.texi (Glyphless Chars): Improve
1712         documentation of glyphless character display.
1714         Fix "acronym" display of glyphless characters on w32
1715         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
1716         ignore "acronym" substitutes of 1 character for glyphless characters.
1718 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
1720         Add an automated test for let-when-compile
1721         * test/automated/subr-tests.el (let-when-compile): New test.
1723         Add let-when-compile macro instead of using pcase-let
1724         * lisp/subr.el (let-when-compile): New let-like macro that makes its
1725         bindings known to macros like `eval-when-compile' in the body.
1726         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
1727           `let-when-compile'. Also comment out the unused lexical var
1728           `el-kws-re'.
1729         The change greatly improves readability, while providing almost the
1730         same (even shorter) byte code: instead of pre-evaluating 10 variables,
1731         tossing them into a list, and destructuring that list a full screen
1732         page later, the variables are simply bound as they are evaluated,
1733         wrapped individually in `eval-when-compile'.
1735 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
1737         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
1738         (package-delete-button-action): New function.
1739         (describe-package-1): Add Delete button.
1741         * lisp/emacs-lisp/package.el: Better dependency description
1742         (package--used-elsewhere-p): New optional arg, ALL, and return
1743         package-desc objects instead of names.
1744         (package-delete): Update accordingly.
1745         (describe-package-1): Describe which packages require the package.
1747 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
1749         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
1750         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
1751         Fix doc-string (Bug#20533).
1753         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
1754         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
1755         (switch-to-buffer): If the selected window is strongly dedicated
1756         to its buffer, signal error before prompting for buffer name.  Handle
1757         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
1758         * doc/lispref/windows.texi (Switching Buffers): Document
1759         `switch-to-buffer-in-dedicated-window'.
1761 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1763         Prefer "this" to “this” in doc strings
1764         This mostly just straightens quotes introduced in my previous patch.
1765         Suggested by Dmitry Gutov in:
1766         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
1767         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
1768         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
1769         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
1770         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
1771         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
1772         Prefer straight double quotes to curved double quotes in doc strings.
1774         Fix minor quoting problems in doc strings
1775         These were glitches regardless of how or whether we tackle the
1776         problem of grave accent in doc strings.
1777         * lisp/calc/calc-aent.el (math-restore-placeholders):
1778         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
1779         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
1780         * lisp/leim/quail/hebrew.el ("hebrew-new")
1781         ("hebrew-biblical-sil"):
1782         * lisp/leim/quail/thai.el ("thai-kesmanee"):
1783         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
1784         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
1785         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
1786         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
1787         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
1788         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
1789         (semantic-tag-components):
1790         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
1791         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
1792         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
1793         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
1794         * lisp/emacs-lisp/generator.el (iter-next):
1795         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
1796         (gnus-article-mode-syntax-table):
1797         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
1798         * lisp/net/soap-client.el (soap-wsdl-get):
1799         * lisp/net/telnet.el (telnet-mode):
1800         * lisp/org/org-compat.el (org-number-sequence):
1801         * lisp/org/org.el (org-remove-highlights-with-change)
1802         (org-structure-template-alist):
1803         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
1804         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
1805         (handwrite-12pt, handwrite-13pt):
1806         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
1807         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
1808         * lisp/progmodes/verilog-mode.el (verilog-tool)
1809         (verilog-string-replace-matches, verilog-preprocess)
1810         (verilog-auto-insert-lisp, verilog-auto-insert-last):
1811         * lisp/textmodes/makeinfo.el (makeinfo-options):
1812         * src/font.c (Ffont_spec):
1813         Fix minor quoting problems in doc strings, e.g., missing quote,
1814         ``x'' where `x' was meant, etc.
1815         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
1816         Fix minor quoting problem in other string.
1817         * lisp/leim/quail/ethiopic.el ("ethiopic"):
1818         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
1819         Omit unnecessary quotes.
1820         * lisp/faces.el (set-face-attribute, set-face-underline)
1821         (set-face-inverse-video, x-create-frame-with-faces):
1822         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
1823         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
1824         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
1825         * lisp/net/tramp.el (tramp-methods):
1826         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
1827         * lisp/textmodes/artist.el (artist-ellipse-right-char)
1828         (artist-ellipse-left-char, artist-vaporize-fuzziness)
1829         (artist-spray-chars, artist-mode, artist-replace-string)
1830         (artist-put-pixel, artist-text-see-thru):
1831         * lisp/vc/ediff-util.el (ediff-submit-report):
1832         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
1833         Use double-quotes rather than TeX markup in doc strings.
1834         * lisp/skeleton.el (skeleton-pair-insert-maybe):
1835         Reword to avoid the need for grave accent and apostrophe.
1836         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
1837         Don't use grave and acute accents to quote.
1839 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
1841         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
1843 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1845         Try to port new etags tests to MS-Windows
1846         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
1847         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
1848         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
1849         Adjust to test-case changes below.
1850         * test/etags/Makefile (CSRC): Remove dostorture.c.
1851         Whatever it was trying to test, wasn't working portably.
1852         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
1853         just a line-ending problem.
1854         * test/etags/c-src/dostorture.c: Remove.
1855         * test/etags/cp-src/c.C: Remove stray CR.
1856         * test/etags/html-src/algrthms.html: Remove trailing CRs.
1857         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
1858         but if someone edits it later it should stay UTF-8-compatible.
1860 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
1862         Fix display of overlapping window-specific overlays
1863         * src/keyboard.c (adjust_point_for_property): When adjusting point
1864         due to display strings, ignore overlays that are specific to
1865         windows other than the currently selected one.
1866         * src/xdisp.c (handle_single_display_spec): If the display
1867         property comes from an overlay, arrange for buffer iteration to
1868         resume only after the end of that overlay.  (Bug#20607)
1870 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
1872         New command icomplete-force-complete-and-exit
1873         * lisp/icomplete.el (icomplete-force-complete-and-exit):
1874         New command
1875         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
1876         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
1877         (icomplete-minibuffer-map): Bind C-j to it.
1878         (icomplete-forward-completions, icomplete-backward-completions):
1879         Mention the new command in the docstring.
1880         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
1881         the previous fix for bug#17545.
1883 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
1885         Fix last commit
1887         In Elisp manual explain how to override window manager positioning (Bug#20552)
1888         * doc/lispref/frames.texi (Position Parameters): Give example of
1889         how to override a window manager positioning decision.
1891         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
1892         * src/frame.c (Fdelete_frame): In doc-string mention that frame
1893         can't be deleted if it has a surrogate minibuffer.
1894         * doc/lispref/frames.texi (Minibuffers and Frames)
1895         (Deleting Frames): Explain "surrogate minibuffer frames".
1897         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
1898         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
1900 2015-05-18  Glenn Morris  <rgm@gnu.org>
1902         Add option to ignore commit lines matching a pattern in ChangeLog.
1903         * build-aux/gitlog-to-changelog: Add --ignore-line option.
1904         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
1906 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1908         Don't skip new etags tests on non-UTF-8 hosts
1909         Problem reported by Eli Zaretskii for MS-Windows.
1910         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
1911         (LC_ALL): Set to C if the current locale isn't UTF-8.
1912         (.PHONY): Remove ediff_1 thru ediff_5.
1913         (check): Always run.
1915 2015-05-18  Glenn Morris  <rgm@gnu.org>
1917         * lisp/calculator.el (calculator-funcall):
1918         * lisp/textmodes/artist.el (artist-spray-random-points):
1919         Use standard degree/radian conversion utilities.
1921         Further lisp-complete-symbol related cleanup.
1922         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
1923         Unadvertise non-functional argument.  Replace obsolete alias.
1925 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
1927         Add a test case for Maven warning ouput
1928         * test/automated/compile-tests.el
1929         (compile-tests--test-regexps-data): Add a case for Maven warning
1930         ouput.
1931         (compile--test-error-line): Check the compilation message type, if
1932         it's specified in the test data.
1934 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
1936         Update Maven compilation-mode entry to distinguish warnings
1937         * lisp/progmodes/compile.el
1938         (compilation-error-regexp-alist-alist): Update Maven entry to
1939         distinguish warnings (bug#20556).
1941 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
1943         * test/automated/sgml-mode-tests.el: New file.
1945 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
1947         Improve handling of the first Git revision
1948         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
1949         there's no next entry, delete until the end of the buffer.
1950         (log-view-end-of-defun-1): Stop at eob.
1951         * lisp/vc/vc-annotate.el
1952         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
1953         when previous-revision is nil.
1954         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
1955         with `--' to avoid ambiguity.
1956         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
1957         returned revision string.
1958         (vc-git-annotate-time): Expect `^' before the first revision.
1959         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
1960         REV1 is nil, and REV2 is not.
1961         * lisp/vc/vc.el: Update the description of the `diff' function.
1963 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
1965         Allow checkdoc to be called in batch
1966         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
1967           is non-nil, echo the error with `warn'.
1968         How it can be used in -batch:
1969         (with-current-buffer (find-file "checkdoc.el")
1970           (checkdoc-current-buffer t))
1972 2015-05-18  Glenn Morris  <rgm@gnu.org>
1974         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
1976 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1978         * admin/notes/unicode: New section "binary files".
1980         Change new etags test to use UTF-8 encoding
1981         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
1982         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
1983         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
1984         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
1985         * test/etags/html-src/softwarelibero.html:
1986         Switch to UTF-8 encoding.
1987         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
1988         Remove Makefile, as it's too incestuous to have the test input
1989         include the build procedure.
1990         (UTF8_LOCALE, UTF_ENCODING): New macros.
1991         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
1992         (check): Skip if not UTF-8.
1993         (.PHONY): New rule.
1994         (FRC): Remove, as superseded by .PHONY.  All uses removed.
1995         (regexfile): Prefer printf to echo when outputting oddball chars.
1996         (.PRECIOUS): Remove, as these files are not built.
1998         Rename 'foo-gzipped' to 'foo.gz'
1999         * test/automated/data/decompress/foo.gz:
2000         Rename from test/automated/data/decompress/foo-gzipped,
2001         to make it easier for other tools to tell that it's compressed.
2002         * test/automated/zlib-tests.el (zlib--decompress):
2003         Adjust to renamed file.
2005 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
2007         Set up default-directory
2008         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
2009         binding for `v'.
2010         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
2011         appropriate value for default-directory.
2013 2015-05-17  Samer Masterson  <samer@samertm.com>
2015         * lisp/eshell/em-term.el (eshell-term-sentinel):
2016         No-op by default, only kills term buffer if
2017         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
2018         (eshell-destroy-buffer-when-process-dies): New custom to preserve
2019         previous behavior.
2021         eshell: Introduce new buffer syntax
2022         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
2023         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
2024         needed (Bug#19319).
2025         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
2026         (eshell-get-target): Remove shorthand-specific code.
2027         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
2028         '#<buffer-name>'.
2030 2015-05-17  Jan D  <jan.h.d@swipnet.se>
2032         Merge branch 'master' into cairo
2034 2015-04-26  Jan D  <jan.h.d@swipnet.se>
2036         Merge branch 'master' into cairo
2038         Add PBM support for cairo.
2039         * src/image.c (xcolor_to_argb32): New function.
2040         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
2041         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
2042         XImagePtr if ! USE_CAIRO.
2043         (pbm_load): Add cairo support.
2045 2015-04-12  Jan D  <jan.h.d@swipnet.se>
2047         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
2048         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
2049         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
2050         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
2051         x_free_cr_resources.
2053         Handle specified bg in images.  Use generic libpng code for PNG:s.
2054         * src/image.c (get_spec_bg_or_alpha_as_argb)
2055         (create_cairo_image_surface): New functions when USE_CAIRO.
2056         (xpm_load): Call the above functions.  Handle XPM without mask
2057         when USE_CAIRO.
2058         (png_load_body): Handle USE_CAIRO case.
2059         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
2060         instead.
2061         (jpeg_load_body): Call create_cairo_image_surface.
2062         (gif_load, svg_load_image): Handle specified background, call
2063         create_cairo_image_surface.
2064         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
2066 2015-04-11  Jan D  <jan.h.d@swipnet.se>
2068         Support GIF and Tiff with cairo.
2069         * configure.ac: Allow jpeg with cairo.
2070         Allow tiff and gif with cairo.
2071         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
2072         (tiff_load): Create cairo image surface if USE_CAIRO.
2073         (gif_load): Ditto.
2075         Support JPEG with USE_CAIRO.
2076         * configure.ac: Allow jpeg with cairo.
2077         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
2079 2015-04-05  Jan D  <jan.h.d@swipnet.se>
2081         Support RSVG and cairo.
2082         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
2083         * src/dispextern.h (struct image): add cr_data2 if cairo.
2084         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
2085         (x_clear_image): Free cr_data and cr_data2 if set.
2086         (xpm_load): Assign data to cr_data2.
2087         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
2089 2015-04-03  Jan D  <jan.h.d@swipnet.se>
2091         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
2092         * configure.ac (HAVE_RSVG): Move after cairo.
2093         (USE_CAIRO): Disable rsvg, don't disable Xpm.
2094         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
2095         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
2096         don't return early.
2097         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
2098         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
2099         and create a surface.
2101         Tool tips for menus did not show any text.
2102         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
2103         tip frames, the geometry may be wrong.
2105         Merge branch 'master' into cairo, fixes tooltips not shown.
2107         Merge branch 'master' into cairo
2109         Add CAIRO_CFLAGS to lwlib/Makefile.in
2110         * Makefile.in (CAIRO_CFLAGS): Add.
2112 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2114         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
2116 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2118         Draw outermost line using black relief and erase corners also for cairo.
2119         * xterm.c [USE_CAIRO]: Include math.h.
2120         (enum corners) [USE_CAIRO]: New enum.
2121         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
2122         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
2123         than 1, draw the outermost line using the black relief.
2125         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
2127 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2129         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
2131         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
2133         Use int instead of unsigned int for width and height args.
2134         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
2135         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
2136         width and height args.
2138         Modernize k&r cairo-related function declarations.
2139         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
2140         (xg_print_frames_dialog): Modernize k&r declarations.
2141         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
2142         (Fx_print_frames_dialog): Modernize k&r declarations.
2143         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
2144         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
2145         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
2146         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
2147         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
2148         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2149         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
2150         (x_clear_area): Modernize k&r declarations.
2152         Implement wave-style variant of underlining for cairo.
2153         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
2154         (x_draw_underwave) [USE_CAIRO]: Use it.
2156         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
2158 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2160         Fix fringe bitmap initialization for cairo.
2161         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
2162         cairo image surface.
2163         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
2165 2015-02-11  Jan D  <jan.h.d@swipnet.se>
2167         Add cairo drawing.
2168         * configure.ac (with-cairo): New option.
2169         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
2170         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
2171         Output "Does Emacs use cairo?".
2172         * lisp/version.el (emacs-version): Add cairo version.
2173         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
2174         (FONT_OBJ): Add comment about ftcrfont.
2175         (ALL_CFLAGS): Add CAIRO_CFLAGS.
2176         (LIBES): Add CAIRO_LIBS.
2177         * src/dispextern.h (struct image): Add cr_data for cairo.
2178         (x_cr_init_fringe): Declare.
2179         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
2180         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
2181         * src/fringe.c (x_cr_init_fringe): New function name that shares code
2182         with w32_init_fringe.
2183         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
2184         * src/ftfont.c (ftfont_info_size); New global variable.
2185         (ftfont_open2): New extern function almost the same as old ftfont_open,
2186         but takes the font_object as argument.
2187         (ftfont_open): Build font object and call ftfont_open2.
2188         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
2189         * src/gtkutil.c (xg_clear_under_internal_border)
2190         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
2191         queue_draw if not cairo.  Change args to x_clear_area.
2192         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
2193         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
2194         (xg_print_frames_dialog): New functions for printing.
2195         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
2196         (xg_print_frames_dialog): Declare.
2197         * src/image.c: Add defined (USE_CAIRO) for PNG.
2198         Add !defined USE_CAIRO for W32 PNG code.
2199         (x_clear_image): If cairo, destroy the surface in cr_data.
2200         (png_load): Add new cairo compatible implementation.
2201         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
2202         * src/xfns.c: New section Printing.
2203         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
2204         (x-print-frames-dialog): New printing functions.
2205         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
2206         cairo.
2207         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
2208         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
2209         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
2210         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
2211         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
2212         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2213         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
2214         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
2215         Declare.
2216         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
2217         (max_fringe_bmp, fringe_bmp): New variables.
2218         (x_gc_get_ext_data, x_extension_initialize)
2219         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
2220         (x_set_cr_source_with_gc_foreground)
2221         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
2222         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
2223         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
2224         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
2225         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
2226         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
2227         (x_update_begin): Create cairo surface if needed.
2228         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
2229         (x_update_end): Paint cairo drawing surface to xlib surface.
2230         (x_clear_under_internal_border, x_after_update_window_line): Adjust
2231         arguments to x_clear_area.
2232         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
2233         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
2234         of XSetClipMask.
2235         (x_set_glyph_string_clipping)
2236         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
2237         instead of XSetClipRectangles.
2238         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
2239         x_fill_rectangle instead of XFillRectangle.
2240         (x_draw_glyph_string_foreground)
2241         (x_draw_composite_glyph_string_foreground)
2242         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
2243         of XDrawRectangle.
2244         (x_draw_relief_rect): Add code for USE_CAIRO.
2245         Call x_reset_clip_rectangles instead of XSetClipMask.
2246         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
2247         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
2248         instead of XSetClipMask.
2249         (x_draw_image_foreground, x_draw_image_foreground_1):
2250         x_draw_rectangle instead of XDrawRectangle.
2251         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
2252         XFillRectangle.
2253         (x_draw_image_glyph_string): If img has cr_data, use it as
2254         a cairo surface.
2255         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
2256         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
2257         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
2258         x_reset_clip_rectangles instead of XSetClipMask.
2259         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
2260         (x_clear_area1): New function that calls XClearArea.
2261         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
2262         non-cairo.
2263         (x_clear_frame): x_clear_window instead of XClearWindow.
2264         (x_scroll_run): Set frame garbaged if cairo.
2265         (XTmouse_position): Initialize *part to 0.
2266         (x_scroll_bar_create): Adjust arguments to x_clear_area.
2267         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
2268         x_fill_rectangle instead of XFillRectangle.
2269         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
2270         arguments to x_clear_area.
2271         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
2272         (handle_one_xevent): Adjust arguments to x_clear_area.
2273         Destroy cairo surface for frame if ConfigureNotify.
2274         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
2275         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
2276         x_reset_clip_rectangles instead of XSetClipMask.
2277         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
2278         x_reset_clip_rectangles instead of XSetClipMask.
2279         (x_clear_frame_area): Adjust arguments to x_clear_area.
2280         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
2281         (x_term_init): Call x_extension_initialize if cairo.
2282         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
2283         x_cr_destroy_fringe_bitmap for cairo.
2284         (x_initialize): Call x_cr_init_fringe for cairo.
2285         * src/xterm.h: Add include of cairo header files.
2286         (x_bitmap_record): Add img if cairo.
2287         (x_gc_ext_data): New struct for cairo.
2288         (x_display_info): Add ext_codes for cairo.
2289         (x_output): Add cr_context and cr_surface for cairo.
2290         (x_clear_area): Change arguments from Display*/Window to frame pointer.
2291         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
2292         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
2293         (x_cr_draw_frame, x_cr_export_frames): Declare.
2295 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
2297         Fix integer-valued `mouse-highlight' (Bug#20590)
2298         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
2300 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
2302         MS-Windows followup for ASCIIfication of curved quotes
2303         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
2304         test for curved quotes being displayable, after switching the
2305         terminal encoding.  (Bug#20545)
2307 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
2309         Spelling fixes
2311 2015-05-17  Jan D  <jan.h.d@swipnet.se>
2313         Add comment that x_shift_glyphs_for_insert is never called.
2314         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
2315         comment that this function is never called.
2317 2015-05-16  Glenn Morris  <rgm@gnu.org>
2319         * src/lisp.mk: Remove from repository and generate at build-time.
2320         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
2321         (shortlisp_filter): New variable.
2322         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
2323         (distclean): Remove lisp.mk.
2324         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
2325         * lisp/loadup.el: Tweak layout to make it easier to parse.
2326         * make-dist: Do not distribute src/lisp.mk.
2328 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
2330         Display shorter dates in Git annotate output
2331         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
2332         format (when not overridden with vc-git-annotate-switches).
2333         (vc-git-annotate-time): Support the short format, as well as ISO
2334         8601 that has been used until now (bug#5428).
2336 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2338         ASCIIfy curved quotes on displays lacking them
2339         * lisp/international/mule-cmds.el (set-locale-environment):
2340         If curved quotes don't work, display straight ASCII approximations
2341         (Bug#20545).
2343 2015-05-16  Glenn Morris  <rgm@gnu.org>
2345         Small src/Makefile simplification.
2346         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
2347         * src/Makefile.in (lisp): Derive from shortlisp.
2348         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
2350 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
2352         * lisp/help-mode.el (help-go-forward): Doc fix.
2353         (Bug#20577)
2355         * doc/lispref/debugging.texi (Profiling): Improve indexing.
2356         (Bug#20576)
2358 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
2360         Use `unless' to have one fewer `not'
2361         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
2362         have one fewer `not'.
2364         Remove redundant :group declarations from vc-git.el
2365         * lisp/vc/vc-git.el (vc-git-diff-switches)
2366         (vc-git-annotate-switches, vc-git-resolve-conflicts)
2367         (vc-git-program, vc-git-root-log-format): Remove the redundant
2368         :group declarations.
2370 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
2372         Removes the predicate from lisp-complete-symbol (Bug#20456)
2373         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
2374         and remove it from the docstring.
2376 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
2378         Add new option vc-git-resolve-conflicts
2379         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
2380         (vc-git-find-file-hook): Add to after-save-hook only when the
2381         above is non-nil.
2382         (vc-git-resolve-when-done): Update to honor the new variable.
2383         (Bug#20292)
2385 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
2387         Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
2389 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2391         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
2392         (tabulated-list-init-header): Document new behavior.
2393         (tabulated-list-print-fake-header): No nothing if
2394         `tabulated-list--header-string' is nil.
2395         (tabulated-list--header-string): Add a docstring.
2396         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
2397         * etc/NEWS: Document it.
2399 2015-05-15  Leo Liu  <sdl.web@gmail.com>
2401         Revert "Fix cps--gensym"
2402         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
2403           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
2405 2015-05-15  Glenn Morris  <rgm@gnu.org>
2407         Replace AC_SUBST_FILE in configure with include in Makefiles.
2408         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
2409         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
2410         (AUTO_DEPEND): New output variable.
2411         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
2412         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
2413         (lwlib_deps_frag): Replace by conditional include.
2414         * lwlib/autodeps.mk: Remove file.
2415         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
2416         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
2417         (oldxmenu_deps_frag): Replace by conditional include.
2418         * oldXMenu/autodeps.mk: Remove file.
2419         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
2420         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
2421         (lisp_frag): Replace by an include.
2422         (deps_frag): Replace by conditional include.
2423         * src/autodeps.mk: Remove file.
2425         Tweak japanese.el's loading of dependencies.
2426         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
2427         * lisp/language/japanese.el: Use require rather than load.
2428         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
2429         Provide a feature.
2430         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
2431         Provide a feature in the generated file.
2433 2015-05-15  Jan D  <jan.h.d@swipnet.se>
2435         Fix NS warnings.
2436         * nsmenu.m (ns_popup_dialog)
2437         * nsimage.m (initFromXBM:width:height:fg:bg:)
2438         * nsfns.m (Fx_create_frame): Remove unused variables.
2439         (Fns_read_file_name): Initialize fname, remove ret.
2440         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
2441         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
2442         variable.
2443         (init): Add parantesis in if.
2444         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
2446 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
2448         Fix a enum conversion warning in macfont.m
2449         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
2450         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
2452 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
2454         Support de-alt dictionary with Aspell.
2455         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
2456         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
2458 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
2460         cus-start.el: Add ns-confirm-quit.
2461         * cus-start.el: Add ns-confirm-quit.
2463         Fix warnings on OSX 10.10.
2464         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
2465         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
2466         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
2467         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
2468         * nsimage.m (allocInitFromFile, setPixmapData): Only call
2469         setScalesWhenResized for OSX < 10.6.
2470         * nsterm.h (EmacsScroller): Declare scrollerWidth.
2471         * nsterm.m (ns_copy_bits): New function that does not use deprecated
2472         NSCopyBits.
2473         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
2474         (runAlertPanel): New function.
2475         (applicationShouldTerminate:): Call runAlertPanel.
2476         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
2477         for OSX < 10.10.
2478         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
2479         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
2480         (draggingEntered:): Returns NSDragOperation.
2481         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
2483 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
2485         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
2486         (package--init-file-ensured): New variable.
2487         (package-initialize, package--ensure-init-file): Use it.
2489 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
2491         Honor :fore/background for XBM on NS (Bug#14969).
2492         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
2493         initFromXBM takes bg, fg args, remove flip arg.
2494         (ns_image_from_XBM): Add bg, fg args.
2495         * image.c (x_create_bitmap_from_data)
2496         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
2497         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
2498         Remove flip arg.
2499         (initFromSkipXBM): Move code to initFromXBM.
2500         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
2501         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
2502         false.
2503         Remove bit flipping (bitPat, swt), generated incorrect images when
2504         width/height wasn't a multiple of 8.
2505         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
2506         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
2507         flip arg.
2509 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
2511         * lisp/emacs-lisp/package.el: Be more careful with the init file
2512         (package--ensure-init-file): Check that user-init-file is set,
2513         exists, is readable, and is writable.  (Bug#20584)
2514         Also expand the docstring.
2516 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
2518         Sync with upstream verilog-mode revision 6232468
2519         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
2520         (verilog-highlight-grouping-keywords): Fix use of face when
2521         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
2522         Pompa.
2523         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
2524         parent is reset, bug906. Reported by Ken Schmidt.
2525         (verilog-auto-inout-module): Add fourth regexp argument to
2526         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
2527         bug856. Reported by John Tillema.
2528         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
2529         modport if signal attachment is itself a modport.  Reported by
2530         Matthew Lovell.
2531         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
2532         always_comb and always_latch, bug844.  Reported by Greg Hilton.
2533         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
2534         with many curly-bracket pairs, bug663.
2535         (verilog-set-auto-endcomments): Fix end comments for functions of
2536         type void, etc.  Reported by Alex Reed.
2537         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
2538         caused by indent-line-to deleting tabls pre 24.5.
2539         (verilog-nameable-item-re): Fix nameable items that can have an
2540         end-identifier to include endchecker, endgroup, endprogram,
2541         endproperty, and endsequence.  Reported by Alex Reed.
2542         (verilog-label-be): When auto-commenting a buffer, consider
2543         auto-comments on all known keywords (not just a subset thereof).
2544         Reported by Alex Reed.
2545         (verilog-auto-end-comment-lines-re)
2546         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
2547         Automatically comment property/endproperty blocks to match other
2548         similar blocks like sequence/endsequence, function/endfunction,
2549         etc. Reported by Alex Reed.
2550         (verilog-set-auto-endcomments): Detect the function- or task-name
2551         when auto-commenting blocks that lack an explicit
2552         portlist. Reported by Alex Reed.
2553         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
2554         allow post-AUTO user fixups, bug826. Reported by Dennis
2555         Muhlestein.
2556         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
2557         is nil, fix indenting initial/final to match always statements,
2558         bug825. Reported by Tim Clapp.
2559         (verilog-extended-complete-re): Fix indentation of DPI-C imports
2560         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
2561         Mao and Jason Forkey.
2562         (verilog-read-decls): Fix parsing typed interfaces.  Fix
2563         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
2564         Fix localparam not being ignored in AUTOINSTPARAM,
2565         bug889. Reported by Shannon Hill.
2566         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
2567         bug793.  Reported by Pierre-David Pfister.
2568         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
2569         verilog-auto-arg-format to support newlines in AUTOARG. Reported
2570         by Jie Xiao.
2571         (verilog-batch-execute-func): Do not batch re-auto files loaded by
2572         Local Variables. Fix printing "no changes to be saved" with
2573         verilog-batch. Reported by Dan Dever.
2574         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
2575         interface-only modules, bug721.  Reported by Dean Hoyt.
2576         Author: Alex Reed <acreed4@gmail.com>
2577         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
2578         treat '<keyword>:<identifier>' as the start of a labeled
2579         statement, bug905.  Reported by Enzo Chi.
2580         (verilog-directive-re, verilog-compiler-directives)
2581         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
2582         directives (plus some extras) when determining indentation, bug
2583         901.  Reported by Bernd Beuster.
2584         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
2585         iff expression doesn't start with word-character, bug900.
2586         (verilog-optional-signed-range-re, verilog-optional-signed-re):
2587         Fix incorrect indentation/alignment of unsigned declarations,
2588         bug897.
2589         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
2590         always constructs, bug895.
2591         (verilog-calc-1): Fix verilog-mode constraint indentation,
2592         bug324. Reported by Eric Mastromarchi.
2593         (verilog-beg-of-statement): Fix indenting for some forms of
2594         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
2595         continued assignment incorrect if first line ends with ']',
2596         bug437. Reported by Dan Dever.  Fix indention of cover inside an
2597         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
2598         blocks, bug842.
2599         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
2600         bug859. Reported by Kaushal Modi.
2601         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
2602         (verilog-backward-token): Fix indenting sensitivity lists with
2603         named events, bug840.  Reed.
2604         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
2605         nil not honoring 'forever', 'foreach', and 'do' keywords.
2607 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
2609         Check for invalid GTK+ monitor scales
2610         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
2611         INT_MAX for too-large scales.  All callers changed to assume the
2612         result is valid (Bug#20432).
2613         (xg_frame_set_char_size, xg_update_scrollbar_pos):
2614         Calculate scale only if needed.
2615         show ASCII approximations instead.
2617 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
2619         Fix daemon crashes when linum-mode is turned on early on
2620         * src/window.c (Fwindow_end): Don't try calling display engine
2621         functions on initial-frame frame.  (Bug#20565)
2623         Fix selective diff browsing in Ediff
2624         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
2625         beginning of the region before searching for the
2626         ediff-regexp-focus-* regexps.  (Bug#20568)
2628 2015-05-14  Jan D  <jan.h.d@swipnet.se>
2630         Fixes Bug#20142.
2631         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
2632         in the main loop, even for Gtk 3 (Bug#20142).
2634         Don't access display after i/o error (Bug#19147).
2635         * xterm.c (x_connection_closed): Add third arg ioerror.
2636         If ioerror, set display to 0 (Bug#19147).
2637         (x_error_quitter): Call x_connection_closed with third arg false.
2638         (x_io_error_quitter): Call x_connection_closed with third arg true.
2640         Handle GTK_SCALE, fixes Bug#20432.
2641         * gtkutil.c (xg_get_gdk_scale): New function.
2642         (xg_frame_set_char_size)
2643         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
2644         (xg_get_default_scrollbar_height)
2645         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
2646         when setting sizes (Bug#20432).
2648 2015-05-13  Leo Liu  <sdl.web@gmail.com>
2650         Fix cps--gensym
2651         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
2653 2015-05-13  Glenn Morris  <rgm@gnu.org>
2655         Fix bootstrap (void function cl-member).
2656         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
2657         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
2659 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2661         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
2662         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
2663         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
2664         Avoid defalias for closures which are not immutable.
2665         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
2666         dispatchers table with various entries.
2667         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
2668         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
2670 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
2672         Improve tagging of C bindings in DEFVAR_*
2673         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
2674         from DEFVAR_*.
2676 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
2678         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
2680 2015-05-12  Glenn Morris  <rgm@gnu.org>
2682         * lisp/progmodes/tcl.el (tcl-filter):
2683         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
2685         Add basic VC push support.
2686         * lisp/vc/vc.el (vc-push): New autoloaded command.
2687         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
2688         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
2689         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
2690         (vc-bzr-push): New.
2691         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
2692         (vc-git-pull): Reimplement using vc-git--pushpull.
2693         (vc-git-push): New.
2694         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
2695         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
2696         * doc/emacs/maintaining.texi (Pulling / Pushing):
2697         Rename from "VC Pull".  Mention pushing.
2698         (VC With A Merging VCS, VC Change Log): Update xrefs.
2699         (Branches): Update menu.
2700         * doc/emacs/emacs.texi: Update menu.
2701         * etc/NEWS: Mention this.
2703 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
2705         Improve the seq pcase pattern and the `seq-let' macro
2706         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
2707         object is a sequence, and binds each element of ARGS to the
2708         corresponding element of the sequence.
2710 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
2712         Fix tags created from DEFVAR_* declarations in C
2713         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
2714         to make tags extracted from DEFVAR_* declarations more accurate.
2716         Add a test suite for etags
2717         * test/etags/: New test suite, adapted from
2718         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
2719         whose original author is Francesco Potortì <pot@gnu.org>.
2721         Fix tagging of symbols in C enumerations
2722         * lib-src/etags.c (consider_token): Don't tag symbols in
2723         expressions that assign values to enum constants.  See
2724         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
2725         for details.
2726         (C_entries): Reset fvdef to fvnone after processing a preprocessor
2727         conditional and after a comma outside of parentheses.
2729 2015-05-12  Glenn Morris  <rgm@gnu.org>
2731         * lisp/url/url-handlers.el (url-file-name-completion)
2732         (url-file-name-all-completions): Silence compiler.
2734         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
2736         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
2738 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2740         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
2741         (cl--generic-mandatory-args): Remove.
2742         (cl--generic-split-args): New function.
2743         (cl-generic-define, cl--generic-lambda): Use it.
2744         (cl-generic-define-method): Use it as well, and add support for
2745         context args.
2746         (cl--generic-get-dispatcher): Handle &context dispatch.
2747         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
2748         (cl--generic-dispatchers): Pre-fill.
2749         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
2751 2015-05-11  Glenn Morris  <rgm@gnu.org>
2753         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
2755 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2757         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
2758         * lisp/term/rxvt.el: Require term/xterm.
2759         (rxvt-function-map): Use xterm-rxvt-function-map.
2760         (rxvt-standard-colors): Move before first use.
2761         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
2762         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
2763         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
2764         Move shared bindings between rxvt and xterm to it.
2765         (xterm-function-map): Use it.  Move the xterm-paste binding to
2766         xterm-rxvt-function-map (bug#20444).
2767         (xterm-standard-colors): Move before first use.
2768         (xterm--push-map): New function.
2769         (xterm-register-default-colors): Take standard colors as argument.
2770         (terminal-init-xterm): Use it.  Adjust call to
2771         xterm-register-default-colors.
2773 2015-05-11  Glenn Morris  <rgm@gnu.org>
2775         * lisp/term/x-win.el: Quieten --without-x compilation.
2776         (x-own-selection-internal, x-disown-selection-internal)
2777         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
2778         Declare.
2780         * Makefile.in (emacslog): Remove srcdir.
2781         (ChangeLog): Update for the above.
2783 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
2785         Spelling fix
2787 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2789         python.el: better limit for looking-back calls
2790         * lisp/progmodes/python.el (python-shell-accept-process-output):
2791         Use last comint prompt start as limit for looking-back.
2793 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2795         CEDET (srecode-insert-fcn): Fix use of oref on a class
2796         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
2797         a class.  Reported by Pierre Lorenzon.
2798         (srecode-template-inserter-point): Remove declaration.
2800         CEDET (srecode-create-dictionary): Avoid obsolete object name
2801         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
2802         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
2804 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
2806         C-x 8 shorthands for curved quotes, Euro, etc.
2807         Although C-x 8 lets you insert arbitrary Unicode characters,
2808         it's awkward to use this to insert commonly used symbols such as curved
2809         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
2810         characters commonly found in English text and in basic math.
2811         For example, assuming the Alt key works on your keyboard and iso-transl
2812         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
2813         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
2814         (Bug#20499)
2815         * doc/emacs/mule.texi (Unibyte Mode):
2816         A few other printing characters now work too.
2817         * etc/NEWS: Document this.
2818         * lisp/international/iso-transl.el (iso-transl-char-map):
2819         Also support the following characters:
2820         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
2822 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
2824         Add xref-find-regexp
2825         * lisp/progmodes/xref.el (xref-find-function): Describe the
2826         `matches' action.
2827         (xref-find-regexp): New command, using it.
2828         (xref-collect-references): Rename to xref-collect-matches.
2829         (xref--collect-reference): Rename to xref--collect-match.
2830         (xref-collect-matches, xref--collect-match): Accept new argument,
2831         KIND.  Update accordingly.
2832         (xref--regexp-to-extended): New function.
2833         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
2834         `matches' action.
2835         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
2836         * lisp/progmodes/etags.el (etags-xref-find):
2837         Support the `matches' action.
2838         (etags--xref-find-matches): New function.
2840 2015-05-10  Glenn Morris  <rgm@gnu.org>
2842         * Makefile.in: Fixes for recent change-history changes.
2843         (change-history-nocommit): Update footer regexp.
2844         Ensure output script stays executable.
2846 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
2848         New version of `seq-let' based on a pcase pattern
2849         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
2850         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
2852 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
2854         Add basic HTML5 tags and a template
2855         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
2856         (html-tag-alist): Add HTML5 tags.
2857         (html-tag-help): Add new tags descriptions.
2858         (html-navigational-links): Template for nav links.
2859         (html-html5-template): Template for a HTML5 page.
2861 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
2863         semantic/symref/grep: Don't use word boundaries
2864         * lisp/cedet/semantic/symref/grep.el
2865         (semantic-symref-perform-search): Instead of wrapping input in
2866         word boundaries, check that the characters before and after are
2867         not word constituents.
2869         semantic/symref/grep: Support regexp search
2870         * lisp/cedet/semantic/symref.el
2871         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
2872         the search type is regexp.
2873         * lisp/cedet/semantic/symref/grep.el
2874         (semantic-symref-perform-search): Support the regexp search type.
2875         Pass -E to Grep when it's used.
2877         semantic-symref-regexp: Allow to input an arbitrary string
2878         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
2879         Allow to input an arbitrary string interactively.
2881         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
2882         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
2883         Remove tag-symbol-match-p from the default value
2884         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
2886         Declare find-tag obsolete
2887         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
2888         xref-find-definitions.
2890 2015-05-10  Jan D  <jan.h.d@swipnet.se>
2892         Draw composite string correctly (Bug#20537).
2893         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
2894         (ns_draw_glyph_string): Call it (Bug#20537).
2896 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
2898         Avoid infloop in ERC
2899         * lisp/simple.el (line-move-to-column): Ignore field boundaries
2900         while computing line beginning position.  (Bug#20498)
2902 2015-05-08  Glenn Morris  <rgm@gnu.org>
2904         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
2905         * build-aux/gitlog-to-emacslog: Check called from right directory.
2906         (srcprefix): Remove.
2908         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
2909         * Makefile.in (ChangeLog): No longer pass "distprefix".
2910         * make-dist: Update "make ChangeLog" syntax for the above change.
2912         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
2913         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
2915         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
2917         Add command-line option-parsing to gitlog-to-emacslog.
2918         * build-aux/gitlog-to-emacslog: Add command-line options.
2919         By default, refuse to remove an existing output file.
2920         * Makefile.in (CHANGELOG): Update default.
2921         (ChangeLog): Do not test for existing file.
2922         (change-history-nocommit): Ensure temp file does not exist.
2924         Quieten --without-x compilation.
2925         * lisp/term/common-win.el: Provide a feature.
2926         * lisp/term/x-win.el (term/common-win): Require it.
2928         * lisp/dired-aux.el (dired-do-print): Require lpr.
2930         Quieten compilation, eg in --without-x builds.
2931         * lisp/dired-aux.el (lpr-printer-switch):
2932         * lisp/frame.el (tool-bar-height):
2933         * lisp/linum.el (font-info):
2934         * lisp/window.el (font-info, overflow-newline-into-fringe)
2935         (tool-bar-height):
2936         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
2937         * lisp/gnus/gnus-util.el (iswitchb-mode):
2938         * lisp/mail/rmailmm.el (libxml-parse-html-region):
2939         * lisp/net/nsm.el (gnutls-peer-status)
2940         (gnutls-peer-status-warning-describe):
2941         * lisp/net/shr.el (libxml-parse-xml-region):
2942         * lisp/url/url-http.el (gnutls-peer-status): Declare.
2944 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
2946         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
2947         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
2948         `subclass' since they're never called with a class.
2949         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
2950         srecode-dictionary-child-p.
2952 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2954         help--binding-locus: Document argument POSITION.
2955         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
2957 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
2959         Merge from gnulib.
2960         * doc/misc/texinfo.tex: Get latest version.
2962 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
2964         ffap.el (ffap-read-file-or-url): Fix completing-read call
2965         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
2966           `completing-read' should be a symbol.
2968 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
2970         Verify file modifications by other programs
2971         * src/filelock.c (lock_file): Check whether the file was modified
2972         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
2974         Fix keyboard macros that include function keys
2975         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
2976         keys in the macro before returning.  (Bug#20454)
2978 2015-05-08  Glenn Morris  <rgm@gnu.org>
2980         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
2981         "Copyright-paperwork-exempt".  (Bug#20324)
2983         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
2984         (log-edit-rewrite-tiny-change): New variable.
2985         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
2986         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
2987         * etc/NEWS: Mention this.
2989         * lisp/calc/calc.el (math-zerop): Declare.
2991         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
2993 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2995         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
2996         Support the case when BINDINGS is a single tuple.  (Bug#20525)
2998         * etc/NEWS: Fix typo in commit 14bb519
3000 2015-05-07  Jan D  <jan.h.d@swipnet.se>
3002         Warn for multiple display crash for all Gtk+ versions.
3003         * configure.ac: Warn for multiple display crash for all Gtk+
3004         versions.  Output URL to Gtk+ bug (Bug#20452).
3006         ns-win.el (ns-paste-secondary): Use gui-get-selection.
3007         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
3009 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
3011         * lisp/emacs-lisp/package.el: New "external" package status
3012         An external package is any installed package that's not built-in
3013         and not from `package-user-dir', which usually means it's from an
3014         entry in `package-directory-list'.  They are treated much like
3015         built-in packages, in that they cannot be through the Package Menu
3016         deleted and are not considered for upgrades.
3017         (package-desc-status): Identify if a package is installed outside
3018         `package-user-dir'.
3019         (package-menu--print-info-simple)
3020         (package-menu--status-predicate): Add support for it.
3021         * etc/NEWS: Document it.
3023 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3025         * lisp/mail/rmail.el: Use lexical-binding
3026         (rmail-bury): Remove unused var `buffer-to-bury'.
3027         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
3028         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
3029         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
3030         (rmail-insert-inbox-text): Remove unused var `movemail'.
3031         (rmail-add-mbox-headers): Remove unused var `limit'.
3032         (rmail-undelete-previous-message): Remove unused var `value'.
3033         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
3034         `resent-reply-to'.
3035         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
3036         (rmail-restore-desktop-buffer): Rename arguments.
3038 2015-05-06  Glenn Morris  <rgm@gnu.org>
3040         * Makefile.in (change-history-commit): Add missing piece of previous.
3042         Avoid unnecessary bumping of Makefile.in's timestamp.
3043         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
3044         (emacslog): New variable.
3045         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
3046         (unchanged-history-files): Use $emacslog rather than Makefile.in.
3047         (change-history-nocommit): Store hash in $emacslog.
3048         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
3049         * admin/update_autogen (changelog_files): Update for the above.
3051         * Makefile.in: Don't always insist on removing existing "ChangeLog".
3052         (CHANGELOG): New variable.
3053         (no-ChangeLog): Remove.
3054         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
3055         (change-history-nocommit): Use a temp file rather than insisting
3056         on deletion of any existing "ChangeLog".
3058         * build-aux/gitlog-to-emacslog: Allow specification of output.
3060         * admin/update_autogen: Add option to update ChangeLog.
3061         (usage): Mention -H.
3062         (changelog_flag, changelog_n, changelog_files): New variables.
3063         (main): Check for -H, and maybe run change-history-nocommit.
3065 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3067         * lisp/subr.el (delete-dups): Pre-size the hashtable.
3069         (define-modify-macro): Make sure cl--arglist-args is defined
3070         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
3071         cl--arglist-args is defined (bug#20517).
3073 2015-05-06  Glenn Morris  <rgm@gnu.org>
3075         * Makefile.in (change-history-nocommit): New.
3077 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
3079         Only cancel timer when it is non-nil
3080         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
3081         timer when it is non-nil
3082         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
3084 2015-05-06  Glenn Morris  <rgm@gnu.org>
3086         Quieten cedet compilation
3087         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
3088         Invert fboundp test to quieten on current Emacs.
3089         * lisp/cedet/ede/config.el (ede-shell-run-something)
3090         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
3091         (semanticdb-refresh-table): Declare.
3092         (ede-preprocessor-map): Require semantic/db.
3094         Quieten cc-mode compilation
3095         * lisp/progmodes/cc-awk.el (c-forward-sws):
3096         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
3097         Declare.
3099 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
3101         lisp/subr.el (delete-dups): Avoid nreverse.
3103 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
3105         * lisp/subr.el (delete-dups): Make it destructive again.
3107 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3109         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
3111 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3113         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
3114         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
3115         (testcover--read): Rename from testcover-read.  Change calling convention.
3116         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
3117         (testcover-start): Use add-function.  Move edebug-all-defs binding to
3118         testcover--read.
3119         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
3120         (testcover-mark): Remove unused var `item'.
3121         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
3123 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
3125         lisp/subr.el (delete-dups): Use a hash table
3126         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
3127           use a hash table. This can result in ~500 times speed-up for typical
3128           collections of size 5000, like that of `load-library'.
3130 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3132         CEDET: Avoid `oref' on classes in a few more cases
3133         * lisp/cedet/ede/generic.el (ede-find-target):
3134         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
3135         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
3136         var `prefix'.
3138         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
3139         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
3140         (semantic-symref-perform-search): Remove unused var `pat'.
3142         CEDET (srecode-compile-inserter): Avoid `oref' on classes
3143         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
3144         Avoid `oref' on classes (bug#20491).
3145         (srecode-compile-split-code): Remove unused var `key'.
3147 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
3149         Clean up pulse.el a little
3150         * lisp/cedet/pulse.el (pulse): Remove.
3151         (pulse-momentary-timer): Save instead of the stop time.
3152         (pulse-momentary-highlight-overlay): Call
3153         pulse-momentary-unhighlight first thing. Treat
3154         pulse-momentary-overlay as a single value, not a list. Save the
3155         created timer. Only pass the stop time to the timer.
3156         (pulse-tick): Update accordingly.
3157         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
3158         single value. Cancel the timer.
3160 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
3162         Support the biblatex journaltitle field
3163         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
3164         Support the biblatex journaltitle field.
3166 2015-05-05  Glenn Morris  <rgm@gnu.org>
3168         Minor declare-function improvement
3169         * lisp/emacs-lisp/bytecomp.el
3170         (byte-compile-macroexpand-declare-function):
3171         Handle declarations after calls.  (Bug#20509)
3173         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
3175         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
3177 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
3179         Pulse using a timer
3180         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
3181         (pulse-momentary-highlight-overlay): Set up the timer instead of
3182         calling `pulse'
3183         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
3184         (pulse-tick): New function.
3185         (pulse-momentary-unhighlight): Cut off the stop time.
3186         (pulse-delay): Update the docstring WRT to not using sit-for.
3188         Add semantic/symref/grep file patterns for ruby-mode
3189         * lisp/cedet/semantic/symref/grep.el
3190         (semantic-symref-filepattern-alist): Add patterns for
3191         ruby-mode. Clarify the docstring.
3193         Don't require match
3194         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
3195         match. That doesn't work for every command, and some identifier
3196         completion tables are bound to be imperfect anyway.
3198 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
3200         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
3201         (semantic-grammar--template-expand): New function.
3202         (semantic-grammar-header, semantic-grammar-footer): Use it.
3203         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
3204         (semantic-grammar-file-regexp): Refine regexp.
3205         (semantic-grammar-eldoc-get-macro-docstring):
3206         Use elisp-get-fnsym-args-string when available.
3207         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
3208         instead of the old eldoc-* names.
3209         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
3210         from elisp-mode.el.  Tweak calling convention.
3211         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
3212         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
3213         elisp--get-fnsym-args-string.
3214         (elisp--highlight-function-argument): Add `prefix' arg.
3215         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
3216         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
3218 2015-05-05  Glenn Morris  <rgm@gnu.org>
3220         * lisp/help-fns.el (describe-function-1):
3221         Handle builtins with advertised calling conventions.  (Bug#20479)
3223 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
3225         Merge branch 'seq-let'
3227         Update `seq-let' documentation
3228         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
3229         with the support of  `&rest'.
3231         Add support for &rest in `seq-let'
3232         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
3233         in the argument list.
3234         * test/automated/seq-tests.el: Add a test for parsing and binding
3235         `&rest' in `seq-let'.
3237 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3239         Spelling fixes
3241 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
3243         * eieio-custom.el (eieio-object-value-get): Add missing increment
3244         (Bug#20467)
3246         (eieio-object-value-create): Adjust to new slots representation
3247         (Bug#20467)
3248         * eieio-custom.el (eieio-object-value-create):
3249         Fix missed adjustment to new representation of slots metadata.
3251 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
3253         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
3255 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
3257         Work around "Attempt to modify read-only object"
3258         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
3259         elisp--xref-find-definitions, to work around "Attempt to modify
3260         read-only object" error.
3262         Only skip some variables that have function counterparts
3263         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
3264         Only skip minor-mode-named variable if it's defined in a Lisp
3265         file, and it's in minor-mode-list (bug#20506).
3266         * test/automated/elisp-mode-tests.el
3267         (elisp-xref-finds-both-function-and-variable)
3268         (elisp-xref-finds-only-function-for-minor-mode): New tests.
3270 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3272         Buttonize the whole line, including the number at the beginning
3273         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
3274         previous change.
3275         (xref--insert-xrefs): Buttonize the whole line, including the
3276         number at the beginning.
3278         Make sure we're inside the let bindings
3279         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
3280         Make sure we're inside the let bindings.
3281         * test/automated/elisp-mode-tests.el
3282         (elisp-completes-functions-after-let-bindings): New test.
3284 2015-05-04  Glenn Morris  <rgm@gnu.org>
3286         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
3287         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
3288         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
3289         Remove outdated declarations.
3291         Replace instances of "(eval-when-compile (autoload ...))"
3292         * lisp/gnus/gnus-art.el (nneething-get-file-name):
3293         Declare rather than autoload.
3294         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
3295         Remove pointless autoload.
3296         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
3297         (gnus-topic-create-topic, gnus-topic-enter-dribble):
3298         Declare rather than autoload.
3299         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
3300         (mailcap-extension-to-mime): Autoload at run-time.
3301         * lisp/gnus/mm-util.el (latin-unity-massage-name)
3302         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
3303         (latin-unity-representations-present-region):
3304         Declare rather than autoload.
3305         * lisp/gnus/mml-smime.el (epg-make-context)
3306         (epg-passphrase-callback-function): Autoload at run-time.
3307         (epg-context-set-signers, epg-context-result-for)
3308         (epg-new-signature-digest-algorithm)
3309         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
3310         (epg-sign-string, epg-encrypt-string)
3311         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
3312         (epg-configuration, epg-expand-group, epa-select-keys):
3313         Declare rather than autoload.
3314         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
3315         Autoload at run-time.
3316         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
3317         (gnus-registry-get-id-key, gnus-registry-action):
3318         Declare rather than autoload.
3319         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
3320         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
3321         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
3322         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
3323         (spam-stat-split-fancy): Remove pointless autoloads.
3324         * lisp/net/mairix.el: Load gnus-util when compiling.
3325         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
3326         (message-field-value): Declare rather than autoload.
3327         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
3328         Check gnus-alive-p is fbound.
3329         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
3330         (vm-check-for-killed-summary, vm-error-if-folder-empty)
3331         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
3332         Declare rather than autoload.
3334         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
3336         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
3337         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
3339         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
3341         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
3343         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
3344         * lisp/emacs-lisp/package.el (epg-signature-status):
3345         Fix declarations.
3347         * lisp/play/gametree.el (gametree-show-children-and-entry)
3348         (gametree-apply-layout, gametree-mouse-show-subtree)
3349         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
3351         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
3352         Handle cl-defgeneric, cl-defmethod.
3354 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3356         Highlight both type and symbol name
3357         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
3358         Highlight both type and symbol name.
3360         Insert, highlight and align line numbers in xref output
3361         * lisp/progmodes/etags.el (xref-location-line): Specialize for
3362         xref-etags-location.
3363         * lisp/progmodes/xref.el (xref-location-line): New generic method.
3364         (xref-file-location): Add reader for the line slot.
3365         (xref--location-at-point): Skip to the `xref-location' property.
3366         (xref--collect-reference): Drop the line number from description.
3367         (xref--insert-xrefs): Insert, highlight and align line numbers.
3369 2015-05-04  Daniel Colascione  <dancol@dancol.org>
3371         Fix previous commit
3373 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3375         Don't pulse the indentation, or the newline
3376         * lisp/cedet/pulse.el (pulse-lighten-highlight)
3377         (pulse-reset-face): Fall back to the inherited background
3378         attribute in FACE.
3379         (pulse-momentary-highlight-region): Add autoload cookie.
3380         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
3381         indentation, or the newline, if the line's non-empty
3382         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
3384 2015-05-04  Daniel Colascione  <dancol@dancol.org>
3386         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
3387         * doc/lispref/positions.texi (Excursions): Document
3388         `save-mark-and-excursion'.
3389         * lisp/font-lock.el (font-lock-fontify-block): Use
3390         `save-mark-and-excursion' instead of `save-excursion', restoring
3391         Emacs 24 behavior.
3392         * lisp/simple.el (save-mark-and-excursion--save)
3393         (save-mark-and-excursion--restore): New functions.
3394         (save-mark-and-excursion): New user macro.
3395         * src/editfns.c (Fsave_excursion): Mention
3396         `save-mark-and-excursion' in `save-excursion' documentation.
3398 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3400         Classify lone symbol inside let varlist as variable
3401         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
3402         Classify lone symbol inside let varlist as variable.
3403         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
3404         New test.
3406         Add xref-pulse-on-jump
3407         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
3408         Add autoload cookie.
3409         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
3410         (xref--maybe-pulse): New function.
3411         (xref-pop-marker-stack, xref--pop-to-location)
3412         (xref--display-position): Use it.
3413         (xref--location-at-point): Use back-to-indentation.
3415 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
3417         * lisp/org/org-{macs,list}.el: Fix lexical warnings
3418         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
3419         (org-list-get-next-item, org-list-get-prev-item)
3420         (org-list-get-children): Mark unused arg `struct'.
3421         (org-list-use-alpha-bul-p): Remove unused var `bul'.
3422         (org-toggle-checkbox): Mark unused var.
3423         (org-update-checkbox-count): Remove unused var `box-num'.
3424         (org-adapt-indentation): Declare.
3425         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
3426         (org-list-send-list): Remove unused var `txt'.
3427         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
3428         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
3429         * lisp/org/org-macs.el: Use `declare'.
3430         (org-with-limited-levels): Declare dyn-bound vars.
3432 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
3434         Fix minor issues with CEDET on MS-Windows
3435         * lisp/cedet/semantic/symref/idutils.el
3436         (semantic-symref-parse-tool-output-one-line): Fix the search
3437         regexp to match MS-Windows file names with drive letters.
3438         (Bug#19468)
3439         * lisp/cedet/semantic/symref/grep.el
3440         (semantic-symref-grep-use-template): Remove "--color=always" from
3441         Grep switches on MS-Windows.
3442         (semantic-symref-grep-shell): Use shell-file-name as the default
3443         value, so this works not only on Posix platforms.
3444         (semantic-symref-perform-search): Use shell-quote-argument instead
3445         of literal '..' for portable quoting of Grep command-line
3446         argument.  Use shell-command-switch instead of a literal "-c".
3447         * lisp/cedet/semantic/bovine/gcc.el
3448         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
3449         for an absolute file name in a portable way.
3451 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
3453         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
3454         (package-import-keyring, package-refresh-contents)
3455         (package-compute-transaction, package--save-selected-packages)
3456         (package-install-from-archive, package-delete)
3457         (package-menu--perform-transaction): Use `inhibit-message'
3458         instead.
3459         (package--compile): Set `warning-minimum-level' to :error.
3461 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3463         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
3464         (terminal-init-screen): Use it (bug#20356).
3465         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
3466         (xterm--extra-capabilities-type): New const.
3467         (xterm-extra-capabilities): Use it.
3468         (xterm--version-handler): Lower the pseudo-version for `screen'.
3470 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
3472         xref--insert-xrefs: Tweak the faces
3473         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
3474         Always insert a newline at the end (to avoid mouse-face background
3475         tail at the last line).
3477         elisp-completion-at-point: Prioritize being quoted over funpos
3478         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
3479         Only consider function position when not inside quoted form
3480         (bug#20425).
3481         * test/automated/elisp-mode-tests.el: New file.
3483         Stop vc-print-log from jumping to the top
3484         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
3485         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
3486         is not specified.
3487         (vc-incoming-outgoing-internal): Always pass nil.
3488         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
3489         call it, and don't set vc-sentinel-movepoint (bug#15322).
3490         (vc-print-root-log): Don't fetch the root working revision, nor
3491         pass it to vc-print-log-internal.
3493 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
3495         Fix display of keyboard layouts for right-to-left scripts
3496         * lisp/international/quail.el (quail-insert-kbd-layout): Force
3497         left-to-right paragraph direction.
3499 2015-05-02  K. Handa  <handa@gnu.org>
3501         Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
3503         * cmds.c (internal_self_insert): When we insert spaces for
3504         padding, set point before the padding spaces, not after them.
3506 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
3508         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
3510 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
3512         Fix etags-xref-find for references
3513         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
3514         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
3515         directory if no tags tables are loaded (bug#19468).
3517 2015-05-02  Philipp Stephani  <phst@google.com>
3519         Update the options in whitespace-style defcustom
3520         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
3521         `repeat' because the option is really set-like.  Add missing
3522         options.  Reorder options to match the order in the
3523         documentation.  (Bug#20346)
3525 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
3527         Fix error diagnostics of c-macro-expand
3528         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
3529         too early if no start-marker string was found -- that generally
3530         means cpp exited abnormally, and we still want to show its error
3531         messages to the user.
3533         Don't require Texinfo 5.0 for Emacs documentation
3534         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
3535         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
3536         "@codequoteundirected on", respectively, to avoid requiring
3537         Texinfo 5.x for Emacs documentation.
3539 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
3541         * lisp/files.el (pwd):
3542         When called with a prefix argument, insert the current default
3543         directory at point.
3545 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
3547         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
3548         * lisp/isearch.el (isearch-mode-map): Don't inhibit
3549         function-key-map remapping for backspace (bug#20466).
3551 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
3553         Implement xref-find-references in etags and elisp-mode
3554         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
3555         (elisp-xref-find): Use it.
3556         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
3557         * lisp/progmodes/xref.el (xref-collect-references):
3558         (xref--collect-reference): New functions.
3560 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
3562         Prefer plain characters to Texinfo circumlocutions
3563         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
3564         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
3566         Fix single-quoting style in PDF manuals
3567         The PDF versions of the GNU manuals used curved single quotes to
3568         represent grave accent and apostrophe, which made it a pain to cut
3569         and paste code examples from them.  Fix the PDF versions to use
3570         grave accent and apostrophe for Lisp source code, keystrokes, etc.
3571         This change does not affect the info files, nor does it affect
3572         ordinary uses of curved single quotes in PDF.
3573         * doc/emacs/docstyle.texi: New file, which specifies treatment for
3574         grave accent and apostrophe, as well as the document encoding.
3575         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
3576         * doc/lispintro/emacs-lisp-intro.texi:
3577         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
3578         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
3579         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
3580         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
3581         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
3582         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
3583         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
3584         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
3585         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
3586         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
3587         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
3588         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
3589         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
3590         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
3591         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
3592         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
3593         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
3594         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
3595         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
3596         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
3597         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
3598         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
3599         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
3600         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
3601         * doc/misc/woman.texi:
3602         Use it instead of '@documentencoding UTF-8', to lessen the need for
3603         global changes like this in the future.
3604         * doc/emacs/Makefile.in (EMACS_XTRA):
3605         * doc/lispintro/Makefile.in (srcs):
3606         * doc/lispref/Makefile.in (srcs):
3607         Add dependency on docstyle.texi.
3608         * doc/misc/Makefile.in (style): New macro.
3609         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
3610         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
3611         Use it.
3613 2015-05-01  Glenn Morris  <rgm@gnu.org>
3615         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
3617         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
3618         (help-fns--signature): Declare.
3620         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
3622 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
3624         New macro seq-let, providing destructuring support to seq.el
3625         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
3626         to `cl-destructuring-bind' but works on all sequence types supported
3627         by `seq.el'.  Bump version number to 1.6.
3628         * test/automated/seq-tests.el: Add tests for seq-let.
3629         * doc/lispref/sequences.texi: Add documentation for seq-let.
3631 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
3633         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
3635 2015-05-01  Glenn Morris  <rgm@gnu.org>
3637         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
3639 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
3641         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
3642         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
3643         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
3644         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
3645         (Bug#20445).
3647 2015-05-01  K. Handa  <handa@gnu.org>
3649         * mule-cmds.el (input-method-use-echo-area): Change :type to
3650         'boolean.
3652 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3654         Start using proportional fonts in eww by default
3655         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
3656         it seems to work well.
3658         Fix links in tables in shr
3659         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
3660         makes (some) links in tables not work.
3662 2015-05-01  Jan D  <jan.h.d@swipnet.se>
3664         (ns-get-cut-buffer-internal): Remove this alias.
3665         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
3667 2015-04-30  Glenn Morris  <rgm@gnu.org>
3669         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
3670         Update for 2015-02-08 change to indirect-function.
3672         * lisp/term/ns-win.el (ns-get-selection-internal):
3673         Remove declaration for function deleted 2014-10-21.
3675         * lisp/dom.el: Load subr-x when compiling, for when-let.
3677         Silence some compilation warnings
3678         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
3679         * lisp/emulation/cua-base.el (delete-active-region):
3680         * lisp/net/net-utils.el (w32-get-console-output-codepage):
3681         * lisp/term/ns-win.el (ns-own-selection-internal)
3682         (ns-disown-selection-internal, ns-selection-owner-p)
3683         (ns-selection-exists-p, ns-get-selection):
3684         Declare for compiler..
3686         Function declaration updates prompted by 'make check-declare'
3687         * lisp/emacs-lisp/package.el (lm-homepage):
3688         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
3689         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
3690         * lisp/gnus/mml.el (libxml-parse-html-region):
3691         * lisp/gnus/nnrss.el (libxml-parse-html-region):
3692         * lisp/net/eww.el (libxml-parse-html-region):
3693         * lisp/net/shr.el (libxml-parse-html-region):
3694         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
3695         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
3696         * lisp/vc/vc-git.el (vc-annotate-convert-time):
3697         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
3698         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
3699         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
3700         Update declaration.
3702         Remove compatibility code for 20-year old function renaming
3703         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
3704         Make it an obsolete alias.
3705         (idlwave-shell-filter): Change all uses to comint-output-filter.
3707 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
3709         Add ace-window face config
3710         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
3711         configuration.
3713 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
3715         Unclutter 'make doc' output a bit
3716         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
3717         Use make subst rather than sh IFS to split target string apart.
3718         This makes 'make' output easier to follow.
3720         Merge from gnulib
3721         * doc/misc/texinfo.tex: Update from gnulib.
3723 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
3725         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
3726         (package-menu--print-info): Obsolete.
3727         (package-menu--print-info-simple): New function.
3728         (package-menu--refresh): Use it, simplify code, and improve
3729         performance.
3730         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
3731         Tiny performance improvement.
3733         * lisp/emacs-lisp/package.el (package--message): inhibit-message
3735 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
3737         Omit -Wstrict-overflow workaround in GCC 5
3738         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
3739         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
3741         Merge from gnulib
3742         This incorporates:
3743         2015-04-29 extern-inline: no need for workaround in GCC 5.1
3744         2015-04-26 file-has-acl: port to CentOS 6
3745         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
3747 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
3749         Set next-error-* in xref--xref-buffer-mode
3750         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
3751         `next-error-last-buffer'.
3752         (xref--next-error-function): New function.
3753         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
3755 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3757         python.el: Fix warnings on looking-back calls missing LIMIT
3758         * lisp/progmodes/python.el (python-shell-accept-process-output):
3759         Pass LIMIT arg to looking-back.
3761 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3763         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
3764         (package--download-and-read-archives): Use pushnew instead of
3765         append.  If something terrible happened during a previous
3766         download, simply refreshing should now make things work again.
3768 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
3770         Introduce etags-xref-find-definitions-tag-order
3771         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
3772         New variable.
3773         (etags--xref-find-definitions): Use it (bug#19468).
3775 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
3777         PATH- and completion-related fixes in Eshell on MS-Windows
3778         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
3779         MS-Windows, prepend "." to list of directories produced from PATH,
3780         as Windows always implicitly searches the current directory first.
3781         (eshell-force-execution): Make it have a non-nil default value on
3782         MS-Windows and MS-DOS.
3783         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
3784         eshell-force-execution is non-nil, complete on readable files and
3785         directories, not only executables.  When running on MS-Windows,
3786         prepend "." to list of directories produced from PATH, as Windows
3787         always implicitly searches the current directory first.
3789 2015-04-29  Sam Steingold  <sds@gnu.org>
3791         bury RCIRC buffers when there is no activity
3792         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
3793         (rcirc-bury-buffers): new function
3794         (rcirc-next-active-buffer): when there is no new activity, use
3795         `rcirc-bury-buffers' to hide all RCIRC buffers
3797 2015-04-29  Michael Albinus  <michael.albinus@gmx.de>
3799         Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
3801 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
3803         Fix DBUS query result parsing for secrets-search-items
3804         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
3805         parsing.  The function assumed that return value of the
3806         SearchItems method called on a collection is a list of two lists,
3807         however this is true only when no collection is specified.  GNOME
3808         had used to incorrectly return a list of two lists in both cases,
3809         but this was already fixed:
3810         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
3811         incorrect information in the secrets-search-items’ docstring.
3812         (Bug#20449)
3814 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3816         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
3817         (byte-compile--message): Use `inhibit-message' instead of hiding
3818         the previous message with (message nil).
3820 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
3822         Remove the deprecated INTERNAL_FIELD macro by expanding it
3823         * src/lisp.h (INTERNAL_FIELD): Remove.
3824         (DEFVAR_KBOARD): Modify accordingly.
3825         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
3826         * syntax.c: Adjust users.
3827         * src/buffer.c (compact_buffer): Use BVAR.
3829 2015-04-29  Glenn Morris  <rgm@gnu.org>
3831         Replace an obsolete function alias
3832         * lisp/isearch.el (isearch-yank-x-selection):
3833         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
3834         (mouse-drag-secondary-moving):
3835         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
3836         Replace obsolete alias x-get-selection with gui-get-selection.
3838 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
3840         * lisp/mail/rmailsum.el: Use lexical-binding.
3842 2015-04-29  Glenn Morris  <rgm@gnu.org>
3844         * test/automated/package-test.el (package-test-update-archives-async):
3845         Skip test on hydra.nixos.org.
3847 2015-04-28  Glenn Morris  <rgm@gnu.org>
3849         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
3850         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
3851         (foldout-mouse-hide-or-exit): Use new names for outline functions.
3853         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
3854         Update for 2014-06-26 hideif.el change.
3856         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
3857         (rmail--decode-and-apply): New function.
3858         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
3860         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
3862 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
3864         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
3865         (package-menu--refresh): Delegate obsolete-hiding to
3866         `package--remove-hidden'.
3867         (package--remove-hidden): Disregard high-priority package if it is
3868         older than the installed one.
3870 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
3872         Update source file encoding list
3873         Update admin/notes/unicode, along with coding system cookies in
3874         other files, so that the two match each other better.
3875         * admin/notes/unicode: lisp/language/ethio-util.el and
3876         lisp/language/ethiopic.el also use utf-8-emacs.
3877         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
3878         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
3879         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
3880         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
3881         * etc/refcards/sk-survival.tex:
3882         Add "coding: utf-8" so that this file is not mishandled in a
3883         Latin-1 or Big-5 locale.
3884         * lisp/international/robin.el, lisp/org/ox-ascii.el:
3885         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
3886         * lisp/language/ethio-util.el: Fix trailer.
3888 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
3890         Fix synchronous invocation of Ispell
3891         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
3892         value to ispell-process-directory before calling ispell-init-process.
3893         Don't call set-process-coding-system if ispell-async-processp is nil.
3894         (Bug#20448)
3896 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
3898         * lisp/emacs-lisp/package.el: Skip space and comments in init file
3899         (package--ensure-init-file): Insert snippet at first
3900         non-whitespace non-comments line.  Respects local-vars at the top
3901         of the file.
3903 2015-04-28  Glenn Morris  <rgm@gnu.org>
3905         * lisp/mail/rmail.el (rmail-copy-headers):
3906         Handle rmail-nonignored-headers being nil.  (Bug#18878)
3908         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
3910         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
3911         Don't get confused by a bzrlib version mismatch warning.
3913 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3915         Change default location of EUDC options file
3916         * NEWS: Document change to EUDC options file's default location.
3917         * lisp/net/eudc-vars.el (eudc-options-file): Use
3918         `locate-user-emacs-file' to change default options file location.
3920 2015-04-27  Glenn Morris  <rgm@gnu.org>
3922         * test/automated/package-test.el (package-test-update-archives-async):
3923         Try to handle the test server script dying.
3925 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3927         * lisp/saveplace.el (save-place-mode): New minor mode.
3928         (save-place): Redefine as an obsolete alias.
3930         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
3931         * lisp/midnight.el: Use lexical-binding.
3932         (midnight-mode): Make it a proper minor mode.
3933         (midnight-buffer-display-time): Make arg non-optional.
3934         (midnight-find): Remove.
3935         (clean-buffer-list-kill-never-regexps)
3936         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
3937         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
3938         contain functions.
3939         (clean-buffer-list): Use cl-find.
3940         Allow clean-buffer-list-kill-never-regexps to contain functions.
3942 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
3944         Bump version of seq.el to 1.5
3945         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
3946           from seq-doseq.  Bump version number of seq.el.
3948 2015-04-27  Glenn Morris  <rgm@gnu.org>
3950         * lisp/mail/rmail.el (rmail-reply):
3951         Decode subject before matching "Re:" prefix.  (Bug#20396)
3953 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
3955         * lisp/emacs-lisp/package.el: Small improvements
3956         (package--with-work-buffer-async): More informative error.
3957         (package-install-user-selected-packages): Rename to
3958         `package-install-selected-packages'.
3960 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3962         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
3963         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
3964         (eieio--class-make): Remove leftover `tag'.
3966 2015-04-27  Glenn Morris  <rgm@gnu.org>
3968         * lisp/gnus/message.el (gnus-extract-address-components):
3969         Remove bogus declaration that was masking previous problem.
3971 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
3973         * lisp/gnus/message.el (message-insert-formatted-citation-line):
3974         Fix typo.  (Bug#20318)
3976 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3978         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
3980         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
3981         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
3982         the buffer in yet another frame.
3983         (reftex-toc-visit-location): Make sure toc-window has focus at the end
3984         when `final' is nil.
3985         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
3986         silence warnings.  Use `--' to clarify that it's internal.
3987         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
3988         (reftex-toc-promote): Clarify unused argument.
3989         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
3990         Add `reftex--' prefix.  Fix all users.
3991         (reftex-toc-promote-prepare): Use _ for dummy variable.
3992         (reftex-toc-restore-region): Rename `m
3994 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
3996         Fix a typo in bibtex.el
3997         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
3998         last change.  (Bug#20429)
4000         Fix redisplay of frame after loading new fonts
4001         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
4002         frame because new fonts were loaded, disable all redisplay
4003         optimizations on that frame by calling SET_FRAME_GARBAGED.
4004         (Bug#20410)
4006 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4008         * lisp/info.el (Info-menu): Properly provide the `default'
4009         (Bug#20391)
4011         * elisp-mode.el: Catch errors from `documentation'
4012         (Bug#20418)
4013         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
4014         Catch errors from documentation.
4015         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
4017 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
4019         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
4020         Remove redundant ":group 'package".
4022 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
4024         Fix a typo in rmail.el
4025         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
4026         last commit.  (Bug#20429)
4028 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
4030         Introduce xref-prompt-for-identifier
4031         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
4032         (xref--read-identifier): Use it
4033         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
4035 2015-04-26  João Távora  <joaotavora@gmail.com>
4037         `tex-insert-quote' after single `'' opens quotes instead of closing
4038         Without this, it's very hard to precede double quotes with the
4039         apostrophe character, i.e. insert the sequence '``
4040         (quote-backquote-backquote), commonly useful in portuguese, for
4041         instance.
4042         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
4043         chars making `tex-insert-quote' be in the "opening" context.
4045 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
4047         Pass `id' to `completing-read' as def instead of initial input
4048         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
4049         as the default value instead of initial input
4050         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
4052 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
4054         Don't freeze with unreadable processes
4055         Don't freeze if an exiting process can't be read from. (Bug#19860).
4056         This fixes a bug I introduced in
4057         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
4058         "* process.c: Add sanity checks for file descriptors."
4059         Dmitry Gutov did most of the legwork in finding the problem.
4060         * src/process.c (wait_reading_process_output):
4061         Treat non-running processes that can't be read from
4062         the same as other non-running processes.
4064 2015-04-25  Alan Mackenzie  <acm@muc.de>
4066         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
4067         * lisp/subr.el (remove-yank-excluded-properties): put
4068         `with-silent-modifications' around only the last three lines of code.
4070 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
4072         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
4073         (package--all-keywords): Deleted variable.
4075         * etc/NEWS: Document package-hiding functionality
4077 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
4079         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
4081         Clarify the doc string of 'replace-regexp-in-string'
4082         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
4084         Improve doc string of 'insert-buffer-substring'
4085         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
4087         MS-Windows followup for the recent gnulib update
4088         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
4089         acl-internal.c.
4091 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4093         Spelling fixes
4095         Merge from gnulib
4096         This incorporates:
4097         2015-04-24 file-has-acl: new module, split from acl
4098         2015-04-24 manywarnings: add GCC 5.1 warnings
4099         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
4100         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
4101         2015-04-15 acl: On Linux, check for acls without libacl
4102         2015-04-14 tempname: avoid unused parameter warnings (trivial)
4103         * lib/acl-internal.c: New file, from gnulib.
4104         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
4105         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
4106         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
4107         Update from gnulib.
4109         Port --enable-gcc-warnings to GCC 5.1 x86-64
4110         * lib-src/ebrowse.c (dump_sym):
4111         * lib-src/hexl.c (main):
4112         * src/ccl.c (ccl_driver):
4113         * src/character.c (string_escape_byte8):
4114         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
4115         * src/gnutls.c (Fgnutls_boot):
4116         * src/gtkutil.c (xg_check_special_colors):
4117         * src/image.c (x_build_heuristic_mask):
4118         * src/print.c (safe_debug_print, print_object):
4119         * src/term.c (produce_glyphless_glyph):
4120         * src/xdisp.c (get_next_display_element)
4121         (produce_glyphless_glyph):
4122         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
4123         Don't use a signed format to print an unsigned integer, or vice
4124         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
4125         * src/image.c (png_load_body, jpeg_load_body):
4126         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
4128 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
4130         Add new faces to tsdh-light-theme
4131         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
4132         definitions for Info-quoted, ace-jump-face-foreground,
4133         hl-paren-face, show-paren-match, and show-paren-mismatch.
4135 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
4137         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
4139 2015-04-24  Glenn Morris  <rgm@gnu.org>
4141         * build-aux/gitlog-to-emacslog:
4142         Use raw log format rather than wrapped one.
4144 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4146         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
4147         (seq-doseq): Fix out-of-scope binding.
4148         Don't call `seq-length at every iteration.
4149         Reduce `if's from 3 to 2 per iteration.
4150         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
4152 2015-04-24  Glenn Morris  <rgm@gnu.org>
4154         * lisp/textmodes/text-mode.el (text-mode-hook):
4155         Move text-mode-hook-identify to default.
4157         * lisp/mouse.el (minor-mode-menu-from-indicator):
4158         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
4160         * lisp/help-fns.el (describe-function): More type checking.
4161         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
4163         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
4164         (Bug#20325)
4166 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
4168         shr: strip leading whitespace when expanding URLs
4169         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
4171 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
4173         Clarify "co-authored" some more
4175         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
4177         Clarify doc strings of functions that search for properties
4178         * src/textprop.c (Fnext_char_property_change)
4179         (Fprevious_char_property_change)
4180         (Fnext_single_char_property_change)
4181         (Fprevious_single_char_property_change, Fnext_property_change)
4182         (Fnext_single_property_change, Fprevious_property_change)
4183         (Fprevious_single_property_change): Clarify doc strings wrt return
4184         value and the optional LIMIT argument.  (Bug#20411)
4186 2015-04-24  Glenn Morris  <rgm@gnu.org>
4188         * test/automated/message-mode-tests.el (message-mode-propertize):
4189         Handle non-writable HOME; eg on hydra.nixos.org.
4191 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
4193         Avoid starting threads by w32-shell-execute
4194         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
4195         local file names, before invoking ShellExecute.  (Bug#20220)
4197 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
4199         Fix following doc-links in `widget-documentation-link-action'
4200         * lisp/wid-edit.el (widget-documentation-link-action): Make
4201         following doc-links less simplistic (Bug#20398).
4203 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4205         Improve EUDC manual
4206         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
4208 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4210         Omit needless "\ " after multibyte then newline
4211         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
4212         (print_object): When print-escape-multibyte is non-nil and a
4213         multibyte character is followed by a newline or formfeed, followed
4214         by a hex digit, don't output a needless "\ " before the hex digit.
4215         * test/automated/print-tests.el (print-hex-backslash): New test.
4217 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
4219         Add a new `inhibit-message' variable
4220         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
4221         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
4222         `inhibit_message' is non-zero.
4223         * etc/NEWS: Add an entry.
4224         * doc/lispref/display.texi: Add an entry for `inhibit-message',
4225           mention it in `message'.
4227 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
4229         Fix last fix in `display-buffer-record-window'.
4230         * lisp/window.el (display-buffer-record-window): Fix last fix.
4232 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
4234         Minor edits in CONTRIBUTE
4235         * CONTRIBUTE: Rearrange instructions about log messages.
4236         Use "Git" capitalized all over.
4237         Use 2 spaces between sentences.
4239 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4241         * lisp/files.el (basic-save-buffer): Fix argument
4243         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
4244         In case `(and (null custom-file) init-file-had-error)' do the same
4245         thing we'd do if `(null user-init-file)', which is to either error out
4246         or return nil.  This is in line with `custom-save-all' which would
4247         throw an error in that situation. (bug#20355)
4249         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
4250         (package-menu-hide-low-priority): New variable, see its doc.
4251         (package-archive-priorities): Update doc.
4252         (package-desc-priority): New function.
4253         (package-desc-priority-version): Use it.
4254         (package--remove-hidden): New function.
4255         (package-menu--refresh): Use it.
4257         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
4258         (package-menu--hide-obsolete): New variable.
4259         (package--remove-hidden): Use it.
4260         (package-menu-hide-obsolete): New interactive function to toggle
4261         the variable.
4262         (package--quick-help-keys): Document it.
4263         (package-menu-async): Add :version tag.
4264         (package-menu-mode-map): Bind package-menu-hide-obsolete.
4265         (package-desc-status): Indicate non-installed obsolete packages as
4266         avail-obso.
4267         (package-menu-mark-install): Allow installation of avail-obso.
4268         (package-menu--status-predicate): Sort avail-obso with available.
4270 2015-04-22  Alan Mackenzie  <acm@muc.de>
4272         On C-y, stop some text property entries being written into buffer-undo-list
4273         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
4274         `with-silent-modifications'.
4276 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
4278         In display-buffer-record-window record selected window if necessary.
4279         * lisp/window.el (display-buffer-record-window): Store selected window
4280         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
4282 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
4284         Fix reftex-citation bug
4285         * reftex-cite.el (reftex-extract-bib-entries): Fix
4286         `wrong-type-argument stringp nil' error that occurs when AUCTeX
4287         integration is enabled and there are no citations in the document
4288         so far.
4290 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
4292         Add or reset based on the presence of MERGE_HEAD
4293         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
4294         `vc-git-resolve-when-done' to `after-save-hook' in either case.
4295         (vc-git-conflicted-files): Add a TODO.
4296         (vc-git-resolve-when-done): Depending on the presence of
4297         MERGE_HEAD, either update the resolved file in the index, or
4298         remove it from there.  (Bug#20292)
4300 2015-04-21  Glenn Morris  <rgm@gnu.org>
4302         * lisp/custom.el (custom-declare-group): No need to purecopy
4303         custom-current-group-alist members following recent change to set
4304         it to nil before dumping.
4306         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
4307         (Bug#20399)
4309 2015-04-21  Daniel Colascione  <dancol@dancol.org>
4311         Unbreak no-op buffer save message
4312         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
4313         (basic-save-buffer): Accept called-interactively as an argument instead of
4314         directly invoking called-interactively-p, which will always yield nil
4315         in that context.
4317 2015-04-21  Alan Mackenzie  <acm@muc.de>
4319         CC Mode: Do nothing in before/after-change-functions for text property changes
4320         Fixes bug#20266.
4321         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
4322         yank-handled-properties buffer local, and remove 'category from it.
4323         (c-called-from-text-property-change-p): New function.
4324         (c-before-change): Don't do anything if a call of the new function
4325         returns non-nil.
4326         (c-after-change): Don't do much if a call of the new function returns
4327         non-nil.
4328         (c-extend-after-change-region): Put changes to text property 'fontified
4329         inside c-save-buffer-state.
4331 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
4333         Fix byte-compiler warnings about looking-back.
4334         * lisp/vc/log-view.el (log-view-end-of-defun-1):
4335         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
4336         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
4337         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
4338         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
4339         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
4340         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
4341         * lisp/org/org.el (org-insert-heading, org-sort-entries):
4342         * lisp/org/org-mouse.el (org-mouse-end-headline)
4343         (org-mouse-context-menu):
4344         * lisp/org/org-clock.el (org-clock-cancel):
4345         * lisp/man.el (Man-default-man-entry):
4346         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
4347         (rmail-ensure-blank-line):
4348         * lisp/mail/footnote.el (Footnote-delete-footnote):
4349         * lisp/mail/emacsbug.el (report-emacs-bug):
4350         * lisp/info.el (Info-follow-reference, Info-fontify-node):
4351         * lisp/info-look.el (info-lookup-guess-custom-symbol):
4352         * lisp/help-fns.el (help-fns--key-bindings):
4353         * lisp/files.el (hack-local-variables):
4354         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
4355         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
4356         (viper-complete-filename-or-exit):
4357         * lisp/emulation/viper-cmd.el (viper-backward-indent):
4358         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
4359         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
4360         * lisp/cus-edit.el (custom-face-edit-value-create):
4361         * lisp/calendar/todo-mode.el (todo-set-item-priority)
4362         (todo-filter-items-1, todo-convert-legacy-files)
4363         (todo-prefix-overlays): Add explicit second arg to looking-back.
4365 2015-04-20  Glenn Morris  <rgm@gnu.org>
4367         Avoid non-nil current-load-list at startup
4368         * src/process.c (init_process_emacs): Move Fprovide statement...
4369         (syms_of_process): ... to here.
4371         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
4373         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
4375 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
4377         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
4378         (Bug#20330)
4380 2015-04-20  Glenn Morris  <rgm@gnu.org>
4382         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
4384         Tweak exec-path in uninstalled case
4385         * src/callproc.c (init_callproc): If running uninstalled, do not
4386         include eventual installation libexec directory in exec-path.
4388 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
4390         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
4391         (package-menu-filter): Accept a list of keywords.
4392         (package--all-keywords): New variable to cache known keywords.
4393         (package-all-keywords): Populate it if necessary.
4394         (package-refresh-contents): Reset it.
4396         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
4397         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
4398         as special keywords which match agains package archive and status
4399         respectively.
4400         * etc/NEWS: Document it.
4402 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
4404         Describe and index "empty overlays".
4405         * doc/lispref/display.texi (Overlays): Improve indexing.
4406         (Managing Overlays): Describe "empty" overlays.
4407         (Overlay Properties, Finding Overlays): Add cross-reference to
4408         where empty overlays are described.
4410 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4412         Spelling fixes
4414         Quote 'like this' in top-level files
4415         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
4416         Prefer to single-quote 'like this' (instead of the older style
4417         `like this').
4418         * configure.ac: Fix some space-before-tab problems that 'git commit'
4419         complained about.
4421         Use bool for boolean in textprop.c, undo.c
4422         * src/textprop.c (soft, hard): Now constants instead of macros.
4423         (validate_plist): Rewrite to avoid need for boolean local.
4424         (interval_has_all_properties, interval_has_some_properties)
4425         (interval_has_some_properties_list, add_properties)
4426         (remove_properties, get_char_property_and_overlay)
4427         (Fnext_single_char_property_change)
4428         (Fprevious_single_char_property_change, add_text_properties_1)
4429         (Fremove_text_properties, Fremove_list_of_text_properties)
4430         (copy_text_properties):
4431         * src/tparam.c (tparam1):
4432         * src/undo.c (record_change, record_property_change)
4433         (syms_of_undo):
4434         Use 'true' and 'false' for booleans.
4436 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
4438         Call `smerge-start-session' even when dealing with a stash conflict
4439         * lisp/vc/vc-git.el (vc-git-find-file-hook):
4440         Call `smerge-start-session' even when dealing with a stash
4441         conflict (bug#20292).
4443 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
4445         Add option to eshell/clear to clear scrollback.
4446         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
4447         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
4448         scrollback contents are cleared.
4449         * etc/NEWS: Describe change.
4450         * doc/misc/eshell.texi: Add entry for `clear'.
4452 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4454         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
4455         where either will do.
4457 2015-04-19  Steve Purcell  <steve@sanityinc.com>
4459         Assume package archive-contents are UTF8-encoded
4460         * lisp/emacs-lisp/package.el (package--read-archive-file):
4461         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
4462         downloaded and cached archive-contents files, so that non-ASCII
4463         characters in package descriptions are displayed correctly in the
4464         `list-packages' menu. (Bug#20231)
4466 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
4468         Abort when looking at stashed changes
4469         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
4470         stashed changes (bug#20292).
4472 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4474         Refactor low-level printing for simplicity
4475         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
4476         PRINTPREPARE; doable now that we assume C99.  All callers changed.
4477         (PRINTCHAR): Remove, as it adds more mystery than clarity.
4478         All callers changed.
4479         (strout): Assume that caller computes length.  All callers changed.
4480         (print_c_string): New function.
4481         (write_string, write_string_1): Compute length instead of asking
4482         the caller to compute it.  All callers changed.
4483         (write_string): Simplify by using write_string_1.
4484         (write_string_1): Simplify by using print_c_string.
4485         (Fterpri): Compute default val more clearly.
4486         (Fprin1_to_string, print_object):
4487         Assume C99 to avoid unnecessary nesting.
4488         (print_object): Prefer print_c_string to multiple printchar, or
4489         to calling strout with -1 length.  Coalesce into sprintf when
4490         this is easy.
4492 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
4494         Prefer "Bug#1234" in commit messages (Bug#20325)
4495         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
4496         as this isn't useful for Git.
4497         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
4499 2015-04-18  Glenn Morris  <rgm@gnu.org>
4501         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
4502         (Bug#19506)
4504 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
4506         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
4507         (Bug#19505)
4509 2015-04-18  Glenn Morris  <rgm@gnu.org>
4511         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
4513         * doc/emacs/misc.texi (Sorting): Small edit.
4514         (Bug#19896)
4516         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
4518 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
4520         css-mode.el: Support multi-line comment filling
4521         (Bug#20256)
4522         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
4523         comment filling.
4524         (css-adaptive-fill): New function.
4525         (css-mode): Set `adaptive-fill-function'.
4526         (scss-mode): Set `comment-continue'.
4528 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
4530         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
4532 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
4534         Minor improvements in Bulgarian input methods
4535         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
4536         Replace U+042C with U+045D, as the former character is not used in
4537         the modern Bulgarian language.
4538         (Bug#20350)
4540 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4542         Improve EUDC manual
4543         * eudc.texi (LDAP Configuration): Mention simple and SASL
4544         authentication schemes.  Add index items.  Shorten example server
4545         name.
4547 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
4549         Don't show both feature and function with the same name
4550         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4551         Don't show both feature and function with the same name.
4553         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
4554         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4555         Avoid returning both the variable and the function for the same
4556         minor mode.
4558 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
4560         Fix fontification of keywords clobbered by the prompt.
4561         * lisp/comint.el (comint-output-filter): Remove the uses of
4562         with-silent-modifications I introduced as part of the last change.
4563         This fixes, e.g., erratically missing highlighting when running
4564         ./configure --help; ./configure in a shell-mode buffer with
4565         compilation-shell-minor-mode turned on.
4567 2015-04-17  Glenn Morris  <rgm@gnu.org>
4569         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
4571 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
4573         * lisp/indent.el (indent-region): Don't deactivate the mark
4574         (Bug#20357)
4576 2015-04-17  Sam Steingold  <sds@gnu.org>
4578         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
4580 2015-04-16  Leo Liu  <sdl.web@gmail.com>
4582         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
4584 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
4586         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
4588 2015-04-16  Glenn Morris  <rgm@gnu.org>
4590         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
4592 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
4594         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
4595         * configure.ac (LIBJPEG): Leave it empty for MinGW.
4597 2015-04-16  Glenn Morris  <rgm@gnu.org>
4599         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
4600         to avoid rogue setting after startup.
4602 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
4604         Pre-4.6 GCC succeeds with unknown option
4605         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
4606         (Bug#20338)
4608 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4610         '[:graph:]' now excludes whitespace, not just ' '
4611         * doc/lispref/searching.texi (Char Classes):
4612         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
4613         sans whitespace (not sans space).
4614         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
4615         not just space.
4616         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
4618 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4620         (looking-back): Make the second arg non-optional.
4621         * lisp/subr.el (substitute-key-definition-key, special-form-p)
4622         (macrop): Drop deprecated second arg to indirect-function.
4623         (looking-back): Make the second arg non-optional.
4625         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
4626         command is actually sent to the shell.
4628 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4630         Port jpeg configuration to Solaris 10 with Sun C
4631         * configure.ac: Check for jpeglib 6b by trying to link it, instead
4632         of relying on cpp magic that has problems in practice.  Check for
4633         both jpeglib.h and jerror.h features.  Remove special case for
4634         mingw32, which should no longer be needed (and if it were needed,
4635         should now be addressable by hotwiring emacs_cv_jpeglib).
4636         (Bug#20332)
4638 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4640         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
4641         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
4642         Move to elisp-mode.el.
4643         (lisp-mode-variables): (Re)move elisp-specific settings.
4644         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
4645         from lisp-mode-variables.
4646         (elisp--font-lock-flush-elisp-buffers): New function, moved from
4647         lisp-mode.el.
4649         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
4650         Avoid pathological slowdown at top-level in large file.
4652 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4654         Standardize names of ChangeLog history files
4655         Suggested by Glenn Morris in:
4656         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
4657         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
4658         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
4659         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
4660         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
4661         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
4662         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
4663         Remove.
4665         Split top-level entries into pre- and post-April 7
4666         This more clearly distingiushes pre-April-7 ChangeLog entries (which
4667         are for top-level files only) from post-April-7 entries (which are
4668         about files at all levels.  Problem reported by Glenn Morris in:
4669         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
4670         * ChangeLog.1: Move post-April-7 entries from here ...
4671         * ChangeLog.2: ... to this new file.
4672         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
4674 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4676         Fix recent cus-start changes that added customize-rogues
4677         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
4678         vars early.
4679         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
4681 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
4683         Define cl-concatenate as an alias to seq-concatenate
4684         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
4685           code by making cl-concatenate an alias to seq-concatenate.
4687 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4689         * src/lread.c (intern_1): Make sure we'd find the symbol we add
4690         (Bug#20334)
4691         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
4693 2015-04-15  Glenn Morris  <rgm@gnu.org>
4695         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
4697 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4699         Clean up gnus-uu saving code slightly
4700         * gnus-uu.el (gnus-uu-save-article): Make the
4701         save-restriction/widen calls make more sense.
4703 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4705         Make [:graph:] act like [:print:] sans space
4706         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
4707         [:graph:] so that it matches everything that [:print:] does,
4708         except for space.
4709         * doc/lispref/searching.texi (Char Classes):
4710         * etc/NEWS:
4711         * lisp/emacs-lisp/rx.el (rx):
4712         Document [:graph:] to be [:print:] sans ' '.
4713         * src/character.c, src/character.h (graphicp): New function.
4714         * src/regex.c (ISGRAPH) [emacs]: Use it.
4715         (BIT_GRAPH): New macro.
4716         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
4717         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
4718         Return BIT_GRAPH for RECC_GRAPH.
4719         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
4720         and ISPRINT if BIT_PRINT.
4722 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
4724         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
4725         Don't use call-next-method in a cl-defmethod.
4727         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
4728         (eieio--class-p): Remove, provided by cl-defstruct.
4730 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
4732         Add seq-intersection and seq-difference to the seq library
4733         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
4734         functions.
4735         * test/automated/seq-tests.el: Add tests for seq-intersection and
4736         seq-difference.
4737         * doc/lispref/sequences.texi: Add documentation for seq-intersection
4738         and seq-difference.
4740 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
4742         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
4744 2015-04-14  Sam Steingold  <sds@gnu.org>
4746         package--ensure-init-file: widen requires save-restriction
4748 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
4750         Improve the commit-msg Git hook for unibyte environments
4751         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
4752         in unibyte environments.  (Suggested by Paul Eggert
4753         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
4754         [:print:], based on UTF-8 sequences of the unprintable characters.
4756         Describe problems with cursor caused by Windows Magnifier
4757         * etc/PROBLEMS: Describe the problem with cursor shape on
4758         MS-Windows due to Windows Magnifier.
4759         (Bug#20271)
4761         Make [:print:] support non-ASCII characters correctly
4762         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
4763         (BIT_PRINT): New bit mask.
4764         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
4765         * src/character.c (printablep): New function.
4766         * src/character.h (printablep): Add prototype.
4767         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
4768         of 'print', 'alnum', and 'alphabetic'.
4769         * doc/lispref/searching.texi (Char Classes): Document the new
4770         behavior of [:print:].
4771         * etc/NEWS: Mention the new behavior of [:print:].
4773         Assign correct general-category and names to surrogates
4774         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
4775         surrogates.  This avoids assigning them the default
4776         general-category of 'Cn', i.e. unassigned codepoints.
4777         (unidata-get-name): Give surrogates synthetic names.
4779 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
4781         Assume C89 offsetof in xterm.c, xlwmenu.c
4782         * lwlib/xlwmenu.c (offset):
4783         * src/xterm.c (cvt_string_to_pixel_args):
4784         Use offsetof, not XtOffset.
4786 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
4788         Assume C89 offsetof in widget.c
4789         * src/widget.c (XtOffset): Remove; no longer needed.
4790         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
4792         Fix think-o in previous patch
4793         * src/window.c (count_windows, get_leaf_windows):
4794         Don't optimize count_windows incorrectly.
4796 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
4798         Avoid some int overflows in window.c
4799         * src/print.c (print_object):
4800         * src/window.c (sequence_number):
4801         * src/window.h (struct window.sequence_number):
4802         Don't assume window sequence number fits in int.
4803         * src/window.c (window_select_count):
4804         * src/window.h (struct window.use_time, window_select_count):
4805         Don't assume window use time fits in int.
4806         * src/window.c (Fsplit_window_internal):
4807         Don't assume user-supplied integer, or sum, fits in int.
4808         (Fset_window_configuration, count_windows, get_leaf_windows)
4809         (save_window_save, Fcurrent_window_configuration):
4810         Use ptrdiff_t for object counts.
4811         (Fset_window_configuration): Omit unused local 'n'.
4812         (count_windows): Simplify by writing in terms of get_leaf_windows.
4813         (get_leaf_windows): Don't store through FLAT if it's null.
4814         (extract_dimension): New static function.
4815         (set_window_margins, set_window_fringes, set_window_scroll_bars):
4816         Use it to avoid undefined behavior when converting user-supplied
4817         integer to 'int'.
4819 2015-04-13  Glenn Morris  <rgm@gnu.org>
4821         Minor doc copyedits
4822         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
4823         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
4825 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
4827         [Gnus] Catch the invalid-operation that idna.el will issue
4828         * lisp/gnus/gnus-art.el (gnus-use-idna):
4829         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
4830         * lisp/gnus/message.el (message-use-idna):
4831         Catch the invalid-operation that idna.el will issue.
4833 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
4835         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
4837 2015-04-13  Sam Steingold  <sds@gnu.org>
4839         package--ensure-init-file: widen before looking for "(package-initialize)"
4841 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
4843         Change diff-switches default to `-u'
4844         (Bug#20290)
4845         * doc/emacs/files.texi (Comparing Files): Document the new default
4846         value of `diff-switches'.
4847         * doc/emacs/trouble.texi (Sending Patches): Document the preference
4848         for unified diff format.  Escape the plus in the suggested `-F' regexp
4849         value.
4850         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
4852 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4854         (gnus-group--setup-tool-bar-update): Fix last change
4855         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
4856         cursor-sensor-functions should be a list of functions.
4858 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
4860         Use gmm-called-interactively-p in Gnus
4861         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
4863 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4865         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
4866         (Bug#20321)
4867         * lisp/cus-start.el (read-buffer-function): Don't advertize
4868         iswitchb-read-buffer any more.
4869         (iswitchb): Don't tweak this obsolete group any more.
4871 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
4873         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
4875         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
4876         Adding a string after a constructor's argument list will use
4877         that string as the constructor function docstring.  If this string
4878         is absent but the struct itself was given a docstring, use that as
4879         the constructor's docstring.
4880         Fixes (bug#17284).
4882 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4884         Deprecate `intangible' and `point-entered' properties
4885         * lisp/emacs-lisp/cursor-sensor.el: New file.
4886         * lisp/simple.el (pre-redisplay-functions): New hook.
4887         (redisplay--pre-redisplay-functions): New function.
4888         (pre-redisplay-function): Use it.
4889         (minibuffer-avoid-prompt): Mark obsolete.
4890         (redisplay--update-region-highlight): Adapt it to work as a function on
4891         pre-redisplay-functions.
4892         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
4893         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
4894         than point-entered to make the prompt intangible.
4895         * lisp/forms.el: Move `provide' calls to the end.
4896         (forms-mode): Don't use `run-hooks' on a local var.
4897         (forms--make-format, forms--make-format-elt-using-text-properties):
4898         Use cursor-intangible rather than `intangible'.
4899         (forms-mode): Enable cursor-intangible-mode.
4900         * lisp/isearch.el (isearch-mode): Use defvar-local.
4901         (cursor-sensor-inhibit): Declare.
4902         (isearch-mode): Set cursor-sensor-inhibit.
4903         (isearch-done): Set it back.
4904         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
4905         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
4906         any more.
4907         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
4908         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
4909         Add Edebug spec.
4910         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
4911         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
4912         inhibit-point-motion-hooks any more.
4913         (ses--cell-at-pos, ses--curcell): New functions, extracted from
4914         ses-set-curcell.
4915         (ses-set-curcell): Use them.
4916         (ses-print-cell, ses-setup): Use cursor-intangible instead of
4917         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
4918         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
4919         Use ses--cell-at-pos.
4920         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
4921         extracted from ses-command-hook.  Make them work with multiple windows
4922         displaying the same buffer.
4923         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
4924         Enable cursor-intangible-mode.
4925         (ses-command-hook): Remove cell highlight and mode-line update code.
4926         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
4927         Update for new name of text-property holding the cell name.
4928         (ses-rename-cell): Don't mess with mode-line-process.
4929         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
4930         cursor-sensor-functions property instead of point-entered.
4931         (erc-insert-timestamp-right, erc-format-timestamp):
4932         Use cursor-intangible rather than `intangible'.
4933         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
4934         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
4935         cursor-sensor-mode if needed.
4936         (erc-echo-timestamp): Adapt to calling convention of
4937         cursor-sensor-functions.
4938         (erc-insert-timestamp-right): Remove unused vars `current-window' and
4939         `indent'.
4940         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
4941         (gnus-update-group-mark-positions): Remove unused `topic' var.
4942         (gnus-group-insert-group-line): Remove unused var `header'.
4943         (gnus-group--setup-tool-bar-update): New function.
4944         (gnus-group-insert-group-line): Use it.
4945         (gnus-group-update-eval-form): Declare local
4946         dynamically-bound variables.
4947         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
4948         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
4949         (gnus-group-prepare-topics, gnus-topic-update-topic)
4950         (gnus-topic-change-level, gnus-topic-catchup-articles)
4951         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
4952         Use inhibit-read-only.
4953         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
4954         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
4955         * lisp/textmodes/reftex-index.el (reftex-display-index):
4956         Use cursor-intangible-mode if available.
4957         (reftex-index-post-command-hook): Check cursor-intangible.
4958         * lisp/textmodes/reftex-toc.el (reftex-toc):
4959         Use cursor-intangible-mode if available.
4960         (reftex-toc-recenter, reftex-toc-post-command-hook):
4961         Check cursor-intangible.
4962         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
4963         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
4964         (sgml-tags-invisible): Use with-silent-modifications and
4965         inhibit-read-only.  Enable cursor-sensor-mode.
4966         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
4967         calling convention of cursor-sensor-functions.
4968         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
4969         (table-point-entered-cell-hook, table-point-left-cell-hook):
4970         Don't autoload.
4971         (table-cell-entered-state): Remove var.
4972         (table--put-cell-point-entered/left-property)
4973         (table--remove-cell-properties):
4974         Use cursor-sensor-functions rather than point-entered/left.
4975         (table--point-entered/left-cell-function): Merge
4976         table--point-entered-cell-function and table--point-left-cell-function
4977         and adjust to calling convention of cursor-sensor-functions.
4979         Update ldef-boots.el
4981         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
4983         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
4985         Collapse successive char deletions in the undo log
4986         * src/cmds.c (remove_excessive_undo_boundaries): New function,
4987         extracted from Fself_insert_command.
4988         (Fdelete_char, Fself_insert_command): Use it.
4989         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
4990         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
4992         xterm and OSC 52: Add NEWS entry, and tweak the code
4993         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
4994         top-level.
4995         (terminal-init-xterm-activate-set-selection): Set a terminal property.
4996         (xterm--set-selection): Use it instead of checking the value of
4997         `terminal-initted'.  Don't use string-bytes.
4999 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
5001         xterm.el: Implement OSC-52 functionality for setting the X selection
5002         * lisp/term/xterm.el (xterm-max-cut-length): New var.
5003         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
5004         (terminal-init-xterm, xterm--version-handler): Use them.
5006 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5008         Remove left over code from when we used an obsolete/loaddefs.el file
5009         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
5010         we used an obsolete/loaddefs.el file.
5012         * cedet/semantic/fw.el: Use declare.
5013         * cedet/semantic/fw.el (semantic-exit-on-input)
5014         (semanticdb-without-unloaded-file-searches): Use declare.
5015         (semantic-fw-add-edebug-spec): Remove.
5017         (completion-lisp-mode-hook): Use completion-separator-chars
5018         * lisp/completion.el (completion-lisp-mode-hook):
5019         Use completion-separator-chars rather than local key binding.
5021         * src/*.c: Set deactivate_mark buffer-locally
5022         (Bug#20260)
5023         * src/insdel.c (prepare_to_modify_buffer_1):
5024         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
5025         buffer-locally.
5027 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5029         python.el: Keep symmetry on sexp navigation with parens
5030         (Bug#19954)
5031         * lisp/progmodes/python.el
5032         (python-nav--forward-sexp): Add argument skip-parens-p.
5033         (python-nav-forward-sexp, python-nav-backward-sexp)
5034         (python-nav-forward-sexp-safe)
5035         (python-nav-backward-sexp-safe): Use it.
5036         * test/automated/python-tests.el
5037         (python-nav-forward-sexp-1): Fix test.
5039 2015-04-12  João Távora  <joaotavora@gmail.com>
5041         Don't use `setq-local' in Gnus code
5042         This might break upstream builds with older Emacsen
5043         * lisp/gnus/message.el (message-mode): Use `set' and
5044         `make-local-variable' instead of `setq-local'.
5046 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5048         Update Makefile.in's .PHONY dependencies
5049         * Makefile.in (change-history-commit, master-branch-is-current)
5050         (no-ChangeLog): Now phony.
5052         Remove configure's --with-mmdf option
5053         * configure.ac (MAIL_USE_MMDF): Remove.
5054         * etc/NEWS: Document this.
5055         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
5056         (Bug#20308)
5058         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
5059         That way, 'make install' won't think it's a man page.
5060         Reported by Ashish SHUKLA in:
5061         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
5063         Improve 'make change-history' prereq tests
5064         * Makefile.in (gen_origin): Fix to match what's in the master branch.
5065         (no-ChangeLog, master-branch-is-current): New rules.
5066         (change-history): Depend on them, to avoid similar future problems.
5067         Escape the local-variables string to pacify Emacs when editing
5068         Makefile.in.
5070 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5072         * test/automated/package-test.el (with-package-test): Kill Packages buffer
5074         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
5075         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
5076         "Upgrade" last, and use capitalized instead of all-caps.
5078         * lisp/emacs-lisp/package.el: Completely silence async operations
5079         (package--make-autoloads-and-stuff): Silence autoloads.
5080         (package--save-selected-packages): New function, silences
5081         `customize-save-variable'.
5082         (package--user-selected-p, package-install-from-buffer)
5083         (package-delete, package-install): Use it.
5084         (package-install-from-archive)
5085         (package-menu--perform-transaction): Silence.
5086         (package-menu-execute): Feedback when operation starts.
5088         Use delay-mode-hooks when visiting the init-file
5089         * lisp/emacs-lisp/package.el (package--ensure-init-file):
5090         delay-mode-hooks
5091         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
5093         * lisp/files.el: Only message when saving if save-silently is nil
5094         (save-silently): New variable.
5095         (files--message): New function.
5096         (find-file-noselect, save-buffer, basic-save-buffer)
5097         (basic-save-buffer-2, save-some-buffers, not-modified)
5098         (append-to-file): Use them.
5100 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
5102         Support debug declarations in pcase macros
5103         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
5104         (pcase-UPAT): Use it.  Remove "`".
5105         (pcase--edebug-match-macro): New function.
5106         (pcase-defmacro): Support debug declarations.
5107         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
5108         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
5109         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
5111         pcase.el: Edebug support for `app' and vector patterns
5112         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
5113         (pcase-UPAT): Use it. Support `app' patterns.
5114         (pcase-QPAT): Support vector patterns.
5116         edebug.el: Disambiguate vector specifications
5117         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
5118         `(vector ...)' as a vector specification, not as a sublist.
5120         (gnus-summary-refer-thread): Don't clobber unread articles
5121         This fixes a bug where `A T' causes "random" articles to become marked
5122         as read.
5123         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
5124         gnus-newsgroup-unreads remains sorted.
5126         mouse-sel.el: Fix mouse-sel-get-selection-function
5127         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
5128         Use gui--last-selected-text-primary instead of no longer existing
5129         gui-last-selected-text.
5131         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
5133         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
5135 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5137         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
5139         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
5141         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
5142         (byte-compile--interactive): New var.
5143         (byte-compile--message): New function.
5144         (byte-compile-log-1, byte-force-recompile)
5145         (byte-recompile-directory, byte-recompile-file)
5146         (byte-compile-file, compile-defun)
5147         (byte-compile-file-form-defmumble, byte-compile)
5148         (byte-compile-file-form-defalias, display-call-tree): Use it.
5150         * lisp/files.el: Don't message when nothing happened
5151         (save-some-buffers, basic-save-buffer): Before messaging to say
5152         "nothing was saved" check if (called-interactively-p 'any).
5154 2015-04-12  João Távora  <joaotavora@gmail.com>
5156         Summary: Improve sexp-based movement in message-mode
5157         Works by giving citations and smileys a different syntax.  This helps
5158         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
5159         sexp-based movement.
5160         * lisp/gnus/message.el (message--syntax-propertize): New function.
5161         (message-mode): Set syntax-related vars.
5162         (message-smileys): New variable.
5163         * test/automated/message-mode-tests.el: New file
5165 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5167         Use bool for boolean in window.c
5168         * src/window.c: Omit unnecessary static function decls.
5169         (adjust_window_count, select_window, Fselect_window)
5170         (window_body_width, Fwindow_body_height, Fwindow_body_width)
5171         (set_window_hscroll, check_window_containing, Fwindow_at)
5172         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
5173         (unshow_buffer, replace_window, recombine_windows)
5174         (add_window_to_list, candidate_window_p, next_window)
5175         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
5176         (Fget_buffer_window, Fdelete_other_windows_internal)
5177         (replace_buffer_in_windows_safely, set_window_buffer)
5178         (Fset_window_buffer, Fforce_window_update)
5179         (temp_output_buffer_show, make_parent_window)
5180         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
5181         (resize_frame_windows, Fsplit_window_internal)
5182         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
5183         (Fresize_mini_window_internal, mark_window_cursors_off)
5184         (window_scroll, window_scroll_pixel_based)
5185         (window_scroll_line_based, scroll_command, Fscroll_other_window)
5186         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
5187         (Fmove_to_window_line, Fset_window_configuration)
5188         (delete_all_child_windows, apply_window_adjustment)
5189         (set_window_fringes, set_window_scroll_bars)
5190         (Fset_window_vscroll, foreach_window, foreach_window_1)
5191         (compare_window_configurations, Fcompare_window_configurations):
5192         Prefer 'bool', 'true', and 'false' for booleans.
5193         * src/window.h (WINDOW_MODE_LINE_LINES)
5194         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
5196 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
5198         Speed up byte-compilation and autoload generation by avoiding mode-hooks
5199         This prevents emacs-lisp-mode-hook from being run everytime an
5200         autoload file is generated, which can account for a fraction of
5201         package installation time depending on the hooks the user has
5202         configured.
5203         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
5204         * lisp/emacs-lisp/autoload.el (autoload-find-file)
5205         (autoload-find-generated-file): Use delay-mode-hooks.
5207         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
5208         (package-menu-refresh): Respect async and do new package checking.
5209         (list-packages): Use `package-menu-refresh' instead of repeating code.
5211         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
5212         (package--quick-help-keys): New variable.
5213         (package--prettify-quick-help-key): New function.
5214         (package-menu-quick-help): Use it.
5216         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
5217         (package--build-compatibility-table): require finder
5219         * test/automated/package-test.el: Fix new test
5221         * lisp/emacs-lisp/package.el: Silence async operations
5222         (package--silence): New variable.
5223         (package--message): New function.
5224         (package-import-keyring, package-refresh-contents)
5225         (package-compute-transaction, package-install, package-delete)
5226         (package-menu--perform-transaction, package-menu-execute): Use it.
5228         * test/automated/package-test.el: Test async functionality
5229         (package-test-update-archives-async): New test
5231 2015-04-11  Daiki Ueno  <ueno@gnu.org>
5233         Utilize `make-process' in epg.el
5234         * lisp/epg.el (epg-error-output): Abolish.
5235         (epg-context): New slot `error-buffer'.
5236         (epg--start): Use `make-process' and `make-pipe-process'.
5237         (epg--process-filter): Remove code separating stderr from stdout.
5238         (epg-wait-for-completion): Simplify `error-output' handling.
5239         (epg-reset): Dispose error buffer.
5241 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5243         * .gitignore: Ignore doc temps and outputs.
5245         Port commit-msg to MSYS Bash+Gawk
5246         See Eli Zaretskii in:
5247         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
5248         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
5249         (cent_sign, print_at_sign, at_sign): Revert previous change.
5250         (print_at_sign): Prepend "BEGIN".
5251         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
5253         Port commit-msg to broken MS-Windows shell
5254         * build-aux/git-hooks/commit-msg (cent_sign):
5255         Just use UTF-8 here rather than ASCII + printf, as the latter fails
5256         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
5257         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
5259 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
5261         Support GnuTLS v3.4 and later on MS-Windows
5262         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
5263         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
5264         GnuTLS DLL to load according to value of libgnutls-version.
5265         (Bug#20294)
5267 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5269         Minor quoting etc. fixes to misc manuals
5270         Fix some minor quoting and spacing issues.  Distinguish more
5271         clearly among grave accent and apostrophe (which are ASCII) and
5272         single quote (which is not).  Prefer the standard terms
5273         "apostrophe" and "grave accent" to alternative names that can be
5274         confusing.  Use apostrophes to single-quote ASCII text.
5275         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
5276         rather than approximating it in ASCII with grave accent.
5278 2015-04-11  Daiki Ueno  <ueno@gnu.org>
5280         Respect more keyword args in `make-process'
5281         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
5282         keywords as documented.
5284 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
5286         Extract ChangeLog entries when committing a directory
5287         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
5288         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
5289         Add a FIXME comment.
5290         (log-edit-changelog-entries): Extract from
5291         `log-edit-changelog-entries', handle FILE being a directory
5292         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
5294 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
5296         Fix problems found by --enable-gcc-warnings
5297         * src/process.c (create_process, Fmake_pipe_process)
5298         (Fmake_network_process): Omit unused locals.
5300         Fix commit-msg to handle scissors lines
5301         * build-aux/git-hooks/commit-msg:
5302         Ignore every line after a scissors line, such as a line generated
5303         by 'git commit -v'.  Problem reported by Johan Bockgård in:
5304         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
5306         port commit-msg to Gawk 3.0.4 (1999)
5307         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
5308         (print_at_sign, at_sign): New vars.  Use them to avoid problems
5309         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
5310         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
5312         Have commit-msg report commit failure
5313         * build-aux/git-hooks/commit-msg: If the commit is aborted,
5314         say so.  Simplify by doing this at the end.  Problem reported
5315         by Eli Zaretskii in:
5316         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
5318 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5320         Clean up LDAP Configuration section of EUDC manual
5321         * doc/misc/eudc.texi: Combine indices.
5322         (LDAP Configuration): Use command markup.  Add index entries.
5323         Change formatting.  Wrap long lines.  Add noindent markup.
5325 2015-04-10  Daiki Ueno  <ueno@gnu.org>
5327         Add facility to collect stderr of async subprocess
5328         * src/w32.h (register_aux_fd): New function declaration.
5329         * src/w32.c (register_aux_fd): New function.
5330         * src/process.h (struct Lisp_Process): New member stderrproc.
5331         * src/process.c (PIPECONN_P): New macro.
5332         (PIPECONN1_P): New macro.
5333         (Fdelete_process, Fprocess_status, Fset_process_buffer)
5334         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
5335         (Fcontinue_process): Handle pipe process specially.
5336         (create_process): Respect p->stderrproc.
5337         (Fmake_pipe_process): New function.
5338         (Fmake_process): Add new keyword argument :stderr.
5339         (wait_reading_process_output): Specially handle a pipe process when
5340         it gets an EOF.
5341         (syms_of_process): Register Qpipe and Smake_pipe_process.
5342         * doc/lispref/processes.texi (Asynchronous Processes): Document
5343         `make-pipe-process' and `:stderr' keyword of `make-process'.
5344         * lisp/subr.el (start-process): Suggest to use `make-process' handle
5345         standard error separately.
5346         * test/automated/process-tests.el (process-test-stderr-buffer)
5347         (process-test-stderr-filter): New tests.
5348         * etc/NEWS: Mention new process type `pipe' and its usage with the
5349         `:stderr' keyword of `make-process'.
5351 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
5353         Minor quoting etc. fixes to lispref manual
5354         * doc/lispref/tips.texi (Documentation Tips):
5355         Distinguish more clearly among grave accent, apostrophe,
5356         and single quote.
5357         * doc/lispref/README, doc/lispref/buffers.texi:
5358         * doc/lispref/commands.texi, doc/lispref/control.texi:
5359         * doc/lispref/customize.texi, doc/lispref/display.texi:
5360         * doc/lispref/elisp.texi, doc/lispref/files.texi:
5361         * doc/lispref/frames.texi, doc/lispref/hash.texi:
5362         * doc/lispref/help.texi, doc/lispref/internals.texi:
5363         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
5364         * doc/lispref/markers.texi, doc/lispref/modes.texi:
5365         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
5366         * doc/lispref/os.texi, doc/lispref/positions.texi:
5367         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
5368         * doc/lispref/text.texi, doc/lispref/tips.texi:
5369         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
5370         Use American-style double quoting in ordinary text,
5371         and quote 'like this' when single-quoting in ASCII text.
5372         Also, fix some minor spacing issues.
5374 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
5376         Handle symlinked test directory in tramp-tests.el
5377         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
5378         (tramp--test-check-files): Use `file-truename' for directories.
5380 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
5382         Fix 'recenter' when visual-line-mode is turned on
5383         * src/window.c (Frecenter): Use the same code for GUI and TTY
5384         frames alike; use vmotion only for "initial" frames.  This is
5385         because vmotion doesn't support visual-line-mode.  Rewrite the
5386         'iarg >= 0' case to use move_it_* functions instead of using
5387         vmotion, for the same reason.  Fix the clipping of the argument
5388         value to support scroll-margin in all cases and avoid unwarranted
5389         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
5390         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
5391         which see.
5393 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5395         * abbrev.el (define-abbrev-table): Refine last change.
5397         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
5398         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
5399         use of c[ad]+r", so as to keep the "cl-" prefix on all
5400         cl-lib definitions.
5402         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
5404         * lisp/cedet/semantic: Remove some dead code
5405         * lisp/cedet/semantic/util-modes.el
5406         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
5407         any more.
5408         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
5409         not supported any more.
5410         (semantic-safe): Use `declare'.
5411         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
5412         (semantic-tag-intangible-p): Remove unused functions.
5413         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
5414         Remove unused function.
5416         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
5417         (gnus-article-hide-text, gnus-article-unhide-text)
5418         (gnus-article-unhide-text-type): Remove special handling of
5419         `intangible' since that property is not used any more.
5420         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
5422 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
5424         Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
5426 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
5428         Use the VC root in `log-edit-listfun'
5429         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
5430         `log-edit-listfun'.
5432 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
5434         Fix description of Unix time, mention new function.
5435         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
5436         Unix time.
5437         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
5438         (Basic Operations on Units): Mention `calc-convert-exact-units'.
5440 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
5442         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
5444 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
5446         (log-edit-insert-changelog-entries): Don't add newline after the last entry
5447         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
5448         Don't add newline after the last entry.
5450 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
5452         css-mode.el: Add "not" pseudo-class
5453         (Bug#20267)
5454         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
5455         list of CSS pseudo-classes.
5457 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5459         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
5461 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
5463         Stop messing with the EMACS env var
5464         * misc.texi (Interactive Shell): Remove description of EMACS env var.
5466 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5468         Adapt 'make change-history' to coding cookie
5469         * Makefile.in (change-history): Adjust to change of format of
5470         ChangeLog file, which now has a coding cookie before an indented
5471         copyright notice.
5473 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5475         Adapt 'make change-history' to coding cookie
5476         * Makefile.in (change-history): Adjust to change of format of
5477         ChangeLog file, which now has a coding cookie before an indented
5478         copyright notice.
5480         gitlog-to-changelog coding cookie and mv -i
5481         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
5482         for copyright notice prototype, so that we get a proper "coding:"
5483         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
5484         existing ChangeLog.  Problems reported by Eli Zaretskii in:
5485         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
5487         Merge from gnulib
5488         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
5489         2015-04-09 gitlog-to-changelog: port to MS-Windows
5491 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
5493         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
5494         (Bug#20212)
5496 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5498         Stop messing with the EMACS env var
5499         (Bug#20202)
5500         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
5501         * lisp/comint.el (comint-exec-1):
5502         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
5503         * lisp/progmodes/compile.el (compilation-start): Same and bring
5504         INSIDE_EMACS's format in line with other users.
5506         css-mode.el (css-smie-rules): Fix indentation after complex selectors
5507         (Bug#20282)
5508         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
5509         inner structure of selectors.
5511 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5513         python.el: Indent docstring lines to base-indent
5514         (Bug#19595)
5515         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
5516         an initial patch.
5517         * lisp/progmodes/python.el
5518         (python-indent-context): Add :inside-docstring context.
5519         (python-indent--calculate-indentation): Handle :inside-docstring.
5520         (python-indent-region): Re-indent docstrings.
5521         * test/automated/python-tests.el (python-indent-region-5)
5522         (python-indent-inside-string-2): Fix tests.
5524         python.el: Increase native completion robustness
5525         (Bug#19755)
5526         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
5527         this and providing useful ideas.
5528         * lisp/progmodes/python.el
5529         (python-shell-completion-native-output-timeout): Increase value.
5530         (python-shell-completion-native-try-output-timeout): New var.
5531         (python-shell-completion-native-try): Use it.
5532         (python-shell-completion-native-setup): New readline setup avoids
5533         polluting current context, ensures output when no-completions are
5534         available and includes output end marker.
5535         (python-shell-completion-native-get-completions): Trigger with one
5536         tab only.  Call accept-process-output until output end is found or
5537         python-shell-completion-native-output-timeout is exceeded.
5539 2015-04-08  Samer Masterson  <samer@samertm.com>
5541         * lisp/eshell: Make backslash a no-op in front of normal chars
5542         (Bug#8531)
5543         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
5544         (eshell-parse-backslash): Return escaped character after backslash
5545         if it is special.  Otherwise, if the backslash is not in a quoted
5546         string, ignore the backslash and return the character after; if
5547         the backslash is in a quoted string, return the backslash and the
5548         character after.
5549         * test/automated/eshell.el (eshell-test/escape-nonspecial)
5550         (eshell-test/escape-nonspecial-unicode)
5551         (eshell-test/escape-nonspecial-quoted)
5552         (eshell-test/escape-special-quoted): Add tests for new
5553         `eshell-parse-backslash' behavior.
5555 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
5557         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
5558         after the file name.
5559         (Bug#20276)
5561 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
5563         Minor quoting etc. fixes to Emacs manual
5564         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
5565         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
5566         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
5567         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
5568         * doc/emacs/indent.texi, doc/emacs/macos.texi:
5569         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
5570         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
5571         * doc/emacs/search.texi, doc/emacs/trouble.texi:
5572         * doc/emacs/vc1-xtra.texi:
5573         Use American-style double quoting in ordinary text,
5574         and quote 'like this' when single-quoting in ASCII text.
5575         Also, fix some minor spacing issues.
5577         Minor quoting etc. fixes to elisp intro
5578         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
5579         American-style double quoting in ordinary text.  In ASCII text,
5580         consistently quote 'like this' instead of `like this', unless
5581         Emacs requires the latter.
5583 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
5585         * CONTRIBUTE: Mention log-edit-insert-changelog.
5587         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
5589 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
5591         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
5593 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5595         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
5596         (Bug#20270)
5597         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
5598         Fix inheritance of initargs.
5600 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
5602         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
5603         while dowloading information.
5605         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
5606         (package--ensure-init-file): Check file contents before visiting.
5607         (package-initialize): Call it.
5608         (package-install-from-buffer, package-install): Don't call it.
5610 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
5612         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
5613         (Bug#17517)
5615 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
5617         Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
5619         Fix nasty scoping bug in tramp-cache.el
5620         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
5622 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
5624         Add notice to visual commands section
5625         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
5626         such as git call less with its -F option which omits pagination if
5627         the contents is less than one page long.  This interferes with
5628         eshell's visual (sub-)commands.
5630 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
5632         ffap: Support environment variable expansion in file names
5633         (Bug#19839)
5634         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
5635         environment variable expansion in file names.
5637 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
5639         Prefer double-quote to accent-grave in man pages
5641 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
5643         (Bug#20257)
5644         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
5646 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
5648         Update etc/PROBLEMS.
5649         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
5650         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
5651         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
5652         respectively); other minor updates and tweaks.  (Bug#20011)
5654 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
5656         Add doc strings for some Isearch state vars
5657         * lisp/misearch.el (multi-isearch-buffer-list)
5658         (multi-isearch-file-list): Add doc strings.
5659         (Bug#20232)
5661 2015-04-07  Alan Mackenzie  <acm@muc.de>
5663         Always mark "<" and ">" in #include directives with text properties.
5664         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
5665         matcher" with an invocation of c-make-font-lock-search-function to allow
5666         fontification when there's no trailing space on an "#include <..>" line.
5668 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
5670         Generate a ChangeLog file from commit logs
5671         * .gitignore: Add 'ChangeLog'.
5672         * build-aux/gitlog-to-changelog: New file, from Gnulib.
5673         * build-aux/gitlog-to-emacslog: New file.
5674         * CONTRIBUTE: Document the revised workflow.
5675         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
5676         instead of just special cases.
5677         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
5678         (ChangeLog, unchanged-history-files, change-history)
5679         (change-history-commit): New rules.
5680         * admin/admin.el (make-manuals-dist--1):
5681         Don't worry about doc/ChangeLog.
5682         * admin/authors.el: Add a FIXME.
5683         * admin/make-tarball.txt:
5684         * lisp/calendar/icalendar.el:
5685         * lisp/gnus/deuglify.el:
5686         * lisp/obsolete/gulp.el:
5687         * lwlib/README:
5688         Adjust to renamed ChangeLog history files.
5689         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
5690         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
5691         Remove obsolete discussion of merging ChangeLog files.
5692         New section "Maintaining ChangeLog history".
5693         * build-aux/git-hooks/pre-commit:
5694         Reject attempts to commit files named 'ChangeLog'.
5695         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
5696         * make-dist: Make and distribute top-level ChangeLog if there's a
5697         .git directory.  Distribute the new ChangeLog history files
5698         instead of scattered ChangeLog files.  Distribute the new files
5699         gitlog-to-changelog and gitlog-to-emacslog.
5700         (Bug#19113)
5702         Rename ChangeLogs for gitlog-to-changelog
5703         This patch was implemented via the following shell commands:
5704         find * -name ChangeLog |
5705         sed 's,.*,git mv & &.1,
5706         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
5707         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
5708         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
5709         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
5710         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
5711         sh
5712         git commit -am"[this commit message]"
5714 This file records repository revisions from
5715 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
5716 commit 325bf192ae281046834884b12705d6c522871b24 (inclusive).
5717 See ChangeLog.1 for earlier changes.
5719 ;; Local Variables:
5720 ;; coding: utf-8
5721 ;; End:
5723   Copyright (C) 2015 Free Software Foundation, Inc.
5725   This file is part of GNU Emacs.
5727   GNU Emacs is free software: you can redistribute it and/or modify
5728   it under the terms of the GNU General Public License as published by
5729   the Free Software Foundation, either version 3 of the License, or
5730   (at your option) any later version.
5732   GNU Emacs is distributed in the hope that it will be useful,
5733   but WITHOUT ANY WARRANTY; without even the implied warranty of
5734   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5735   GNU General Public License for more details.
5737   You should have received a copy of the GNU General Public License
5738   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.