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