* lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
[emacs.git] / ChangeLog.2
blobb3a5a85885e15d5a9d3e2385ce7e5acf4a3b59f3
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-05-30  Dmitry Gutov  <dgutov@yandex.ru>
681         Make sure there's no explicit tag name
682         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
683         there's no explicit tag name (bug#20629).
685 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
687         Remove format2
688         * src/editfns.c, src/lisp.h (format2): Remove.
689         It is more trouble than it's worth, now that we have CALLN.
690         This is just a minor refactoring.
691         * src/buffer.c (Fkill_buffer):
692         * src/dbusbind.c (XD_OBJECT_TO_STRING):
693         * src/fileio.c (barf_or_query_if_file_exists):
694         Adjust to format2 going away.
696         Don't misencode C-generated messages
697         Also, be more consistent about calls to 'Fmessage' vs 'message'.
698         * src/alloc.c (Fgc_status):
699         Prefer AUTO_STRING to build_string for Fmessage call.
700         * src/data.c (Fmake_variable_buffer_local)
701         (Fmake_local_variable, Fmake_variable_frame_local):
702         * src/doc.c (store_function_docstring):
703         Use Fmessage, not message, since the argument can contain
704         non-ASCII characters, and this can cause the resulting message
705         to be incorrectly encoded for the current environment.
706         * src/fns.c (maybe_resize_hash_table):
707         * src/xselect.c (x_clipboard_manager_save_all):
708         Use message, not Fmessage, since Fmessage's power isn't needed here.
709         * src/process.c (Fmake_network_process): Reword message to avoid %s.
710         * src/xdisp.c (vmessage): Document restrictions on message contents.
711         (message_nolog) [false]: Remove unused code.
713         Use \r rather than ^M in string literals
714         This is less likely to cause problems on platforms that
715         use CRLF (or CR!) termination for lines.
717         Update .gitattributes to match current sources
718         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
719         * .gitattributes: Accommodate tests that insist on DOS format.
720         Remove test/automated/data/decompress/foo-gzipped.
721         Add etc/e/eterm-color.
723 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
725         Document 'face-ignored-fonts'
726         * doc/emacs/mule.texi (Modifying Fontsets): Document
727         face-ignored-fonts.  (Bug#20628)
729         Add etags test for the new -Q option
730         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
731         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
732         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
733         test-case changes below.
734         * test/etags/ETAGS.good_6: New file.
735         * test/etags/cp-src/x.cc: New file.
736         * test/etags/Makefile (CPSRC): Add x.cc.
737         (check): Add one more test, for -Q.
739 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
741         Use list for the tags completion table, not obarray
742         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
743         list instead of an obarray
744         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
745         (tags-completion-table): Combine those lists.
746         (tags-completion-table): Update the docstring.
748 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
750         Restore EOL format testing in etags
751         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
752         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
753         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
754         test-case changes below.
755         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
756         * test/etags/cp-src/c.C (B): Add back stray CR character.
757         * test/etags/c-src/dostorture.c: Add back.
758         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
760 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
762         Declare Emacs on MS-Windows to be DPI-aware
763         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
764         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
765         This avoids Windows entering compatibility mode for Emacs,
766         which causes fonts to look less nice.
768 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
770         Improve Tramp traces.
771         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
772         * lisp/net/tramp.el (tramp-debug-message): Use it.
774 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
776         backup-buffer minor reworking of internals
777         * lisp/files.el (backup-buffer): Rework to avoid a couple of
778         unused locals inadvertently introduced in the previous change.
780         backup-buffer now reports .emacs.d/%backup% ills
781         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
782         fails due to disk space exhaustion or whatever, do not pretend
783         that it succeeded.  More generally, do a better job of checking
784         for I/O failures, and limit the scope of the condition-case to
785         just the operations where file errors should be caught and ignored
786         (Bug#20595).  Also, don't bother trying to delete later backups if
787         an earlier deletion fails, as this is a sign of trouble and it's
788         better to stop when there's trouble.
790         copy-file now truncates output after writing
791         * src/fileio.c (Fcopy_file): Truncate output after writing rather
792         than before.  This is more likely to work than truncation before
793         writing, if the file system is out of space or the user is over
794         disk quota (Bug#20595).  Also, check for read errors.
796 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
798         * lisp/emacs-lisp/package.el: Don't load from parent dir
799         (package-load-all-descriptors): Don't load descriptors from
800         directories above the package directories.
802 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
804         Merge from gnulib
805         This incorporates the following (Bug#20681):
806         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
807         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
808         * lib/set-permissions.c: Copy from gnulib.
810 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
812         Improve Tramp traces.
813         * lisp/net/tramp.el (tramp-call-process-region): New defun.
814         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
816 2015-05-29  Glenn Morris  <rgm@gnu.org>
818         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
820 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
822         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
823         The signature was changed in the cairo branch, merged on 2015-05-23.
824         This oversight broke compiling only the non-toolkit X version.
826 2015-05-29  Samer Masterson  <samer@samertm.com>
828         * doc/lispref/os.texi: Update initial-buffer-choice docs.
830 2015-05-29  Glenn Morris  <rgm@gnu.org>
832         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
833         Mark as an expected failure.
835 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
837         Change package test to look for curved quotes
838         * test/automated/package-test.el (package-test-describe-package)
839         (package-test-signed): Search for curved single quotes as well as
840         for grave accent and apostrophe.
842 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
844         gnus-art.el: Re-revert last change
845         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
846         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
848 2015-05-28  Samer Masterson  <samer@samertm.com>
850         Show files when `initial-buffer-choice' is non-nil
851         * startup.el (command-line-1): When Emacs is given a file as an
852         argument and `initial-buffer-choice' is non-nil, display both the file
853         and `initial-buffer-choice'.  For more than one file, show
854         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
855         commands out of the command line arg parser.
856         (initial-buffer-choice): Clarify docstring.
858 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
860         Fix last commit
861         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
862         (gnulib module qcopy-acl): Add back, as it is harmless.  This
863         minimizes differences wrt lib/gnulib.mk.
865         Fix the MS-Windows build as followup to gnulib update
866         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
867         set-permissions.c, as they don't compile on MinGW.
868         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
870 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
872         Revert my change to gnus-art.el
873         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
874         It wasn't that important, and it caused a Gnus build to fail.  See:
875         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
877         New minor mode Electric Quote
878         This lets you easily insert quotes ‘like this’ by typing
879         quotes `like this', and similarly you can easily insert
880         quotes “like this” by typing quotes ``like this'' (Bug#20545).
881         * doc/emacs/basic.texi (Inserting Text):
882         * doc/emacs/modes.texi (Minor Modes):
883         * etc/NEWS: Document it.
884         * doc/emacs/text.texi (Quotation Marks): New section.
885         * lisp/electric.el (electric-quote-comment)
886         (electric-quote-string, electric-quote-paragraph):
887         New custom vars.
888         (electric--insertable-p)
889         (electric-quote-post-self-insert-function): New functions.
890         (electric-quote-mode, electric-quote-local-mode): New minor modes.
891         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
892         Add curved single quotes to electric-pair-text-pairs.
893         Set electric-quote-string in this buffer.
895         A few more doc string fixes (Bug#20385)
897         Accept curved quotes in doc strings
898         * lisp/info-look.el (info-lookup-guess-custom-symbol):
899         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
901         Generate curved quotes in pseudo-info nodes
902         * lisp/info.el (Info-virtual-index-find-node)
903         (Info-virtual-index, Info-apropos-find-node, info-apropos):
904         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
906         Fix minor quoting problems in doc strings
907         Most of these fixes involve escaping grave accents that are
908         actually intended to be grave accents, not left quotes.
909         (Bug#20385)
911         Support curved quotes in doc strings
912         Emacs's traditional doc string style has been to quote symbols
913         `like this'.  This worked well on now-obsolete terminals where
914         ` and ' were symmetric quotes, but nowadays curved quotes
915         ‘like this’ look better.  Support quoting the new way too.
916         (Bug#20385)
917         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
918         ‘like-this’ as well as `like-this'.
919         * etc/NEWS: Mention this.
920         * lisp/cedet/mode-local.el (overload-docstring-extension)
921         (mode-local-print-binding, mode-local-describe-bindings-2):
922         * lisp/cus-theme.el (describe-theme-1):
923         * lisp/descr-text.el (describe-text-properties-1, describe-char):
924         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
925         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
926         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
927         (eieio-help-constructor):
928         * lisp/emacs-lisp/package.el (describe-package-1):
929         * lisp/faces.el (describe-face):
930         * lisp/help-fns.el (help-fns--key-bindings)
931         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
932         (help-fns--interactive-only, describe-function-1):
933         (describe-variable):
934         * lisp/help.el (describe-mode):
935         * lisp/international/mule-cmds.el (describe-input-method)
936         (describe-language-environment):
937         * lisp/international/mule-diag.el (describe-character-set)
938         (print-coding-system-briefly, list-input-methods)
939         (list-input-methods-1):
940         Insert curved quotes rather than grave accent and apostrophe.
941         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
942         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
943         (checkdoc-proper-noun-region-engine):
944         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
945         (lisp-cl-font-lock-keywords-2):
946         * lisp/finder.el (finder-font-lock-keywords):
947         * lisp/gnus/gnus-art.el (gnus-button-alist):
948         * lisp/help-fns.el (help-do-arg-highlight)
949         (describe-function-1, describe-variable):
950         * lisp/help-mode.el (help-xref-symbol-regexp)
951         (help-xref-info-regexp, help-xref-url-regexp):
952         * lisp/help.el (describe-mode):
953         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
954         * lisp/wid-edit.el (widget-documentation-link-regexp):
955         Parse symbols quoted ‘like-this’ as well as `like-this'.
956         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
957         Add "‘" and "’" to electric-pair-text-pairs.
958         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
959         (elisp-completion-at-point, elisp--preceding-sexp):
960         Also treat "‘" and "’" as quoting chars.
962         substitute-command-keys now curves quotes
963         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
964         * doc/lispref/help.texi (Keys in Documentation):
965         * etc/NEWS: Document this.
966         * src/doc.c (Fsubstitute_command_keys): Implement it.
968 2015-05-28  Glenn Morris  <rgm@gnu.org>
970         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
971         (rmail-summary-by-topic, rmail-summary-by-senders):
972         No longer strip leading/trailing whitespace.
974         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
975         (f90-no-block-limit): Add "enum".  (Bug#20680)
976         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
977         New tests.
979 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
981         * lisp/isearch.el (isearch--current-buffer): Give a default value.
983         Un-revert changes mistakenly dropped by f9fabb2b
985 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
987         Merge from gnulib
988         This incorporates:
989         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
990         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
991         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
992         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
993         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
994         2015-05-26 stdio: fix probe on mingw under gcc 5.1
995         * admin/merge-gnulib (GNULIB_MODULES):
996         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
997         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
998         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
999         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
1000         Get latest versions from gnulib.
1001         * lib/get-permissions.c, lib/set-permissions.c: New files.
1002         * lib/gnulib.mk, m4/gnulib-comp.m4:
1003         Regenerate.
1004         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
1006 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
1008         Delete the old process in vc-setup-buffer
1009         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
1010         process here.
1011         (vc-do-command): Rather than here (bug#20608).
1013 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
1015         Avoid gratuitous delete-dups in face-at-point.
1016         * lisp/faces.el (face-at-point): Do not compute the properly
1017         ordered, duplicate-free list if only a single value is
1018         requested anyway.  (Bug#20519)
1020         Show the exact C-x 8 RET invocation in describe-char.
1021         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
1022         invocation instead of a template.  (Bug#20522)
1024 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
1026         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
1027         (package-menu--post-refresh): Call `tabulated-list-print' with the
1028         UPDATE argument.  This only affects the refresh action, the revert
1029         action still erases tags.
1030         (package-menu-get-status): Change `assq' to `assoc'.
1031         (package-menu--mark-upgrades-1): New function.
1032         (package-menu--mark-upgrades-pending): New variable.
1033         (package-menu-mark-upgrades): Use them to delay marking until
1034         after refresh is done.
1035         (package-menu--post-refresh): Call mark-upgrades-1 if
1036         mark-upgrades-pending is non-nil.
1038 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
1040         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
1042 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
1044         * lisp/isearch.el (isearch--current-buffer): New var
1045         (isearch-update): Set cursor-sensor-inhibit here.
1046         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
1048         Change inhibit-point-motion-hooks to t
1049         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
1050         to t and document it as obsolete.
1052 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
1054         Support ZIP files that use Zip64 extensions
1055         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
1056         format of central directory offsets used by Zip64 extensions.
1057         (Bug#20665)
1059 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
1061         New test tramp-test30-make-auto-save-file-name
1062         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
1063         (tramp-test31-special-characters)
1064         (tramp-test31-special-characters-with-stat)
1065         (tramp-test31-special-characters-with-perl)
1066         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
1067         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
1068         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
1069         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
1071         Improve tramp-handle-make-auto-save-file-name
1072         * tramp.el (tramp-auto-save-directory): Add :tags.
1073         (tramp-handle-make-auto-save-file-name): Let native
1074         `make-auto-save-file-name' use `auto-save-file-name-transforms',
1075         if `tramp-auto-save-directory' is not set.
1077 2015-05-27  Glenn Morris  <rgm@gnu.org>
1079         No longer set dired-directory in eshell.  (Bug#16477)
1080         * lisp/eshell/esh-mode.el (eshell-mode):
1081         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
1083         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
1085         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
1086         * lisp/progmodes/cc-mode.el (c-mode-help-address):
1087         Change to submit@debbugs.
1088         (c-mode-bug-package): New constant.
1089         (mail-position-on-field): Declare.
1090         (c-submit-bug-report): Insert X-Debbugs-Package header.
1091         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
1092         Mention debbugs.gnu.org.
1094 2015-05-26  Glenn Morris  <rgm@gnu.org>
1096         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
1097         (rmail-summary-by-recipients, rmail-summary-by-topic)
1098         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
1099         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
1101 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
1103         Handle curved quotes in info files
1104         * lisp/calc/calc-help.el (calc-describe-thing):
1105         * lisp/info.el (Info-find-index-name)
1106         (Info-try-follow-nearest-node, Info-fontify-node):
1107         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
1108         In info files, process quotes ‘like this’ the same way we process
1109         quotes `like this'.  This catches a few places we missed earlier.
1111 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
1113         xref-prompt-for-identifier: Use a list value
1114         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
1115         value, to be interpreted as a list of commands.
1116         (xref--prompt-p): New function.
1117         (xref--read-identifier): Use it.
1119 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
1121         Teach MS-Windows font back-end return per-glyph ascent/descent
1122         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
1123         values.
1124         * src/w32font.c (w32font_text_extents): Compute, cache, and
1125         accumulate per-glyph ascent and descent values, instead of copying
1126         global values from the font.  If the values are not available from
1127         the font data, i.e., non-TTF fonts, fall back on font-global values.
1128         (compute_metrics): Compute and return per-glyph ascent and descent
1129         values, if returned by GetGlyphOutlineW, falling back on
1130         font-global values.  (Bug#20628)
1131         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
1132         height of rectangle to be drawn, to be compatible with
1133         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
1134         box, when per-glyph ascent/descent values are used.
1136 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1138         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
1139         (tabulated-list-print): Don't sort if sorter is nil
1141 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
1143         Fix Bug#20621
1144         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
1145         are major modes which set `auto-save-mode' on their own rules;
1146         Tramp shall not overwrite such settings.
1147         (Bug#20621)
1149 2015-05-26  Glenn Morris  <rgm@gnu.org>
1151         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
1152         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
1153         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
1154         Doc updates.
1155         (vc-dir-mode): Remove unnecessary autoload.
1157 2015-05-25  Philipp Stephani  <phst@google.com>
1159         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
1160         (xterm--extra-capabilities-type): Add `getSelection'.
1161         (xterm--query): Add `no-async' argument.
1162         (xterm--init-activate-get-selection): New function.
1163         (terminal-init-xterm): Use it.
1164         (xterm--init-modify-other-keys): Rename from
1165         terminal-init-xterm-modify-other-keys.
1166         (xterm--init-bracketed-paste-mode): Rename from
1167         terminal-init-xterm-bracketed-paste-mode.
1168         (xterm--init-activate-set-selection): Rename from
1169         terminal-init-xterm-activate-set-selection.
1170         (xterm--selection-char): New function.
1171         (gui-backend-set-selection): Use it.  Use the &context to only apply
1172         this method in terminals where we enabled the feature.
1173         (gui-backend-get-selection): New method.
1175 2015-05-25  Daniel Colascione  <dancol@dancol.org>
1177         Add C-language keyword constants to C++
1178         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
1179         keyword constants to C++.
1181 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
1183         Make TAGS files more portable to MS-Windows
1184         * etc/NEWS: Document this.
1185         * lib-src/etags.c (readline_internal) [DOS_NT]:
1186         Don't treat CRs differently from GNUish hosts.
1187         * lisp/progmodes/etags.el (etags-goto-tag-location):
1188         Adjust STARTPOS to account for the skipped CRs in dos-style files.
1190 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
1192         Improve fix of debbugs:20634 in tramp-sh.el
1194 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
1196         Fix a typo in last commit
1197         * lib-src/etags.c (C_entries): Fix a typo.
1198         * test/etags/ETAGS.good_1:
1199         * test/etags/ETAGS.good_2:
1200         * test/etags/ETAGS.good_3:
1201         * test/etags/ETAGS.good_4:
1202         * test/etags/ETAGS.good_5:
1203         * test/etags/CTAGS.good: Update due to the change in etags.c.
1205         Fix tagging of class members in C-like OO languages
1206         * lib-src/etags.c (longopts): Add new option --class-qualify and
1207         its shorthand -Q.
1208         (print_help): Add help text for --class-qualify.
1209         (main): Add handling of -Q.
1210         (consider_token, C_entries) <omethodparm>: Append argument types
1211         to Objective C methods only if --class-qualify was specified.
1212         Qualify C++, Objective C, and Java class members with their class
1213         names only if --class-qualify was specified.
1214         (C_entries): If --class-qualify was not specified, remove the
1215         namespace and class qualifiers from tag names of C++ methods.
1216         This allows to use etags.el as xref back-end without the
1217         tag-symbol-match-p method, which greatly increases the number of
1218         potentially false positives.  (Bug#20629)
1219         * doc/man/etags.1: Update to document the new --class-qualify
1220         option.
1221         * test/etags/ETAGS.good_1:
1222         * test/etags/ETAGS.good_2:
1223         * test/etags/ETAGS.good_3:
1224         * test/etags/ETAGS.good_4:
1225         * test/etags/ETAGS.good_5:
1226         * test/etags/CTAGS.good: Update due to changes in etags.c.
1228 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1230         (cl-generic-define-method): Side effects are evil (bug#20644)
1231         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
1232         cons-cells that might be used as keys in an `equal' hash-table.
1234 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1236         Make erc timestamps visible again
1237         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
1238         timestamps visible again (if requested).
1240 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
1242         Fix last change in etags.c that broke tagging compresed files
1243         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
1244         quoting of decompression shell command for MS-Windows/MS-DOS.
1246 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1248         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
1249         (Bug#20639)
1251 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
1253         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
1255 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
1257         Fix IPv6 addresses in Tramp
1258         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
1259         Add sqare brackets around host name.
1261 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
1263         Inhibit `epa-file-handler' in Tramp
1264         (Bug#20634)
1265         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
1266         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
1267         `epa-file-handler'.
1269 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1271         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
1272         (pcase-let): Document the behavior in case the pattern doesn't match.
1274 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1276         * lisp/emacs-lisp/tabulated-list.el: New optional print method
1277         (tabulated-list-print): New optional argument, UPDATE.  If
1278         non-nil, the list is printed by only adding and deleting the
1279         changed entries, instead of erasing the whole buffer.  This method
1280         is much faster when few or no entries have changed.
1281         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
1282         * etc/NEWS: Document it.
1284         * lisp/emacs-lisp/tabulated-list.el: Improve printing
1285         (tabulated-list--get-sorter): New function.
1286         (tabulated-list-print): Restore window-line when remember-pos is
1287         passed and optimize away the `nreverse'.
1289 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
1291         Simpilify etags TEX mode scanning
1292         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
1293         Remove static vars.
1294         (TeX_commands): Deduce escapes here instead.
1295         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
1296         This removes the need for a reset_input call.
1298         Improve etags I/O error reporting
1299         * lib-src/etags.c:
1300         Don't include sys/types.h and sys/stat.h; no longer needed.
1301         (infilename): New static var.
1302         (process_file_name): Don't call 'stat'.  Instead, just open the
1303         file for reading and report any errors.  Don't bother making
1304         a copy of the file argument; it's not needed.  Be more careful to
1305         use the failing errno when reporting an error.
1306         Quote the real name better (though no perfectly)
1307         when passing it to the shell.
1308         (reset_input): New function, which reports I/O errors.
1309         All uses of 'rewind' changed to use this function.
1310         (perhaps_more_input): New function, which also checks for
1311         I/O errors.  All uses of 'feof' changed to use this function.
1312         (analyze_regex): Report an error if fclose fails.
1313         (readline_internal): Report an error if getc fails.
1314         (etags_mktmp): Return an error if close fails.
1316         etags.c: avoid side effects in 'if'
1317         * lib-src/etags.c (process_file_name, Perl_functions)
1318         (TEX_decode_env): Hoist side effects into previous statement.
1320         .gitignore tweaks
1321         * .gitignore: Ignore all *.stamp files.  Sort.
1322         Ignore [0-9]*.txt (commonly used name for git patches)
1323         and /vc-dwim-log-* (vc-dwim temporary).
1325 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
1327         Fix last change in etags.c, which failed the test suite
1328         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
1329         before the last change.
1331 2015-05-23  Glenn Morris  <rgm@gnu.org>
1333         Remove charset map files from repository, generate in first bootstrap
1334         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
1335         (all): Create the stamp file.
1336         (extraclean): Delete the stamp file.
1337         * src/Makefile.in (lispintdir, charsets): New variables.
1338         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
1339         New rules.
1340         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
1341         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
1342         * etc/charsets/*.map: Remove from repository.
1344 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1346         Cleanup etags.c to use locale-independent code
1347         Although this doesn't alter behavior (as etags doesn't use
1348         setlocale), the new version is more clearly locale-independent and
1349         the executable is a bit smaller on my platform.
1350         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
1351         Include <c-ctype.h> instead of <ctype.h>.
1352         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
1353         (begtk, midtk):
1354         Remove; no longer needed.
1355         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
1356         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
1357         c_islower, c_tolower, respectively.
1358         (notinname, begtoken, intoken, endtoken): Rewrite as functions
1359         instead of macros, and initialize the tables at compile-time
1360         rather than at run-time.
1362         Put default action first in src/Makefile
1363         * src/Makefile.in (all): Put this rule before lisp.mk.
1364         That way, plain 'make' works in the src directory again.
1366 2015-05-23  Glenn Morris  <rgm@gnu.org>
1368         * Makefile.in: Fix extraclean rule.
1369         (extraclean_dirs): New.
1370         (extraclean): Use it.
1372 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
1374         Avoid compiler warning in image.c on MS-Windows
1375         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
1376         warning in image.c.
1378 2015-05-23  Glenn Morris  <rgm@gnu.org>
1380         Fix --without-toolkit-scroll-bars builds.
1381         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
1382         Add new argument to x_clear_area1.
1383         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1384         Update x_clear_area arguments.
1386         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
1387         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
1388         Change to included version.
1389         (LOCAL, local, totalclean): Remove.
1390         (extraclean): Delete all generated files.
1392 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1394         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
1396         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
1398         tags-completion-at-point-function: Don't trust the find-tag function
1399         * lisp/progmodes/etags.el (tags-completion-at-point-function):
1400         Don't trust the find-tag function.
1402 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1404         Pacify --enable-gcc-warnings
1405         * src/frame.h (x_query_color): Remove redundant extern decl.
1406         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
1407         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
1408         (ftcrfont_text_extents, ftcrfont_draw):
1409         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
1410         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
1411         (x_ins_del_lines, frame_highlight, frame_unhighlight)
1412         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
1413         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
1414         (x_update_window_begin, x_connection_closed)
1415         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
1416         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
1417         (*x_gc_get_ext_data, x_extension_initialize)
1418         (x_cr_accumulate_data):
1419         Remove redundant static decl.  Many of these GCC doesn't complain
1420         about, but we might as well clean out the duplication while we're
1421         in the neighborhood.
1422         * src/xterm.c (x_fill_trapezoid_for_relief):
1423         Remove decl of nonexistent function.
1425 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1427         Replace gui-method macros with cl-generic with &context
1428         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
1429         (gui-method-declare, gui-call): Remove.
1430         (frame-creation-function): Use cl-defgeneric.
1431         (make-frame): Adjust callers.
1432         * lisp/menu-bar.el (menu-bar-edit-menu):
1433         Use gui-backend-selection-exists-p.
1434         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
1435         (gui-backend-get-selection): New cl-generic to replace
1436         gui-get-selection method.
1437         (gui-backend-set-selection): New cl-generic to replace
1438         gui-set-selection method.
1439         (gui-selection-owner-p): New cl-generic to replace
1440         gui-selection-owner-p method.
1441         (gui-backend-selection-exists-p): New cl-generic to replace
1442         gui-selection-exists-p method.  Adjust all callers.
1443         * lisp/server.el (server-create-window-system-frame): Don't ignore
1444         window-system spec even when unsupported.
1445         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
1446         * lisp/startup.el (handle-args-function, window-system-initialization):
1447         Use cl-defgeneric.
1448         (command-line): Adjust calls accordingly.
1449         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
1450         a window-system-initialization method.
1451         (handle-args-function, frame-creation-function): Use cl-defmethod.
1452         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
1453         (gui-get-selection): Use cl-defmethod on the new functions instead.
1454         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
1455         a gui-backend-get-selection method.
1456         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
1457         Use cl-defmethod on the new functions instead.
1458         (msdos-window-system-initialization): Turn into
1459         a window-system-initialization method.
1460         (frame-creation-function, handle-args-function): Use cl-defmethod.
1461         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
1462         a window-system-initialization method.
1463         (handle-args-function, frame-creation-function): Use cl-defmethod.
1464         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
1465         (gui-get-selection): Use cl-defmethod on the new functions instead.
1466         * lisp/term/x-win.el (x-window-system-initialization): Turn into
1467         a window-system-initialization method.
1468         (handle-args-function, frame-creation-function): Use cl-defmethod.
1469         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
1470         (gui-get-selection): Use cl-defmethod on the new functions instead.
1471         * lisp/term/xterm.el (xterm--set-selection): Turn into
1472         a gui-backend-set-selection method.
1473         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
1474         (Fns_selection_owner_p): Remove unused arg `terminal'.
1475         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
1477 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
1479         Revert "Fix etags Bug#20629 that broke C++ support."
1480         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
1482 2015-05-23  Jan D  <jan.h.d@swipnet.se>
1484         Fix etags Bug#20629 that broke C++ support.
1485         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
1486         from Sun May 10 (Bug#20629).
1488         Merge branch 'cairo'.
1489         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
1490         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
1492         Merge branch 'master' into cairo
1494         Fixes to compile cairo branch without cairo.
1495         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
1496         first argument.
1497         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
1498         USE_CAIRO.
1500 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
1502         * lisp/emacs-lisp/package.el: Always update selected-packages
1503         (package--update-selected-packages): New function.
1504         (package-menu-execute): Use it before starting the transaction,
1505         this way the list of selected packages is updated even when the
1506         transaction fails.
1507         (package-menu--perform-transaction): Don't edit selected-packages.
1509 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
1511         Fix etags reading of compressed files
1512         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
1513         Include fcntl.h, for O_CLOEXEC.
1514         (process_file_name): Don't use 'popen', whose streams cannot be
1515         rewound.  Instead, uncompress the file to a temporary file,
1516         created by 'etags_mktmp', and read from that as usual.
1517         (etags_mktmp): New function.
1518         * test/etags/ETAGS.good_1:
1519         * test/etags/ETAGS.good_2:
1520         * test/etags/ETAGS.good_3:
1521         * test/etags/ETAGS.good_4:
1522         * test/etags/ETAGS.good_5: Update to be consistent with latest
1523         changes in etags.c regarding reading compressed files.
1525         Improve documentation of 'set-fontset-font'
1526         * doc/lispref/display.texi (Fontsets): Document the value of nil
1527         for the 3rd argument of 'set-fontset-font'.
1529         Fix documentation of forward-line
1530         * src/cmds.c (Fforward_line): Clarify the return value if the line
1531         at end of accessible portion of the buffer has no newline.
1532         * doc/lispref/positions.texi (Text Lines): Document what happens
1533         if the line at end of accessible portion of buffer has no newline.
1534         (Bug#20587)
1536 2015-05-22  Glenn Morris  <rgm@gnu.org>
1538         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
1540         * admin/charsets/mapconv (LC_ALL): Set to C.
1542         * Makefile.in: Add admin/charsets into top-level clean rules.
1543         (clean): Add admin/charsets.
1544         (maybeclean_dirs): New variable.
1545         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
1547         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
1549 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
1551         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
1553 2015-05-22  Glenn Morris  <rgm@gnu.org>
1555         Generate admin/charsets Makefile via configure, and make more portable.
1556         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
1557         (admin/charsets/Makefile): Generate it.
1558         * admin/charsets/Makefile.in: Rename from Makefile.
1559         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
1560         New variables, set by configure.
1561         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
1562         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
1563         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
1564         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
1565         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
1566         (all): Declare PHONY.
1567         (local): New PHONY target.
1568         (map_template): New template.  Use to define short PHONY aliases.
1569         (*.map): Add directory prefixes to targets and prerequisites.
1570         Respect make verbosity.
1571         (JISC6226.map): Replace non-portable sed append without newline.
1572         (install): Remove rule.
1573         (clean): Only delete temporary sedscript.
1574         (bootstrap-clean, distclean, maintainer-clean, extraclean)
1575         (totalclean): New PHONY rules.
1576         * admin/charsets/mapconv (BASE): Replace basename with expr.
1577         (FILE): Add "mapfiles" subdirectory.
1578         (AWK): New variable.  Use throughout in place of "awk".
1579         (main): Use "gunzip -c" in place of "zcat".
1580         Don't leave whitespace before "p", for older sed.
1581         * admin/charsets/mapfiles/PTCP154: Add final newline,
1582         to make older sed versions happy.
1584 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
1586         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
1587         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
1588         (auto-revert-notify-watch-descriptor): Use defvar-local.
1589         (find-file-hook, auto-revert-tail-mode, )
1590         (auto-revert-notify-add-watch): Use setq-local.
1591         (auto-revert-notify-add-watch): Don't call make-local-variable on
1592         kill-buffer-hook (bug#20601).
1594 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1596         Change defgeneric so it doesn't completely redefine the function
1597         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
1598         previously defined methods.
1599         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
1600         (cl--generic-prefill-dispatchers): Only define during compilation.
1601         (cl-method-qualifiers): Remove redundant alias.
1602         (help-fns-short-filename): Silence byte-compiler.
1603         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
1605 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
1607         (package-menu-execute): Remove reference to remove-dups
1609 2015-05-21  kwhite  <kwhite@gnu.org>
1611         * lisp/erc/erc.el: Hide network/channel messages
1612         (erc-network-hide-list, etc-channel-hide-list): New lists to define
1613         message types per network/channel.
1614         (erc-add-targets): New function to parse list of targets
1615         (erc-hide-current-message-p): Modified to check for new targets
1617 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1619         Don't quote nil and t in doc strings
1620         This is as per "Tips for Documentation Strings" in the elisp manual.
1621         For consistency, do the same in diagnostics and comments.
1623 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
1625         Fix a minor problem with mouse-face on mode line
1626         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
1627         mouse face also if the mouse pointer hovers above mode-line glyphs
1628         that don't come from any Lisp string.  (Bug#20620)
1630 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
1632         * lisp/emacs-lisp/package.el: Fix selected-package logic
1633         (package-menu-execute): Mark as selected all non-upgrade packages
1634         being installed.
1635         (package-menu--perform-transaction): Don't mark anything.
1637         * lisp/emacs-lisp/package.el: Mode-line progress report
1638         (package-menu--transaction-status): New variable.
1639         (package-menu-mode, package-menu--perform-transaction): Use it.
1641         * lisp/emacs-lisp/package.el: Better transaction messages
1642         (package-menu--partition-transaction): New function.
1643         (package-menu--prompt-transaction-p, package-menu-execute): Use
1644         it.
1645         (package-menu--perform-transaction): Don't do any messaging.
1647         * lisp/emacs-lisp/package.el: Revert async package transactions
1648         (package-menu-async): Update doc.
1649         (package-install-from-archive, package-download-transaction)
1650         (package-install, package-menu--perform-transaction)
1651         (package-menu-execute): Remove asynchronous functionality.
1653 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1655         Revert doc string changes to f90.el
1656         Problem reported by Glenn Morris in:
1657         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
1658         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
1659         Revert recent changes to doc strings, as it's intended that they
1660         use grave accent, not quote.
1662 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
1664         Improve parameter name
1666         Add new inline function `hash-table-empty-p'
1668 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
1670         Don't require help-fns when not needed
1671         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
1672         * lisp/emacs-lisp/elint.el:
1673         Don't require help-fns at the top level.
1674         * lisp/emacs-lisp/advice.el (ad-arglist):
1675         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
1676         Don't require help-fns.  (Bug#17001)
1678 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
1680         Fix slash collapsing in etags on MS-Windows
1681         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
1682         MS-Windows code from the Posix code, and support collapsing both
1683         forward- and back-slashes on MS-Windows.  Fixes a regression found
1684         by the test suite.
1686         Improve documentation of glyphless-char-display
1687         * doc/lispref/display.texi (Glyphless Chars): Improve
1688         documentation of glyphless character display.
1690         Fix "acronym" display of glyphless characters on w32
1691         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
1692         ignore "acronym" substitutes of 1 character for glyphless characters.
1694 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
1696         Add an automated test for let-when-compile
1697         * test/automated/subr-tests.el (let-when-compile): New test.
1699         Add let-when-compile macro instead of using pcase-let
1700         * lisp/subr.el (let-when-compile): New let-like macro that makes its
1701         bindings known to macros like `eval-when-compile' in the body.
1702         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
1703           `let-when-compile'. Also comment out the unused lexical var
1704           `el-kws-re'.
1705         The change greatly improves readability, while providing almost the
1706         same (even shorter) byte code: instead of pre-evaluating 10 variables,
1707         tossing them into a list, and destructuring that list a full screen
1708         page later, the variables are simply bound as they are evaluated,
1709         wrapped individually in `eval-when-compile'.
1711 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
1713         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
1714         (package-delete-button-action): New function.
1715         (describe-package-1): Add Delete button.
1717         * lisp/emacs-lisp/package.el: Better dependency description
1718         (package--used-elsewhere-p): New optional arg, ALL, and return
1719         package-desc objects instead of names.
1720         (package-delete): Update accordingly.
1721         (describe-package-1): Describe which packages require the package.
1723 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
1725         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
1726         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
1727         Fix doc-string (Bug#20533).
1729         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
1730         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
1731         (switch-to-buffer): If the selected window is strongly dedicated
1732         to its buffer, signal error before prompting for buffer name.  Handle
1733         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
1734         * doc/lispref/windows.texi (Switching Buffers): Document
1735         `switch-to-buffer-in-dedicated-window'.
1737 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1739         Prefer "this" to “this” in doc strings
1740         This mostly just straightens quotes introduced in my previous patch.
1741         Suggested by Dmitry Gutov in:
1742         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
1743         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
1744         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
1745         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
1746         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
1747         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
1748         Prefer straight double quotes to curved double quotes in doc strings.
1750         Fix minor quoting problems in doc strings
1751         These were glitches regardless of how or whether we tackle the
1752         problem of grave accent in doc strings.
1753         * lisp/calc/calc-aent.el (math-restore-placeholders):
1754         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
1755         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
1756         * lisp/leim/quail/hebrew.el ("hebrew-new")
1757         ("hebrew-biblical-sil"):
1758         * lisp/leim/quail/thai.el ("thai-kesmanee"):
1759         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
1760         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
1761         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
1762         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
1763         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
1764         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
1765         (semantic-tag-components):
1766         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
1767         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
1768         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
1769         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
1770         * lisp/emacs-lisp/generator.el (iter-next):
1771         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
1772         (gnus-article-mode-syntax-table):
1773         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
1774         * lisp/net/soap-client.el (soap-wsdl-get):
1775         * lisp/net/telnet.el (telnet-mode):
1776         * lisp/org/org-compat.el (org-number-sequence):
1777         * lisp/org/org.el (org-remove-highlights-with-change)
1778         (org-structure-template-alist):
1779         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
1780         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
1781         (handwrite-12pt, handwrite-13pt):
1782         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
1783         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
1784         * lisp/progmodes/verilog-mode.el (verilog-tool)
1785         (verilog-string-replace-matches, verilog-preprocess)
1786         (verilog-auto-insert-lisp, verilog-auto-insert-last):
1787         * lisp/textmodes/makeinfo.el (makeinfo-options):
1788         * src/font.c (Ffont_spec):
1789         Fix minor quoting problems in doc strings, e.g., missing quote,
1790         ``x'' where `x' was meant, etc.
1791         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
1792         Fix minor quoting problem in other string.
1793         * lisp/leim/quail/ethiopic.el ("ethiopic"):
1794         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
1795         Omit unnecessary quotes.
1796         * lisp/faces.el (set-face-attribute, set-face-underline)
1797         (set-face-inverse-video, x-create-frame-with-faces):
1798         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
1799         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
1800         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
1801         * lisp/net/tramp.el (tramp-methods):
1802         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
1803         * lisp/textmodes/artist.el (artist-ellipse-right-char)
1804         (artist-ellipse-left-char, artist-vaporize-fuzziness)
1805         (artist-spray-chars, artist-mode, artist-replace-string)
1806         (artist-put-pixel, artist-text-see-thru):
1807         * lisp/vc/ediff-util.el (ediff-submit-report):
1808         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
1809         Use double-quotes rather than TeX markup in doc strings.
1810         * lisp/skeleton.el (skeleton-pair-insert-maybe):
1811         Reword to avoid the need for grave accent and apostrophe.
1812         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
1813         Don't use grave and acute accents to quote.
1815 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
1817         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
1819 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1821         Try to port new etags tests to MS-Windows
1822         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
1823         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
1824         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
1825         Adjust to test-case changes below.
1826         * test/etags/Makefile (CSRC): Remove dostorture.c.
1827         Whatever it was trying to test, wasn't working portably.
1828         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
1829         just a line-ending problem.
1830         * test/etags/c-src/dostorture.c: Remove.
1831         * test/etags/cp-src/c.C: Remove stray CR.
1832         * test/etags/html-src/algrthms.html: Remove trailing CRs.
1833         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
1834         but if someone edits it later it should stay UTF-8-compatible.
1836 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
1838         Fix display of overlapping window-specific overlays
1839         * src/keyboard.c (adjust_point_for_property): When adjusting point
1840         due to display strings, ignore overlays that are specific to
1841         windows other than the currently selected one.
1842         * src/xdisp.c (handle_single_display_spec): If the display
1843         property comes from an overlay, arrange for buffer iteration to
1844         resume only after the end of that overlay.  (Bug#20607)
1846 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
1848         New command icomplete-force-complete-and-exit
1849         * lisp/icomplete.el (icomplete-force-complete-and-exit):
1850         New command
1851         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
1852         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
1853         (icomplete-minibuffer-map): Bind C-j to it.
1854         (icomplete-forward-completions, icomplete-backward-completions):
1855         Mention the new command in the docstring.
1856         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
1857         the previous fix for bug#17545.
1859 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
1861         Fix last commit
1863         In Elisp manual explain how to override window manager positioning (Bug#20552)
1864         * doc/lispref/frames.texi (Position Parameters): Give example of
1865         how to override a window manager positioning decision.
1867         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
1868         * src/frame.c (Fdelete_frame): In doc-string mention that frame
1869         can't be deleted if it has a surrogate minibuffer.
1870         * doc/lispref/frames.texi (Minibuffers and Frames)
1871         (Deleting Frames): Explain "surrogate minibuffer frames".
1873         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
1874         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
1876 2015-05-18  Glenn Morris  <rgm@gnu.org>
1878         Add option to ignore commit lines matching a pattern in ChangeLog.
1879         * build-aux/gitlog-to-changelog: Add --ignore-line option.
1880         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
1882 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1884         Don't skip new etags tests on non-UTF-8 hosts
1885         Problem reported by Eli Zaretskii for MS-Windows.
1886         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
1887         (LC_ALL): Set to C if the current locale isn't UTF-8.
1888         (.PHONY): Remove ediff_1 thru ediff_5.
1889         (check): Always run.
1891 2015-05-18  Glenn Morris  <rgm@gnu.org>
1893         * lisp/calculator.el (calculator-funcall):
1894         * lisp/textmodes/artist.el (artist-spray-random-points):
1895         Use standard degree/radian conversion utilities.
1897         Further lisp-complete-symbol related cleanup.
1898         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
1899         Unadvertise non-functional argument.  Replace obsolete alias.
1901 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
1903         Add a test case for Maven warning ouput
1904         * test/automated/compile-tests.el
1905         (compile-tests--test-regexps-data): Add a case for Maven warning
1906         ouput.
1907         (compile--test-error-line): Check the compilation message type, if
1908         it's specified in the test data.
1910 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
1912         Update Maven compilation-mode entry to distinguish warnings
1913         * lisp/progmodes/compile.el
1914         (compilation-error-regexp-alist-alist): Update Maven entry to
1915         distinguish warnings (bug#20556).
1917 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
1919         * test/automated/sgml-mode-tests.el: New file.
1921 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
1923         Improve handling of the first Git revision
1924         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
1925         there's no next entry, delete until the end of the buffer.
1926         (log-view-end-of-defun-1): Stop at eob.
1927         * lisp/vc/vc-annotate.el
1928         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
1929         when previous-revision is nil.
1930         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
1931         with `--' to avoid ambiguity.
1932         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
1933         returned revision string.
1934         (vc-git-annotate-time): Expect `^' before the first revision.
1935         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
1936         REV1 is nil, and REV2 is not.
1937         * lisp/vc/vc.el: Update the description of the `diff' function.
1939 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
1941         Allow checkdoc to be called in batch
1942         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
1943           is non-nil, echo the error with `warn'.
1944         How it can be used in -batch:
1945         (with-current-buffer (find-file "checkdoc.el")
1946           (checkdoc-current-buffer t))
1948 2015-05-18  Glenn Morris  <rgm@gnu.org>
1950         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
1952 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1954         * admin/notes/unicode: New section "binary files".
1956         Change new etags test to use UTF-8 encoding
1957         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
1958         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
1959         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
1960         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
1961         * test/etags/html-src/softwarelibero.html:
1962         Switch to UTF-8 encoding.
1963         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
1964         Remove Makefile, as it's too incestuous to have the test input
1965         include the build procedure.
1966         (UTF8_LOCALE, UTF_ENCODING): New macros.
1967         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
1968         (check): Skip if not UTF-8.
1969         (.PHONY): New rule.
1970         (FRC): Remove, as superseded by .PHONY.  All uses removed.
1971         (regexfile): Prefer printf to echo when outputting oddball chars.
1972         (.PRECIOUS): Remove, as these files are not built.
1974         Rename 'foo-gzipped' to 'foo.gz'
1975         * test/automated/data/decompress/foo.gz:
1976         Rename from test/automated/data/decompress/foo-gzipped,
1977         to make it easier for other tools to tell that it's compressed.
1978         * test/automated/zlib-tests.el (zlib--decompress):
1979         Adjust to renamed file.
1981 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
1983         Set up default-directory
1984         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
1985         binding for `v'.
1986         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
1987         appropriate value for default-directory.
1989 2015-05-17  Samer Masterson  <samer@samertm.com>
1991         * lisp/eshell/em-term.el (eshell-term-sentinel):
1992         No-op by default, only kills term buffer if
1993         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
1994         (eshell-destroy-buffer-when-process-dies): New custom to preserve
1995         previous behavior.
1997         eshell: Introduce new buffer syntax
1998         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
1999         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
2000         needed (Bug#19319).
2001         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
2002         (eshell-get-target): Remove shorthand-specific code.
2003         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
2004         '#<buffer-name>'.
2006 2015-05-17  Jan D  <jan.h.d@swipnet.se>
2008         Merge branch 'master' into cairo
2010 2015-04-26  Jan D  <jan.h.d@swipnet.se>
2012         Merge branch 'master' into cairo
2014         Add PBM support for cairo.
2015         * src/image.c (xcolor_to_argb32): New function.
2016         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
2017         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
2018         XImagePtr if ! USE_CAIRO.
2019         (pbm_load): Add cairo support.
2021 2015-04-12  Jan D  <jan.h.d@swipnet.se>
2023         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
2024         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
2025         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
2026         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
2027         x_free_cr_resources.
2029         Handle specified bg in images.  Use generic libpng code for PNG:s.
2030         * src/image.c (get_spec_bg_or_alpha_as_argb)
2031         (create_cairo_image_surface): New functions when USE_CAIRO.
2032         (xpm_load): Call the above functions.  Handle XPM without mask
2033         when USE_CAIRO.
2034         (png_load_body): Handle USE_CAIRO case.
2035         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
2036         instead.
2037         (jpeg_load_body): Call create_cairo_image_surface.
2038         (gif_load, svg_load_image): Handle specified background, call
2039         create_cairo_image_surface.
2040         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
2042 2015-04-11  Jan D  <jan.h.d@swipnet.se>
2044         Support GIF and Tiff with cairo.
2045         * configure.ac: Allow jpeg with cairo.
2046         Allow tiff and gif with cairo.
2047         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
2048         (tiff_load): Create cairo image surface if USE_CAIRO.
2049         (gif_load): Ditto.
2051         Support JPEG with USE_CAIRO.
2052         * configure.ac: Allow jpeg with cairo.
2053         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
2055 2015-04-05  Jan D  <jan.h.d@swipnet.se>
2057         Support RSVG and cairo.
2058         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
2059         * src/dispextern.h (struct image): add cr_data2 if cairo.
2060         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
2061         (x_clear_image): Free cr_data and cr_data2 if set.
2062         (xpm_load): Assign data to cr_data2.
2063         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
2065 2015-04-03  Jan D  <jan.h.d@swipnet.se>
2067         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
2068         * configure.ac (HAVE_RSVG): Move after cairo.
2069         (USE_CAIRO): Disable rsvg, don't disable Xpm.
2070         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
2071         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
2072         don't return early.
2073         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
2074         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
2075         and create a surface.
2077         Tool tips for menus did not show any text.
2078         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
2079         tip frames, the geometry may be wrong.
2081         Merge branch 'master' into cairo, fixes tooltips not shown.
2083         Merge branch 'master' into cairo
2085         Add CAIRO_CFLAGS to lwlib/Makefile.in
2086         * Makefile.in (CAIRO_CFLAGS): Add.
2088 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2090         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
2092 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2094         Draw outermost line using black relief and erase corners also for cairo.
2095         * xterm.c [USE_CAIRO]: Include math.h.
2096         (enum corners) [USE_CAIRO]: New enum.
2097         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
2098         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
2099         than 1, draw the outermost line using the black relief.
2101         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
2103 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2105         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
2107         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
2109         Use int instead of unsigned int for width and height args.
2110         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
2111         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
2112         width and height args.
2114         Modernize k&r cairo-related function declarations.
2115         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
2116         (xg_print_frames_dialog): Modernize k&r declarations.
2117         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
2118         (Fx_print_frames_dialog): Modernize k&r declarations.
2119         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
2120         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
2121         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
2122         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
2123         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
2124         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2125         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
2126         (x_clear_area): Modernize k&r declarations.
2128         Implement wave-style variant of underlining for cairo.
2129         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
2130         (x_draw_underwave) [USE_CAIRO]: Use it.
2132         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
2134 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2136         Fix fringe bitmap initialization for cairo.
2137         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
2138         cairo image surface.
2139         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
2141 2015-02-11  Jan D  <jan.h.d@swipnet.se>
2143         Add cairo drawing.
2144         * configure.ac (with-cairo): New option.
2145         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
2146         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
2147         Output "Does Emacs use cairo?".
2148         * lisp/version.el (emacs-version): Add cairo version.
2149         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
2150         (FONT_OBJ): Add comment about ftcrfont.
2151         (ALL_CFLAGS): Add CAIRO_CFLAGS.
2152         (LIBES): Add CAIRO_LIBS.
2153         * src/dispextern.h (struct image): Add cr_data for cairo.
2154         (x_cr_init_fringe): Declare.
2155         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
2156         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
2157         * src/fringe.c (x_cr_init_fringe): New function name that shares code
2158         with w32_init_fringe.
2159         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
2160         * src/ftfont.c (ftfont_info_size); New global variable.
2161         (ftfont_open2): New extern function almost the same as old ftfont_open,
2162         but takes the font_object as argument.
2163         (ftfont_open): Build font object and call ftfont_open2.
2164         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
2165         * src/gtkutil.c (xg_clear_under_internal_border)
2166         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
2167         queue_draw if not cairo.  Change args to x_clear_area.
2168         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
2169         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
2170         (xg_print_frames_dialog): New functions for printing.
2171         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
2172         (xg_print_frames_dialog): Declare.
2173         * src/image.c: Add defined (USE_CAIRO) for PNG.
2174         Add !defined USE_CAIRO for W32 PNG code.
2175         (x_clear_image): If cairo, destroy the surface in cr_data.
2176         (png_load): Add new cairo compatible implementation.
2177         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
2178         * src/xfns.c: New section Printing.
2179         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
2180         (x-print-frames-dialog): New printing functions.
2181         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
2182         cairo.
2183         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
2184         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
2185         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
2186         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
2187         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
2188         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2189         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
2190         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
2191         Declare.
2192         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
2193         (max_fringe_bmp, fringe_bmp): New variables.
2194         (x_gc_get_ext_data, x_extension_initialize)
2195         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
2196         (x_set_cr_source_with_gc_foreground)
2197         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
2198         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
2199         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
2200         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
2201         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
2202         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
2203         (x_update_begin): Create cairo surface if needed.
2204         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
2205         (x_update_end): Paint cairo drawing surface to xlib surface.
2206         (x_clear_under_internal_border, x_after_update_window_line): Adjust
2207         arguments to x_clear_area.
2208         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
2209         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
2210         of XSetClipMask.
2211         (x_set_glyph_string_clipping)
2212         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
2213         instead of XSetClipRectangles.
2214         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
2215         x_fill_rectangle instead of XFillRectangle.
2216         (x_draw_glyph_string_foreground)
2217         (x_draw_composite_glyph_string_foreground)
2218         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
2219         of XDrawRectangle.
2220         (x_draw_relief_rect): Add code for USE_CAIRO.
2221         Call x_reset_clip_rectangles instead of XSetClipMask.
2222         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
2223         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
2224         instead of XSetClipMask.
2225         (x_draw_image_foreground, x_draw_image_foreground_1):
2226         x_draw_rectangle instead of XDrawRectangle.
2227         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
2228         XFillRectangle.
2229         (x_draw_image_glyph_string): If img has cr_data, use it as
2230         a cairo surface.
2231         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
2232         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
2233         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
2234         x_reset_clip_rectangles instead of XSetClipMask.
2235         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
2236         (x_clear_area1): New function that calls XClearArea.
2237         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
2238         non-cairo.
2239         (x_clear_frame): x_clear_window instead of XClearWindow.
2240         (x_scroll_run): Set frame garbaged if cairo.
2241         (XTmouse_position): Initialize *part to 0.
2242         (x_scroll_bar_create): Adjust arguments to x_clear_area.
2243         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
2244         x_fill_rectangle instead of XFillRectangle.
2245         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
2246         arguments to x_clear_area.
2247         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
2248         (handle_one_xevent): Adjust arguments to x_clear_area.
2249         Destroy cairo surface for frame if ConfigureNotify.
2250         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
2251         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
2252         x_reset_clip_rectangles instead of XSetClipMask.
2253         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
2254         x_reset_clip_rectangles instead of XSetClipMask.
2255         (x_clear_frame_area): Adjust arguments to x_clear_area.
2256         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
2257         (x_term_init): Call x_extension_initialize if cairo.
2258         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
2259         x_cr_destroy_fringe_bitmap for cairo.
2260         (x_initialize): Call x_cr_init_fringe for cairo.
2261         * src/xterm.h: Add include of cairo header files.
2262         (x_bitmap_record): Add img if cairo.
2263         (x_gc_ext_data): New struct for cairo.
2264         (x_display_info): Add ext_codes for cairo.
2265         (x_output): Add cr_context and cr_surface for cairo.
2266         (x_clear_area): Change arguments from Display*/Window to frame pointer.
2267         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
2268         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
2269         (x_cr_draw_frame, x_cr_export_frames): Declare.
2271 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
2273         Fix integer-valued `mouse-highlight' (Bug#20590)
2274         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
2276 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
2278         MS-Windows followup for ASCIIfication of curved quotes
2279         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
2280         test for curved quotes being displayable, after switching the
2281         terminal encoding.  (Bug#20545)
2283 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
2285         Spelling fixes
2287 2015-05-17  Jan D  <jan.h.d@swipnet.se>
2289         Add comment that x_shift_glyphs_for_insert is never called.
2290         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
2291         comment that this function is never called.
2293 2015-05-16  Glenn Morris  <rgm@gnu.org>
2295         * src/lisp.mk: Remove from repository and generate at build-time.
2296         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
2297         (shortlisp_filter): New variable.
2298         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
2299         (distclean): Remove lisp.mk.
2300         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
2301         * lisp/loadup.el: Tweak layout to make it easier to parse.
2302         * make-dist: Do not distribute src/lisp.mk.
2304 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
2306         Display shorter dates in Git annotate output
2307         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
2308         format (when not overridden with vc-git-annotate-switches).
2309         (vc-git-annotate-time): Support the short format, as well as ISO
2310         8601 that has been used until now (bug#5428).
2312 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2314         ASCIIfy curved quotes on displays lacking them
2315         * lisp/international/mule-cmds.el (set-locale-environment):
2316         If curved quotes don't work, display straight ASCII approximations
2317         (Bug#20545).
2319 2015-05-16  Glenn Morris  <rgm@gnu.org>
2321         Small src/Makefile simplification.
2322         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
2323         * src/Makefile.in (lisp): Derive from shortlisp.
2324         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
2326 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
2328         * lisp/help-mode.el (help-go-forward): Doc fix.
2329         (Bug#20577)
2331         * doc/lispref/debugging.texi (Profiling): Improve indexing.
2332         (Bug#20576)
2334 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
2336         Use `unless' to have one fewer `not'
2337         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
2338         have one fewer `not'.
2340         Remove redundant :group declarations from vc-git.el
2341         * lisp/vc/vc-git.el (vc-git-diff-switches)
2342         (vc-git-annotate-switches, vc-git-resolve-conflicts)
2343         (vc-git-program, vc-git-root-log-format): Remove the redundant
2344         :group declarations.
2346 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
2348         Removes the predicate from lisp-complete-symbol (Bug#20456)
2349         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
2350         and remove it from the docstring.
2352 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
2354         Add new option vc-git-resolve-conflicts
2355         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
2356         (vc-git-find-file-hook): Add to after-save-hook only when the
2357         above is non-nil.
2358         (vc-git-resolve-when-done): Update to honor the new variable.
2359         (Bug#20292)
2361 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2363         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
2364         (tabulated-list-init-header): Document new behavior.
2365         (tabulated-list-print-fake-header): No nothing if
2366         `tabulated-list--header-string' is nil.
2367         (tabulated-list--header-string): Add a docstring.
2368         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
2369         * etc/NEWS: Document it.
2371 2015-05-15  Leo Liu  <sdl.web@gmail.com>
2373         Revert "Fix cps--gensym"
2374         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
2375           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
2377 2015-05-15  Glenn Morris  <rgm@gnu.org>
2379         Replace AC_SUBST_FILE in configure with include in Makefiles.
2380         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
2381         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
2382         (AUTO_DEPEND): New output variable.
2383         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
2384         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
2385         (lwlib_deps_frag): Replace by conditional include.
2386         * lwlib/autodeps.mk: Remove file.
2387         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
2388         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
2389         (oldxmenu_deps_frag): Replace by conditional include.
2390         * oldXMenu/autodeps.mk: Remove file.
2391         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
2392         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
2393         (lisp_frag): Replace by an include.
2394         (deps_frag): Replace by conditional include.
2395         * src/autodeps.mk: Remove file.
2397         Tweak japanese.el's loading of dependencies.
2398         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
2399         * lisp/language/japanese.el: Use require rather than load.
2400         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
2401         Provide a feature.
2402         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
2403         Provide a feature in the generated file.
2405 2015-05-15  Jan D  <jan.h.d@swipnet.se>
2407         Fix NS warnings.
2408         * nsmenu.m (ns_popup_dialog)
2409         * nsimage.m (initFromXBM:width:height:fg:bg:)
2410         * nsfns.m (Fx_create_frame): Remove unused variables.
2411         (Fns_read_file_name): Initialize fname, remove ret.
2412         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
2413         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
2414         variable.
2415         (init): Add parantesis in if.
2416         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
2418 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
2420         Fix a enum conversion warning in macfont.m
2421         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
2422         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
2424 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
2426         Support de-alt dictionary with Aspell.
2427         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
2428         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
2430 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
2432         cus-start.el: Add ns-confirm-quit.
2433         * cus-start.el: Add ns-confirm-quit.
2435         Fix warnings on OSX 10.10.
2436         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
2437         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
2438         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
2439         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
2440         * nsimage.m (allocInitFromFile, setPixmapData): Only call
2441         setScalesWhenResized for OSX < 10.6.
2442         * nsterm.h (EmacsScroller): Declare scrollerWidth.
2443         * nsterm.m (ns_copy_bits): New function that does not use deprecated
2444         NSCopyBits.
2445         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
2446         (runAlertPanel): New function.
2447         (applicationShouldTerminate:): Call runAlertPanel.
2448         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
2449         for OSX < 10.10.
2450         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
2451         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
2452         (draggingEntered:): Returns NSDragOperation.
2453         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
2455 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
2457         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
2458         (package--init-file-ensured): New variable.
2459         (package-initialize, package--ensure-init-file): Use it.
2461 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
2463         Honor :fore/background for XBM on NS (Bug#14969).
2464         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
2465         initFromXBM takes bg, fg args, remove flip arg.
2466         (ns_image_from_XBM): Add bg, fg args.
2467         * image.c (x_create_bitmap_from_data)
2468         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
2469         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
2470         Remove flip arg.
2471         (initFromSkipXBM): Move code to initFromXBM.
2472         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
2473         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
2474         false.
2475         Remove bit flipping (bitPat, swt), generated incorrect images when
2476         width/height wasn't a multiple of 8.
2477         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
2478         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
2479         flip arg.
2481 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
2483         * lisp/emacs-lisp/package.el: Be more careful with the init file
2484         (package--ensure-init-file): Check that user-init-file is set,
2485         exists, is readable, and is writable.  (Bug#20584)
2486         Also expand the docstring.
2488 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
2490         Sync with upstream verilog-mode revision 6232468
2491         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
2492         (verilog-highlight-grouping-keywords): Fix use of face when
2493         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
2494         Pompa.
2495         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
2496         parent is reset, bug906. Reported by Ken Schmidt.
2497         (verilog-auto-inout-module): Add fourth regexp argument to
2498         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
2499         bug856. Reported by John Tillema.
2500         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
2501         modport if signal attachment is itself a modport.  Reported by
2502         Matthew Lovell.
2503         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
2504         always_comb and always_latch, bug844.  Reported by Greg Hilton.
2505         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
2506         with many curly-bracket pairs, bug663.
2507         (verilog-set-auto-endcomments): Fix end comments for functions of
2508         type void, etc.  Reported by Alex Reed.
2509         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
2510         caused by indent-line-to deleting tabls pre 24.5.
2511         (verilog-nameable-item-re): Fix nameable items that can have an
2512         end-identifier to include endchecker, endgroup, endprogram,
2513         endproperty, and endsequence.  Reported by Alex Reed.
2514         (verilog-label-be): When auto-commenting a buffer, consider
2515         auto-comments on all known keywords (not just a subset thereof).
2516         Reported by Alex Reed.
2517         (verilog-auto-end-comment-lines-re)
2518         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
2519         Automatically comment property/endproperty blocks to match other
2520         similar blocks like sequence/endsequence, function/endfunction,
2521         etc. Reported by Alex Reed.
2522         (verilog-set-auto-endcomments): Detect the function- or task-name
2523         when auto-commenting blocks that lack an explicit
2524         portlist. Reported by Alex Reed.
2525         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
2526         allow post-AUTO user fixups, bug826. Reported by Dennis
2527         Muhlestein.
2528         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
2529         is nil, fix indenting initial/final to match always statements,
2530         bug825. Reported by Tim Clapp.
2531         (verilog-extended-complete-re): Fix indentation of DPI-C imports
2532         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
2533         Mao and Jason Forkey.
2534         (verilog-read-decls): Fix parsing typed interfaces.  Fix
2535         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
2536         Fix localparam not being ignored in AUTOINSTPARAM,
2537         bug889. Reported by Shannon Hill.
2538         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
2539         bug793.  Reported by Pierre-David Pfister.
2540         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
2541         verilog-auto-arg-format to support newlines in AUTOARG. Reported
2542         by Jie Xiao.
2543         (verilog-batch-execute-func): Do not batch re-auto files loaded by
2544         Local Variables. Fix printing "no changes to be saved" with
2545         verilog-batch. Reported by Dan Dever.
2546         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
2547         interface-only modules, bug721.  Reported by Dean Hoyt.
2548         Author: Alex Reed <acreed4@gmail.com>
2549         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
2550         treat '<keyword>:<identifier>' as the start of a labeled
2551         statement, bug905.  Reported by Enzo Chi.
2552         (verilog-directive-re, verilog-compiler-directives)
2553         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
2554         directives (plus some extras) when determining indentation, bug
2555         901.  Reported by Bernd Beuster.
2556         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
2557         iff expression doesn't start with word-character, bug900.
2558         (verilog-optional-signed-range-re, verilog-optional-signed-re):
2559         Fix incorrect indentation/alignment of unsigned declarations,
2560         bug897.
2561         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
2562         always constructs, bug895.
2563         (verilog-calc-1): Fix verilog-mode constraint indentation,
2564         bug324. Reported by Eric Mastromarchi.
2565         (verilog-beg-of-statement): Fix indenting for some forms of
2566         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
2567         continued assignment incorrect if first line ends with ']',
2568         bug437. Reported by Dan Dever.  Fix indention of cover inside an
2569         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
2570         blocks, bug842.
2571         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
2572         bug859. Reported by Kaushal Modi.
2573         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
2574         (verilog-backward-token): Fix indenting sensitivity lists with
2575         named events, bug840.  Reed.
2576         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
2577         nil not honoring 'forever', 'foreach', and 'do' keywords.
2579 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
2581         Check for invalid GTK+ monitor scales
2582         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
2583         INT_MAX for too-large scales.  All callers changed to assume the
2584         result is valid (Bug#20432).
2585         (xg_frame_set_char_size, xg_update_scrollbar_pos):
2586         Calculate scale only if needed.
2587         show ASCII approximations instead.
2589 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
2591         Fix daemon crashes when linum-mode is turned on early on
2592         * src/window.c (Fwindow_end): Don't try calling display engine
2593         functions on initial-frame frame.  (Bug#20565)
2595         Fix selective diff browsing in Ediff
2596         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
2597         beginning of the region before searching for the
2598         ediff-regexp-focus-* regexps.  (Bug#20568)
2600 2015-05-14  Jan D  <jan.h.d@swipnet.se>
2602         Fixes Bug#20142.
2603         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
2604         in the main loop, even for Gtk 3 (Bug#20142).
2606         Don't access display after i/o error (Bug#19147).
2607         * xterm.c (x_connection_closed): Add third arg ioerror.
2608         If ioerror, set display to 0 (Bug#19147).
2609         (x_error_quitter): Call x_connection_closed with third arg false.
2610         (x_io_error_quitter): Call x_connection_closed with third arg true.
2612         Handle GTK_SCALE, fixes Bug#20432.
2613         * gtkutil.c (xg_get_gdk_scale): New function.
2614         (xg_frame_set_char_size)
2615         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
2616         (xg_get_default_scrollbar_height)
2617         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
2618         when setting sizes (Bug#20432).
2620 2015-05-13  Leo Liu  <sdl.web@gmail.com>
2622         Fix cps--gensym
2623         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
2625 2015-05-13  Glenn Morris  <rgm@gnu.org>
2627         Fix bootstrap (void function cl-member).
2628         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
2629         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
2631 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2633         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
2634         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
2635         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
2636         Avoid defalias for closures which are not immutable.
2637         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
2638         dispatchers table with various entries.
2639         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
2640         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
2642 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
2644         Improve tagging of C bindings in DEFVAR_*
2645         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
2646         from DEFVAR_*.
2648 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
2650         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
2652 2015-05-12  Glenn Morris  <rgm@gnu.org>
2654         * lisp/progmodes/tcl.el (tcl-filter):
2655         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
2657         Add basic VC push support.
2658         * lisp/vc/vc.el (vc-push): New autoloaded command.
2659         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
2660         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
2661         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
2662         (vc-bzr-push): New.
2663         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
2664         (vc-git-pull): Reimplement using vc-git--pushpull.
2665         (vc-git-push): New.
2666         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
2667         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
2668         * doc/emacs/maintaining.texi (Pulling / Pushing):
2669         Rename from "VC Pull".  Mention pushing.
2670         (VC With A Merging VCS, VC Change Log): Update xrefs.
2671         (Branches): Update menu.
2672         * doc/emacs/emacs.texi: Update menu.
2673         * etc/NEWS: Mention this.
2675 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
2677         Improve the seq pcase pattern and the `seq-let' macro
2678         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
2679         object is a sequence, and binds each element of ARGS to the
2680         corresponding element of the sequence.
2682 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
2684         Fix tags created from DEFVAR_* declarations in C
2685         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
2686         to make tags extracted from DEFVAR_* declarations more accurate.
2688         Add a test suite for etags
2689         * test/etags/: New test suite, adapted from
2690         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
2691         whose original author is Francesco Potortì <pot@gnu.org>.
2693         Fix tagging of symbols in C enumerations
2694         * lib-src/etags.c (consider_token): Don't tag symbols in
2695         expressions that assign values to enum constants.  See
2696         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
2697         for details.
2698         (C_entries): Reset fvdef to fvnone after processing a preprocessor
2699         conditional and after a comma outside of parentheses.
2701 2015-05-12  Glenn Morris  <rgm@gnu.org>
2703         * lisp/url/url-handlers.el (url-file-name-completion)
2704         (url-file-name-all-completions): Silence compiler.
2706         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
2708         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
2710 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2712         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
2713         (cl--generic-mandatory-args): Remove.
2714         (cl--generic-split-args): New function.
2715         (cl-generic-define, cl--generic-lambda): Use it.
2716         (cl-generic-define-method): Use it as well, and add support for
2717         context args.
2718         (cl--generic-get-dispatcher): Handle &context dispatch.
2719         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
2720         (cl--generic-dispatchers): Pre-fill.
2721         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
2723 2015-05-11  Glenn Morris  <rgm@gnu.org>
2725         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
2727 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2729         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
2730         * lisp/term/rxvt.el: Require term/xterm.
2731         (rxvt-function-map): Use xterm-rxvt-function-map.
2732         (rxvt-standard-colors): Move before first use.
2733         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
2734         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
2735         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
2736         Move shared bindings between rxvt and xterm to it.
2737         (xterm-function-map): Use it.  Move the xterm-paste binding to
2738         xterm-rxvt-function-map (bug#20444).
2739         (xterm-standard-colors): Move before first use.
2740         (xterm--push-map): New function.
2741         (xterm-register-default-colors): Take standard colors as argument.
2742         (terminal-init-xterm): Use it.  Adjust call to
2743         xterm-register-default-colors.
2745 2015-05-11  Glenn Morris  <rgm@gnu.org>
2747         * lisp/term/x-win.el: Quieten --without-x compilation.
2748         (x-own-selection-internal, x-disown-selection-internal)
2749         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
2750         Declare.
2752         * Makefile.in (emacslog): Remove srcdir.
2753         (ChangeLog): Update for the above.
2755 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
2757         Spelling fix
2759 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2761         python.el: better limit for looking-back calls
2762         * lisp/progmodes/python.el (python-shell-accept-process-output):
2763         Use last comint prompt start as limit for looking-back.
2765 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2767         CEDET (srecode-insert-fcn): Fix use of oref on a class
2768         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
2769         a class.  Reported by Pierre Lorenzon.
2770         (srecode-template-inserter-point): Remove declaration.
2772         CEDET (srecode-create-dictionary): Avoid obsolete object name
2773         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
2774         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
2776 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
2778         C-x 8 shorthands for curved quotes, Euro, etc.
2779         Although C-x 8 lets you insert arbitrary Unicode characters,
2780         it's awkward to use this to insert commonly used symbols such as curved
2781         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
2782         characters commonly found in English text and in basic math.
2783         For example, assuming the Alt key works on your keyboard and iso-transl
2784         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
2785         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
2786         (Bug#20499)
2787         * doc/emacs/mule.texi (Unibyte Mode):
2788         A few other printing characters now work too.
2789         * etc/NEWS: Document this.
2790         * lisp/international/iso-transl.el (iso-transl-char-map):
2791         Also support the following characters:
2792         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
2794 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
2796         Add xref-find-regexp
2797         * lisp/progmodes/xref.el (xref-find-function): Describe the
2798         `matches' action.
2799         (xref-find-regexp): New command, using it.
2800         (xref-collect-references): Rename to xref-collect-matches.
2801         (xref--collect-reference): Rename to xref--collect-match.
2802         (xref-collect-matches, xref--collect-match): Accept new argument,
2803         KIND.  Update accordingly.
2804         (xref--regexp-to-extended): New function.
2805         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
2806         `matches' action.
2807         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
2808         * lisp/progmodes/etags.el (etags-xref-find):
2809         Support the `matches' action.
2810         (etags--xref-find-matches): New function.
2812 2015-05-10  Glenn Morris  <rgm@gnu.org>
2814         * Makefile.in: Fixes for recent change-history changes.
2815         (change-history-nocommit): Update footer regexp.
2816         Ensure output script stays executable.
2818 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
2820         New version of `seq-let' based on a pcase pattern
2821         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
2822         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
2824 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
2826         Add basic HTML5 tags and a template
2827         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
2828         (html-tag-alist): Add HTML5 tags.
2829         (html-tag-help): Add new tags descriptions.
2830         (html-navigational-links): Template for nav links.
2831         (html-html5-template): Template for a HTML5 page.
2833 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
2835         semantic/symref/grep: Don't use word boundaries
2836         * lisp/cedet/semantic/symref/grep.el
2837         (semantic-symref-perform-search): Instead of wrapping input in
2838         word boundaries, check that the characters before and after are
2839         not word constituents.
2841         semantic/symref/grep: Support regexp search
2842         * lisp/cedet/semantic/symref.el
2843         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
2844         the search type is regexp.
2845         * lisp/cedet/semantic/symref/grep.el
2846         (semantic-symref-perform-search): Support the regexp search type.
2847         Pass -E to Grep when it's used.
2849         semantic-symref-regexp: Allow to input an arbitrary string
2850         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
2851         Allow to input an arbitrary string interactively.
2853         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
2854         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
2855         Remove tag-symbol-match-p from the default value
2856         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
2858         Declare find-tag obsolete
2859         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
2860         xref-find-definitions.
2862 2015-05-10  Jan D  <jan.h.d@swipnet.se>
2864         Draw composite string correctly (Bug#20537).
2865         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
2866         (ns_draw_glyph_string): Call it (Bug#20537).
2868 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
2870         Avoid infloop in ERC
2871         * lisp/simple.el (line-move-to-column): Ignore field boundaries
2872         while computing line beginning position.  (Bug#20498)
2874 2015-05-08  Glenn Morris  <rgm@gnu.org>
2876         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
2877         * build-aux/gitlog-to-emacslog: Check called from right directory.
2878         (srcprefix): Remove.
2880         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
2881         * Makefile.in (ChangeLog): No longer pass "distprefix".
2882         * make-dist: Update "make ChangeLog" syntax for the above change.
2884         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
2885         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
2887         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
2889         Add command-line option-parsing to gitlog-to-emacslog.
2890         * build-aux/gitlog-to-emacslog: Add command-line options.
2891         By default, refuse to remove an existing output file.
2892         * Makefile.in (CHANGELOG): Update default.
2893         (ChangeLog): Do not test for existing file.
2894         (change-history-nocommit): Ensure temp file does not exist.
2896         Quieten --without-x compilation.
2897         * lisp/term/common-win.el: Provide a feature.
2898         * lisp/term/x-win.el (term/common-win): Require it.
2900         * lisp/dired-aux.el (dired-do-print): Require lpr.
2902         Quieten compilation, eg in --without-x builds.
2903         * lisp/dired-aux.el (lpr-printer-switch):
2904         * lisp/frame.el (tool-bar-height):
2905         * lisp/linum.el (font-info):
2906         * lisp/window.el (font-info, overflow-newline-into-fringe)
2907         (tool-bar-height):
2908         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
2909         * lisp/gnus/gnus-util.el (iswitchb-mode):
2910         * lisp/mail/rmailmm.el (libxml-parse-html-region):
2911         * lisp/net/nsm.el (gnutls-peer-status)
2912         (gnutls-peer-status-warning-describe):
2913         * lisp/net/shr.el (libxml-parse-xml-region):
2914         * lisp/url/url-http.el (gnutls-peer-status): Declare.
2916 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
2918         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
2919         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
2920         `subclass' since they're never called with a class.
2921         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
2922         srecode-dictionary-child-p.
2924 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2926         help--binding-locus: Document argument POSITION.
2927         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
2929 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
2931         Merge from gnulib.
2932         * doc/misc/texinfo.tex: Get latest version.
2934 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
2936         ffap.el (ffap-read-file-or-url): Fix completing-read call
2937         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
2938           `completing-read' should be a symbol.
2940 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
2942         Verify file modifications by other programs
2943         * src/filelock.c (lock_file): Check whether the file was modified
2944         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
2946         Fix keyboard macros that include function keys
2947         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
2948         keys in the macro before returning.  (Bug#20454)
2950 2015-05-08  Glenn Morris  <rgm@gnu.org>
2952         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
2953         "Copyright-paperwork-exempt".  (Bug#20324)
2955         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
2956         (log-edit-rewrite-tiny-change): New variable.
2957         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
2958         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
2959         * etc/NEWS: Mention this.
2961         * lisp/calc/calc.el (math-zerop): Declare.
2963         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
2965 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2967         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
2968         Support the case when BINDINGS is a single tuple.  (Bug#20525)
2970         * etc/NEWS: Fix typo in commit 14bb519
2972 2015-05-07  Jan D  <jan.h.d@swipnet.se>
2974         Warn for multiple display crash for all Gtk+ versions.
2975         * configure.ac: Warn for multiple display crash for all Gtk+
2976         versions.  Output URL to Gtk+ bug (Bug#20452).
2978         ns-win.el (ns-paste-secondary): Use gui-get-selection.
2979         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
2981 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2983         * lisp/emacs-lisp/package.el: New "external" package status
2984         An external package is any installed package that's not built-in
2985         and not from `package-user-dir', which usually means it's from an
2986         entry in `package-directory-list'.  They are treated much like
2987         built-in packages, in that they cannot be through the Package Menu
2988         deleted and are not considered for upgrades.
2989         (package-desc-status): Identify if a package is installed outside
2990         `package-user-dir'.
2991         (package-menu--print-info-simple)
2992         (package-menu--status-predicate): Add support for it.
2993         * etc/NEWS: Document it.
2995 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2997         * lisp/mail/rmail.el: Use lexical-binding
2998         (rmail-bury): Remove unused var `buffer-to-bury'.
2999         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
3000         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
3001         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
3002         (rmail-insert-inbox-text): Remove unused var `movemail'.
3003         (rmail-add-mbox-headers): Remove unused var `limit'.
3004         (rmail-undelete-previous-message): Remove unused var `value'.
3005         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
3006         `resent-reply-to'.
3007         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
3008         (rmail-restore-desktop-buffer): Rename arguments.
3010 2015-05-06  Glenn Morris  <rgm@gnu.org>
3012         * Makefile.in (change-history-commit): Add missing piece of previous.
3014         Avoid unnecessary bumping of Makefile.in's timestamp.
3015         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
3016         (emacslog): New variable.
3017         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
3018         (unchanged-history-files): Use $emacslog rather than Makefile.in.
3019         (change-history-nocommit): Store hash in $emacslog.
3020         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
3021         * admin/update_autogen (changelog_files): Update for the above.
3023         * Makefile.in: Don't always insist on removing existing "ChangeLog".
3024         (CHANGELOG): New variable.
3025         (no-ChangeLog): Remove.
3026         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
3027         (change-history-nocommit): Use a temp file rather than insisting
3028         on deletion of any existing "ChangeLog".
3030         * build-aux/gitlog-to-emacslog: Allow specification of output.
3032         * admin/update_autogen: Add option to update ChangeLog.
3033         (usage): Mention -H.
3034         (changelog_flag, changelog_n, changelog_files): New variables.
3035         (main): Check for -H, and maybe run change-history-nocommit.
3037 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3039         * lisp/subr.el (delete-dups): Pre-size the hashtable.
3041         (define-modify-macro): Make sure cl--arglist-args is defined
3042         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
3043         cl--arglist-args is defined (bug#20517).
3045 2015-05-06  Glenn Morris  <rgm@gnu.org>
3047         * Makefile.in (change-history-nocommit): New.
3049 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
3051         Only cancel timer when it is non-nil
3052         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
3053         timer when it is non-nil
3054         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
3056 2015-05-06  Glenn Morris  <rgm@gnu.org>
3058         Quieten cedet compilation
3059         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
3060         Invert fboundp test to quieten on current Emacs.
3061         * lisp/cedet/ede/config.el (ede-shell-run-something)
3062         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
3063         (semanticdb-refresh-table): Declare.
3064         (ede-preprocessor-map): Require semantic/db.
3066         Quieten cc-mode compilation
3067         * lisp/progmodes/cc-awk.el (c-forward-sws):
3068         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
3069         Declare.
3071 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
3073         lisp/subr.el (delete-dups): Avoid nreverse.
3075 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
3077         * lisp/subr.el (delete-dups): Make it destructive again.
3079 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3081         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
3083 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3085         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
3086         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
3087         (testcover--read): Rename from testcover-read.  Change calling convention.
3088         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
3089         (testcover-start): Use add-function.  Move edebug-all-defs binding to
3090         testcover--read.
3091         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
3092         (testcover-mark): Remove unused var `item'.
3093         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
3095 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
3097         lisp/subr.el (delete-dups): Use a hash table
3098         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
3099           use a hash table. This can result in ~500 times speed-up for typical
3100           collections of size 5000, like that of `load-library'.
3102 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3104         CEDET: Avoid `oref' on classes in a few more cases
3105         * lisp/cedet/ede/generic.el (ede-find-target):
3106         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
3107         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
3108         var `prefix'.
3110         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
3111         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
3112         (semantic-symref-perform-search): Remove unused var `pat'.
3114         CEDET (srecode-compile-inserter): Avoid `oref' on classes
3115         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
3116         Avoid `oref' on classes (bug#20491).
3117         (srecode-compile-split-code): Remove unused var `key'.
3119 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
3121         Clean up pulse.el a little
3122         * lisp/cedet/pulse.el (pulse): Remove.
3123         (pulse-momentary-timer): Save instead of the stop time.
3124         (pulse-momentary-highlight-overlay): Call
3125         pulse-momentary-unhighlight first thing. Treat
3126         pulse-momentary-overlay as a single value, not a list. Save the
3127         created timer. Only pass the stop time to the timer.
3128         (pulse-tick): Update accordingly.
3129         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
3130         single value. Cancel the timer.
3132 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
3134         Support the biblatex journaltitle field
3135         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
3136         Support the biblatex journaltitle field.
3138 2015-05-05  Glenn Morris  <rgm@gnu.org>
3140         Minor declare-function improvement
3141         * lisp/emacs-lisp/bytecomp.el
3142         (byte-compile-macroexpand-declare-function):
3143         Handle declarations after calls.  (Bug#20509)
3145         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
3147         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
3149 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
3151         Pulse using a timer
3152         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
3153         (pulse-momentary-highlight-overlay): Set up the timer instead of
3154         calling `pulse'
3155         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
3156         (pulse-tick): New function.
3157         (pulse-momentary-unhighlight): Cut off the stop time.
3158         (pulse-delay): Update the docstring WRT to not using sit-for.
3160         Add semantic/symref/grep file patterns for ruby-mode
3161         * lisp/cedet/semantic/symref/grep.el
3162         (semantic-symref-filepattern-alist): Add patterns for
3163         ruby-mode. Clarify the docstring.
3165         Don't require match
3166         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
3167         match. That doesn't work for every command, and some identifier
3168         completion tables are bound to be imperfect anyway.
3170 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
3172         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
3173         (semantic-grammar--template-expand): New function.
3174         (semantic-grammar-header, semantic-grammar-footer): Use it.
3175         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
3176         (semantic-grammar-file-regexp): Refine regexp.
3177         (semantic-grammar-eldoc-get-macro-docstring):
3178         Use elisp-get-fnsym-args-string when available.
3179         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
3180         instead of the old eldoc-* names.
3181         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
3182         from elisp-mode.el.  Tweak calling convention.
3183         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
3184         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
3185         elisp--get-fnsym-args-string.
3186         (elisp--highlight-function-argument): Add `prefix' arg.
3187         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
3188         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
3190 2015-05-05  Glenn Morris  <rgm@gnu.org>
3192         * lisp/help-fns.el (describe-function-1):
3193         Handle builtins with advertised calling conventions.  (Bug#20479)
3195 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
3197         Merge branch 'seq-let'
3199         Update `seq-let' documentation
3200         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
3201         with the support of  `&rest'.
3203         Add support for &rest in `seq-let'
3204         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
3205         in the argument list.
3206         * test/automated/seq-tests.el: Add a test for parsing and binding
3207         `&rest' in `seq-let'.
3209 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3211         Spelling fixes
3213 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
3215         * eieio-custom.el (eieio-object-value-get): Add missing increment
3216         (Bug#20467)
3218         (eieio-object-value-create): Adjust to new slots representation
3219         (Bug#20467)
3220         * eieio-custom.el (eieio-object-value-create):
3221         Fix missed adjustment to new representation of slots metadata.
3223 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
3225         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
3227 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
3229         Work around "Attempt to modify read-only object"
3230         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
3231         elisp--xref-find-definitions, to work around "Attempt to modify
3232         read-only object" error.
3234         Only skip some variables that have function counterparts
3235         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
3236         Only skip minor-mode-named variable if it's defined in a Lisp
3237         file, and it's in minor-mode-list (bug#20506).
3238         * test/automated/elisp-mode-tests.el
3239         (elisp-xref-finds-both-function-and-variable)
3240         (elisp-xref-finds-only-function-for-minor-mode): New tests.
3242 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3244         Buttonize the whole line, including the number at the beginning
3245         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
3246         previous change.
3247         (xref--insert-xrefs): Buttonize the whole line, including the
3248         number at the beginning.
3250         Make sure we're inside the let bindings
3251         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
3252         Make sure we're inside the let bindings.
3253         * test/automated/elisp-mode-tests.el
3254         (elisp-completes-functions-after-let-bindings): New test.
3256 2015-05-04  Glenn Morris  <rgm@gnu.org>
3258         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
3259         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
3260         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
3261         Remove outdated declarations.
3263         Replace instances of "(eval-when-compile (autoload ...))"
3264         * lisp/gnus/gnus-art.el (nneething-get-file-name):
3265         Declare rather than autoload.
3266         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
3267         Remove pointless autoload.
3268         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
3269         (gnus-topic-create-topic, gnus-topic-enter-dribble):
3270         Declare rather than autoload.
3271         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
3272         (mailcap-extension-to-mime): Autoload at run-time.
3273         * lisp/gnus/mm-util.el (latin-unity-massage-name)
3274         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
3275         (latin-unity-representations-present-region):
3276         Declare rather than autoload.
3277         * lisp/gnus/mml-smime.el (epg-make-context)
3278         (epg-passphrase-callback-function): Autoload at run-time.
3279         (epg-context-set-signers, epg-context-result-for)
3280         (epg-new-signature-digest-algorithm)
3281         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
3282         (epg-sign-string, epg-encrypt-string)
3283         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
3284         (epg-configuration, epg-expand-group, epa-select-keys):
3285         Declare rather than autoload.
3286         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
3287         Autoload at run-time.
3288         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
3289         (gnus-registry-get-id-key, gnus-registry-action):
3290         Declare rather than autoload.
3291         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
3292         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
3293         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
3294         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
3295         (spam-stat-split-fancy): Remove pointless autoloads.
3296         * lisp/net/mairix.el: Load gnus-util when compiling.
3297         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
3298         (message-field-value): Declare rather than autoload.
3299         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
3300         Check gnus-alive-p is fbound.
3301         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
3302         (vm-check-for-killed-summary, vm-error-if-folder-empty)
3303         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
3304         Declare rather than autoload.
3306         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
3308         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
3309         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
3311         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
3313         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
3315         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
3316         * lisp/emacs-lisp/package.el (epg-signature-status):
3317         Fix declarations.
3319         * lisp/play/gametree.el (gametree-show-children-and-entry)
3320         (gametree-apply-layout, gametree-mouse-show-subtree)
3321         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
3323         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
3324         Handle cl-defgeneric, cl-defmethod.
3326 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3328         Highlight both type and symbol name
3329         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
3330         Highlight both type and symbol name.
3332         Insert, highlight and align line numbers in xref output
3333         * lisp/progmodes/etags.el (xref-location-line): Specialize for
3334         xref-etags-location.
3335         * lisp/progmodes/xref.el (xref-location-line): New generic method.
3336         (xref-file-location): Add reader for the line slot.
3337         (xref--location-at-point): Skip to the `xref-location' property.
3338         (xref--collect-reference): Drop the line number from description.
3339         (xref--insert-xrefs): Insert, highlight and align line numbers.
3341 2015-05-04  Daniel Colascione  <dancol@dancol.org>
3343         Fix previous commit
3345 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3347         Don't pulse the indentation, or the newline
3348         * lisp/cedet/pulse.el (pulse-lighten-highlight)
3349         (pulse-reset-face): Fall back to the inherited background
3350         attribute in FACE.
3351         (pulse-momentary-highlight-region): Add autoload cookie.
3352         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
3353         indentation, or the newline, if the line's non-empty
3354         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
3356 2015-05-04  Daniel Colascione  <dancol@dancol.org>
3358         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
3359         * doc/lispref/positions.texi (Excursions): Document
3360         `save-mark-and-excursion'.
3361         * lisp/font-lock.el (font-lock-fontify-block): Use
3362         `save-mark-and-excursion' instead of `save-excursion', restoring
3363         Emacs 24 behavior.
3364         * lisp/simple.el (save-mark-and-excursion--save)
3365         (save-mark-and-excursion--restore): New functions.
3366         (save-mark-and-excursion): New user macro.
3367         * src/editfns.c (Fsave_excursion): Mention
3368         `save-mark-and-excursion' in `save-excursion' documentation.
3370 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3372         Classify lone symbol inside let varlist as variable
3373         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
3374         Classify lone symbol inside let varlist as variable.
3375         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
3376         New test.
3378         Add xref-pulse-on-jump
3379         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
3380         Add autoload cookie.
3381         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
3382         (xref--maybe-pulse): New function.
3383         (xref-pop-marker-stack, xref--pop-to-location)
3384         (xref--display-position): Use it.
3385         (xref--location-at-point): Use back-to-indentation.
3387 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
3389         * lisp/org/org-{macs,list}.el: Fix lexical warnings
3390         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
3391         (org-list-get-next-item, org-list-get-prev-item)
3392         (org-list-get-children): Mark unused arg `struct'.
3393         (org-list-use-alpha-bul-p): Remove unused var `bul'.
3394         (org-toggle-checkbox): Mark unused var.
3395         (org-update-checkbox-count): Remove unused var `box-num'.
3396         (org-adapt-indentation): Declare.
3397         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
3398         (org-list-send-list): Remove unused var `txt'.
3399         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
3400         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
3401         * lisp/org/org-macs.el: Use `declare'.
3402         (org-with-limited-levels): Declare dyn-bound vars.
3404 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
3406         Fix minor issues with CEDET on MS-Windows
3407         * lisp/cedet/semantic/symref/idutils.el
3408         (semantic-symref-parse-tool-output-one-line): Fix the search
3409         regexp to match MS-Windows file names with drive letters.
3410         (Bug#19468)
3411         * lisp/cedet/semantic/symref/grep.el
3412         (semantic-symref-grep-use-template): Remove "--color=always" from
3413         Grep switches on MS-Windows.
3414         (semantic-symref-grep-shell): Use shell-file-name as the default
3415         value, so this works not only on Posix platforms.
3416         (semantic-symref-perform-search): Use shell-quote-argument instead
3417         of literal '..' for portable quoting of Grep command-line
3418         argument.  Use shell-command-switch instead of a literal "-c".
3419         * lisp/cedet/semantic/bovine/gcc.el
3420         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
3421         for an absolute file name in a portable way.
3423 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
3425         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
3426         (package-import-keyring, package-refresh-contents)
3427         (package-compute-transaction, package--save-selected-packages)
3428         (package-install-from-archive, package-delete)
3429         (package-menu--perform-transaction): Use `inhibit-message'
3430         instead.
3431         (package--compile): Set `warning-minimum-level' to :error.
3433 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3435         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
3436         (terminal-init-screen): Use it (bug#20356).
3437         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
3438         (xterm--extra-capabilities-type): New const.
3439         (xterm-extra-capabilities): Use it.
3440         (xterm--version-handler): Lower the pseudo-version for `screen'.
3442 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
3444         xref--insert-xrefs: Tweak the faces
3445         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
3446         Always insert a newline at the end (to avoid mouse-face background
3447         tail at the last line).
3449         elisp-completion-at-point: Prioritize being quoted over funpos
3450         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
3451         Only consider function position when not inside quoted form
3452         (bug#20425).
3453         * test/automated/elisp-mode-tests.el: New file.
3455         Stop vc-print-log from jumping to the top
3456         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
3457         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
3458         is not specified.
3459         (vc-incoming-outgoing-internal): Always pass nil.
3460         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
3461         call it, and don't set vc-sentinel-movepoint (bug#15322).
3462         (vc-print-root-log): Don't fetch the root working revision, nor
3463         pass it to vc-print-log-internal.
3465 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
3467         Fix display of keyboard layouts for right-to-left scripts
3468         * lisp/international/quail.el (quail-insert-kbd-layout): Force
3469         left-to-right paragraph direction.
3471 2015-05-02  K. Handa  <handa@gnu.org>
3473         * cmds.c (internal_self_insert): When we insert spaces for
3474         padding, set point before the padding spaces, not after them.
3476 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
3478         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
3480 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
3482         Fix etags-xref-find for references
3483         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
3484         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
3485         directory if no tags tables are loaded (bug#19468).
3487 2015-05-02  Philipp Stephani  <phst@google.com>
3489         Update the options in whitespace-style defcustom
3490         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
3491         `repeat' because the option is really set-like.  Add missing
3492         options.  Reorder options to match the order in the
3493         documentation.  (Bug#20346)
3495 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
3497         Fix error diagnostics of c-macro-expand
3498         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
3499         too early if no start-marker string was found -- that generally
3500         means cpp exited abnormally, and we still want to show its error
3501         messages to the user.
3503         Don't require Texinfo 5.0 for Emacs documentation
3504         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
3505         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
3506         "@codequoteundirected on", respectively, to avoid requiring
3507         Texinfo 5.x for Emacs documentation.
3509 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
3511         * lisp/files.el (pwd):
3512         When called with a prefix argument, insert the current default
3513         directory at point.
3515 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
3517         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
3518         * lisp/isearch.el (isearch-mode-map): Don't inhibit
3519         function-key-map remapping for backspace (bug#20466).
3521 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
3523         Implement xref-find-references in etags and elisp-mode
3524         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
3525         (elisp-xref-find): Use it.
3526         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
3527         * lisp/progmodes/xref.el (xref-collect-references):
3528         (xref--collect-reference): New functions.
3530 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
3532         Prefer plain characters to Texinfo circumlocutions
3533         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
3534         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
3536         Fix single-quoting style in PDF manuals
3537         The PDF versions of the GNU manuals used curved single quotes to
3538         represent grave accent and apostrophe, which made it a pain to cut
3539         and paste code examples from them.  Fix the PDF versions to use
3540         grave accent and apostrophe for Lisp source code, keystrokes, etc.
3541         This change does not affect the info files, nor does it affect
3542         ordinary uses of curved single quotes in PDF.
3543         * doc/emacs/docstyle.texi: New file, which specifies treatment for
3544         grave accent and apostrophe, as well as the document encoding.
3545         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
3546         * doc/lispintro/emacs-lisp-intro.texi:
3547         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
3548         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
3549         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
3550         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
3551         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
3552         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
3553         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
3554         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
3555         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
3556         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
3557         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
3558         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
3559         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
3560         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
3561         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
3562         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
3563         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
3564         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
3565         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
3566         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
3567         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
3568         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
3569         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
3570         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
3571         * doc/misc/woman.texi:
3572         Use it instead of '@documentencoding UTF-8', to lessen the need for
3573         global changes like this in the future.
3574         * doc/emacs/Makefile.in (EMACS_XTRA):
3575         * doc/lispintro/Makefile.in (srcs):
3576         * doc/lispref/Makefile.in (srcs):
3577         Add dependency on docstyle.texi.
3578         * doc/misc/Makefile.in (style): New macro.
3579         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
3580         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
3581         Use it.
3583 2015-05-01  Glenn Morris  <rgm@gnu.org>
3585         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
3587         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
3588         (help-fns--signature): Declare.
3590         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
3592 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
3594         New macro seq-let, providing destructuring support to seq.el
3595         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
3596         to `cl-destructuring-bind' but works on all sequence types supported
3597         by `seq.el'.  Bump version number to 1.6.
3598         * test/automated/seq-tests.el: Add tests for seq-let.
3599         * doc/lispref/sequences.texi: Add documentation for seq-let.
3601 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
3603         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
3605 2015-05-01  Glenn Morris  <rgm@gnu.org>
3607         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
3609 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
3611         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
3612         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
3613         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
3614         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
3615         (Bug#20445).
3617 2015-05-01  K. Handa  <handa@gnu.org>
3619         * mule-cmds.el (input-method-use-echo-area): Change :type to
3620         'boolean.
3622 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3624         Start using proportional fonts in eww by default
3625         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
3626         it seems to work well.
3628         Fix links in tables in shr
3629         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
3630         makes (some) links in tables not work.
3632 2015-05-01  Jan D  <jan.h.d@swipnet.se>
3634         (ns-get-cut-buffer-internal): Remove this alias.
3635         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
3637 2015-04-30  Glenn Morris  <rgm@gnu.org>
3639         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
3640         Update for 2015-02-08 change to indirect-function.
3642         * lisp/term/ns-win.el (ns-get-selection-internal):
3643         Remove declaration for function deleted 2014-10-21.
3645         * lisp/dom.el: Load subr-x when compiling, for when-let.
3647         Silence some compilation warnings
3648         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
3649         * lisp/emulation/cua-base.el (delete-active-region):
3650         * lisp/net/net-utils.el (w32-get-console-output-codepage):
3651         * lisp/term/ns-win.el (ns-own-selection-internal)
3652         (ns-disown-selection-internal, ns-selection-owner-p)
3653         (ns-selection-exists-p, ns-get-selection):
3654         Declare for compiler..
3656         Function declaration updates prompted by 'make check-declare'
3657         * lisp/emacs-lisp/package.el (lm-homepage):
3658         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
3659         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
3660         * lisp/gnus/mml.el (libxml-parse-html-region):
3661         * lisp/gnus/nnrss.el (libxml-parse-html-region):
3662         * lisp/net/eww.el (libxml-parse-html-region):
3663         * lisp/net/shr.el (libxml-parse-html-region):
3664         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
3665         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
3666         * lisp/vc/vc-git.el (vc-annotate-convert-time):
3667         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
3668         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
3669         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
3670         Update declaration.
3672         Remove compatibility code for 20-year old function renaming
3673         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
3674         Make it an obsolete alias.
3675         (idlwave-shell-filter): Change all uses to comint-output-filter.
3677 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
3679         Add ace-window face config
3680         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
3681         configuration.
3683 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
3685         Unclutter 'make doc' output a bit
3686         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
3687         Use make subst rather than sh IFS to split target string apart.
3688         This makes 'make' output easier to follow.
3690         Merge from gnulib
3691         * doc/misc/texinfo.tex: Update from gnulib.
3693 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
3695         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
3696         (package-menu--print-info): Obsolete.
3697         (package-menu--print-info-simple): New function.
3698         (package-menu--refresh): Use it, simplify code, and improve
3699         performance.
3700         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
3701         Tiny performance improvement.
3703         * lisp/emacs-lisp/package.el (package--message): inhibit-message
3705 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
3707         Omit -Wstrict-overflow workaround in GCC 5
3708         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
3709         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
3711         Merge from gnulib
3712         This incorporates:
3713         2015-04-29 extern-inline: no need for workaround in GCC 5.1
3714         2015-04-26 file-has-acl: port to CentOS 6
3715         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
3717 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
3719         Set next-error-* in xref--xref-buffer-mode
3720         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
3721         `next-error-last-buffer'.
3722         (xref--next-error-function): New function.
3723         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
3725 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3727         python.el: Fix warnings on looking-back calls missing LIMIT
3728         * lisp/progmodes/python.el (python-shell-accept-process-output):
3729         Pass LIMIT arg to looking-back.
3731 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3733         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
3734         (package--download-and-read-archives): Use pushnew instead of
3735         append.  If something terrible happened during a previous
3736         download, simply refreshing should now make things work again.
3738 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
3740         Introduce etags-xref-find-definitions-tag-order
3741         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
3742         New variable.
3743         (etags--xref-find-definitions): Use it (bug#19468).
3745 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
3747         PATH- and completion-related fixes in Eshell on MS-Windows
3748         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
3749         MS-Windows, prepend "." to list of directories produced from PATH,
3750         as Windows always implicitly searches the current directory first.
3751         (eshell-force-execution): Make it have a non-nil default value on
3752         MS-Windows and MS-DOS.
3753         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
3754         eshell-force-execution is non-nil, complete on readable files and
3755         directories, not only executables.  When running on MS-Windows,
3756         prepend "." to list of directories produced from PATH, as Windows
3757         always implicitly searches the current directory first.
3759 2015-04-29  Sam Steingold  <sds@gnu.org>
3761         bury RCIRC buffers when there is no activity
3762         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
3763         (rcirc-bury-buffers): new function
3764         (rcirc-next-active-buffer): when there is no new activity, use
3765         `rcirc-bury-buffers' to hide all RCIRC buffers
3767 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
3769         Fix DBUS query result parsing for secrets-search-items
3770         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
3771         parsing.  The function assumed that return value of the
3772         SearchItems method called on a collection is a list of two lists,
3773         however this is true only when no collection is specified.  GNOME
3774         had used to incorrectly return a list of two lists in both cases,
3775         but this was already fixed:
3776         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
3777         incorrect information in the secrets-search-items’ docstring.
3778         (Bug#20449)
3780 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3782         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
3783         (byte-compile--message): Use `inhibit-message' instead of hiding
3784         the previous message with (message nil).
3786 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
3788         Remove the deprecated INTERNAL_FIELD macro by expanding it
3789         * src/lisp.h (INTERNAL_FIELD): Remove.
3790         (DEFVAR_KBOARD): Modify accordingly.
3791         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
3792         * syntax.c: Adjust users.
3793         * src/buffer.c (compact_buffer): Use BVAR.
3795 2015-04-29  Glenn Morris  <rgm@gnu.org>
3797         Replace an obsolete function alias
3798         * lisp/isearch.el (isearch-yank-x-selection):
3799         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
3800         (mouse-drag-secondary-moving):
3801         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
3802         Replace obsolete alias x-get-selection with gui-get-selection.
3804 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
3806         * lisp/mail/rmailsum.el: Use lexical-binding.
3808 2015-04-29  Glenn Morris  <rgm@gnu.org>
3810         * test/automated/package-test.el (package-test-update-archives-async):
3811         Skip test on hydra.nixos.org.
3813 2015-04-28  Glenn Morris  <rgm@gnu.org>
3815         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
3816         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
3817         (foldout-mouse-hide-or-exit): Use new names for outline functions.
3819         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
3820         Update for 2014-06-26 hideif.el change.
3822         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
3823         (rmail--decode-and-apply): New function.
3824         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
3826         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
3828 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
3830         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
3831         (package-menu--refresh): Delegate obsolete-hiding to
3832         `package--remove-hidden'.
3833         (package--remove-hidden): Disregard high-priority package if it is
3834         older than the installed one.
3836 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
3838         Update source file encoding list
3839         Update admin/notes/unicode, along with coding system cookies in
3840         other files, so that the two match each other better.
3841         * admin/notes/unicode: lisp/language/ethio-util.el and
3842         lisp/language/ethiopic.el also use utf-8-emacs.
3843         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
3844         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
3845         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
3846         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
3847         * etc/refcards/sk-survival.tex:
3848         Add "coding: utf-8" so that this file is not mishandled in a
3849         Latin-1 or Big-5 locale.
3850         * lisp/international/robin.el, lisp/org/ox-ascii.el:
3851         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
3852         * lisp/language/ethio-util.el: Fix trailer.
3854 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
3856         Fix synchronous invocation of Ispell
3857         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
3858         value to ispell-process-directory before calling ispell-init-process.
3859         Don't call set-process-coding-system if ispell-async-processp is nil.
3860         (Bug#20448)
3862 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
3864         * lisp/emacs-lisp/package.el: Skip space and comments in init file
3865         (package--ensure-init-file): Insert snippet at first
3866         non-whitespace non-comments line.  Respects local-vars at the top
3867         of the file.
3869 2015-04-28  Glenn Morris  <rgm@gnu.org>
3871         * lisp/mail/rmail.el (rmail-copy-headers):
3872         Handle rmail-nonignored-headers being nil.  (Bug#18878)
3874         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
3876         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
3877         Don't get confused by a bzrlib version mismatch warning.
3879 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3881         Change default location of EUDC options file
3882         * NEWS: Document change to EUDC options file's default location.
3883         * lisp/net/eudc-vars.el (eudc-options-file): Use
3884         `locate-user-emacs-file' to change default options file location.
3886 2015-04-27  Glenn Morris  <rgm@gnu.org>
3888         * test/automated/package-test.el (package-test-update-archives-async):
3889         Try to handle the test server script dying.
3891 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3893         * lisp/saveplace.el (save-place-mode): New minor mode.
3894         (save-place): Redefine as an obsolete alias.
3896         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
3897         * lisp/midnight.el: Use lexical-binding.
3898         (midnight-mode): Make it a proper minor mode.
3899         (midnight-buffer-display-time): Make arg non-optional.
3900         (midnight-find): Remove.
3901         (clean-buffer-list-kill-never-regexps)
3902         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
3903         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
3904         contain functions.
3905         (clean-buffer-list): Use cl-find.
3906         Allow clean-buffer-list-kill-never-regexps to contain functions.
3908 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
3910         Bump version of seq.el to 1.5
3911         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
3912           from seq-doseq.  Bump version number of seq.el.
3914 2015-04-27  Glenn Morris  <rgm@gnu.org>
3916         * lisp/mail/rmail.el (rmail-reply):
3917         Decode subject before matching "Re:" prefix.  (Bug#20396)
3919 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
3921         * lisp/emacs-lisp/package.el: Small improvements
3922         (package--with-work-buffer-async): More informative error.
3923         (package-install-user-selected-packages): Rename to
3924         `package-install-selected-packages'.
3926 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3928         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
3929         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
3930         (eieio--class-make): Remove leftover `tag'.
3932 2015-04-27  Glenn Morris  <rgm@gnu.org>
3934         * lisp/gnus/message.el (gnus-extract-address-components):
3935         Remove bogus declaration that was masking previous problem.
3937 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
3939         * lisp/gnus/message.el (message-insert-formatted-citation-line):
3940         Fix typo.  (Bug#20318)
3942 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3944         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
3946         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
3947         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
3948         the buffer in yet another frame.
3949         (reftex-toc-visit-location): Make sure toc-window has focus at the end
3950         when `final' is nil.
3951         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
3952         silence warnings.  Use `--' to clarify that it's internal.
3953         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
3954         (reftex-toc-promote): Clarify unused argument.
3955         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
3956         Add `reftex--' prefix.  Fix all users.
3957         (reftex-toc-promote-prepare): Use _ for dummy variable.
3958         (reftex-toc-restore-region): Rename `m
3960 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
3962         Fix a typo in bibtex.el
3963         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
3964         last change.  (Bug#20429)
3966         Fix redisplay of frame after loading new fonts
3967         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
3968         frame because new fonts were loaded, disable all redisplay
3969         optimizations on that frame by calling SET_FRAME_GARBAGED.
3970         (Bug#20410)
3972 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3974         * lisp/info.el (Info-menu): Properly provide the `default'
3975         (Bug#20391)
3977         * elisp-mode.el: Catch errors from `documentation'
3978         (Bug#20418)
3979         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
3980         Catch errors from documentation.
3981         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
3983 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
3985         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
3986         Remove redundant ":group 'package".
3988 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
3990         Fix a typo in rmail.el
3991         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
3992         last commit.  (Bug#20429)
3994 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
3996         Introduce xref-prompt-for-identifier
3997         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
3998         (xref--read-identifier): Use it
3999         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
4001 2015-04-26  João Távora  <joaotavora@gmail.com>
4003         `tex-insert-quote' after single `'' opens quotes instead of closing
4004         Without this, it's very hard to precede double quotes with the
4005         apostrophe character, i.e. insert the sequence '``
4006         (quote-backquote-backquote), commonly useful in portuguese, for
4007         instance.
4008         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
4009         chars making `tex-insert-quote' be in the "opening" context.
4011 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
4013         Pass `id' to `completing-read' as def instead of initial input
4014         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
4015         as the default value instead of initial input
4016         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
4018 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
4020         Don't freeze with unreadable processes
4021         Don't freeze if an exiting process can't be read from. (Bug#19860).
4022         This fixes a bug I introduced in
4023         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
4024         "* process.c: Add sanity checks for file descriptors."
4025         Dmitry Gutov did most of the legwork in finding the problem.
4026         * src/process.c (wait_reading_process_output):
4027         Treat non-running processes that can't be read from
4028         the same as other non-running processes.
4030 2015-04-25  Alan Mackenzie  <acm@muc.de>
4032         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
4033         * lisp/subr.el (remove-yank-excluded-properties): put
4034         `with-silent-modifications' around only the last three lines of code.
4036 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
4038         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
4039         (package--all-keywords): Deleted variable.
4041         * etc/NEWS: Document package-hiding functionality
4043 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
4045         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
4047         Clarify the doc string of 'replace-regexp-in-string'
4048         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
4050         Improve doc string of 'insert-buffer-substring'
4051         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
4053         MS-Windows followup for the recent gnulib update
4054         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
4055         acl-internal.c.
4057 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4059         Spelling fixes
4061         Merge from gnulib
4062         This incorporates:
4063         2015-04-24 file-has-acl: new module, split from acl
4064         2015-04-24 manywarnings: add GCC 5.1 warnings
4065         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
4066         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
4067         2015-04-15 acl: On Linux, check for acls without libacl
4068         2015-04-14 tempname: avoid unused parameter warnings (trivial)
4069         * lib/acl-internal.c: New file, from gnulib.
4070         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
4071         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
4072         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
4073         Update from gnulib.
4075         Port --enable-gcc-warnings to GCC 5.1 x86-64
4076         * lib-src/ebrowse.c (dump_sym):
4077         * lib-src/hexl.c (main):
4078         * src/ccl.c (ccl_driver):
4079         * src/character.c (string_escape_byte8):
4080         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
4081         * src/gnutls.c (Fgnutls_boot):
4082         * src/gtkutil.c (xg_check_special_colors):
4083         * src/image.c (x_build_heuristic_mask):
4084         * src/print.c (safe_debug_print, print_object):
4085         * src/term.c (produce_glyphless_glyph):
4086         * src/xdisp.c (get_next_display_element)
4087         (produce_glyphless_glyph):
4088         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
4089         Don't use a signed format to print an unsigned integer, or vice
4090         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
4091         * src/image.c (png_load_body, jpeg_load_body):
4092         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
4094 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
4096         Add new faces to tsdh-light-theme
4097         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
4098         definitions for Info-quoted, ace-jump-face-foreground,
4099         hl-paren-face, show-paren-match, and show-paren-mismatch.
4101 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
4103         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
4105 2015-04-24  Glenn Morris  <rgm@gnu.org>
4107         * build-aux/gitlog-to-emacslog:
4108         Use raw log format rather than wrapped one.
4110 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4112         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
4113         (seq-doseq): Fix out-of-scope binding.
4114         Don't call `seq-length at every iteration.
4115         Reduce `if's from 3 to 2 per iteration.
4116         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
4118 2015-04-24  Glenn Morris  <rgm@gnu.org>
4120         * lisp/textmodes/text-mode.el (text-mode-hook):
4121         Move text-mode-hook-identify to default.
4123         * lisp/mouse.el (minor-mode-menu-from-indicator):
4124         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
4126         * lisp/help-fns.el (describe-function): More type checking.
4127         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
4129         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
4130         (Bug#20325)
4132 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
4134         shr: strip leading whitespace when expanding URLs
4135         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
4137 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
4139         Clarify "co-authored" some more
4141         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
4143         Clarify doc strings of functions that search for properties
4144         * src/textprop.c (Fnext_char_property_change)
4145         (Fprevious_char_property_change)
4146         (Fnext_single_char_property_change)
4147         (Fprevious_single_char_property_change, Fnext_property_change)
4148         (Fnext_single_property_change, Fprevious_property_change)
4149         (Fprevious_single_property_change): Clarify doc strings wrt return
4150         value and the optional LIMIT argument.  (Bug#20411)
4152 2015-04-24  Glenn Morris  <rgm@gnu.org>
4154         * test/automated/message-mode-tests.el (message-mode-propertize):
4155         Handle non-writable HOME; eg on hydra.nixos.org.
4157 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
4159         Avoid starting threads by w32-shell-execute
4160         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
4161         local file names, before invoking ShellExecute.  (Bug#20220)
4163 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
4165         Fix following doc-links in `widget-documentation-link-action'
4166         * lisp/wid-edit.el (widget-documentation-link-action): Make
4167         following doc-links less simplistic (Bug#20398).
4169 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4171         Improve EUDC manual
4172         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
4174 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4176         Omit needless "\ " after multibyte then newline
4177         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
4178         (print_object): When print-escape-multibyte is non-nil and a
4179         multibyte character is followed by a newline or formfeed, followed
4180         by a hex digit, don't output a needless "\ " before the hex digit.
4181         * test/automated/print-tests.el (print-hex-backslash): New test.
4183 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
4185         Add a new `inhibit-message' variable
4186         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
4187         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
4188         `inhibit_message' is non-zero.
4189         * etc/NEWS: Add an entry.
4190         * doc/lispref/display.texi: Add an entry for `inhibit-message',
4191           mention it in `message'.
4193 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
4195         Fix last fix in `display-buffer-record-window'.
4196         * lisp/window.el (display-buffer-record-window): Fix last fix.
4198 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
4200         Minor edits in CONTRIBUTE
4201         * CONTRIBUTE: Rearrange instructions about log messages.
4202         Use "Git" capitalized all over.
4203         Use 2 spaces between sentences.
4205 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4207         * lisp/files.el (basic-save-buffer): Fix argument
4209         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
4210         In case `(and (null custom-file) init-file-had-error)' do the same
4211         thing we'd do if `(null user-init-file)', which is to either error out
4212         or return nil.  This is in line with `custom-save-all' which would
4213         throw an error in that situation. (bug#20355)
4215         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
4216         (package-menu-hide-low-priority): New variable, see its doc.
4217         (package-archive-priorities): Update doc.
4218         (package-desc-priority): New function.
4219         (package-desc-priority-version): Use it.
4220         (package--remove-hidden): New function.
4221         (package-menu--refresh): Use it.
4223         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
4224         (package-menu--hide-obsolete): New variable.
4225         (package--remove-hidden): Use it.
4226         (package-menu-hide-obsolete): New interactive function to toggle
4227         the variable.
4228         (package--quick-help-keys): Document it.
4229         (package-menu-async): Add :version tag.
4230         (package-menu-mode-map): Bind package-menu-hide-obsolete.
4231         (package-desc-status): Indicate non-installed obsolete packages as
4232         avail-obso.
4233         (package-menu-mark-install): Allow installation of avail-obso.
4234         (package-menu--status-predicate): Sort avail-obso with available.
4236 2015-04-22  Alan Mackenzie  <acm@muc.de>
4238         On C-y, stop some text property entries being written into buffer-undo-list
4239         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
4240         `with-silent-modifications'.
4242 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
4244         In display-buffer-record-window record selected window if necessary.
4245         * lisp/window.el (display-buffer-record-window): Store selected window
4246         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
4248 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
4250         Fix reftex-citation bug
4251         * reftex-cite.el (reftex-extract-bib-entries): Fix
4252         `wrong-type-argument stringp nil' error that occurs when AUCTeX
4253         integration is enabled and there are no citations in the document
4254         so far.
4256 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
4258         Add or reset based on the presence of MERGE_HEAD
4259         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
4260         `vc-git-resolve-when-done' to `after-save-hook' in either case.
4261         (vc-git-conflicted-files): Add a TODO.
4262         (vc-git-resolve-when-done): Depending on the presence of
4263         MERGE_HEAD, either update the resolved file in the index, or
4264         remove it from there.  (Bug#20292)
4266 2015-04-21  Glenn Morris  <rgm@gnu.org>
4268         * lisp/custom.el (custom-declare-group): No need to purecopy
4269         custom-current-group-alist members following recent change to set
4270         it to nil before dumping.
4272         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
4273         (Bug#20399)
4275 2015-04-21  Daniel Colascione  <dancol@dancol.org>
4277         Unbreak no-op buffer save message
4278         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
4279         (basic-save-buffer): Accept called-interactively as an argument instead of
4280         directly invoking called-interactively-p, which will always yield nil
4281         in that context.
4283 2015-04-21  Alan Mackenzie  <acm@muc.de>
4285         CC Mode: Do nothing in before/after-change-functions for text property changes
4286         Fixes bug#20266.
4287         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
4288         yank-handled-properties buffer local, and remove 'category from it.
4289         (c-called-from-text-property-change-p): New function.
4290         (c-before-change): Don't do anything if a call of the new function
4291         returns non-nil.
4292         (c-after-change): Don't do much if a call of the new function returns
4293         non-nil.
4294         (c-extend-after-change-region): Put changes to text property 'fontified
4295         inside c-save-buffer-state.
4297 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
4299         Fix byte-compiler warnings about looking-back.
4300         * lisp/vc/log-view.el (log-view-end-of-defun-1):
4301         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
4302         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
4303         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
4304         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
4305         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
4306         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
4307         * lisp/org/org.el (org-insert-heading, org-sort-entries):
4308         * lisp/org/org-mouse.el (org-mouse-end-headline)
4309         (org-mouse-context-menu):
4310         * lisp/org/org-clock.el (org-clock-cancel):
4311         * lisp/man.el (Man-default-man-entry):
4312         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
4313         (rmail-ensure-blank-line):
4314         * lisp/mail/footnote.el (Footnote-delete-footnote):
4315         * lisp/mail/emacsbug.el (report-emacs-bug):
4316         * lisp/info.el (Info-follow-reference, Info-fontify-node):
4317         * lisp/info-look.el (info-lookup-guess-custom-symbol):
4318         * lisp/help-fns.el (help-fns--key-bindings):
4319         * lisp/files.el (hack-local-variables):
4320         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
4321         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
4322         (viper-complete-filename-or-exit):
4323         * lisp/emulation/viper-cmd.el (viper-backward-indent):
4324         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
4325         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
4326         * lisp/cus-edit.el (custom-face-edit-value-create):
4327         * lisp/calendar/todo-mode.el (todo-set-item-priority)
4328         (todo-filter-items-1, todo-convert-legacy-files)
4329         (todo-prefix-overlays): Add explicit second arg to looking-back.
4331 2015-04-20  Glenn Morris  <rgm@gnu.org>
4333         Avoid non-nil current-load-list at startup
4334         * src/process.c (init_process_emacs): Move Fprovide statement...
4335         (syms_of_process): ... to here.
4337         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
4339         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
4341 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
4343         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
4344         (Bug#20330)
4346 2015-04-20  Glenn Morris  <rgm@gnu.org>
4348         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
4350         Tweak exec-path in uninstalled case
4351         * src/callproc.c (init_callproc): If running uninstalled, do not
4352         include eventual installation libexec directory in exec-path.
4354 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
4356         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
4357         (package-menu-filter): Accept a list of keywords.
4358         (package--all-keywords): New variable to cache known keywords.
4359         (package-all-keywords): Populate it if necessary.
4360         (package-refresh-contents): Reset it.
4362         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
4363         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
4364         as special keywords which match agains package archive and status
4365         respectively.
4366         * etc/NEWS: Document it.
4368 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
4370         Describe and index "empty overlays".
4371         * doc/lispref/display.texi (Overlays): Improve indexing.
4372         (Managing Overlays): Describe "empty" overlays.
4373         (Overlay Properties, Finding Overlays): Add cross-reference to
4374         where empty overlays are described.
4376 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4378         Spelling fixes
4380         Quote 'like this' in top-level files
4381         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
4382         Prefer to single-quote 'like this' (instead of the older style
4383         `like this').
4384         * configure.ac: Fix some space-before-tab problems that 'git commit'
4385         complained about.
4387         Use bool for boolean in textprop.c, undo.c
4388         * src/textprop.c (soft, hard): Now constants instead of macros.
4389         (validate_plist): Rewrite to avoid need for boolean local.
4390         (interval_has_all_properties, interval_has_some_properties)
4391         (interval_has_some_properties_list, add_properties)
4392         (remove_properties, get_char_property_and_overlay)
4393         (Fnext_single_char_property_change)
4394         (Fprevious_single_char_property_change, add_text_properties_1)
4395         (Fremove_text_properties, Fremove_list_of_text_properties)
4396         (copy_text_properties):
4397         * src/tparam.c (tparam1):
4398         * src/undo.c (record_change, record_property_change)
4399         (syms_of_undo):
4400         Use 'true' and 'false' for booleans.
4402 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
4404         Call `smerge-start-session' even when dealing with a stash conflict
4405         * lisp/vc/vc-git.el (vc-git-find-file-hook):
4406         Call `smerge-start-session' even when dealing with a stash
4407         conflict (bug#20292).
4409 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
4411         Add option to eshell/clear to clear scrollback.
4412         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
4413         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
4414         scrollback contents are cleared.
4415         * etc/NEWS: Describe change.
4416         * doc/misc/eshell.texi: Add entry for `clear'.
4418 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4420         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
4421         where either will do.
4423 2015-04-19  Steve Purcell  <steve@sanityinc.com>
4425         Assume package archive-contents are UTF8-encoded
4426         * lisp/emacs-lisp/package.el (package--read-archive-file):
4427         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
4428         downloaded and cached archive-contents files, so that non-ASCII
4429         characters in package descriptions are displayed correctly in the
4430         `list-packages' menu. (Bug#20231)
4432 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
4434         Abort when looking at stashed changes
4435         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
4436         stashed changes (bug#20292).
4438 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4440         Refactor low-level printing for simplicity
4441         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
4442         PRINTPREPARE; doable now that we assume C99.  All callers changed.
4443         (PRINTCHAR): Remove, as it adds more mystery than clarity.
4444         All callers changed.
4445         (strout): Assume that caller computes length.  All callers changed.
4446         (print_c_string): New function.
4447         (write_string, write_string_1): Compute length instead of asking
4448         the caller to compute it.  All callers changed.
4449         (write_string): Simplify by using write_string_1.
4450         (write_string_1): Simplify by using print_c_string.
4451         (Fterpri): Compute default val more clearly.
4452         (Fprin1_to_string, print_object):
4453         Assume C99 to avoid unnecessary nesting.
4454         (print_object): Prefer print_c_string to multiple printchar, or
4455         to calling strout with -1 length.  Coalesce into sprintf when
4456         this is easy.
4458 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
4460         Prefer "Bug#1234" in commit messages (Bug#20325)
4461         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
4462         as this isn't useful for Git.
4463         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
4465 2015-04-18  Glenn Morris  <rgm@gnu.org>
4467         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
4468         (Bug#19506)
4470 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
4472         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
4473         (Bug#19505)
4475 2015-04-18  Glenn Morris  <rgm@gnu.org>
4477         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
4479         * doc/emacs/misc.texi (Sorting): Small edit.
4480         (Bug#19896)
4482         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
4484 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
4486         css-mode.el: Support multi-line comment filling
4487         (Bug#20256)
4488         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
4489         comment filling.
4490         (css-adaptive-fill): New function.
4491         (css-mode): Set `adaptive-fill-function'.
4492         (scss-mode): Set `comment-continue'.
4494 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
4496         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
4498 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
4500         Minor improvements in Bulgarian input methods
4501         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
4502         Replace U+042C with U+045D, as the former character is not used in
4503         the modern Bulgarian language.
4504         (Bug#20350)
4506 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4508         Improve EUDC manual
4509         * eudc.texi (LDAP Configuration): Mention simple and SASL
4510         authentication schemes.  Add index items.  Shorten example server
4511         name.
4513 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
4515         Don't show both feature and function with the same name
4516         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4517         Don't show both feature and function with the same name.
4519         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
4520         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4521         Avoid returning both the variable and the function for the same
4522         minor mode.
4524 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
4526         Fix fontification of keywords clobbered by the prompt.
4527         * lisp/comint.el (comint-output-filter): Remove the uses of
4528         with-silent-modifications I introduced as part of the last change.
4529         This fixes, e.g., erratically missing highlighting when running
4530         ./configure --help; ./configure in a shell-mode buffer with
4531         compilation-shell-minor-mode turned on.
4533 2015-04-17  Glenn Morris  <rgm@gnu.org>
4535         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
4537 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
4539         * lisp/indent.el (indent-region): Don't deactivate the mark
4540         (Bug#20357)
4542 2015-04-17  Sam Steingold  <sds@gnu.org>
4544         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
4546 2015-04-16  Leo Liu  <sdl.web@gmail.com>
4548         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
4550 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
4552         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
4554 2015-04-16  Glenn Morris  <rgm@gnu.org>
4556         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
4558 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
4560         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
4561         * configure.ac (LIBJPEG): Leave it empty for MinGW.
4563 2015-04-16  Glenn Morris  <rgm@gnu.org>
4565         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
4566         to avoid rogue setting after startup.
4568 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
4570         Pre-4.6 GCC succeeds with unknown option
4571         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
4572         (Bug#20338)
4574 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4576         '[:graph:]' now excludes whitespace, not just ' '
4577         * doc/lispref/searching.texi (Char Classes):
4578         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
4579         sans whitespace (not sans space).
4580         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
4581         not just space.
4582         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
4584 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4586         (looking-back): Make the second arg non-optional.
4587         * lisp/subr.el (substitute-key-definition-key, special-form-p)
4588         (macrop): Drop deprecated second arg to indirect-function.
4589         (looking-back): Make the second arg non-optional.
4591         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
4592         command is actually sent to the shell.
4594 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4596         Port jpeg configuration to Solaris 10 with Sun C
4597         * configure.ac: Check for jpeglib 6b by trying to link it, instead
4598         of relying on cpp magic that has problems in practice.  Check for
4599         both jpeglib.h and jerror.h features.  Remove special case for
4600         mingw32, which should no longer be needed (and if it were needed,
4601         should now be addressable by hotwiring emacs_cv_jpeglib).
4602         (Bug#20332)
4604 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4606         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
4607         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
4608         Move to elisp-mode.el.
4609         (lisp-mode-variables): (Re)move elisp-specific settings.
4610         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
4611         from lisp-mode-variables.
4612         (elisp--font-lock-flush-elisp-buffers): New function, moved from
4613         lisp-mode.el.
4615         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
4616         Avoid pathological slowdown at top-level in large file.
4618 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4620         Standardize names of ChangeLog history files
4621         Suggested by Glenn Morris in:
4622         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
4623         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
4624         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
4625         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
4626         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
4627         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
4628         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
4629         Remove.
4631         Split top-level entries into pre- and post-April 7
4632         This more clearly distingiushes pre-April-7 ChangeLog entries (which
4633         are for top-level files only) from post-April-7 entries (which are
4634         about files at all levels.  Problem reported by Glenn Morris in:
4635         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
4636         * ChangeLog.1: Move post-April-7 entries from here ...
4637         * ChangeLog.2: ... to this new file.
4638         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
4640 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4642         Fix recent cus-start changes that added customize-rogues
4643         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
4644         vars early.
4645         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
4647 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
4649         Define cl-concatenate as an alias to seq-concatenate
4650         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
4651           code by making cl-concatenate an alias to seq-concatenate.
4653 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4655         * src/lread.c (intern_1): Make sure we'd find the symbol we add
4656         (Bug#20334)
4657         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
4659 2015-04-15  Glenn Morris  <rgm@gnu.org>
4661         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
4663 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4665         Clean up gnus-uu saving code slightly
4666         * gnus-uu.el (gnus-uu-save-article): Make the
4667         save-restriction/widen calls make more sense.
4669 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4671         Make [:graph:] act like [:print:] sans space
4672         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
4673         [:graph:] so that it matches everything that [:print:] does,
4674         except for space.
4675         * doc/lispref/searching.texi (Char Classes):
4676         * etc/NEWS:
4677         * lisp/emacs-lisp/rx.el (rx):
4678         Document [:graph:] to be [:print:] sans ' '.
4679         * src/character.c, src/character.h (graphicp): New function.
4680         * src/regex.c (ISGRAPH) [emacs]: Use it.
4681         (BIT_GRAPH): New macro.
4682         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
4683         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
4684         Return BIT_GRAPH for RECC_GRAPH.
4685         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
4686         and ISPRINT if BIT_PRINT.
4688 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
4690         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
4691         Don't use call-next-method in a cl-defmethod.
4693         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
4694         (eieio--class-p): Remove, provided by cl-defstruct.
4696 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
4698         Add seq-intersection and seq-difference to the seq library
4699         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
4700         functions.
4701         * test/automated/seq-tests.el: Add tests for seq-intersection and
4702         seq-difference.
4703         * doc/lispref/sequences.texi: Add documentation for seq-intersection
4704         and seq-difference.
4706 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
4708         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
4710 2015-04-14  Sam Steingold  <sds@gnu.org>
4712         package--ensure-init-file: widen requires save-restriction
4714 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
4716         Improve the commit-msg Git hook for unibyte environments
4717         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
4718         in unibyte environments.  (Suggested by Paul Eggert
4719         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
4720         [:print:], based on UTF-8 sequences of the unprintable characters.
4722         Describe problems with cursor caused by Windows Magnifier
4723         * etc/PROBLEMS: Describe the problem with cursor shape on
4724         MS-Windows due to Windows Magnifier.
4725         (Bug#20271)
4727         Make [:print:] support non-ASCII characters correctly
4728         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
4729         (BIT_PRINT): New bit mask.
4730         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
4731         * src/character.c (printablep): New function.
4732         * src/character.h (printablep): Add prototype.
4733         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
4734         of 'print', 'alnum', and 'alphabetic'.
4735         * doc/lispref/searching.texi (Char Classes): Document the new
4736         behavior of [:print:].
4737         * etc/NEWS: Mention the new behavior of [:print:].
4739         Assign correct general-category and names to surrogates
4740         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
4741         surrogates.  This avoids assigning them the default
4742         general-category of 'Cn', i.e. unassigned codepoints.
4743         (unidata-get-name): Give surrogates synthetic names.
4745 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
4747         Assume C89 offsetof in xterm.c, xlwmenu.c
4748         * lwlib/xlwmenu.c (offset):
4749         * src/xterm.c (cvt_string_to_pixel_args):
4750         Use offsetof, not XtOffset.
4752 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
4754         Assume C89 offsetof in widget.c
4755         * src/widget.c (XtOffset): Remove; no longer needed.
4756         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
4758         Fix think-o in previous patch
4759         * src/window.c (count_windows, get_leaf_windows):
4760         Don't optimize count_windows incorrectly.
4762 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
4764         Avoid some int overflows in window.c
4765         * src/print.c (print_object):
4766         * src/window.c (sequence_number):
4767         * src/window.h (struct window.sequence_number):
4768         Don't assume window sequence number fits in int.
4769         * src/window.c (window_select_count):
4770         * src/window.h (struct window.use_time, window_select_count):
4771         Don't assume window use time fits in int.
4772         * src/window.c (Fsplit_window_internal):
4773         Don't assume user-supplied integer, or sum, fits in int.
4774         (Fset_window_configuration, count_windows, get_leaf_windows)
4775         (save_window_save, Fcurrent_window_configuration):
4776         Use ptrdiff_t for object counts.
4777         (Fset_window_configuration): Omit unused local 'n'.
4778         (count_windows): Simplify by writing in terms of get_leaf_windows.
4779         (get_leaf_windows): Don't store through FLAT if it's null.
4780         (extract_dimension): New static function.
4781         (set_window_margins, set_window_fringes, set_window_scroll_bars):
4782         Use it to avoid undefined behavior when converting user-supplied
4783         integer to 'int'.
4785 2015-04-13  Glenn Morris  <rgm@gnu.org>
4787         Minor doc copyedits
4788         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
4789         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
4791 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
4793         [Gnus] Catch the invalid-operation that idna.el will issue
4794         * lisp/gnus/gnus-art.el (gnus-use-idna):
4795         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
4796         * lisp/gnus/message.el (message-use-idna):
4797         Catch the invalid-operation that idna.el will issue.
4799 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
4801         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
4803 2015-04-13  Sam Steingold  <sds@gnu.org>
4805         package--ensure-init-file: widen before looking for "(package-initialize)"
4807 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
4809         Change diff-switches default to `-u'
4810         (Bug#20290)
4811         * doc/emacs/files.texi (Comparing Files): Document the new default
4812         value of `diff-switches'.
4813         * doc/emacs/trouble.texi (Sending Patches): Document the preference
4814         for unified diff format.  Escape the plus in the suggested `-F' regexp
4815         value.
4816         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
4818 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4820         (gnus-group--setup-tool-bar-update): Fix last change
4821         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
4822         cursor-sensor-functions should be a list of functions.
4824 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
4826         Use gmm-called-interactively-p in Gnus
4827         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
4829 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4831         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
4832         (Bug#20321)
4833         * lisp/cus-start.el (read-buffer-function): Don't advertize
4834         iswitchb-read-buffer any more.
4835         (iswitchb): Don't tweak this obsolete group any more.
4837 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
4839         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
4841         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
4842         Adding a string after a constructor's argument list will use
4843         that string as the constructor function docstring.  If this string
4844         is absent but the struct itself was given a docstring, use that as
4845         the constructor's docstring.
4846         Fixes (bug#17284).
4848 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4850         Deprecate `intangible' and `point-entered' properties
4851         * lisp/emacs-lisp/cursor-sensor.el: New file.
4852         * lisp/simple.el (pre-redisplay-functions): New hook.
4853         (redisplay--pre-redisplay-functions): New function.
4854         (pre-redisplay-function): Use it.
4855         (minibuffer-avoid-prompt): Mark obsolete.
4856         (redisplay--update-region-highlight): Adapt it to work as a function on
4857         pre-redisplay-functions.
4858         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
4859         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
4860         than point-entered to make the prompt intangible.
4861         * lisp/forms.el: Move `provide' calls to the end.
4862         (forms-mode): Don't use `run-hooks' on a local var.
4863         (forms--make-format, forms--make-format-elt-using-text-properties):
4864         Use cursor-intangible rather than `intangible'.
4865         (forms-mode): Enable cursor-intangible-mode.
4866         * lisp/isearch.el (isearch-mode): Use defvar-local.
4867         (cursor-sensor-inhibit): Declare.
4868         (isearch-mode): Set cursor-sensor-inhibit.
4869         (isearch-done): Set it back.
4870         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
4871         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
4872         any more.
4873         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
4874         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
4875         Add Edebug spec.
4876         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
4877         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
4878         inhibit-point-motion-hooks any more.
4879         (ses--cell-at-pos, ses--curcell): New functions, extracted from
4880         ses-set-curcell.
4881         (ses-set-curcell): Use them.
4882         (ses-print-cell, ses-setup): Use cursor-intangible instead of
4883         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
4884         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
4885         Use ses--cell-at-pos.
4886         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
4887         extracted from ses-command-hook.  Make them work with multiple windows
4888         displaying the same buffer.
4889         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
4890         Enable cursor-intangible-mode.
4891         (ses-command-hook): Remove cell highlight and mode-line update code.
4892         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
4893         Update for new name of text-property holding the cell name.
4894         (ses-rename-cell): Don't mess with mode-line-process.
4895         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
4896         cursor-sensor-functions property instead of point-entered.
4897         (erc-insert-timestamp-right, erc-format-timestamp):
4898         Use cursor-intangible rather than `intangible'.
4899         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
4900         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
4901         cursor-sensor-mode if needed.
4902         (erc-echo-timestamp): Adapt to calling convention of
4903         cursor-sensor-functions.
4904         (erc-insert-timestamp-right): Remove unused vars `current-window' and
4905         `indent'.
4906         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
4907         (gnus-update-group-mark-positions): Remove unused `topic' var.
4908         (gnus-group-insert-group-line): Remove unused var `header'.
4909         (gnus-group--setup-tool-bar-update): New function.
4910         (gnus-group-insert-group-line): Use it.
4911         (gnus-group-update-eval-form): Declare local
4912         dynamically-bound variables.
4913         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
4914         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
4915         (gnus-group-prepare-topics, gnus-topic-update-topic)
4916         (gnus-topic-change-level, gnus-topic-catchup-articles)
4917         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
4918         Use inhibit-read-only.
4919         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
4920         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
4921         * lisp/textmodes/reftex-index.el (reftex-display-index):
4922         Use cursor-intangible-mode if available.
4923         (reftex-index-post-command-hook): Check cursor-intangible.
4924         * lisp/textmodes/reftex-toc.el (reftex-toc):
4925         Use cursor-intangible-mode if available.
4926         (reftex-toc-recenter, reftex-toc-post-command-hook):
4927         Check cursor-intangible.
4928         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
4929         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
4930         (sgml-tags-invisible): Use with-silent-modifications and
4931         inhibit-read-only.  Enable cursor-sensor-mode.
4932         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
4933         calling convention of cursor-sensor-functions.
4934         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
4935         (table-point-entered-cell-hook, table-point-left-cell-hook):
4936         Don't autoload.
4937         (table-cell-entered-state): Remove var.
4938         (table--put-cell-point-entered/left-property)
4939         (table--remove-cell-properties):
4940         Use cursor-sensor-functions rather than point-entered/left.
4941         (table--point-entered/left-cell-function): Merge
4942         table--point-entered-cell-function and table--point-left-cell-function
4943         and adjust to calling convention of cursor-sensor-functions.
4945         Update ldef-boots.el
4947         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
4949         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
4951         Collapse successive char deletions in the undo log
4952         * src/cmds.c (remove_excessive_undo_boundaries): New function,
4953         extracted from Fself_insert_command.
4954         (Fdelete_char, Fself_insert_command): Use it.
4955         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
4956         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
4958         xterm and OSC 52: Add NEWS entry, and tweak the code
4959         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
4960         top-level.
4961         (terminal-init-xterm-activate-set-selection): Set a terminal property.
4962         (xterm--set-selection): Use it instead of checking the value of
4963         `terminal-initted'.  Don't use string-bytes.
4965 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
4967         xterm.el: Implement OSC-52 functionality for setting the X selection
4968         * lisp/term/xterm.el (xterm-max-cut-length): New var.
4969         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
4970         (terminal-init-xterm, xterm--version-handler): Use them.
4972 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4974         Remove left over code from when we used an obsolete/loaddefs.el file
4975         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
4976         we used an obsolete/loaddefs.el file.
4978         * cedet/semantic/fw.el: Use declare.
4979         * cedet/semantic/fw.el (semantic-exit-on-input)
4980         (semanticdb-without-unloaded-file-searches): Use declare.
4981         (semantic-fw-add-edebug-spec): Remove.
4983         (completion-lisp-mode-hook): Use completion-separator-chars
4984         * lisp/completion.el (completion-lisp-mode-hook):
4985         Use completion-separator-chars rather than local key binding.
4987         * src/*.c: Set deactivate_mark buffer-locally
4988         (Bug#20260)
4989         * src/insdel.c (prepare_to_modify_buffer_1):
4990         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
4991         buffer-locally.
4993 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4995         python.el: Keep symmetry on sexp navigation with parens
4996         (Bug#19954)
4997         * lisp/progmodes/python.el
4998         (python-nav--forward-sexp): Add argument skip-parens-p.
4999         (python-nav-forward-sexp, python-nav-backward-sexp)
5000         (python-nav-forward-sexp-safe)
5001         (python-nav-backward-sexp-safe): Use it.
5002         * test/automated/python-tests.el
5003         (python-nav-forward-sexp-1): Fix test.
5005 2015-04-12  João Távora  <joaotavora@gmail.com>
5007         Don't use `setq-local' in Gnus code
5008         This might break upstream builds with older Emacsen
5009         * lisp/gnus/message.el (message-mode): Use `set' and
5010         `make-local-variable' instead of `setq-local'.
5012 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5014         Update Makefile.in's .PHONY dependencies
5015         * Makefile.in (change-history-commit, master-branch-is-current)
5016         (no-ChangeLog): Now phony.
5018         Remove configure's --with-mmdf option
5019         * configure.ac (MAIL_USE_MMDF): Remove.
5020         * etc/NEWS: Document this.
5021         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
5022         (Bug#20308)
5024         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
5025         That way, 'make install' won't think it's a man page.
5026         Reported by Ashish SHUKLA in:
5027         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
5029         Improve 'make change-history' prereq tests
5030         * Makefile.in (gen_origin): Fix to match what's in the master branch.
5031         (no-ChangeLog, master-branch-is-current): New rules.
5032         (change-history): Depend on them, to avoid similar future problems.
5033         Escape the local-variables string to pacify Emacs when editing
5034         Makefile.in.
5036 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5038         * test/automated/package-test.el (with-package-test): Kill Packages buffer
5040         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
5041         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
5042         "Upgrade" last, and use capitalized instead of all-caps.
5044         * lisp/emacs-lisp/package.el: Completely silence async operations
5045         (package--make-autoloads-and-stuff): Silence autoloads.
5046         (package--save-selected-packages): New function, silences
5047         `customize-save-variable'.
5048         (package--user-selected-p, package-install-from-buffer)
5049         (package-delete, package-install): Use it.
5050         (package-install-from-archive)
5051         (package-menu--perform-transaction): Silence.
5052         (package-menu-execute): Feedback when operation starts.
5054         Use delay-mode-hooks when visiting the init-file
5055         * lisp/emacs-lisp/package.el (package--ensure-init-file):
5056         delay-mode-hooks
5057         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
5059         * lisp/files.el: Only message when saving if save-silently is nil
5060         (save-silently): New variable.
5061         (files--message): New function.
5062         (find-file-noselect, save-buffer, basic-save-buffer)
5063         (basic-save-buffer-2, save-some-buffers, not-modified)
5064         (append-to-file): Use them.
5066 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
5068         Support debug declarations in pcase macros
5069         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
5070         (pcase-UPAT): Use it.  Remove "`".
5071         (pcase--edebug-match-macro): New function.
5072         (pcase-defmacro): Support debug declarations.
5073         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
5074         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
5075         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
5077         pcase.el: Edebug support for `app' and vector patterns
5078         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
5079         (pcase-UPAT): Use it. Support `app' patterns.
5080         (pcase-QPAT): Support vector patterns.
5082         edebug.el: Disambiguate vector specifications
5083         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
5084         `(vector ...)' as a vector specification, not as a sublist.
5086         (gnus-summary-refer-thread): Don't clobber unread articles
5087         This fixes a bug where `A T' causes "random" articles to become marked
5088         as read.
5089         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
5090         gnus-newsgroup-unreads remains sorted.
5092         mouse-sel.el: Fix mouse-sel-get-selection-function
5093         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
5094         Use gui--last-selected-text-primary instead of no longer existing
5095         gui-last-selected-text.
5097         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
5099         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
5101 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5103         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
5105         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
5107         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
5108         (byte-compile--interactive): New var.
5109         (byte-compile--message): New function.
5110         (byte-compile-log-1, byte-force-recompile)
5111         (byte-recompile-directory, byte-recompile-file)
5112         (byte-compile-file, compile-defun)
5113         (byte-compile-file-form-defmumble, byte-compile)
5114         (byte-compile-file-form-defalias, display-call-tree): Use it.
5116         * lisp/files.el: Don't message when nothing happened
5117         (save-some-buffers, basic-save-buffer): Before messaging to say
5118         "nothing was saved" check if (called-interactively-p 'any).
5120 2015-04-12  João Távora  <joaotavora@gmail.com>
5122         Summary: Improve sexp-based movement in message-mode
5123         Works by giving citations and smileys a different syntax.  This helps
5124         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
5125         sexp-based movement.
5126         * lisp/gnus/message.el (message--syntax-propertize): New function.
5127         (message-mode): Set syntax-related vars.
5128         (message-smileys): New variable.
5129         * test/automated/message-mode-tests.el: New file
5131 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5133         Use bool for boolean in window.c
5134         * src/window.c: Omit unnecessary static function decls.
5135         (adjust_window_count, select_window, Fselect_window)
5136         (window_body_width, Fwindow_body_height, Fwindow_body_width)
5137         (set_window_hscroll, check_window_containing, Fwindow_at)
5138         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
5139         (unshow_buffer, replace_window, recombine_windows)
5140         (add_window_to_list, candidate_window_p, next_window)
5141         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
5142         (Fget_buffer_window, Fdelete_other_windows_internal)
5143         (replace_buffer_in_windows_safely, set_window_buffer)
5144         (Fset_window_buffer, Fforce_window_update)
5145         (temp_output_buffer_show, make_parent_window)
5146         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
5147         (resize_frame_windows, Fsplit_window_internal)
5148         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
5149         (Fresize_mini_window_internal, mark_window_cursors_off)
5150         (window_scroll, window_scroll_pixel_based)
5151         (window_scroll_line_based, scroll_command, Fscroll_other_window)
5152         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
5153         (Fmove_to_window_line, Fset_window_configuration)
5154         (delete_all_child_windows, apply_window_adjustment)
5155         (set_window_fringes, set_window_scroll_bars)
5156         (Fset_window_vscroll, foreach_window, foreach_window_1)
5157         (compare_window_configurations, Fcompare_window_configurations):
5158         Prefer 'bool', 'true', and 'false' for booleans.
5159         * src/window.h (WINDOW_MODE_LINE_LINES)
5160         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
5162 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
5164         Speed up byte-compilation and autoload generation by avoiding mode-hooks
5165         This prevents emacs-lisp-mode-hook from being run everytime an
5166         autoload file is generated, which can account for a fraction of
5167         package installation time depending on the hooks the user has
5168         configured.
5169         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
5170         * lisp/emacs-lisp/autoload.el (autoload-find-file)
5171         (autoload-find-generated-file): Use delay-mode-hooks.
5173         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
5174         (package-menu-refresh): Respect async and do new package checking.
5175         (list-packages): Use `package-menu-refresh' instead of repeating code.
5177         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
5178         (package--quick-help-keys): New variable.
5179         (package--prettify-quick-help-key): New function.
5180         (package-menu-quick-help): Use it.
5182         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
5183         (package--build-compatibility-table): require finder
5185         * test/automated/package-test.el: Fix new test
5187         * lisp/emacs-lisp/package.el: Silence async operations
5188         (package--silence): New variable.
5189         (package--message): New function.
5190         (package-import-keyring, package-refresh-contents)
5191         (package-compute-transaction, package-install, package-delete)
5192         (package-menu--perform-transaction, package-menu-execute): Use it.
5194         * test/automated/package-test.el: Test async functionality
5195         (package-test-update-archives-async): New test
5197 2015-04-11  Daiki Ueno  <ueno@gnu.org>
5199         Utilize `make-process' in epg.el
5200         * lisp/epg.el (epg-error-output): Abolish.
5201         (epg-context): New slot `error-buffer'.
5202         (epg--start): Use `make-process' and `make-pipe-process'.
5203         (epg--process-filter): Remove code separating stderr from stdout.
5204         (epg-wait-for-completion): Simplify `error-output' handling.
5205         (epg-reset): Dispose error buffer.
5207 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5209         * .gitignore: Ignore doc temps and outputs.
5211         Port commit-msg to MSYS Bash+Gawk
5212         See Eli Zaretskii in:
5213         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
5214         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
5215         (cent_sign, print_at_sign, at_sign): Revert previous change.
5216         (print_at_sign): Prepend "BEGIN".
5217         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
5219         Port commit-msg to broken MS-Windows shell
5220         * build-aux/git-hooks/commit-msg (cent_sign):
5221         Just use UTF-8 here rather than ASCII + printf, as the latter fails
5222         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
5223         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
5225 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
5227         Support GnuTLS v3.4 and later on MS-Windows
5228         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
5229         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
5230         GnuTLS DLL to load according to value of libgnutls-version.
5231         (Bug#20294)
5233 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5235         Minor quoting etc. fixes to misc manuals
5236         Fix some minor quoting and spacing issues.  Distinguish more
5237         clearly among grave accent and apostrophe (which are ASCII) and
5238         single quote (which is not).  Prefer the standard terms
5239         "apostrophe" and "grave accent" to alternative names that can be
5240         confusing.  Use apostrophes to single-quote ASCII text.
5241         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
5242         rather than approximating it in ASCII with grave accent.
5244 2015-04-11  Daiki Ueno  <ueno@gnu.org>
5246         Respect more keyword args in `make-process'
5247         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
5248         keywords as documented.
5250 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
5252         Extract ChangeLog entries when committing a directory
5253         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
5254         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
5255         Add a FIXME comment.
5256         (log-edit-changelog-entries): Extract from
5257         `log-edit-changelog-entries', handle FILE being a directory
5258         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
5260 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
5262         Fix problems found by --enable-gcc-warnings
5263         * src/process.c (create_process, Fmake_pipe_process)
5264         (Fmake_network_process): Omit unused locals.
5266         Fix commit-msg to handle scissors lines
5267         * build-aux/git-hooks/commit-msg:
5268         Ignore every line after a scissors line, such as a line generated
5269         by 'git commit -v'.  Problem reported by Johan Bockgård in:
5270         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
5272         port commit-msg to Gawk 3.0.4 (1999)
5273         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
5274         (print_at_sign, at_sign): New vars.  Use them to avoid problems
5275         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
5276         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
5278         Have commit-msg report commit failure
5279         * build-aux/git-hooks/commit-msg: If the commit is aborted,
5280         say so.  Simplify by doing this at the end.  Problem reported
5281         by Eli Zaretskii in:
5282         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
5284 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5286         Clean up LDAP Configuration section of EUDC manual
5287         * doc/misc/eudc.texi: Combine indices.
5288         (LDAP Configuration): Use command markup.  Add index entries.
5289         Change formatting.  Wrap long lines.  Add noindent markup.
5291 2015-04-10  Daiki Ueno  <ueno@gnu.org>
5293         Add facility to collect stderr of async subprocess
5294         * src/w32.h (register_aux_fd): New function declaration.
5295         * src/w32.c (register_aux_fd): New function.
5296         * src/process.h (struct Lisp_Process): New member stderrproc.
5297         * src/process.c (PIPECONN_P): New macro.
5298         (PIPECONN1_P): New macro.
5299         (Fdelete_process, Fprocess_status, Fset_process_buffer)
5300         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
5301         (Fcontinue_process): Handle pipe process specially.
5302         (create_process): Respect p->stderrproc.
5303         (Fmake_pipe_process): New function.
5304         (Fmake_process): Add new keyword argument :stderr.
5305         (wait_reading_process_output): Specially handle a pipe process when
5306         it gets an EOF.
5307         (syms_of_process): Register Qpipe and Smake_pipe_process.
5308         * doc/lispref/processes.texi (Asynchronous Processes): Document
5309         `make-pipe-process' and `:stderr' keyword of `make-process'.
5310         * lisp/subr.el (start-process): Suggest to use `make-process' handle
5311         standard error separately.
5312         * test/automated/process-tests.el (process-test-stderr-buffer)
5313         (process-test-stderr-filter): New tests.
5314         * etc/NEWS: Mention new process type `pipe' and its usage with the
5315         `:stderr' keyword of `make-process'.
5317 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
5319         Minor quoting etc. fixes to lispref manual
5320         * doc/lispref/tips.texi (Documentation Tips):
5321         Distinguish more clearly among grave accent, apostrophe,
5322         and single quote.
5323         * doc/lispref/README, doc/lispref/buffers.texi:
5324         * doc/lispref/commands.texi, doc/lispref/control.texi:
5325         * doc/lispref/customize.texi, doc/lispref/display.texi:
5326         * doc/lispref/elisp.texi, doc/lispref/files.texi:
5327         * doc/lispref/frames.texi, doc/lispref/hash.texi:
5328         * doc/lispref/help.texi, doc/lispref/internals.texi:
5329         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
5330         * doc/lispref/markers.texi, doc/lispref/modes.texi:
5331         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
5332         * doc/lispref/os.texi, doc/lispref/positions.texi:
5333         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
5334         * doc/lispref/text.texi, doc/lispref/tips.texi:
5335         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
5336         Use American-style double quoting in ordinary text,
5337         and quote 'like this' when single-quoting in ASCII text.
5338         Also, fix some minor spacing issues.
5340 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
5342         Handle symlinked test directory in tramp-tests.el
5343         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
5344         (tramp--test-check-files): Use `file-truename' for directories.
5346 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
5348         Fix 'recenter' when visual-line-mode is turned on
5349         * src/window.c (Frecenter): Use the same code for GUI and TTY
5350         frames alike; use vmotion only for "initial" frames.  This is
5351         because vmotion doesn't support visual-line-mode.  Rewrite the
5352         'iarg >= 0' case to use move_it_* functions instead of using
5353         vmotion, for the same reason.  Fix the clipping of the argument
5354         value to support scroll-margin in all cases and avoid unwarranted
5355         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
5356         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
5357         which see.
5359 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5361         * abbrev.el (define-abbrev-table): Refine last change.
5363         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
5364         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
5365         use of c[ad]+r", so as to keep the "cl-" prefix on all
5366         cl-lib definitions.
5368         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
5370         * lisp/cedet/semantic: Remove some dead code
5371         * lisp/cedet/semantic/util-modes.el
5372         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
5373         any more.
5374         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
5375         not supported any more.
5376         (semantic-safe): Use `declare'.
5377         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
5378         (semantic-tag-intangible-p): Remove unused functions.
5379         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
5380         Remove unused function.
5382         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
5383         (gnus-article-hide-text, gnus-article-unhide-text)
5384         (gnus-article-unhide-text-type): Remove special handling of
5385         `intangible' since that property is not used any more.
5386         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
5388 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
5390         Use the VC root in `log-edit-listfun'
5391         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
5392         `log-edit-listfun'.
5394 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
5396         Fix description of Unix time, mention new function.
5397         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
5398         Unix time.
5399         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
5400         (Basic Operations on Units): Mention `calc-convert-exact-units'.
5402 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
5404         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
5406 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
5408         (log-edit-insert-changelog-entries): Don't add newline after the last entry
5409         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
5410         Don't add newline after the last entry.
5412 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
5414         css-mode.el: Add "not" pseudo-class
5415         (Bug#20267)
5416         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
5417         list of CSS pseudo-classes.
5419 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5421         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
5423 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
5425         Stop messing with the EMACS env var
5426         * misc.texi (Interactive Shell): Remove description of EMACS env var.
5428 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5430         Adapt 'make change-history' to coding cookie
5431         * Makefile.in (change-history): Adjust to change of format of
5432         ChangeLog file, which now has a coding cookie before an indented
5433         copyright notice.
5435 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5437         Adapt 'make change-history' to coding cookie
5438         * Makefile.in (change-history): Adjust to change of format of
5439         ChangeLog file, which now has a coding cookie before an indented
5440         copyright notice.
5442         gitlog-to-changelog coding cookie and mv -i
5443         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
5444         for copyright notice prototype, so that we get a proper "coding:"
5445         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
5446         existing ChangeLog.  Problems reported by Eli Zaretskii in:
5447         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
5449         Merge from gnulib
5450         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
5451         2015-04-09 gitlog-to-changelog: port to MS-Windows
5453 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
5455         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
5456         (Bug#20212)
5458 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5460         Stop messing with the EMACS env var
5461         (Bug#20202)
5462         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
5463         * lisp/comint.el (comint-exec-1):
5464         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
5465         * lisp/progmodes/compile.el (compilation-start): Same and bring
5466         INSIDE_EMACS's format in line with other users.
5468         css-mode.el (css-smie-rules): Fix indentation after complex selectors
5469         (Bug#20282)
5470         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
5471         inner structure of selectors.
5473 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5475         python.el: Indent docstring lines to base-indent
5476         (Bug#19595)
5477         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
5478         an initial patch.
5479         * lisp/progmodes/python.el
5480         (python-indent-context): Add :inside-docstring context.
5481         (python-indent--calculate-indentation): Handle :inside-docstring.
5482         (python-indent-region): Re-indent docstrings.
5483         * test/automated/python-tests.el (python-indent-region-5)
5484         (python-indent-inside-string-2): Fix tests.
5486         python.el: Increase native completion robustness
5487         (Bug#19755)
5488         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
5489         this and providing useful ideas.
5490         * lisp/progmodes/python.el
5491         (python-shell-completion-native-output-timeout): Increase value.
5492         (python-shell-completion-native-try-output-timeout): New var.
5493         (python-shell-completion-native-try): Use it.
5494         (python-shell-completion-native-setup): New readline setup avoids
5495         polluting current context, ensures output when no-completions are
5496         available and includes output end marker.
5497         (python-shell-completion-native-get-completions): Trigger with one
5498         tab only.  Call accept-process-output until output end is found or
5499         python-shell-completion-native-output-timeout is exceeded.
5501 2015-04-08  Samer Masterson  <samer@samertm.com>
5503         * lisp/eshell: Make backslash a no-op in front of normal chars
5504         (Bug#8531)
5505         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
5506         (eshell-parse-backslash): Return escaped character after backslash
5507         if it is special.  Otherwise, if the backslash is not in a quoted
5508         string, ignore the backslash and return the character after; if
5509         the backslash is in a quoted string, return the backslash and the
5510         character after.
5511         * test/automated/eshell.el (eshell-test/escape-nonspecial)
5512         (eshell-test/escape-nonspecial-unicode)
5513         (eshell-test/escape-nonspecial-quoted)
5514         (eshell-test/escape-special-quoted): Add tests for new
5515         `eshell-parse-backslash' behavior.
5517 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
5519         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
5520         after the file name.
5521         (Bug#20276)
5523 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
5525         Minor quoting etc. fixes to Emacs manual
5526         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
5527         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
5528         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
5529         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
5530         * doc/emacs/indent.texi, doc/emacs/macos.texi:
5531         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
5532         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
5533         * doc/emacs/search.texi, doc/emacs/trouble.texi:
5534         * doc/emacs/vc1-xtra.texi:
5535         Use American-style double quoting in ordinary text,
5536         and quote 'like this' when single-quoting in ASCII text.
5537         Also, fix some minor spacing issues.
5539         Minor quoting etc. fixes to elisp intro
5540         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
5541         American-style double quoting in ordinary text.  In ASCII text,
5542         consistently quote 'like this' instead of `like this', unless
5543         Emacs requires the latter.
5545 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
5547         * CONTRIBUTE: Mention log-edit-insert-changelog.
5549         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
5551 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
5553         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
5555 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5557         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
5558         (Bug#20270)
5559         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
5560         Fix inheritance of initargs.
5562 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
5564         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
5565         while dowloading information.
5567         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
5568         (package--ensure-init-file): Check file contents before visiting.
5569         (package-initialize): Call it.
5570         (package-install-from-buffer, package-install): Don't call it.
5572 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
5574         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
5575         (Bug#17517)
5577 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
5579         Fix nasty scoping bug in tramp-cache.el
5580         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
5582 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
5584         Add notice to visual commands section
5585         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
5586         such as git call less with its -F option which omits pagination if
5587         the contents is less than one page long.  This interferes with
5588         eshell's visual (sub-)commands.
5590 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
5592         ffap: Support environment variable expansion in file names
5593         (Bug#19839)
5594         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
5595         environment variable expansion in file names.
5597 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
5599         Prefer double-quote to accent-grave in man pages
5601 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
5603         (Bug#20257)
5604         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
5606 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
5608         Update etc/PROBLEMS.
5609         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
5610         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
5611         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
5612         respectively); other minor updates and tweaks.  (Bug#20011)
5614 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
5616         Add doc strings for some Isearch state vars
5617         * lisp/misearch.el (multi-isearch-buffer-list)
5618         (multi-isearch-file-list): Add doc strings.
5619         (Bug#20232)
5621 2015-04-07  Alan Mackenzie  <acm@muc.de>
5623         Always mark "<" and ">" in #include directives with text properties.
5624         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
5625         matcher" with an invocation of c-make-font-lock-search-function to allow
5626         fontification when there's no trailing space on an "#include <..>" line.
5628 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
5630         Generate a ChangeLog file from commit logs
5631         * .gitignore: Add 'ChangeLog'.
5632         * build-aux/gitlog-to-changelog: New file, from Gnulib.
5633         * build-aux/gitlog-to-emacslog: New file.
5634         * CONTRIBUTE: Document the revised workflow.
5635         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
5636         instead of just special cases.
5637         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
5638         (ChangeLog, unchanged-history-files, change-history)
5639         (change-history-commit): New rules.
5640         * admin/admin.el (make-manuals-dist--1):
5641         Don't worry about doc/ChangeLog.
5642         * admin/authors.el: Add a FIXME.
5643         * admin/make-tarball.txt:
5644         * lisp/calendar/icalendar.el:
5645         * lisp/gnus/deuglify.el:
5646         * lisp/obsolete/gulp.el:
5647         * lwlib/README:
5648         Adjust to renamed ChangeLog history files.
5649         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
5650         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
5651         Remove obsolete discussion of merging ChangeLog files.
5652         New section "Maintaining ChangeLog history".
5653         * build-aux/git-hooks/pre-commit:
5654         Reject attempts to commit files named 'ChangeLog'.
5655         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
5656         * make-dist: Make and distribute top-level ChangeLog if there's a
5657         .git directory.  Distribute the new ChangeLog history files
5658         instead of scattered ChangeLog files.  Distribute the new files
5659         gitlog-to-changelog and gitlog-to-emacslog.
5660         (Bug#19113)
5662         Rename ChangeLogs for gitlog-to-changelog
5663         This patch was implemented via the following shell commands:
5664         find * -name ChangeLog |
5665         sed 's,.*,git mv & &.1,
5666         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
5667         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
5668         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
5669         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
5670         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
5671         sh
5672         git commit -am"[this commit message]"
5674 This file records repository revisions from
5675 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
5676 commit 325bf192ae281046834884b12705d6c522871b24 (inclusive).
5677 See ChangeLog.1 for earlier changes.
5679 ;; Local Variables:
5680 ;; coding: utf-8
5681 ;; End:
5683   Copyright (C) 2015 Free Software Foundation, Inc.
5685   This file is part of GNU Emacs.
5687   GNU Emacs is free software: you can redistribute it and/or modify
5688   it under the terms of the GNU General Public License as published by
5689   the Free Software Foundation, either version 3 of the License, or
5690   (at your option) any later version.
5692   GNU Emacs is distributed in the hope that it will be useful,
5693   but WITHOUT ANY WARRANTY; without even the implied warranty of
5694   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5695   GNU General Public License for more details.
5697   You should have received a copy of the GNU General Public License
5698   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.