* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
[emacs.git] / ChangeLog.2
blob4d3608741f12dce672072090afd158c74e9edb81
1 2015-08-04  Daniel Colascione  <dancol@dancol.org>
3         Improve ansi-color filtering of unrecognized escape sequences
4         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
5         escape sequences.
6         (ansi-color-filter-apply): Filter out unrecognized escape sequences
7         (ansi-color-apply): Filter out unrecognized escape sequences
9 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
11         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
12         definitions to `easy-menu-define', improve a couple to account for
13         async, and add a couple of new commands.
15 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
17         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
19 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
21         Add new 'calendar-weekend-days' option
22         Make the days receiving the 'calendar-weekend-header' face freely
23         customizable, as they differ by region/culture.
24         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
25         new variable.
26         * lisp/calendar/calendar.el (calendar-generate-month): New variable
27         calendar-weekend-days to customize day header fontification.
29 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
31         Redo text-quoting-style variable
32         Rename help-quote-translation to text-quoting-style,
33         and use symbols rather than characters as values.
34         This follows suggestions along these lines by Alan Mackenzie in:
35         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
36         and by Drew Adams in:
37         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
38         * doc/lispref/help.texi (Keys in Documentation)
39         * etc/NEWS:
40         * lisp/cus-start.el (standard):
41         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
42         Document and/or implement the new behavior instead of the old.
43         (syms_of_doc): New symbols 'grave' and 'straight'.
45 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
47         nnimap.el: Use IMAP MOVE extension if available
48         * lisp/gnus/nnimap.el (nnimap-request-move-article)
49         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
50         Use MOVE extension if available.
52         nnimap.el: Explicitly ask for server capabilities
53         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
54         capabilities will be returned in the login-result.
56 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
58         Treat help strings like other doc strings
59         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
60         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
61         substitute-command-keys.
62         * src/keyboard.c (show_help_echo, parse_menu_item): Call
63         substitute-command-keys on the help string before displaying it.
65         Also mention "curly quotes"
66         See Drew Adams's email in:
67         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
68         * doc/lispref/help.texi (Keys in Documentation):
69         Add index entry "curly quotes".
70         * etc/NEWS: Use the phrase "curly quotes" too.
72         ede-proj-target-makefile docstring tweaks
73         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
74         Consistently use "all:" to describe the all: target,
75         replacing three different and confusingly-quoted usages.
77 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
79         Whitespace fixes
80         Whitespace fixes.
82 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
84         Don't abort emacsclientw when -a was specified
85         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
86         out if we are in emacsclientw and -a was specified.
88 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
90         Fix handling of 1st keystroke on MS-Windows
91         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
92         This is needed to correctly handle the session's first keystroke,
93         if it has any modifiers.  (Bug#19994)
95 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
97         Substitute some customization etc. doc strings
98         These changes apply substitute-command-keys to some
99         doc strings that were going through untranslated
100         when creating customization or other widgets.
101         * lisp/cus-edit.el (custom-group-value-create):
102         * lisp/wid-edit.el (widget-default-create):
103         (widget-push-button-value-create):
104         Treat the widget tag as a doc string.
105         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
106         Treat the :documentation value as a doc string.
107         * lisp/wid-edit.el (widget-choose):
108         Treat the choice names as doc strings.
109         (widget-default-create): Treat the :doc value as a doc string.
110         (widget-toggle-value-create): Treat the :on and :off values
111         as doc strings.
112         (widget-documentation-string-value-create):
113         Substitute the doc string.
115 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
117         Add a second argument to project-ignores
118         * lisp/progmodes/project.el (project-ignores): Add a second
119         argument DIR.
120         * lisp/progmodes/project.el (project-ignores): Only include the VC
121         ignores if DIR is the VC root.
122         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
124 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
126         Prevent incorrect display when 'line-spacing' variable is set
127         * src/xdisp.c (try_window_id): Give up this optimization if the
128         buffer has its 'line-spacing' variable set non-nil.
130 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
132         Don't pass NOVISIT to find-file
133         * lisp/progmodes/etags.el (next-file):
134         Don't pass NOVISIT to find-file (bug#21175).
136         Ignore buffer restriction for tags-loop-eval
137         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
138         restriction (bug#21167).
140 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
142         Fix a thinko in 'ffap-gopher-at-point'
143         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
145         Honor 'line-spacing' for empty lines
146         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
147         property and 'line-spacing' frame parameter or variable or
148         property for empty lines, by doing the same processing as in
149         x_produce_glyph for newline characters.  (Bug#21165)
151 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
153         Simplify by assuming C99 integer division
154         * src/floatfns.c (ceiling2, floor2, truncate2):
155         Assume C99 (i.e., Fortran) semantics for integer division.
156         This simplifies the code.
158 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
160         Don't overflow if computing approximate percentage
161         * lisp/align.el (align-region):
162         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
163         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
164         * lisp/cus-edit.el (custom-buffer-create-internal):
165         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
166         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
167         (checkdoc-next-message-error):
168         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
169         * lisp/epa.el (epa-progress-callback-function):
170         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
171         * lisp/ffap.el (ffap-menu-rescan):
172         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
173         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
174         * lisp/gnus/nneething.el (nneething-retrieve-headers):
175         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
176         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
177         * lisp/gnus/nnml.el (nnml-retrieve-headers):
178         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
179         * lisp/gnus/nntp.el (nntp-retrieve-headers)
180         (nntp-retrieve-articles):
181         * lisp/imenu.el (imenu--relative-position):
182         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
183         (skkdic-convert-okuri-nasi):
184         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
185         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
186         * lisp/org/org-list.el (org-update-checkbox-count):
187         * lisp/org/org.el (org-table-map-tables)
188         (org-update-parent-todo-statistics):
189         * lisp/play/decipher.el (decipher-insert-frequency-counts)
190         (decipher-analyze-buffer):
191         * lisp/profiler.el (profiler-format-percent):
192         * lisp/progmodes/cc-cmds.el (c-progress-update):
193         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
194         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
195         (idlwave-list-load-path-shadows):
196         * lisp/progmodes/opascal.el (opascal-step-progress):
197         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
198         (vhdl-scan-directory-contents):
199         * lisp/textmodes/bibtex.el (bibtex-progress-message):
200         * lisp/textmodes/flyspell.el (flyspell-small-region)
201         (flyspell-external-point-words):
202         * lisp/textmodes/table.el (table-recognize):
203         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
204         progress-report percentages and the like.  This avoids problems
205         if (* 100 NUMERATOR) would overflow.
206         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
207         * lisp/gnus/registry.el (registry-reindex):
208         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
209         * lisp/descr-text.el (describe-char):
210         * lisp/org/org-colview.el (org-nofm-to-completion):
211         * lisp/ps-print.el (ps-plot):
212         * lisp/simple.el (what-cursor-position):
213         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
214         more-complicated and less-accurate approximation.
216         Fix some int overflows in profiler.c
217         * src/profiler.c (make_log): Make args EMACS_INT, not int,
218         to avoid unwanted behavior on 'int' overflow.
219         (make_log, evict_lower_half, record_backtrace):
220         Use ptrdiff_t, not int, for object indexes.
222         Port to pedantic memcpy
223         * src/keyboard.c (menu_bar_items, tool_bar_items):
224         * src/xrdb.c (magic_db):
225         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
227         Merge from gnulib
228         This incorporates:
229         2015-07-29 time_rz: port to pedantic memcpy
230         * lib/time_rz.c: Copy from gnulib.
232 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
234         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
235         When updating the very last entry, tabulated-list-print would
236         erase it and then try to look at the next one (which obviously
237         isn't there).
239 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
241         ;* src/w32fns.c (syms_of_w32fns): Fix last commit.
243         Allow to use the old key processing code on MS-Windows
244         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
245         New variable.
246         (w32_wnd_proc): Use it to invoke the old code that processed
247         character keys, as fallback, when this variable is non-nil.  Fix
248         typos in comments.  (Bug#19994)
250 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
252         Improve handling of Unicode keyboard input on MS-Windows
253         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
254         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
255         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
256         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
257         successful, don't call TranslateMessage.  (Bug#19994)
259 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
261         Fix default-directory in changeset diffs after vc-print-log
262         * lisp/vc/log-view.el (log-view-diff-common): Move the
263         revision-granularity check back into log-view-diff-changeset.
264         (log-view-diff-changeset): Bind default-directory to the current
265         VC root.
267         Rename project-directories to project-roots
268         * lisp/progmodes/project.el (project-search-path-function)
269         (project-search-path): Update the docstring.
270         (project-directories): Rename to `project-roots', update all
271         callers and implementations accordingly.
272         (project-root): Remove.
273         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
274         as the default file mask.
276 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
278         Support long URLs in w32-shell-execute
279         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
280         and filename_to_ansi to convert the DOCUMENT argument, as it could
281         be a URL that is not limited to MAX_PATH characters.  Instead, use
282         MultiByteToWideChar directly, and allocate heap storage as
283         required to accommodate the converted string.  Likewise with
284         non-Unicode operation.  Ensure OPERATION is null-terminated, even
285         if it is longer than 32K bytes.  (Bug#21158)
287 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
289         vc-mtn-find-revision handle null rev.
290         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
292 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
294         Add docs for display-buffer action display-buffer-use-some-frame
295         * lisp/window.el (display-buffer-use-some-frame): improve doc string
296         * doc/lispref/windows.texi (Display Action Functions): add
297           display-buffer-use-some-frame
298         * etc/NEWS: mention display-buffer-use-some-frame
300         Add display-buffer action display-buffer-use-some-frame
301         * lisp/window.el (display-buffer-use-some-frame): new
303         Handle vc-mtn error more gently
304         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
306 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
308         Fix Tramp problems with multihops, and nc.
309         * lisp/net/tramp-cache.el (tramp-get-file-property)
310         (tramp-set-file-property, tramp-flush-file-property)
311         (tramp-get-connection-property, tramp-set-connection-property)
312         (tramp-flush-connection-property): Remove hop from vector.
313         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
314         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
315         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
316         netstat to 60".
317         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
318         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
319         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
320         Keep hop in result.
321         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
322         Add hop tests.
324 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
326         Resurrect highlighting of repeated words by Flyspell Mode
327         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
328         characters between point and the doublon candidate, so that
329         flyspell-word-search-backward finds it.  (Bug#21157)
331         Fix redisplay of large images on expose events
332         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
333         between signed negative values and unsigned values.  This
334         prevented redisplay on expose events when the window showed a very
335         large image.
337 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
339         Remove unnecessary stack overflow dependency
340         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
341         Don't worry about $ac_cv_header_sys_resource_h and
342         $ac_cv_func_getrlimit, as they're no longer needed for this.
343         Problem reported by Eli Zaretskii in:
344         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
346 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
348         Pacify compilation -Wincompatible-pointer-types warnings
349         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
350         warning.
351         (CompareStringW_Proc): New typedef.
352         (w32_compare_strings): Use it, to pacify compiler warnings under
353         "-Wincompatible-pointer-types".
354         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
355         (GetDiskFreeSpaceExA_Proc): New typedefs.
356         (Ffile_system_info): Use them, to pacify compiler warnings under
357         "-Wincompatible-pointer-types".
359 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
361         Fix subscript error in calculate_direct_scrolling
362         Use slightly-longer cost vectors.  Without this change,
363         calculate_direct_scrolling can have a subscript violation when
364         FRAME_LINES (frame) <= delta.
365         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
366         (line_ins_del, do_line_insertion_deletion_costs):
367         Allocate and use slightly-larger cost vectors, ones based on
368         FRAME_TOTAL_LINES instead of FRAME_LINES.
370         Fix uninitalized value in encode_coding_object
371         * src/coding.c (encode_coding_object): Also initialize
372         coding->src_pos and coding->src_pos_byte when NILP (src_object).
373         This avoids later use of uninitialized storage.
375 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
377         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
379 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
381         Merge from gnulib
382         This incorporates:
383         2015-07-27 time_rz: port better to MinGW
384         2015-07-27 time: port __need_time_t to MinGW
385         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
386         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
387         * lib/time-internal.h: New file, from gnulib.
389 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
391         Handle NULL pointers in w32heap.c allocation routines
392         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
393         freeable".
394         (realloc_after_dump, realloc_before_dump, free_before_dump):
395         Handle NULL pointers gracefully, as Emacs now seems to expect
396         that.
398         Fix Cairo build without PNG
399         * src/image.c: Define PNG function when USE_CAIRO is defined, even
400         if HAVE_PNG is not.  (Bug#21133)
402         MS-Windows follow-up for recent TZ-related changes
403         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
404         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
405         picking up 'struct timespec' from pthread.h, if it is installed on
406         the user's system.  We want either the definitions from MinGW
407         system headers, if available, or the Gnulib replacements if not.
408         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
409         lib/time.h.
410         * lib/time.in.h: Don't let __need_* symbols affect what happens on
411         MinGW.  These symbols are defined by MinGW system headers, but we
412         don't want that to affect whether Gnulib portions of the header
413         are or aren't used.
415 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
417         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
419         New optional ZONE arg for format-time-string etc.
420         This simplifies time conversions in other time zones.
421         It also prevents display-time-world tampering with TZ (Bug#21020).
422         * admin/admin.el (add-release-logs):
423         Use improved add-log-time-format API.
424         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
425         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
426         * configure.ac (tzalloc): Remove test for this, since
427         Emacs no longer uses HAVE_TZALLOC directly.
428         * doc/lispref/os.texi (Time of Day, Time Conversion)
429         (Time Parsing):
430         * etc/NEWS: Document the new behavior.
431         Merge from gnulib, incorporating:
432         2015-07-25 strftime: fix newly-introduced bug on Solaris
433         2015-07-23 fprintftime, strftime: use timezone_t args
434         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
435         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
436         * m4/time_h.m4:
437         Update from gnulib.
438         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
439         New files from gnulib.
440         * lisp/time-stamp.el (time-stamp-string):
441         * lisp/time.el (display-time-world-list)
442         (display-time-world-display):
443         Use new API, with time zone arg.
444         * lisp/time.el (display-time-world-display):
445         Fix race when current-time advances while we're running.
446         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
447         (add-log-iso8601-time-string): Accept optional time zone arg.
448         * lisp/vc/add-log.el (add-change-log-entry):
449         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
450         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
451         Add rules for the time module, since they're now needed
452         for tzalloc etc.
453         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
454         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
455         * src/editfns.c: Include errno.h.
456         (set_time_zone_rule): Omit unnecessary forward decl.
457         (initial_tz): Remove, replacing with ...
458         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
459         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
460         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
461         (tzlookup): New static functions.
462         (init_editfns): New arg DUMPING.  All uses changed.
463         (init_editfns): Omit most initialization if dumping, not if
464         !initialized.  Initialize wall_clock_tz and local_tz.
465         (emacs_nmemftime, format_time_string): Time zone argument can now
466         be any time zone, not just a boolean for UTC or local time.  All
467         callers changed.
468         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
469         (Fcurrent_time_zone): New optional arg ZONE.
470         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
471         the same form as with the other new additions.
472         (decode_time_zone): Remove; no longer needed.
473         (tzvalbuf): Now file-scope.
474         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
475         (syms_of_editfns): Define Qwall.
476         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
477         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
478         [!HAVE_TZALLOC]:
479         Remove; now supplied by gnulib.
480         * src/emacs.c (main):
481         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
483 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
485         Fix infinite loop in delete-consecutive-dups
486         * lisp/subr.el (delete-consecutive-dups): Work even if the last
487         element is nil (Bug#20588).  Avoid rescan of a circular list in
488         deletion of last element.
490 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
492         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
493         * src/nsfns.m (Fx_frame_geometry):
494         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
495         terminal frames.
496         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
497         (Fx_frame_geometry): Return nil for terminal frames
499 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
501         * etc/tutorials/TUTORIAL.ja: Improve translation.
503 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
505         Avoid crashes when w32 GUI functions are called in -batch
506         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
507         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
508         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
510         Fix flyspell-check-previous-highlighted-word
511         * lisp/textmodes/flyspell.el
512         (flyspell-check-previous-highlighted-word): Really accept a
513         numeric argument, as the doc string describes.  Fix an off-by-one
514         error in looking up overlays, so invocation with point immediately
515         after a word would check that word.  Clarify the doc string as
516         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
518 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
520         Minor cleanup in tramp-tests.el
521         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
522         Implement using the documented interface
523         `tramp-connection-properties', rather than with internal functions.
525 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
527         Pass lambdas to `skeleton-read'
528         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
529         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
530         lambdas to `skeleton-read' (bug#20386).
532 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
534         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
536         Don't require GUI frames and mouse for Flyspell menus
537         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
538         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
539         support, since pop-up menus work with text terminals and can be
540         controlled via the keyboard.
542         Improve documentation of Flyspell commands
543         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
544         can be invoked via the keyboard.  Mention those commands by name
545         and add them to the fn index.  (Bug#21125)
547 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
549         Fix some Tramp problems with HP-UX
550         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
551         Add "tab0" to stty call.
552         * test/automated/tramp-tests.el (tramp-persistency-file-name):
553         Set to nil.
554         (tramp--test-hpux-p): New defun.
555         (tramp--test-utf8): Use it.
557 2015-07-22  Glenn Morris  <rgm@gnu.org>
559         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
561 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
563         Fix point positioning in ffap-next-guess
564         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
565         as our callers expect.  This was clobbered as part of fixing
566         bug#5673.  (Bug#21107)
567         (ffap-gopher-at-point): Set ffap-string-at-point-region.
569 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
571         Fix customization type of `even-window-sizes'.
572         * lisp/window.el (even-window-sizes): Fix customization type.
574         2015-07-22  Martin Rudalics  <rudalics@gmx.at>
575         Optionally even widths of `display-buffer' windows.  (Bug#21100)
576         * lisp/window.el (quit-restore-window): Restore width if
577         requested.
578         (display-buffer-record-window): Record width when window is
579         reused and horizontally combined.
580         (even-window-sizes): New option to allow evening window widths.
581         (even-window-heights): Defalias to `even-window-sizes'.
582         (window--even-window-heights): Rename to
583         `window--even-window-sizes'.  Handle side-by-side windows.
584         (display-buffer-use-some-window): Call `window--even-window-sizes'
585         instead of `window--even-window-heights'.
586         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
587         * doc/lispref/windows.texi (Choosing Window Options): Describe
588         `even-window-sizes'.
589         (Coordinates and Windows): Fix typo.
591 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
593         add file name to autoload error messages.
594         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
595           to add file name to error message.
597 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
599         Use 0.0.0.1 as test host in Tramp
600         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
601         Use 0.0.0.1 as test host.
603 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
605         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
606         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
607         Fix inf-loop (bug#21083).
609 2015-07-21  Glenn Morris  <rgm@gnu.org>
611         * test/automated/package-test.el (package-test-signed):
612         Update for recent changes.
614         * test/automated/elisp-mode-tests.el
615         (elisp-xref-finds-both-function-and-variable)
616         (elisp-xref-finds-only-function-for-minor-mode):
617         Update for recent xref name changes.
619 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
621         Make eldoc timer non-repeatable
622         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
623         non-repeatable.  Since it's on post-command hook, that just wasted
624         CPU cycles.
626 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
628         Mention `tramp-connection-properties' in NEWS
630         Sync with Tramp repository
631         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
632         required prior changing its configuration.
633         (Connection caching, Predefined connection information)
634         (Remote shell setup): Fix typos.
635         (Predefined connection information): Describe, how to overwrite
636         parameters of `tramp-methods'.
637         (Remote programs, Remote processes, Traces and Profiles):
638         Simplify example.
639         (Remote programs): Remove superfluous comment.
640         * doc/misc/trampver.texi: Update release number.
641         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
642         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
643         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
644         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
645         "gvfs-mkdir -p ..." does not work robust.
646         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
647         * lisp/net/tramp-sh.el (tramp-methods):
648         Add `tramp-remote-shell-login' parameter where it fits.
649         (tramp-get-remote-path): Use it.
650         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
651         (all): Adapt `tramp-get-method-parameter' calls.
652         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
653         (tramp-get-method-parameter): Replace argument METHOD by VEC.
654         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
655         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
656         (all): Adapt `tramp-get-method-parameter' calls.
657         * lisp/net/trampver.el Update release number.
658         * test/automated/tramp-tests.el (tramp--instrument-test-case):
659         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
660         (tramp-test13-make-directory, tramp--test-adb-p)
661         (tramp--test-smb-or-windows-nt-p): Simplify.
662         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
663         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
664         (tramp--test-utf8): Fix docstring.
666 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
668         Add new xref-query-replace command
669         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
670         function, extracted from xref-pulse-momentarily.
671         (xref-query-replace): New command.
672         (xref--query-replace-1): New helper function.
673         (xref--xref-buffer-mode-map): Add `r' binding.
675 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
677         Simplify icalendar decoding of Z dates
678         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
679         Simplify calculation of time strings with trailing "Z".
681 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
683         Do not corrupt grep-find-ignored-files
684         * lisp/progmodes/project.el (project-ignores): Change the order of
685         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
687         Add xref-match-item, and use it
688         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
689         (xref-file-location): Add reader for the column slot.
690         (xref-match-item): New class.
691         (xref-match-bounds): A method implementation for it.
692         (xref-make-match): New constructor function.
693         (xref--current-item): New private variable.
694         (xref-pulse-momentarily): Use it.
695         (xref--pop-to-location): Change the first argument to an xref
696         item, instead of location, bind xref--current-item.
697         Update all callers.
698         (xref-next-line, xref-prev-line, xref--next-error-function)
699         (xref--mouse-2): Look for the property `xref-item',
700         instead of `xref-location'.
701         (xref--item-at-point): Likewise.  This function replaces
702         `xref-location-at-point'.  Update all callers.
703         (xref--insert-xrefs): Add the `xref-item' text property, instead
704         of `xref-location'.
705         (xref--collect-match): Use xref-make-match.
707         Rename xref--xref to xref-item
708         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
709         Update all references.
711         Rename xref description slot to summary
712         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
713         slot to `summary'.
715         vc-hg: Perform the print-log call asynchronously
716         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
717         asynchronously (bug#21067).
719         Add xref-after-jump-hook and xref-after-return-hook
720         * lisp/progmodes/xref.el (xref-after-jump-hook)
721         (xref-after-return-hook): New hooks.
722         (xref-pulse-on-jump): Remove, in favor of the above.
723         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
724         (xref--pop-to-location, xref--display-position)
725         (xref-pop-marker-stack): Use the new hooks, as requested in
726         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
728 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
730         Correct js-mode's lighter
731         * lisp/progmodes/js.el (js-mode): Correct the lighter.
733 2015-07-19  Leo Liu  <sdl.web@gmail.com>
735         Fix a bug in cfengine3-mode
736         * progmodes/cfengine.el (cfengine3-mode): Handle nil
737           eldoc-documentation-function.
739 2015-07-18  Julien Danjou  <julien@danjou.info>
741         sieve-mode: support "body" test command
742         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
743         Add missing "body" test command.
745 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
747         Fix info-apropos when the default encoding is Latin-N
748         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
749         'undecided', so that it is set to the encoding of the Info file we
750         are about to insert.  Otherwise, 'info-apropos' will fail to find
751         some index nodes in some UTF-8 encoded files, if the buffer's
752         previous encoding is Latin-N or some such.
754 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
756         * epg.el (epg--start): Check that gpgconf can be found before calling it.
758         Expose more file types to OS X that Emacs understands.
759         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
760         json, and org files.  Export UTIs for el, elc, and org files.
762 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
764         Fix visual-order cursor movement when lines are truncated
765         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
766         simulate display in a window of infinite width, to allow move_it_*
767         functions reach positions outside of normal window dimensions.
768         Remove code that tried to handle a subset of these situations by
769         manual iteration of buffer text.  (Bug#17777)
771         Fix following Info cross-references to anchors
772         * lisp/info.el (Info-read-subfile): Add to the returned value the
773         length of subfile preamble, after converting it to file's byte
774         offset, as expected by the caller.  Use bufferpos-to-filepos.
775         (Info-find-node-2): If searching for a node with a
776         1000-character slop fails, try again with a 10000-character slop,
777         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
778         * lisp/international/mule-util.el (bufferpos-to-filepos): New
779         function.
780         * etc/NEWS: Mention bufferpos-to-filepos.
782         Fix scrolling backwards on TTY frames under scroll-conservatively
783         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
784         in moving backwards on TTY frames.  (Bug#21080)
786 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
788         Consider a jsdoc tag to be a beginning of a paragraph as well
789         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
790         consider a jsdoc tag to be a beginning of a paragraph as well.
792 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
794         * lisp/emacs-lisp/package.el: Fix warnings
796         * lisp/emacs-lisp/package.el (package-buffer-info):
797         Add author and maintainers to `package-buffer-info'.
799         * lisp/emacs-lisp/package.el: Many small changes
800         Replace all instances of 'face with 'font-lock-face.
801         (describe-package-1): Improve some strings and move the summary up the
802         list.
803         (package-install-file): Update docstring.
804         (package-menu-hide-package): Bind to `H'.
806         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
807         Fix error handling.
809 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
811         Fix hang with large yanks This should fix the bug fixed by Mike
812         Crowe's patch in:
813         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
814         A problem in this area has been reported by several users; see
815         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
816         This fix differs from Mike Crowe's patch in that it should avoid a
817         race condition that could lose SIGIO signals.  ignore_sigio dates
818         back to the 1980s when some platforms couldn't block signals, and
819         could only ignore them, which led to races when signals arrived
820         while being ignored.  We shouldn't have to worry about those old
821         platforms now.
822         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
823         * src/emacs.c (shut_down_emacs):
824         Don't call ignore_sigio; unrequest_sigio should suffice.
825         * src/keyboard.c (kbd_buffer_store_buffered_event):
826         Use unrequest_sigio, not ignore_sigio.
827         (kbd_buffer_get_event):
828         Call request_sigio when getting the ball rolling again.
830 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
832         * lisp/obsolete/longlines.el (longlines-search-function):
833         Fallback on `isearch-search-fun-default'.
835 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
837         Support @-mentions
838         * rcirc.el (rcirc-completion-at-point): Support completion of
839         mentions/messages with @nick instead of just nick.
841 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
843         Fix Bug#20943.
844         * lisp/autorevert.el (auto-revert-handler): Do not check for
845         `buffer-modified-p'.
846         * lisp/files.el (buffer-stale--default-function): Check for
847         `buffer-modified-p'.
848         * test/automated/auto-revert-tests.el
849         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
851 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
853         Fix delete-dups bug on long lists
854         * lisp/subr.el (delete-dups):
855         Don't mistakenly keep some dups when applied to long lists.
857 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
859         Better heuristic for C stack overflow
860         Improve the heuristic for distinguishing stack overflows from
861         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
862         the getrlimit method wasn't portable to Cygwin; see:
863         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
864         Corinna suggested pthread_getattr_np but this also has problems.
865         Instead, replace the low-level system stuff with a simple
866         heuristic based on known good stack addresses.
867         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
868         * src/sysdep.c: Don't include <sys/resource.h>.
869         (stack_direction): Remove.  All uses removed.
870         (stack_overflow): New function.
871         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
872         Make SEGV fatal in non-main threads.
874 2015-07-16  Daiki Ueno  <ueno@gnu.org>
876         epg: Automatically start pinentry server
877         * epg-config.el (epg-gpgconf-program): New variable.
878         * epg.el (epg--start): Call `pinentry-start' if
879         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
881 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
883         * lisp/gnus/nnimap.el: Fix my last bogus change
884         Reinstall Stefan Monnier's change that was made in
885         <83d824bc4041332f338ad7e5e830f443535aa300>.
887 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
889         Merge from gnulib
890         This incorporates:
891         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
892         2015-07-05 acl-permissions: Fix on FreeBSD
893         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
894         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
895         * lib/set-permissions.c: Copy from gnulib.
897         Port to stricter C99
898         * src/keyboard.h (kbd_buffer_store_event_hold):
899         Don't return a void expression.
901 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
903         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
905 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
907         New autorevert tests.
908         * test/automated/auto-revert-tests.el: New file.
910 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
912         Clear gcprolist etc. after stack overflow
913         After stack overflow, command_loop calls init_eval, and this needs to
914         clear gcprolist and byte_stack_list (Bug#20996).
915         * src/alloc.c (init_alloc):
916         Move gcprolist and byte_stack_list initialization from here ...
917         * src/eval.c (init_eval): ... to here.
919 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
921         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
923 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
925         Avoid deprecated enums in mac-ct font backend driver
926         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
927         (mac_ctfont_get_advance_width_for_glyph)
928         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
930         Cache font family in mac-ct font backend driver
931         * src/macfont.m (macfont_family_cache): New variable.
932         (syms_of_macfont): Initialize it.
933         (macfont_available_families_cache): New variable.
934         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
935         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
936         (macfont_handle_font_change_notification)
937         (macfont_init_font_change_handler)
938         (macfont_copy_available_families_cache): New functions.
939         (macfont_create_family_with_symbol): Use font family caches.
940         (macfont_list, macfont_list_family): Use
941         macfont_copy_available_families_cache instead of
942         mac_font_create_available_families.
944 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
946         Show the default value in the prompt
947         * lisp/progmodes/xref.el: Add `M-?' binding for
948         xref-find-references.  Declare functions `grep-read-files' and
949         `grep-expand-template'.
950         (xref--read-identifier): Show the default value in the prompt.
952         When called with prefix argument, ask for file patterns to search as well
953         * lisp/progmodes/xref.el (xref-find-regexp): When called with
954         prefix argument, ask for file patterns to search as well.  When
955         prompting for the directory, require an existing one.
956         (xref-collect-matches): Add a new argument, FILES.  Use it in the
957         above function.
959         Add `project-ignores'
960         * lisp/progmodes/project.el (project-ignores): New generic
961         function, and an implementation for the VC project type.
962         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
963         variant of rgrep-default-command that handles a generic list of
964         ignores.
965         (xref-collect-matches): Use it, and pass through to it the value
966         of the newly added argument.
967         (xref-find-regexp): Handle ignored paths within the project.
968         Remove outdated comment.
969         * lisp/vc/vc.el (vc-default-ignore-completion-table):
970         Skip the comments and the empty lines.
972 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
974         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
976 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
978         gnus-registry.el: Correct function argument order
979         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
980         Reverse the order of function arguments.
982 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
984         Bind grep-highlight-matches to nil
985         * lisp/progmodes/xref.el (xref-collect-matches):
986         Bind grep-highlight-matches to nil (bug#20728).
988 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
990         nnimap.el: Fix IMAP message size parsing
991         * lisp/gnus/nnimap.el (nnimap-transform-headers):
992         Don't assume that UID comes before RFC822.SIZE.
994 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
996         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
997         (auth-source-creation-prompts): Declare.
998         (nnimap-retrieve-headers, nnimap-status-message)
999         (nnimap-request-create-group, nnimap-request-delete-group)
1000         (nnimap-close-group, nnimap-request-move-article)
1001         (nnimap-request-accept-article, nnimap-request-newgroups)
1002         (nnimap-request-post, nnimap-dummy-active-number)
1003         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
1004         (nnimap-parse-flags): Remove unused var `p'.
1005         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
1006         (nnimap-flags-to-marks): Remove unused var `totalp'.
1008 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
1010         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
1012 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1014         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
1016 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1018         Don't check the exit status, it can be misleading
1019         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
1020         exit status, it can be misleading.
1022         Introduce a Project API
1023         * lisp/progmodes/project.el: New file.
1024         * lisp/cedet/ede.el: (project-try-ede): New function.
1025         (project-root): New implementation.
1026         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1027         Set project-search-path-function.
1028         (elisp--xref-find-references): Delegate some logic to
1029         project-search-path.
1030         (elisp-search-path): New function.
1031         (elisp-xref-find): Don't implement `matches' anymore.
1032         * lisp/progmodes/etags.el: Don't implement `matches'.
1033         Delegate some logic to project-search-path.
1034         (etags-search-path): New function.
1035         * lisp/progmodes/xref.el (xref-find-function):
1036         Remove `matches' from the API.
1037         (xref-find-regexp): Move whatever common logic was in elisp and
1038         etags implementations, and search the directories returned by
1039         project-directories and project-search-path.
1041 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
1043         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
1045         Add support for gv.el in map.el
1046         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
1047         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
1048         * test/automated/map-tests.el: Update tests to work with the new
1049         implementations of map-elt and map-put.
1051 2015-07-09  Glenn Morris  <rgm@gnu.org>
1053         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
1055 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1057         Syntax-propertize until the end of the line first
1058         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
1059         until the end of the line first.
1061 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
1063         * doc/emacs/files.texi (File Archives): Add a cross reference.
1065 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
1067         nnimap.el: Handle plain value for nnimap-stream
1068         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
1069         capabilities, so that a 'plain value for the `nnimap-stream' server
1070         variable is handled correctly.
1071         * doc/misc/gnus.texi (Customizing the IMAP Connection):
1072         Document the 'plain option.
1074 2015-07-08  Leo Liu  <sdl.web@gmail.com>
1076         Fix bug in thing-at-point--bounds-of-well-formed-url
1077         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
1078           sure boundary contains current point.
1080 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
1082         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
1084         Declare whitespace-line-column a safe file-local
1085         * lisp/whitespace.el (whitespace-line-column): Declare to be a
1086         safe file-local when the value is an integer.
1088 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
1090         gnus-group.el: Check if group names are already strings
1091         * lisp/gnus/gnus-group.el (gnus-group-group-name):
1092         The group name may already be a string.
1093         Specifically, in the group list reached from the *Server* buffer,
1094         the 'gnus-group text property returns a string.  Everywhere else
1095         it returns a symbol.
1097         nnimap.el: Remove unused let variables
1098         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
1100 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
1102         Support "maximized" property of runemacs's shortcut
1103         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
1104         the '--maximized' switch to Emacs.
1106         Support "minimized" property of runemacs's shortcut
1107         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
1108         pass the '--iconic' switch to Emacs.  (Bug#20991)
1110 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
1112         Doc fixes
1113         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
1114         C-w' in Diff mode.
1115         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
1116         Add a cross reference.
1118 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
1120         * lisp/obsolete/landmark.el: Add Obsolete-since header
1122 2015-07-07  Glenn Morris  <rgm@gnu.org>
1124         * test/automated/ert-tests.el (ert-test-deftest):
1125         Update for recent changes.
1127 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1129         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
1130         * lisp/emacs-lisp/gv.el (gv-setter): New function.
1131         (gv-invalid-place): New error.
1132         (gv-get): Use them.
1133         (gv-synthetic-place, gv-delay-error): New places.
1134         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
1135         (cl-defgeneric, cl-defmethod): Use gv-setter.
1137 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
1139         Make vc-tests work with MSYS svn program
1140         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
1141         svn is an MSYS program.
1143 2015-07-07  Ken Brown  <kbrown@cornell.edu>
1145         Improve recent change to emacsclient on Cygwin
1146         * lisp/server.el (server-process-filter): Remove redundant check
1147         that 'cygwin-convert-file-name-from-windows' is defined as a
1148         function on Cygwin.  Don't call that function unless its argument
1149         starts with a drive letter.
1151 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1153         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
1154         Fix void variable due to `found-something' being in the wrong `let'.
1156 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1158         * lisp/play/landmark.el: Move to lisp/obsolete/
1160 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
1162         Have `x-show-tip' handle `right' and `bottom' frame parameters.
1163         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
1164         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
1165         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
1166         tooltips also via `right' and `bottom' frame parameters.
1168 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1170         Add online-help support to describe types
1171         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
1172         (describe-symbol): Improve the selection of default.
1173         * lisp/help-mode.el: Require cl-lib.
1174         (describe-symbol-backends): Move from help-fns.el.
1175         (help-make-xrefs): Use it.
1176         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
1177         for types.
1178         (cl--typedef-regexp): New const.
1179         (find-function-regexp-alist): Add entry for types.
1180         (cl-help-type, cl-type-definition): New buttons.
1181         (cl-find-class): New function.
1182         (cl-describe-type): New command.
1183         (cl--describe-class, cl--describe-class-slot)
1184         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
1185         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
1186         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
1187         New functions.  Moved from eieio-opt.el.
1188         (cl--generic-class-parents): New function, extracted from
1189         cl--generic-struct-specializers.
1190         (cl--generic-struct-specializers): Use it.
1191         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
1192         Improve constructor's docstrings.
1193         (cl-struct-unknown-slot): New error.
1194         (cl-struct-slot-offset): Use it.
1195         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
1196         definition in current-load-list.
1197         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
1198         (eieio--add-new-slot): Set it.
1199         (eieio-defclass-internal): Use new name for current-load-list.
1200         (eieio-oref): Add compiler-macro to warn about unknown slots.
1201         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
1202         as compile-time as well.  Improve constructor docstrings.
1203         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1204         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
1205         (eieio-class-def): Remove button.
1206         (eieio-help-constructor): Use new name for load-history element.
1207         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
1208         (eieio-method-documentation): Move to cl-generic.el.
1209         (eieio-display-method-list): Use new names.
1210         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
1211         Add "define-linline".
1212         (lisp-fdefs): Remove "defsubst".
1213         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
1214         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
1215         (macroexp--warn-and-return): Use it to avoid inf-loops.
1216         Add `compile-only' argument.
1218 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1220         python.el: Fix local/remote shell environment setup
1221         * lisp/progmodes/python.el (python-shell-with-environment): Fix
1222         remote/local environment setup.
1223         * test/automated/python-tests.el (python-shell-with-environment-1)
1224         (python-shell-with-environment-2): New tests.
1226 2015-07-06  Glenn Morris  <rgm@gnu.org>
1228         * lisp/simple.el (set-variable): Tweak recent doc fix.
1230 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1232         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
1234 2015-07-06  Glenn Morris  <rgm@gnu.org>
1236         * lisp/simple.el (set-variable): Use user-error for type mismatch.
1238 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1240         * src/emacs.c (main): Don't increase the stack size on Cygwin
1242 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
1244         (describe-symbol): Rewrite describe-function-or-variable
1245         * lisp/help-fns.el (describe-symbol-backends): New var.
1246         (help-xref-stack-item): Declare.
1247         (describe-symbol): Rename from describe-function-or-variable.
1248         Rewrite using describe-symbol-backends instead of help-xref-interned.
1249         * lisp/help.el (help-map): Use it.
1250         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
1251         (help-xref-interned): Make it into an obsolete alias.
1253         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
1254         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
1255         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
1257 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
1259         Fix parsing glitches in dired-mark-sexp (bug#13575)
1260         * lisp/dired-x.el (dired-x--string-to-number): New function.
1261         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
1262         of directory-listing-before-filename-regexp.  Consider
1263         forward-word harmful and replace it.  Add more verbiage in
1264         comments and doc string.
1266 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1268         python.el: Respect process environment for remote shells
1269         * lisp/progmodes/python.el
1270         (python-shell-calculate-process-environment): Calculate
1271         process-environment or tramp-remote-process-environment depending
1272         whether current file is remote.
1273         (python-shell-calculate-exec-path): Calculate exec-path or
1274         tramp-remote-path depending whether current file is remote.
1275         (python-shell-with-environment): New macro.
1276         (python-shell-prompt-detect, python-shell-calculate-command)
1277         (python-shell-make-comint, python-check): Use it.
1279         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
1280         * lisp/progmodes/python.el (python-shell--interpreter)
1281         (python-shell--interpreter-args): New vars.
1282         (inferior-python-mode, python-shell-make-comint): Use them.
1284         python.el: Fixes for IPython 3.x  (Bug#20580)
1285         * lisp/progmodes/python.el:
1286         (python-shell-completion-native-setup): Fix IPython 3.x setup.
1287         (python-shell-completion-native-get-completions): Fix timeout
1288         logic.
1290         python.el: Fix mark-defun behavior  (Bug#19665)
1291         * lisp/progmodes/python.el: (python-mark-defun): New function.
1292         * test/automated/python-tests.el (python-mark-defun-1)
1293         (python-mark-defun-2, python-mark-defun-3): New tests.
1295 2015-07-05  Glenn Morris  <rgm@gnu.org>
1297         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
1298         such as "extends(parent), private".  (Bug#20969)
1299         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
1300         New tests.
1302 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1304         Avoid duplicate calls to current_timespec
1305         * src/process.c (wait_reading_process_output):
1306         Cache current_timespec results as long as we're not waiting.
1308 2015-07-05  Ian Kelling  <ian@iankelling.org>
1310         Avoid returning early reading process output due to SIGIO
1311         * src/process.c (wait_reading_process_output): Extend the behavior of
1312         not breaking due to not finding output when a timer has lowered the
1313         timeout to include when SIGIO lowers the timeout.
1315         Don't return as fast reading any process output
1316         * src/process.c (wait_reading_process_output):
1317         The patch for Bug#17647 returns too fast sometimes when reading
1318         from any processes. Revert part of it, and limit the timeout more
1319         sensibly (Bug#20978).
1321         Refactor timeouts in wait_reading_process_output
1322         * src/process.c (wait_reading_process_output):
1323         Simplify timeouts with an enum.  Remove a redundant condition.
1324         (Bug#20978)
1326         Remove ADAPTIVE_READ_BUFFERING ifdef
1327         * src/process.c (make-process, make-pipe-process, deactivate_process)
1328         (wait_reading_process_output, read_process_output, send_process)
1329         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
1330         added in case there was an operating system in which it was not
1331         useful.  That was 11 years ago and it hasn't happened.  Make
1332         development easier by not considering the effect of changes on a
1333         theoretical OS where this is disabled (Bug#20978).
1335 2015-07-05  Glenn Morris  <rgm@gnu.org>
1337         * lisp/simple.el (set-variable): Doc fix.
1339         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
1341 2015-07-05  Ian Kelling  <ian@iankelling.org>
1343         accept-process-output fix
1344         This is a followon to the fix for Bug#17647 (Bug#20976).
1345         * src/process.c (status_notify): Fix too high return in some cases.
1347 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
1349         * lisp/character-fold.el (character-fold-table):
1350         Only fold decompositions if at least one character is non-spacing.
1351         (Bug#20975)
1353 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1355         Merge from gnulib
1356         This incorporates:
1357         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
1358         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
1359         2015-07-02 update-copyright: fix test failure with perl >= 5.22
1360         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
1361         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
1362         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
1363         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
1365 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
1367         Respect `prog-indentation-context' in python.el
1368         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
1369         (python-indent-context, python-indent--calculate-indentation)
1370         (python-info-current-defun)
1371         (python-info-dedenter-opening-block-message)
1372         (python-info-line-ends-backslash-p)
1373         (python-info-beginning-of-backslash)
1374         (python-info-continuation-line-p): Use `prog-widen'.
1375         (python-indent--calculate-indentation)
1376         (python-indent--calculate-levels)
1377         (python-indent-calculate-indentation): Use `prog-first-column'.
1378         (python-indent--calculate-levels): Simplify.
1379         Ignore also initial empty lines for syntax calculation.
1380         * lisp/progmodes/python.el (python-indent-context): Return
1381         :no-indent for first non-empty line, not just in line 1.
1382         * test/automated/python-tests.el (python-indent-base-case)
1383         (python-indent-inside-paren-1, python-indent-inside-paren-2)
1384         (python-indent-inside-paren-3, python-indent-inside-paren-4)
1385         (python-indent-inside-paren-5, python-indent-inside-paren-6)
1386         (python-indent-after-backslash-1)
1387         (python-indent-after-backslash-2)
1388         (python-indent-after-backslash-3)
1389         (python-indent-after-backslash-4, python-indent-inside-string-1):
1390         Expect :no-indent for first non-empty line.
1392 2015-07-04  Daniel Colascione  <dancol@dancol.org>
1394         Factor isearch word description into new function
1395         * lisp/isearch.el (isearch--describe-word-mode): New function.
1396         (isearch-message-prefix, isearch-query-replace): Use it.
1398 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
1400         Fix mouse pointer on w32 when a menu is active
1401         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
1402         shape while a menu is in use.  This started happening since we now
1403         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
1405 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
1407         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
1408         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
1409         parameter.  (Bug#17344)
1411         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
1412         * lisp/progmodes/compile.el (compilation-set-window): Take
1413         `window-fringes' from argument window.  (Bug#20829)
1415 2015-07-03  Glenn Morris  <rgm@gnu.org>
1417         Update eieio tests for recent eieio-core change.
1418         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
1419         * test/automated/eieio-tests.el
1420         (eieio-test-32-slot-attribute-override-2):
1421         Replace the deleted eieio--class-v with cl--find-class.
1423 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
1425         Fix some issues with `window-divider-mode'
1426         * lisp/frame.el (window-divider-default-places): New option.
1427         (window-divider-mode): Remove option.
1428         (window-divider-mode): Make it a "regular" minor mode.
1429         (window-divider-width-valid-p): Drop frame- prefix.
1430         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
1431         prefix.  Handle `window-divider-default-places'.
1432         (frame--window-divider-mode-set-and-apply): Remove.
1433         (window-divider-default-bottom-width)
1434         (window-divider-default-right-width): Drop :group entries.
1435         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
1436         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1437         (menu-bar-no-window-divider): Set `window-divider-default-places'
1438         and call `window-divider-mode'.
1439         * doc/emacs/frames.texi (Window Dividers): Document
1440         `window-divider-default-places'.
1442 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
1444         Add cross references in documentation
1445         * doc/emacs/display.texi (Displaying Boundaries):
1446         * doc/emacs/search.texi (Word Search): Add cross references.
1448 2015-07-02  Eli Zaretskii  <eliz@gnu.org>
1450         ;* src/bidi.c (bpa_stack_entry): Update commentary for Unicode 8.0.
1452 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1454         -batch should not affect ‘’ -> `' display
1455         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
1456         -batch (Bug#20926).
1458 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
1460         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
1461         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
1462           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
1463         Use cl--find-class instead.
1465         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
1467 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
1469         Some further fixes in Change Window node.  (Bug#20183)
1470         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
1471         by "resizing" in section title.  Add some concept indices.
1472         Suggested by N. Jackson (Bug#20183).
1474         Reference window dividers in Change Window section.
1475         * doc/emacs/windows.texi (Change Window): Reference window
1476         dividers.
1478         Document new `window-divider-mode'.
1479         * lisp/frame.el (window-divider-mode): Fix doc-string.
1480         * doc/emacs/frames.texi (Window Dividers): New section.
1482         Improve accessibility of window dividers.  (Bug#20183)
1483         * lisp/faces.el (window-divider)
1484         (window-divider-first-pixel, window-divider-last-pixel): Change
1485         membership from `frames' to `window-divider' customization group.
1486         * lisp/frame.el (window-divider): New customization group.
1487         (window-divider-mode): New minor mode.
1488         (window-divider-default-bottom-width)
1489         (window-divider-default-right-width): New options.
1490         (frame--window-divider-previous-mode): New variable.
1491         (frame-window-divider-width-valid-p)
1492         (frame--window-divider-mode-apply)
1493         (frame--window-divider-mode-set-and-apply): New functions.
1494         * lisp/menu-bar.el (menu-bar-options-save): Save
1495         window-divider-mode settings.
1496         (menu-bar-window-divider-customize)
1497         (menu-bar-bottom-and-right-window-divider)
1498         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1499         (menu-bar-no-window-divider): New functions.
1500         (menu-bar-showhide-window-divider-menu): New variable.
1501         (menu-bar-showhide-menu): Show/hide window divider menu.
1502         * lisp/mouse.el (mouse-split-window-vertically)
1503         (mouse-split-window-horizontally): Replace `error' by
1504         `user-error'.  Bind `window-combination-resize' to nil.
1505         (top-level): Add/reorder mouse key bindings on mode- and
1506         vertical-line.
1508 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1510         Don't display ‘’ as `' under X in en_GB
1511         The curved quote setup code invokes (char-displayable-p ?‘),
1512         but this isn’t reliable until after the X frame replaces the
1513         terminal frame (Bug#20926).
1514         * lisp/international/mule-cmds.el (set-locale-environment):
1515         Move curved quote setup code from here ...
1516         * lisp/startup.el (command-line): ... to here, after creating
1517         the X frame.
1519 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
1521         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
1523         Add argument to reverse the meaning of ido-restrict-to-matches
1524         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
1525         to reverse the meaning (Bug#15631).
1527 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
1529         Be more tolerant to fonts named "Foobar-12"
1530         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
1531         don't barf; instead, request a new fontset to be generated.  This
1532         avoids unnecessarily rejecting fonts named against XLFD rules.  See
1533         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
1534         for the description of the original problem.
1535         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
1536         by a hyphen in a font's name.
1538         Fix value of posn-at-pont in R2L lines
1539         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
1540         coordinate of -1, for a newline in a right-to-left line that
1541         overflowed into the left fringe.
1543 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
1545         (cl--copy-slot-descriptor): Copy the `props' alist as well
1546         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
1547         Rename from cl--copy-slot-descriptor.
1548         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
1550 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
1552         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
1553         (xterm-query-timeout): New var.
1554         (xterm--query): Use it.  Fallback on async method if we timeout before
1555         getting the first byte of the reply (bug#12354).
1557 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1559         Spelling fixes
1561 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1563         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
1565 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1567         In strings, prefer plain ` and ' to \` and \'
1568         * lisp/allout.el (allout-insert-listified):
1569         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
1570         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
1571         (ls-lisp-string-lessp):
1572         * lisp/menu-bar.el (menu-bar-open):
1573         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
1574         * lisp/progmodes/compile.el (compile):
1575         * lisp/progmodes/etags.el (tags-loop-scan):
1576         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
1577         * lisp/subr.el (posn-actual-col-row):
1578         * lisp/term/pc-win.el (x-list-fonts):
1579         * lisp/textmodes/texinfmt.el (texinfmt-version):
1580         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
1581         * lisp/time.el (display-time-world-list):
1582         * lisp/tmm.el (tmm-menubar):
1583         * src/buffer.c (syms_of_buffer):
1584         * src/fileio.c (syms_of_fileio):
1585         Omit unnecessary and confusing backslash before quote.
1586         * lisp/erc/erc.el (erc-cmd-LASTLOG):
1587         * lisp/progmodes/flymake.el (flymake-fix-file-name):
1588         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
1589         Fix string that was intended to escape a backslash and not a quote.
1591 2015-06-30  Glenn Morris  <rgm@gnu.org>
1593         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
1595         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
1596         Replace hard-coded lists with wildcard + filter-out.
1598         * configure.ac (system-configuration-features): Add X11, NS.
1600         Improve reproducibility of generated loaddefs file.
1601         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
1602         Make the return value the modtime of the input file (if no autoloads).
1603         (update-directory-autoloads): In the "no autoloads" section,
1604         use "most recent modtime" rather than "current time".
1606 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1608         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
1609         (Bug#20930)
1611 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
1613         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
1615         Add seq-min and seq-max
1616         Bump version number.
1617         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
1618         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
1620 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1622         Make sure sleep-for always delays for as long as it's told
1623         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
1624         a loop, to ensure we always wait exactly the required amount of
1625         time.  (Bug#15990)
1627 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1629         Fix pointer signedness glitch
1630         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
1632 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1634         Don't block changes in mouse pointer inside 'track-mouse'
1635         * etc/NEWS:
1636         * doc/lispref/frames.texi (Mouse Tracking): Document the special
1637         effect of setting 'track-mouse' to 'dragging'.
1638         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
1639         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
1640         * lisp/mouse-drag.el (mouse-drag-throw):
1641         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
1642         to avoid changes in the shape of the mouse pointer.
1643         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
1644         pointer shape when do_mouse_tracking has the value of 'dragging',
1645         not just any non-nil value.  (Bug#20934)
1646         (syms_of_xdisp): DEFSYM 'dragging'.
1648 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1650         * lisp/isearch.el (isearch-toggle-word): Fix toggle
1652         * lisp/emacs-lisp/package.el (package-compute-transaction):
1653         Don't assume version sorting.
1655         * lisp/emacs-lisp/package.el (package--save-selected-packages):
1656         Don't save before init time, to avoid overwriting configurations.
1657         (Bug#20855)
1659 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1661         Add cross references.
1662         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
1663         references.
1665 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
1667         cfengine.el: update for the upcoming CFEngine 3.7 release
1668         Update for the upcoming CFEngine 3.7 release: support macros and
1669         quoted context strings; reformat JSON; indent promise attributes 2
1670         units by default; give function parameter descriptions in the eldoc
1671         glue.
1672         * cfengine.el: Update version and docs and fix name.  Autoload
1673         `json-pretty-print'.  Support new features in 3.7.
1674         (cfengine-parameters-indent): Set default promise attribute indent to
1675         2 more than the promise itself.
1676         (cfengine3-macro-regex): New variable to match the new macro syntax.
1677         (cfengine3-font-lock-keywords): Use it to highlight macros.
1678         (cfengine3-indent-line): Use it to indent macros to column 0.
1679         (cfengine3-class-selector-regex): Update for the new quoted strings
1680         format.
1681         (cfengine3-reformat-json-string): New function to reformat a JSON
1682         string using `json-pretty-print'.
1683         (cfengine3-format-function-docstring): Use function parameter
1684         description if it's provided by the cf-promises syntax dump.
1686 2015-06-29  Michael R. Mauger  <michael@mauger.com>
1688         Cygwin emacsclient handles w32 file names
1690 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
1692         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
1694 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
1696         * doc/lispref/text.texi (Sticky Properties): Improve wording.
1697         (Bug#20924)
1699         Allow font names that end in "-NN", where NN is a number
1700         * src/font.c (font_load_for_lface): If the font-spec didn't match
1701         any available fonts, try again without interpreting trailing "-NN"
1702         as the font size.  For the description of the original problem, see
1703         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
1705         .gdbinit followup to changes in !USE_LSB_TAG
1706         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
1707         !USE_LSB_TAG, as Emacs no longer does.
1709 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
1711         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
1712         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
1714 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
1716         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
1717         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
1719 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1721         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
1723         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
1725 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1727         apropos-library quoting fix
1728         * lisp/apropos.el (apropos-library): Quote library consistently
1729         with the rest of the quoting used by apropos.
1731         Clarify interpreter-mode-alist doc
1732         * lisp/files.el (interpreter-mode-alist):
1733         Reword to avoid confusing quoting that wasn't working anyway.
1735 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
1737         Sync with Tramp 2.2.12
1738         * doc/misc/trampver.texi:
1739         * lisp/net/trampver.el: Update release number.
1740         * test/automated/tramp-tests.el (tramp-test13-make-directory):
1741         Fix cleanup.
1743 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
1745         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
1746         (bug#20913)
1748 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
1750         Bind grep-highlight-matches around the rgrep call
1751         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
1752         around the rgrep call (bug#20728).
1754         Put "--color" before the other options in grep-command
1755         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
1756         before the other options in grep-command (bug#20912).
1758         Add --color Grep option to the command dynamically
1759         * lisp/progmodes/grep.el (grep-template, grep-find-template):
1760         Update the description for <C>.  (Bug#20728)
1761         (grep-compute-defaults): Don't add the --color option to
1762         grep-options.  Only add it to grep-command.
1763         (grep-expand-keywords): Expand the env value opts into <C>.
1764         (grep-expand-template): Replace cf in the env with the opts list,
1765         that can include -i and --color.
1766         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
1767         "--color=always" from the template, because we don't have to.
1769 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
1771         cl-extra fixes for most-negative-fixnum
1772         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
1773         Don't mishandle an argument equal to most-negative-fixnum,
1774         whose absolute value equals itself.
1775         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
1777         Initialize cl--gensym-counter to 0
1778         Previously it was initialized to a random value, which made it
1779         harder to reproduce earlier Emacs runs.  The need for a random
1780         value went away when Emacs introduced and used the #: syntax for
1781         uninterned symbols (Bug#20862).
1782         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
1783         Document that cl--gensym-counter now starts with 0.
1784         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
1785         (cl--random-time): Move to near only remaining use.
1786         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
1788         Improve docstring for macroexp-let2
1789         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
1790         Improve as per suggestion by RMS in:
1791         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
1792         Also, rename args to match new doc string.
1794 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
1796         Fix VC test suite on MS-Windows
1797         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
1798         always starts with 3 slashes after the colon.
1799         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
1800         'w32-application-type' to invoke CVS on MS-Windows with properly
1801         formatted CVSROOT directory name.
1803         Add a new function w32-application-type
1804         * src/w32proc.c (Fw32_application_type): New function.
1806         Avoid error in TLS connections due to incorrect format
1807         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
1808         the call to 'error', instead of the unsupported %u.  Reported by
1809         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
1811 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1813         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
1815 2015-06-26  Leo Liu  <sdl.web@gmail.com>
1817         Fix indentation for with-output-to-string
1818         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
1819           `with-output-to-string' in elisp.
1820           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
1821           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
1823 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
1825         Minor corrections in ELisp manual
1826         * doc/lispref/nonascii.texi (Character Properties): Correct
1827         inaccuracies in description of values of the Unicode properties.
1829         Fix invisible mouse pointers on Windows.
1830         * src/w32fns.c: Include windowsx.h.
1831         (w32_wnd_proc): If the mouse moved and the mouse pointer is
1832         invisible, make it visible again even when the main (Lisp)
1833         thread is busy.
1834         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
1835         garbaging the frame have the input thread call SetCursor.
1837 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
1839         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
1840         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
1841         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
1842         * src/w32term.c (w32_hide_hourglass): Handle
1843         f->pointer_invisible.
1844         (w32_toggle_invisible_pointer): New function.
1845         (w32_create_terminal): Add w32_toggle_invisible_pointer as
1846         toggle_invisible_pointer_hook for this terminal.
1848 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
1850         Doc fix for deletion commands
1851         'delete-char' does not respect the value of 'delete-active-region'.
1852         * doc/emacs/killing.texi (Deletion):
1853         Fix documentation for some single-char deletion commands.
1855         * doc/emacs/help.texi (Apropos):
1856         Improve documentation of 'apropos-do-all'.
1858         * doc/emacs/help.texi (Help Summary):
1859         Improve documentation of 'describe-mode'.
1861 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1863         Fix submake dependency bug with .h files
1864         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
1865         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
1866         before the submake in $(libsrc) would spin off a subsubmake
1867         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
1869 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1871         * lisp/character-fold.el (character-fold-table): Reuse `table'
1873 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1875         Translate undisplayable ‘ to `
1876         * doc/lispref/help.texi (Keys in Documentation):
1877         * lisp/international/mule-cmds.el (set-locale-environment):
1878         * lisp/term/w32console.el (terminal-init-w32console):
1879         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
1880         If ‘ is not displayable, transliterate it to `, not to '.  See:
1881         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
1883         Fix C99 incompatibilities in Cairo code
1884         * src/image.c (xpm_load) [USE_CAIRO]:
1885         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
1886         Fix pointer signedness problem.
1888 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
1890         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
1891         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
1892           `with-output-to-string' should have the same indent as `progn'.
1893           This is in line with the declaration of `with-output-to-string'.
1895 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1897         Get ‘./configure; make -C src emacs’ to work
1898         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
1899         * lib-src/Makefile.in (../lib/libgnu.a):
1900         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
1902 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1904         Fix GC bugs --with-wide-int and Qnil == 0
1905         Use the same alignment for the !USE_LSB_TAG case as for the
1906         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
1907         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
1908         once we changed the representation of symbols so that Qnil == 0.
1909         Problem reported by Eli Zaretskii (Bug#20862).
1910         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
1911         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
1912         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
1913         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
1914         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
1915         This optimization in the !USE_LSB_TAG case is no longer valid when
1916         symbols are represented via offsets.  Change the only use to
1917         assume that pointers might hide in objects.
1918         * src/lisp.h (alignas) [!USE_LSB_TAG]:
1919         Require support in this case, too.
1920         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
1921         This is OK, because the !USE_LSB_TAG case now applies only when
1922         Lisp_Object is wider than void *, so there's no longer any need
1923         to shift the offset.  Not shifting the offset means that
1924         symbol representations have the same alignment as pointers,
1925         which the GC assumes.
1927 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
1929         * doc/lispintro/emacs-lisp-intro.texi (Data types):
1930         Improve documentation of 'substring'.
1932 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1934         * lisp/character-fold.el (character-fold-table): Fix table generation
1936 2015-06-24  Glenn Morris  <rgm@gnu.org>
1938         * nextstep/Makefile.in (all): Make it the first target.
1939         (../src/emacs${EXEEXT}): Add rule for making it.
1941 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1943         * etc/NEWS: Fix mention to old function name
1945         * lisp/character-fold.el: New file (Bug#20887)
1946         (character-fold-to-regexp): New function.
1947         * lisp/replace.el (replace-search): Check value of
1948         `character-fold-search'.
1949         * lisp/isearch.el: Move character-folding code to
1950         character-fold.el
1951         (isearch-toggle-character-fold): New command.
1952         (isearch-mode-map): Bind it to "\M-sf".
1953         (isearch-mode): Check value of `character-fold-search'.
1955 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1957         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
1958         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
1959         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
1961         * lisp/progmodes/xref.el: Avoid init-args in oref.
1962         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
1963         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
1965 2015-06-24  Glenn Morris  <rgm@gnu.org>
1967         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
1969 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1971         * lisp/gnus/nnmaildir.el: Silence lexical warnings
1972         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
1973         functional style.
1974         (nnmaildir--update-nov): Remove unused var `numdir'.
1975         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
1976         (nnmaildir-request-group, nnmaildir-request-create-group)
1977         (nnmaildir-request-post, nnmaildir-request-move-article)
1978         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
1979         (nnmaildir-get-new-mail, nnmaildir-group-alist)
1980         (nnmaildir-active-file): Declare.
1981         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
1982         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
1983         `mark', `end', `new-mark', and `mark-sym'.
1984         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
1985         `nlist2'.
1986         (nnmaildir-request-expire-articles):
1987         Remove unused vars `article', `stop' and `nlist2'.
1988         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
1989         `end'.  Use nnmaildir--article when dyn-binding is needed.
1990         Give the value directly in the `let' for `del-mark', `del-action',
1991         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
1992         (nnmaildir-close-server): Declare those local vars that need to be
1993         dyn-bound.
1995 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1997         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
1999         Port selection info fix to clang
2000         * src/keyboard.h (kbd_buffer_store_event_hold):
2001         Don't assume C11 semantics for alignof (Bug#20756).
2003         Fix bug that munged selection info
2004         On some optimizing C compilers, copying a structure did not
2005         copy the padding bytes between elements, and the type punning
2006         between struct input_data and struct selection_input_data did
2007         not work.  Change the C code to use a proper union type instead.
2008         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
2009         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
2010         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
2011         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
2012         (mark_kboards):
2013         Use union buffered_input_event, not struct input_event.
2014         (clear_event, deliver_input_available_signal, process_special_events):
2015         Remove unnecessary forward decls.
2016         (kbd_buffer_store_buffered_event): New function, mostly just the
2017         old kbd_buffer_store_event_hold, except its argument is of type
2018         union buffered_input_event, not struct input_event.
2019         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
2020         not needed otherwise.  Argument is now of type
2021         struct selection_input_event *, not struct input_event *.
2022         All callers changed.
2023         (clear_event): Arg is now of type union buffered_input_event *,
2024         not struct input_event *.  All callers changed.
2025         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
2026         (union buffered_input_event): New type.
2027         (kbd_buffer_store_event_hold): Now an inline function,
2028         defined here.
2029         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
2030         (struct input_event): Use it.
2031         * src/xselect.c (struct selection_event_queue):
2032         Make elements be of type struct selection_input_event,
2033         not struct input_event.
2034         (selection_input_event_equal): New static function.
2035         (x_queue_event): Use it.
2036         (x_queue_event, x_decline_selection_request)
2037         (x_selection_current_request, x_reply_selection_request)
2038         (x_handle_selection_request, x_handle_selection_clear)
2039         (x_handle_selection_event): Use struct selection_input_event,
2040         not struct input_event.  All callers changed.
2041         (x_convert_selection): Omit unused first arg.  All callers changed.
2042         (Fx_disown_selection_internal): Omit unnecessary union.
2043         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
2044         rather than rolling our own equivalent.  Prefer sie.kind when
2045         setting up that kind of structure.
2046         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
2047         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
2048         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
2049         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
2050         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
2051         (SELECTION_EVENT_TIME, x_handle_selection_event):
2052         Arg is now of type struct selection_input_event *)
2053         not struct input_event *.  All callers changed.
2055 2015-06-23  Glenn Morris  <rgm@gnu.org>
2057         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
2059 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2061         * lisp/isearch.el: Fold many unicode characters to ASCII
2062         (isearch-character-fold-search, isearch--character-fold-extras)
2063         (isearch--character-fold-table): New variable.
2064         (isearch--character-folded-regexp): New function.
2065         (isearch-search-fun-default): Use them.
2066         * lisp/replace.el (replace-character-fold): New variable.
2067         (replace-search): Use it.
2068         * etc/NEWS: Document it.
2070 2015-06-23  Glenn Morris  <rgm@gnu.org>
2072         Check for an input event before showing a dialog box.  (Bug#20813)
2073         * lisp/subr.el (y-or-n-p):
2074         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
2075         as last-nonmenu-event.
2077 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
2079         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
2080         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
2081         (switch-to-prev-buffer, switch-to-next-buffer): Respect
2082         switch-to-visible-buffer independent of the windows history.
2084 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2086         * src/keyboard.c (last_timer_event): Remove unused var.
2088 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2090         * test/automated/package-test.el (package-test-update-listing):
2091         Fix test.
2093 2015-06-23  Glenn Morris  <rgm@gnu.org>
2095         Revert 2014-06-25 nextstep/Makefile change.
2096         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
2097         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
2098         not as an order-only prerequisite.
2100         * configure.ac (--with-ns): Enable by default on OS X.
2102 2015-06-23  Leo Liu  <sdl.web@gmail.com>
2104         Fix shell-for/backward-command to exclude spaces
2105         * lisp/shell.el (shell-forward-command, shell-backward-command):
2106           Handle the 'move case from re-search-forward/backward.
2107           fixes debbugs:20873
2109 2015-06-22  Juri Linkov  <juri@linkov.net>
2111         * lisp/replace.el (query-replace-read-from): Add separator to
2112         the local binding of text-property-default-nonsticky.  (Bug#20690)
2114         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
2115         (Bug#20785)
2117 2015-06-22  Ken Brown  <kbrown@cornell.edu>
2119         Enable CPU profiling on Cygwin
2120         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
2121         change that undefined this.
2122         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
2123         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
2124           Cygwin.
2126         Improve diagnostics of profiler-cpu-start
2127         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
2128         return -1 if the sampling interval is invalid.
2129         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
2130         fails.  (Bug#20843)
2132 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2134         * lisp/emacs-lisp/package.el: Exclude packages by name
2135         (package-hidden-regexps): New variable.
2136         (package-menu--refresh): Use it.
2137         (package-menu-hide-package): New command.
2139         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
2141 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
2143         Fix debug-timer-check on systems without HAVE_TIMERFD
2144         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
2145         the expired timers, since wait_reading_process_output doesn't.
2146         (debug_timer_callback): Enlarge the tolerance to 20 msec.
2148         Fix RCS crashes in vc-test
2149         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
2150         ports of 'ci' on MS-Windows by always passing the -t- switch.
2152 2015-06-22  Glenn Morris  <rgm@gnu.org>
2154         * doc/emacs/package.texi (Packages):
2155         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
2157         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
2159 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2161         Port tests to help-quote-translation
2162         * test/automated/ert-x-tests.el (ert-test-describe-test):
2163         * test/automated/package-test.el (package-test-describe-package)
2164         (package-test-signed): Allow straight quotes, too.
2166 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
2168         Make find-function-on-key use the current window
2169         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
2170         Extract from `find-function-on-key', add a second argument.
2171         (find-function-on-key): Use it (bug#19679).
2172         (find-function-on-key-other-window)
2173         (find-function-on-key-other-frame): New commands.
2175 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2177         Revert "Define `map-elt' as a generalized variable"
2178         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
2180 2015-06-21  Ken Brown  <kbrown@cornell.edu>
2182         Drop support for CPU profiling on Cygwin
2183         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
2184         (Bug#20843)
2186 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2188         Fix some “nested” quoting confusion in doc strings
2189         * lisp/emacs-lisp/advice.el (ad-map-arglists):
2190         * lisp/kermit.el (kermit-clean-on):
2191         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
2192         * src/keyboard.c (Frecursive_edit):
2193         Use curved quotes when quoting text containing apostrophe,
2194         so that the apostrophe isn't curved in the output.
2196 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2198         Define `map-elt' as a generalized variable
2199         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
2200         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
2201         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
2202         `setf' with `map-elt'.
2203         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
2205 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
2207         Improve error handling in tramp-adb.el
2208         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
2209         Improve error handling.
2211 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2213         Reuse `alist-get' in map.el
2214         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
2215         elements.
2217 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
2219         Fix bytecomp-tests--warnings when $TMPDIR has a long name
2220         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
2221         Allow the warning to begin on the 3rd, not only 2nd line, which
2222         happens if temporary-file-directory has a very long name.
2224         Expect 2 icalendar tests to fail on MS-Windows
2225         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
2226         (icalendar-real-world): Make them expected failures on MS-Windows.
2228 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2230         Improve port of settings UI to older displays
2231         * lisp/cus-start.el (standard): Don't assume curved quotes are
2232         easily distinguishable when users are tinkering with a setting
2233         that affects how curved quotes are generated.
2235         Fix quoting in electric-quote-mode doc string
2236         * lisp/electric.el (electric-quote-mode): Fix quoting.
2237         This is a fallout from the recent change introducing
2238         ‘help-quote-translation’.
2240         Spelling fix
2242         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
2244         * src/doc.c (syms_of_doc): Remove unused symbols.
2246 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
2248         In ‘window-state-put’ undedicate target window.  (Bug#20848)
2249         * lisp/window.el (window-state-put): Undedicate target window
2250         before putting STATE into it.  (Bug#20848)
2252 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2254         Merge from origin/emacs-24
2255         a5e6f33 Fixes: debbugs:20832
2256         b9f02cf Fixes: debbugs:20832
2258 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2260         Fix file-in-directory-p when the directory is UNC
2261         * lisp/files.el (file-in-directory-p): Support files and
2262         directories that begin with "//".  (Bug#20844)
2264 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
2266         (Bug#20832)
2267         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
2268         in the minibuffer.
2270 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
2272         (Bug#20832)
2273         * lisp/calendar/todo-mode.el (todo-show): Signal an error
2274         if buffer for adding new todo file is empty but modified.
2276 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2278         (filepos-to-bufferpos): Further tweaks to the utf-16 code
2279         * lisp/international/mule-util.el (filepos-to-bufferpos):
2280         Fix typo.  Move non-exact check to the utf-16 branch (the only one
2281         affected).  Don't use byte-to-position for the utf-16 case.
2283 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2285         Minor fixes in filepos-to-bufferpos
2286         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
2287         test for utf-8-emacs.  Exempt single-byte encodings from the
2288         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
2289         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
2290         UTF-16 encoded files for CR-LF EOLs.
2292 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2294         Improve the optional translation of quotes
2295         Fix several problems with the recently-added custom variable
2296         help-quote-translation where the code would quote inconsistently
2297         in help buffers.  Add support for quoting 'like this', which
2298         is common in other GNU programs in ASCII environments.  Change
2299         help-quote-translation to use more mnemonic values: values are now the
2300         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
2301         traditional Emacs help-buffer quoting style `like this'.  Change the
2302         default behavior of substitute-command-keys to match what's done in
2303         set-locale-environment, i.e., quote ‘like this’ if displayable,
2304         'like this' otherwise.
2305         * doc/lispref/help.texi (Keys in Documentation): Document
2306         new behavior of substitute-command-keys, and document
2307         help-quote-translation.
2308         * doc/lispref/tips.texi (Documentation Tips):
2309         Mention the effect of help-quote-translation.
2310         * etc/NEWS: Mention new behavior of substitute-command-keys,
2311         and merge help-quote-translation news into it.
2312         When talking about doc strings, mention new ways to type quotes.
2313         * lisp/cedet/mode-local.el (overload-docstring-extension):
2314         Revert my recent change to this function, which shouldn't be
2315         needed as the result is a doc string.
2316         * lisp/cedet/mode-local.el (mode-local-print-binding)
2317         (mode-local-describe-bindings-2):
2318         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2319         * lisp/cus-theme.el (describe-theme-1):
2320         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2321         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2322         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
2323         (eieio-help-constructor):
2324         * lisp/emacs-lisp/package.el (describe-package-1):
2325         * lisp/faces.el (describe-face):
2326         * lisp/help-fns.el (help-fns--key-bindings)
2327         (help-fns--compiler-macro, help-fns--parent-mode)
2328         (help-fns--obsolete, help-fns--interactive-only)
2329         (describe-function-1, describe-variable):
2330         * lisp/help.el (describe-mode):
2331         Use substitute-command-keys to ensure a more-consistent quoting
2332         style in help buffers.
2333         * lisp/cus-start.el (standard):
2334         Document new help-quote-translation behavior.
2335         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
2336         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
2337         (help-xref-url-regexp):
2338         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
2339         * lisp/wid-edit.el (widget-documentation-link-regexp):
2340         Also match 'foo', in case we're in a help buffer generated when
2341         help-quote-translation is ?'.
2342         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
2343         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
2344         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
2345         (Fsubstitute_command_keys): Document and implement new behavior.
2346         (Vhelp_quote_translation): Document new behavior.
2348 2015-06-18  Glenn Morris  <rgm@gnu.org>
2350         * lisp/cus-start.el (help-quote-translation): Add :version.
2352         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
2354 2015-06-18  Alan Mackenzie  <acm@muc.de>
2356         Make translation of quotes to curly in doc strings optional.
2357         src/doc.c (traditional, prefer-unicode): new symbols.
2358         (help-quote-translation): new variable.
2359         (Fsubstitute_command_keys): make translation of quotes dependent on
2360         `help-quote-translation'; also translate curly quotes back to ASCII
2361         ones.
2362         lisp/cus-start.el (top-level): Add a customization entry for
2363         `help-quote-translation'.
2365 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2367         * lisp/emacs-lisp/package.el: Don't always propagate async errors
2368         (package--with-work-buffer-async): Only propagate the error if the
2369         callback returns non-nil.
2370         (package--download-one-archive): Return nil on the signature
2371         checking callback if we accept unsigned.
2372         (package--download-and-read-archives): Return non-nil on the
2373         archive download callback.
2375 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
2377         Fix last fix"
2379         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
2380         * src/nsfns.m (Fx_create_frame):
2381         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
2382         image_cache_refcount before first x_default_parameter call.
2384 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2386         Improve and extend filepos-to-bufferpos
2387         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2388         Don't barf if F returns nil for some argument.
2389         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
2390         that every encoding of type 'charset' is single-byte.
2392 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2394         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
2395         Properly delete packages.  (Bug#20836)
2397 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2399         Update data files from just-released Unicode 8.0
2400         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
2401         status.
2402         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
2403         * admin/unidata/BidiMirroring.txt:
2404         * admin/unidata/BidiBrackets.txt:
2405         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
2407 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
2409         Document curved quotes a bit better
2410         * doc/emacs/basic.texi (Inserting Text):
2411         Mention C-x 8.  Change example to use curved quote rather
2412         than infinity, as this lets us give more ways to do it.
2413         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
2414         and quotation marks.
2415         * doc/emacs/text.texi (Quotation Marks):
2416         * doc/lispref/tips.texi (Documentation Tips):
2417         Add "curly quotes" and "curved quotes" to the index.
2418         * doc/emacs/text.texi (Quotation Marks):
2419         Give the C-x 8 shorthands for curved quotes.
2420         Cross-reference to "Quotation Marks".
2422 2015-06-17  Daiki Ueno  <ueno@gnu.org>
2424         Add pinentry.el for better GnuPG integration
2425         * lisp/pinentry.el: New file.
2426         * etc/NEWS: Add entry about pinentry.el.
2427         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
2428         (Bug#20550)
2430 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2432         * lisp/emacs-lisp/package.el: Slightly better error reporting.
2434 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
2436         (define-minor-mode): Use setq-default for :global minor modes
2437         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
2438         Use setq-default for :global minor modes (bug#20712).
2440 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
2442         Avoid infloop in redisplay with tall images
2443         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
2444         down near ZV.  (Bug#20808)
2445         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
2446         instead of CHARPOS.
2448 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2450         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2451         Fix error reporting.
2453         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
2455         * lisp/emacs-lisp/package.el: Revert buffer after any operation
2456         Call `package-menu--post-refresh' after any operation that changes
2457         the package database (`package-install' and `package-delete').  To
2458         avoid performance issues in large transactions, these functions
2459         add `post-refresh' to `post-command-hook' instead of calling it
2460         immediately.
2461         (package-menu--mark-or-notify-upgrades): New function.
2462         (list-packages): Add it to `package--post-download-archives-hook'.
2463         (package-menu--post-refresh): Lose the upgrade-checking code, add
2464         code to remove itself from `post-command-hook'.
2465         (package-install, package-delete): Add it to `post-command-hook'.
2466         (package-menu-execute): Don't call `package-menu--post-refresh'.
2468 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
2470         Add missing function xref-location-group for elisp-mode.
2471         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
2473 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
2475         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
2476         The behavior now matches the description in the manual.  (Bug#20783)
2478 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
2480         Update tutorials/TUTORIAL.cn
2481         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
2483 2015-06-17  Glenn Morris  <rgm@gnu.org>
2485         Generate char-script-table from Unicode source.  (Bug#20789)
2486         * admin/unidata/Makefile.in (AWK): New, set by configure.
2487         (all): Add charscript.el.
2488         (blocks): New variable.
2489         (charscript.el, ${unidir}/charscript.el): New targets.
2490         (extraclean): Also remove generated charscript.el.
2491         * admin/unidata/blocks.awk: New script.
2492         * admin/unidata/Blocks.txt: New data file, from unicode.org.
2493         * lisp/international/characters.el: Load charscript.
2494         * src/Makefile.in (charscript): New variable.
2495         (${charscript}): New target.
2496         (${lispintdir}/characters.elc): Depend on charscript.elc.
2497         (temacs$(EXEEXT)): Depend on charscript.
2499         * lisp/international/characters.el (char-script-table): Tweak
2500         some ranges to better match the source.  (Bug#20789#17)
2502         Remove "no-byte-compile: t" from a few files.
2503         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
2504         * lisp/obsolete/patcomp.el: No reason not to compile these.
2506 2015-06-16  Glenn Morris  <rgm@gnu.org>
2508         Fix some typos in copied Unicode data.  (Bug#20789)
2509         * lisp/international/characters.el (char-script-table):
2510         * lisp/international/fontset.el (script-representative-chars)
2511         (setup-default-fontset): Fix typos.
2513         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
2514         Don't print filename twice (it's in the prefix now).
2516         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
2517         No longer needed.
2519         Address a compilation warning.
2520         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
2521         Replace 't' with '_' in pcase.
2523         Address some check-declare warnings.
2524         * lisp/simple.el (tabulated-list-print):
2525         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
2526         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
2527         (ns-get-selection): Update declarations.
2529         Address some compilation warnings.
2530         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
2531         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
2532         Replace 't' with '_' in pcase.
2534         Address some compilation warnings.
2535         * lisp/face-remap.el (text-scale-adjust):
2536         * lisp/menu-bar.el (popup-menu-normalize-position):
2537         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
2538         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
2539         * lisp/emacs-lisp/generator.el (cps--transform-1):
2540         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
2541         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
2542         * lisp/progmodes/octave.el (octave-goto-function-definition)
2543         (octave-find-definition-default-filename):
2544         Replace 't' with '_' in pcase.
2546         * lisp/emacs-lisp/pcase.el (pcase--u1):
2547         Paper-over today's bootstrap failure.
2549 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
2551         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
2553         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
2555         Better confirmation message in `find-alternate-file' (Bug#20830)
2556         * lisp/files.el (find-alternate-file'): Improve the confirmation
2557         message to show the buffer name.
2559         Better docstring for null. (Bug#20815)
2560         * src/data.c (null): Improves the docstring, saying what null returns
2561         when OBJECT is non-nil.
2563 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2565         * lisp/net/newst-treeview.el: Use lexical-binding.
2567         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
2568         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2569         New auxiliary function, extracted from filepos-to-bufferpos.
2570         Make sure it terminates.
2571         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
2572         Add support for the `exact' quality.
2574 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
2576         Identify feeds in newsticker treeview with :nt-feed property
2577         * lisp/net/newst-treeview.el:
2578         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
2580 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2582         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
2583         (pcase--self-quoting-p): Floats aren't self-quoting.
2584         (pcase): Tweak docstring.
2585         (pcase--u1): Deprecate the t pattern.  Improve error detection for
2586         the nil pattern.
2587         (\`): Tweak docstring.  Signal an error for unrecognized cases.
2588         (bug#20784)
2590 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
2592         Fix infloop in filepos-to-bufferpos
2593         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
2594         offset calculation, and make it conditional on the eol-type of the
2595         file's encoding.  (Bug#20825)
2597 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
2599         Fix handling of image cache refcounts.  (Bug#20802)
2600         This backports Eli Zaretskii's solution of this problem for W32
2601         to X and NS.
2602         * src/nsfns.m (image_cache_refcount): Define unconditionally.
2603         (unwind_create_frame): If the image cache's reference count
2604         hasn't been updated yet, do that now.
2605         (Fx_create_frame): Set image_cache_refcount unconditionally.
2606         * src/xfns.c (image_cache_refcount): Define unconditionally.
2607         (unwind_create_frame): If the image cache's reference count
2608         hasn't been updated yet, do that now.
2609         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
2610         unconditionally.
2611         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
2612         X and NS.
2614 2015-06-16  Nils Ackermann  <nils@ackermath.info>
2616         Improve reftex-label-regexps default value
2617         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
2618         keyvals label regexp more strict to better cope with unbalanced
2619         brackets common in math documents.
2621 2015-06-16  Glenn Morris  <rgm@gnu.org>
2623         * doc/emacs/calendar.texi (Format of Diary File):
2624         Move "nonmarking" from here...
2625         (Displaying the Diary): ... to here.
2627         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
2628         Swap the order of these nodes.
2629         * doc/emacs/emacs.texi: Update detailed menu for the above change.
2631         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
2632         Update date of examples.
2633         (Diary, Format of Diary File): Move example from former to latter.
2634         Reduce duplication.
2636         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
2637         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
2638         Don't set no-byte-compile in the outputs.
2639         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
2641 2015-06-15  Glenn Morris  <rgm@gnu.org>
2643         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
2644         * doc/emacs/calendar.texi (Diary, Format of Diary File):
2645         Update for above diary-file change.
2646         : * etc/NEWS: Mention this.
2648         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
2649         (apply-macro-to-region-lines): Use user-error.
2651         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
2652         (pages-directory-for-addresses): Doc fixes.
2654 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
2656         * lisp/info.el: Cleanup bytepos/charpos issues
2657         * lisp/international/mule-util.el: Use lexical-binding.
2658         (filepos-to-bufferpos): New function.
2659         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
2660         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
2661         (Info-read-subfile, Info-search): Use 0-based file positions.
2663         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
2664         (perl--syntax-exp-intro-keywords): New var.
2665         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
2666         (bug#20800).
2668 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2670         Fix quoting when making derived mode docstring
2671         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2672         Nest regexp-quote inside format, not the reverse.
2673         Problem reported by Artur Malabarba in:
2674         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
2676 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
2678         ;* src/fontset.c: Update obsolete commentary.
2680         Fix current-iso639-language on MS-Windows
2681         * lisp/international/mule-cmds.el (set-locale-environment):
2682         Downcase the locale name before interning it.  This is so the
2683         'current-iso639-language' on MS-Windows matches the ':lang'
2684         property of font-spec objects.
2686         Limit Symbola usage some more
2687         * lisp/international/fontset.el (setup-default-fontset): Limit
2688         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
2689         (Bug#20727)
2691 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
2693         * lisp/emacs-lisp/map.el (map-let): Better docstring.
2695 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2697         Spelling fixes
2699 2015-06-14  Glenn Morris  <rgm@gnu.org>
2701         * lisp/version.el (emacs-repository-version-git): Demote errors.
2702         Check result is a hash.
2704 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2706         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2707         Catch errors that happen before going async.  (Bug#20809)
2709 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
2711         Another improvement of documentation of set-fontset-font
2712         * doc/lispref/display.texi (Fontsets): Say explicitly that
2713         CHARACTER can be a single codepoint.
2714         * src/fontset.c (Fset_fontset_font): Doc fix.
2716         Another improvement for symbol and punctuation characters
2717         * lisp/international/fontset.el (setup-default-fontset): Exclude
2718         from Symbola character ranges for symbols and punctuation covered
2719         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
2720         installed and where its coverage of symbols and punctuation is
2721         known to be good.  (Bug#20727)
2723 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
2725         Some generic support for multi-mode indentation.
2726                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
2727                 variable.
2728                 (prog-first-column, prog-widen): New convenience functions.
2730 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2732         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2733         Don't assume that `tabulated-list-printer' will leave point at the
2734         end of the buffer.  (Bug#20810)
2736 2015-06-13  Glenn Morris  <rgm@gnu.org>
2738         Tweaks for getting repository version; a bit more like it was for bzr.
2739         * lisp/version.el (emacs-repository-version-git)
2740         (emacs-repository--version-git-1): New functions,
2741         split from emacs-repository-get-version.
2742         (emacs-repository-get-version): Make the second argument meaningful.
2744         * lisp/startup.el (command-line-1): Inform if skipping relative
2745         file names due to deleted PWD.
2747         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
2748         when starup directory is missing.  (Bug#18851)
2749         (errno.h): Include it.
2751 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
2753         Better fix for documenting `X as "`X"
2754         Fix suggested by Stefan Monnier.
2755         * lisp/help-fns.el (help-fns--signature):
2756         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
2757         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2758         Don't treat `X specially, as help-fns--signature now handles this.
2760 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
2762         Improve the default fontset when Symbola is not installed
2763         * lisp/international/fontset.el (setup-default-fontset): Only
2764         prepend Symbola and FreeMono font specs for symbols and
2765         punctuation; do not replace the default spec for them.  This
2766         should have better results when Symbola/FreeMono are not
2767         installed.  (Bug#20727)
2769         Improve documentation of ':lang' in font specs
2770         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
2771         use of the ':lang' property of the font spec.
2772         * doc/emacs/frames.texi (Fonts): Document the language names that
2773         can be in the STYLE part of XLFD.
2774         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
2775         property.
2777         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
2779         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
2781         Revert last change in fontset.el
2782         * lisp/international/fontset.el (setup-default-fontset): Revert
2783         the change "Configure Symbola font only if installed", since font
2784         search is evidently not yet set up when this function is called.
2785         (Bug#20727)
2787 2015-06-12  Glenn Morris  <rgm@gnu.org>
2789         Ensure early startup warnings are visible at the end.  (Bug#20792)
2790         * lisp/emacs-lisp/warnings.el (display-warning):
2791         If startup isn't complete, delay the warning.
2792         * lisp/startup.el (normal-top-level, command-line):
2793         Let display-warning automatically handle the needed delays.
2794         Run delayed-warnings-hook.
2796         * lisp/version.el (emacs-repository-get-version):
2797         Avoid calling external executable if possible.  (Bug#20799)
2799 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2801         Document `X as "`X", not as "(` X)"
2802         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2803         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
2805         * src/print.c (print_object): Minor simplification.
2807 2015-06-12  Glenn Morris  <rgm@gnu.org>
2809         * src/buffer.c (init_buffer): Add final newline to message.
2811 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2813         Configure Symbola font only if installed
2814         * lisp/international/fontset.el (setup-default-fontset):
2815         Don't specify the Symbola font if it's not installed.
2816         Likewise for FreeMono.  (Bug#20727)
2818 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
2820         Configure Symbola font only for symbols and punctuation
2821         * lisp/international/fontset.el (setup-default-fontset): Leave
2822         only symbols and punctuation in the fontset setup for Symbola
2823         font; remove "Greek and Coptic" and "Cyrillic Supplement".
2824         (Bug#20798)
2826 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
2828         Fix crash in fontset-info
2829         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
2830         non-nil.
2832 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2834         Port to Solaris 10 sparc + Sun C 5.13
2835         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
2836         Adjust to process.c change.
2837         * src/process.c (create_process): Declare volatile variables at
2838         top level of this function, so that they're less likely to be
2839         reused later in the function in the code executed by the vforked
2840         child.  Do not declare locals used only in the vforked child, as
2841         they might share memory with locals still live in the parent.
2842         Instead, use the same variables in the child as in the parent.
2843         This works around a subtle bug that causes a garbage collector
2844         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
2846 2015-06-12  Glenn Morris  <rgm@gnu.org>
2848         * lisp/startup.el (normal-top-level): Don't let *Messages* get
2849         a nil default-directory.
2851 2015-06-11  Glenn Morris  <rgm@gnu.org>
2853         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
2855         Some progress towards starting with PWD deleted.  (Bug#18851)
2856         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
2857         * lisp/startup.el (normal-top-level, command-line-1):
2858         * lisp/minibuffer.el (read-file-name-default):
2859         Handle default-directory being nil.
2861 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
2863         Fix "not a tty" bug on Solaris 10
2864         * configure.ac (PTY_OPEN): Define to plain 'open'
2865         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
2866         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
2867         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
2868         hosts that call grantpt which does its work via a setuid subcommand
2869         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
2870         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
2871         seems relevant in that case too.
2873 2015-06-11  Juri Linkov  <juri@linkov.net>
2875         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
2876         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
2877         (Bug#20785)
2879 2015-06-11  Glenn Morris  <rgm@gnu.org>
2881         * lisp/international/characters.el (char-script-table): Fix typo.
2883 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
2885         Fix quoting of help for functions with odd names
2886         While investigating Bug#20759, I discovered other quoting problems:
2887         C-h f mishandled characters like backslash and quote in function names.
2888         This fix changes the behavior so that 'C-h f pcase RET' now
2889         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
2890         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
2891         in src/lread.c's read1 function says that the backslash will be
2892         needed starting in Emacs 25, which implies that 'format' is
2893         correct and the old pcase documention was wrong to omit the backslash.
2894         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
2895         * lisp/help-fns.el (help-fns--signature):
2896         * lisp/help.el (help-add-fundoc-usage):
2897         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
2898         Use help--make-usage-docstring rather than formatting
2899         help-make-usage.
2900         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
2901         Return raw docstring.
2902         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
2903         raw docstring.  Take more care to distinguish raw from cooked dstrings.
2904         (describe-function-1): Let help-fns--signature substitute
2905         command keys.
2906         * lisp/help.el (help--docstring-quote): New function.
2907         (help-split-fundoc): Use it, to quote funny characters more
2908         systematically.
2909         (help--make-usage): Rename from help-make-usage, since this
2910         should be private.  Leave an obsolete alias for the old name.
2911         (help--make-usage-docstring): New function.
2912         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
2914 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2916         * lisp/thingatpt.el (in-string-p): Revert last change,
2917         since in-string-p is not used in thingatpt.el but only from outside.
2918         Also, use lexical binding.
2920 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
2922         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
2923         * test/automated/let-alist.el (let-alist-cons): Test it.
2925 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2927         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
2929 2015-06-10  Glenn Morris  <rgm@gnu.org>
2931         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
2933         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
2934         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
2935         * admin/gitmerge.el (gitmerge-commit-message):
2936         Exclude "skipped" messages from ChangeLog once again.
2938         Slight namespace cleanup for thingatpt.el.
2939         * lisp/thingatpt.el (thing-at-point--in-string-p)
2940         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
2941         (thing-at-point--read-from-whole-string): Rename from
2942         old versions without "thing-at-point--" prefix.
2943         Keep old versions as obsolete aliases.  Update all uses.
2945         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
2946         Move requiring of finder from here...
2947         (checkdoc-package-keywords): ... to here.
2949         Use 'user-error' in a few calendar files.
2950         * lisp/calendar/appt.el (appt-add):
2951         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
2952         (calendar-generate):
2953         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
2954         Replace 'error' with 'user-error'.
2956         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
2958         * lisp/files-x.el (add-file-local-variable):
2959         Special-case 'lexical-binding'.  (Bug#20641)
2961         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
2962         No longer autoload.
2963         * doc/misc/autotype.texi (Executables):
2964         Undocument executable-self-display.
2966         * lisp/progmodes/executable.el (executable-self-display):
2967         Use non-obsolete tail syntax.  (Bug#20779)
2968         (executable-self-display): Doc update.
2970 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2972         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
2973         (finder-known-keywords): Silence byte-compiler.
2975 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2977         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
2979         * lisp/progmodes/sh-script.el: Better handle nested quotes
2980         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
2981         (sh-font-lock-quoted-subshell): Make sure double quotes within single
2982         quotes don't mistakenly end prematurely the surrounding string.
2984         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
2986 2015-06-09  Glenn Morris  <rgm@gnu.org>
2988         * test/automated/Makefile.in (ELFILES): Sort.
2990         * Makefile.in (SUBDIR_MAKEFILES):
2991         * lwlib/Makefile.in (WARN_CFLAGS):
2992         Use built-in Make functions rather than echo+sed.
2994 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
2996         Update char-script-table
2997         * lisp/international/characters.el (char-script-table): Update
2998         from Unicode 8.0 Draft.
3000         Improve font selection for punctuation and other symbols
3001         * src/fontset.c (face_for_char): If the character's script is
3002         'symbol', and the font used for ASCII face has a glyph for it, use
3003         the font for the ASCII face instead of searching the fontsets.
3004         This comes instead of NS-specific code that used the current
3005         face's font instead, which is now disabled due to undesirable
3006         consequences.  (Bug#20727)
3008 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
3010         Skip past `#' to find BEG
3011         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
3012         past `#' to find BEG (bug#20771).
3013         * test/automated/elisp-mode-tests.el
3014         (elisp-completes-functions-after-hash-quote): New test.
3016 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3018         Fix compilation warning/error in --without-x builds
3019         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
3020         code on HAVE_WINDOW_SYSTEM.
3022         Improve the default fontset wrt symbols
3023         * lisp/international/fontset.el (setup-default-fontset): Better
3024         setup of fontset-default for symbols: use Symbola and FreeMono.
3025         (Bug#20727)
3027 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3029         Add new command checkdoc-package-keywords
3030         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
3031           defcustom.
3032         (checkdoc-list-of-strings-p): Add doc.
3033         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
3034         non-nil, call `checkdoc-package-keywords'.
3035         (checkdoc-get-keywords): New defun.
3036         (checkdoc-package-keywords): New command. Warns if the current file
3037         has package.el-style keywords that aren't in `finder-known-keywords'.
3038         * etc/NEWS: Add entry.
3040 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3042         Avoid crashes when key-binding is called from a timer
3043         * src/keymap.c (Fkey_binding): Don't segfault if called with an
3044         empty vector as KEY.  (Bug#20705)
3046         Fix a thinko in arc-mode.el
3047         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
3048         non-Zip64 case.  (Bug#20769)
3050 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
3052         * lisp/emacs-lisp/package.el (package-delete): Make interactive
3054 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3056         checkdoc.el (checkdoc-file): New function
3057         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
3058           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
3059           to the standard output.
3060         (bug#20754)
3062 2015-06-07  Glenn Morris  <rgm@gnu.org>
3064         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
3066         * src/font.c (syms_of_font) <font-log>: Doc fix.
3068         Remove the obsolete leading "*" from some C doc strings.
3069         * src/coding.c (syms_of_coding):
3070         * src/font.c (syms_of_font): Remove leading "*" from docs.
3071         * lisp/cus-start.el (enable-character-translation): Add it.
3073 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
3075         Move gen_origin from program to data
3076         That way, 'make change-history' needs to change only ChangeLog.2,
3077         instead of having to change two files.
3078         * ChangeLog.2: Add commit info for range that this file covers.
3079         * Makefile.in (new_commit_regexp): New macro.
3080         (change-history-nocommit): Simplify, by putting what used to be
3081         the gen_origin value into the data (ChangeLog.2) rather than
3082         into the program (gitlog-to-emacslog).
3083         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
3084         the input file (e.g., ChangeLog.2) rather than by having a
3085         constant in the program.  Substitute it into the output.
3087 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
3089         Escape any quotes in the function name
3090         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
3091         function name (bug#20759).
3093 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
3095         Adapt 'struct timespec' to next release of MinGW runtime
3096         * nt/inc/ms-w32.h (struct timespec): Don't declare if
3097         __struct_timespec_defined is defined.
3099 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3101         Merge from gnulib
3102         This incorporates:
3103         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
3104         2015-06-05 stdio: Don't redefine gets when using C++
3105         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
3106         2015-06-02 file-has-acl: fix build on Mac OS X 10
3107         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
3108         2015-06-01 pthread_sigmask: discount system version if a simple macro
3109         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
3110         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
3111         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
3112         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
3113         * lib/gnulib.mk: Regenerate.
3115 2015-06-06  Juri Linkov  <juri@linkov.net>
3117         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
3118         before calling grep-compute-defaults because now it affects the
3119         command lines computed in grep-compute-defaults. (Bug#20728)
3121 2015-06-06  Glenn Morris  <rgm@gnu.org>
3123         Address some compilation warnings.
3124         * lisp/international/mule-cmds.el (w32-get-console-codepage)
3125         (w32-get-console-output-codepage):
3126         * lisp/progmodes/elisp-mode.el (xref-collect-references):
3127         * lisp/version.el (cairo-version-string): Declare.
3128         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
3130 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3132         Fix display when a font claims large values of ascent and descent
3133         This fixes bug#20628.
3134         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
3135         coordinate of a hollow cursor glyph when the original glyph's
3136         ascent is too small.
3137         (get_font_ascent_descent, normal_char_ascent_descent)
3138         (normal_char_height): New functions.
3139         (handle_single_display_spec, append_space_for_newline)
3140         (calc_pixel_width_or_height, produce_stretch_glyph)
3141         (calc_line_height_property): Use normal_char_ascent_descent and
3142         normal_char_height.
3143         (x_produce_glyphs): When font-global values of ascent and descent
3144         are too large, use per-character glyph metrics instead, if
3145         possible.  But don't allow the glyph row's ascent and descent
3146         values become smaller than the values from the metrics of the
3147         font's "normal" character.
3148         * src/xftfont.c (xftfont_draw):
3149         * src/w32font.c (w32font_draw): Correct the values of ascent and
3150         descent used to draw glyphless characters' hex code in a box.
3151         * src/xterm.c (x_draw_glyph_string_background):
3152         * src/xdisp.c (x_produce_glyphs):
3153         * src/w32term.c (x_draw_glyph_string_background):
3154         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
3155         to detect fonts whose global ascent and descent values are too
3156         large to be used in layout decision, and redraw the background
3157         when that happens.
3158         * src/dispextern.h (FONT_TOO_HIGH): New macro.
3159         (get_font_ascent_descent): Add prototype.
3160         * src/xterm.c (x_new_font):
3161         * src/w32term.c (x_new_font):
3162         * src/nsterm.m (x_new_font):
3163         * src/font.c (font_open_entity):
3164         * src/composite.c (composition_gstring_width): Use
3165         get_font_ascent_descent to obtain reasonable values for ascent and
3166         descent of a font.
3168 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3170         Add assertion in adjust_point_for_property
3171         * src/keyboard.c (adjust_point_for_property): Add eassert for
3172         current buffer being shown in selected window.
3174 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
3176         Replace uses of in-string-p; make it obsolete
3177         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
3178         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
3180 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3182         Fix Dired display of an explicit list of files by ls-lisp.el
3183         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
3184         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
3185         correct for when displaying individual files separately, not as
3186         part of listing a directory, in which case these values are not
3187         recomputed by 'ls-lisp-insert-directory', but used verbatim.
3189         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
3191 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3193         Do not adjust point in a non-selected window
3194         * src/keyboard.c (command_loop_1): Do not adjust point when
3195         current buffer is not shown in selected window (Bug#20590).
3197         * etc/DEBUG: Mention 'maybe_call_debugger'
3199 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
3201         Fix a unit test for map.el
3202         * test/automated/map-tests.el (test-map-let): Fix the test to work
3203         with the new syntax of `map-let'.
3205         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3207         Better syntax for the map pcase pattern
3208         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
3209         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
3211         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
3213         Fix a byte-compiler error in map-put and map-delete
3214         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
3215         called with a symbol.
3217 2015-06-05  Glenn Morris  <rgm@gnu.org>
3219         * admin/gitmerge.el (gitmerge-commit-message):
3220         Revert to including "skipped" messages in ChangeLog once again.
3222 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
3224         Use string> instead of equiv lambda with string<
3225         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
3226         lambda with string<.
3228 2015-06-05  Glenn Morris  <rgm@gnu.org>
3230         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
3231         (map--delete-array): Fix typo.
3233         * test/automated/map-tests.el: Replace "assert" with "should".
3235         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
3236         (SUBDIRS_REL): Derive from SUBDIRS.
3238         Tweak some build messages.
3239         * lisp/Makefile.in ($(lisp)/loaddefs.el):
3240         * lisp/cus-dep.el (custom-make-dependencies):
3241         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
3242         * lisp/international/titdic-cnv.el (batch-titdic-convert):
3243         Don't say how to compile.
3245 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
3247         Omit U+0332 COMBINING LOW LINE in previous change
3248         It turns out that it does not work on Ubuntu 15.04.
3250         Fix transliteration of Bahá'í months
3251         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
3252         Improve quality of Latin transliteration of Bahá'í month names.
3254         Fix curved quotes in a few places
3255         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
3256         The strings in question are not doc strings, so this partially
3257         undoes the recent change that assumed they were doc strings.
3258         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
3259         * lisp/info.el (Info-finder-find-node):
3260         Use curved quotes.
3261         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
3262         Also allow curved quotes in doc strings.
3264 2015-06-04  Glenn Morris  <rgm@gnu.org>
3266         * lisp/Makefile.in (AM_V_at): Add missing definition.
3268         * lisp/Makefile.in: Quieten output a bit.
3269         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
3270         Don't echo directories, since the commands we invoke print them.
3272         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
3273         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
3274         (SUBDIRS_SUBDIRS): New variables.
3275         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
3276         Remove.
3277         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
3278         (update-subdirs, compile-main, compile-clean):
3279         Replace "setwins" usage with new "SUBDIRS" variables.
3281         * lisp/vc/compare-w.el (compare-windows-get-window-function):
3282         Fix :version tag.
3284 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3286         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
3288         Undo removal of x_clear_area call on expose for GTK3 or cairo.
3289         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
3290         exposed area.  (Bug#20677)
3292 2015-06-04  Glenn Morris  <rgm@gnu.org>
3294         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
3296         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
3298         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
3299         Rename from quail-lao-update-translation, since lao.el defines that.
3301 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
3303         Handle new-style advice in find-funct
3304         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
3305         Handle new-style advice.  Return the symbol's function definition.
3306         (Bug#20718)
3307         (find-function-library): Update accordingly.
3309 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
3311         Merge branch 'map'
3313         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
3315         Add new function string-greaterp
3316         * lisp/subr.el (string-greaterp): New function.  Also aliased to
3317         `string>'.
3318         * test/automated/subr-tests.el (string-comparison-test): Add unit
3319         tests for `string>'and `string<'.
3320         * src/fns.c (string-lessp): Better docstring.
3322 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
3324         Fix timezone-related functions on MS-Windows
3325         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
3326         'xputenv', even if no reallocation of tzvalbuf was necessary.
3327         This fixes a bug in timezone-related functions on MS-Windows.
3328         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
3330 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3332         Don't pass raw directory name to 'error'
3333         * lisp/files.el (basic-save-buffer-2): Avoid format error if
3334         a directory name contains a string like "%s".
3336 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
3338         Override 'grep --color=always'
3339         * lisp/progmodes/xref.el (xref-collect-matches):
3340         Override --color=always in grep-find-template.
3342 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3344         Fix error introduced recently in file-notify-tests.el
3345         * test/automated/file-notify-tests.el
3346         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
3347         (file-notify--deftest-remote): Revert previous patch, not
3348         necessary anymore.
3350 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
3352         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
3353         Starting from a display string after a newline, point went to the
3354         previous line.  Also, fix an inadvertent use of a buffer position
3355         with FETCH_BYTE.  (Bug#20701)
3357 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3359         Instrument file-notify-test.el in order to catch hydra error.
3360         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
3361         Wrap body by `ignore-case', in order to trap non-local errors.
3363 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3365         Undo previous changes in non-toolkit scroll bar drawing.
3366         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
3367         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
3369 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3371         * .gitignore: Also ignore doc/*/*/*.html and .ps.
3373         Support quotes 'like this' in info files
3374         This is possible when 'makeinfo --disable-encoding' is used
3375         in Texinfo 5.
3376         * lisp/calc/calc-help.el (calc-describe-thing):
3377         * lisp/gnus/gnus-art.el (gnus-button-alist):
3378         * lisp/info.el (Info-find-index-name):
3379         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
3380         Also support quotes 'like this'.
3381         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
3382         * lisp/finder.el (finder-font-lock-keywords): Remove var that
3383         hasn't been used in years, instead of bothering to fix its quoting.
3385 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3387         * .gitignore: Remove !test/etags/html-src/*.html.
3388         It's no longer needed, since *.html was removed.  Sort.
3390 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3392         Restore <D> instead of '.' in grep-find-template
3393         * lisp/cedet/semantic/symref/grep.el
3394         (semantic-symref-grep-use-template): Update a comment.
3395         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
3396         instead of '.' in grep-find-template (bug#20719).
3397         (rgrep): Pass nil as the directory to rgrep-default-command.
3398         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
3399         default value for DIR.
3400         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
3401         workaround.
3403 2015-06-02  Glenn Morris  <rgm@gnu.org>
3405         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
3407         * configure.ac (emacs_config_features): Add Cairo.
3409         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
3411 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
3413         Ensure, that autorevert works for remote files in file-notify-tests.el
3414         * test/automated/file-notify-tests.el (file-notify--test-desc):
3415         New defvar.
3416         (file-notify--test-remote-enabled)
3417         (file-notify-test00-availability, file-notify-test01-add-watch)
3418         (file-notify-test02-events): Use it.
3419         (file-notify--test-event-test): Check proper descriptor.
3420         (file-notify-test03-autorevert): Ensure, that
3421         `visited-file-modtime' has changed.
3422         (Bug#20392)
3424 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
3426         Add a pcase pattern for maps and `map-let' based on it
3427         * lisp/emacs-lisp/map.el (map-let): New macro.
3428         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
3429         * test/automated/map-tests.el: New test for `map-let'.
3431 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3433         Reuse rgrep mechanics in xref-find-regexp
3434         * lisp/progmodes/grep.el (rgrep-default-command):
3435         Extract from `rgrep'.
3436         * lisp/progmodes/xref.el (xref-collect-references): Split from
3437         `xref-collect-matches'.  Only handle the case of symbol search.
3438         (xref-collect-matches): Instead of Semantic Symref, use
3439         `rgrep-default-command', to take advantage of its directory and
3440         file ignore settings.
3441         (xref--collect-match): Remove the last argument, leaving the
3442         regexp construction up to the caller.
3443         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
3444         Change to take the xref-collect- function to use as an argument.
3445         (elisp-xref-find): Update accordingly.
3446         * lisp/progmodes/etags.el (etags--xref-find-matches)
3447         (etags-xref-find): Same.
3449         Move xref-elisp-location to elisp-mode.el
3450         * lisp/progmodes/xref.el (xref-elisp-location)
3451         (xref-make-elisp-location, xref-location-marker): Remove here.
3452         (xref--xref): Don't limit the type of the location slot.
3453         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
3454         Define as a cl-struct here.
3455         (xref-location-marker): Move here.
3457 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
3459         Minor tweaks for .gitignore
3460         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
3461         ignore admin/notes/tags that might be ignored as TAGS on
3462         case-insensitive filesystems.  (Bug#20710)
3464 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3466         Generate curved quotes in ert doc
3467         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
3468         (ert-results-mode-menu)
3469         (ert-results-pop-to-backtrace-for-test-at-point)
3470         (ert-results-pop-to-messages-for-test-at-point)
3471         (ert-results-pop-to-should-forms-for-test-at-point)
3472         (ert-describe-test):
3473         Quote ‘like this’, not `like this', when generating doc strings
3474         and the like.
3475         * test/automated/ert-x-tests.el (ert-test-describe-test):
3476         Allow quoting ‘like this’.
3478 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
3480         Add test for previous commit
3481         * test/automated/replace-tests.el: New file.
3482         (query-replace--split-string-tests): Add test for previous commit.
3484         Avoid confusion in query-replace history when replacing NUL chars
3485         * lisp/replace.el (query-replace--split-string): New function.
3486         (query-replace-read-from): Rely on the 'separator' property
3487         instead of searching for the NUL character (Bug#20690).
3489 2015-06-02  Glenn Morris  <rgm@gnu.org>
3491         Merge from origin/emacs-24
3492         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3494         * admin/gitmerge.el (gitmerge-commit-message):
3495         Exclude "skipped" messages from ChangeLog.
3497 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
3499         Sync with Tramp repository
3500         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
3501         messages.
3502         (tramp-handle-make-auto-save-file-name): When calling
3503         `make-auto-save-file-name' internally, make sure it uses Unix-like
3504         behavior, not Windows-like behavior.
3505         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
3506         the local case, because "chown" might fail on w32.
3507         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
3508         for XEmacs.
3510 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
3512         MS-Windows followup for batch stdout/stderr output changes
3513         * lisp/international/mule-cmds.el (set-locale-environment): In
3514         batch mode, use console codepages for keyboard and terminal
3515         encoding.  (Bug#20545)
3517         Update .gitattributes for DOS EOL files
3518         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
3519         CRLF end-of-line format.
3521         NS equivalents of xterm.c and w32term.c changes
3522         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
3523         glyph string background also when the font in use claims
3524         preposterously large global height value.  Helps to remove
3525         artifacts left from previous displays when glyphless characters
3526         are displayed as hex code in a box.
3527         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
3528         value for FRAME_LINE_HEIGHT, even when a font claims very large
3529         value for its height.
3531 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
3533         Avoid grave accent quoting in stderr diagnostics
3534         A few Emacs diagnostics go directly to stderr, and so can't easily
3535         contain curved quotes (as non-UTF-8 locales might mishandle them).
3536         Instead of bothering to add support for this rarity, reword the
3537         diagnostics so that they don't use grave accent to quote.
3538         * src/alloc.c (mark_memory): Fix comment.
3539         * src/buffer.c (init_buffer):
3540         * src/dispnew.c (init_display):
3541         * src/emacs.c (main, sort_args):
3542         * src/lread.c (dir_warning):
3543         * src/term.c (init_tty):
3544         * src/unexmacosx.c (unexec):
3545         * src/xfns.c (select_visual):
3546         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
3547         Reword stderr diagnostics to avoid quoting `like this'.
3548         * src/unexmacosx.c: Include errno.h.
3549         * src/xfns.c (select_visual): Encode value for locale.
3551 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3553         Treat batch stdout/stderr like standard display
3554         Calls like (print FOO) could generate improperly encoded or
3555         hard-to-read output if FOO contains characters outside the system
3556         locale.  Fix this by treating batch stdout and stderr like
3557         interactive standard display, when it comes to transliterating and
3558         encoding characters (Bug#20545).
3559         * doc/emacs/mule.texi (Communication Coding):
3560         * doc/lispref/display.texi (Active Display Table):
3561         * doc/lispref/nonascii.texi (Locales):
3562         * etc/NEWS:
3563         * src/coding.c (syms_of_coding):
3564         * src/dispnew.c (syms_of_display):
3565         Document this.
3566         * src/print.c: Include disptab.h.
3567         (printchar_to_stream): New function, with much of the guts of the
3568         old Fexternal_debugging_output, except this one also uses the
3569         standard display table.
3570         (printchar, strout, Fexternal_debugging_output): Use it.
3572 2015-05-31  Glenn Morris  <rgm@gnu.org>
3574         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
3576 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3578         Remove unused DEFSYMs
3579         Remove DEFSYMs that aren't used at the C level.  Also:
3580         * src/decompress.c (Qzlib_dll):
3581         * src/font.c (Qunicode_sip):
3582         * src/frame.c (Qtip_frame):
3583         * src/ftfont.c (Qserif):
3584         * src/gnutls.c (Qgnutls_dll):
3585         * src/xml.c (Qlibxml2_dll):
3586         Move from here ...
3587         * src/w32fns.c (syms_of_w32fns): ... to here,
3588         as these are used only on MS-Windows.
3590 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
3592         Use another default value for tramp-histfile-override
3593         * lisp/net/tramp-sh.el (tramp-histfile-override):
3594         Use ".tramp_history" as default.
3595         Fixes: debbugs:#20446
3597 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
3599         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3601 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
3603         * etc/NEWS: Add an entry about map.el
3605         Improve the docstring of functions in map.el
3606         Since a map is not a data structure but a concept, adding information
3607         about the possible types of maps can be useful information.
3608         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
3609         each public function.
3611 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
3613         Faster implementation of map-empty-p
3614         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
3615         specific tests depending on the type of the map.
3617         * lisp/emacs-lisp/map.el: Better docstrings.
3619 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
3621         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
3623 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
3625         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
3627         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
3629         Fix a false negative in `map-elt' with alists and values being nil
3630         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
3631         found but its associated value is nil, do not return the default
3632         value.
3633         * test/automated/map-tests.el: Add a regression test.
3635 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
3637         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
3639         Do not signal an error when trying to delete a key from an array
3640         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
3641         the key is present to avoid signaling an error.
3642         * test/automated/map-tests.el: Add a test for deleting non-existing
3643         keys from maps.
3645         * lisp/emacs-lisp/map.el: Better docstring.
3647         Minor improvement in map-elt.
3648         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
3649         doing a lookup in arrays, but check the boundaries of the array
3650         instead.
3651         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
3652         and a negative integer as key.
3654 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
3656         * test/automated/map-tests.el: Refactoring of test methods.
3658         * test/automated/map-tests.el: Renamed from map-test.el.
3660 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
3662         * lisp/emacs-lisp/map.el (map-into): Better error message.
3664         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
3666         Throw an error when converting a map into an unknown map type
3667         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
3668         * test/automated/map-test.el: Add a regression test.
3670         New library map.el similar to seq.el but for mapping data structures.
3671         * test/automated/map-test.el: New file.
3672         * lisp/emacs-lisp/map.el: New file.
3674 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3676         Make sure there's no explicit tag name
3677         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
3678         there's no explicit tag name (bug#20629).
3680 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3682         Remove format2
3683         * src/editfns.c, src/lisp.h (format2): Remove.
3684         It is more trouble than it's worth, now that we have CALLN.
3685         This is just a minor refactoring.
3686         * src/buffer.c (Fkill_buffer):
3687         * src/dbusbind.c (XD_OBJECT_TO_STRING):
3688         * src/fileio.c (barf_or_query_if_file_exists):
3689         Adjust to format2 going away.
3691         Don't misencode C-generated messages
3692         Also, be more consistent about calls to 'Fmessage' vs 'message'.
3693         * src/alloc.c (Fgc_status):
3694         Prefer AUTO_STRING to build_string for Fmessage call.
3695         * src/data.c (Fmake_variable_buffer_local)
3696         (Fmake_local_variable, Fmake_variable_frame_local):
3697         * src/doc.c (store_function_docstring):
3698         Use Fmessage, not message, since the argument can contain
3699         non-ASCII characters, and this can cause the resulting message
3700         to be incorrectly encoded for the current environment.
3701         * src/fns.c (maybe_resize_hash_table):
3702         * src/xselect.c (x_clipboard_manager_save_all):
3703         Use message, not Fmessage, since Fmessage's power isn't needed here.
3704         * src/process.c (Fmake_network_process): Reword message to avoid %s.
3705         * src/xdisp.c (vmessage): Document restrictions on message contents.
3706         (message_nolog) [false]: Remove unused code.
3708         Use \r rather than ^M in string literals
3709         This is less likely to cause problems on platforms that
3710         use CRLF (or CR!) termination for lines.
3712         Update .gitattributes to match current sources
3713         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
3714         * .gitattributes: Accommodate tests that insist on DOS format.
3715         Remove test/automated/data/decompress/foo-gzipped.
3716         Add etc/e/eterm-color.
3718 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3720         Document 'face-ignored-fonts'
3721         * doc/emacs/mule.texi (Modifying Fontsets): Document
3722         face-ignored-fonts.  (Bug#20628)
3724         Add etags test for the new -Q option
3725         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3726         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3727         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3728         test-case changes below.
3729         * test/etags/ETAGS.good_6: New file.
3730         * test/etags/cp-src/x.cc: New file.
3731         * test/etags/Makefile (CPSRC): Add x.cc.
3732         (check): Add one more test, for -Q.
3734 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3736         Use list for the tags completion table, not obarray
3737         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
3738         list instead of an obarray
3739         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
3740         (tags-completion-table): Combine those lists.
3741         (tags-completion-table): Update the docstring.
3743 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3745         Restore EOL format testing in etags
3746         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3747         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3748         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3749         test-case changes below.
3750         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
3751         * test/etags/cp-src/c.C (B): Add back stray CR character.
3752         * test/etags/c-src/dostorture.c: Add back.
3753         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
3755 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
3757         Declare Emacs on MS-Windows to be DPI-aware
3758         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
3759         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
3760         This avoids Windows entering compatibility mode for Emacs,
3761         which causes fonts to look less nice.
3763 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
3765         Improve Tramp traces.
3766         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
3767         * lisp/net/tramp.el (tramp-debug-message): Use it.
3769 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3771         backup-buffer minor reworking of internals
3772         * lisp/files.el (backup-buffer): Rework to avoid a couple of
3773         unused locals inadvertently introduced in the previous change.
3775         backup-buffer now reports .emacs.d/%backup% ills
3776         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
3777         fails due to disk space exhaustion or whatever, do not pretend
3778         that it succeeded.  More generally, do a better job of checking
3779         for I/O failures, and limit the scope of the condition-case to
3780         just the operations where file errors should be caught and ignored
3781         (Bug#20595).  Also, don't bother trying to delete later backups if
3782         an earlier deletion fails, as this is a sign of trouble and it's
3783         better to stop when there's trouble.
3785         copy-file now truncates output after writing
3786         * src/fileio.c (Fcopy_file): Truncate output after writing rather
3787         than before.  This is more likely to work than truncation before
3788         writing, if the file system is out of space or the user is over
3789         disk quota (Bug#20595).  Also, check for read errors.
3791 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3793         * lisp/emacs-lisp/package.el: Don't load from parent dir
3794         (package-load-all-descriptors): Don't load descriptors from
3795         directories above the package directories.
3797 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3799         Merge from gnulib
3800         This incorporates the following (Bug#20681):
3801         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
3802         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
3803         * lib/set-permissions.c: Copy from gnulib.
3805 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
3807         Improve Tramp traces.
3808         * lisp/net/tramp.el (tramp-call-process-region): New defun.
3809         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
3811 2015-05-29  Glenn Morris  <rgm@gnu.org>
3813         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
3815 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
3817         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
3818         The signature was changed in the cairo branch, merged on 2015-05-23.
3819         This oversight broke compiling only the non-toolkit X version.
3821 2015-05-29  Samer Masterson  <samer@samertm.com>
3823         * doc/lispref/os.texi: Update initial-buffer-choice docs.
3825 2015-05-29  Glenn Morris  <rgm@gnu.org>
3827         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
3828         Mark as an expected failure.
3830 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3832         Change package test to look for curved quotes
3833         * test/automated/package-test.el (package-test-describe-package)
3834         (package-test-signed): Search for curved single quotes as well as
3835         for grave accent and apostrophe.
3837 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
3839         gnus-art.el: Re-revert last change
3840         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
3841         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
3843 2015-05-28  Samer Masterson  <samer@samertm.com>
3845         Show files when `initial-buffer-choice' is non-nil
3846         * startup.el (command-line-1): When Emacs is given a file as an
3847         argument and `initial-buffer-choice' is non-nil, display both the file
3848         and `initial-buffer-choice'.  For more than one file, show
3849         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
3850         commands out of the command line arg parser.
3851         (initial-buffer-choice): Clarify docstring.
3853 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
3855         Fix last commit
3856         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
3857         (gnulib module qcopy-acl): Add back, as it is harmless.  This
3858         minimizes differences wrt lib/gnulib.mk.
3860         Fix the MS-Windows build as followup to gnulib update
3861         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
3862         set-permissions.c, as they don't compile on MinGW.
3863         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
3865 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
3867         Revert my change to gnus-art.el
3868         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
3869         It wasn't that important, and it caused a Gnus build to fail.  See:
3870         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
3872         New minor mode Electric Quote
3873         This lets you easily insert quotes ‘like this’ by typing
3874         quotes `like this', and similarly you can easily insert
3875         quotes “like this” by typing quotes ``like this'' (Bug#20545).
3876         * doc/emacs/basic.texi (Inserting Text):
3877         * doc/emacs/modes.texi (Minor Modes):
3878         * etc/NEWS: Document it.
3879         * doc/emacs/text.texi (Quotation Marks): New section.
3880         * lisp/electric.el (electric-quote-comment)
3881         (electric-quote-string, electric-quote-paragraph):
3882         New custom vars.
3883         (electric--insertable-p)
3884         (electric-quote-post-self-insert-function): New functions.
3885         (electric-quote-mode, electric-quote-local-mode): New minor modes.
3886         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3887         Add curved single quotes to electric-pair-text-pairs.
3888         Set electric-quote-string in this buffer.
3890         A few more doc string fixes (Bug#20385)
3892         Accept curved quotes in doc strings
3893         * lisp/info-look.el (info-lookup-guess-custom-symbol):
3894         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
3896         Generate curved quotes in pseudo-info nodes
3897         * lisp/info.el (Info-virtual-index-find-node)
3898         (Info-virtual-index, Info-apropos-find-node, info-apropos):
3899         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
3901         Fix minor quoting problems in doc strings
3902         Most of these fixes involve escaping grave accents that are
3903         actually intended to be grave accents, not left quotes.
3904         (Bug#20385)
3906         Support curved quotes in doc strings
3907         Emacs's traditional doc string style has been to quote symbols
3908         `like this'.  This worked well on now-obsolete terminals where
3909         ` and ' were symmetric quotes, but nowadays curved quotes
3910         ‘like this’ look better.  Support quoting the new way too.
3911         (Bug#20385)
3912         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
3913         ‘like-this’ as well as `like-this'.
3914         * etc/NEWS: Mention this.
3915         * lisp/cedet/mode-local.el (overload-docstring-extension)
3916         (mode-local-print-binding, mode-local-describe-bindings-2):
3917         * lisp/cus-theme.el (describe-theme-1):
3918         * lisp/descr-text.el (describe-text-properties-1, describe-char):
3919         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
3920         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
3921         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
3922         (eieio-help-constructor):
3923         * lisp/emacs-lisp/package.el (describe-package-1):
3924         * lisp/faces.el (describe-face):
3925         * lisp/help-fns.el (help-fns--key-bindings)
3926         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
3927         (help-fns--interactive-only, describe-function-1):
3928         (describe-variable):
3929         * lisp/help.el (describe-mode):
3930         * lisp/international/mule-cmds.el (describe-input-method)
3931         (describe-language-environment):
3932         * lisp/international/mule-diag.el (describe-character-set)
3933         (print-coding-system-briefly, list-input-methods)
3934         (list-input-methods-1):
3935         Insert curved quotes rather than grave accent and apostrophe.
3936         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
3937         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
3938         (checkdoc-proper-noun-region-engine):
3939         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
3940         (lisp-cl-font-lock-keywords-2):
3941         * lisp/finder.el (finder-font-lock-keywords):
3942         * lisp/gnus/gnus-art.el (gnus-button-alist):
3943         * lisp/help-fns.el (help-do-arg-highlight)
3944         (describe-function-1, describe-variable):
3945         * lisp/help-mode.el (help-xref-symbol-regexp)
3946         (help-xref-info-regexp, help-xref-url-regexp):
3947         * lisp/help.el (describe-mode):
3948         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
3949         * lisp/wid-edit.el (widget-documentation-link-regexp):
3950         Parse symbols quoted ‘like-this’ as well as `like-this'.
3951         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3952         Add "‘" and "’" to electric-pair-text-pairs.
3953         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
3954         (elisp-completion-at-point, elisp--preceding-sexp):
3955         Also treat "‘" and "’" as quoting chars.
3957         substitute-command-keys now curves quotes
3958         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
3959         * doc/lispref/help.texi (Keys in Documentation):
3960         * etc/NEWS: Document this.
3961         * src/doc.c (Fsubstitute_command_keys): Implement it.
3963 2015-05-28  Glenn Morris  <rgm@gnu.org>
3965         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
3966         (rmail-summary-by-topic, rmail-summary-by-senders):
3967         No longer strip leading/trailing whitespace.
3969         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
3970         (f90-no-block-limit): Add "enum".  (Bug#20680)
3971         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
3972         New tests.
3974 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3976         * lisp/isearch.el (isearch--current-buffer): Give a default value.
3978         Un-revert changes mistakenly dropped by f9fabb2b
3980 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3982         Merge from gnulib
3983         This incorporates:
3984         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
3985         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
3986         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
3987         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
3988         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
3989         2015-05-26 stdio: fix probe on mingw under gcc 5.1
3990         * admin/merge-gnulib (GNULIB_MODULES):
3991         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
3992         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
3993         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
3994         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
3995         Get latest versions from gnulib.
3996         * lib/get-permissions.c, lib/set-permissions.c: New files.
3997         * lib/gnulib.mk, m4/gnulib-comp.m4:
3998         Regenerate.
3999         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
4001 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
4003         Delete the old process in vc-setup-buffer
4004         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
4005         process here.
4006         (vc-do-command): Rather than here (bug#20608).
4008 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
4010         Avoid gratuitous delete-dups in face-at-point.
4011         * lisp/faces.el (face-at-point): Do not compute the properly
4012         ordered, duplicate-free list if only a single value is
4013         requested anyway.  (Bug#20519)
4015         Show the exact C-x 8 RET invocation in describe-char.
4016         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
4017         invocation instead of a template.  (Bug#20522)
4019 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4021         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
4022         (package-menu--post-refresh): Call `tabulated-list-print' with the
4023         UPDATE argument.  This only affects the refresh action, the revert
4024         action still erases tags.
4025         (package-menu-get-status): Change `assq' to `assoc'.
4026         (package-menu--mark-upgrades-1): New function.
4027         (package-menu--mark-upgrades-pending): New variable.
4028         (package-menu-mark-upgrades): Use them to delay marking until
4029         after refresh is done.
4030         (package-menu--post-refresh): Call mark-upgrades-1 if
4031         mark-upgrades-pending is non-nil.
4033 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4035         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
4037 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4039         * lisp/isearch.el (isearch--current-buffer): New var
4040         (isearch-update): Set cursor-sensor-inhibit here.
4041         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
4043         Change inhibit-point-motion-hooks to t
4044         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
4045         to t and document it as obsolete.
4047 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
4049         Support ZIP files that use Zip64 extensions
4050         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
4051         format of central directory offsets used by Zip64 extensions.
4052         (Bug#20665)
4054 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4056         New test tramp-test30-make-auto-save-file-name
4057         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
4058         (tramp-test31-special-characters)
4059         (tramp-test31-special-characters-with-stat)
4060         (tramp-test31-special-characters-with-perl)
4061         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
4062         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
4063         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
4064         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
4066         Improve tramp-handle-make-auto-save-file-name
4067         * tramp.el (tramp-auto-save-directory): Add :tags.
4068         (tramp-handle-make-auto-save-file-name): Let native
4069         `make-auto-save-file-name' use `auto-save-file-name-transforms',
4070         if `tramp-auto-save-directory' is not set.
4072 2015-05-27  Glenn Morris  <rgm@gnu.org>
4074         No longer set dired-directory in eshell.  (Bug#16477)
4075         * lisp/eshell/esh-mode.el (eshell-mode):
4076         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
4078         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
4080         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
4081         * lisp/progmodes/cc-mode.el (c-mode-help-address):
4082         Change to submit@debbugs.
4083         (c-mode-bug-package): New constant.
4084         (mail-position-on-field): Declare.
4085         (c-submit-bug-report): Insert X-Debbugs-Package header.
4086         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
4087         Mention debbugs.gnu.org.
4089 2015-05-26  Glenn Morris  <rgm@gnu.org>
4091         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
4092         (rmail-summary-by-recipients, rmail-summary-by-topic)
4093         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
4094         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
4096 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4098         Handle curved quotes in info files
4099         * lisp/calc/calc-help.el (calc-describe-thing):
4100         * lisp/info.el (Info-find-index-name)
4101         (Info-try-follow-nearest-node, Info-fontify-node):
4102         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4103         In info files, process quotes ‘like this’ the same way we process
4104         quotes `like this'.  This catches a few places we missed earlier.
4106 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
4108         xref-prompt-for-identifier: Use a list value
4109         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
4110         value, to be interpreted as a list of commands.
4111         (xref--prompt-p): New function.
4112         (xref--read-identifier): Use it.
4114 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
4116         Teach MS-Windows font back-end return per-glyph ascent/descent
4117         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
4118         values.
4119         * src/w32font.c (w32font_text_extents): Compute, cache, and
4120         accumulate per-glyph ascent and descent values, instead of copying
4121         global values from the font.  If the values are not available from
4122         the font data, i.e., non-TTF fonts, fall back on font-global values.
4123         (compute_metrics): Compute and return per-glyph ascent and descent
4124         values, if returned by GetGlyphOutlineW, falling back on
4125         font-global values.  (Bug#20628)
4126         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
4127         height of rectangle to be drawn, to be compatible with
4128         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
4129         box, when per-glyph ascent/descent values are used.
4131 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
4133         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
4134         (tabulated-list-print): Don't sort if sorter is nil
4136 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
4138         Fix Bug#20621
4139         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
4140         are major modes which set `auto-save-mode' on their own rules;
4141         Tramp shall not overwrite such settings.
4142         (Bug#20621)
4144 2015-05-26  Glenn Morris  <rgm@gnu.org>
4146         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
4147         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
4148         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
4149         Doc updates.
4150         (vc-dir-mode): Remove unnecessary autoload.
4152 2015-05-25  Philipp Stephani  <phst@google.com>
4154         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
4155         (xterm--extra-capabilities-type): Add `getSelection'.
4156         (xterm--query): Add `no-async' argument.
4157         (xterm--init-activate-get-selection): New function.
4158         (terminal-init-xterm): Use it.
4159         (xterm--init-modify-other-keys): Rename from
4160         terminal-init-xterm-modify-other-keys.
4161         (xterm--init-bracketed-paste-mode): Rename from
4162         terminal-init-xterm-bracketed-paste-mode.
4163         (xterm--init-activate-set-selection): Rename from
4164         terminal-init-xterm-activate-set-selection.
4165         (xterm--selection-char): New function.
4166         (gui-backend-set-selection): Use it.  Use the &context to only apply
4167         this method in terminals where we enabled the feature.
4168         (gui-backend-get-selection): New method.
4170 2015-05-25  Daniel Colascione  <dancol@dancol.org>
4172         Add C-language keyword constants to C++
4173         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
4174         keyword constants to C++.
4176 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4178         Make TAGS files more portable to MS-Windows
4179         * etc/NEWS: Document this.
4180         * lib-src/etags.c (readline_internal) [DOS_NT]:
4181         Don't treat CRs differently from GNUish hosts.
4182         * lisp/progmodes/etags.el (etags-goto-tag-location):
4183         Adjust STARTPOS to account for the skipped CRs in dos-style files.
4185 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4187         Improve fix of debbugs:20634 in tramp-sh.el
4189 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4191         Fix a typo in last commit
4192         * lib-src/etags.c (C_entries): Fix a typo.
4193         * test/etags/ETAGS.good_1:
4194         * test/etags/ETAGS.good_2:
4195         * test/etags/ETAGS.good_3:
4196         * test/etags/ETAGS.good_4:
4197         * test/etags/ETAGS.good_5:
4198         * test/etags/CTAGS.good: Update due to the change in etags.c.
4200         Fix tagging of class members in C-like OO languages
4201         * lib-src/etags.c (longopts): Add new option --class-qualify and
4202         its shorthand -Q.
4203         (print_help): Add help text for --class-qualify.
4204         (main): Add handling of -Q.
4205         (consider_token, C_entries) <omethodparm>: Append argument types
4206         to Objective C methods only if --class-qualify was specified.
4207         Qualify C++, Objective C, and Java class members with their class
4208         names only if --class-qualify was specified.
4209         (C_entries): If --class-qualify was not specified, remove the
4210         namespace and class qualifiers from tag names of C++ methods.
4211         This allows to use etags.el as xref back-end without the
4212         tag-symbol-match-p method, which greatly increases the number of
4213         potentially false positives.  (Bug#20629)
4214         * doc/man/etags.1: Update to document the new --class-qualify
4215         option.
4216         * test/etags/ETAGS.good_1:
4217         * test/etags/ETAGS.good_2:
4218         * test/etags/ETAGS.good_3:
4219         * test/etags/ETAGS.good_4:
4220         * test/etags/ETAGS.good_5:
4221         * test/etags/CTAGS.good: Update due to changes in etags.c.
4223 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4225         (cl-generic-define-method): Side effects are evil (bug#20644)
4226         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
4227         cons-cells that might be used as keys in an `equal' hash-table.
4229 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4231         Make erc timestamps visible again
4232         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
4233         timestamps visible again (if requested).
4235 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4237         Fix last change in etags.c that broke tagging compresed files
4238         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
4239         quoting of decompression shell command for MS-Windows/MS-DOS.
4241 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4243         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
4244         (Bug#20639)
4246 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4248         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
4250 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
4252         Fix IPv6 addresses in Tramp
4253         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
4254         Add sqare brackets around host name.
4256 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4258         Inhibit `epa-file-handler' in Tramp
4259         (Bug#20634)
4260         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
4261         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
4262         `epa-file-handler'.
4264 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4266         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
4267         (pcase-let): Document the behavior in case the pattern doesn't match.
4269 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
4271         * lisp/emacs-lisp/tabulated-list.el: New optional print method
4272         (tabulated-list-print): New optional argument, UPDATE.  If
4273         non-nil, the list is printed by only adding and deleting the
4274         changed entries, instead of erasing the whole buffer.  This method
4275         is much faster when few or no entries have changed.
4276         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
4277         * etc/NEWS: Document it.
4279         * lisp/emacs-lisp/tabulated-list.el: Improve printing
4280         (tabulated-list--get-sorter): New function.
4281         (tabulated-list-print): Restore window-line when remember-pos is
4282         passed and optimize away the `nreverse'.
4284 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
4286         Simpilify etags TEX mode scanning
4287         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
4288         Remove static vars.
4289         (TeX_commands): Deduce escapes here instead.
4290         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
4291         This removes the need for a reset_input call.
4293         Improve etags I/O error reporting
4294         * lib-src/etags.c:
4295         Don't include sys/types.h and sys/stat.h; no longer needed.
4296         (infilename): New static var.
4297         (process_file_name): Don't call 'stat'.  Instead, just open the
4298         file for reading and report any errors.  Don't bother making
4299         a copy of the file argument; it's not needed.  Be more careful to
4300         use the failing errno when reporting an error.
4301         Quote the real name better (though no perfectly)
4302         when passing it to the shell.
4303         (reset_input): New function, which reports I/O errors.
4304         All uses of 'rewind' changed to use this function.
4305         (perhaps_more_input): New function, which also checks for
4306         I/O errors.  All uses of 'feof' changed to use this function.
4307         (analyze_regex): Report an error if fclose fails.
4308         (readline_internal): Report an error if getc fails.
4309         (etags_mktmp): Return an error if close fails.
4311         etags.c: avoid side effects in 'if'
4312         * lib-src/etags.c (process_file_name, Perl_functions)
4313         (TEX_decode_env): Hoist side effects into previous statement.
4315         .gitignore tweaks
4316         * .gitignore: Ignore all *.stamp files.  Sort.
4317         Ignore [0-9]*.txt (commonly used name for git patches)
4318         and /vc-dwim-log-* (vc-dwim temporary).
4320 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
4322         Fix last change in etags.c, which failed the test suite
4323         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
4324         before the last change.
4326 2015-05-23  Glenn Morris  <rgm@gnu.org>
4328         Remove charset map files from repository, generate in first bootstrap
4329         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
4330         (all): Create the stamp file.
4331         (extraclean): Delete the stamp file.
4332         * src/Makefile.in (lispintdir, charsets): New variables.
4333         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
4334         New rules.
4335         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
4336         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
4337         * etc/charsets/*.map: Remove from repository.
4339 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4341         Cleanup etags.c to use locale-independent code
4342         Although this doesn't alter behavior (as etags doesn't use
4343         setlocale), the new version is more clearly locale-independent and
4344         the executable is a bit smaller on my platform.
4345         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
4346         Include <c-ctype.h> instead of <ctype.h>.
4347         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
4348         (begtk, midtk):
4349         Remove; no longer needed.
4350         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
4351         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
4352         c_islower, c_tolower, respectively.
4353         (notinname, begtoken, intoken, endtoken): Rewrite as functions
4354         instead of macros, and initialize the tables at compile-time
4355         rather than at run-time.
4357         Put default action first in src/Makefile
4358         * src/Makefile.in (all): Put this rule before lisp.mk.
4359         That way, plain 'make' works in the src directory again.
4361 2015-05-23  Glenn Morris  <rgm@gnu.org>
4363         * Makefile.in: Fix extraclean rule.
4364         (extraclean_dirs): New.
4365         (extraclean): Use it.
4367 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4369         Avoid compiler warning in image.c on MS-Windows
4370         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
4371         warning in image.c.
4373 2015-05-23  Glenn Morris  <rgm@gnu.org>
4375         Fix --without-toolkit-scroll-bars builds.
4376         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
4377         Add new argument to x_clear_area1.
4378         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4379         Update x_clear_area arguments.
4381         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
4382         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
4383         Change to included version.
4384         (LOCAL, local, totalclean): Remove.
4385         (extraclean): Delete all generated files.
4387 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4389         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
4391         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
4393         tags-completion-at-point-function: Don't trust the find-tag function
4394         * lisp/progmodes/etags.el (tags-completion-at-point-function):
4395         Don't trust the find-tag function.
4397 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4399         Pacify --enable-gcc-warnings
4400         * src/frame.h (x_query_color): Remove redundant extern decl.
4401         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
4402         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
4403         (ftcrfont_text_extents, ftcrfont_draw):
4404         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
4405         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
4406         (x_ins_del_lines, frame_highlight, frame_unhighlight)
4407         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
4408         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
4409         (x_update_window_begin, x_connection_closed)
4410         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4411         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
4412         (*x_gc_get_ext_data, x_extension_initialize)
4413         (x_cr_accumulate_data):
4414         Remove redundant static decl.  Many of these GCC doesn't complain
4415         about, but we might as well clean out the duplication while we're
4416         in the neighborhood.
4417         * src/xterm.c (x_fill_trapezoid_for_relief):
4418         Remove decl of nonexistent function.
4420 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4422         Replace gui-method macros with cl-generic with &context
4423         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
4424         (gui-method-declare, gui-call): Remove.
4425         (frame-creation-function): Use cl-defgeneric.
4426         (make-frame): Adjust callers.
4427         * lisp/menu-bar.el (menu-bar-edit-menu):
4428         Use gui-backend-selection-exists-p.
4429         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
4430         (gui-backend-get-selection): New cl-generic to replace
4431         gui-get-selection method.
4432         (gui-backend-set-selection): New cl-generic to replace
4433         gui-set-selection method.
4434         (gui-selection-owner-p): New cl-generic to replace
4435         gui-selection-owner-p method.
4436         (gui-backend-selection-exists-p): New cl-generic to replace
4437         gui-selection-exists-p method.  Adjust all callers.
4438         * lisp/server.el (server-create-window-system-frame): Don't ignore
4439         window-system spec even when unsupported.
4440         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
4441         * lisp/startup.el (handle-args-function, window-system-initialization):
4442         Use cl-defgeneric.
4443         (command-line): Adjust calls accordingly.
4444         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
4445         a window-system-initialization method.
4446         (handle-args-function, frame-creation-function): Use cl-defmethod.
4447         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4448         (gui-get-selection): Use cl-defmethod on the new functions instead.
4449         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
4450         a gui-backend-get-selection method.
4451         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
4452         Use cl-defmethod on the new functions instead.
4453         (msdos-window-system-initialization): Turn into
4454         a window-system-initialization method.
4455         (frame-creation-function, handle-args-function): Use cl-defmethod.
4456         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
4457         a window-system-initialization method.
4458         (handle-args-function, frame-creation-function): Use cl-defmethod.
4459         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4460         (gui-get-selection): Use cl-defmethod on the new functions instead.
4461         * lisp/term/x-win.el (x-window-system-initialization): Turn into
4462         a window-system-initialization method.
4463         (handle-args-function, frame-creation-function): Use cl-defmethod.
4464         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4465         (gui-get-selection): Use cl-defmethod on the new functions instead.
4466         * lisp/term/xterm.el (xterm--set-selection): Turn into
4467         a gui-backend-set-selection method.
4468         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
4469         (Fns_selection_owner_p): Remove unused arg `terminal'.
4470         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
4472 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4474         Revert "Fix etags Bug#20629 that broke C++ support."
4475         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
4477 2015-05-23  Jan D  <jan.h.d@swipnet.se>
4479         Fix etags Bug#20629 that broke C++ support.
4480         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
4481         from Sun May 10 (Bug#20629).
4483         Merge branch 'cairo'.
4484         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
4485         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
4487         Merge branch 'master' into cairo
4489         Fixes to compile cairo branch without cairo.
4490         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
4491         first argument.
4492         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
4493         USE_CAIRO.
4495 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
4497         * lisp/emacs-lisp/package.el: Always update selected-packages
4498         (package--update-selected-packages): New function.
4499         (package-menu-execute): Use it before starting the transaction,
4500         this way the list of selected packages is updated even when the
4501         transaction fails.
4502         (package-menu--perform-transaction): Don't edit selected-packages.
4504 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4506         Fix etags reading of compressed files
4507         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
4508         Include fcntl.h, for O_CLOEXEC.
4509         (process_file_name): Don't use 'popen', whose streams cannot be
4510         rewound.  Instead, uncompress the file to a temporary file,
4511         created by 'etags_mktmp', and read from that as usual.
4512         (etags_mktmp): New function.
4513         * test/etags/ETAGS.good_1:
4514         * test/etags/ETAGS.good_2:
4515         * test/etags/ETAGS.good_3:
4516         * test/etags/ETAGS.good_4:
4517         * test/etags/ETAGS.good_5: Update to be consistent with latest
4518         changes in etags.c regarding reading compressed files.
4520         Improve documentation of 'set-fontset-font'
4521         * doc/lispref/display.texi (Fontsets): Document the value of nil
4522         for the 3rd argument of 'set-fontset-font'.
4524         Fix documentation of forward-line
4525         * src/cmds.c (Fforward_line): Clarify the return value if the line
4526         at end of accessible portion of the buffer has no newline.
4527         * doc/lispref/positions.texi (Text Lines): Document what happens
4528         if the line at end of accessible portion of buffer has no newline.
4529         (Bug#20587)
4531 2015-05-22  Glenn Morris  <rgm@gnu.org>
4533         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
4535         * admin/charsets/mapconv (LC_ALL): Set to C.
4537         * Makefile.in: Add admin/charsets into top-level clean rules.
4538         (clean): Add admin/charsets.
4539         (maybeclean_dirs): New variable.
4540         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
4542         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
4544 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4546         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
4548 2015-05-22  Glenn Morris  <rgm@gnu.org>
4550         Generate admin/charsets Makefile via configure, and make more portable.
4551         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
4552         (admin/charsets/Makefile): Generate it.
4553         * admin/charsets/Makefile.in: Rename from Makefile.
4554         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
4555         New variables, set by configure.
4556         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
4557         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
4558         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
4559         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
4560         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
4561         (all): Declare PHONY.
4562         (local): New PHONY target.
4563         (map_template): New template.  Use to define short PHONY aliases.
4564         (*.map): Add directory prefixes to targets and prerequisites.
4565         Respect make verbosity.
4566         (JISC6226.map): Replace non-portable sed append without newline.
4567         (install): Remove rule.
4568         (clean): Only delete temporary sedscript.
4569         (bootstrap-clean, distclean, maintainer-clean, extraclean)
4570         (totalclean): New PHONY rules.
4571         * admin/charsets/mapconv (BASE): Replace basename with expr.
4572         (FILE): Add "mapfiles" subdirectory.
4573         (AWK): New variable.  Use throughout in place of "awk".
4574         (main): Use "gunzip -c" in place of "zcat".
4575         Don't leave whitespace before "p", for older sed.
4576         * admin/charsets/mapfiles/PTCP154: Add final newline,
4577         to make older sed versions happy.
4579 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
4581         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
4582         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
4583         (auto-revert-notify-watch-descriptor): Use defvar-local.
4584         (find-file-hook, auto-revert-tail-mode, )
4585         (auto-revert-notify-add-watch): Use setq-local.
4586         (auto-revert-notify-add-watch): Don't call make-local-variable on
4587         kill-buffer-hook (bug#20601).
4589 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4591         Change defgeneric so it doesn't completely redefine the function
4592         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
4593         previously defined methods.
4594         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
4595         (cl--generic-prefill-dispatchers): Only define during compilation.
4596         (cl-method-qualifiers): Remove redundant alias.
4597         (help-fns-short-filename): Silence byte-compiler.
4598         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
4600 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4602         (package-menu-execute): Remove reference to remove-dups
4604 2015-05-21  kwhite  <kwhite@gnu.org>
4606         * lisp/erc/erc.el: Hide network/channel messages
4607         (erc-network-hide-list, etc-channel-hide-list): New lists to define
4608         message types per network/channel.
4609         (erc-add-targets): New function to parse list of targets
4610         (erc-hide-current-message-p): Modified to check for new targets
4612 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4614         Don't quote nil and t in doc strings
4615         This is as per "Tips for Documentation Strings" in the elisp manual.
4616         For consistency, do the same in diagnostics and comments.
4618 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
4620         Fix a minor problem with mouse-face on mode line
4621         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
4622         mouse face also if the mouse pointer hovers above mode-line glyphs
4623         that don't come from any Lisp string.  (Bug#20620)
4625 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4627         * lisp/emacs-lisp/package.el: Fix selected-package logic
4628         (package-menu-execute): Mark as selected all non-upgrade packages
4629         being installed.
4630         (package-menu--perform-transaction): Don't mark anything.
4632         * lisp/emacs-lisp/package.el: Mode-line progress report
4633         (package-menu--transaction-status): New variable.
4634         (package-menu-mode, package-menu--perform-transaction): Use it.
4636         * lisp/emacs-lisp/package.el: Better transaction messages
4637         (package-menu--partition-transaction): New function.
4638         (package-menu--prompt-transaction-p, package-menu-execute): Use
4639         it.
4640         (package-menu--perform-transaction): Don't do any messaging.
4642         * lisp/emacs-lisp/package.el: Revert async package transactions
4643         (package-menu-async): Update doc.
4644         (package-install-from-archive, package-download-transaction)
4645         (package-install, package-menu--perform-transaction)
4646         (package-menu-execute): Remove asynchronous functionality.
4648 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4650         Revert doc string changes to f90.el
4651         Problem reported by Glenn Morris in:
4652         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
4653         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4654         Revert recent changes to doc strings, as it's intended that they
4655         use grave accent, not quote.
4657 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
4659         Improve parameter name
4661         Add new inline function `hash-table-empty-p'
4663 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
4665         Don't require help-fns when not needed
4666         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
4667         * lisp/emacs-lisp/elint.el:
4668         Don't require help-fns at the top level.
4669         * lisp/emacs-lisp/advice.el (ad-arglist):
4670         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4671         Don't require help-fns.  (Bug#17001)
4673 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
4675         Fix slash collapsing in etags on MS-Windows
4676         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
4677         MS-Windows code from the Posix code, and support collapsing both
4678         forward- and back-slashes on MS-Windows.  Fixes a regression found
4679         by the test suite.
4681         Improve documentation of glyphless-char-display
4682         * doc/lispref/display.texi (Glyphless Chars): Improve
4683         documentation of glyphless character display.
4685         Fix "acronym" display of glyphless characters on w32
4686         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
4687         ignore "acronym" substitutes of 1 character for glyphless characters.
4689 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
4691         Add an automated test for let-when-compile
4692         * test/automated/subr-tests.el (let-when-compile): New test.
4694         Add let-when-compile macro instead of using pcase-let
4695         * lisp/subr.el (let-when-compile): New let-like macro that makes its
4696         bindings known to macros like `eval-when-compile' in the body.
4697         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
4698           `let-when-compile'. Also comment out the unused lexical var
4699           `el-kws-re'.
4700         The change greatly improves readability, while providing almost the
4701         same (even shorter) byte code: instead of pre-evaluating 10 variables,
4702         tossing them into a list, and destructuring that list a full screen
4703         page later, the variables are simply bound as they are evaluated,
4704         wrapped individually in `eval-when-compile'.
4706 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
4708         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
4709         (package-delete-button-action): New function.
4710         (describe-package-1): Add Delete button.
4712         * lisp/emacs-lisp/package.el: Better dependency description
4713         (package--used-elsewhere-p): New optional arg, ALL, and return
4714         package-desc objects instead of names.
4715         (package-delete): Update accordingly.
4716         (describe-package-1): Describe which packages require the package.
4718 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
4720         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
4721         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
4722         Fix doc-string (Bug#20533).
4724         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
4725         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
4726         (switch-to-buffer): If the selected window is strongly dedicated
4727         to its buffer, signal error before prompting for buffer name.  Handle
4728         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
4729         * doc/lispref/windows.texi (Switching Buffers): Document
4730         `switch-to-buffer-in-dedicated-window'.
4732 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4734         Prefer "this" to “this” in doc strings
4735         This mostly just straightens quotes introduced in my previous patch.
4736         Suggested by Dmitry Gutov in:
4737         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
4738         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
4739         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
4740         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
4741         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
4742         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
4743         Prefer straight double quotes to curved double quotes in doc strings.
4745         Fix minor quoting problems in doc strings
4746         These were glitches regardless of how or whether we tackle the
4747         problem of grave accent in doc strings.
4748         * lisp/calc/calc-aent.el (math-restore-placeholders):
4749         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
4750         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
4751         * lisp/leim/quail/hebrew.el ("hebrew-new")
4752         ("hebrew-biblical-sil"):
4753         * lisp/leim/quail/thai.el ("thai-kesmanee"):
4754         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
4755         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
4756         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
4757         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
4758         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
4759         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
4760         (semantic-tag-components):
4761         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
4762         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4763         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
4764         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
4765         * lisp/emacs-lisp/generator.el (iter-next):
4766         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
4767         (gnus-article-mode-syntax-table):
4768         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
4769         * lisp/net/soap-client.el (soap-wsdl-get):
4770         * lisp/net/telnet.el (telnet-mode):
4771         * lisp/org/org-compat.el (org-number-sequence):
4772         * lisp/org/org.el (org-remove-highlights-with-change)
4773         (org-structure-template-alist):
4774         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
4775         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
4776         (handwrite-12pt, handwrite-13pt):
4777         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4778         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
4779         * lisp/progmodes/verilog-mode.el (verilog-tool)
4780         (verilog-string-replace-matches, verilog-preprocess)
4781         (verilog-auto-insert-lisp, verilog-auto-insert-last):
4782         * lisp/textmodes/makeinfo.el (makeinfo-options):
4783         * src/font.c (Ffont_spec):
4784         Fix minor quoting problems in doc strings, e.g., missing quote,
4785         ``x'' where `x' was meant, etc.
4786         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
4787         Fix minor quoting problem in other string.
4788         * lisp/leim/quail/ethiopic.el ("ethiopic"):
4789         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
4790         Omit unnecessary quotes.
4791         * lisp/faces.el (set-face-attribute, set-face-underline)
4792         (set-face-inverse-video, x-create-frame-with-faces):
4793         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
4794         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
4795         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
4796         * lisp/net/tramp.el (tramp-methods):
4797         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
4798         * lisp/textmodes/artist.el (artist-ellipse-right-char)
4799         (artist-ellipse-left-char, artist-vaporize-fuzziness)
4800         (artist-spray-chars, artist-mode, artist-replace-string)
4801         (artist-put-pixel, artist-text-see-thru):
4802         * lisp/vc/ediff-util.el (ediff-submit-report):
4803         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
4804         Use double-quotes rather than TeX markup in doc strings.
4805         * lisp/skeleton.el (skeleton-pair-insert-maybe):
4806         Reword to avoid the need for grave accent and apostrophe.
4807         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
4808         Don't use grave and acute accents to quote.
4810 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
4812         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
4814 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4816         Try to port new etags tests to MS-Windows
4817         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
4818         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
4819         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
4820         Adjust to test-case changes below.
4821         * test/etags/Makefile (CSRC): Remove dostorture.c.
4822         Whatever it was trying to test, wasn't working portably.
4823         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
4824         just a line-ending problem.
4825         * test/etags/c-src/dostorture.c: Remove.
4826         * test/etags/cp-src/c.C: Remove stray CR.
4827         * test/etags/html-src/algrthms.html: Remove trailing CRs.
4828         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
4829         but if someone edits it later it should stay UTF-8-compatible.
4831 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
4833         Fix display of overlapping window-specific overlays
4834         * src/keyboard.c (adjust_point_for_property): When adjusting point
4835         due to display strings, ignore overlays that are specific to
4836         windows other than the currently selected one.
4837         * src/xdisp.c (handle_single_display_spec): If the display
4838         property comes from an overlay, arrange for buffer iteration to
4839         resume only after the end of that overlay.  (Bug#20607)
4841 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
4843         New command icomplete-force-complete-and-exit
4844         * lisp/icomplete.el (icomplete-force-complete-and-exit):
4845         New command
4846         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
4847         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
4848         (icomplete-minibuffer-map): Bind C-j to it.
4849         (icomplete-forward-completions, icomplete-backward-completions):
4850         Mention the new command in the docstring.
4851         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
4852         the previous fix for bug#17545.
4854 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
4856         Fix last commit
4858         In Elisp manual explain how to override window manager positioning (Bug#20552)
4859         * doc/lispref/frames.texi (Position Parameters): Give example of
4860         how to override a window manager positioning decision.
4862         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
4863         * src/frame.c (Fdelete_frame): In doc-string mention that frame
4864         can't be deleted if it has a surrogate minibuffer.
4865         * doc/lispref/frames.texi (Minibuffers and Frames)
4866         (Deleting Frames): Explain "surrogate minibuffer frames".
4868         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
4869         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
4871 2015-05-18  Glenn Morris  <rgm@gnu.org>
4873         Add option to ignore commit lines matching a pattern in ChangeLog.
4874         * build-aux/gitlog-to-changelog: Add --ignore-line option.
4875         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
4877 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4879         Don't skip new etags tests on non-UTF-8 hosts
4880         Problem reported by Eli Zaretskii for MS-Windows.
4881         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
4882         (LC_ALL): Set to C if the current locale isn't UTF-8.
4883         (.PHONY): Remove ediff_1 thru ediff_5.
4884         (check): Always run.
4886 2015-05-18  Glenn Morris  <rgm@gnu.org>
4888         * lisp/calculator.el (calculator-funcall):
4889         * lisp/textmodes/artist.el (artist-spray-random-points):
4890         Use standard degree/radian conversion utilities.
4892         Further lisp-complete-symbol related cleanup.
4893         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
4894         Unadvertise non-functional argument.  Replace obsolete alias.
4896 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
4898         Add a test case for Maven warning ouput
4899         * test/automated/compile-tests.el
4900         (compile-tests--test-regexps-data): Add a case for Maven warning
4901         ouput.
4902         (compile--test-error-line): Check the compilation message type, if
4903         it's specified in the test data.
4905 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
4907         Update Maven compilation-mode entry to distinguish warnings
4908         * lisp/progmodes/compile.el
4909         (compilation-error-regexp-alist-alist): Update Maven entry to
4910         distinguish warnings (bug#20556).
4912 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
4914         * test/automated/sgml-mode-tests.el: New file.
4916 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
4918         Improve handling of the first Git revision
4919         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
4920         there's no next entry, delete until the end of the buffer.
4921         (log-view-end-of-defun-1): Stop at eob.
4922         * lisp/vc/vc-annotate.el
4923         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
4924         when previous-revision is nil.
4925         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
4926         with `--' to avoid ambiguity.
4927         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
4928         returned revision string.
4929         (vc-git-annotate-time): Expect `^' before the first revision.
4930         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
4931         REV1 is nil, and REV2 is not.
4932         * lisp/vc/vc.el: Update the description of the `diff' function.
4934 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
4936         Allow checkdoc to be called in batch
4937         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
4938           is non-nil, echo the error with `warn'.
4939         How it can be used in -batch:
4940         (with-current-buffer (find-file "checkdoc.el")
4941           (checkdoc-current-buffer t))
4943 2015-05-18  Glenn Morris  <rgm@gnu.org>
4945         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
4947 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4949         * admin/notes/unicode: New section "binary files".
4951         Change new etags test to use UTF-8 encoding
4952         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
4953         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
4954         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
4955         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
4956         * test/etags/html-src/softwarelibero.html:
4957         Switch to UTF-8 encoding.
4958         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
4959         Remove Makefile, as it's too incestuous to have the test input
4960         include the build procedure.
4961         (UTF8_LOCALE, UTF_ENCODING): New macros.
4962         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
4963         (check): Skip if not UTF-8.
4964         (.PHONY): New rule.
4965         (FRC): Remove, as superseded by .PHONY.  All uses removed.
4966         (regexfile): Prefer printf to echo when outputting oddball chars.
4967         (.PRECIOUS): Remove, as these files are not built.
4969         Rename 'foo-gzipped' to 'foo.gz'
4970         * test/automated/data/decompress/foo.gz:
4971         Rename from test/automated/data/decompress/foo-gzipped,
4972         to make it easier for other tools to tell that it's compressed.
4973         * test/automated/zlib-tests.el (zlib--decompress):
4974         Adjust to renamed file.
4976 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
4978         Set up default-directory
4979         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
4980         binding for `v'.
4981         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
4982         appropriate value for default-directory.
4984 2015-05-17  Samer Masterson  <samer@samertm.com>
4986         * lisp/eshell/em-term.el (eshell-term-sentinel):
4987         No-op by default, only kills term buffer if
4988         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
4989         (eshell-destroy-buffer-when-process-dies): New custom to preserve
4990         previous behavior.
4992         eshell: Introduce new buffer syntax
4993         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
4994         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
4995         needed (Bug#19319).
4996         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
4997         (eshell-get-target): Remove shorthand-specific code.
4998         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
4999         '#<buffer-name>'.
5001 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5003         Merge branch 'master' into cairo
5005 2015-04-26  Jan D  <jan.h.d@swipnet.se>
5007         Merge branch 'master' into cairo
5009         Add PBM support for cairo.
5010         * src/image.c (xcolor_to_argb32): New function.
5011         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
5012         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
5013         XImagePtr if ! USE_CAIRO.
5014         (pbm_load): Add cairo support.
5016 2015-04-12  Jan D  <jan.h.d@swipnet.se>
5018         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
5019         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
5020         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
5021         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
5022         x_free_cr_resources.
5024         Handle specified bg in images.  Use generic libpng code for PNG:s.
5025         * src/image.c (get_spec_bg_or_alpha_as_argb)
5026         (create_cairo_image_surface): New functions when USE_CAIRO.
5027         (xpm_load): Call the above functions.  Handle XPM without mask
5028         when USE_CAIRO.
5029         (png_load_body): Handle USE_CAIRO case.
5030         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
5031         instead.
5032         (jpeg_load_body): Call create_cairo_image_surface.
5033         (gif_load, svg_load_image): Handle specified background, call
5034         create_cairo_image_surface.
5035         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
5037 2015-04-11  Jan D  <jan.h.d@swipnet.se>
5039         Support GIF and Tiff with cairo.
5040         * configure.ac: Allow jpeg with cairo.
5041         Allow tiff and gif with cairo.
5042         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5043         (tiff_load): Create cairo image surface if USE_CAIRO.
5044         (gif_load): Ditto.
5046         Support JPEG with USE_CAIRO.
5047         * configure.ac: Allow jpeg with cairo.
5048         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5050 2015-04-05  Jan D  <jan.h.d@swipnet.se>
5052         Support RSVG and cairo.
5053         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
5054         * src/dispextern.h (struct image): add cr_data2 if cairo.
5055         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
5056         (x_clear_image): Free cr_data and cr_data2 if set.
5057         (xpm_load): Assign data to cr_data2.
5058         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
5060 2015-04-03  Jan D  <jan.h.d@swipnet.se>
5062         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
5063         * configure.ac (HAVE_RSVG): Move after cairo.
5064         (USE_CAIRO): Disable rsvg, don't disable Xpm.
5065         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
5066         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
5067         don't return early.
5068         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
5069         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
5070         and create a surface.
5072         Tool tips for menus did not show any text.
5073         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
5074         tip frames, the geometry may be wrong.
5076         Merge branch 'master' into cairo, fixes tooltips not shown.
5078         Merge branch 'master' into cairo
5080         Add CAIRO_CFLAGS to lwlib/Makefile.in
5081         * Makefile.in (CAIRO_CFLAGS): Add.
5083 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5085         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
5087 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5089         Draw outermost line using black relief and erase corners also for cairo.
5090         * xterm.c [USE_CAIRO]: Include math.h.
5091         (enum corners) [USE_CAIRO]: New enum.
5092         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
5093         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
5094         than 1, draw the outermost line using the black relief.
5096         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
5098 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5100         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
5102         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
5104         Use int instead of unsigned int for width and height args.
5105         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
5106         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
5107         width and height args.
5109         Modernize k&r cairo-related function declarations.
5110         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5111         (xg_print_frames_dialog): Modernize k&r declarations.
5112         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
5113         (Fx_print_frames_dialog): Modernize k&r declarations.
5114         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
5115         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
5116         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5117         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
5118         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
5119         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5120         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
5121         (x_clear_area): Modernize k&r declarations.
5123         Implement wave-style variant of underlining for cairo.
5124         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
5125         (x_draw_underwave) [USE_CAIRO]: Use it.
5127         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
5129 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5131         Fix fringe bitmap initialization for cairo.
5132         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
5133         cairo image surface.
5134         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
5136 2015-02-11  Jan D  <jan.h.d@swipnet.se>
5138         Add cairo drawing.
5139         * configure.ac (with-cairo): New option.
5140         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
5141         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
5142         Output "Does Emacs use cairo?".
5143         * lisp/version.el (emacs-version): Add cairo version.
5144         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
5145         (FONT_OBJ): Add comment about ftcrfont.
5146         (ALL_CFLAGS): Add CAIRO_CFLAGS.
5147         (LIBES): Add CAIRO_LIBS.
5148         * src/dispextern.h (struct image): Add cr_data for cairo.
5149         (x_cr_init_fringe): Declare.
5150         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
5151         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
5152         * src/fringe.c (x_cr_init_fringe): New function name that shares code
5153         with w32_init_fringe.
5154         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
5155         * src/ftfont.c (ftfont_info_size); New global variable.
5156         (ftfont_open2): New extern function almost the same as old ftfont_open,
5157         but takes the font_object as argument.
5158         (ftfont_open): Build font object and call ftfont_open2.
5159         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
5160         * src/gtkutil.c (xg_clear_under_internal_border)
5161         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
5162         queue_draw if not cairo.  Change args to x_clear_area.
5163         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
5164         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5165         (xg_print_frames_dialog): New functions for printing.
5166         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
5167         (xg_print_frames_dialog): Declare.
5168         * src/image.c: Add defined (USE_CAIRO) for PNG.
5169         Add !defined USE_CAIRO for W32 PNG code.
5170         (x_clear_image): If cairo, destroy the surface in cr_data.
5171         (png_load): Add new cairo compatible implementation.
5172         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
5173         * src/xfns.c: New section Printing.
5174         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
5175         (x-print-frames-dialog): New printing functions.
5176         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
5177         cairo.
5178         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
5179         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
5180         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
5181         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
5182         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
5183         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5184         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5185         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
5186         Declare.
5187         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
5188         (max_fringe_bmp, fringe_bmp): New variables.
5189         (x_gc_get_ext_data, x_extension_initialize)
5190         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
5191         (x_set_cr_source_with_gc_foreground)
5192         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5193         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
5194         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
5195         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
5196         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
5197         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
5198         (x_update_begin): Create cairo surface if needed.
5199         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
5200         (x_update_end): Paint cairo drawing surface to xlib surface.
5201         (x_clear_under_internal_border, x_after_update_window_line): Adjust
5202         arguments to x_clear_area.
5203         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
5204         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
5205         of XSetClipMask.
5206         (x_set_glyph_string_clipping)
5207         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
5208         instead of XSetClipRectangles.
5209         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
5210         x_fill_rectangle instead of XFillRectangle.
5211         (x_draw_glyph_string_foreground)
5212         (x_draw_composite_glyph_string_foreground)
5213         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
5214         of XDrawRectangle.
5215         (x_draw_relief_rect): Add code for USE_CAIRO.
5216         Call x_reset_clip_rectangles instead of XSetClipMask.
5217         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
5218         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
5219         instead of XSetClipMask.
5220         (x_draw_image_foreground, x_draw_image_foreground_1):
5221         x_draw_rectangle instead of XDrawRectangle.
5222         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
5223         XFillRectangle.
5224         (x_draw_image_glyph_string): If img has cr_data, use it as
5225         a cairo surface.
5226         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
5227         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
5228         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
5229         x_reset_clip_rectangles instead of XSetClipMask.
5230         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
5231         (x_clear_area1): New function that calls XClearArea.
5232         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
5233         non-cairo.
5234         (x_clear_frame): x_clear_window instead of XClearWindow.
5235         (x_scroll_run): Set frame garbaged if cairo.
5236         (XTmouse_position): Initialize *part to 0.
5237         (x_scroll_bar_create): Adjust arguments to x_clear_area.
5238         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
5239         x_fill_rectangle instead of XFillRectangle.
5240         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
5241         arguments to x_clear_area.
5242         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
5243         (handle_one_xevent): Adjust arguments to x_clear_area.
5244         Destroy cairo surface for frame if ConfigureNotify.
5245         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
5246         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
5247         x_reset_clip_rectangles instead of XSetClipMask.
5248         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
5249         x_reset_clip_rectangles instead of XSetClipMask.
5250         (x_clear_frame_area): Adjust arguments to x_clear_area.
5251         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
5252         (x_term_init): Call x_extension_initialize if cairo.
5253         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
5254         x_cr_destroy_fringe_bitmap for cairo.
5255         (x_initialize): Call x_cr_init_fringe for cairo.
5256         * src/xterm.h: Add include of cairo header files.
5257         (x_bitmap_record): Add img if cairo.
5258         (x_gc_ext_data): New struct for cairo.
5259         (x_display_info): Add ext_codes for cairo.
5260         (x_output): Add cr_context and cr_surface for cairo.
5261         (x_clear_area): Change arguments from Display*/Window to frame pointer.
5262         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
5263         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
5264         (x_cr_draw_frame, x_cr_export_frames): Declare.
5266 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
5268         Fix integer-valued `mouse-highlight' (Bug#20590)
5269         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
5271 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
5273         MS-Windows followup for ASCIIfication of curved quotes
5274         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
5275         test for curved quotes being displayable, after switching the
5276         terminal encoding.  (Bug#20545)
5278 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5280         Spelling fixes
5282 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5284         Add comment that x_shift_glyphs_for_insert is never called.
5285         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
5286         comment that this function is never called.
5288 2015-05-16  Glenn Morris  <rgm@gnu.org>
5290         * src/lisp.mk: Remove from repository and generate at build-time.
5291         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
5292         (shortlisp_filter): New variable.
5293         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
5294         (distclean): Remove lisp.mk.
5295         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
5296         * lisp/loadup.el: Tweak layout to make it easier to parse.
5297         * make-dist: Do not distribute src/lisp.mk.
5299 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5301         Display shorter dates in Git annotate output
5302         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
5303         format (when not overridden with vc-git-annotate-switches).
5304         (vc-git-annotate-time): Support the short format, as well as ISO
5305         8601 that has been used until now (bug#5428).
5307 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5309         ASCIIfy curved quotes on displays lacking them
5310         * lisp/international/mule-cmds.el (set-locale-environment):
5311         If curved quotes don't work, display straight ASCII approximations
5312         (Bug#20545).
5314 2015-05-16  Glenn Morris  <rgm@gnu.org>
5316         Small src/Makefile simplification.
5317         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
5318         * src/Makefile.in (lisp): Derive from shortlisp.
5319         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
5321 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
5323         * lisp/help-mode.el (help-go-forward): Doc fix.
5324         (Bug#20577)
5326         * doc/lispref/debugging.texi (Profiling): Improve indexing.
5327         (Bug#20576)
5329 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5331         Use `unless' to have one fewer `not'
5332         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
5333         have one fewer `not'.
5335         Remove redundant :group declarations from vc-git.el
5336         * lisp/vc/vc-git.el (vc-git-diff-switches)
5337         (vc-git-annotate-switches, vc-git-resolve-conflicts)
5338         (vc-git-program, vc-git-root-log-format): Remove the redundant
5339         :group declarations.
5341 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
5343         Removes the predicate from lisp-complete-symbol (Bug#20456)
5344         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
5345         and remove it from the docstring.
5347 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5349         Add new option vc-git-resolve-conflicts
5350         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
5351         (vc-git-find-file-hook): Add to after-save-hook only when the
5352         above is non-nil.
5353         (vc-git-resolve-when-done): Update to honor the new variable.
5354         (Bug#20292)
5356 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
5358         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
5359         (tabulated-list-init-header): Document new behavior.
5360         (tabulated-list-print-fake-header): No nothing if
5361         `tabulated-list--header-string' is nil.
5362         (tabulated-list--header-string): Add a docstring.
5363         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
5364         * etc/NEWS: Document it.
5366 2015-05-15  Leo Liu  <sdl.web@gmail.com>
5368         Revert "Fix cps--gensym"
5369         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
5370           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
5372 2015-05-15  Glenn Morris  <rgm@gnu.org>
5374         Replace AC_SUBST_FILE in configure with include in Makefiles.
5375         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
5376         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
5377         (AUTO_DEPEND): New output variable.
5378         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
5379         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5380         (lwlib_deps_frag): Replace by conditional include.
5381         * lwlib/autodeps.mk: Remove file.
5382         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
5383         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5384         (oldxmenu_deps_frag): Replace by conditional include.
5385         * oldXMenu/autodeps.mk: Remove file.
5386         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
5387         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5388         (lisp_frag): Replace by an include.
5389         (deps_frag): Replace by conditional include.
5390         * src/autodeps.mk: Remove file.
5392         Tweak japanese.el's loading of dependencies.
5393         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
5394         * lisp/language/japanese.el: Use require rather than load.
5395         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
5396         Provide a feature.
5397         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
5398         Provide a feature in the generated file.
5400 2015-05-15  Jan D  <jan.h.d@swipnet.se>
5402         Fix NS warnings.
5403         * nsmenu.m (ns_popup_dialog)
5404         * nsimage.m (initFromXBM:width:height:fg:bg:)
5405         * nsfns.m (Fx_create_frame): Remove unused variables.
5406         (Fns_read_file_name): Initialize fname, remove ret.
5407         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
5408         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
5409         variable.
5410         (init): Add parantesis in if.
5411         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
5413 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5415         Fix a enum conversion warning in macfont.m
5416         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
5417         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
5419 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
5421         Support de-alt dictionary with Aspell.
5422         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
5423         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
5425 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5427         cus-start.el: Add ns-confirm-quit.
5428         * cus-start.el: Add ns-confirm-quit.
5430         Fix warnings on OSX 10.10.
5431         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
5432         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
5433         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
5434         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
5435         * nsimage.m (allocInitFromFile, setPixmapData): Only call
5436         setScalesWhenResized for OSX < 10.6.
5437         * nsterm.h (EmacsScroller): Declare scrollerWidth.
5438         * nsterm.m (ns_copy_bits): New function that does not use deprecated
5439         NSCopyBits.
5440         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
5441         (runAlertPanel): New function.
5442         (applicationShouldTerminate:): Call runAlertPanel.
5443         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
5444         for OSX < 10.10.
5445         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
5446         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
5447         (draggingEntered:): Returns NSDragOperation.
5448         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
5450 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5452         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
5453         (package--init-file-ensured): New variable.
5454         (package-initialize, package--ensure-init-file): Use it.
5456 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5458         Honor :fore/background for XBM on NS (Bug#14969).
5459         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
5460         initFromXBM takes bg, fg args, remove flip arg.
5461         (ns_image_from_XBM): Add bg, fg args.
5462         * image.c (x_create_bitmap_from_data)
5463         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
5464         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
5465         Remove flip arg.
5466         (initFromSkipXBM): Move code to initFromXBM.
5467         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
5468         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
5469         false.
5470         Remove bit flipping (bitPat, swt), generated incorrect images when
5471         width/height wasn't a multiple of 8.
5472         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
5473         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
5474         flip arg.
5476 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5478         * lisp/emacs-lisp/package.el: Be more careful with the init file
5479         (package--ensure-init-file): Check that user-init-file is set,
5480         exists, is readable, and is writable.  (Bug#20584)
5481         Also expand the docstring.
5483 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
5485         Sync with upstream verilog-mode revision 6232468
5486         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
5487         (verilog-highlight-grouping-keywords): Fix use of face when
5488         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
5489         Pompa.
5490         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
5491         parent is reset, bug906. Reported by Ken Schmidt.
5492         (verilog-auto-inout-module): Add fourth regexp argument to
5493         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
5494         bug856. Reported by John Tillema.
5495         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
5496         modport if signal attachment is itself a modport.  Reported by
5497         Matthew Lovell.
5498         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
5499         always_comb and always_latch, bug844.  Reported by Greg Hilton.
5500         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
5501         with many curly-bracket pairs, bug663.
5502         (verilog-set-auto-endcomments): Fix end comments for functions of
5503         type void, etc.  Reported by Alex Reed.
5504         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
5505         caused by indent-line-to deleting tabls pre 24.5.
5506         (verilog-nameable-item-re): Fix nameable items that can have an
5507         end-identifier to include endchecker, endgroup, endprogram,
5508         endproperty, and endsequence.  Reported by Alex Reed.
5509         (verilog-label-be): When auto-commenting a buffer, consider
5510         auto-comments on all known keywords (not just a subset thereof).
5511         Reported by Alex Reed.
5512         (verilog-auto-end-comment-lines-re)
5513         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
5514         Automatically comment property/endproperty blocks to match other
5515         similar blocks like sequence/endsequence, function/endfunction,
5516         etc. Reported by Alex Reed.
5517         (verilog-set-auto-endcomments): Detect the function- or task-name
5518         when auto-commenting blocks that lack an explicit
5519         portlist. Reported by Alex Reed.
5520         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
5521         allow post-AUTO user fixups, bug826. Reported by Dennis
5522         Muhlestein.
5523         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
5524         is nil, fix indenting initial/final to match always statements,
5525         bug825. Reported by Tim Clapp.
5526         (verilog-extended-complete-re): Fix indentation of DPI-C imports
5527         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
5528         Mao and Jason Forkey.
5529         (verilog-read-decls): Fix parsing typed interfaces.  Fix
5530         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
5531         Fix localparam not being ignored in AUTOINSTPARAM,
5532         bug889. Reported by Shannon Hill.
5533         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
5534         bug793.  Reported by Pierre-David Pfister.
5535         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
5536         verilog-auto-arg-format to support newlines in AUTOARG. Reported
5537         by Jie Xiao.
5538         (verilog-batch-execute-func): Do not batch re-auto files loaded by
5539         Local Variables. Fix printing "no changes to be saved" with
5540         verilog-batch. Reported by Dan Dever.
5541         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
5542         interface-only modules, bug721.  Reported by Dean Hoyt.
5543         Author: Alex Reed <acreed4@gmail.com>
5544         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
5545         treat '<keyword>:<identifier>' as the start of a labeled
5546         statement, bug905.  Reported by Enzo Chi.
5547         (verilog-directive-re, verilog-compiler-directives)
5548         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
5549         directives (plus some extras) when determining indentation, bug
5550         901.  Reported by Bernd Beuster.
5551         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
5552         iff expression doesn't start with word-character, bug900.
5553         (verilog-optional-signed-range-re, verilog-optional-signed-re):
5554         Fix incorrect indentation/alignment of unsigned declarations,
5555         bug897.
5556         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
5557         always constructs, bug895.
5558         (verilog-calc-1): Fix verilog-mode constraint indentation,
5559         bug324. Reported by Eric Mastromarchi.
5560         (verilog-beg-of-statement): Fix indenting for some forms of
5561         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
5562         continued assignment incorrect if first line ends with ']',
5563         bug437. Reported by Dan Dever.  Fix indention of cover inside an
5564         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
5565         blocks, bug842.
5566         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
5567         bug859. Reported by Kaushal Modi.
5568         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
5569         (verilog-backward-token): Fix indenting sensitivity lists with
5570         named events, bug840.  Reed.
5571         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
5572         nil not honoring 'forever', 'foreach', and 'do' keywords.
5574 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5576         Check for invalid GTK+ monitor scales
5577         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
5578         INT_MAX for too-large scales.  All callers changed to assume the
5579         result is valid (Bug#20432).
5580         (xg_frame_set_char_size, xg_update_scrollbar_pos):
5581         Calculate scale only if needed.
5582         show ASCII approximations instead.
5584 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
5586         Fix daemon crashes when linum-mode is turned on early on
5587         * src/window.c (Fwindow_end): Don't try calling display engine
5588         functions on initial-frame frame.  (Bug#20565)
5590         Fix selective diff browsing in Ediff
5591         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
5592         beginning of the region before searching for the
5593         ediff-regexp-focus-* regexps.  (Bug#20568)
5595 2015-05-14  Jan D  <jan.h.d@swipnet.se>
5597         Fixes Bug#20142.
5598         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
5599         in the main loop, even for Gtk 3 (Bug#20142).
5601         Don't access display after i/o error (Bug#19147).
5602         * xterm.c (x_connection_closed): Add third arg ioerror.
5603         If ioerror, set display to 0 (Bug#19147).
5604         (x_error_quitter): Call x_connection_closed with third arg false.
5605         (x_io_error_quitter): Call x_connection_closed with third arg true.
5607         Handle GTK_SCALE, fixes Bug#20432.
5608         * gtkutil.c (xg_get_gdk_scale): New function.
5609         (xg_frame_set_char_size)
5610         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
5611         (xg_get_default_scrollbar_height)
5612         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
5613         when setting sizes (Bug#20432).
5615 2015-05-13  Leo Liu  <sdl.web@gmail.com>
5617         Fix cps--gensym
5618         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
5620 2015-05-13  Glenn Morris  <rgm@gnu.org>
5622         Fix bootstrap (void function cl-member).
5623         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
5624         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
5626 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5628         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
5629         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
5630         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
5631         Avoid defalias for closures which are not immutable.
5632         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
5633         dispatchers table with various entries.
5634         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
5635         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
5637 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
5639         Improve tagging of C bindings in DEFVAR_*
5640         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
5641         from DEFVAR_*.
5643 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
5645         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
5647 2015-05-12  Glenn Morris  <rgm@gnu.org>
5649         * lisp/progmodes/tcl.el (tcl-filter):
5650         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
5652         Add basic VC push support.
5653         * lisp/vc/vc.el (vc-push): New autoloaded command.
5654         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
5655         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
5656         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
5657         (vc-bzr-push): New.
5658         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
5659         (vc-git-pull): Reimplement using vc-git--pushpull.
5660         (vc-git-push): New.
5661         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
5662         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
5663         * doc/emacs/maintaining.texi (Pulling / Pushing):
5664         Rename from "VC Pull".  Mention pushing.
5665         (VC With A Merging VCS, VC Change Log): Update xrefs.
5666         (Branches): Update menu.
5667         * doc/emacs/emacs.texi: Update menu.
5668         * etc/NEWS: Mention this.
5670 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
5672         Improve the seq pcase pattern and the `seq-let' macro
5673         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
5674         object is a sequence, and binds each element of ARGS to the
5675         corresponding element of the sequence.
5677 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
5679         Fix tags created from DEFVAR_* declarations in C
5680         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
5681         to make tags extracted from DEFVAR_* declarations more accurate.
5683         Add a test suite for etags
5684         * test/etags/: New test suite, adapted from
5685         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
5686         whose original author is Francesco Potortì <pot@gnu.org>.
5688         Fix tagging of symbols in C enumerations
5689         * lib-src/etags.c (consider_token): Don't tag symbols in
5690         expressions that assign values to enum constants.  See
5691         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
5692         for details.
5693         (C_entries): Reset fvdef to fvnone after processing a preprocessor
5694         conditional and after a comma outside of parentheses.
5696 2015-05-12  Glenn Morris  <rgm@gnu.org>
5698         * lisp/url/url-handlers.el (url-file-name-completion)
5699         (url-file-name-all-completions): Silence compiler.
5701         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
5703         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
5705 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
5707         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
5708         (cl--generic-mandatory-args): Remove.
5709         (cl--generic-split-args): New function.
5710         (cl-generic-define, cl--generic-lambda): Use it.
5711         (cl-generic-define-method): Use it as well, and add support for
5712         context args.
5713         (cl--generic-get-dispatcher): Handle &context dispatch.
5714         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
5715         (cl--generic-dispatchers): Pre-fill.
5716         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
5718 2015-05-11  Glenn Morris  <rgm@gnu.org>
5720         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
5722 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5724         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
5725         * lisp/term/rxvt.el: Require term/xterm.
5726         (rxvt-function-map): Use xterm-rxvt-function-map.
5727         (rxvt-standard-colors): Move before first use.
5728         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
5729         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
5730         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
5731         Move shared bindings between rxvt and xterm to it.
5732         (xterm-function-map): Use it.  Move the xterm-paste binding to
5733         xterm-rxvt-function-map (bug#20444).
5734         (xterm-standard-colors): Move before first use.
5735         (xterm--push-map): New function.
5736         (xterm-register-default-colors): Take standard colors as argument.
5737         (terminal-init-xterm): Use it.  Adjust call to
5738         xterm-register-default-colors.
5740 2015-05-11  Glenn Morris  <rgm@gnu.org>
5742         * lisp/term/x-win.el: Quieten --without-x compilation.
5743         (x-own-selection-internal, x-disown-selection-internal)
5744         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
5745         Declare.
5747         * Makefile.in (emacslog): Remove srcdir.
5748         (ChangeLog): Update for the above.
5750 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
5752         Spelling fix
5754 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5756         python.el: better limit for looking-back calls
5757         * lisp/progmodes/python.el (python-shell-accept-process-output):
5758         Use last comint prompt start as limit for looking-back.
5760 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
5762         CEDET (srecode-insert-fcn): Fix use of oref on a class
5763         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
5764         a class.  Reported by Pierre Lorenzon.
5765         (srecode-template-inserter-point): Remove declaration.
5767         CEDET (srecode-create-dictionary): Avoid obsolete object name
5768         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
5769         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
5771 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5773         C-x 8 shorthands for curved quotes, Euro, etc.
5774         Although C-x 8 lets you insert arbitrary Unicode characters,
5775         it's awkward to use this to insert commonly used symbols such as curved
5776         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
5777         characters commonly found in English text and in basic math.
5778         For example, assuming the Alt key works on your keyboard and iso-transl
5779         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
5780         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
5781         (Bug#20499)
5782         * doc/emacs/mule.texi (Unibyte Mode):
5783         A few other printing characters now work too.
5784         * etc/NEWS: Document this.
5785         * lisp/international/iso-transl.el (iso-transl-char-map):
5786         Also support the following characters:
5787         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
5789 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
5791         Add xref-find-regexp
5792         * lisp/progmodes/xref.el (xref-find-function): Describe the
5793         `matches' action.
5794         (xref-find-regexp): New command, using it.
5795         (xref-collect-references): Rename to xref-collect-matches.
5796         (xref--collect-reference): Rename to xref--collect-match.
5797         (xref-collect-matches, xref--collect-match): Accept new argument,
5798         KIND.  Update accordingly.
5799         (xref--regexp-to-extended): New function.
5800         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
5801         `matches' action.
5802         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
5803         * lisp/progmodes/etags.el (etags-xref-find):
5804         Support the `matches' action.
5805         (etags--xref-find-matches): New function.
5807 2015-05-10  Glenn Morris  <rgm@gnu.org>
5809         * Makefile.in: Fixes for recent change-history changes.
5810         (change-history-nocommit): Update footer regexp.
5811         Ensure output script stays executable.
5813 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
5815         New version of `seq-let' based on a pcase pattern
5816         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
5817         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
5819 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
5821         Add basic HTML5 tags and a template
5822         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
5823         (html-tag-alist): Add HTML5 tags.
5824         (html-tag-help): Add new tags descriptions.
5825         (html-navigational-links): Template for nav links.
5826         (html-html5-template): Template for a HTML5 page.
5828 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
5830         semantic/symref/grep: Don't use word boundaries
5831         * lisp/cedet/semantic/symref/grep.el
5832         (semantic-symref-perform-search): Instead of wrapping input in
5833         word boundaries, check that the characters before and after are
5834         not word constituents.
5836         semantic/symref/grep: Support regexp search
5837         * lisp/cedet/semantic/symref.el
5838         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
5839         the search type is regexp.
5840         * lisp/cedet/semantic/symref/grep.el
5841         (semantic-symref-perform-search): Support the regexp search type.
5842         Pass -E to Grep when it's used.
5844         semantic-symref-regexp: Allow to input an arbitrary string
5845         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
5846         Allow to input an arbitrary string interactively.
5848         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
5849         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
5850         Remove tag-symbol-match-p from the default value
5851         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
5853         Declare find-tag obsolete
5854         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
5855         xref-find-definitions.
5857 2015-05-10  Jan D  <jan.h.d@swipnet.se>
5859         Draw composite string correctly (Bug#20537).
5860         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
5861         (ns_draw_glyph_string): Call it (Bug#20537).
5863 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
5865         Avoid infloop in ERC
5866         * lisp/simple.el (line-move-to-column): Ignore field boundaries
5867         while computing line beginning position.  (Bug#20498)
5869 2015-05-08  Glenn Morris  <rgm@gnu.org>
5871         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
5872         * build-aux/gitlog-to-emacslog: Check called from right directory.
5873         (srcprefix): Remove.
5875         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
5876         * Makefile.in (ChangeLog): No longer pass "distprefix".
5877         * make-dist: Update "make ChangeLog" syntax for the above change.
5879         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
5880         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
5882         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
5884         Add command-line option-parsing to gitlog-to-emacslog.
5885         * build-aux/gitlog-to-emacslog: Add command-line options.
5886         By default, refuse to remove an existing output file.
5887         * Makefile.in (CHANGELOG): Update default.
5888         (ChangeLog): Do not test for existing file.
5889         (change-history-nocommit): Ensure temp file does not exist.
5891         Quieten --without-x compilation.
5892         * lisp/term/common-win.el: Provide a feature.
5893         * lisp/term/x-win.el (term/common-win): Require it.
5895         * lisp/dired-aux.el (dired-do-print): Require lpr.
5897         Quieten compilation, eg in --without-x builds.
5898         * lisp/dired-aux.el (lpr-printer-switch):
5899         * lisp/frame.el (tool-bar-height):
5900         * lisp/linum.el (font-info):
5901         * lisp/window.el (font-info, overflow-newline-into-fringe)
5902         (tool-bar-height):
5903         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
5904         * lisp/gnus/gnus-util.el (iswitchb-mode):
5905         * lisp/mail/rmailmm.el (libxml-parse-html-region):
5906         * lisp/net/nsm.el (gnutls-peer-status)
5907         (gnutls-peer-status-warning-describe):
5908         * lisp/net/shr.el (libxml-parse-xml-region):
5909         * lisp/url/url-http.el (gnutls-peer-status): Declare.
5911 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5913         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
5914         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
5915         `subclass' since they're never called with a class.
5916         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
5917         srecode-dictionary-child-p.
5919 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
5921         help--binding-locus: Document argument POSITION.
5922         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
5924 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
5926         Merge from gnulib.
5927         * doc/misc/texinfo.tex: Get latest version.
5929 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
5931         ffap.el (ffap-read-file-or-url): Fix completing-read call
5932         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
5933           `completing-read' should be a symbol.
5935 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
5937         Verify file modifications by other programs
5938         * src/filelock.c (lock_file): Check whether the file was modified
5939         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
5941         Fix keyboard macros that include function keys
5942         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
5943         keys in the macro before returning.  (Bug#20454)
5945 2015-05-08  Glenn Morris  <rgm@gnu.org>
5947         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
5948         "Copyright-paperwork-exempt".  (Bug#20324)
5950         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
5951         (log-edit-rewrite-tiny-change): New variable.
5952         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
5953         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
5954         * etc/NEWS: Mention this.
5956         * lisp/calc/calc.el (math-zerop): Declare.
5958         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
5960 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5962         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
5963         Support the case when BINDINGS is a single tuple.  (Bug#20525)
5965         * etc/NEWS: Fix typo in commit 14bb519
5967 2015-05-07  Jan D  <jan.h.d@swipnet.se>
5969         Warn for multiple display crash for all Gtk+ versions.
5970         * configure.ac: Warn for multiple display crash for all Gtk+
5971         versions.  Output URL to Gtk+ bug (Bug#20452).
5973         ns-win.el (ns-paste-secondary): Use gui-get-selection.
5974         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
5976 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5978         * lisp/emacs-lisp/package.el: New "external" package status
5979         An external package is any installed package that's not built-in
5980         and not from `package-user-dir', which usually means it's from an
5981         entry in `package-directory-list'.  They are treated much like
5982         built-in packages, in that they cannot be through the Package Menu
5983         deleted and are not considered for upgrades.
5984         (package-desc-status): Identify if a package is installed outside
5985         `package-user-dir'.
5986         (package-menu--print-info-simple)
5987         (package-menu--status-predicate): Add support for it.
5988         * etc/NEWS: Document it.
5990 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5992         * lisp/mail/rmail.el: Use lexical-binding
5993         (rmail-bury): Remove unused var `buffer-to-bury'.
5994         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
5995         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
5996         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
5997         (rmail-insert-inbox-text): Remove unused var `movemail'.
5998         (rmail-add-mbox-headers): Remove unused var `limit'.
5999         (rmail-undelete-previous-message): Remove unused var `value'.
6000         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
6001         `resent-reply-to'.
6002         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
6003         (rmail-restore-desktop-buffer): Rename arguments.
6005 2015-05-06  Glenn Morris  <rgm@gnu.org>
6007         * Makefile.in (change-history-commit): Add missing piece of previous.
6009         Avoid unnecessary bumping of Makefile.in's timestamp.
6010         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
6011         (emacslog): New variable.
6012         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
6013         (unchanged-history-files): Use $emacslog rather than Makefile.in.
6014         (change-history-nocommit): Store hash in $emacslog.
6015         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
6016         * admin/update_autogen (changelog_files): Update for the above.
6018         * Makefile.in: Don't always insist on removing existing "ChangeLog".
6019         (CHANGELOG): New variable.
6020         (no-ChangeLog): Remove.
6021         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
6022         (change-history-nocommit): Use a temp file rather than insisting
6023         on deletion of any existing "ChangeLog".
6025         * build-aux/gitlog-to-emacslog: Allow specification of output.
6027         * admin/update_autogen: Add option to update ChangeLog.
6028         (usage): Mention -H.
6029         (changelog_flag, changelog_n, changelog_files): New variables.
6030         (main): Check for -H, and maybe run change-history-nocommit.
6032 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6034         * lisp/subr.el (delete-dups): Pre-size the hashtable.
6036         (define-modify-macro): Make sure cl--arglist-args is defined
6037         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
6038         cl--arglist-args is defined (bug#20517).
6040 2015-05-06  Glenn Morris  <rgm@gnu.org>
6042         * Makefile.in (change-history-nocommit): New.
6044 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6046         Only cancel timer when it is non-nil
6047         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
6048         timer when it is non-nil
6049         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
6051 2015-05-06  Glenn Morris  <rgm@gnu.org>
6053         Quieten cedet compilation
6054         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
6055         Invert fboundp test to quieten on current Emacs.
6056         * lisp/cedet/ede/config.el (ede-shell-run-something)
6057         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
6058         (semanticdb-refresh-table): Declare.
6059         (ede-preprocessor-map): Require semantic/db.
6061         Quieten cc-mode compilation
6062         * lisp/progmodes/cc-awk.el (c-forward-sws):
6063         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
6064         Declare.
6066 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6068         lisp/subr.el (delete-dups): Avoid nreverse.
6070 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
6072         * lisp/subr.el (delete-dups): Make it destructive again.
6074 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
6076         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
6078 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6080         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
6081         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
6082         (testcover--read): Rename from testcover-read.  Change calling convention.
6083         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
6084         (testcover-start): Use add-function.  Move edebug-all-defs binding to
6085         testcover--read.
6086         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
6087         (testcover-mark): Remove unused var `item'.
6088         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
6090 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6092         lisp/subr.el (delete-dups): Use a hash table
6093         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
6094           use a hash table. This can result in ~500 times speed-up for typical
6095           collections of size 5000, like that of `load-library'.
6097 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6099         CEDET: Avoid `oref' on classes in a few more cases
6100         * lisp/cedet/ede/generic.el (ede-find-target):
6101         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
6102         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
6103         var `prefix'.
6105         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
6106         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
6107         (semantic-symref-perform-search): Remove unused var `pat'.
6109         CEDET (srecode-compile-inserter): Avoid `oref' on classes
6110         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
6111         Avoid `oref' on classes (bug#20491).
6112         (srecode-compile-split-code): Remove unused var `key'.
6114 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6116         Clean up pulse.el a little
6117         * lisp/cedet/pulse.el (pulse): Remove.
6118         (pulse-momentary-timer): Save instead of the stop time.
6119         (pulse-momentary-highlight-overlay): Call
6120         pulse-momentary-unhighlight first thing. Treat
6121         pulse-momentary-overlay as a single value, not a list. Save the
6122         created timer. Only pass the stop time to the timer.
6123         (pulse-tick): Update accordingly.
6124         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
6125         single value. Cancel the timer.
6127 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
6129         Support the biblatex journaltitle field
6130         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
6131         Support the biblatex journaltitle field.
6133 2015-05-05  Glenn Morris  <rgm@gnu.org>
6135         Minor declare-function improvement
6136         * lisp/emacs-lisp/bytecomp.el
6137         (byte-compile-macroexpand-declare-function):
6138         Handle declarations after calls.  (Bug#20509)
6140         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
6142         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
6144 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6146         Pulse using a timer
6147         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
6148         (pulse-momentary-highlight-overlay): Set up the timer instead of
6149         calling `pulse'
6150         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
6151         (pulse-tick): New function.
6152         (pulse-momentary-unhighlight): Cut off the stop time.
6153         (pulse-delay): Update the docstring WRT to not using sit-for.
6155         Add semantic/symref/grep file patterns for ruby-mode
6156         * lisp/cedet/semantic/symref/grep.el
6157         (semantic-symref-filepattern-alist): Add patterns for
6158         ruby-mode. Clarify the docstring.
6160         Don't require match
6161         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
6162         match. That doesn't work for every command, and some identifier
6163         completion tables are bound to be imperfect anyway.
6165 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
6167         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
6168         (semantic-grammar--template-expand): New function.
6169         (semantic-grammar-header, semantic-grammar-footer): Use it.
6170         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
6171         (semantic-grammar-file-regexp): Refine regexp.
6172         (semantic-grammar-eldoc-get-macro-docstring):
6173         Use elisp-get-fnsym-args-string when available.
6174         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
6175         instead of the old eldoc-* names.
6176         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
6177         from elisp-mode.el.  Tweak calling convention.
6178         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
6179         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
6180         elisp--get-fnsym-args-string.
6181         (elisp--highlight-function-argument): Add `prefix' arg.
6182         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
6183         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
6185 2015-05-05  Glenn Morris  <rgm@gnu.org>
6187         * lisp/help-fns.el (describe-function-1):
6188         Handle builtins with advertised calling conventions.  (Bug#20479)
6190 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6192         Merge branch 'seq-let'
6194         Update `seq-let' documentation
6195         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
6196         with the support of  `&rest'.
6198         Add support for &rest in `seq-let'
6199         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
6200         in the argument list.
6201         * test/automated/seq-tests.el: Add a test for parsing and binding
6202         `&rest' in `seq-let'.
6204 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6206         Spelling fixes
6208 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
6210         * eieio-custom.el (eieio-object-value-get): Add missing increment
6211         (Bug#20467)
6213         (eieio-object-value-create): Adjust to new slots representation
6214         (Bug#20467)
6215         * eieio-custom.el (eieio-object-value-create):
6216         Fix missed adjustment to new representation of slots metadata.
6218 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6220         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
6222 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6224         Work around "Attempt to modify read-only object"
6225         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
6226         elisp--xref-find-definitions, to work around "Attempt to modify
6227         read-only object" error.
6229         Only skip some variables that have function counterparts
6230         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6231         Only skip minor-mode-named variable if it's defined in a Lisp
6232         file, and it's in minor-mode-list (bug#20506).
6233         * test/automated/elisp-mode-tests.el
6234         (elisp-xref-finds-both-function-and-variable)
6235         (elisp-xref-finds-only-function-for-minor-mode): New tests.
6237 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6239         Buttonize the whole line, including the number at the beginning
6240         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
6241         previous change.
6242         (xref--insert-xrefs): Buttonize the whole line, including the
6243         number at the beginning.
6245         Make sure we're inside the let bindings
6246         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6247         Make sure we're inside the let bindings.
6248         * test/automated/elisp-mode-tests.el
6249         (elisp-completes-functions-after-let-bindings): New test.
6251 2015-05-04  Glenn Morris  <rgm@gnu.org>
6253         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
6254         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
6255         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
6256         Remove outdated declarations.
6258         Replace instances of "(eval-when-compile (autoload ...))"
6259         * lisp/gnus/gnus-art.el (nneething-get-file-name):
6260         Declare rather than autoload.
6261         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
6262         Remove pointless autoload.
6263         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
6264         (gnus-topic-create-topic, gnus-topic-enter-dribble):
6265         Declare rather than autoload.
6266         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
6267         (mailcap-extension-to-mime): Autoload at run-time.
6268         * lisp/gnus/mm-util.el (latin-unity-massage-name)
6269         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
6270         (latin-unity-representations-present-region):
6271         Declare rather than autoload.
6272         * lisp/gnus/mml-smime.el (epg-make-context)
6273         (epg-passphrase-callback-function): Autoload at run-time.
6274         (epg-context-set-signers, epg-context-result-for)
6275         (epg-new-signature-digest-algorithm)
6276         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
6277         (epg-sign-string, epg-encrypt-string)
6278         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
6279         (epg-configuration, epg-expand-group, epa-select-keys):
6280         Declare rather than autoload.
6281         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
6282         Autoload at run-time.
6283         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
6284         (gnus-registry-get-id-key, gnus-registry-action):
6285         Declare rather than autoload.
6286         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
6287         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
6288         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
6289         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
6290         (spam-stat-split-fancy): Remove pointless autoloads.
6291         * lisp/net/mairix.el: Load gnus-util when compiling.
6292         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
6293         (message-field-value): Declare rather than autoload.
6294         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
6295         Check gnus-alive-p is fbound.
6296         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
6297         (vm-check-for-killed-summary, vm-error-if-folder-empty)
6298         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
6299         Declare rather than autoload.
6301         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
6303         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
6304         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
6306         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
6308         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
6310         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
6311         * lisp/emacs-lisp/package.el (epg-signature-status):
6312         Fix declarations.
6314         * lisp/play/gametree.el (gametree-show-children-and-entry)
6315         (gametree-apply-layout, gametree-mouse-show-subtree)
6316         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
6318         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
6319         Handle cl-defgeneric, cl-defmethod.
6321 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6323         Highlight both type and symbol name
6324         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
6325         Highlight both type and symbol name.
6327         Insert, highlight and align line numbers in xref output
6328         * lisp/progmodes/etags.el (xref-location-line): Specialize for
6329         xref-etags-location.
6330         * lisp/progmodes/xref.el (xref-location-line): New generic method.
6331         (xref-file-location): Add reader for the line slot.
6332         (xref--location-at-point): Skip to the `xref-location' property.
6333         (xref--collect-reference): Drop the line number from description.
6334         (xref--insert-xrefs): Insert, highlight and align line numbers.
6336 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6338         Fix previous commit
6340 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6342         Don't pulse the indentation, or the newline
6343         * lisp/cedet/pulse.el (pulse-lighten-highlight)
6344         (pulse-reset-face): Fall back to the inherited background
6345         attribute in FACE.
6346         (pulse-momentary-highlight-region): Add autoload cookie.
6347         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
6348         indentation, or the newline, if the line's non-empty
6349         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
6351 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6353         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
6354         * doc/lispref/positions.texi (Excursions): Document
6355         `save-mark-and-excursion'.
6356         * lisp/font-lock.el (font-lock-fontify-block): Use
6357         `save-mark-and-excursion' instead of `save-excursion', restoring
6358         Emacs 24 behavior.
6359         * lisp/simple.el (save-mark-and-excursion--save)
6360         (save-mark-and-excursion--restore): New functions.
6361         (save-mark-and-excursion): New user macro.
6362         * src/editfns.c (Fsave_excursion): Mention
6363         `save-mark-and-excursion' in `save-excursion' documentation.
6365 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6367         Classify lone symbol inside let varlist as variable
6368         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6369         Classify lone symbol inside let varlist as variable.
6370         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
6371         New test.
6373         Add xref-pulse-on-jump
6374         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
6375         Add autoload cookie.
6376         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
6377         (xref--maybe-pulse): New function.
6378         (xref-pop-marker-stack, xref--pop-to-location)
6379         (xref--display-position): Use it.
6380         (xref--location-at-point): Use back-to-indentation.
6382 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6384         * lisp/org/org-{macs,list}.el: Fix lexical warnings
6385         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
6386         (org-list-get-next-item, org-list-get-prev-item)
6387         (org-list-get-children): Mark unused arg `struct'.
6388         (org-list-use-alpha-bul-p): Remove unused var `bul'.
6389         (org-toggle-checkbox): Mark unused var.
6390         (org-update-checkbox-count): Remove unused var `box-num'.
6391         (org-adapt-indentation): Declare.
6392         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
6393         (org-list-send-list): Remove unused var `txt'.
6394         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
6395         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
6396         * lisp/org/org-macs.el: Use `declare'.
6397         (org-with-limited-levels): Declare dyn-bound vars.
6399 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
6401         Fix minor issues with CEDET on MS-Windows
6402         * lisp/cedet/semantic/symref/idutils.el
6403         (semantic-symref-parse-tool-output-one-line): Fix the search
6404         regexp to match MS-Windows file names with drive letters.
6405         (Bug#19468)
6406         * lisp/cedet/semantic/symref/grep.el
6407         (semantic-symref-grep-use-template): Remove "--color=always" from
6408         Grep switches on MS-Windows.
6409         (semantic-symref-grep-shell): Use shell-file-name as the default
6410         value, so this works not only on Posix platforms.
6411         (semantic-symref-perform-search): Use shell-quote-argument instead
6412         of literal '..' for portable quoting of Grep command-line
6413         argument.  Use shell-command-switch instead of a literal "-c".
6414         * lisp/cedet/semantic/bovine/gcc.el
6415         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
6416         for an absolute file name in a portable way.
6418 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
6420         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
6421         (package-import-keyring, package-refresh-contents)
6422         (package-compute-transaction, package--save-selected-packages)
6423         (package-install-from-archive, package-delete)
6424         (package-menu--perform-transaction): Use `inhibit-message'
6425         instead.
6426         (package--compile): Set `warning-minimum-level' to :error.
6428 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6430         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
6431         (terminal-init-screen): Use it (bug#20356).
6432         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
6433         (xterm--extra-capabilities-type): New const.
6434         (xterm-extra-capabilities): Use it.
6435         (xterm--version-handler): Lower the pseudo-version for `screen'.
6437 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
6439         xref--insert-xrefs: Tweak the faces
6440         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
6441         Always insert a newline at the end (to avoid mouse-face background
6442         tail at the last line).
6444         elisp-completion-at-point: Prioritize being quoted over funpos
6445         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6446         Only consider function position when not inside quoted form
6447         (bug#20425).
6448         * test/automated/elisp-mode-tests.el: New file.
6450         Stop vc-print-log from jumping to the top
6451         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
6452         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
6453         is not specified.
6454         (vc-incoming-outgoing-internal): Always pass nil.
6455         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
6456         call it, and don't set vc-sentinel-movepoint (bug#15322).
6457         (vc-print-root-log): Don't fetch the root working revision, nor
6458         pass it to vc-print-log-internal.
6460 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
6462         Fix display of keyboard layouts for right-to-left scripts
6463         * lisp/international/quail.el (quail-insert-kbd-layout): Force
6464         left-to-right paragraph direction.
6466 2015-05-02  K. Handa  <handa@gnu.org>
6468         * cmds.c (internal_self_insert): When we insert spaces for
6469         padding, set point before the padding spaces, not after them.
6471 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
6473         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
6475 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
6477         Fix etags-xref-find for references
6478         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
6479         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
6480         directory if no tags tables are loaded (bug#19468).
6482 2015-05-02  Philipp Stephani  <phst@google.com>
6484         Update the options in whitespace-style defcustom
6485         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
6486         `repeat' because the option is really set-like.  Add missing
6487         options.  Reorder options to match the order in the
6488         documentation.  (Bug#20346)
6490 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
6492         Fix error diagnostics of c-macro-expand
6493         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
6494         too early if no start-marker string was found -- that generally
6495         means cpp exited abnormally, and we still want to show its error
6496         messages to the user.
6498         Don't require Texinfo 5.0 for Emacs documentation
6499         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
6500         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
6501         "@codequoteundirected on", respectively, to avoid requiring
6502         Texinfo 5.x for Emacs documentation.
6504 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
6506         * lisp/files.el (pwd):
6507         When called with a prefix argument, insert the current default
6508         directory at point.
6510 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
6512         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
6513         * lisp/isearch.el (isearch-mode-map): Don't inhibit
6514         function-key-map remapping for backspace (bug#20466).
6516 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
6518         Implement xref-find-references in etags and elisp-mode
6519         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
6520         (elisp-xref-find): Use it.
6521         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
6522         * lisp/progmodes/xref.el (xref-collect-references):
6523         (xref--collect-reference): New functions.
6525 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6527         Prefer plain characters to Texinfo circumlocutions
6528         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
6529         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
6531         Fix single-quoting style in PDF manuals
6532         The PDF versions of the GNU manuals used curved single quotes to
6533         represent grave accent and apostrophe, which made it a pain to cut
6534         and paste code examples from them.  Fix the PDF versions to use
6535         grave accent and apostrophe for Lisp source code, keystrokes, etc.
6536         This change does not affect the info files, nor does it affect
6537         ordinary uses of curved single quotes in PDF.
6538         * doc/emacs/docstyle.texi: New file, which specifies treatment for
6539         grave accent and apostrophe, as well as the document encoding.
6540         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
6541         * doc/lispintro/emacs-lisp-intro.texi:
6542         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
6543         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
6544         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
6545         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
6546         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
6547         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
6548         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
6549         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
6550         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
6551         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
6552         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
6553         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
6554         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
6555         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
6556         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
6557         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
6558         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
6559         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
6560         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
6561         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
6562         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
6563         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
6564         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
6565         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
6566         * doc/misc/woman.texi:
6567         Use it instead of '@documentencoding UTF-8', to lessen the need for
6568         global changes like this in the future.
6569         * doc/emacs/Makefile.in (EMACS_XTRA):
6570         * doc/lispintro/Makefile.in (srcs):
6571         * doc/lispref/Makefile.in (srcs):
6572         Add dependency on docstyle.texi.
6573         * doc/misc/Makefile.in (style): New macro.
6574         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
6575         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
6576         Use it.
6578 2015-05-01  Glenn Morris  <rgm@gnu.org>
6580         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
6582         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
6583         (help-fns--signature): Declare.
6585         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
6587 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
6589         New macro seq-let, providing destructuring support to seq.el
6590         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
6591         to `cl-destructuring-bind' but works on all sequence types supported
6592         by `seq.el'.  Bump version number to 1.6.
6593         * test/automated/seq-tests.el: Add tests for seq-let.
6594         * doc/lispref/sequences.texi: Add documentation for seq-let.
6596 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
6598         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
6600 2015-05-01  Glenn Morris  <rgm@gnu.org>
6602         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
6604 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
6606         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
6607         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
6608         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
6609         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
6610         (Bug#20445).
6612 2015-05-01  K. Handa  <handa@gnu.org>
6614         * mule-cmds.el (input-method-use-echo-area): Change :type to
6615         'boolean.
6617 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6619         Start using proportional fonts in eww by default
6620         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
6621         it seems to work well.
6623         Fix links in tables in shr
6624         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
6625         makes (some) links in tables not work.
6627 2015-05-01  Jan D  <jan.h.d@swipnet.se>
6629         (ns-get-cut-buffer-internal): Remove this alias.
6630         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
6632 2015-04-30  Glenn Morris  <rgm@gnu.org>
6634         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
6635         Update for 2015-02-08 change to indirect-function.
6637         * lisp/term/ns-win.el (ns-get-selection-internal):
6638         Remove declaration for function deleted 2014-10-21.
6640         * lisp/dom.el: Load subr-x when compiling, for when-let.
6642         Silence some compilation warnings
6643         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
6644         * lisp/emulation/cua-base.el (delete-active-region):
6645         * lisp/net/net-utils.el (w32-get-console-output-codepage):
6646         * lisp/term/ns-win.el (ns-own-selection-internal)
6647         (ns-disown-selection-internal, ns-selection-owner-p)
6648         (ns-selection-exists-p, ns-get-selection):
6649         Declare for compiler..
6651         Function declaration updates prompted by 'make check-declare'
6652         * lisp/emacs-lisp/package.el (lm-homepage):
6653         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
6654         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
6655         * lisp/gnus/mml.el (libxml-parse-html-region):
6656         * lisp/gnus/nnrss.el (libxml-parse-html-region):
6657         * lisp/net/eww.el (libxml-parse-html-region):
6658         * lisp/net/shr.el (libxml-parse-html-region):
6659         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
6660         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
6661         * lisp/vc/vc-git.el (vc-annotate-convert-time):
6662         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
6663         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
6664         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
6665         Update declaration.
6667         Remove compatibility code for 20-year old function renaming
6668         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
6669         Make it an obsolete alias.
6670         (idlwave-shell-filter): Change all uses to comint-output-filter.
6672 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
6674         Add ace-window face config
6675         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
6676         configuration.
6678 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
6680         Unclutter 'make doc' output a bit
6681         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
6682         Use make subst rather than sh IFS to split target string apart.
6683         This makes 'make' output easier to follow.
6685         Merge from gnulib
6686         * doc/misc/texinfo.tex: Update from gnulib.
6688 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
6690         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
6691         (package-menu--print-info): Obsolete.
6692         (package-menu--print-info-simple): New function.
6693         (package-menu--refresh): Use it, simplify code, and improve
6694         performance.
6695         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
6696         Tiny performance improvement.
6698         * lisp/emacs-lisp/package.el (package--message): inhibit-message
6700 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
6702         Omit -Wstrict-overflow workaround in GCC 5
6703         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
6704         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
6706         Merge from gnulib
6707         This incorporates:
6708         2015-04-29 extern-inline: no need for workaround in GCC 5.1
6709         2015-04-26 file-has-acl: port to CentOS 6
6710         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
6712 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
6714         Set next-error-* in xref--xref-buffer-mode
6715         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
6716         `next-error-last-buffer'.
6717         (xref--next-error-function): New function.
6718         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
6720 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6722         python.el: Fix warnings on looking-back calls missing LIMIT
6723         * lisp/progmodes/python.el (python-shell-accept-process-output):
6724         Pass LIMIT arg to looking-back.
6726 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6728         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
6729         (package--download-and-read-archives): Use pushnew instead of
6730         append.  If something terrible happened during a previous
6731         download, simply refreshing should now make things work again.
6733 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
6735         Introduce etags-xref-find-definitions-tag-order
6736         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6737         New variable.
6738         (etags--xref-find-definitions): Use it (bug#19468).
6740 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
6742         PATH- and completion-related fixes in Eshell on MS-Windows
6743         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
6744         MS-Windows, prepend "." to list of directories produced from PATH,
6745         as Windows always implicitly searches the current directory first.
6746         (eshell-force-execution): Make it have a non-nil default value on
6747         MS-Windows and MS-DOS.
6748         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
6749         eshell-force-execution is non-nil, complete on readable files and
6750         directories, not only executables.  When running on MS-Windows,
6751         prepend "." to list of directories produced from PATH, as Windows
6752         always implicitly searches the current directory first.
6754 2015-04-29  Sam Steingold  <sds@gnu.org>
6756         bury RCIRC buffers when there is no activity
6757         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
6758         (rcirc-bury-buffers): new function
6759         (rcirc-next-active-buffer): when there is no new activity, use
6760         `rcirc-bury-buffers' to hide all RCIRC buffers
6762 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
6764         Fix DBUS query result parsing for secrets-search-items
6765         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
6766         parsing.  The function assumed that return value of the
6767         SearchItems method called on a collection is a list of two lists,
6768         however this is true only when no collection is specified.  GNOME
6769         had used to incorrectly return a list of two lists in both cases,
6770         but this was already fixed:
6771         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
6772         incorrect information in the secrets-search-items’ docstring.
6773         (Bug#20449)
6775 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6777         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
6778         (byte-compile--message): Use `inhibit-message' instead of hiding
6779         the previous message with (message nil).
6781 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
6783         Remove the deprecated INTERNAL_FIELD macro by expanding it
6784         * src/lisp.h (INTERNAL_FIELD): Remove.
6785         (DEFVAR_KBOARD): Modify accordingly.
6786         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
6787         * syntax.c: Adjust users.
6788         * src/buffer.c (compact_buffer): Use BVAR.
6790 2015-04-29  Glenn Morris  <rgm@gnu.org>
6792         Replace an obsolete function alias
6793         * lisp/isearch.el (isearch-yank-x-selection):
6794         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
6795         (mouse-drag-secondary-moving):
6796         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
6797         Replace obsolete alias x-get-selection with gui-get-selection.
6799 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
6801         * lisp/mail/rmailsum.el: Use lexical-binding.
6803 2015-04-29  Glenn Morris  <rgm@gnu.org>
6805         * test/automated/package-test.el (package-test-update-archives-async):
6806         Skip test on hydra.nixos.org.
6808 2015-04-28  Glenn Morris  <rgm@gnu.org>
6810         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
6811         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
6812         (foldout-mouse-hide-or-exit): Use new names for outline functions.
6814         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
6815         Update for 2014-06-26 hideif.el change.
6817         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
6818         (rmail--decode-and-apply): New function.
6819         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
6821         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
6823 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6825         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
6826         (package-menu--refresh): Delegate obsolete-hiding to
6827         `package--remove-hidden'.
6828         (package--remove-hidden): Disregard high-priority package if it is
6829         older than the installed one.
6831 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
6833         Update source file encoding list
6834         Update admin/notes/unicode, along with coding system cookies in
6835         other files, so that the two match each other better.
6836         * admin/notes/unicode: lisp/language/ethio-util.el and
6837         lisp/language/ethiopic.el also use utf-8-emacs.
6838         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
6839         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
6840         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
6841         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
6842         * etc/refcards/sk-survival.tex:
6843         Add "coding: utf-8" so that this file is not mishandled in a
6844         Latin-1 or Big-5 locale.
6845         * lisp/international/robin.el, lisp/org/ox-ascii.el:
6846         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
6847         * lisp/language/ethio-util.el: Fix trailer.
6849 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
6851         Fix synchronous invocation of Ispell
6852         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
6853         value to ispell-process-directory before calling ispell-init-process.
6854         Don't call set-process-coding-system if ispell-async-processp is nil.
6855         (Bug#20448)
6857 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6859         * lisp/emacs-lisp/package.el: Skip space and comments in init file
6860         (package--ensure-init-file): Insert snippet at first
6861         non-whitespace non-comments line.  Respects local-vars at the top
6862         of the file.
6864 2015-04-28  Glenn Morris  <rgm@gnu.org>
6866         * lisp/mail/rmail.el (rmail-copy-headers):
6867         Handle rmail-nonignored-headers being nil.  (Bug#18878)
6869         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
6871         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
6872         Don't get confused by a bzrlib version mismatch warning.
6874 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6876         Change default location of EUDC options file
6877         * NEWS: Document change to EUDC options file's default location.
6878         * lisp/net/eudc-vars.el (eudc-options-file): Use
6879         `locate-user-emacs-file' to change default options file location.
6881 2015-04-27  Glenn Morris  <rgm@gnu.org>
6883         * test/automated/package-test.el (package-test-update-archives-async):
6884         Try to handle the test server script dying.
6886 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6888         * lisp/saveplace.el (save-place-mode): New minor mode.
6889         (save-place): Redefine as an obsolete alias.
6891         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
6892         * lisp/midnight.el: Use lexical-binding.
6893         (midnight-mode): Make it a proper minor mode.
6894         (midnight-buffer-display-time): Make arg non-optional.
6895         (midnight-find): Remove.
6896         (clean-buffer-list-kill-never-regexps)
6897         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
6898         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
6899         contain functions.
6900         (clean-buffer-list): Use cl-find.
6901         Allow clean-buffer-list-kill-never-regexps to contain functions.
6903 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
6905         Bump version of seq.el to 1.5
6906         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
6907           from seq-doseq.  Bump version number of seq.el.
6909 2015-04-27  Glenn Morris  <rgm@gnu.org>
6911         * lisp/mail/rmail.el (rmail-reply):
6912         Decode subject before matching "Re:" prefix.  (Bug#20396)
6914 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
6916         * lisp/emacs-lisp/package.el: Small improvements
6917         (package--with-work-buffer-async): More informative error.
6918         (package-install-user-selected-packages): Rename to
6919         `package-install-selected-packages'.
6921 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6923         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
6924         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
6925         (eieio--class-make): Remove leftover `tag'.
6927 2015-04-27  Glenn Morris  <rgm@gnu.org>
6929         * lisp/gnus/message.el (gnus-extract-address-components):
6930         Remove bogus declaration that was masking previous problem.
6932 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
6934         * lisp/gnus/message.el (message-insert-formatted-citation-line):
6935         Fix typo.  (Bug#20318)
6937 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6939         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
6941         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
6942         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
6943         the buffer in yet another frame.
6944         (reftex-toc-visit-location): Make sure toc-window has focus at the end
6945         when `final' is nil.
6946         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
6947         silence warnings.  Use `--' to clarify that it's internal.
6948         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
6949         (reftex-toc-promote): Clarify unused argument.
6950         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
6951         Add `reftex--' prefix.  Fix all users.
6952         (reftex-toc-promote-prepare): Use _ for dummy variable.
6953         (reftex-toc-restore-region): Rename `m
6955 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
6957         Fix a typo in bibtex.el
6958         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
6959         last change.  (Bug#20429)
6961         Fix redisplay of frame after loading new fonts
6962         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
6963         frame because new fonts were loaded, disable all redisplay
6964         optimizations on that frame by calling SET_FRAME_GARBAGED.
6965         (Bug#20410)
6967 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6969         * lisp/info.el (Info-menu): Properly provide the `default'
6970         (Bug#20391)
6972         * elisp-mode.el: Catch errors from `documentation'
6973         (Bug#20418)
6974         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
6975         Catch errors from documentation.
6976         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
6978 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
6980         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
6981         Remove redundant ":group 'package".
6983 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
6985         Fix a typo in rmail.el
6986         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
6987         last commit.  (Bug#20429)
6989 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
6991         Introduce xref-prompt-for-identifier
6992         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
6993         (xref--read-identifier): Use it
6994         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
6996 2015-04-26  João Távora  <joaotavora@gmail.com>
6998         `tex-insert-quote' after single `'' opens quotes instead of closing
6999         Without this, it's very hard to precede double quotes with the
7000         apostrophe character, i.e. insert the sequence '``
7001         (quote-backquote-backquote), commonly useful in portuguese, for
7002         instance.
7003         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
7004         chars making `tex-insert-quote' be in the "opening" context.
7006 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
7008         Pass `id' to `completing-read' as def instead of initial input
7009         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
7010         as the default value instead of initial input
7011         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
7013 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7015         Don't freeze with unreadable processes
7016         Don't freeze if an exiting process can't be read from. (Bug#19860).
7017         This fixes a bug I introduced in
7018         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
7019         "* process.c: Add sanity checks for file descriptors."
7020         Dmitry Gutov did most of the legwork in finding the problem.
7021         * src/process.c (wait_reading_process_output):
7022         Treat non-running processes that can't be read from
7023         the same as other non-running processes.
7025 2015-04-25  Alan Mackenzie  <acm@muc.de>
7027         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
7028         * lisp/subr.el (remove-yank-excluded-properties): put
7029         `with-silent-modifications' around only the last three lines of code.
7031 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7033         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
7034         (package--all-keywords): Deleted variable.
7036         * etc/NEWS: Document package-hiding functionality
7038 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
7040         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
7042         Clarify the doc string of 'replace-regexp-in-string'
7043         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
7045         Improve doc string of 'insert-buffer-substring'
7046         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
7048         MS-Windows followup for the recent gnulib update
7049         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
7050         acl-internal.c.
7052 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7054         Spelling fixes
7056         Merge from gnulib
7057         This incorporates:
7058         2015-04-24 file-has-acl: new module, split from acl
7059         2015-04-24 manywarnings: add GCC 5.1 warnings
7060         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
7061         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
7062         2015-04-15 acl: On Linux, check for acls without libacl
7063         2015-04-14 tempname: avoid unused parameter warnings (trivial)
7064         * lib/acl-internal.c: New file, from gnulib.
7065         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
7066         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
7067         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
7068         Update from gnulib.
7070         Port --enable-gcc-warnings to GCC 5.1 x86-64
7071         * lib-src/ebrowse.c (dump_sym):
7072         * lib-src/hexl.c (main):
7073         * src/ccl.c (ccl_driver):
7074         * src/character.c (string_escape_byte8):
7075         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
7076         * src/gnutls.c (Fgnutls_boot):
7077         * src/gtkutil.c (xg_check_special_colors):
7078         * src/image.c (x_build_heuristic_mask):
7079         * src/print.c (safe_debug_print, print_object):
7080         * src/term.c (produce_glyphless_glyph):
7081         * src/xdisp.c (get_next_display_element)
7082         (produce_glyphless_glyph):
7083         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
7084         Don't use a signed format to print an unsigned integer, or vice
7085         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
7086         * src/image.c (png_load_body, jpeg_load_body):
7087         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
7089 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
7091         Add new faces to tsdh-light-theme
7092         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
7093         definitions for Info-quoted, ace-jump-face-foreground,
7094         hl-paren-face, show-paren-match, and show-paren-mismatch.
7096 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
7098         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
7100 2015-04-24  Glenn Morris  <rgm@gnu.org>
7102         * build-aux/gitlog-to-emacslog:
7103         Use raw log format rather than wrapped one.
7105 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7107         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
7108         (seq-doseq): Fix out-of-scope binding.
7109         Don't call `seq-length at every iteration.
7110         Reduce `if's from 3 to 2 per iteration.
7111         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
7113 2015-04-24  Glenn Morris  <rgm@gnu.org>
7115         * lisp/textmodes/text-mode.el (text-mode-hook):
7116         Move text-mode-hook-identify to default.
7118         * lisp/mouse.el (minor-mode-menu-from-indicator):
7119         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
7121         * lisp/help-fns.el (describe-function): More type checking.
7122         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
7124         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
7125         (Bug#20325)
7127 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
7129         shr: strip leading whitespace when expanding URLs
7130         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
7132 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
7134         Clarify "co-authored" some more
7136         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
7138         Clarify doc strings of functions that search for properties
7139         * src/textprop.c (Fnext_char_property_change)
7140         (Fprevious_char_property_change)
7141         (Fnext_single_char_property_change)
7142         (Fprevious_single_char_property_change, Fnext_property_change)
7143         (Fnext_single_property_change, Fprevious_property_change)
7144         (Fprevious_single_property_change): Clarify doc strings wrt return
7145         value and the optional LIMIT argument.  (Bug#20411)
7147 2015-04-24  Glenn Morris  <rgm@gnu.org>
7149         * test/automated/message-mode-tests.el (message-mode-propertize):
7150         Handle non-writable HOME; eg on hydra.nixos.org.
7152 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
7154         Avoid starting threads by w32-shell-execute
7155         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
7156         local file names, before invoking ShellExecute.  (Bug#20220)
7158 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
7160         Fix following doc-links in `widget-documentation-link-action'
7161         * lisp/wid-edit.el (widget-documentation-link-action): Make
7162         following doc-links less simplistic (Bug#20398).
7164 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7166         Improve EUDC manual
7167         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
7169 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7171         Omit needless "\ " after multibyte then newline
7172         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
7173         (print_object): When print-escape-multibyte is non-nil and a
7174         multibyte character is followed by a newline or formfeed, followed
7175         by a hex digit, don't output a needless "\ " before the hex digit.
7176         * test/automated/print-tests.el (print-hex-backslash): New test.
7178 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
7180         Add a new `inhibit-message' variable
7181         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
7182         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
7183         `inhibit_message' is non-zero.
7184         * etc/NEWS: Add an entry.
7185         * doc/lispref/display.texi: Add an entry for `inhibit-message',
7186           mention it in `message'.
7188 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7190         Fix last fix in `display-buffer-record-window'.
7191         * lisp/window.el (display-buffer-record-window): Fix last fix.
7193 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
7195         Minor edits in CONTRIBUTE
7196         * CONTRIBUTE: Rearrange instructions about log messages.
7197         Use "Git" capitalized all over.
7198         Use 2 spaces between sentences.
7200 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7202         * lisp/files.el (basic-save-buffer): Fix argument
7204         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
7205         In case `(and (null custom-file) init-file-had-error)' do the same
7206         thing we'd do if `(null user-init-file)', which is to either error out
7207         or return nil.  This is in line with `custom-save-all' which would
7208         throw an error in that situation. (bug#20355)
7210         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
7211         (package-menu-hide-low-priority): New variable, see its doc.
7212         (package-archive-priorities): Update doc.
7213         (package-desc-priority): New function.
7214         (package-desc-priority-version): Use it.
7215         (package--remove-hidden): New function.
7216         (package-menu--refresh): Use it.
7218         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
7219         (package-menu--hide-obsolete): New variable.
7220         (package--remove-hidden): Use it.
7221         (package-menu-hide-obsolete): New interactive function to toggle
7222         the variable.
7223         (package--quick-help-keys): Document it.
7224         (package-menu-async): Add :version tag.
7225         (package-menu-mode-map): Bind package-menu-hide-obsolete.
7226         (package-desc-status): Indicate non-installed obsolete packages as
7227         avail-obso.
7228         (package-menu-mark-install): Allow installation of avail-obso.
7229         (package-menu--status-predicate): Sort avail-obso with available.
7231 2015-04-22  Alan Mackenzie  <acm@muc.de>
7233         On C-y, stop some text property entries being written into buffer-undo-list
7234         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
7235         `with-silent-modifications'.
7237 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7239         In display-buffer-record-window record selected window if necessary.
7240         * lisp/window.el (display-buffer-record-window): Store selected window
7241         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
7243 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
7245         Fix reftex-citation bug
7246         * reftex-cite.el (reftex-extract-bib-entries): Fix
7247         `wrong-type-argument stringp nil' error that occurs when AUCTeX
7248         integration is enabled and there are no citations in the document
7249         so far.
7251 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
7253         Add or reset based on the presence of MERGE_HEAD
7254         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
7255         `vc-git-resolve-when-done' to `after-save-hook' in either case.
7256         (vc-git-conflicted-files): Add a TODO.
7257         (vc-git-resolve-when-done): Depending on the presence of
7258         MERGE_HEAD, either update the resolved file in the index, or
7259         remove it from there.  (Bug#20292)
7261 2015-04-21  Glenn Morris  <rgm@gnu.org>
7263         * lisp/custom.el (custom-declare-group): No need to purecopy
7264         custom-current-group-alist members following recent change to set
7265         it to nil before dumping.
7267         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
7268         (Bug#20399)
7270 2015-04-21  Daniel Colascione  <dancol@dancol.org>
7272         Unbreak no-op buffer save message
7273         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
7274         (basic-save-buffer): Accept called-interactively as an argument instead of
7275         directly invoking called-interactively-p, which will always yield nil
7276         in that context.
7278 2015-04-21  Alan Mackenzie  <acm@muc.de>
7280         CC Mode: Do nothing in before/after-change-functions for text property changes
7281         Fixes bug#20266.
7282         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
7283         yank-handled-properties buffer local, and remove 'category from it.
7284         (c-called-from-text-property-change-p): New function.
7285         (c-before-change): Don't do anything if a call of the new function
7286         returns non-nil.
7287         (c-after-change): Don't do much if a call of the new function returns
7288         non-nil.
7289         (c-extend-after-change-region): Put changes to text property 'fontified
7290         inside c-save-buffer-state.
7292 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7294         Fix byte-compiler warnings about looking-back.
7295         * lisp/vc/log-view.el (log-view-end-of-defun-1):
7296         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
7297         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
7298         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
7299         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
7300         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
7301         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
7302         * lisp/org/org.el (org-insert-heading, org-sort-entries):
7303         * lisp/org/org-mouse.el (org-mouse-end-headline)
7304         (org-mouse-context-menu):
7305         * lisp/org/org-clock.el (org-clock-cancel):
7306         * lisp/man.el (Man-default-man-entry):
7307         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
7308         (rmail-ensure-blank-line):
7309         * lisp/mail/footnote.el (Footnote-delete-footnote):
7310         * lisp/mail/emacsbug.el (report-emacs-bug):
7311         * lisp/info.el (Info-follow-reference, Info-fontify-node):
7312         * lisp/info-look.el (info-lookup-guess-custom-symbol):
7313         * lisp/help-fns.el (help-fns--key-bindings):
7314         * lisp/files.el (hack-local-variables):
7315         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
7316         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
7317         (viper-complete-filename-or-exit):
7318         * lisp/emulation/viper-cmd.el (viper-backward-indent):
7319         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
7320         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
7321         * lisp/cus-edit.el (custom-face-edit-value-create):
7322         * lisp/calendar/todo-mode.el (todo-set-item-priority)
7323         (todo-filter-items-1, todo-convert-legacy-files)
7324         (todo-prefix-overlays): Add explicit second arg to looking-back.
7326 2015-04-20  Glenn Morris  <rgm@gnu.org>
7328         Avoid non-nil current-load-list at startup
7329         * src/process.c (init_process_emacs): Move Fprovide statement...
7330         (syms_of_process): ... to here.
7332         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
7334         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
7336 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
7338         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
7339         (Bug#20330)
7341 2015-04-20  Glenn Morris  <rgm@gnu.org>
7343         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
7345         Tweak exec-path in uninstalled case
7346         * src/callproc.c (init_callproc): If running uninstalled, do not
7347         include eventual installation libexec directory in exec-path.
7349 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
7351         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
7352         (package-menu-filter): Accept a list of keywords.
7353         (package--all-keywords): New variable to cache known keywords.
7354         (package-all-keywords): Populate it if necessary.
7355         (package-refresh-contents): Reset it.
7357         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
7358         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
7359         as special keywords which match agains package archive and status
7360         respectively.
7361         * etc/NEWS: Document it.
7363 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
7365         Describe and index "empty overlays".
7366         * doc/lispref/display.texi (Overlays): Improve indexing.
7367         (Managing Overlays): Describe "empty" overlays.
7368         (Overlay Properties, Finding Overlays): Add cross-reference to
7369         where empty overlays are described.
7371 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7373         Spelling fixes
7375         Quote 'like this' in top-level files
7376         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
7377         Prefer to single-quote 'like this' (instead of the older style
7378         `like this').
7379         * configure.ac: Fix some space-before-tab problems that 'git commit'
7380         complained about.
7382         Use bool for boolean in textprop.c, undo.c
7383         * src/textprop.c (soft, hard): Now constants instead of macros.
7384         (validate_plist): Rewrite to avoid need for boolean local.
7385         (interval_has_all_properties, interval_has_some_properties)
7386         (interval_has_some_properties_list, add_properties)
7387         (remove_properties, get_char_property_and_overlay)
7388         (Fnext_single_char_property_change)
7389         (Fprevious_single_char_property_change, add_text_properties_1)
7390         (Fremove_text_properties, Fremove_list_of_text_properties)
7391         (copy_text_properties):
7392         * src/tparam.c (tparam1):
7393         * src/undo.c (record_change, record_property_change)
7394         (syms_of_undo):
7395         Use 'true' and 'false' for booleans.
7397 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7399         Call `smerge-start-session' even when dealing with a stash conflict
7400         * lisp/vc/vc-git.el (vc-git-find-file-hook):
7401         Call `smerge-start-session' even when dealing with a stash
7402         conflict (bug#20292).
7404 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
7406         Add option to eshell/clear to clear scrollback.
7407         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
7408         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
7409         scrollback contents are cleared.
7410         * etc/NEWS: Describe change.
7411         * doc/misc/eshell.texi: Add entry for `clear'.
7413 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7415         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
7416         where either will do.
7418 2015-04-19  Steve Purcell  <steve@sanityinc.com>
7420         Assume package archive-contents are UTF8-encoded
7421         * lisp/emacs-lisp/package.el (package--read-archive-file):
7422         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
7423         downloaded and cached archive-contents files, so that non-ASCII
7424         characters in package descriptions are displayed correctly in the
7425         `list-packages' menu. (Bug#20231)
7427 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7429         Abort when looking at stashed changes
7430         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
7431         stashed changes (bug#20292).
7433 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7435         Refactor low-level printing for simplicity
7436         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
7437         PRINTPREPARE; doable now that we assume C99.  All callers changed.
7438         (PRINTCHAR): Remove, as it adds more mystery than clarity.
7439         All callers changed.
7440         (strout): Assume that caller computes length.  All callers changed.
7441         (print_c_string): New function.
7442         (write_string, write_string_1): Compute length instead of asking
7443         the caller to compute it.  All callers changed.
7444         (write_string): Simplify by using write_string_1.
7445         (write_string_1): Simplify by using print_c_string.
7446         (Fterpri): Compute default val more clearly.
7447         (Fprin1_to_string, print_object):
7448         Assume C99 to avoid unnecessary nesting.
7449         (print_object): Prefer print_c_string to multiple printchar, or
7450         to calling strout with -1 length.  Coalesce into sprintf when
7451         this is easy.
7453 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
7455         Prefer "Bug#1234" in commit messages (Bug#20325)
7456         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
7457         as this isn't useful for Git.
7458         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
7460 2015-04-18  Glenn Morris  <rgm@gnu.org>
7462         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
7463         (Bug#19506)
7465 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
7467         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
7468         (Bug#19505)
7470 2015-04-18  Glenn Morris  <rgm@gnu.org>
7472         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
7474         * doc/emacs/misc.texi (Sorting): Small edit.
7475         (Bug#19896)
7477         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
7479 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
7481         css-mode.el: Support multi-line comment filling
7482         (Bug#20256)
7483         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
7484         comment filling.
7485         (css-adaptive-fill): New function.
7486         (css-mode): Set `adaptive-fill-function'.
7487         (scss-mode): Set `comment-continue'.
7489 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
7491         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
7493 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
7495         Minor improvements in Bulgarian input methods
7496         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
7497         Replace U+042C with U+045D, as the former character is not used in
7498         the modern Bulgarian language.
7499         (Bug#20350)
7501 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7503         Improve EUDC manual
7504         * eudc.texi (LDAP Configuration): Mention simple and SASL
7505         authentication schemes.  Add index items.  Shorten example server
7506         name.
7508 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
7510         Don't show both feature and function with the same name
7511         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7512         Don't show both feature and function with the same name.
7514         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
7515         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7516         Avoid returning both the variable and the function for the same
7517         minor mode.
7519 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
7521         Fix fontification of keywords clobbered by the prompt.
7522         * lisp/comint.el (comint-output-filter): Remove the uses of
7523         with-silent-modifications I introduced as part of the last change.
7524         This fixes, e.g., erratically missing highlighting when running
7525         ./configure --help; ./configure in a shell-mode buffer with
7526         compilation-shell-minor-mode turned on.
7528 2015-04-17  Glenn Morris  <rgm@gnu.org>
7530         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
7532 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
7534         * lisp/indent.el (indent-region): Don't deactivate the mark
7535         (Bug#20357)
7537 2015-04-17  Sam Steingold  <sds@gnu.org>
7539         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
7541 2015-04-16  Leo Liu  <sdl.web@gmail.com>
7543         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
7545 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
7547         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
7549 2015-04-16  Glenn Morris  <rgm@gnu.org>
7551         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
7553 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
7555         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
7556         * configure.ac (LIBJPEG): Leave it empty for MinGW.
7558 2015-04-16  Glenn Morris  <rgm@gnu.org>
7560         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
7561         to avoid rogue setting after startup.
7563 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7565         Pre-4.6 GCC succeeds with unknown option
7566         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
7567         (Bug#20338)
7569 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7571         '[:graph:]' now excludes whitespace, not just ' '
7572         * doc/lispref/searching.texi (Char Classes):
7573         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
7574         sans whitespace (not sans space).
7575         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
7576         not just space.
7577         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
7579 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7581         (looking-back): Make the second arg non-optional.
7582         * lisp/subr.el (substitute-key-definition-key, special-form-p)
7583         (macrop): Drop deprecated second arg to indirect-function.
7584         (looking-back): Make the second arg non-optional.
7586         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
7587         command is actually sent to the shell.
7589 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7591         Port jpeg configuration to Solaris 10 with Sun C
7592         * configure.ac: Check for jpeglib 6b by trying to link it, instead
7593         of relying on cpp magic that has problems in practice.  Check for
7594         both jpeglib.h and jerror.h features.  Remove special case for
7595         mingw32, which should no longer be needed (and if it were needed,
7596         should now be addressable by hotwiring emacs_cv_jpeglib).
7597         (Bug#20332)
7599 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7601         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
7602         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
7603         Move to elisp-mode.el.
7604         (lisp-mode-variables): (Re)move elisp-specific settings.
7605         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
7606         from lisp-mode-variables.
7607         (elisp--font-lock-flush-elisp-buffers): New function, moved from
7608         lisp-mode.el.
7610         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
7611         Avoid pathological slowdown at top-level in large file.
7613 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7615         Standardize names of ChangeLog history files
7616         Suggested by Glenn Morris in:
7617         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7618         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
7619         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
7620         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
7621         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
7622         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
7623         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
7624         Remove.
7626         Split top-level entries into pre- and post-April 7
7627         This more clearly distingiushes pre-April-7 ChangeLog entries (which
7628         are for top-level files only) from post-April-7 entries (which are
7629         about files at all levels.  Problem reported by Glenn Morris in:
7630         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7631         * ChangeLog.1: Move post-April-7 entries from here ...
7632         * ChangeLog.2: ... to this new file.
7633         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
7635 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7637         Fix recent cus-start changes that added customize-rogues
7638         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
7639         vars early.
7640         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
7642 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
7644         Define cl-concatenate as an alias to seq-concatenate
7645         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
7646           code by making cl-concatenate an alias to seq-concatenate.
7648 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7650         * src/lread.c (intern_1): Make sure we'd find the symbol we add
7651         (Bug#20334)
7652         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
7654 2015-04-15  Glenn Morris  <rgm@gnu.org>
7656         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
7658 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7660         Clean up gnus-uu saving code slightly
7661         * gnus-uu.el (gnus-uu-save-article): Make the
7662         save-restriction/widen calls make more sense.
7664 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7666         Make [:graph:] act like [:print:] sans space
7667         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
7668         [:graph:] so that it matches everything that [:print:] does,
7669         except for space.
7670         * doc/lispref/searching.texi (Char Classes):
7671         * etc/NEWS:
7672         * lisp/emacs-lisp/rx.el (rx):
7673         Document [:graph:] to be [:print:] sans ' '.
7674         * src/character.c, src/character.h (graphicp): New function.
7675         * src/regex.c (ISGRAPH) [emacs]: Use it.
7676         (BIT_GRAPH): New macro.
7677         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
7678         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
7679         Return BIT_GRAPH for RECC_GRAPH.
7680         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
7681         and ISPRINT if BIT_PRINT.
7683 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7685         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
7686         Don't use call-next-method in a cl-defmethod.
7688         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
7689         (eieio--class-p): Remove, provided by cl-defstruct.
7691 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
7693         Add seq-intersection and seq-difference to the seq library
7694         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
7695         functions.
7696         * test/automated/seq-tests.el: Add tests for seq-intersection and
7697         seq-difference.
7698         * doc/lispref/sequences.texi: Add documentation for seq-intersection
7699         and seq-difference.
7701 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7703         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
7705 2015-04-14  Sam Steingold  <sds@gnu.org>
7707         package--ensure-init-file: widen requires save-restriction
7709 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
7711         Improve the commit-msg Git hook for unibyte environments
7712         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
7713         in unibyte environments.  (Suggested by Paul Eggert
7714         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
7715         [:print:], based on UTF-8 sequences of the unprintable characters.
7717         Describe problems with cursor caused by Windows Magnifier
7718         * etc/PROBLEMS: Describe the problem with cursor shape on
7719         MS-Windows due to Windows Magnifier.
7720         (Bug#20271)
7722         Make [:print:] support non-ASCII characters correctly
7723         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
7724         (BIT_PRINT): New bit mask.
7725         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
7726         * src/character.c (printablep): New function.
7727         * src/character.h (printablep): Add prototype.
7728         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
7729         of 'print', 'alnum', and 'alphabetic'.
7730         * doc/lispref/searching.texi (Char Classes): Document the new
7731         behavior of [:print:].
7732         * etc/NEWS: Mention the new behavior of [:print:].
7734         Assign correct general-category and names to surrogates
7735         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
7736         surrogates.  This avoids assigning them the default
7737         general-category of 'Cn', i.e. unassigned codepoints.
7738         (unidata-get-name): Give surrogates synthetic names.
7740 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
7742         Assume C89 offsetof in xterm.c, xlwmenu.c
7743         * lwlib/xlwmenu.c (offset):
7744         * src/xterm.c (cvt_string_to_pixel_args):
7745         Use offsetof, not XtOffset.
7747 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7749         Assume C89 offsetof in widget.c
7750         * src/widget.c (XtOffset): Remove; no longer needed.
7751         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
7753         Fix think-o in previous patch
7754         * src/window.c (count_windows, get_leaf_windows):
7755         Don't optimize count_windows incorrectly.
7757 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7759         Avoid some int overflows in window.c
7760         * src/print.c (print_object):
7761         * src/window.c (sequence_number):
7762         * src/window.h (struct window.sequence_number):
7763         Don't assume window sequence number fits in int.
7764         * src/window.c (window_select_count):
7765         * src/window.h (struct window.use_time, window_select_count):
7766         Don't assume window use time fits in int.
7767         * src/window.c (Fsplit_window_internal):
7768         Don't assume user-supplied integer, or sum, fits in int.
7769         (Fset_window_configuration, count_windows, get_leaf_windows)
7770         (save_window_save, Fcurrent_window_configuration):
7771         Use ptrdiff_t for object counts.
7772         (Fset_window_configuration): Omit unused local 'n'.
7773         (count_windows): Simplify by writing in terms of get_leaf_windows.
7774         (get_leaf_windows): Don't store through FLAT if it's null.
7775         (extract_dimension): New static function.
7776         (set_window_margins, set_window_fringes, set_window_scroll_bars):
7777         Use it to avoid undefined behavior when converting user-supplied
7778         integer to 'int'.
7780 2015-04-13  Glenn Morris  <rgm@gnu.org>
7782         Minor doc copyedits
7783         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
7784         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
7786 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
7788         [Gnus] Catch the invalid-operation that idna.el will issue
7789         * lisp/gnus/gnus-art.el (gnus-use-idna):
7790         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
7791         * lisp/gnus/message.el (message-use-idna):
7792         Catch the invalid-operation that idna.el will issue.
7794 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7796         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
7798 2015-04-13  Sam Steingold  <sds@gnu.org>
7800         package--ensure-init-file: widen before looking for "(package-initialize)"
7802 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
7804         Change diff-switches default to `-u'
7805         (Bug#20290)
7806         * doc/emacs/files.texi (Comparing Files): Document the new default
7807         value of `diff-switches'.
7808         * doc/emacs/trouble.texi (Sending Patches): Document the preference
7809         for unified diff format.  Escape the plus in the suggested `-F' regexp
7810         value.
7811         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
7813 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7815         (gnus-group--setup-tool-bar-update): Fix last change
7816         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
7817         cursor-sensor-functions should be a list of functions.
7819 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
7821         Use gmm-called-interactively-p in Gnus
7822         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
7824 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7826         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
7827         (Bug#20321)
7828         * lisp/cus-start.el (read-buffer-function): Don't advertize
7829         iswitchb-read-buffer any more.
7830         (iswitchb): Don't tweak this obsolete group any more.
7832 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
7834         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
7836         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
7837         Adding a string after a constructor's argument list will use
7838         that string as the constructor function docstring.  If this string
7839         is absent but the struct itself was given a docstring, use that as
7840         the constructor's docstring.
7841         Fixes (bug#17284).
7843 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7845         Deprecate `intangible' and `point-entered' properties
7846         * lisp/emacs-lisp/cursor-sensor.el: New file.
7847         * lisp/simple.el (pre-redisplay-functions): New hook.
7848         (redisplay--pre-redisplay-functions): New function.
7849         (pre-redisplay-function): Use it.
7850         (minibuffer-avoid-prompt): Mark obsolete.
7851         (redisplay--update-region-highlight): Adapt it to work as a function on
7852         pre-redisplay-functions.
7853         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
7854         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
7855         than point-entered to make the prompt intangible.
7856         * lisp/forms.el: Move `provide' calls to the end.
7857         (forms-mode): Don't use `run-hooks' on a local var.
7858         (forms--make-format, forms--make-format-elt-using-text-properties):
7859         Use cursor-intangible rather than `intangible'.
7860         (forms-mode): Enable cursor-intangible-mode.
7861         * lisp/isearch.el (isearch-mode): Use defvar-local.
7862         (cursor-sensor-inhibit): Declare.
7863         (isearch-mode): Set cursor-sensor-inhibit.
7864         (isearch-done): Set it back.
7865         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
7866         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
7867         any more.
7868         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
7869         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
7870         Add Edebug spec.
7871         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
7872         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
7873         inhibit-point-motion-hooks any more.
7874         (ses--cell-at-pos, ses--curcell): New functions, extracted from
7875         ses-set-curcell.
7876         (ses-set-curcell): Use them.
7877         (ses-print-cell, ses-setup): Use cursor-intangible instead of
7878         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
7879         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
7880         Use ses--cell-at-pos.
7881         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
7882         extracted from ses-command-hook.  Make them work with multiple windows
7883         displaying the same buffer.
7884         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
7885         Enable cursor-intangible-mode.
7886         (ses-command-hook): Remove cell highlight and mode-line update code.
7887         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
7888         Update for new name of text-property holding the cell name.
7889         (ses-rename-cell): Don't mess with mode-line-process.
7890         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
7891         cursor-sensor-functions property instead of point-entered.
7892         (erc-insert-timestamp-right, erc-format-timestamp):
7893         Use cursor-intangible rather than `intangible'.
7894         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
7895         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
7896         cursor-sensor-mode if needed.
7897         (erc-echo-timestamp): Adapt to calling convention of
7898         cursor-sensor-functions.
7899         (erc-insert-timestamp-right): Remove unused vars `current-window' and
7900         `indent'.
7901         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
7902         (gnus-update-group-mark-positions): Remove unused `topic' var.
7903         (gnus-group-insert-group-line): Remove unused var `header'.
7904         (gnus-group--setup-tool-bar-update): New function.
7905         (gnus-group-insert-group-line): Use it.
7906         (gnus-group-update-eval-form): Declare local
7907         dynamically-bound variables.
7908         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
7909         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
7910         (gnus-group-prepare-topics, gnus-topic-update-topic)
7911         (gnus-topic-change-level, gnus-topic-catchup-articles)
7912         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
7913         Use inhibit-read-only.
7914         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
7915         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
7916         * lisp/textmodes/reftex-index.el (reftex-display-index):
7917         Use cursor-intangible-mode if available.
7918         (reftex-index-post-command-hook): Check cursor-intangible.
7919         * lisp/textmodes/reftex-toc.el (reftex-toc):
7920         Use cursor-intangible-mode if available.
7921         (reftex-toc-recenter, reftex-toc-post-command-hook):
7922         Check cursor-intangible.
7923         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
7924         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
7925         (sgml-tags-invisible): Use with-silent-modifications and
7926         inhibit-read-only.  Enable cursor-sensor-mode.
7927         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
7928         calling convention of cursor-sensor-functions.
7929         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
7930         (table-point-entered-cell-hook, table-point-left-cell-hook):
7931         Don't autoload.
7932         (table-cell-entered-state): Remove var.
7933         (table--put-cell-point-entered/left-property)
7934         (table--remove-cell-properties):
7935         Use cursor-sensor-functions rather than point-entered/left.
7936         (table--point-entered/left-cell-function): Merge
7937         table--point-entered-cell-function and table--point-left-cell-function
7938         and adjust to calling convention of cursor-sensor-functions.
7940         Update ldef-boots.el
7942         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
7944         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
7946         Collapse successive char deletions in the undo log
7947         * src/cmds.c (remove_excessive_undo_boundaries): New function,
7948         extracted from Fself_insert_command.
7949         (Fdelete_char, Fself_insert_command): Use it.
7950         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
7951         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
7953         xterm and OSC 52: Add NEWS entry, and tweak the code
7954         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
7955         top-level.
7956         (terminal-init-xterm-activate-set-selection): Set a terminal property.
7957         (xterm--set-selection): Use it instead of checking the value of
7958         `terminal-initted'.  Don't use string-bytes.
7960 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
7962         xterm.el: Implement OSC-52 functionality for setting the X selection
7963         * lisp/term/xterm.el (xterm-max-cut-length): New var.
7964         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
7965         (terminal-init-xterm, xterm--version-handler): Use them.
7967 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7969         Remove left over code from when we used an obsolete/loaddefs.el file
7970         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
7971         we used an obsolete/loaddefs.el file.
7973         * cedet/semantic/fw.el: Use declare.
7974         * cedet/semantic/fw.el (semantic-exit-on-input)
7975         (semanticdb-without-unloaded-file-searches): Use declare.
7976         (semantic-fw-add-edebug-spec): Remove.
7978         (completion-lisp-mode-hook): Use completion-separator-chars
7979         * lisp/completion.el (completion-lisp-mode-hook):
7980         Use completion-separator-chars rather than local key binding.
7982         * src/*.c: Set deactivate_mark buffer-locally
7983         (Bug#20260)
7984         * src/insdel.c (prepare_to_modify_buffer_1):
7985         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
7986         buffer-locally.
7988 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7990         python.el: Keep symmetry on sexp navigation with parens
7991         (Bug#19954)
7992         * lisp/progmodes/python.el
7993         (python-nav--forward-sexp): Add argument skip-parens-p.
7994         (python-nav-forward-sexp, python-nav-backward-sexp)
7995         (python-nav-forward-sexp-safe)
7996         (python-nav-backward-sexp-safe): Use it.
7997         * test/automated/python-tests.el
7998         (python-nav-forward-sexp-1): Fix test.
8000 2015-04-12  João Távora  <joaotavora@gmail.com>
8002         Don't use `setq-local' in Gnus code
8003         This might break upstream builds with older Emacsen
8004         * lisp/gnus/message.el (message-mode): Use `set' and
8005         `make-local-variable' instead of `setq-local'.
8007 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8009         Update Makefile.in's .PHONY dependencies
8010         * Makefile.in (change-history-commit, master-branch-is-current)
8011         (no-ChangeLog): Now phony.
8013         Remove configure's --with-mmdf option
8014         * configure.ac (MAIL_USE_MMDF): Remove.
8015         * etc/NEWS: Document this.
8016         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
8017         (Bug#20308)
8019         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
8020         That way, 'make install' won't think it's a man page.
8021         Reported by Ashish SHUKLA in:
8022         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
8024         Improve 'make change-history' prereq tests
8025         * Makefile.in (gen_origin): Fix to match what's in the master branch.
8026         (no-ChangeLog, master-branch-is-current): New rules.
8027         (change-history): Depend on them, to avoid similar future problems.
8028         Escape the local-variables string to pacify Emacs when editing
8029         Makefile.in.
8031 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8033         * test/automated/package-test.el (with-package-test): Kill Packages buffer
8035         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
8036         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
8037         "Upgrade" last, and use capitalized instead of all-caps.
8039         * lisp/emacs-lisp/package.el: Completely silence async operations
8040         (package--make-autoloads-and-stuff): Silence autoloads.
8041         (package--save-selected-packages): New function, silences
8042         `customize-save-variable'.
8043         (package--user-selected-p, package-install-from-buffer)
8044         (package-delete, package-install): Use it.
8045         (package-install-from-archive)
8046         (package-menu--perform-transaction): Silence.
8047         (package-menu-execute): Feedback when operation starts.
8049         Use delay-mode-hooks when visiting the init-file
8050         * lisp/emacs-lisp/package.el (package--ensure-init-file):
8051         delay-mode-hooks
8052         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
8054         * lisp/files.el: Only message when saving if save-silently is nil
8055         (save-silently): New variable.
8056         (files--message): New function.
8057         (find-file-noselect, save-buffer, basic-save-buffer)
8058         (basic-save-buffer-2, save-some-buffers, not-modified)
8059         (append-to-file): Use them.
8061 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
8063         Support debug declarations in pcase macros
8064         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
8065         (pcase-UPAT): Use it.  Remove "`".
8066         (pcase--edebug-match-macro): New function.
8067         (pcase-defmacro): Support debug declarations.
8068         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
8069         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
8070         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
8072         pcase.el: Edebug support for `app' and vector patterns
8073         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
8074         (pcase-UPAT): Use it. Support `app' patterns.
8075         (pcase-QPAT): Support vector patterns.
8077         edebug.el: Disambiguate vector specifications
8078         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
8079         `(vector ...)' as a vector specification, not as a sublist.
8081         (gnus-summary-refer-thread): Don't clobber unread articles
8082         This fixes a bug where `A T' causes "random" articles to become marked
8083         as read.
8084         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
8085         gnus-newsgroup-unreads remains sorted.
8087         mouse-sel.el: Fix mouse-sel-get-selection-function
8088         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
8089         Use gui--last-selected-text-primary instead of no longer existing
8090         gui-last-selected-text.
8092         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
8094         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
8096 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8098         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
8100         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
8102         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
8103         (byte-compile--interactive): New var.
8104         (byte-compile--message): New function.
8105         (byte-compile-log-1, byte-force-recompile)
8106         (byte-recompile-directory, byte-recompile-file)
8107         (byte-compile-file, compile-defun)
8108         (byte-compile-file-form-defmumble, byte-compile)
8109         (byte-compile-file-form-defalias, display-call-tree): Use it.
8111         * lisp/files.el: Don't message when nothing happened
8112         (save-some-buffers, basic-save-buffer): Before messaging to say
8113         "nothing was saved" check if (called-interactively-p 'any).
8115 2015-04-12  João Távora  <joaotavora@gmail.com>
8117         Summary: Improve sexp-based movement in message-mode
8118         Works by giving citations and smileys a different syntax.  This helps
8119         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
8120         sexp-based movement.
8121         * lisp/gnus/message.el (message--syntax-propertize): New function.
8122         (message-mode): Set syntax-related vars.
8123         (message-smileys): New variable.
8124         * test/automated/message-mode-tests.el: New file
8126 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8128         Use bool for boolean in window.c
8129         * src/window.c: Omit unnecessary static function decls.
8130         (adjust_window_count, select_window, Fselect_window)
8131         (window_body_width, Fwindow_body_height, Fwindow_body_width)
8132         (set_window_hscroll, check_window_containing, Fwindow_at)
8133         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
8134         (unshow_buffer, replace_window, recombine_windows)
8135         (add_window_to_list, candidate_window_p, next_window)
8136         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
8137         (Fget_buffer_window, Fdelete_other_windows_internal)
8138         (replace_buffer_in_windows_safely, set_window_buffer)
8139         (Fset_window_buffer, Fforce_window_update)
8140         (temp_output_buffer_show, make_parent_window)
8141         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
8142         (resize_frame_windows, Fsplit_window_internal)
8143         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
8144         (Fresize_mini_window_internal, mark_window_cursors_off)
8145         (window_scroll, window_scroll_pixel_based)
8146         (window_scroll_line_based, scroll_command, Fscroll_other_window)
8147         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
8148         (Fmove_to_window_line, Fset_window_configuration)
8149         (delete_all_child_windows, apply_window_adjustment)
8150         (set_window_fringes, set_window_scroll_bars)
8151         (Fset_window_vscroll, foreach_window, foreach_window_1)
8152         (compare_window_configurations, Fcompare_window_configurations):
8153         Prefer 'bool', 'true', and 'false' for booleans.
8154         * src/window.h (WINDOW_MODE_LINE_LINES)
8155         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
8157 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8159         Speed up byte-compilation and autoload generation by avoiding mode-hooks
8160         This prevents emacs-lisp-mode-hook from being run everytime an
8161         autoload file is generated, which can account for a fraction of
8162         package installation time depending on the hooks the user has
8163         configured.
8164         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
8165         * lisp/emacs-lisp/autoload.el (autoload-find-file)
8166         (autoload-find-generated-file): Use delay-mode-hooks.
8168         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
8169         (package-menu-refresh): Respect async and do new package checking.
8170         (list-packages): Use `package-menu-refresh' instead of repeating code.
8172         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
8173         (package--quick-help-keys): New variable.
8174         (package--prettify-quick-help-key): New function.
8175         (package-menu-quick-help): Use it.
8177         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
8178         (package--build-compatibility-table): require finder
8180         * test/automated/package-test.el: Fix new test
8182         * lisp/emacs-lisp/package.el: Silence async operations
8183         (package--silence): New variable.
8184         (package--message): New function.
8185         (package-import-keyring, package-refresh-contents)
8186         (package-compute-transaction, package-install, package-delete)
8187         (package-menu--perform-transaction, package-menu-execute): Use it.
8189         * test/automated/package-test.el: Test async functionality
8190         (package-test-update-archives-async): New test
8192 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8194         Utilize `make-process' in epg.el
8195         * lisp/epg.el (epg-error-output): Abolish.
8196         (epg-context): New slot `error-buffer'.
8197         (epg--start): Use `make-process' and `make-pipe-process'.
8198         (epg--process-filter): Remove code separating stderr from stdout.
8199         (epg-wait-for-completion): Simplify `error-output' handling.
8200         (epg-reset): Dispose error buffer.
8202 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8204         * .gitignore: Ignore doc temps and outputs.
8206         Port commit-msg to MSYS Bash+Gawk
8207         See Eli Zaretskii in:
8208         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
8209         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
8210         (cent_sign, print_at_sign, at_sign): Revert previous change.
8211         (print_at_sign): Prepend "BEGIN".
8212         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
8214         Port commit-msg to broken MS-Windows shell
8215         * build-aux/git-hooks/commit-msg (cent_sign):
8216         Just use UTF-8 here rather than ASCII + printf, as the latter fails
8217         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
8218         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
8220 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
8222         Support GnuTLS v3.4 and later on MS-Windows
8223         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
8224         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
8225         GnuTLS DLL to load according to value of libgnutls-version.
8226         (Bug#20294)
8228 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8230         Minor quoting etc. fixes to misc manuals
8231         Fix some minor quoting and spacing issues.  Distinguish more
8232         clearly among grave accent and apostrophe (which are ASCII) and
8233         single quote (which is not).  Prefer the standard terms
8234         "apostrophe" and "grave accent" to alternative names that can be
8235         confusing.  Use apostrophes to single-quote ASCII text.
8236         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
8237         rather than approximating it in ASCII with grave accent.
8239 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8241         Respect more keyword args in `make-process'
8242         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
8243         keywords as documented.
8245 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
8247         Extract ChangeLog entries when committing a directory
8248         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
8249         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
8250         Add a FIXME comment.
8251         (log-edit-changelog-entries): Extract from
8252         `log-edit-changelog-entries', handle FILE being a directory
8253         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
8255 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8257         Fix problems found by --enable-gcc-warnings
8258         * src/process.c (create_process, Fmake_pipe_process)
8259         (Fmake_network_process): Omit unused locals.
8261         Fix commit-msg to handle scissors lines
8262         * build-aux/git-hooks/commit-msg:
8263         Ignore every line after a scissors line, such as a line generated
8264         by 'git commit -v'.  Problem reported by Johan Bockgård in:
8265         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
8267         port commit-msg to Gawk 3.0.4 (1999)
8268         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
8269         (print_at_sign, at_sign): New vars.  Use them to avoid problems
8270         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
8271         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8273         Have commit-msg report commit failure
8274         * build-aux/git-hooks/commit-msg: If the commit is aborted,
8275         say so.  Simplify by doing this at the end.  Problem reported
8276         by Eli Zaretskii in:
8277         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8279 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8281         Clean up LDAP Configuration section of EUDC manual
8282         * doc/misc/eudc.texi: Combine indices.
8283         (LDAP Configuration): Use command markup.  Add index entries.
8284         Change formatting.  Wrap long lines.  Add noindent markup.
8286 2015-04-10  Daiki Ueno  <ueno@gnu.org>
8288         Add facility to collect stderr of async subprocess
8289         * src/w32.h (register_aux_fd): New function declaration.
8290         * src/w32.c (register_aux_fd): New function.
8291         * src/process.h (struct Lisp_Process): New member stderrproc.
8292         * src/process.c (PIPECONN_P): New macro.
8293         (PIPECONN1_P): New macro.
8294         (Fdelete_process, Fprocess_status, Fset_process_buffer)
8295         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
8296         (Fcontinue_process): Handle pipe process specially.
8297         (create_process): Respect p->stderrproc.
8298         (Fmake_pipe_process): New function.
8299         (Fmake_process): Add new keyword argument :stderr.
8300         (wait_reading_process_output): Specially handle a pipe process when
8301         it gets an EOF.
8302         (syms_of_process): Register Qpipe and Smake_pipe_process.
8303         * doc/lispref/processes.texi (Asynchronous Processes): Document
8304         `make-pipe-process' and `:stderr' keyword of `make-process'.
8305         * lisp/subr.el (start-process): Suggest to use `make-process' handle
8306         standard error separately.
8307         * test/automated/process-tests.el (process-test-stderr-buffer)
8308         (process-test-stderr-filter): New tests.
8309         * etc/NEWS: Mention new process type `pipe' and its usage with the
8310         `:stderr' keyword of `make-process'.
8312 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8314         Minor quoting etc. fixes to lispref manual
8315         * doc/lispref/tips.texi (Documentation Tips):
8316         Distinguish more clearly among grave accent, apostrophe,
8317         and single quote.
8318         * doc/lispref/README, doc/lispref/buffers.texi:
8319         * doc/lispref/commands.texi, doc/lispref/control.texi:
8320         * doc/lispref/customize.texi, doc/lispref/display.texi:
8321         * doc/lispref/elisp.texi, doc/lispref/files.texi:
8322         * doc/lispref/frames.texi, doc/lispref/hash.texi:
8323         * doc/lispref/help.texi, doc/lispref/internals.texi:
8324         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
8325         * doc/lispref/markers.texi, doc/lispref/modes.texi:
8326         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
8327         * doc/lispref/os.texi, doc/lispref/positions.texi:
8328         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
8329         * doc/lispref/text.texi, doc/lispref/tips.texi:
8330         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
8331         Use American-style double quoting in ordinary text,
8332         and quote 'like this' when single-quoting in ASCII text.
8333         Also, fix some minor spacing issues.
8335 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
8337         Handle symlinked test directory in tramp-tests.el
8338         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
8339         (tramp--test-check-files): Use `file-truename' for directories.
8341 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
8343         Fix 'recenter' when visual-line-mode is turned on
8344         * src/window.c (Frecenter): Use the same code for GUI and TTY
8345         frames alike; use vmotion only for "initial" frames.  This is
8346         because vmotion doesn't support visual-line-mode.  Rewrite the
8347         'iarg >= 0' case to use move_it_* functions instead of using
8348         vmotion, for the same reason.  Fix the clipping of the argument
8349         value to support scroll-margin in all cases and avoid unwarranted
8350         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
8351         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
8352         which see.
8354 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8356         * abbrev.el (define-abbrev-table): Refine last change.
8358         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
8359         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
8360         use of c[ad]+r", so as to keep the "cl-" prefix on all
8361         cl-lib definitions.
8363         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
8365         * lisp/cedet/semantic: Remove some dead code
8366         * lisp/cedet/semantic/util-modes.el
8367         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
8368         any more.
8369         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
8370         not supported any more.
8371         (semantic-safe): Use `declare'.
8372         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
8373         (semantic-tag-intangible-p): Remove unused functions.
8374         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
8375         Remove unused function.
8377         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
8378         (gnus-article-hide-text, gnus-article-unhide-text)
8379         (gnus-article-unhide-text-type): Remove special handling of
8380         `intangible' since that property is not used any more.
8381         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
8383 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8385         Use the VC root in `log-edit-listfun'
8386         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
8387         `log-edit-listfun'.
8389 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
8391         Fix description of Unix time, mention new function.
8392         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
8393         Unix time.
8394         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
8395         (Basic Operations on Units): Mention `calc-convert-exact-units'.
8397 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
8399         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
8401 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8403         (log-edit-insert-changelog-entries): Don't add newline after the last entry
8404         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
8405         Don't add newline after the last entry.
8407 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
8409         css-mode.el: Add "not" pseudo-class
8410         (Bug#20267)
8411         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
8412         list of CSS pseudo-classes.
8414 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8416         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
8418 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
8420         Stop messing with the EMACS env var
8421         * misc.texi (Interactive Shell): Remove description of EMACS env var.
8423 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8425         Adapt 'make change-history' to coding cookie
8426         * Makefile.in (change-history): Adjust to change of format of
8427         ChangeLog file, which now has a coding cookie before an indented
8428         copyright notice.
8430 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8432         Adapt 'make change-history' to coding cookie
8433         * Makefile.in (change-history): Adjust to change of format of
8434         ChangeLog file, which now has a coding cookie before an indented
8435         copyright notice.
8437         gitlog-to-changelog coding cookie and mv -i
8438         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
8439         for copyright notice prototype, so that we get a proper "coding:"
8440         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
8441         existing ChangeLog.  Problems reported by Eli Zaretskii in:
8442         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
8444         Merge from gnulib
8445         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
8446         2015-04-09 gitlog-to-changelog: port to MS-Windows
8448 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
8450         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
8451         (Bug#20212)
8453 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8455         Stop messing with the EMACS env var
8456         (Bug#20202)
8457         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
8458         * lisp/comint.el (comint-exec-1):
8459         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
8460         * lisp/progmodes/compile.el (compilation-start): Same and bring
8461         INSIDE_EMACS's format in line with other users.
8463         css-mode.el (css-smie-rules): Fix indentation after complex selectors
8464         (Bug#20282)
8465         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
8466         inner structure of selectors.
8468 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8470         python.el: Indent docstring lines to base-indent
8471         (Bug#19595)
8472         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
8473         an initial patch.
8474         * lisp/progmodes/python.el
8475         (python-indent-context): Add :inside-docstring context.
8476         (python-indent--calculate-indentation): Handle :inside-docstring.
8477         (python-indent-region): Re-indent docstrings.
8478         * test/automated/python-tests.el (python-indent-region-5)
8479         (python-indent-inside-string-2): Fix tests.
8481         python.el: Increase native completion robustness
8482         (Bug#19755)
8483         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
8484         this and providing useful ideas.
8485         * lisp/progmodes/python.el
8486         (python-shell-completion-native-output-timeout): Increase value.
8487         (python-shell-completion-native-try-output-timeout): New var.
8488         (python-shell-completion-native-try): Use it.
8489         (python-shell-completion-native-setup): New readline setup avoids
8490         polluting current context, ensures output when no-completions are
8491         available and includes output end marker.
8492         (python-shell-completion-native-get-completions): Trigger with one
8493         tab only.  Call accept-process-output until output end is found or
8494         python-shell-completion-native-output-timeout is exceeded.
8496 2015-04-08  Samer Masterson  <samer@samertm.com>
8498         * lisp/eshell: Make backslash a no-op in front of normal chars
8499         (Bug#8531)
8500         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
8501         (eshell-parse-backslash): Return escaped character after backslash
8502         if it is special.  Otherwise, if the backslash is not in a quoted
8503         string, ignore the backslash and return the character after; if
8504         the backslash is in a quoted string, return the backslash and the
8505         character after.
8506         * test/automated/eshell.el (eshell-test/escape-nonspecial)
8507         (eshell-test/escape-nonspecial-unicode)
8508         (eshell-test/escape-nonspecial-quoted)
8509         (eshell-test/escape-special-quoted): Add tests for new
8510         `eshell-parse-backslash' behavior.
8512 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
8514         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
8515         after the file name.
8516         (Bug#20276)
8518 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8520         Minor quoting etc. fixes to Emacs manual
8521         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
8522         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
8523         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
8524         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
8525         * doc/emacs/indent.texi, doc/emacs/macos.texi:
8526         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
8527         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
8528         * doc/emacs/search.texi, doc/emacs/trouble.texi:
8529         * doc/emacs/vc1-xtra.texi:
8530         Use American-style double quoting in ordinary text,
8531         and quote 'like this' when single-quoting in ASCII text.
8532         Also, fix some minor spacing issues.
8534         Minor quoting etc. fixes to elisp intro
8535         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
8536         American-style double quoting in ordinary text.  In ASCII text,
8537         consistently quote 'like this' instead of `like this', unless
8538         Emacs requires the latter.
8540 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
8542         * CONTRIBUTE: Mention log-edit-insert-changelog.
8544         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
8546 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8548         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
8550 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
8552         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
8553         (Bug#20270)
8554         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
8555         Fix inheritance of initargs.
8557 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
8559         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
8560         while dowloading information.
8562         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
8563         (package--ensure-init-file): Check file contents before visiting.
8564         (package-initialize): Call it.
8565         (package-install-from-buffer, package-install): Don't call it.
8567 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
8569         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
8570         (Bug#17517)
8572 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
8574         Fix nasty scoping bug in tramp-cache.el
8575         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
8577 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
8579         Add notice to visual commands section
8580         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
8581         such as git call less with its -F option which omits pagination if
8582         the contents is less than one page long.  This interferes with
8583         eshell's visual (sub-)commands.
8585 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
8587         ffap: Support environment variable expansion in file names
8588         (Bug#19839)
8589         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
8590         environment variable expansion in file names.
8592 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8594         Prefer double-quote to accent-grave in man pages
8596 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
8598         (Bug#20257)
8599         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
8601 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
8603         Update etc/PROBLEMS.
8604         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
8605         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
8606         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
8607         respectively); other minor updates and tweaks.  (Bug#20011)
8609 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8611         Add doc strings for some Isearch state vars
8612         * lisp/misearch.el (multi-isearch-buffer-list)
8613         (multi-isearch-file-list): Add doc strings.
8614         (Bug#20232)
8616 2015-04-07  Alan Mackenzie  <acm@muc.de>
8618         Always mark "<" and ">" in #include directives with text properties.
8619         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
8620         matcher" with an invocation of c-make-font-lock-search-function to allow
8621         fontification when there's no trailing space on an "#include <..>" line.
8623 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8625         Generate a ChangeLog file from commit logs
8626         * .gitignore: Add 'ChangeLog'.
8627         * build-aux/gitlog-to-changelog: New file, from Gnulib.
8628         * build-aux/gitlog-to-emacslog: New file.
8629         * CONTRIBUTE: Document the revised workflow.
8630         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
8631         instead of just special cases.
8632         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
8633         (ChangeLog, unchanged-history-files, change-history)
8634         (change-history-commit): New rules.
8635         * admin/admin.el (make-manuals-dist--1):
8636         Don't worry about doc/ChangeLog.
8637         * admin/authors.el: Add a FIXME.
8638         * admin/make-tarball.txt:
8639         * lisp/calendar/icalendar.el:
8640         * lisp/gnus/deuglify.el:
8641         * lisp/obsolete/gulp.el:
8642         * lwlib/README:
8643         Adjust to renamed ChangeLog history files.
8644         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
8645         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
8646         Remove obsolete discussion of merging ChangeLog files.
8647         New section "Maintaining ChangeLog history".
8648         * build-aux/git-hooks/pre-commit:
8649         Reject attempts to commit files named 'ChangeLog'.
8650         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
8651         * make-dist: Make and distribute top-level ChangeLog if there's a
8652         .git directory.  Distribute the new ChangeLog history files
8653         instead of scattered ChangeLog files.  Distribute the new files
8654         gitlog-to-changelog and gitlog-to-emacslog.
8655         (Bug#19113)
8657         Rename ChangeLogs for gitlog-to-changelog
8658         This patch was implemented via the following shell commands:
8659         find * -name ChangeLog |
8660         sed 's,.*,git mv & &.1,
8661         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
8662         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
8663         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
8664         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
8665         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
8666         sh
8667         git commit -am"[this commit message]"
8669 This file records repository revisions from
8670 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
8671 commit a57f8f3022d9ab8b31bbfee291a3d7340bd37c21 (inclusive).
8672 See ChangeLog.1 for earlier changes.
8674 ;; Local Variables:
8675 ;; coding: utf-8
8676 ;; End:
8678   Copyright (C) 2015 Free Software Foundation, Inc.
8680   This file is part of GNU Emacs.
8682   GNU Emacs is free software: you can redistribute it and/or modify
8683   it under the terms of the GNU General Public License as published by
8684   the Free Software Foundation, either version 3 of the License, or
8685   (at your option) any later version.
8687   GNU Emacs is distributed in the hope that it will be useful,
8688   but WITHOUT ANY WARRANTY; without even the implied warranty of
8689   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8690   GNU General Public License for more details.
8692   You should have received a copy of the GNU General Public License
8693   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.